From 1216681441c6275aa2779c961e3c83f5d8d3df02 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 22 五月 2025 16:13:42 +0800
Subject: [PATCH] 接口编写

---
 src/main/java/com/zy/asrs/entity/param/CombParam.java                |   10 
 src/main/java/com/zy/nc/vo/ic_generalout_b.java                      |   12 +
 src/main/java/com/zy/nc/vo/IaIjBill.java                             |    8 +
 src/main/java/com/zy/nc/vo/IaIjBillB.java                            |   12 +
 src/main/java/com/zy/nc/service/NccSaleDbddWmsService.java           |   10 
 src/main/java/com/zy/nc/entity/NccCgCgdhdWms.java                    |    5 
 src/main/java/com/zy/nc/SendUtil.java                                |    1 
 src/main/java/com/zy/nc/mapper/NccSaleDbddWmsMapper.java             |   13 
 src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java           |   63 ++++++-
 src/main/java/com/zy/nc/service/impl/NccSaleDbddWmsServiceImpl.java  |   17 +-
 src/main/resources/mapper/nc/NccScZkmxbWmsMapper.xml                 |   24 ++
 src/main/java/com/zy/nc/service/impl/NccScZkmxbWmsServiceImpl.java   |   10 +
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |  188 ++++++++++++++---------
 src/main/java/com/zy/nc/service/NccScZkmxbWmsService.java            |    4 
 src/main/java/com/zy/nc/task/PlanOrderTask.java                      |   54 ++++++
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java        |   11 +
 src/main/java/com/zy/nc/mapper/NccScZkmxbWmsMapper.java              |   17 +
 src/main/resources/mapper/nc/NccSaleDbddWmsMapper.xml                |    9 +
 src/main/resources/application.yml                                   |    2 
 19 files changed, 341 insertions(+), 129 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index ac07e41..a8880ee 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -19,10 +19,14 @@
     // 搴撲綅缂栧彿
     private String locNo;
 
+
     private List<CombMat> combMats;
 
     @Data
     public static class CombMat {
+
+        // 鏉$爜
+        private String  vbarcode;
 
         private String orderNo;
 
@@ -36,9 +40,9 @@
         private String standby2 = "";
         private String standby3 = "";
 
-        private String boxType1 = "1";
-        private String boxType2 = "1";
-        private String boxType3 = "1";
+        private String boxType1 = "";
+        private String boxType2 = "";
+        private String boxType3 = "";
 
         // 鐗╂枡鏁伴噺
         private Double anfme;
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 2e85903..4137a57 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -19,6 +19,8 @@
 import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
+import com.zy.nc.entity.NccJcQilibcBarcodeflowWms;
+import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -94,6 +96,9 @@
 
     @Resource
     private OrderDetlPakoutService orderDetlPakoutService;
+
+    @Autowired
+    private NccJcQilibcBarcodeflowWmsService barcodeflowWmsService;
 
     @Override
     @Transactional
@@ -615,7 +620,13 @@
             }
             // 鐢熸垚鍏ュ簱閫氱煡妗�
             List<DetlDto> detlDtos = new ArrayList<>();
+
             param.getCombMats().forEach(elem -> {
+                // TODO 涓嶈�冭檻浠g爜鏁堢巼锛屽洜涓烘棫浠g爜bug灏�
+                if (!Cools.isEmpty(elem.getVbarcode())){
+                    NccJcQilibcBarcodeflowWms vbarcode1 = barcodeflowWmsService.selectOne(new EntityWrapper<NccJcQilibcBarcodeflowWms>().eq("vbarcode", elem.getVbarcode()));
+
+                }
 
                 // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
 //                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
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 b82f56d..a522452 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.service.ReportToThirdService;
 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.util.NcResultMessage;
 import com.zy.nc.vo.*;
@@ -44,14 +45,27 @@
     @Value("${NYNC.saveRefDelivery}")
     private String saveRefDelivery;
 
+    @Value("${NYNC.saveRefWhsTrans}")
+    private String saveRefWhsTrans;
+
+    @Value("${NYNC.purchasein}")
+    private String purchasein;
+
+    @Value("${NYNC.whstrans}")
+    private String whstrans;
+
+    @Value("${NYNC.generalout}")
+    private String generalout;
+
+    @Value("${NYNC.dbdd}")
+    private String dbdd;
+
 
     @Override
     public void report(Order order, List<OrderDetl> orderDetls, DocType docType) {
         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 "閿�鍞彂璐�":
@@ -59,78 +73,50 @@
                     //鍙戦�佽姹�
                     response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
                     if (!Cools.isEmpty(response) && response.isSuccess()) {
-                        log.info("response:{}", response);
+                        log.info("閿�鍞彂璐esponse:{}", response);
                         step = 10;
                     }
                     break;
-                case "杞簱":
-                    process1 = processQTRK(orderDetls);
+                case "杞簱-鍏ュ簱":
+                    process1 = processZKRK(orderDetls);
                     //鍙戦�佽姹�
-                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefWhsTrans, JSONObject.toJSONString(process1));
                     if (!Cools.isEmpty(response) && response.isSuccess()) {
-                        log.info("response:{}", response);
+                        log.info("杞簱-鍏ュ簱response:{}", response);
                         step = 10;
                     }
                     break;
                 case "閲囪喘鍒拌揣":
                     process1 = processCGDH(orderDetls);
+                    List<Object> cg = new ArrayList<>();
+                    cg.add(process1);
                     //鍙戦�佽姹�
-                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg));
                     if (!Cools.isEmpty(response) && response.isSuccess()) {
-                        log.info("response:{}", response);
+                        log.info("閲囪喘鍒拌揣response:{}", response);
                         step = 10;
                     }
                     break;
-                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;
-                        }
+                case "杞簱-鍑哄簱":
+                    process1 = processGENERALOUT(orderDetls);
+                    List<Object> zkck = new ArrayList<>();
+                    zkck.add(process1);
+                    //鍙戦�佽姹�
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck));
+                    if (!Cools.isEmpty(response) && response.isSuccess()) {
+                        log.info("杞簱-鍑哄簱response:{}", response);
+                        step = 10;
                     }
                     break;
-//                case "鍐呴儴璋冩嫧":
-//                    break;
+                case "闆嗗洟鍐呴儴璋冩嫧":
+                    process1 = processDBDD(orderDetls);
+                    //鍙戦�佽姹�
+                    response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, dbdd, JSONObject.toJSONString(process1));
+                    if (!Cools.isEmpty(response) && response.isSuccess()) {
+                        log.info("闆嗗洟鍐呴儴璋冩嫧response:{}", response);
+                        step = 10;
+                    }
+                    break;
                 default:
                     throw new CoolException("涓嶈兘璇嗗埆鐨勫崟鎹被鍨�");
             }
@@ -190,6 +176,32 @@
         return data;
     }
 
+    private Object processZKRK(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.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
+                generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
+                generalInBodyVO.setNnum(orderDetl.getQty());
+                generalInBodyVO.setNshouldnum(orderDetl.getAnfme());
+                generalInBodyVO.setVbatchcode(orderDetl.getBatch());
+            }
+            generalInBodyVOS.add(generalInBodyVO);
+        }
+        data.put("GeneralInHeadVO", generalInHeadVO);
+        data.put("GeneralInBodyVO", generalInBodyVOS);
+        return data;
+    }
+
 
     private Object processQTRK(List<OrderDetl> orderDetls) {
         //缁勮瀵硅薄鏁版嵁
@@ -209,6 +221,7 @@
                 generalInBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
                 generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
                 generalInBodyVO.setNnum(orderDetl.getQty());
+                generalInBodyVO.setNshouldnum(orderDetl.getAnfme());
                 generalInBodyVO.setVbatchcode(orderDetl.getBatch());
                 generalInBodyVO.setCmaterialoid(orderDetl.getMatnr());
             }
@@ -216,6 +229,32 @@
         }
         data.put("GeneralInHeadVO", generalInHeadVO);
         data.put("GeneralInBodyVO", generalInBodyVOS);
+        return data;
+    }
+
+    private Object processDBDD(List<OrderDetl> orderDetls) {
+        //缁勮瀵硅薄鏁版嵁
+        Map<String, Object> data = new HashMap<String, Object>();
+        IaIjBill iaIjBill = new IaIjBill();
+        iaIjBill.setPk_org("FYT");
+        //iaIjBill.setCwarehouseid("6101");
+        IaIjBillB iaIjBillB = null;
+        List<IaIjBillB> iaIjBillBS = new ArrayList<>();
+        for (OrderDetl orderDetl : orderDetls) {
+            iaIjBillB = new IaIjBillB();
+            String remark = orderDetl.getRemark();
+            if (!Cools.isEmpty(remark)) {
+                NccSaleDbddWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleDbddWms.class);
+                iaIjBillB.setCinventoryid(nccSaleXsfhmxWms.getWlbm());
+                iaIjBillB.setCinventoryvid(nccSaleXsfhmxWms.getWlbm());
+                iaIjBillB.setCsrcid(nccSaleXsfhmxWms.getCbillid());
+                iaIjBillB.setNnum(orderDetl.getQty().intValue() + "");
+                iaIjBillB.setPk_org("FYT");
+            }
+            iaIjBillBS.add(iaIjBillB);
+        }
+        data.put("ia_ijbill", iaIjBill);
+        data.put("ia_ijbill_b", iaIjBillBS);
         return data;
     }
 
@@ -261,17 +300,18 @@
             String remark = orderDetl.getRemark();
             if (!Cools.isEmpty(remark)) {
                 NccCgCgdhdWms nccCgCgdhdWms = JSONObject.parseObject(remark, NccCgCgdhdWms.class);
-                ic_purchasein_b.setCsourcebillbid(nccCgCgdhdWms.getPkArriveorderB());
-                ic_purchasein_b.setCsourcebillhid(nccCgCgdhdWms.getPkArriveorder());
-                ic_purchasein_b.setCmaterialvid(orderDetl.getMaktx());
+                ic_purchasein_h.setCvendorid(nccCgCgdhdWms.getGysbm());
+                ic_purchasein_h.setCbizid(nccCgCgdhdWms.getDhlxbm());
+
+                ic_purchasein_b.setCmaterialvid(orderDetl.getMatnr());
                 ic_purchasein_b.setNnum(orderDetl.getQty());
-                ic_purchasein_b.setNshouldassistnum(orderDetl.getQty());
-                //ic_purchasein_b.setNorigprice(nccSaleXsfhmxWms.getNorigprice().doubleValue());
+                //ic_purchasein_b.setNshouldassistnum(orderDetl.getQty());
+                ic_purchasein_b.setVbatchcode(orderDetl.getBatch());
             }
             ic_purchasein_bs.add(ic_purchasein_b);
         }
         data.put("ic_purchasein_h", ic_purchasein_h);
-        data.put("ic_purchasein_b", ic_purchasein_b);
+        data.put("ic_purchasein_b", ic_purchasein_bs);
         return data;
     }
 
@@ -282,22 +322,24 @@
     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<>();
+        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<>();
         for (OrderDetl orderDetl : orderDetls) {
-            ic_purchasein_b = new ic_purchasein_b();
+            generalout_b = new ic_generalout_b();
             String remark = orderDetl.getRemark();
             if (!Cools.isEmpty(remark)) {
                 NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
-
+                generalout_b.setMaterialvid(orderDetl.getMatnr());
+                generalout_b.setNshouldassistnum(orderDetl.getQty());
+                generalout_b.setVbatchcode(orderDetl.getBatch());
             }
-            ic_purchasein_bs.add(ic_purchasein_b);
+            ic_purchasein_bs.add(generalout_b);
         }
-        data.put("ic_purchasein_h", ic_purchasein_h);
-        data.put("ic_purchasein_b", ic_purchasein_b);
+        data.put("ic_generalout_h", generalout_h);
+        data.put("ic_generalout_b", ic_purchasein_bs);
         return data;
     }
 
diff --git a/src/main/java/com/zy/nc/SendUtil.java b/src/main/java/com/zy/nc/SendUtil.java
index 6114ebd..d58d3ec 100644
--- a/src/main/java/com/zy/nc/SendUtil.java
+++ b/src/main/java/com/zy/nc/SendUtil.java
@@ -148,6 +148,7 @@
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
+            System.out.println("銆恥rl銆�:" + apiUrl);
             System.out.println("銆恓son銆�:" + json);
             System.out.println("銆怰ESULT銆�:" + result);
             System.out.println("result瑙e瘑:" + result2);
diff --git a/src/main/java/com/zy/nc/entity/NccCgCgdhdWms.java b/src/main/java/com/zy/nc/entity/NccCgCgdhdWms.java
index f2b4c7c..e2f2c61 100644
--- a/src/main/java/com/zy/nc/entity/NccCgCgdhdWms.java
+++ b/src/main/java/com/zy/nc/entity/NccCgCgdhdWms.java
@@ -150,6 +150,11 @@
     private BigDecimal ydzsl;
 
     /**
+     *
+     */
+    private String  vbatchcode;
+
+    /**
      * 
      */
     private BigDecimal ydsl;
diff --git a/src/main/java/com/zy/nc/mapper/NccSaleDbddWmsMapper.java b/src/main/java/com/zy/nc/mapper/NccSaleDbddWmsMapper.java
index cd46698..ba6f913 100644
--- a/src/main/java/com/zy/nc/mapper/NccSaleDbddWmsMapper.java
+++ b/src/main/java/com/zy/nc/mapper/NccSaleDbddWmsMapper.java
@@ -2,18 +2,19 @@
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.nc.entity.NccSaleDbddWms;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 /**
-* @author zc857
-* @description 閽堝琛ㄣ�恘cc_sale_dbdd_wms銆戠殑鏁版嵁搴撴搷浣淢apper
-* @createDate 2025-05-21 16:04:17
-* @Entity com.zy.nc.entity.NccSaleDbddWms
-*/
+ * @author zc857
+ * @description 閽堝琛ㄣ�恘cc_sale_dbdd_wms銆戠殑鏁版嵁搴撴搷浣淢apper
+ * @createDate 2025-05-21 16:04:17
+ * @Entity com.zy.nc.entity.NccSaleDbddWms
+ */
 public interface NccSaleDbddWmsMapper extends BaseMapper<NccSaleDbddWms> {
 
-    List<String> selectDbdd();
+    List<String> selectDbdd(@Param("ids") List<Integer> ids);
 }
 
 
diff --git a/src/main/java/com/zy/nc/mapper/NccScZkmxbWmsMapper.java b/src/main/java/com/zy/nc/mapper/NccScZkmxbWmsMapper.java
index 51aa20c..fc8f93e 100644
--- a/src/main/java/com/zy/nc/mapper/NccScZkmxbWmsMapper.java
+++ b/src/main/java/com/zy/nc/mapper/NccScZkmxbWmsMapper.java
@@ -1,18 +1,21 @@
 package com.zy.nc.mapper;
 
-import com.zy.nc.entity.NccScZkmxbWms;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.nc.entity.NccScZkmxbWms;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 /**
-* @author ZY
-* @description 閽堝琛ㄣ�恘cc_sc_zkmxb_wms銆戠殑鏁版嵁搴撴搷浣淢apper
-* @createDate 2025-05-13 17:50:58
-* @Entity com.zy.nc.entity.NccScZkmxbWms
-*/
+ * @author ZY
+ * @description 閽堝琛ㄣ�恘cc_sc_zkmxb_wms銆戠殑鏁版嵁搴撴搷浣淢apper
+ * @createDate 2025-05-13 17:50:58
+ * @Entity com.zy.nc.entity.NccScZkmxbWms
+ */
 public interface NccScZkmxbWmsMapper extends BaseMapper<NccScZkmxbWms> {
 
 
-    List<String> selectZk();
+    List<String> selectZkOut(@Param("ids") List<Integer> ids);
+
+    List<String> selectZkIn(@Param("ids")List<Integer> ids);
 }
diff --git a/src/main/java/com/zy/nc/service/NccSaleDbddWmsService.java b/src/main/java/com/zy/nc/service/NccSaleDbddWmsService.java
index 3905b64..909b082 100644
--- a/src/main/java/com/zy/nc/service/NccSaleDbddWmsService.java
+++ b/src/main/java/com/zy/nc/service/NccSaleDbddWmsService.java
@@ -6,11 +6,11 @@
 import java.util.List;
 
 /**
-* @author zc857
-* @description 閽堝琛ㄣ�恘cc_sale_dbdd_wms銆戠殑鏁版嵁搴撴搷浣淪ervice
-* @createDate 2025-05-21 16:04:17
-*/
+ * @author zc857
+ * @description 閽堝琛ㄣ�恘cc_sale_dbdd_wms銆戠殑鏁版嵁搴撴搷浣淪ervice
+ * @createDate 2025-05-21 16:04:17
+ */
 public interface NccSaleDbddWmsService extends IService<NccSaleDbddWms> {
 
-    List<String> selectDbdd();
+    List<String> selectDbdd(List<Integer> ids);
 }
diff --git a/src/main/java/com/zy/nc/service/NccScZkmxbWmsService.java b/src/main/java/com/zy/nc/service/NccScZkmxbWmsService.java
index 964a605..abe437b 100644
--- a/src/main/java/com/zy/nc/service/NccScZkmxbWmsService.java
+++ b/src/main/java/com/zy/nc/service/NccScZkmxbWmsService.java
@@ -12,5 +12,7 @@
 */
 public interface NccScZkmxbWmsService extends IService<NccScZkmxbWms> {
 
-    List<String> selectZk();
+    List<String> selectZkOut(List<Integer> ids);
+
+    List<String> selectZkIn(List<Integer> ids);
 }
diff --git a/src/main/java/com/zy/nc/service/impl/NccSaleDbddWmsServiceImpl.java b/src/main/java/com/zy/nc/service/impl/NccSaleDbddWmsServiceImpl.java
index 4a64a24..e907eda 100644
--- a/src/main/java/com/zy/nc/service/impl/NccSaleDbddWmsServiceImpl.java
+++ b/src/main/java/com/zy/nc/service/impl/NccSaleDbddWmsServiceImpl.java
@@ -2,25 +2,24 @@
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.zy.nc.entity.NccSaleDbddWms;
-import com.zy.nc.service.NccSaleDbddWmsService;
 import com.zy.nc.mapper.NccSaleDbddWmsMapper;
+import com.zy.nc.service.NccSaleDbddWmsService;
 import org.springframework.stereotype.Service;
 
-import java.util.Collections;
 import java.util.List;
 
 /**
-* @author zc857
-* @description 閽堝琛ㄣ�恘cc_sale_dbdd_wms銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
-* @createDate 2025-05-21 16:04:17
-*/
+ * @author zc857
+ * @description 閽堝琛ㄣ�恘cc_sale_dbdd_wms銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+ * @createDate 2025-05-21 16:04:17
+ */
 @Service
 public class NccSaleDbddWmsServiceImpl extends ServiceImpl<NccSaleDbddWmsMapper, NccSaleDbddWms>
-    implements NccSaleDbddWmsService{
+        implements NccSaleDbddWmsService {
 
     @Override
-    public List<String> selectDbdd() {
-        return this.baseMapper.selectDbdd();
+    public List<String> selectDbdd(List<Integer> ids) {
+        return this.baseMapper.selectDbdd(ids);
     }
 }
 
diff --git a/src/main/java/com/zy/nc/service/impl/NccScZkmxbWmsServiceImpl.java b/src/main/java/com/zy/nc/service/impl/NccScZkmxbWmsServiceImpl.java
index 552cf0d..4aa7f3f 100644
--- a/src/main/java/com/zy/nc/service/impl/NccScZkmxbWmsServiceImpl.java
+++ b/src/main/java/com/zy/nc/service/impl/NccScZkmxbWmsServiceImpl.java
@@ -18,8 +18,14 @@
 public class NccScZkmxbWmsServiceImpl extends ServiceImpl<NccScZkmxbWmsMapper, NccScZkmxbWms>
 implements NccScZkmxbWmsService{
 
+
     @Override
-    public List<String> selectZk() {
-        return this.baseMapper.selectZk();
+    public List<String> selectZkOut(List<Integer> ids) {
+        return this.baseMapper.selectZkOut(ids);
+    }
+
+    @Override
+    public List<String> selectZkIn(List<Integer> ids) {
+        return this.baseMapper.selectZkIn(ids);
     }
 }
diff --git a/src/main/java/com/zy/nc/task/PlanOrderTask.java b/src/main/java/com/zy/nc/task/PlanOrderTask.java
index 7c29060..5e63857 100644
--- a/src/main/java/com/zy/nc/task/PlanOrderTask.java
+++ b/src/main/java/com/zy/nc/task/PlanOrderTask.java
@@ -5,11 +5,13 @@
 import com.zy.nc.entity.*;
 import com.zy.nc.service.*;
 import com.zy.nc.task.handler.PlanOrderHandler;
+import com.zy.system.service.impl.ConfigServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.util.Arrays;
 import java.util.List;
 
 @Slf4j
@@ -34,6 +36,8 @@
 
     @Autowired
     private NccCkPddWmsService nccCkPddWmsService;
+    @Autowired
+    private ConfigServiceImpl configService;
 
     /**
      * 鍙戣揣
@@ -45,6 +49,9 @@
         List<String> Ids = nccSaleXsfhmxWmsService.selectXsfh();
         for (String id : Ids) {
             List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>().eq("vbillcode", id).ne("wms_flag", 1).eq("fstatusflag", 2));
+            if (wmsFlag == null || wmsFlag.isEmpty()) {
+                return;
+            }
             ReturnT<String> returnT = planOrderHandler.start1(wmsFlag);
             if (!returnT.isSuccess()) {
                 for (NccSaleXsfhmxWms wms : wmsFlag) {
@@ -63,11 +70,17 @@
      * @return
      */
     @Scheduled(cron = "0/3 * * * * ? ")
-    public void execute2() {
-        List<String> strings = nccScZkmxbWmsService.selectZk();
+    public void execute2_1() {
+        //Config wmsFlag1 = configService.selectConfigByCode("wms_flag");
+        List<Integer> ids = Arrays.asList(6101, 6102, 6106, 6110);
+        //String s = "涓�鏈熸垚鍝佸簱-鍐呰锤(绔嬩綋搴�)銆佷竴鏈熸垚鍝佸簱-绂忚幈鍥介檯澶栬锤(绔嬩綋搴�)銆佷竴鏈熸垚鍝佸簱-澶栬喘(绔嬩綋搴�)銆佷竴鏈熸垚鍝佸簱-绂忚揪/宸ュ巶澶栬锤(绔嬩綋搴�)銆佷竴鏈熻緟鏂欏簱-鍖呮潗(绔嬩綋搴�)";
+        List<String> strings = nccScZkmxbWmsService.selectZkIn(ids);
         for (String string : strings) {
             List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1));
-            ReturnT<String> returnT = planOrderHandler.start2(wmsFlag);
+            if (wmsFlag == null || wmsFlag.isEmpty()) {
+                return;
+            }
+            ReturnT<String> returnT = planOrderHandler.start2In(wmsFlag);
             if (!returnT.isSuccess()) {
                 for (NccScZkmxbWms wms : wmsFlag) {
                     wms.setWmsMemo(returnT.getMsg());
@@ -76,7 +89,31 @@
                 log.error(returnT.getMsg());
             }
         }
+    }
 
+    /**
+     * 杞簱
+     *
+     * @return
+     */
+    @Scheduled(cron = "0/3 * * * * ? ")
+    public void execute2_2() {
+        List<Integer> ids = Arrays.asList(6101, 6102, 6106, 6110);
+        List<String> strings = nccScZkmxbWmsService.selectZkOut(ids);
+        for (String string : strings) {
+            List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1));
+            if (wmsFlag == null || wmsFlag.isEmpty()) {
+                return;
+            }
+            ReturnT<String> returnT = planOrderHandler.start2Out(wmsFlag);
+            if (!returnT.isSuccess()) {
+                for (NccScZkmxbWms wms : wmsFlag) {
+                    wms.setWmsMemo(returnT.getMsg());
+                    nccScZkmxbWmsService.updateById(wms);
+                }
+                log.error(returnT.getMsg());
+            }
+        }
     }
 
     /**
@@ -89,6 +126,9 @@
         List<String> strings = nccCgCgdhdWmsService.selectCg();
         for (String string : strings) {
             List<NccCgCgdhdWms> wmsFlag = nccCgCgdhdWmsService.selectList(new EntityWrapper<NccCgCgdhdWms>().eq("vbillcode", string).ne("wms_flag", 1));
+            if (wmsFlag == null || wmsFlag.isEmpty()) {
+                return;
+            }
             ReturnT<String> returnT = planOrderHandler.start3(wmsFlag);
             if (!returnT.isSuccess()) {
                 for (NccCgCgdhdWms wms : wmsFlag) {
@@ -108,9 +148,13 @@
      */
     @Scheduled(cron = "0/3 * * * * ? ")
     public void execute5() {
-        List<String> strings = nccSaleDbddWmsService.selectDbdd();
+        List<Integer> ids = Arrays.asList(6101, 6102, 6106, 6110);
+        List<String> strings = nccSaleDbddWmsService.selectDbdd(ids);
         for (String string : strings) {
             List<NccSaleDbddWms> wmsFlag = nccSaleDbddWmsService.selectList(new EntityWrapper<NccSaleDbddWms>().eq("vbillcode", string).ne("wms_flag", 1));
+            if (wmsFlag == null || wmsFlag.isEmpty()) {
+                return;
+            }
             ReturnT<String> returnT = planOrderHandler.start5(wmsFlag);
             if (!returnT.isSuccess()) {
                 for (NccSaleDbddWms wms : wmsFlag) {
@@ -133,7 +177,7 @@
     public void execute4() {
         List<String> strings = nccCkPddWmsService.selectPdd();
         for (String string : strings) {
-            List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("hdr",0).eq("bdr",0));
+            List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("hdr", 0).eq("bdr", 0));
             ReturnT<String> returnT = planOrderHandler.start4(wmsFlag);
             if (!returnT.isSuccess()) {
                 for (NccCkPddWms wms : wmsFlag) {
diff --git a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
index 7160b6a..e70d467 100644
--- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
+++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -99,16 +99,16 @@
      *
      * @return
      */
-    public ReturnT<String> start2(List<NccScZkmxbWms> wmsFlag) {
+    public ReturnT<String> start2In(List<NccScZkmxbWms> wmsFlag) {
         try {
             OpenOrderPakinParam param = new OpenOrderPakinParam();
-            param.setOrderType("杞簱");
+            param.setOrderType("杞簱-鍏ュ簱");
             DetlDto detlDto;
             List<DetlDto> orderDetails = new ArrayList<>();
             long i = 1;
             for (NccScZkmxbWms nccScZkmxbWms : wmsFlag) {
                 log.info("NccScZkmxbWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
-                if ( nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) {
+                if (nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) {
                     detlDto = new DetlDto();
                     detlDto.setMatnr(nccScZkmxbWms.getWlbm());
                     detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue());
@@ -132,6 +132,43 @@
         return SUCCESS;
     }
 
+    /**
+     * 杞簱锛屽寘鍚嚭搴�
+     *
+     * @return
+     */
+    public ReturnT<String> start2Out(List<NccScZkmxbWms> wmsFlag) {
+        try {
+            OpenOrderPakoutParam param = new OpenOrderPakoutParam();
+            param.setOrderType("杞簱-鍑哄簱");
+            DetlDto detlDto;
+            List<DetlDto> orderDetails = new ArrayList<>();
+            long i = 1;
+            for (NccScZkmxbWms nccScZkmxbWms : wmsFlag) {
+                log.info("NccScZkmxbWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
+                if (nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) {
+                    detlDto = new DetlDto();
+                    detlDto.setMatnr(nccScZkmxbWms.getWlbm());
+                    detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue());
+                    detlDto.setBatch(nccScZkmxbWms.getVbatchcode());
+                    detlDto.setLineNumber(i);
+                    detlDto.setRemark(JSONObject.toJSONString(nccScZkmxbWms));
+                    orderDetails.add(detlDto);
+                    i++;
+                }
+                nccScZkmxbWms.setWmsFlag(1);
+                param.setOrderNo(nccScZkmxbWms.getVbillcode());
+            }
+            param.setOrderDetails(orderDetails);
+            openService.pakoutOrderCreate(param);
+            nccScZkmxbWmsService.updateBatchById(wmsFlag);
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+        return SUCCESS;
+    }
 
     /**
      * 閲囪喘鍒拌揣
@@ -151,6 +188,7 @@
                     detlDto = new DetlDto();
                     detlDto.setMatnr(nccCgCgdhdWms.getWlbm());
                     detlDto.setAnfme(nccCgCgdhdWms.getYdzsl().doubleValue());
+                    detlDto.setBatch(nccCgCgdhdWms.getVbatchcode());
                     detlDto.setLineNumber(i);
                     detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms));
                     orderDetails.add(detlDto);
@@ -214,7 +252,6 @@
     }
 
 
-
     /**
      * 璋冩嫧鍗�
      *
@@ -229,16 +266,14 @@
             long i = 1;
             for (NccSaleDbddWms nccCgCgdhdWms : wmsFlag) {
                 log.info("nccCgCgdhdWms鏁版嵁:{}", JSONObject.toJSON(nccCgCgdhdWms));
-                if (nccCgCgdhdWms.getDr() == 0 ) {
-                    detlDto = new DetlDto();
-                    detlDto.setMatnr(nccCgCgdhdWms.getWlbm());
-                    detlDto.setAnfme(nccCgCgdhdWms.getZsl().doubleValue());
-                    detlDto.setBatch(nccCgCgdhdWms.getVbatchcode());
-                    detlDto.setLineNumber(i);
-                    detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms));
-                    orderDetails.add(detlDto);
-                    i++;
-                }
+                detlDto = new DetlDto();
+                detlDto.setMatnr(nccCgCgdhdWms.getWlbm());
+                detlDto.setAnfme(nccCgCgdhdWms.getZsl().doubleValue());
+                detlDto.setBatch(nccCgCgdhdWms.getVbatchcode());
+                detlDto.setLineNumber(i);
+                detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms));
+                orderDetails.add(detlDto);
+                i++;
                 nccCgCgdhdWms.setWmsFlag(1);
                 param.setOrderNo(nccCgCgdhdWms.getVbillcode());
             }
diff --git a/src/main/java/com/zy/nc/vo/IaIjBill.java b/src/main/java/com/zy/nc/vo/IaIjBill.java
new file mode 100644
index 0000000..4c66758
--- /dev/null
+++ b/src/main/java/com/zy/nc/vo/IaIjBill.java
@@ -0,0 +1,8 @@
+package com.zy.nc.vo;
+
+import lombok.Data;
+
+@Data
+public class IaIjBill {
+    private String pk_org;
+}
diff --git a/src/main/java/com/zy/nc/vo/IaIjBillB.java b/src/main/java/com/zy/nc/vo/IaIjBillB.java
new file mode 100644
index 0000000..14d413a
--- /dev/null
+++ b/src/main/java/com/zy/nc/vo/IaIjBillB.java
@@ -0,0 +1,12 @@
+package com.zy.nc.vo;
+
+import lombok.Data;
+
+@Data
+public class IaIjBillB {
+    private String csrcid;
+    private String cinventoryid;
+    private String nnum;
+    private String cinventoryvid;
+    private String pk_org;
+}
diff --git a/src/main/java/com/zy/nc/vo/ic_generalout_b.java b/src/main/java/com/zy/nc/vo/ic_generalout_b.java
index ee85861..605c180 100644
--- a/src/main/java/com/zy/nc/vo/ic_generalout_b.java
+++ b/src/main/java/com/zy/nc/vo/ic_generalout_b.java
@@ -1,4 +1,16 @@
 package com.zy.nc.vo;
 
+import lombok.Data;
+
+@Data
 public class ic_generalout_b {
+
+    private String materialvid;
+    private Double nshouldassistnum;
+    private String ncostprice;
+    /**
+     * 鎵规鍙�
+     */
+    private String vbatchcode;
+
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f767fb6..fc8bb90 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -101,7 +101,7 @@
   #5.3.鍏朵粬鍏ュ簱鍗曞弬鐓ц浆搴撴柊澧�
   #saveRefWhsTrans: http://ip:port/nccloud/api/ic/generalin/saveRefWhsTrans
   #6.璋冩嫧璁㈠崟鏌ヨ
-  #saveRefWhsTrans: http://ip:port/nccloud/api/ic/generalin/saveRefWhsTrans
+  dbdd: /nccloud/api/ia/ij/operation/save
   #7.鐩樼偣鍗曟煡璇�
   invcount: http://ip:port/nccloud/api/ic/invcount/query
 
diff --git a/src/main/resources/mapper/nc/NccSaleDbddWmsMapper.xml b/src/main/resources/mapper/nc/NccSaleDbddWmsMapper.xml
index 9349a0e..1caf61b 100644
--- a/src/main/resources/mapper/nc/NccSaleDbddWmsMapper.xml
+++ b/src/main/resources/mapper/nc/NccSaleDbddWmsMapper.xml
@@ -60,6 +60,13 @@
     <select id="selectDbdd" resultType="java.lang.String">
         select distinct VBILLCODE
         from ncc_sale_dbdd_wms
-        where wms_flag != 1 and FSTATUSFLAG = 4 and FROWSTATUFLAG = 4 limit 100
+        where (wms_flag is null or wms_flag != 1) and FSTATUSFLAG = 4 and FROWSTATUFLAG = 4 and dr = 0
+        <if test="ids != null">
+            and DCCKBM in
+            <foreach item="id" collection="ids" separator="," open="(" close=")" index="">
+                #{id}
+            </foreach>
+        </if>
+        limit 100
     </select>
 </mapper>
diff --git a/src/main/resources/mapper/nc/NccScZkmxbWmsMapper.xml b/src/main/resources/mapper/nc/NccScZkmxbWmsMapper.xml
index 3bce543..dd9f2c1 100644
--- a/src/main/resources/mapper/nc/NccScZkmxbWmsMapper.xml
+++ b/src/main/resources/mapper/nc/NccScZkmxbWmsMapper.xml
@@ -76,9 +76,29 @@
         DR,TS,wms_flag
     </sql>
 
-    <select id="selectZk" resultType="java.lang.String">
+    <select id="selectZkIn" resultType="java.lang.String">
         select distinct VBILLCODE
         from ncc_sc_zkmxb_wms
-        where wms_flag != 1 and DJZT = 4 limit 100
+        where wms_flag != 1 and DJZT = 4
+        <if test="ids != null">
+            and RKCKBM in
+            <foreach item="id" collection="ids" separator="," open="(" close=")" index="">
+                #{id}
+            </foreach>
+        </if>
+        limit 100
+    </select>
+
+    <select id="selectZkOut" resultType="java.lang.String">
+        select distinct VBILLCODE
+        from ncc_sc_zkmxb_wms
+        where wms_flag != 1 and DJZT = 4
+        <if test="ids != null">
+            and CKCKBM in
+            <foreach item="id" collection="ids" separator="," open="(" close=")" index="">
+                #{id}
+            </foreach>
+        </if>
+        limit 100
     </select>
 </mapper>

--
Gitblit v1.9.1