From c5b204d0e0d9c0acfe268f8a895c16599ec3ca78 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 16 三月 2026 16:06:10 +0800
Subject: [PATCH] 单据出库完成,没有更新订单完成数量,日志埋点

---
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 59c940c..be91214 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -11,11 +11,13 @@
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.utils.MatCompareUtils;
 import com.zy.common.model.LocDto;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 @Service("orderDetlService")
+@Slf4j
 public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
 
     @Override
@@ -139,6 +141,11 @@
         List<OrderDetl> detlList = selectItem(waitPakin.getOrderNo());
         for (OrderDetl orderDetl : detlList) {
             if (MatCompareUtils.compare(orderDetl, waitPakin)) {
+                Double workQty = orderDetl.getWorkQty();
+                //闃叉鍑忔垚璐熸暟
+                if (workQty - qty <= 0) {
+                    qty = workQty;
+                }
                 int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
                 if (decrease == 0) {
                     return false;
@@ -160,10 +167,28 @@
         return this.baseMapper.addToLogTable(orderDetl) > 0;
     }
 
+//    @Override
+//    public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty) {
+//        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0;
+//    }
+
     @Override
-    public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty) {
-        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0;
+    public boolean increaseQtyByOrderNo(String orderNo, WrkDetl wrkDetl, Double qty) {
+        List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo);
+        if (detlList == null || detlList.isEmpty()) {
+            return false;
+        }
+        for (OrderDetl orderDetl : detlList) {
+            if (MatCompareUtils.compare(orderDetl, wrkDetl)) {
+                log.info("鏇存柊璁㈠崟瀹屾垚鏁伴噺锛氳鍗曞彿锛歿},璁㈠崟鏄庣粏id:{}锛屾暟閲忥細{}", orderNo,orderDetl.getId(), qty);
+                return this.baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0;
+            } else {
+                log.error("鏇存柊璁㈠崟瀹屾垚鏁伴噺锛屾湁涓嶄竴鑷村瓧娈碉紝璁㈠崟鍙凤細{}", orderDetl.getOrderNo());
+            }
+        }
+        return false;
     }
+
 
     /**
      * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
@@ -227,4 +252,32 @@
             return null;
         }
     }
+
+    @Override
+    public boolean increaseWorkQtyByOrderNo(String orderNo, OrderDetl orderDetl, Double workQty) {
+        List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo);
+        if (detlList == null || detlList.isEmpty()) {
+            return false;
+        }
+        for (OrderDetl orderDetl1 : detlList) {
+            if (MatCompareUtils.compare(orderDetl1, orderDetl)) {
+                return baseMapper.increaseWorkQty(orderDetl.getId(), workQty) > 0;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public boolean increaseQtyByOrderNo1(String orderNo, OrderDetl orderDetl, Double qty) {
+        List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo);
+        if (detlList == null || detlList.isEmpty()) {
+            return false;
+        }
+        for (OrderDetl orderDetl1 : detlList) {
+            if (MatCompareUtils.compare(orderDetl1, orderDetl)) {
+                return baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0;
+            }
+        }
+        return false;
+    }
 }

--
Gitblit v1.9.1