From 79212464615ddb8acba8cbbef72ac5b69887e046 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期五, 11 十月 2024 17:11:20 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |  212 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 202 insertions(+), 10 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 5a3dc21..548f49c 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -1,11 +1,16 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-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.plugins.Page;
 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 com.zy.common.model.LocDto;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -19,14 +24,73 @@
     }
 
     @Override
-    public OrderDetl selectItem(Long orderId, String matnr, String batch) {
-        return this.baseMapper.selectItem(orderId, matnr, batch);
+    public Page<OrderDetl> getPakoutPage(Page<OrderDetl> page) {
+        page.setRecords(baseMapper.getPakoutPage(page.getCondition()));
+        page.setTotal(baseMapper.getPakoutPageCount(page.getCondition()));
+        return page;
     }
 
     @Override
-    public OrderDetl selectItem(String orderNo, String matnr, String batch) {
-        return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
+    public List<OrderDetl> selectItem(String orderNo) {
+        return this.baseMapper.listByOrderNo(orderNo);
     }
+
+//    @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) {
@@ -45,9 +109,50 @@
         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) {
-        return this.baseMapper.decrease(orderNo, matnr, batch, qty) > 0;
+    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)) {
+                Double workQty = orderDetl.getWorkQty();
+                //闃叉鍑忔垚璐熸暟
+                if (workQty - qty <= 0) {
+                    qty = workQty;
+                }
+                int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
+                if (decrease == 0) {
+                    return false;
+                } else {
+                    return true;
+                }
+            }
+        }
+        return false;
     }
 
     @Override
@@ -55,4 +160,91 @@
         return this.baseMapper.modifyStatus(orderId, status) > 0;
     }
 
+    @Override
+    public boolean addToLogTable(OrderDetl orderDetl) {
+        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, 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;
+    }
+
+
+    /**
+     * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
+     *
+     * @param orderDetl
+     * @param workQty
+     * @return
+     */
+    @Override
+    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.getMatnr(), 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;
+        }
+    }
+
+    @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