From 9804bdb2b70ab01cd422845dfaa0d2d7bbd98758 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期六, 17 五月 2025 15:23:41 +0800
Subject: [PATCH] 接口编写

---
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |  285 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 237 insertions(+), 48 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 68a15ae..f46ee1b 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -10,12 +10,10 @@
 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;
+import com.zy.nc.vo.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -48,65 +46,101 @@
 
     @Override
     public void report(Order order, List<OrderDetl> orderDetls, DocType docType) {
-        Boolean http = false;
+        int step = (Cools.isEmpty(order.getStep()) || order.getStep() == 0) ? 0 : order.getStep();
         NcResultMessage response = null;
+        Object process1 = null;
+        Object process2 = null;
+        Object process3 = null;
         try {
-            switch (order.getDocType().toString()) {
-                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();
-                        String remark = orderDetl.getRemark();
-                        if (!Cools.isEmpty(remark)) {
-                            NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
-                            saleOutBodyVO.setCsourcetype("4331");
-                            saleOutBodyVO.setClocationid("610101");
-                            saleOutBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
-                            saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
-                            saleOutHeadVO.setVdef2(nccSaleXsfhmxWms.getVdef2());
-                            saleOutHeadVO.setVdef3(nccSaleXsfhmxWms.getVdef3());
-                            saleOutHeadVO.setVdef4(nccSaleXsfhmxWms.getVdef4());
-                            saleOutHeadVO.setVdef7(nccSaleXsfhmxWms.getVdef7());
-                            saleOutHeadVO.setVdef8(nccSaleXsfhmxWms.getVdef8());
-                            saleOutHeadVO.setVdef13(nccSaleXsfhmxWms.getVdef13());
-                            saleOutHeadVO.setVdef14(nccSaleXsfhmxWms.getVdef14());
-                        }
-                        saleOutBodyVO.setVbatchcode(orderDetl.getBatch());
-                        saleOutBodyVO.setNshouldnum(orderDetl.getAnfme());
-                        saleOutBodyVO.setNnum(orderDetl.getQty());
-                        saleOutBodyVOList.add(saleOutBodyVO);
-                    }
-                    data.put("SaleOutHeadVO", saleOutHeadVO);
-                    data.put("SaleOutBodyVO", saleOutBodyVOList);
+            switch (order.getDocType$().toString()) {
+                case "閿�鍞彂璐�":
+                    process1 = processXSFH(orderDetls);
                     //鍙戦�佽姹�
-                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(data));
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
                     if (!Cools.isEmpty(response) && response.isSuccess()) {
                         log.info("response:{}", response);
-                        http = true;
+                        step = 10;
                     }
                     break;
-                case "浜ф垚鍝佸叆搴�":
+                case "杞簱":
+                    process1 = processQTRK(orderDetls);
+                    //鍙戦�佽姹�
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+                    if (!Cools.isEmpty(response) && response.isSuccess()) {
+                        log.info("response:{}", response);
+                        step = 10;
+                    }
                     break;
-                case "杈呮枡閲囪喘鍏ュ簱":
+                case "閲囪喘鍒拌揣":
+                    process1 = processCGDH(orderDetls);
+                    //鍙戦�佽姹�
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+                    if (!Cools.isEmpty(response) && response.isSuccess()) {
+                        log.info("response:{}", response);
+                        step = 10;
+                    }
                     break;
-                case "杈呮枡鍙婃垚鍝佽浆搴�":
+                case "浜ф垚鍝佸叆搴撳崟":
+                    if (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 == 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;
+                        }
+                    } 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);
+                            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 "鍐呴儴璋冩嫧":
-                    break;
+//                case "鍐呴儴璋冩嫧":
+//                    break;
                 default:
-                    break;
+                    throw new CoolException("涓嶈兘璇嗗埆鐨勫崟鎹被鍨�");
             }
-            if (http) {
+            if (step == 10) {
                 // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
                 if (!orderService.updateSettle(order.getId(), 6L, null)) {
+                    throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                }
+            } else if (step != 0) {
+                // 淇敼璁㈠崟鐘舵�� 鍋氭爣璁�
+                if (!orderService.updateSettleStep(order.getId(), 6L, null, step)) {
                     throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
                 }
             }
@@ -119,6 +153,161 @@
 
     }
 
+
+    private Object processXSFH(List<OrderDetl> orderDetls) {
+        //缁勮瀵硅薄鏁版嵁
+        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();
+            String remark = orderDetl.getRemark();
+            if (!Cools.isEmpty(remark)) {
+                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+                saleOutBodyVO.setCsourcetype("4331");
+                saleOutBodyVO.setClocationid("610101");
+                saleOutBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
+                saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
+                saleOutHeadVO.setVdef2(nccSaleXsfhmxWms.getVdef2());
+                saleOutHeadVO.setVdef3(nccSaleXsfhmxWms.getVdef3());
+                saleOutHeadVO.setVdef4(nccSaleXsfhmxWms.getVdef4());
+                saleOutHeadVO.setVdef7(nccSaleXsfhmxWms.getVdef7());
+                saleOutHeadVO.setVdef8(nccSaleXsfhmxWms.getVdef8());
+                saleOutHeadVO.setVdef13(nccSaleXsfhmxWms.getVdef13());
+                saleOutHeadVO.setVdef14(nccSaleXsfhmxWms.getVdef14());
+            }
+            saleOutBodyVO.setVbatchcode(orderDetl.getBatch());
+            saleOutBodyVO.setNshouldnum(orderDetl.getAnfme());
+            saleOutBodyVO.setNnum(orderDetl.getQty());
+            saleOutBodyVOList.add(saleOutBodyVO);
+        }
+        data.put("SaleOutHeadVO", saleOutHeadVO);
+        data.put("SaleOutBodyVO", saleOutBodyVOList);
+        return data;
+    }
+
+
+    private Object processQTRK(List<OrderDetl> orderDetls) {
+        //缁勮瀵硅薄鏁版嵁
+        Map<String, Object> data = new HashMap<String, Object>();
+        GeneralInHeadVO generalInHeadVO = new GeneralInHeadVO();
+        generalInHeadVO.setPk_org("FYT");
+        generalInHeadVO.setCwarehouseid("6101");
+        GeneralInBodyVO generalInBodyVO = null;
+        List<GeneralInBodyVO> generalInBodyVOS = new ArrayList<>();
+        for (OrderDetl orderDetl : orderDetls) {
+            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());
+                generalInBodyVO.setNnum(orderDetl.getQty());
+                generalInBodyVO.setVbatchcode(orderDetl.getBatch());
+                generalInBodyVO.setCmaterialoid(orderDetl.getMatnr());
+            }
+            generalInBodyVOS.add(generalInBodyVO);
+        }
+        data.put("GeneralInHeadVO", generalInHeadVO);
+        data.put("GeneralInBodyVO", generalInBodyVOS);
+        return data;
+    }
+
+
+    private Object processZK(List<OrderDetl> orderDetls) {
+        //缁勮瀵硅薄鏁版嵁
+        Map<String, Object> data = new HashMap<String, Object>();
+        WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO();
+        whsTransBillHeaderVO.setPk_org("FYT");
+        whsTransBillHeaderVO.setCwarehouseid("6101");
+        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());
+            }
+            whsTransBillBodyVOS.add(whsTransBillBodyVO);
+        }
+        data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO);
+        data.put("WhsTransBillBodyVO", whsTransBillBodyVOS);
+        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_b ic_purchasein_b = null;
+        List<ic_purchasein_b> ic_purchasein_bs = new ArrayList<>();
+        for (OrderDetl orderDetl : orderDetls) {
+            ic_purchasein_b = new ic_purchasein_b();
+            String remark = orderDetl.getRemark();
+            if (!Cools.isEmpty(remark)) {
+                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+                ic_purchasein_b.setVdef2(nccSaleXsfhmxWms.getVdef2());
+                ic_purchasein_b.setVdef3(nccSaleXsfhmxWms.getVdef3());
+                ic_purchasein_b.setVdef4(nccSaleXsfhmxWms.getVdef4());
+                ic_purchasein_b.setVdef7(nccSaleXsfhmxWms.getVdef7());
+                ic_purchasein_b.setVdef8(nccSaleXsfhmxWms.getVdef8());
+                ic_purchasein_b.setVdef13(nccSaleXsfhmxWms.getVdef13());
+                ic_purchasein_b.setVdef14(nccSaleXsfhmxWms.getVdef14());
+            }
+            ic_purchasein_bs.add(ic_purchasein_b);
+        }
+        data.put("ic_purchasein_h", ic_purchasein_h);
+        data.put("ic_purchasein_b", ic_purchasein_b);
+        return data;
+    }
+
+    /**
+     * @param orderDetls
+     * @return
+     */
+    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<>();
+        for (OrderDetl orderDetl : orderDetls) {
+            ic_purchasein_b = new ic_purchasein_b();
+            String remark = orderDetl.getRemark();
+            if (!Cools.isEmpty(remark)) {
+                NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+                ic_purchasein_b.setVdef2(nccSaleXsfhmxWms.getVdef2());
+                ic_purchasein_b.setVdef3(nccSaleXsfhmxWms.getVdef3());
+                ic_purchasein_b.setVdef4(nccSaleXsfhmxWms.getVdef4());
+                ic_purchasein_b.setVdef7(nccSaleXsfhmxWms.getVdef7());
+                ic_purchasein_b.setVdef8(nccSaleXsfhmxWms.getVdef8());
+                ic_purchasein_b.setVdef13(nccSaleXsfhmxWms.getVdef13());
+                ic_purchasein_b.setVdef14(nccSaleXsfhmxWms.getVdef14());
+            }
+            ic_purchasein_bs.add(ic_purchasein_b);
+        }
+        data.put("ic_purchasein_h", ic_purchasein_h);
+        data.put("ic_purchasein_b", ic_purchasein_b);
+        return data;
+    }
+
+
     private Boolean reportApiLog(Object data, String docType, String url, String path) {
         String response = "";
         boolean success = false;

--
Gitblit v1.9.1