From 437430655faafbedabd32e00871e7accea02fa42 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期六, 18 十月 2025 09:12:06 +0800
Subject: [PATCH] 联调

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   90 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 71 insertions(+), 19 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 9a59772..bd61ed2 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
@@ -35,6 +36,8 @@
     private WaitPakinService waitPakinService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private InOutService inOutService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -62,8 +65,18 @@
                 case 10:
                     // 淇敼搴撲綅鐘舵��=D
                     if (locMast.getLocSts().equals("S") || locMast.getLocSts().equals("Q")) {
-                        if (!Cools.isEmpty(wrkMast.getBarcode())) {
-                            locMast.setBarcode(wrkMast.getBarcode());
+                        if (Cools.isEmpty(wrkMast.getBarcode())) {
+                            throw new CoolException("绌烘澘鍏ュ簱鏉$爜涓嶈兘涓虹┖");
+                        }
+                        locMast.setBarcode(wrkMast.getBarcode());
+                        if (Integer.parseInt(wrkMast.getBarcode().substring(0,1))==5){
+                            locMast.setLocType2((short)5);
+                        }else if (Integer.parseInt(wrkMast.getBarcode().substring(0,1))==6){
+                            locMast.setLocType2((short)6);
+                        }else if(Integer.parseInt(wrkMast.getBarcode().substring(0,1))==7){
+                            locMast.setLocType2((short)7);
+                        }else if(Integer.parseInt(wrkMast.getBarcode().substring(0,1))==8){
+                            locMast.setLocType2((short)8);
                         }
                         locMast.setLocSts("D");
                         locMast.setIoTime(now);
@@ -92,9 +105,9 @@
                     // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
                     for (WrkDetl wrkDetl : wrkDetls) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl);
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl)) {
 //                                exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -107,6 +120,16 @@
                             locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
                             locDetl.setModiTime(now);
                             locDetl.setAppeTime(now);
+
+                            InOut inOut=inOutService.selectByMatnr(wrkDetl.getMatnr());
+                            if (inOut != null){
+                                inOut.setTemp1("鍦ㄥ簱");
+                                inOut.setModiTime(now.toString());
+                            }
+                            if (inOutService.updateById(inOut)){
+                                return FAIL.setMsg("鏇存柊妯″叿灞炴�уけ璐�");
+                            }
+
                             if (!locDetlService.insert(locDetl)) {
 //                                exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -119,8 +142,7 @@
 
                         try {
                             if (!Cools.isEmpty(orderDetl)) {
-                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl, wrkDetl.getAnfme())) {
 //                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -155,12 +177,21 @@
                     }
                     for (WrkDetl wrkDetl : wrkDetls53) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                        if (null == locDetl) {
-                            locDetl = locDetlService.selectItem2(locMast.getLocNo(), wrkDetl.getMatnr());
-                        }
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl);
+
                         if (locDetl != null) {
-                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+
+                            InOut inOut=inOutService.selectByMatnr(wrkDetl.getMatnr());
+                            if (inOut != null){
+                                inOut.setTemp1("涓嶅湪搴�");
+//                                inOut.setModiTime(now.toString());
+                            }
+                            if (inOutService.updateById(inOut)){
+                                return FAIL.setMsg("鏇存柊妯″叿灞炴�уけ璐�");
+                            }
+
+
+                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl)) {
 //                                exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -173,8 +204,7 @@
 
                         try {
                             if (!Cools.isEmpty(orderDetl)) {
-                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl, wrkDetl.getAnfme())) {
 //                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -210,14 +240,24 @@
                     // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
                     for (WrkDetl wrkDetl : wrkDetls54) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl);
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl)) {
 //                                exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                             }
                         } else {
+
+                            InOut inOut=inOutService.selectByMatnr(wrkDetl.getMatnr());
+                            if (inOut != null){
+                                inOut.setTemp1("鍦ㄥ簱");
+//                                inOut.setModiTime(now.toString());
+                            }
+                            if (inOutService.updateById(inOut)){
+                                return FAIL.setMsg("鏇存柊妯″叿灞炴�уけ璐�");
+                            }
+
                             locDetl = new LocDetl();
                             locDetl.sync(wrkDetl);
                             locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
@@ -349,14 +389,25 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                     }
+
+                    for (WrkDetl wrkDetl : wrkDetls101) {
+                        InOut inOut=inOutService.selectByMatnr(wrkDetl.getMatnr());
+                        if (inOut != null){
+                            inOut.setTemp1("涓嶅湪搴�");
+//                            inOut.setModiTime(now.toString());
+                        }
+                        if (inOutService.updateById(inOut)){
+                            return FAIL.setMsg("鏇存柊妯″叿灞炴�уけ璐�");
+                        }
+                    }
+
                     for (WrkDetl wrkDetl : wrkDetls101) {
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl);
 
                         try {
                             if (!Cools.isEmpty(orderDetl)) {
-                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl, wrkDetl.getAnfme())) {
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -375,7 +426,7 @@
                     // 淇敼婧愬簱浣嶇姸鎬� R ===>> O
                     if (locMast.getLocSts().equals("R")) {
                         locMast.setLocSts("O");
-                        locMast.setBarcode("");
+                        locMast.setBarcode("");//鎵樼洏涓庡簱浣嶇粦瀹�
                         locMast.setModiTime(now);
                         locMast.setIoTime(now);
                         if (!locMastService.updateById(locMast)) {
@@ -390,7 +441,8 @@
                     // 淇敼搴撲綅鐘舵�� R ===>> O
                     if (locMast.getLocSts().equals("R")) {
                         locMast.setLocSts("O");
-                        locMast.setBarcode("");
+                        locMast.setBarcode("");//鎵樼洏涓庡簱浣嶇粦瀹�
+                        locMast.setLocType2((short)0);
                         locMast.setModiTime(now);
                         locMast.setIoTime(now);
                         if (!locMastService.updateById(locMast)) {

--
Gitblit v1.9.1