From d2b0cd7ae27bb7ea24549d6930a53cbb27c6e44a Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期日, 08 三月 2026 19:55:34 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
index 41aec3b..a56dfcd 100644
--- a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -52,6 +52,8 @@
     private LocDetlService locDetlService;
     @Autowired
     private RowLastnoService rowLastnoService;
+    @Autowired
+    private OrderDetlPakoutService orderDetlPakoutService ;
 
     /**
      * 閫氱煡WCS閿佸畾搴撲綅锛屽強绂佹褰撳墠搴撲綅鐨勪竴鍒囨搷浣�
@@ -186,20 +188,48 @@
             throw new CoolException("浠诲姟妗d笉瀛樺湪锛侊紒");
         }
         log.info("浠诲姟鎵ц鍙傛暟鍥炲啓:{}", JSON.toJSONString(params));
-        if (params.getNotifyType().equals("task")) {
-            //浠诲姟
-            if (params.getMsgType().equals("task_complete")  || params.getMsgType().equals("station_out_task_run")) {
-                if (mast.getIoType() == 1 || mast.getIoType() == 11 || mast.getIoType() == 10 || mast.getIoType() == 53 || mast.getIoType() == 54 || mast.getIoType() == 57) {
-                    mast.setWrkSts(4L);
-                } else if (mast.getIoType() == 101 || mast.getIoType() == 110 || mast.getIoType() == 103 || mast.getIoType() == 104  || mast.getIoType() == 107) {
-                    mast.setWrkSts(14L);
+        if (params.getMsgType().equals("task_complete") || params.getMsgType().equals("station_out_task_run_complete") || params.getMsgType().equals("station_out_task_run")) {
+            if (mast.getIoType() == 1 || mast.getIoType() == 11 || mast.getIoType() == 10 || mast.getIoType() == 53 || mast.getIoType() == 54 || mast.getIoType() == 57) {
+                mast.setWrkSts(4L);
+            } else if (mast.getIoType() == 101 || mast.getIoType() == 110 || mast.getIoType() == 103 || mast.getIoType() == 104 || mast.getIoType() == 107) {
+                //TODO 鎭㈠姝e父鍚庯紝杩欓噷浠g爜瑕佹敞閲婃帀
+                if (mast.getIoType() == 103  || mast.getIoType() == 107) {
+                    List<WrkDetl> wrkDetls103 = wrkDetlService
+                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", mast.getWrkNo()));
+                    if (wrkDetls103.isEmpty()) {
+                        throw new CoolException("鎷f枡鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + mast.getWrkNo());
+                    }
+                    for (WrkDetl wrkDetl : wrkDetls103) {
+                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
+                                wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        if (orderDetlPakout == null) {
+                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
+                                    wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                    wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        }
+                        if (!Cools.isEmpty(orderDetlPakout)) {
+                            if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
+                                    wrkDetl.getMatnr(),
+                                    orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                    wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+                                    wrkDetl.getAnfme())) {
+                                throw new CoolException("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + mast.getWrkNo());
+                            }
+                        }
+                    }
                 }
-                if (!wrkMastService.updateById(mast)) {
-                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-                }
-            } else if (params.getMsgType().equals("task_cancel")) {
-                //todo 鍙栨秷浠诲姟
+                mast.setWrkSts(14L);
             }
+            if (!wrkMastService.updateById(mast)) {
+                throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+            }
+        } else if (params.getMsgType().equals("task_cancel")) {
+            //todo 鍙栨秷浠诲姟
         }
         return R.ok();
     }

--
Gitblit v1.9.1