Pārlūkot izejas kodu

道和银行接口 出库确认
2022年8月3日17时54分

纪新园 3 gadi atpakaļ
vecāks
revīzija
d5af1aee27

+ 3 - 3
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/ccb/CargoInfo.java

@@ -97,7 +97,7 @@ public class CargoInfo {
     /**
      * 入库日期
      */
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date inStorageDate;
 
     /**
@@ -118,13 +118,13 @@ public class CargoInfo {
     /**
      * 出库日期
      */
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date outStorageDate;
 
     /**
      * 最近操作日期
      */
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date latestOptDate;
 
     /**

+ 16 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/ccb/CargoOutResults.java

@@ -0,0 +1,16 @@
+package com.ruoyi.warehouseBusiness.domain.ccb;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CargoOutResults {
+
+    private String result;
+
+    private String reason;
+
+    private CargoInfo cargo;
+
+}

+ 1 - 5
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/ccb/OutCargoRsp.java

@@ -13,10 +13,6 @@ public class OutCargoRsp {
 
     private String reqUser;
 
-    private String result;
-
-    private String reason;
-
-    private List<CargoInfo> cargoOutResults;
+    private List<CargoOutResults> cargoOutResults;
 
 }

+ 37 - 18
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ruoyi.approvalFlow.domain.AuditItems;
 import com.ruoyi.approvalFlow.mapper.AuditItemsMapper;
 import com.ruoyi.approvalFlow.mapper.AuditItemsUsersMapper;
@@ -53,10 +54,7 @@ import com.ruoyi.warehouseBusiness.component.CalculationWarehouseService;
 import com.ruoyi.warehouseBusiness.component.WarehouseBillsfilterService;
 import com.ruoyi.warehouseBusiness.component.impl.QueryWhgenlegServiceImpl;
 import com.ruoyi.warehouseBusiness.domain.*;
-import com.ruoyi.warehouseBusiness.domain.ccb.CargoInOutResult;
-import com.ruoyi.warehouseBusiness.domain.ccb.CargoInfo;
-import com.ruoyi.warehouseBusiness.domain.ccb.InCargoRsp;
-import com.ruoyi.warehouseBusiness.domain.ccb.OutCargoRsp;
+import com.ruoyi.warehouseBusiness.domain.ccb.*;
 import com.ruoyi.warehouseBusiness.domain.dto.CalculateStorageFeesDTO;
 import com.ruoyi.warehouseBusiness.domain.dto.WarehousebillsDTO;
 import com.ruoyi.warehouseBusiness.domain.enums.FeesTypeEnum;
@@ -4665,23 +4663,44 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     rsp.setUserName(corp.getfCname());
                     rsp.setUscc(corp.getUscc());
 
-                    System.out.println("提单号="+tWarehouseBills.getfMblno());
+                    System.out.println("提单号=" + tWarehouseBills.getfMblno());
 
-                    List<CargoInfo> cargos = new ArrayList<>();
+                    List<CargoOutResults> cargoOutResults = new ArrayList<>();
+                    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                    String time = new SimpleDateFormat("HH:mm:ss").format(new Date());
+                    System.out.println("当前时分秒:" + time);
                     stockList.forEach(stockMap -> {
+                        CargoOutResults cargoOutResults1 = new CargoOutResults();
+                        cargoOutResults1.setResult("Y");
+                        cargoOutResults1.setReason("test");
                         String temp = JSON.toJSONString(stockMap);
 
                         CargoInfo detail = JSON.parseObject(temp, CargoInfo.class);
-                            detail.setNumberUnit("件");
-                            detail.setWeightUnit("千克");
-                            detail.setCargoBelong(corp.getfCname());
-                            detail.setInStorageNumber(detail.getTakeVoucher());
-                            detail.setRemainNumber(detail.getNumberLeft());
-                            detail.setRemainWeight(detail.getWeightLeft());
-                            detail.setElectronicTags(warehousebillsitemsElabelMapper.getLabelByTop(tWarehouseBills.getfId()));
-                            cargos.add(detail);
+                        if (ObjectUtils.isNotNull(detail.getInStorageDate())) {
+                            try {
+                                String time1 = sdf.format(detail.getInStorageDate());
+                                System.out.println("组合时间:" + df.parse(time1 + " " + time));
+                                detail.setOutStorageDate(df.parse(time1 + " " + time));
+                            } catch (ParseException e) {
+                                e.printStackTrace();
+                            }
+                        }
+                        detail.setNumberUnit("件");
+                        detail.setWeightUnit("千克");
+                        detail.setCargoBelong(corp.getfCname());
+                        detail.setInStorageNumber(detail.getTakeVoucher());
+                        detail.setRemainNumber(detail.getNumberLeft());
+                        detail.setRemainWeight(detail.getWeightLeft());
+                        detail.setElectronicTags(warehousebillsitemsElabelMapper.getLabelByTop(tWarehouseBills.getfId()));
+
+                        List<String> list = new ArrayList<>();
+                        list.add("01010");
+                        detail.setElectronicTags(list);
+                        cargoOutResults1.setCargo(detail);
+                        cargoOutResults.add(cargoOutResults1);
                     });
-
+                    rsp.setCargoOutResults(cargoOutResults);
                     String requestTime = DateUtils.dateTimeNow() + (Math.random() * 9 + 1) * 100000;
                     // 签名内容
                     String str = "appId=" + CcbConstants.APP_ID + "&"
@@ -4690,8 +4709,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                             + "requestTime=" + requestTime + "&"
                             + "body=" + JsonUtil.toJson(rsp);
 
-                    rsp.setResult("Y");
-                    rsp.setCargoOutResults(cargos);
+
+                    System.out.println("出库请求数据:" + JsonUtil.toJson(rsp));
 
                     OkHttpClient okHttpClient = new OkHttpClient();
                     Request request = new Request.Builder()
@@ -4712,7 +4731,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return AjaxResult.error("请求银行反馈异常," + e.getMessage());
                     }
-
+                    System.out.println("请求数据返回:" + s);
                     JSONObject result = JSON.parseObject(s);
                     if (!CcbConstants.SUCCESS.equals(result.getString("result"))) {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();