From 9360e541fb38bca1ae9d1f981eb3ada729671c37 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 15 九月 2025 14:46:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   54 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 47 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 1961f9c..17e0d02 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -6,7 +6,6 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.BasDevpMapper;
 import com.zy.asrs.service.*;
-import com.zy.asrs.service.impl.ManLocDetlServiceImpl;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import lombok.extern.slf4j.Slf4j;
@@ -47,10 +46,11 @@
 
     private static final Map<Integer,Integer> sourceSite = new HashMap<>();
     static {
-        sourceSite.put(1041,1040);sourceSite.put(1042,1040);
-        sourceSite.put(2011,2010);sourceSite.put(2012,2010);
-        sourceSite.put(2001,2000);sourceSite.put(2002,2000);
-        sourceSite.put(3011,3010);sourceSite.put(3010,1040);
+        sourceSite.put(1041,1040);sourceSite.put(1042,1040);sourceSite.put(1040,1040);
+        sourceSite.put(2011,2010);sourceSite.put(2012,2010);sourceSite.put(2010,2010);
+        sourceSite.put(2001,2000);sourceSite.put(2002,2000);sourceSite.put(2000,2000);
+        sourceSite.put(3011,3010);sourceSite.put(3010,1040);sourceSite.put(3012,3010);
+
     }
 
     public ReturnT<String> start(WrkMast wrkMast) {
@@ -85,7 +85,6 @@
             }
             assert locMast != null;
         }
-
         try {
 
             switch (wrkMast.getIoType()) {
@@ -426,8 +425,10 @@
             if (sourceSite.get(sourceStaNo) != null) {
                 BasDevpMapper basDevpMapper = SpringUtils.getBean(BasDevpMapper.class);
                 BasDevp basDevp = basDevpMapper.selectById(sourceSite.get(sourceStaNo));
-                basDevp.setInQty(basDevp.getInQty() -1);
+                basDevp.setInQty(Math.max(basDevp.getInQty() - 1, 0));
                 basDevpMapper.updateById(basDevp);
+
+                log.info("鍏ュ簱浠诲姟瀹屾垚锛�"+basDevp.getDevNo()+"-1");
             }
 
             // 淇敼宸ヤ綔涓绘。鐘舵��
@@ -451,6 +452,24 @@
         Date now = new Date();
         LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
         try {
+            Node node = null;
+            if (wrkMast.getIoType() == 301){
+                node = nodeService.selectOne(new EntityWrapper<Node>().eq("name",wrkMast.getSourceLocNo()).eq("type",3));
+                if (null == node) {
+//                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]");
+                }
+                assert node != null;
+            }else {
+                locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+                if (null == locMast) {
+//                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]");
+                }
+                assert locMast != null;
+            }
             if (null == locMast) {
 //                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -523,6 +542,27 @@
                         }
                     }
                     break;
+                case 301:
+                    List<WrkDetl> wrkDetls301 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                    for (WrkDetl wrkDetl : wrkDetls301) {
+                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if (orderDetl==null){
+                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        }
+                        try {
+                            if(!Cools.isEmpty(orderDetl)){
+                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
+//                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                                }
+                            }
+                        } catch (Exception ignore){}
+                    }
+                    break;
                 default:
                     break;
             }

--
Gitblit v1.9.1