From b9d80dfdb1cef36c9edb8bf6b2fdf9e6e1708d2b Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 26 五月 2025 16:18:24 +0800
Subject: [PATCH] 13

---
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |  240 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 155 insertions(+), 85 deletions(-)

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 b82f56d..e668565 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -12,7 +12,9 @@
 import com.zy.asrs.service.ReportToThirdService;
 import com.zy.nc.SendUtil;
 import com.zy.nc.entity.NccCgCgdhdWms;
+import com.zy.nc.entity.NccSaleDbddWms;
 import com.zy.nc.entity.NccSaleXsfhmxWms;
+import com.zy.nc.entity.NccScZkmxbWms;
 import com.zy.nc.util.NcResultMessage;
 import com.zy.nc.vo.*;
 import lombok.extern.slf4j.Slf4j;
@@ -44,6 +46,21 @@
     @Value("${NYNC.saveRefDelivery}")
     private String saveRefDelivery;
 
+    @Value("${NYNC.saveRefWhsTrans}")
+    private String saveRefWhsTrans;
+
+    @Value("${NYNC.purchasein}")
+    private String purchasein;
+
+    @Value("${NYNC.whstrans}")
+    private String whstrans;
+
+    @Value("${NYNC.generalout}")
+    private String generalout;
+
+    @Value("${NYNC.dbdd}")
+    private String dbdd;
+
 
     @Override
     public void report(Order order, List<OrderDetl> orderDetls, DocType docType) {
@@ -51,7 +68,6 @@
         NcResultMessage response = null;
         Object process1 = null;
         Object process2 = null;
-        Object process3 = null;
         try {
             switch (order.getDocType$().toString()) {
                 case "閿�鍞彂璐�":
@@ -59,78 +75,73 @@
                     //鍙戦�佽姹�
                     response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
                     if (!Cools.isEmpty(response) && response.isSuccess()) {
-                        log.info("response:{}", response);
+                        log.info("閿�鍞彂璐esponse:{}", response);
                         step = 10;
                     }
                     break;
-                case "杞簱":
-                    process1 = processQTRK(orderDetls);
+                case "杞簱-鍏ュ簱":
+                    process1 = processZKRK(orderDetls);
                     //鍙戦�佽姹�
-                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefWhsTrans, JSONObject.toJSONString(process1));
                     if (!Cools.isEmpty(response) && response.isSuccess()) {
-                        log.info("response:{}", response);
+                        log.info("杞簱-鍏ュ簱response:{}", response);
                         step = 10;
                     }
                     break;
                 case "閲囪喘鍒拌揣":
                     process1 = processCGDH(orderDetls);
+                    List<Object> cg = new ArrayList<>();
+                    cg.add(process1);
                     //鍙戦�佽姹�
-                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg));
                     if (!Cools.isEmpty(response) && response.isSuccess()) {
-                        log.info("response:{}", response);
+                        log.info("閲囪喘鍒拌揣response:{}", response);
                         step = 10;
                     }
                     break;
-                case "浜ф垚鍝佸叆搴撳崟":
-                    if (step == 2) {
-                        process3 = processQTRK(orderDetls);
+                case "杞簱-鍑哄簱":
+                    if (step == 1) {
+                        process2 = processGENERALOUT2(orderDetls);
+                        List<Object> zkck2 = new ArrayList<>();
+                        zkck2.add(process2);
                         //鍙戦�佽姹�
-                        response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3));
+                        response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck2));
                         if (!Cools.isEmpty(response) && response.isSuccess()) {
-                            log.info("response:{}", response);
+                            log.info("杞簱-鍑哄簱2response:{}", response);
                             step = 10;
                         }
-                    } else if (step == 1) {
-                        process2 = processGENERALOUT(orderDetls);
+                    } else {
+                        process1 = processZKCK(order, orderDetls);
+                        List<Object> zkck1 = new ArrayList<>();
+                        zkck1.add(process1);
                         //鍙戦�佽姹�
-                        response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process2));
+                        response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, whstrans, JSONObject.toJSONString(zkck1));
                         if (!Cools.isEmpty(response) && response.isSuccess()) {
-                            log.info("response:{}", response);
-                            step = 2;
-                        }
-                        process3 = processQTRK(orderDetls);
-                        //鍙戦�佽姹�
-                        response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3));
-                        if (!Cools.isEmpty(response) && response.isSuccess()) {
-                            log.info("response:{}", response);
-                            step = 10;
-                        }
-                    } else if (step == 0) {
-                        process1 = processZK(orderDetls);
-                        //鍙戦�佽姹�
-                        response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
-                        if (!Cools.isEmpty(response) && response.isSuccess()) {
-                            log.info("response:{}", response);
+                            log.info("杞簱-鍑哄簱1response:{}", response);
+
+                            process2 = processGENERALOUT2(orderDetls);
+                            List<Object> zkck2 = new ArrayList<>();
+                            zkck2.add(process2);
+                            //鍙戦�佽姹�
+                            response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck2));
+                            if (!Cools.isEmpty(response) && response.isSuccess()) {
+                                log.info("杞簱-鍑哄簱2response:{}", response);
+                                step = 10;
+                            }
+                        } else {
                             step = 1;
-                        }
-                        process2 = processGENERALOUT(orderDetls);
-                        //鍙戦�佽姹�
-                        response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process2));
-                        if (!Cools.isEmpty(response) && response.isSuccess()) {
-                            log.info("response:{}", response);
-                            step = 2;
-                        }
-                        process3 = processQTRK(orderDetls);
-                        //鍙戦�佽姹�
-                        response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3));
-                        if (!Cools.isEmpty(response) && response.isSuccess()) {
-                            log.info("response:{}", response);
-                            step = 10;
                         }
                     }
                     break;
-//                case "鍐呴儴璋冩嫧":
-//                    break;
+                case "闆嗗洟鍐呴儴璋冩嫧":
+                    process1 = processDBDD(orderDetls);
+                    //鍙戦�佽姹�
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, dbdd, JSONObject.toJSONString(process1));
+                    if (!Cools.isEmpty(response) && response.isSuccess()) {
+                        log.info("闆嗗洟鍐呴儴璋冩嫧response:{}", response);
+                        step = 10;
+                    }
+                    break;
                 default:
                     throw new CoolException("涓嶈兘璇嗗埆鐨勫崟鎹被鍨�");
             }
@@ -141,7 +152,7 @@
                 }
             } else if (step != 0) {
                 // 淇敼璁㈠崟鐘舵�� 鍋氭爣璁�
-                if (!orderService.updateSettleStep(order.getId(), 6L, null, step)) {
+                if (!orderService.updateSettleStep(order.getId(), 4L, null, step)) {
                     throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
                 }
             }
@@ -190,8 +201,7 @@
         return data;
     }
 
-
-    private Object processQTRK(List<OrderDetl> orderDetls) {
+    private Object processZKRK(List<OrderDetl> orderDetls) {
         //缁勮瀵硅薄鏁版嵁
         Map<String, Object> data = new HashMap<String, Object>();
         GeneralInHeadVO generalInHeadVO = new GeneralInHeadVO();
@@ -203,14 +213,13 @@
             generalInBodyVO = new GeneralInBodyVO();
             String remark = orderDetl.getRemark();
             if (!Cools.isEmpty(remark)) {
-                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
-                generalInBodyVO.setCsourcetype("4331");
-                generalInBodyVO.setClocationid("610101");
-                generalInBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
-                generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
+                NccScZkmxbWms nccScZkmxbWms = JSONObject.parseObject(remark, NccScZkmxbWms.class);
+                generalInBodyVO.setCsourcebillbid(nccScZkmxbWms.getCspecialbid());
+                generalInBodyVO.setCsourcebillhid(nccScZkmxbWms.getCspecialhid());
+
                 generalInBodyVO.setNnum(orderDetl.getQty());
-                generalInBodyVO.setVbatchcode(orderDetl.getBatch());
-                generalInBodyVO.setCmaterialoid(orderDetl.getMatnr());
+                generalInBodyVO.setNshouldnum(orderDetl.getAnfme());
+                generalInBodyVO.setCsourcetype(nccScZkmxbWms.getZklxbm());
             }
             generalInBodyVOS.add(generalInBodyVO);
         }
@@ -220,27 +229,51 @@
     }
 
 
-    private Object processZK(List<OrderDetl> orderDetls) {
+    private Object processDBDD(List<OrderDetl> orderDetls) {
+        //缁勮瀵硅薄鏁版嵁
+        Map<String, Object> data = new HashMap<String, Object>();
+        IaIjBill iaIjBill = new IaIjBill();
+        iaIjBill.setPk_org("FYT");
+        //iaIjBill.setCwarehouseid("6101");
+        IaIjBillB iaIjBillB = null;
+        List<IaIjBillB> iaIjBillBS = new ArrayList<>();
+        for (OrderDetl orderDetl : orderDetls) {
+            iaIjBillB = new IaIjBillB();
+            String remark = orderDetl.getRemark();
+            if (!Cools.isEmpty(remark)) {
+                NccSaleDbddWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleDbddWms.class);
+                iaIjBillB.setCinventoryid(nccSaleXsfhmxWms.getWlbm());
+                iaIjBillB.setCinventoryvid(nccSaleXsfhmxWms.getWlbm());
+                iaIjBillB.setCsrcid(nccSaleXsfhmxWms.getCbillid());
+                iaIjBillB.setNnum(orderDetl.getQty().intValue() + "");
+                iaIjBillB.setPk_org("FYT");
+            }
+            iaIjBillBS.add(iaIjBillB);
+        }
+        data.put("ia_ijbill", iaIjBill);
+        data.put("ia_ijbill_b", iaIjBillBS);
+        return data;
+    }
+
+    private Object processZKCK(Order order, List<OrderDetl> orderDetls) {
         //缁勮瀵硅薄鏁版嵁
         Map<String, Object> data = new HashMap<String, Object>();
         WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO();
         whsTransBillHeaderVO.setPk_org("FYT");
-        whsTransBillHeaderVO.setCwarehouseid("6101");
+        whsTransBillHeaderVO.setCwarehouseid(order.getItemId());
+        whsTransBillHeaderVO.setCtrantypeid("4K-01");
         WhsTransBillBodyVO whsTransBillBodyVO = null;
         List<WhsTransBillBodyVO> whsTransBillBodyVOS = new ArrayList<>();
         for (OrderDetl orderDetl : orderDetls) {
             whsTransBillBodyVO = new WhsTransBillBodyVO();
             String remark = orderDetl.getRemark();
-            if (!Cools.isEmpty(remark)) {
-                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
-                whsTransBillBodyVO.setCsourcetype("4331");
-                whsTransBillBodyVO.setClocationid("610101");
-                whsTransBillBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
-                whsTransBillBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
-                whsTransBillBodyVO.setNnum(orderDetl.getQty());
-                whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch());
-                whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr());
-            }
+            //if (!Cools.isEmpty(remark)) {
+            //NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+            whsTransBillBodyVO.setNnum(orderDetl.getQty());
+            whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr());
+            whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch());
+            //}
+            whsTransBillHeaderVO.setCotherbizid(orderDetl.getStandby1());
             whsTransBillBodyVOS.add(whsTransBillBodyVO);
         }
         data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO);
@@ -248,12 +281,14 @@
         return data;
     }
 
+
     private Object processCGDH(List<OrderDetl> orderDetls) {
         //缁勮瀵硅薄鏁版嵁
         Map<String, Object> data = new HashMap<String, Object>();
         ic_purchasein_h ic_purchasein_h = new ic_purchasein_h();
         ic_purchasein_h.setPk_org("FYT");
-        ic_purchasein_h.setCwarehouseid("6101");
+        ic_purchasein_h.setCwarehouseid("6301");
+        ic_purchasein_h.setCfanaceorgoid("FYT");
         ic_purchasein_b ic_purchasein_b = null;
         List<ic_purchasein_b> ic_purchasein_bs = new ArrayList<>();
         for (OrderDetl orderDetl : orderDetls) {
@@ -261,17 +296,21 @@
             String remark = orderDetl.getRemark();
             if (!Cools.isEmpty(remark)) {
                 NccCgCgdhdWms nccCgCgdhdWms = JSONObject.parseObject(remark, NccCgCgdhdWms.class);
+                ic_purchasein_h.setCvendorid(nccCgCgdhdWms.getGysbm());
+                ic_purchasein_h.setCtrantypeid(nccCgCgdhdWms.getDhlxbm());
+
+
                 ic_purchasein_b.setCsourcebillbid(nccCgCgdhdWms.getPkArriveorderB());
                 ic_purchasein_b.setCsourcebillhid(nccCgCgdhdWms.getPkArriveorder());
-                ic_purchasein_b.setCmaterialvid(orderDetl.getMaktx());
+                ic_purchasein_b.setCmaterialvid(orderDetl.getMatnr());
                 ic_purchasein_b.setNnum(orderDetl.getQty());
-                ic_purchasein_b.setNshouldassistnum(orderDetl.getQty());
-                //ic_purchasein_b.setNorigprice(nccSaleXsfhmxWms.getNorigprice().doubleValue());
+                ic_purchasein_b.setCsourcetype(nccCgCgdhdWms.getDhlxbm());
+                ic_purchasein_b.setVbatchcode(orderDetl.getBatch());
             }
             ic_purchasein_bs.add(ic_purchasein_b);
         }
         data.put("ic_purchasein_h", ic_purchasein_h);
-        data.put("ic_purchasein_b", ic_purchasein_b);
+        data.put("ic_purchasein_b", ic_purchasein_bs);
         return data;
     }
 
@@ -282,22 +321,53 @@
     private Object processGENERALOUT(List<OrderDetl> orderDetls) {
         //缁勮瀵硅薄鏁版嵁
         Map<String, Object> data = new HashMap<String, Object>();
-        ic_purchasein_h ic_purchasein_h = new ic_purchasein_h();
-        ic_purchasein_h.setPk_org("FYT");
-        ic_purchasein_h.setCwarehouseid("6101");
-        ic_purchasein_b ic_purchasein_b = null;
-        List<ic_purchasein_b> ic_purchasein_bs = new ArrayList<>();
+        ic_generalout_h generalout_h = new ic_generalout_h();
+        generalout_h.setPk_org("FYT");
+        generalout_h.setCwarehouseid("6101");
+        ic_generalout_b generalout_b = null;
+        List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>();
         for (OrderDetl orderDetl : orderDetls) {
-            ic_purchasein_b = new ic_purchasein_b();
+            generalout_b = new ic_generalout_b();
             String remark = orderDetl.getRemark();
             if (!Cools.isEmpty(remark)) {
                 NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
-
+                generalout_b.setMaterialvid(orderDetl.getMatnr());
+                generalout_b.setNshouldassistnum(orderDetl.getQty());
+                generalout_b.setVbatchcode(orderDetl.getBatch());
             }
-            ic_purchasein_bs.add(ic_purchasein_b);
+            ic_purchasein_bs.add(generalout_b);
         }
-        data.put("ic_purchasein_h", ic_purchasein_h);
-        data.put("ic_purchasein_b", ic_purchasein_b);
+        data.put("ic_generalout_h", generalout_h);
+        data.put("ic_generalout_b", ic_purchasein_bs);
+        return data;
+    }
+
+
+    /**
+     * @param orderDetls
+     * @return
+     */
+    private Object processGENERALOUT2(List<OrderDetl> orderDetls) {
+        //缁勮瀵硅薄鏁版嵁
+        Map<String, Object> data = new HashMap<String, Object>();
+        ic_generalout_h generalout_h = new ic_generalout_h();
+        generalout_h.setPk_org("FYT");
+        generalout_h.setCwarehouseid("6101");
+        ic_generalout_b generalout_b = null;
+        List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>();
+        for (OrderDetl orderDetl : orderDetls) {
+            generalout_b = new ic_generalout_b();
+            String remark = orderDetl.getRemark();
+            if (!Cools.isEmpty(remark)) {
+                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+                generalout_b.setMaterialvid(orderDetl.getMatnr());
+                generalout_b.setNshouldassistnum(orderDetl.getQty());
+                generalout_b.setVbatchcode(orderDetl.getBatch());
+            }
+            ic_purchasein_bs.add(generalout_b);
+        }
+        data.put("ic_generalout_h", generalout_h);
+        data.put("ic_generalout_b", ic_purchasein_bs);
         return data;
     }
 

--
Gitblit v1.9.1