From 4d0d963bb19c7eb5860257eddd112e2592e983aa Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期六, 10 五月 2025 17:02:21 +0800
Subject: [PATCH] 单据对接

---
 src/main/java/com/zy/asrs/entity/OrderDetl.java                      |    4 ++
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |   33 +++++++++++++---
 src/main/java/com/zy/nc/SendUtil.java                                |   13 ++++--
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java               |    6 +-
 src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java           |    3 +
 src/main/java/com/zy/common/model/DetlDto.java                       |    2 +
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java          |    2 +
 src/main/resources/application.yml                                   |    4 +-
 8 files changed, 50 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index aa96844..bea7bdc 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -353,6 +353,10 @@
     @TableField("box_type3")
     private String boxType3 = "1";
 
+    @ApiModelProperty(value= "澶囨敞")
+    @TableField("remark")
+    private String remark;
+
     public OrderDetl() {}
 
     public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double manLength, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 3bb606d..aab9699 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -266,6 +266,7 @@
         for (DetlDto detail : orderDetails) {
             DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), detail.getLineNumber(),
                     detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme());
+            dto.setRemark(detail.getRemark());
             if (DetlDto.hasLineNumber(list, dto)) {
                 DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getLineNumber(),
                         dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3());
@@ -298,6 +299,7 @@
             orderDetl.setStatus(1);
             orderDetl.setQty(0.0D);
             orderDetl.setPakinPakoutStatus(2);
+            orderDetl.setRemark(detlDto.getRemark());
             if (!orderDetlService.insert(orderDetl)) {
                 throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
             }
diff --git a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
index d01e15d..4fa99bf 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -10,7 +10,9 @@
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.service.ReportToThirdService;
+import com.zy.common.utils.Synchro;
 import com.zy.nc.SendUtil;
+import com.zy.nc.entity.NccSaleXsfhmxWms;
 import com.zy.nc.util.NcResultMessage;
 import com.zy.nc.vo.SaleOutBodyVO;
 import com.zy.nc.vo.SaleOutHeadVO;
@@ -19,6 +21,7 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -49,23 +52,38 @@
         NcResultMessage response = null;
         try {
             switch (order.getDocType().toString()) {
-                case "閿�鍞彂璐�":
+                case "35":
                     //缁勮瀵硅薄鏁版嵁
                     Map<String, Object> data = new HashMap<String, Object>();
                     SaleOutHeadVO saleOutHeadVO = new SaleOutHeadVO();
                     saleOutHeadVO.setPk_org("FYT");
                     saleOutHeadVO.setCwarehouseid("6101");
                     SaleOutBodyVO saleOutBodyVO = null;
+                    List<SaleOutBodyVO> saleOutBodyVOList = new ArrayList<>();
                     for (OrderDetl orderDetl : orderDetls) {
                         saleOutBodyVO = new SaleOutBodyVO();
-                        saleOutBodyVO.setCsourcebillhid("1001A1100000027XNSH2");
-                        saleOutBodyVO.setCsourcebillbid("1001A1100000027YFC8U");
-                        saleOutBodyVO.setCsourcetype("4331-01");
+                        String remark = orderDetl.getRemark();
+                        if (!Cools.isEmpty(remark)) {
+                            NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+                            Synchro.Copy(nccSaleXsfhmxWms, saleOutBodyVO);
+                            saleOutBodyVO.setCsourcetype("4331-01");
+                            saleOutBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
+                            saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
+                        }
+                        saleOutBodyVO.setNnum(orderDetl.getQty());
+                        saleOutBodyVOList.add(saleOutBodyVO);
                     }
-                    data.put("saleOutHeadVO", saleOutHeadVO);
-                    data.put("saleOutBodyVO", saleOutBodyVO);
+                    saleOutHeadVO.setVdef2("");
+                    saleOutHeadVO.setVdef3("");
+                    saleOutHeadVO.setVdef4("");
+                    saleOutHeadVO.setVdef7("");
+                    saleOutHeadVO.setVdef8("");
+                    saleOutHeadVO.setVdef13("");
+                    saleOutHeadVO.setVdef14("");
+                    data.put("SaleOutHeadVO", saleOutHeadVO);
+                    data.put("SaleOutBodyVO", saleOutBodyVOList);
                     //鍙戦�佽姹�
-                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + port, saveRefDelivery, JSONObject.toJSONString(data));
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(data));
                     if (!Cools.isEmpty(response) && response.isSuccess()) {
                         log.info("response:{}", response);
                         http = true;
@@ -91,6 +109,7 @@
                 }
             }
         } catch (Exception e) {
+            e.printStackTrace();
             throw new CoolException("璋冪敤鎺ュ彛鎶ラ敊锛岃鑱旂郴绠$悊鍛�");
         } finally {
             reportApiLog(response, order.getDocType$(), nyncIp, saveRefDelivery);
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index a797915..36e06ac 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -104,9 +104,9 @@
     @Scheduled(cron = "0/30 * * * * ? ")
     @Async("orderThreadPool")
     public void completeAndReportOrderReport() {
-        if (!ErpReportOld){
-            return;
-        }
+//        if (!ErpReportOld){
+//            return;
+//        }
         String erpReport = Parameter.get().getErpReport();
         if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
             List<Order> orders = orderService.selectComplete();
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 9e49ea2..c13a6ad 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -19,6 +19,8 @@
 
     private String matnr;
 
+    private String remark;
+
     private String batch = "";
     private String brand = "";
     private String standby1 = "";
diff --git a/src/main/java/com/zy/nc/SendUtil.java b/src/main/java/com/zy/nc/SendUtil.java
index 5db13b4..6114ebd 100644
--- a/src/main/java/com/zy/nc/SendUtil.java
+++ b/src/main/java/com/zy/nc/SendUtil.java
@@ -63,7 +63,7 @@
     public static void main(String[] args) {
         try {
 //			// 鍒濆鍖栨暟鎹�
-            init();
+
 //			// 璇锋眰token
             if (token == null) {
                 token = getToken();
@@ -92,7 +92,7 @@
         }
         // token杞璞★紝鑾峰彇api璁块棶鎵�鐢╰oken鍜宻ecret
         NcResultMessage returnData = JSONObject.parseObject(token, NcResultMessage.class);
-        if (returnData.isSuccess()) {
+        if (token != null && returnData.isSuccess()) {
             JSONObject data = JSONObject.parseObject(returnData.getData().toString());
             String access_token = (String) data.get("access_token");
             String security_key = (String) data.get("security_key");
@@ -105,7 +105,8 @@
                 } catch (Exception e) {
                     throw new RuntimeException(e);
                 }
-                data = JSONObject.parseObject(token.getBytes(), NcResultMessage.class);
+                returnData = JSONObject.parseObject(token, NcResultMessage.class);
+                data = JSONObject.parseObject(returnData.getData().toString());
                 access_token = (String) data.get("access_token");
                 security_key = (String) data.get("security_key");
                 refresh_token = (String) data.get("refresh_token");
@@ -147,6 +148,7 @@
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
+            System.out.println("銆恓son銆�:" + json);
             System.out.println("銆怰ESULT銆�:" + result);
             System.out.println("result瑙e瘑:" + result2);
             return JSONObject.parseObject(result2, NcResultMessage.class);
@@ -161,6 +163,9 @@
      * @throws Exception
      */
     private static String getToken() throws Exception {
+        if (grant_type == null) {
+            init();
+        }
         String token = null;
         if ("password".equals(grant_type)) {
             // 瀵嗙爜妯″紡
@@ -392,7 +397,7 @@
             result = new String(temp.toString().getBytes("utf-8"), ecod);
             System.out.println(result);
         } catch (Exception e) {
-            System.out.println(e);
+            e.printStackTrace();
             throw e;
         } finally {
             if (null != bufferedReader) {
diff --git a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
index b45b738..ccca2e0 100644
--- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
+++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -39,7 +39,7 @@
     public ReturnT<String> start1() {
         List<String> Ids = nccSaleXsfhmxWmsService.selectXsfh();
         for (String id : Ids) {
-            List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>().eq("cdeliveryid", id).ne("wms_flag", 1).eq("fstatusflag", 2));
+            List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>().eq("vbillcode", id).ne("wms_flag", 1).eq("fstatusflag", 2));
             OpenOrderPakoutParam param = new OpenOrderPakoutParam();
             param.setOrderType("閿�鍞彂璐�");
             DetlDto detlDto;
@@ -51,6 +51,7 @@
                     detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm());
                     detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum());
                     detlDto.setLineNumber(i);
+                    detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms));
                     orderDetails.add(detlDto);
                     log.info("NccSaleXsfhmxWms鏁版嵁:{}", JSONObject.toJSON(nccSaleXsfhmxWms));
                     i++;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c03187d..f767fb6 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -79,8 +79,8 @@
 
 # 鐢ㄥ弸NC瀵规帴
 NYNC:
-  ip:
-  port:
+  ip: http://192.168.5.200
+  port: 1105
   pageSize: 500
   #1.閿�鍞嚭搴撳崟鍙傜収鍙戣揣鍗曟柊澧�
   saveRefDelivery: /nccloud/api/ic/saleout/saveRefDelivery

--
Gitblit v1.9.1