From b67bafd95dc17136ac0eab068ba51cd55e1669f3 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 13 六月 2025 20:08:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |  154 +++++++++++++++++++++++++++------------------------
 1 files changed, 82 insertions(+), 72 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 5115f87..221dee2 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -3,19 +3,20 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.DocType;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.StoreType;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.service.ReportToThirdService;
+import com.zy.asrs.service.StoreTypeService;
 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.entity.*;
+import com.zy.nc.service.NccScPcdaWmsService;
 import com.zy.nc.util.NcResultMessage;
 import com.zy.nc.vo.*;
 import lombok.extern.slf4j.Slf4j;
@@ -37,6 +38,12 @@
 
     @Autowired
     private OrderService orderService;
+
+    @Autowired
+    private StoreTypeService storeTypeService;
+
+    @Autowired
+    private NccScPcdaWmsService nccScPcdaWmsService;
 
     @Value("${NYNC.ip}")
     private String nyncIp;
@@ -107,21 +114,23 @@
                     }
                     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) {
-                        process2 = processGENERALOUT2(orderDetls, memo);
+                        process2 = processGENERALOUT2(orderDetls, order.getOperMemb(), order.getItemId(), memo);
                         List<Object> zkck2 = new ArrayList<>();
                         zkck2.add(process2);
                         //鍙戦�佽姹�
@@ -143,7 +152,7 @@
                             log.info("杞簱-鍑哄簱1response:{}", response);
                             memo = response.getData().toString();
 
-                            process2 = processGENERALOUT2(orderDetls, memo);
+                            process2 = processGENERALOUT2(orderDetls, order.getOperMemb(), order.getItemId(), memo);
                             List<Object> zkck2 = new ArrayList<>();
                             zkck2.add(process2);
                             //鍙戦�佽姹�
@@ -197,16 +206,18 @@
         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) {
+            if (orderDetl.getQty() <= 0) {
+                continue;
+            }
             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.setClocationid("610101");
                 saleOutBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
                 saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
                 saleOutHeadVO.setVdef2(nccSaleXsfhmxWms.getVdef2());
@@ -217,9 +228,11 @@
                 saleOutHeadVO.setVdef13(nccSaleXsfhmxWms.getVdef13());
                 saleOutHeadVO.setVdef14(nccSaleXsfhmxWms.getVdef14());
             }
+            saleOutHeadVO.setCwarehouseid(orderDetl.getStandby1());
+
             saleOutBodyVO.setVbatchcode(orderDetl.getBatch());
-            saleOutBodyVO.setNshouldnum(flag ? -orderDetl.getAnfme() : orderDetl.getAnfme());
-            saleOutBodyVO.setNnum(orderDetl.getQty());
+            saleOutBodyVO.setNshouldnum(flag ? -orderDetl.getQty() : orderDetl.getQty());
+            saleOutBodyVO.setNnum(flag ? -orderDetl.getQty() : orderDetl.getQty());
             saleOutBodyVOList.add(saleOutBodyVO);
         }
         data.put("SaleOutHeadVO", saleOutHeadVO);
@@ -232,7 +245,6 @@
         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) {
@@ -246,7 +258,9 @@
                 generalInBodyVO.setNnum(orderDetl.getQty());
                 generalInBodyVO.setNshouldnum(orderDetl.getAnfme());
                 generalInBodyVO.setCsourcetype(nccScZkmxbWms.getZklxbm());
+
             }
+            generalInHeadVO.setCwarehouseid(orderDetl.getStandby1());
             generalInBodyVOS.add(generalInBodyVO);
         }
         data.put("GeneralInHeadVO", generalInHeadVO);
@@ -281,31 +295,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) {
@@ -313,7 +303,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<>();
@@ -332,6 +322,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);
@@ -339,40 +330,45 @@
         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
      * @return
      */
-    private Object processGENERALOUT2(List<OrderDetl> orderDetls, String memo) {
+    private Object processGENERALOUT2(List<OrderDetl> orderDetls, String renyuan, String rukucangku, String memo) {
         Object o = JSONObject.parseArray(memo).get(0);
         JSONObject jsonObject = JSONObject.parseObject(o.toString());
         String cspecialhid = JSONObject.parseObject(jsonObject.getString("ic.WhsTransBillHeaderVO")).getString("cspecialhid");
@@ -386,17 +382,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());
+//            }
             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.setNshouldassistnum(orderDetl.getQty());
+            //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.setNnum(orderDetl.getQty());
             generalout_b.setVbatchcode(orderDetl.getBatch());
             ic_purchasein_bs.add(generalout_b);
         }

--
Gitblit v1.9.1