From b87fd470a866ffcf50bb5c5d55ff9b2dd11fc20c Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 01 八月 2025 08:17:28 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |  116 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 94 insertions(+), 22 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 c9e5522..94e4e6d 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.utils.MatUtils;
 import com.zy.nc.SendUtil;
 import com.zy.nc.entity.*;
+import com.zy.nc.service.NccSaleDbddWmsService;
 import com.zy.nc.service.NccSaleXsfhmxWmsService;
 import com.zy.nc.service.NccScPcdaWmsService;
 import com.zy.nc.util.NcResultMessage;
@@ -49,6 +50,8 @@
 
     @Autowired
     private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService;
+    @Autowired
+    private NccSaleDbddWmsService  nccSaleDbddWmsService;
 
     @Value("${NYNC.ip}")
     private String nyncIp;
@@ -217,18 +220,53 @@
     }
 
     @Override
-    public boolean reportTkrk(String matnr, String batch, String orderNo, Double anfme) {
-        Object process1 = processTKRK(matnr, batch, orderNo, anfme);
-        //鍙戦�佽姹�
-        NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
-        log.info("閫�搴撳叆搴搑esponse:{}", response);
-        if (!Cools.isEmpty(response) && response.isSuccess()) {
-            log.info("閫�搴撳叆搴搑esponse:{}", response);
-            return true;
-        } else {
-//            remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
-            return false;
+    public boolean reportTkrk(WaitPakin waitPakin) {
+        String matnr = waitPakin.getMatnr();
+        String batch = waitPakin.getBatch();
+        String orderNo = waitPakin.getOrderNo();
+        Double anfme = waitPakin.getAnfme();
+
+        Object process1 = null;
+        NcResultMessage response1 = null;
+        boolean success1 = false;
+        try {
+            process1 = processTKRK(matnr, batch, orderNo, anfme, waitPakin.getCstateid());
+            //鍙戦�佽姹�
+            response1 = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+            log.info("閫�搴撳叆搴搑esponse:{}", response1);
+            if (!Cools.isEmpty(response1) && response1.isSuccess()) {
+                log.info("閫�搴撳叆搴搑esponse:{}", response1);
+                success1 = true;
+                return true;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            process1 = e.getMessage();
+        } finally {
+            reportApiLog(null, process1, process1, response1, "TKRK", nyncIp, saveRefDelivery, success1);
         }
+
+        Object process2 = null;
+        NcResultMessage response2 = null;
+        boolean success2 = false;
+        try {
+            process2 = processDBTK(matnr, batch, orderNo, anfme, waitPakin.getCstateidVcode());
+            //鍙戦�佽姹�
+            response2 = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, dbdd, JSONObject.toJSONString(process2));
+            log.info("閫�搴撳叆搴搑esponse:{}", response2);
+            if (!Cools.isEmpty(response2) && response2.isSuccess()) {
+                log.info("閫�搴撳叆搴搑esponse:{}", response2);
+                success2 = true;
+                return true;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            process2 = e.getMessage();
+        } finally {
+            reportApiLog(null, process2, process2, response2, "DBRK", nyncIp, dbdd, success2);
+        }
+
+        return false;
     }
 
     @Override
@@ -309,6 +347,7 @@
             saleOutBodyVO.setVbatchcode(orderDetl.getBatch());
             saleOutBodyVO.setNshouldnum(flag ? -orderDetl.getQty() : orderDetl.getQty());
             saleOutBodyVO.setNnum(flag ? -orderDetl.getQty() : orderDetl.getQty());
+            saleOutBodyVO.setCstateid(orderDetl.getCstateid());
             saleOutBodyVOList.add(saleOutBodyVO);
         }
         data.put("SaleOutHeadVO", saleOutHeadVO);
@@ -316,7 +355,7 @@
         return data;
     }
 
-    private Object processTKRK(String matnr,String batch, String orderNo, Double anfme) {
+    private Object processTKRK(String matnr, String batch, String orderNo, Double anfme, String cstateid) {
 //        EntityWrapper<NccXsckmxTkWms> wrapper = new EntityWrapper<>();
 //        wrapper.eq("VBATCHCODE", batch).eq("VSOURCEBILLCODE", orderNo);
 //        NccXsckmxTkWms nccXsckmxTkWms = nccXsckmxTkWmsService.selectOne(wrapper);
@@ -328,7 +367,7 @@
                 .eq("VBILLCODE", orderNo)
                 .eq("WLBM", matnr)
         );
-        if(null == nccSaleXsfhmxWms) {
+        if (null == nccSaleXsfhmxWms) {
             throw new CoolException("鏈壘鍒伴攢鍞崟鎹�");
         }
 
@@ -347,10 +386,48 @@
 
         saleOutBodyVO.setVbatchcode(batch);
         saleOutBodyVO.setNnum(anfme * -1);
+        saleOutBodyVO.setCstateid(cstateid);
         saleOutBodyVOList.add(saleOutBodyVO);
 
         data.put("SaleOutHeadVO", saleOutHeadVO);
         data.put("SaleOutBodyVO", saleOutBodyVOList);
+        return data;
+    }
+
+    private Object processDBTK(String matnr, String batch, String orderNo, Double anfme, String cstateid) {
+        List<NccSaleDbddWms> nccSaleDbddWmsList = nccSaleDbddWmsService.selectList(new EntityWrapper<NccSaleDbddWms>()
+                .eq("wlbm", matnr)
+                .eq("vbillcode", orderNo)
+        );
+
+        if (nccSaleDbddWmsList.isEmpty()) {
+            throw new CoolException("璋冩嫧璁㈠崟ERP鏁版嵁涓虹┖");
+        }
+
+        NccSaleDbddWms nccSaleDbddWms = nccSaleDbddWmsList.get(0);
+
+        //缁勮瀵硅薄鏁版嵁
+        Map<String, Object> data = new HashMap<String, Object>();
+
+        List<IaIjBillB> bids = new ArrayList<>();
+        IaIjBillB iaIjBillB = new IaIjBillB();
+//        NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", batch).eq("wlbm", matnr));
+//        if (nccScPcdaWms == null) {
+//            throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + batch + "-" + matnr);
+//        }
+
+        Double weight = MatUtils.calcWeight(matnr, anfme);
+        iaIjBillB.setBid(nccSaleDbddWms.getCbill_bid());
+        iaIjBillB.setNassistnum(weight * -1);
+        iaIjBillB.setNnum(anfme * -1);
+        iaIjBillB.setVbatchcode(batch);
+        iaIjBillB.setClocationid("");
+        iaIjBillB.setCstateid(cstateid);
+
+        bids.add(iaIjBillB);
+
+        data.put("hid", nccSaleDbddWms.getCbillid());
+        data.put("bids", bids);
         return data;
     }
 
@@ -451,11 +528,6 @@
             IaIjBillB iaIjBillB = new IaIjBillB();
             String remark = orderDetl.getRemark();
             if (!Cools.isEmpty(remark)) {
-                NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", orderDetl.getBatch()).eq("wlbm", orderDetl.getMatnr()));
-                if (nccScPcdaWms == null) {
-                    throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + orderDetl.getBatch() + orderDetl.getMatnr());
-                }
-
                 Double weight = MatUtils.calcWeight(orderDetl.getMatnr(), orderDetl.getQty());
                 NccSaleDbddWms nccSaleDbddWms = JSONObject.parseObject(remark, NccSaleDbddWms.class);
                 iaIjBillB.setBid(nccSaleDbddWms.getCbill_bid());
@@ -463,11 +535,11 @@
                 iaIjBillB.setNnum(orderDetl.getQty());
                 iaIjBillB.setVbatchcode(orderDetl.getBatch());
                 iaIjBillB.setClocationid("");
-                iaIjBillB.setCstateid(nccScPcdaWms.getVcode());
+                iaIjBillB.setCstateid(orderDetl.getCstateidVcode());
 
                 hid = nccSaleDbddWms.getCbillid();
+                bids.add(iaIjBillB);
             }
-            bids.add(iaIjBillB);
         }
         data.put("hid", hid);
         data.put("bids", bids);
@@ -526,7 +598,7 @@
             }
 
             whsTransBillBodyVO = new WhsTransBillBodyVO();
-            whsTransBillBodyVO.setCstateid(nccScPcdaWms.getPkStorestate());
+            whsTransBillBodyVO.setCstateid(orderDetl.getCstateid());
 
             String remark = orderDetl.getRemark();
             //if (!Cools.isEmpty(remark)) {
@@ -578,7 +650,7 @@
             generalout_b.setCsourcetype("4K-01");
             generalout_b.setCsourcebillhid(cspecialhid);
             generalout_b.setCmaterialvid(orderDetl.getMatnr());
-            generalout_b.setCstateid(nccScPcdaWms.getPkStorestate());
+            generalout_b.setCstateid(orderDetl.getCstateid());
             generalout_b.setPk_batchcode(nccScPcdaWms.getPkBatchcode());
             StoreType storeType = storeTypeService.selectOne(new EntityWrapper<StoreType>().eq("store_id", orderDetl.getStandby1()));
             generalout_b.setCdptvid(storeType.getDepartmentId());

--
Gitblit v1.9.1