From b06233aa71b70f7a30ff382ae1ba19c29b134d7c Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 28 十一月 2025 15:41:51 +0800
Subject: [PATCH] #库存调整完成

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 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 80f7eb4..5ed6a71 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -19,6 +19,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -56,6 +57,8 @@
     private TaskDetlService taskDetlService;
     @Autowired
     private BasStationServiceImpl basStationService;
+    @Autowired
+    private CheckOrderDetlService checkOrderDetlService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -186,7 +189,6 @@
                     }
                     // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
                     for (WrkDetl wrkDetl : wrkDetls8) {
-
                         LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
                                 , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         if (null != locDetl) {
@@ -356,16 +358,21 @@
                     for (WrkDetl wrkDetl : wrkDetls57) {
                         if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                             // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                            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 (!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())) {
-                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
-                                }
+                            CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectById(wrkDetl.getOrderId());
+                            LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId());
+                            BigDecimal oriAnfme = new BigDecimal(locDetl.getAnfme());
+                            locDetl.setAnfme(checkOrderDetl.getDiffQty()
+                                    .compareTo(BigDecimal.ZERO) == 0 || checkOrderDetl.getDiffQty()
+                                    .compareTo(BigDecimal.ZERO) > 0
+                                    ? oriAnfme.doubleValue()
+                                    : oriAnfme.add(checkOrderDetl.getDiffQty()).doubleValue());
+                            locDetl.setBookQty(oriAnfme);
+                            locDetl.setDiffQty(checkOrderDetl.getDiffQty());
+                            if (!locDetlService.updateById(locDetl)){
+                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撳瓨宸紓鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                             }
+
                         }
                     }
                     // 淇敼搴撲綅鐘舵�� Q ====>> F
@@ -702,7 +709,7 @@
 
         locCache.setLocSts(LocStsType.LOC_STS_TYPE_F.type);
         locCache.setModiTime(new Date());
-        locCache.setBarcode("");
+        locCache.setBarcode(wrkMast.getBarcode());
         locCache.setModiTime(new Date());
         locCache.setIoTime(new Date());
         if (!locCacheService.updateById(locCache)) {

--
Gitblit v1.9.1