From 6f01b51fc0770fda7787076caf0314be7a7f6656 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 27 六月 2025 10:58:21 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |  127 +++++++++++++++++++++++++++++++-----------
 1 files changed, 94 insertions(+), 33 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 43ffc1c..178a672 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -5,21 +5,13 @@
 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;
-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.asrs.entity.*;
+import com.zy.asrs.service.*;
 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;
@@ -38,18 +30,20 @@
 
     @Autowired
     private ApiLogService apiLogService;
-
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private InventoryCheckOrderService inventoryCheckOrderService;
+    @Autowired
+    private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
 
     @Autowired
     private StoreTypeService storeTypeService;
 
     @Autowired
     private NccScPcdaWmsService nccScPcdaWmsService;
-
-    @Autowired
-    private NccXsckmxTkWmsService nccXsckmxTkWmsService;
 
     @Autowired
     private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService;
@@ -65,6 +59,9 @@
 
     @Value("${NYNC.saveRefWhsTrans}")
     private String saveRefWhsTrans;
+
+    @Value("${NYNC.invcountAdd}")
+    private String invcountAdd;
 
     @Value("${NYNC.purchasein}")
     private String purchasein;
@@ -210,16 +207,33 @@
     }
 
     @Override
-    public void reportTkrk(String batch, Double anfme) {
-        Object process1 = processTKRK(batch, anfme);
+    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);
-//        } else {
+        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;
+        }
+    }
+
+    @Override
+    public boolean reportCheckOrder(InventoryCheckOrder checkOrder) {
+        Object process1 = processInvcount(checkOrder);
+        //鍙戦�佽姹�
+        NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, invcountAdd, 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;
+        }
     }
 
     private Object processXSFH(List<OrderDetl> orderDetls, Boolean flag) {
@@ -261,16 +275,18 @@
         return data;
     }
 
-    private Object processTKRK(String batch, Double anfme) {
-        EntityWrapper<NccXsckmxTkWms> wrapper = new EntityWrapper<>();
-        wrapper.like("VBATCHCODE", batch);
-        NccXsckmxTkWms nccXsckmxTkWms = nccXsckmxTkWmsService.selectOne(wrapper);
-        if (null == nccXsckmxTkWms) {
-            throw new CoolException("鏈壘鍒版鏉$爜");
-        }
+    private Object processTKRK(String matnr,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("VBILLCODE", orderNo)
+                .eq("WLBM", matnr)
+        );
         if(null == nccSaleXsfhmxWms) {
             throw new CoolException("鏈壘鍒伴攢鍞崟鎹�");
         }
@@ -284,12 +300,11 @@
 
         saleOutBodyVO = new SaleOutBodyVO();
         saleOutBodyVO.setCsourcetype("4331");
-        saleOutBodyVO.setCsourcebillbid(nccXsckmxTkWms.getCsourcebillbid());
-        saleOutBodyVO.setCsourcebillhid(nccXsckmxTkWms.getCsourcebillhid());
+        saleOutBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
+        saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
         saleOutHeadVO.setCwarehouseid(nccSaleXsfhmxWms.getFhckbm());
 
-        saleOutBodyVO.setVbatchcode(nccXsckmxTkWms.getVbatchcode());
-        saleOutBodyVO.setNshouldnum(anfme * -1);
+        saleOutBodyVO.setVbatchcode(batch);
         saleOutBodyVO.setNnum(anfme * -1);
         saleOutBodyVOList.add(saleOutBodyVO);
 
@@ -298,6 +313,52 @@
         return data;
     }
 
+    private Object processInvcount(InventoryCheckOrder checkOrder) {
+        List<InventoryCheckOrderDetl> inventoryCheckOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+                .eq("order_no", checkOrder.getOrderNo()));
+        if (inventoryCheckOrderDetls.isEmpty()) {
+            throw new CoolException("鐩樼偣鏄庣粏涓嶅瓨鍦�");
+        }
+
+        //缁勮瀵硅薄鏁版嵁
+        Map<String, Object> data = new HashMap<String, Object>();
+
+        //浠撳簱id
+        String cwarehouseid = null;
+        List<InvCountBodyVO> invCountBodyVOList = new ArrayList<>();
+        for (InventoryCheckOrderDetl inventoryCheckOrderDetl : inventoryCheckOrderDetls) {
+            List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>()
+                    .eq("matnr", inventoryCheckOrderDetl.getMatnr())
+                    .eq("batch", inventoryCheckOrderDetl.getBatch())
+            );
+            if (wrkDetls.isEmpty()) {
+                throw new CoolException("宸ヤ綔妗f槑缁嗕笉瀛樺湪");
+            }
+
+            cwarehouseid = wrkDetls.get(0).getStandby1();
+
+            InvCountBodyVO invCountBodyVO = new InvCountBodyVO();
+            invCountBodyVO.setCmaterialoid(inventoryCheckOrderDetl.getMatnr());
+            invCountBodyVO.setVbatchcode(inventoryCheckOrderDetl.getBatch());
+            invCountBodyVO.setNcountastnum(inventoryCheckOrderDetl.getCheckAnfme());
+            invCountBodyVOList.add(invCountBodyVO);
+        }
+
+        InvCountHeaderVO invCountHeaderVO = new InvCountHeaderVO();
+        invCountHeaderVO.setPk_org("FYT");
+        invCountHeaderVO.setCtrantypeid("4R-01");
+        invCountHeaderVO.setCwarehouseid(cwarehouseid);
+
+        data.put("InvCountHeaderVO", invCountHeaderVO);
+        data.put("InvCountBodyVO", invCountBodyVOList);
+        data.put("paper", "2");
+        data.put("splr", "1");
+
+        ArrayList<Map<String, Object>> list = new ArrayList<>();
+        list.add(data);
+        return list;
+    }
+
     private Object processZKRK(List<OrderDetl> orderDetls) {
         //缁勮瀵硅薄鏁版嵁
         Map<String, Object> data = new HashMap<String, Object>();

--
Gitblit v1.9.1