From 0bedfead3ffe6d2251d7428d772de0a4df6b5201 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 21 七月 2025 15:52:49 +0800
Subject: [PATCH] 1.向mes查询物料 2.入库上报mes

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 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 f5fb2df..b55dbde 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -35,6 +35,8 @@
     private WaitPakinService waitPakinService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private BasDevpService basDevpService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -50,6 +52,7 @@
     private ReturnT<String> doIn(WrkMast wrkMast){
         Date now = new Date();
         LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+        BasDevp basDevp = new BasDevp();
         try {
             if (null == locMast) {
 //                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -74,6 +77,7 @@
                             return FAIL.setMsg("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                         }
                     }
+                    basDevp=basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",100));
                     break;
                 // 鍏ㄦ澘鍏ュ簱
                 case 1:
@@ -116,10 +120,13 @@
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         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(),
-                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -141,6 +148,7 @@
                             return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                         }
                     }
+                    basDevp=basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",200));
                     break;
                 // 鎷f枡鍏ュ簱
                 case 53:
@@ -164,10 +172,13 @@
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         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(),
-                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -289,7 +300,7 @@
                     // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts
                     locMast.setLocSts(locSts);
                     locMast.setBarcode(wrkMast.getBarcode());
-                    locMast.setIoTime(now);
+//                    locMast.setIoTime(now);
                     locMast.setModiTime(now);
                     if (!locMastService.updateById(locMast)) {
 //                        exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -299,6 +310,11 @@
                     break;
                 default:
                     break;
+            }
+            if(!Cools.isEmpty(basDevp)){
+                basDevp.setLoading("N");
+                basDevp.setModiTime(now);
+                basDevpService.update(basDevp,new EntityWrapper<BasDevp>().eq("dev_no",wrkMast.getSourceStaNo()));
             }
             // 淇敼宸ヤ綔涓绘。鐘舵��
             wrkMast.setWrkSts(5L);
@@ -326,6 +342,13 @@
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
             }
+            BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",wrkMast.getStaNo()));
+            if(Cools.isEmpty(basDevp)){
+                return FAIL.setMsg("娌℃湁鎵惧埌璇ュ嚭搴撶珯鐐�; [workNo=" + wrkMast.getWrkNo() + "],[devNo=" + wrkMast.getLocNo() + "]");
+            }
+            basDevp.setLoading("Y");
+            basDevp.setModiTime(now);
+            basDevpService.updateById(basDevp);
             assert locMast != null;
             switch (wrkMast.getIoType()) {
                 // 鍏ㄦ澘鍑哄簱
@@ -344,10 +367,13 @@
                     for (WrkDetl wrkDetl : wrkDetls101) {
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         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(),
-                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -393,6 +419,7 @@
                 default:
                     break;
             }
+
             // 淇敼宸ヤ綔涓绘。鐘舵��
             wrkMast.setWrkSts(15L);
             wrkMast.setModiTime(now);

--
Gitblit v1.9.1