From 922990d16284ac3bdb79b7608532905af3228956 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期五, 13 九月 2024 16:40:08 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |  145 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 121 insertions(+), 24 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 3f08146..dbc5388 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -2,11 +2,14 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
-import com.core.common.Cools;
-import com.zy.asrs.mapper.OrderDetlMapper;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.OrderDetlService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.WaitPakin;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.utils.MatCompareUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -31,15 +34,62 @@
         return this.baseMapper.listByOrderNo(orderNo);
     }
 
-    @Override
-    public OrderDetl selectItem(Long orderId, String matnr, String batch) {
-        return this.baseMapper.selectItem(orderId, matnr, batch);
-    }
-
-    @Override
-    public OrderDetl selectItem(String orderNo, String matnr, String batch) {
-        return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
-    }
+//    @Override
+//    public OrderDetl selectItem(Long orderId, String matnr, String batch, Double qty) {
+//        List<OrderDetl> detlList = this.baseMapper.selectItem(orderId, matnr, batch);
+//        if (detlList == null || detlList.isEmpty()) {
+//            return null;
+//        } else if (detlList.size() == 1) {
+//            return detlList.get(0);
+//        } else {
+//            if (qty != null) {
+//                for (OrderDetl orderDetl : detlList) {
+//                    if (qty.equals(orderDetl.getAnfme())) {
+//                        return orderDetl;
+//                    }
+//                }
+//            }
+//            return detlList.get(0);
+//        }
+//    }
+//
+//    @Override
+//    public OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty) {
+//        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
+//        if (detlList == null || detlList.isEmpty()) {
+//            return null;
+//        } else if (detlList.size() == 1) {
+//            return detlList.get(0);
+//        } else {
+//            if (qty != null) {
+//                for (OrderDetl orderDetl : detlList) {
+//                    if (!orderDetl.getQty().equals(orderDetl.getWorkQty()) && qty.equals(orderDetl.getAnfme())) {
+//                        return orderDetl;
+//                    }
+//                }
+//            }
+//            return detlList.get(0);
+//        }
+//    }
+//
+//    @Override
+//    public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) {
+//        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
+//        if (detlList == null || detlList.isEmpty()) {
+//            return null;
+//        } else if (detlList.size() == 1) {
+//            return detlList.get(0);
+//        } else {
+//            if (qty != null) {
+//                for (OrderDetl orderDetl : detlList) {
+//                    if (qty.equals(orderDetl.getAnfme())) {
+//                        return orderDetl;
+//                    }
+//                }
+//            }
+//            return detlList.get(0);
+//        }
+//    }
 
     @Override
     public OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch) {
@@ -58,14 +108,45 @@
         return this.baseMapper.increase(orderId, matnr, batch, qty) > 0;
     }
 
+    //    @Override
+//    public boolean decrease(String orderNo, String matnr, String batch, Double qty) {
+//        int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty);
+//        if (decrease == 0) {
+//            return this.baseMapper.decrease(orderNo, matnr, null, qty) > 0;
+//        } else {
+//            return true;
+//        }
+//    }
     @Override
-    public boolean decrease(String orderNo, String matnr, String batch, Double qty) {
-        int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty);
-        if (decrease == 0) {
-            return this.baseMapper.decrease(orderNo, matnr, null, qty) > 0;
-        } else {
-            return true;
+    public boolean decrease(WrkDetl wrkDetl, Double qty) {
+        List<OrderDetl> detlList = selectItem(wrkDetl.getOrderNo());
+        for (OrderDetl orderDetl : detlList) {
+            if (MatCompareUtils.compare(orderDetl, wrkDetl)) {
+                int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
+                if (decrease == 0) {
+                    return false;
+                } else {
+                    return true;
+                }
+            }
         }
+        return false;
+    }
+
+    @Override
+    public boolean decrease(WaitPakin waitPakin, Double qty) {
+        List<OrderDetl> detlList = selectItem(waitPakin.getOrderNo());
+        for (OrderDetl orderDetl : detlList) {
+            if (MatCompareUtils.compare(orderDetl, waitPakin)) {
+                int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
+                if (decrease == 0) {
+                    return false;
+                } else {
+                    return true;
+                }
+            }
+        }
+        return false;
     }
 
     @Override
@@ -85,14 +166,30 @@
 
     /**
      * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
-     * @param orderId
-     * @param matnr
-     * @param batch
+     *
+     * @param orderDetl
      * @param workQty
      * @return
      */
     @Override
-    public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) {
-        return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0;
+    public boolean increaseWorkQty(OrderDetl orderDetl, Double workQty) {
+        return this.baseMapper.increaseWorkQty(orderDetl.getId(), workQty) > 0;
+    }
+
+    @Override
+    public OrderDetl selectItem(WaitPakin waitPakin) {
+        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getOrderNo(), waitPakin.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(waitPakin, orderDetl)) {
+                    return orderDetl;
+                }
+            }
+            return null;
+        }
     }
 }

--
Gitblit v1.9.1