From f6f8bb8d5dfc7f663bdce8a0fbf5062a030de2f6 Mon Sep 17 00:00:00 2001
From: ytfl <ytfl@qq.com>
Date: 星期六, 14 六月 2025 20:07:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |  177 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 112 insertions(+), 65 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 187179f..2174899 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.DocType;
 import com.zy.asrs.entity.Order;
@@ -16,7 +17,9 @@
 import com.zy.asrs.service.StoreTypeService;
 import com.zy.nc.SendUtil;
 import com.zy.nc.entity.*;
+import com.zy.nc.service.NccSaleXsfhmxWmsService;
 import com.zy.nc.service.NccScPcdaWmsService;
+import com.zy.nc.service.NccXsckmxTkWmsService;
 import com.zy.nc.util.NcResultMessage;
 import com.zy.nc.vo.*;
 import lombok.extern.slf4j.Slf4j;
@@ -44,6 +47,12 @@
 
     @Autowired
     private NccScPcdaWmsService nccScPcdaWmsService;
+
+    @Autowired
+    private NccXsckmxTkWmsService nccXsckmxTkWmsService;
+
+    @Autowired
+    private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService;
 
     @Value("${NYNC.ip}")
     private String nyncIp;
@@ -114,17 +123,19 @@
                     }
                     break;
                 case "閲囪喘鍒拌揣":
-                    process1 = processCGDH(orderDetls);
-                    List<Object> cg = new ArrayList<>();
-                    cg.add(process1);
-                    //鍙戦�佽姹�
-                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg));
-                    if (!Cools.isEmpty(response) && response.isSuccess()) {
-                        log.info("閲囪喘鍒拌揣response:{}", response);
-                        step = 10;
-                    } else {
-                        remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
-                    }
+                    //涓嶉渶瑕佷笂鎶ヤ簡
+                    step = 10;
+//                    process1 = processCGDH(orderDetls);
+//                    List<Object> cg = new ArrayList<>();
+//                    cg.add(process1);
+//                    //鍙戦�佽姹�
+//                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg));
+//                    if (!Cools.isEmpty(response) && response.isSuccess()) {
+//                        log.info("閲囪喘鍒拌揣response:{}", response);
+//                        step = 10;
+//                    } else {
+//                        remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
+//                    }
                     break;
                 case "杞簱-鍑哄簱":
                     if (step == 1) {
@@ -198,6 +209,18 @@
 
     }
 
+    @Override
+    public void reportTkrk(String batch, String orderNo, Double anfme) {
+        Object process1 = processTKRK(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);
+//        } else {
+//            remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
+//        }
+    }
 
     private Object processXSFH(List<OrderDetl> orderDetls, Boolean flag) {
         //缁勮瀵硅薄鏁版嵁
@@ -233,6 +256,45 @@
             saleOutBodyVO.setNnum(flag ? -orderDetl.getQty() : orderDetl.getQty());
             saleOutBodyVOList.add(saleOutBodyVO);
         }
+        data.put("SaleOutHeadVO", saleOutHeadVO);
+        data.put("SaleOutBodyVO", saleOutBodyVOList);
+        return data;
+    }
+
+    private Object processTKRK(String batch, String orderNo, Double anfme) {
+        EntityWrapper<NccXsckmxTkWms> wrapper = new EntityWrapper<>();
+        wrapper.eq("VBATCHCODE", batch).eq("VSOURCEBILLCODE", orderNo);
+        NccXsckmxTkWms nccXsckmxTkWms = nccXsckmxTkWmsService.selectOne(wrapper);
+        if (null == nccXsckmxTkWms) {
+            throw new CoolException("鏈壘鍒版鏉$爜");
+        }
+
+        NccSaleXsfhmxWms nccSaleXsfhmxWms = nccSaleXsfhmxWmsService.selectOne(new EntityWrapper<NccSaleXsfhmxWms>()
+                .eq("VBILLCODE", nccXsckmxTkWms.getVsourcebillcode())
+                .eq("WLBM", nccXsckmxTkWms.getWlbm())
+        );
+        if(null == nccSaleXsfhmxWms) {
+            throw new CoolException("鏈壘鍒伴攢鍞崟鎹�");
+        }
+
+        //缁勮瀵硅薄鏁版嵁
+        Map<String, Object> data = new HashMap<String, Object>();
+        SaleOutHeadVO saleOutHeadVO = new SaleOutHeadVO();
+        saleOutHeadVO.setPk_org("FYT");
+        SaleOutBodyVO saleOutBodyVO = null;
+        List<SaleOutBodyVO> saleOutBodyVOList = new ArrayList<>();
+
+        saleOutBodyVO = new SaleOutBodyVO();
+        saleOutBodyVO.setCsourcetype("4331");
+        saleOutBodyVO.setCsourcebillbid(nccXsckmxTkWms.getCsourcebillbid());
+        saleOutBodyVO.setCsourcebillhid(nccXsckmxTkWms.getCsourcebillhid());
+        saleOutHeadVO.setCwarehouseid(nccSaleXsfhmxWms.getFhckbm());
+
+        saleOutBodyVO.setVbatchcode(nccXsckmxTkWms.getVbatchcode());
+        saleOutBodyVO.setNshouldnum(anfme * -1);
+        saleOutBodyVO.setNnum(anfme * -1);
+        saleOutBodyVOList.add(saleOutBodyVO);
+
         data.put("SaleOutHeadVO", saleOutHeadVO);
         data.put("SaleOutBodyVO", saleOutBodyVOList);
         return data;
@@ -293,31 +355,7 @@
         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.setCotherwhid(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.setNnum(orderDetl.getQty());
-            whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr());
-            whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch());
-            //}
-            whsTransBillHeaderVO.setCwarehouseid(orderDetl.getStandby1());
-            whsTransBillBodyVOS.add(whsTransBillBodyVO);
-        }
-        data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO);
-        data.put("WhsTransBillBodyVO", whsTransBillBodyVOS);
-        return data;
-    }
+
 
 
     private Object processCGDH(List<OrderDetl> orderDetls) {
@@ -325,7 +363,7 @@
         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("6301");
+        //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<>();
@@ -344,6 +382,7 @@
                 ic_purchasein_b.setCsourcetype(nccCgCgdhdWms.getDhlxbm());
                 ic_purchasein_b.setVbatchcode(orderDetl.getBatch());
             }
+            ic_purchasein_h.setCwarehouseid(orderDetl.getStandby1());
             ic_purchasein_bs.add(ic_purchasein_b);
         }
         data.put("ic_purchasein_h", ic_purchasein_h);
@@ -351,34 +390,39 @@
         return data;
     }
 
-    /**
-     * @param orderDetls
-     * @return
-     */
-    private Object processGENERALOUT(List<OrderDetl> orderDetls) {
+
+    private Object processZKCK(Order order, 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<>();
+        WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO();
+        whsTransBillHeaderVO.setPk_org("FYT");
+        whsTransBillHeaderVO.setCotherwhid(order.getItemId());
+        whsTransBillHeaderVO.setCtrantypeid("4K-01");
+        WhsTransBillBodyVO whsTransBillBodyVO = null;
+        List<WhsTransBillBodyVO> whsTransBillBodyVOS = 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.setCmaterialvid(orderDetl.getMatnr());
-                generalout_b.setNshouldassistnum(orderDetl.getQty());
-                generalout_b.setVbatchcode(orderDetl.getBatch());
+            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());
             }
-            ic_purchasein_bs.add(generalout_b);
+
+            whsTransBillBodyVO = new WhsTransBillBodyVO();
+            whsTransBillBodyVO.setCstateid(nccScPcdaWms.getPkBatchcode());
+
+            String remark = orderDetl.getRemark();
+            //if (!Cools.isEmpty(remark)) {
+            //NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+            whsTransBillBodyVO.setNnum(orderDetl.getQty());
+            whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr());
+            whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch());
+            //}
+            whsTransBillHeaderVO.setCwarehouseid(orderDetl.getStandby1());
+            whsTransBillBodyVOS.add(whsTransBillBodyVO);
         }
-        data.put("ic_generalout_h", generalout_h);
-        data.put("ic_generalout_b", ic_purchasein_bs);
+        data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO);
+        data.put("WhsTransBillBodyVO", whsTransBillBodyVOS);
         return data;
     }
-
 
     /**
      * @param orderDetls
@@ -398,28 +442,31 @@
         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");
+        //generalout_h.setCwarehouseid("6101");
         ic_generalout_b generalout_b = null;
         List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>();
         for (int i = 0; i < orderDetls.size(); i++) {
-            NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", orderDetls.get(i).getBatch()).eq("wlbm", orderDetls.get(i).getMatnr()));
-            if (nccScPcdaWms == null) {
-                throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + orderDetls.get(i).getBatch() + orderDetls.get(i).getMatnr());
-            }
+//            NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", orderDetls.get(i).getBatch()).eq("wlbm", orderDetls.get(i).getMatnr()));
+//            if (nccScPcdaWms == null) {
+//                throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + orderDetls.get(i).getBatch() + orderDetls.get(i).getMatnr());
+//            }
             OrderDetl orderDetl = orderDetls.get(i);
+            generalout_h.setCwarehouseid(orderDetl.getStandby1());
             generalout_b = new ic_generalout_b();
             generalout_b.setCsourcebillbid(s.get(i));
             generalout_b.setCsourcetype("4K-01");
             generalout_b.setCsourcebillhid(cspecialhid);
             generalout_b.setCmaterialvid(orderDetl.getMatnr());
-            generalout_b.setCstateid(nccScPcdaWms.getVcode());
+            //generalout_b.setCstateid(nccScPcdaWms.getVcode());
             StoreType storeType = storeTypeService.selectOne(new EntityWrapper<StoreType>().eq("store_id", orderDetl.getStandby1()));
             generalout_b.setCdptvid(storeType.getDepartmentId());
             generalout_b.setBillmaker(renyuan);
             StoreType storeType2 = storeTypeService.selectOne(new EntityWrapper<StoreType>().eq("store_id", rukucangku));
             generalout_b.setCotherwhid(rukucangku);
             generalout_b.setCothercalbodyvid(storeType2.getDepartmentId());
-            generalout_b.setNshouldassistnum(orderDetl.getQty());
+
+            //generalout_b.setNshouldassistnum(orderDetl.getQty());
+            generalout_b.setNnum(orderDetl.getQty());
             generalout_b.setVbatchcode(orderDetl.getBatch());
             ic_purchasein_bs.add(generalout_b);
         }

--
Gitblit v1.9.1