From 9052fef232f56eb878d7cf8360a09a11e6a0fe2f Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 06 六月 2025 10:48:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 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 dbc5388..548f49c 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -10,6 +10,7 @@
 import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.utils.MatCompareUtils;
+import com.zy.common.model.LocDto;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -138,6 +139,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;
@@ -159,10 +165,25 @@
         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)) {
+                return this.baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0;
+            }
+        }
+        return false;
     }
+
 
     /**
      * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
@@ -178,7 +199,7 @@
 
     @Override
     public OrderDetl selectItem(WaitPakin waitPakin) {
-        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getOrderNo(), waitPakin.getBatch());
+        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch());
         if (detlList == null || detlList.isEmpty()) {
             return null;
         } else if (detlList.size() == 1) {
@@ -192,4 +213,38 @@
             return null;
         }
     }
+
+    @Override
+    public OrderDetl selectItem(LocDto locDto) {
+        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+        if (detlList == null || detlList.isEmpty()) {
+            return null;
+        } else if (detlList.size() == 1) {
+            return detlList.get(0);
+        } else {
+            for (OrderDetl orderDetl : detlList) {
+                if (MatCompareUtils.compare(locDto, orderDetl)) {
+                    return orderDetl;
+                }
+            }
+            return null;
+        }
+    }
+
+    @Override
+    public OrderDetl selectItem(WrkDetl wrkDetl) {
+        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+        if (detlList == null || detlList.isEmpty()) {
+            return null;
+        } else if (detlList.size() == 1) {
+            return detlList.get(0);
+        } else {
+            for (OrderDetl orderDetl : detlList) {
+                if (MatCompareUtils.compare(wrkDetl, orderDetl)) {
+                    return orderDetl;
+                }
+            }
+            return null;
+        }
+    }
 }

--
Gitblit v1.9.1