From 9268cd77b4e864b901a8b0bf965f441f2e8c4fbd Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期日, 04 一月 2026 08:06:14 +0800
Subject: [PATCH] #1

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |  136 +++++++++++++++++++++++----------------------
 1 files changed, 70 insertions(+), 66 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 0e4e5b4..09452fd 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -139,7 +139,7 @@
                     // 淇敼搴撲綅鐘舵�� S ====>> F
                     if (locMast.getLocSts().equals("S")) {
                         locMast.setLocSts("F");
-                        locMast.setBarcode(wrkMast.getBarcode());
+//                        locMast.setBarcode(wrkMast.getBarcode());
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
@@ -160,16 +160,18 @@
                     }
                     for (WrkDetl wrkDetl : wrkDetls53) {
 
-                        LocDetl locDetl = new LocDetl();
-                        locDetl.sync(wrkDetl);
-                        locDetl.setAnfme(wrkDetl.getPrice()-wrkDetl.getAnfme());//鏁伴噺
-                        locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
-                        locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
-                        locDetl.setModiTime(now);
-                        locDetl.setAppeTime(now);
-                        locDetl.setPrice(0.0);
-                        if (null != locDetl) {
-                            if (!locDetlService.insert(locDetl)) {
+                        LocDetl locDetl1 = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+//                        LocDetl locDetl = new LocDetl();
+//                        locDetl.sync(wrkDetl);
+//                        locDetl.setAnfme(wrkDetl.getPrice()-wrkDetl.getAnfme());//鏁伴噺
+//                        locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
+//                        locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+//                        locDetl.setModiTime(now);
+//                        locDetl.setAppeTime(now);
+//                        locDetl.setPrice(0.0);
+                        if (null != locDetl1) {
+//                            if (!locDetlService.insert(locDetl)) {
+                              if (!locDetlService.updateAnfme(locDetl1.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
 //                                exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -195,9 +197,9 @@
 
                     }
                     // 淇敼搴撲綅鐘舵�� Q ====>> F
-                    if (locMast.getLocSts().equals("S")) {
+                    if (locMast.getLocSts().equals("Q")) {
                         locMast.setLocSts("F");
-                        locMast.setBarcode(wrkMast.getBarcode());
+//                        locMast.setBarcode(wrkMast.getBarcode());
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
@@ -231,7 +233,7 @@
                             locDetl.sync(wrkDetl);
                             locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
                             locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
-                            locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+//                            locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
                             locDetl.setModiTime(now);
                             locDetl.setAppeTime(now);
                             if (!locDetlService.insert(locDetl)) {
@@ -244,7 +246,7 @@
                     // 淇敼搴撲綅鐘舵�� Q ====>> F
                     if (locMast.getLocSts().equals("Q")) {
                         locMast.setLocSts("F");
-                        locMast.setBarcode(wrkMast.getBarcode());
+//                        locMast.setBarcode(wrkMast.getBarcode());
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
@@ -263,27 +265,29 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                     }
-                    for (WrkDetl wrkDetl:wrkDetls57){
-                        LocDetl locDetl = new LocDetl();
-                        locDetl.sync(wrkDetl);
-                        locDetl.setAnfme(wrkDetl.getAnfme());//鏁伴噺
-                        locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
-                        locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
-                        locDetl.setModiTime(now);
-                        locDetl.setAppeTime(now);
-                        locDetl.setPrice(0.0);
-                        if (null != locDetl) {
-                            if (!locDetlService.insert(locDetl)) {
+//                    for (WrkDetl wrkDetl:wrkDetls57){
+//                        LocDetl locDetl1 = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+//                        LocDetl locDetl = new LocDetl();
+//                        locDetl.sync(wrkDetl);
+//                        locDetl.setAnfme(wrkDetl.getAnfme());//鏁伴噺
+//                        locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
+//                        locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+//                        locDetl.setModiTime(now);
+//                        locDetl.setAppeTime(now);
+//                        locDetl.setPrice(0.0);
+//                        if (null != locDetl1) {
+//                            if (!locDetlService.insert(locDetl)) {
+//                            if (!locDetlService.updateAnfme(locDetl1.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
 //                                exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
-                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
-                            }
-                        }
-                    }
+//                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                                return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+//                            }
+//                        }
+//                    }
                     // 淇敼搴撲綅鐘舵�� S ====>> F
-                    if (locMast.getLocSts().equals("S")) {
-                        locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D");
-                        locMast.setBarcode(wrkMast.getBarcode());
+                    if (locMast.getLocSts().equals("Q")) {
+                        locMast.setLocSts("F");
+//                        locMast.setBarcode(wrkMast.getBarcode());
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
@@ -310,7 +314,7 @@
                     // 淇敼婧愬簱浣嶇姸鎬� ==> O
                     LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
                     if (null != sourceLoc) {
-                        sourceLoc.setBarcode("");
+//                        sourceLoc.setBarcode("");
                         sourceLoc.setLocSts("O");
                         sourceLoc.setModiTime(now);
                         sourceLoc.setIoTime(now);
@@ -322,7 +326,7 @@
                     }
                     // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts
                     locMast.setLocSts(locSts);
-                    locMast.setBarcode(wrkMast.getBarcode());
+//                    locMast.setBarcode(wrkMast.getBarcode());
                     locMast.setIoTime(now);
                     locMast.setModiTime(now);
                     if (!locMastService.updateById(locMast)) {
@@ -402,7 +406,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)) {
@@ -419,7 +423,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)) {
@@ -434,34 +438,34 @@
                     //鎷f枡鍜岀洏鐐瑰嚭搴�
                 case 103:
                 case 107:
-                    if (locMast.getLocSts().equals("P")) {
-                        locMast.setLocSts("O");
-                        locMast.setBarcode("");
-                        locMast.setModiTime(now);
-                        locMast.setIoTime(now);
-                        if (!locMastService.updateById(locMast)) {
-//                            exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
-                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("鎷f枡鍜岀洏鐐瑰嚭搴� ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
-                        }
-                        wrkMast.setWrkSts(16L);//绛夊緟鍏ュ簱
-                        // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-                        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
-                            exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
-                        }
-                        if(!wrkMast.getEmptyMk().equals("Y")) {
-                            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-                            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
-                                exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
-                            }
-                        }
-                        // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
-                        if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
-//                        exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
-                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("鎷f枡鐩樼偣鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
-                        }
-                    }
+//                    if (locMast.getLocSts().equals("P")) {
+//                        locMast.setLocSts("O");
+//                        locMast.setBarcode("");
+//                        locMast.setModiTime(now);
+//                        locMast.setIoTime(now);
+//                        if (!locMastService.updateById(locMast)) {
+////                            exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+//                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                            return FAIL.setMsg("鎷f枡鍜岀洏鐐瑰嚭搴� ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+//                        }
+//                        wrkMast.setWrkSts(14L);//绛夊緟鍏ュ簱
+//                        // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+//                        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+//                            exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                        }
+//                        if(!wrkMast.getEmptyMk().equals("Y")) {
+//                            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+//                            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
+//                                exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                            }
+//                        }
+//                        // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
+//                        if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
+////                        exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+//                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                            return FAIL.setMsg("鎷f枡鐩樼偣鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+//                        }
+//                    }
                     break;
                 default:
                     break;

--
Gitblit v1.9.1