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 |  182 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 179 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 cb3ccb5..dbc5388 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -1,10 +1,15 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-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 org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -16,4 +21,175 @@
     public List<OrderDetl> selectByOrderId(Long orderId) {
         return this.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId));
     }
+
+    @Override
+    public Page<OrderDetl> getPakoutPage(Page<OrderDetl> page) {
+        page.setRecords(baseMapper.getPakoutPage(page.getCondition()));
+        page.setTotal(baseMapper.getPakoutPageCount(page.getCondition()));
+        return page;
+    }
+
+    @Override
+    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) {
+        for (OrderDetl orderDetl : orderDetls) {
+            if (orderDetl.getOrderId().equals(orderId) && orderDetl.getMatnr().equals(matnr)) {
+                if (Cools.eq(batch, orderDetl.getBatch())) {
+                    return orderDetl;
+                }
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public boolean increase(Long orderId, String matnr, String batch, Double qty) {
+        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(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
+    public boolean modifyStatus(Long orderId, Integer status) {
+        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;
+    }
+
+    /**
+     * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
+     *
+     * @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.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