From c635d78b479510ebe2556a420948effcd30a0731 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 21 十二月 2024 18:40:43 +0800
Subject: [PATCH] 新建德森项目分支

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java |  583 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 298 insertions(+), 285 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
index 1db9f8b..302f67a 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
@@ -1,285 +1,298 @@
-package com.zy.asrs.wms.asrs.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zy.asrs.framework.common.Cools;
-import com.zy.asrs.framework.exception.CoolException;
-import com.zy.asrs.wms.asrs.entity.*;
-import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
-import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam;
-import com.zy.asrs.wms.asrs.entity.param.UpdateOrderParam;
-import com.zy.asrs.wms.asrs.mapper.OrderMapper;
-import com.zy.asrs.wms.asrs.service.*;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zy.asrs.wms.utils.OrderUtils;
-import com.zy.asrs.wms.utils.Utils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-
-@Service("orderService")
-public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
-
-    @Autowired
-    private MatService matService;
-    @Autowired
-    private MatFieldService matFieldService;
-    @Autowired
-    private OrderDetlService orderDetlService;
-    @Autowired
-    private OrderDetlFieldService orderDetlFieldService;
-    @Autowired
-    private OrderNoRuleService orderNoRuleService;
-    @Autowired
-    private OrderUtils orderUtils;
-
-    @Override
-    @Transactional
-    public boolean createOrder(List<CreateOrderParam> list) {
-        for (CreateOrderParam orderParam : list) {
-            createOrder(orderParam);
-        }
-        return true;
-    }
-
-    @Override
-    @Transactional
-    public boolean createOrder(CreateOrderParam param) {
-        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
-        List<Order> orderList = this.list(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.getOrderNo()));
-        if (!orderList.isEmpty()) {
-            throw new CoolException("璁㈠崟宸插瓨鍦�");
-        }
-
-        String orderNo = param.getOrderNo();
-        if (Cools.isEmpty(param.getOrderNo())) {
-            orderNo = orderNoRuleService.getOrderNo(param.getOrderType().intValue());
-        }
-
-        Order order = new Order();
-        order.setOrderNo(orderNo);
-        order.setOrderType(param.getOrderType());
-        order.setOrderSettle(OrderSettleType.INIT.val());
-        order.setIoPri(orderUtils.getIoPri());
-        order.setOrderTime(format.format(new Date()));
-        order.setCreateTime(new Date());
-        order.setCreateBy(9527L);
-        boolean result = this.save(order);
-        if (!result) {
-            throw new CoolException("鐢熸垚璁㈠崟澶辫触");
-        }
-
-        for (HashMap<String, Object> map : param.getList()) {
-            double anfme = Double.parseDouble(map.get("anfme").toString());
-            String batch = map.get("batch").toString();
-            String matnr = map.get("matnr").toString();
-            Double qty = 0D;
-            Double workQty = 0D;
-            if (map.containsKey("qty")) {
-                qty = Double.parseDouble(map.get("qty").toString());
-            }
-            if (map.containsKey("workQty")) {
-                workQty = Double.parseDouble(map.get("workQty").toString());
-            }
-            String memo = map.getOrDefault("memo", "").toString();
-            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
-            if (mat == null) {
-                throw new CoolException(matnr + "鐗╂枡涓嶅瓨鍦�");
-            }
-
-            OrderDetl orderDetl = new OrderDetl();
-            orderDetl.setOrderId(order.getId());
-            orderDetl.setOrderNo(order.getOrderNo());
-            orderDetl.setAnfme(anfme);
-            orderDetl.setQty(qty);
-            orderDetl.setWorkQty(workQty);
-            orderDetl.setBatch(batch);
-            orderDetl.setMatId(mat.getId());
-            orderDetl.setMemo(memo);
-            orderDetl.setCreateTime(new Date());
-            orderDetl.setCreateBy(9527L);
-            boolean save = orderDetlService.save(orderDetl);
-            if (!save) {
-                throw new CoolException("璁㈠崟鏄庣粏鍒涘缓澶辫触");
-            }
-
-            //鑾峰彇鎵╁睍瀛楁
-            List<MatField> matFields = matFieldService.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1));
-            for (MatField matField : matFields) {
-                if (map.containsKey(matField.getName())) {
-                    OrderDetlField fieldValue = new OrderDetlField();
-                    fieldValue.setDetlId(orderDetl.getId());
-                    fieldValue.setFieldId(matField.getId());
-                    fieldValue.setName(matField.getName());
-                    fieldValue.setValue(map.get(matField.getName()).toString());
-                    boolean save1 = orderDetlFieldService.save(fieldValue);
-                    if (!save1) {
-                        throw new CoolException("璁㈠崟鏄庣粏鎵╁睍瀛楁鍒涘缓澶辫触");
-                    }
-                }
-            }
-
-            orderDetl.setStockIndex(Utils.getMatUniqueKey(matnr, batch, orderDetl.getUniqueField()));
-            if (!orderDetlService.updateById(orderDetl)) {
-                throw new CoolException("鏇存柊鏄庣粏绱㈠紩澶辫触");
-            }
-
-        }
-
-        return true;
-    }
-
-    @Override
-    public boolean updateOrder(UpdateOrderParam param) {
-        Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getId, param.getOrderId()));
-        if (order == null) {
-            throw new CoolException("璁㈠崟涓嶅瓨鍦�");
-        }
-
-        if (order.getHasWave() == 1) {
-            throw new CoolException("璁㈠崟宸茬粡鐢熸垚娉㈡锛屾棤娉曚慨鏀�");
-        }
-
-        order.setOrderType(param.getOrderType());
-        order.setOrderSettle(param.getOrderSettle());
-        order.setUpdateTime(new Date());
-        order.setUpdateBy(9527L);
-        boolean result = this.updateById(order);
-        if (!result) {
-            throw new CoolException("淇敼璁㈠崟澶辫触");
-        }
-
-        for (HashMap<String, Object> map : param.getList()) {
-            double anfme = Double.parseDouble(map.get("anfme").toString());
-            String batch = map.get("batch").toString();
-            String matnr = map.get("matnr").toString();
-            Double qty = Double.parseDouble(map.get("qty").toString());
-            Double workQty = Double.parseDouble(map.get("workQty").toString());
-            String memo = map.getOrDefault("memo", "").toString();
-            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
-            if (mat == null) {
-                throw new CoolException(matnr + "鐗╂枡涓嶅瓨鍦�");
-            }
-
-            OrderDetl orderDetl = null;
-            if (map.containsKey("detlId")) {
-                orderDetl = orderDetlService.getById(map.get("detlId").toString());
-            }
-
-            if(orderDetl == null) {
-                orderDetl = new OrderDetl();
-                orderDetl.setOrderId(order.getId());
-                orderDetl.setOrderNo(order.getOrderNo());
-                orderDetl.setAnfme(anfme);
-                orderDetl.setQty(0D);
-                orderDetl.setWorkQty(0D);
-                orderDetl.setBatch(batch);
-                orderDetl.setMatId(mat.getId());
-                orderDetl.setMemo(memo);
-                orderDetl.setCreateTime(new Date());
-                orderDetl.setCreateBy(9527L);
-            }else {
-                orderDetl.setOrderNo(order.getOrderNo());
-                orderDetl.setAnfme(anfme);
-                orderDetl.setQty(qty);
-                orderDetl.setWorkQty(workQty);
-                orderDetl.setBatch(batch);
-                orderDetl.setMemo(memo);
-                orderDetl.setUpdateTime(new Date());
-                orderDetl.setUpdateBy(9527L);
-            }
-            boolean save = orderDetlService.saveOrUpdate(orderDetl);
-            if (!save) {
-                throw new CoolException("璁㈠崟鏄庣粏淇敼澶辫触");
-            }
-
-            //鑾峰彇鎵╁睍瀛楁
-            List<MatField> matFields = matFieldService.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1));
-            for (MatField matField : matFields) {
-                if (map.containsKey(matField.getName())) {
-                    OrderDetlField fieldValue = orderDetlFieldService.getOne(new LambdaQueryWrapper<OrderDetlField>()
-                            .eq(OrderDetlField::getDetlId, orderDetl.getId())
-                            .eq(OrderDetlField::getFieldId, matField.getId()));
-                    if (fieldValue == null) {
-                        fieldValue = new OrderDetlField();
-                        fieldValue.setDetlId(orderDetl.getId());
-                        fieldValue.setFieldId(matField.getId());
-                        fieldValue.setName(matField.getName());
-                        fieldValue.setValue(map.get(matField.getName()).toString());
-                    }else {
-                        fieldValue.setValue(map.get(matField.getName()).toString());
-                    }
-
-                    boolean save1 = orderDetlFieldService.saveOrUpdate(fieldValue);
-                    if (!save1) {
-                        throw new CoolException("璁㈠崟鏄庣粏鎵╁睍瀛楁淇敼澶辫触");
-                    }
-                }
-            }
-
-            orderDetl.setStockIndex(Utils.getMatUniqueKey(matnr, batch, orderDetl.getUniqueField()));
-            if (!orderDetlService.updateById(orderDetl)) {
-                throw new CoolException("鏇存柊鏄庣粏绱㈠紩澶辫触");
-            }
-
-        }
-
-        List<Long> deleteDetlId = param.getDeleteDetlId();
-        if (!deleteDetlId.isEmpty()) {
-            for (Long detlId : deleteDetlId) {
-                //鍒犻櫎鏄庣粏
-                orderDetlService.removeById(detlId);
-                //鍒犻櫎鏄庣粏瀵瑰簲鐨勬墿灞曞瓧娈�
-                orderDetlFieldService.remove(new LambdaQueryWrapper<OrderDetlField>().eq(OrderDetlField::getDetlId, detlId));
-            }
-        }
-
-        return true;
-    }
-
-    @Override
-    public boolean deleteOrder(Long orderId) {
-        Order order = this.getById(orderId);
-        if (order.getHasWave() == 1) {
-            throw new CoolException("璁㈠崟宸茬粡鐢熸垚娉㈡锛屽垹闄ゅけ璐�");
-        }
-
-        //鍒犻櫎璁㈠崟
-        this.removeById(orderId);
-        //鍒犻櫎鏄庣粏
-        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId));
-        for (OrderDetl orderDetl : orderDetls) {
-            orderDetlService.removeById(orderDetl.getId());//鍒犻櫎鏄庣粏
-            //鍒犻櫎鏄庣粏瀵瑰簲鐨勬墿灞曞瓧娈�
-            orderDetlFieldService.remove(new LambdaQueryWrapper<OrderDetlField>().eq(OrderDetlField::getDetlId, orderDetl.getId()));
-        }
-        return true;
-    }
-
-    @Override
-    public boolean checkOrderComplete(Long orderId) {
-        Order order = this.getById(orderId);
-        if (order == null) {
-            return false;
-        }
-
-        boolean complete = true;
-        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId));
-        if(orderDetls.isEmpty()) {
-            complete = false;
-        }
-
-        for (OrderDetl orderDetl : orderDetls) {
-            if (!orderDetl.getAnfme().equals(orderDetl.getQty())) {
-                complete = false;
-            }
-        }
-
-        return complete;
-    }
-}
+package com.zy.asrs.wms.asrs.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.asrs.entity.*;
+import com.zy.asrs.wms.asrs.entity.dto.OrderInfoDto;
+import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
+import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam;
+import com.zy.asrs.wms.asrs.entity.param.UpdateOrderParam;
+import com.zy.asrs.wms.asrs.mapper.OrderMapper;
+import com.zy.asrs.wms.asrs.service.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zy.asrs.wms.utils.OrderUtils;
+import com.zy.asrs.wms.utils.Utils;
+import io.netty.util.internal.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+@Service("orderService")
+public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
+
+    @Autowired
+    private MatService matService;
+    @Autowired
+    private MatFieldService matFieldService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+    @Autowired
+    private OrderDetlFieldService orderDetlFieldService;
+    @Autowired
+    private OrderNoRuleService orderNoRuleService;
+    @Autowired
+    private OrderUtils orderUtils;
+
+    @Override
+    @Transactional
+    public boolean createOrder(List<CreateOrderParam> list) {
+        for (CreateOrderParam orderParam : list) {
+            createOrder(orderParam);
+        }
+        return true;
+    }
+
+    @Override
+    @Transactional
+    public boolean createOrder(CreateOrderParam param) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<Order> orderList = this.list(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.getOrderNo()));
+        if (!orderList.isEmpty()) {
+            throw new CoolException("璁㈠崟宸插瓨鍦�");
+        }
+
+        String orderNo = param.getOrderNo();
+        if (Cools.isEmpty(param.getOrderNo())) {
+            orderNo = orderNoRuleService.getOrderNo(param.getOrderType().intValue());
+        }
+
+        Order order = new Order();
+        order.setOrderNo(orderNo);
+        order.setOrderType(param.getOrderType());
+        order.setOrderSettle(OrderSettleType.INIT.val());
+        order.setIoPri(orderUtils.getIoPri());
+        order.setOrderTime(format.format(new Date()));
+        order.setCreateTime(new Date());
+        order.setCreateBy(9527L);
+        boolean result = this.save(order);
+        if (!result) {
+            throw new CoolException("鐢熸垚璁㈠崟澶辫触");
+        }
+
+        for (HashMap<String, Object> map : param.getList()) {
+            double anfme = Double.parseDouble(map.get("anfme").toString());
+            String batch = map.get("batch").toString();
+            String matnr = map.get("matnr").toString();
+            Double qty = 0D;
+            Double workQty = 0D;
+            if (map.containsKey("qty")) {
+                qty = Double.parseDouble(map.get("qty").toString());
+            }
+            if (map.containsKey("workQty")) {
+                workQty = Double.parseDouble(map.get("workQty").toString());
+            }
+            String memo = map.getOrDefault("memo", "").toString();
+            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
+            if (mat == null) {
+                throw new CoolException(matnr + "鐗╂枡涓嶅瓨鍦�");
+            }
+
+            OrderDetl orderDetl = new OrderDetl();
+            orderDetl.setOrderId(order.getId());
+            orderDetl.setOrderNo(order.getOrderNo());
+            orderDetl.setAnfme(anfme);
+            orderDetl.setQty(qty);
+            orderDetl.setWorkQty(workQty);
+            orderDetl.setBatch(batch);
+            orderDetl.setMatId(mat.getId());
+            orderDetl.setMemo(memo);
+            orderDetl.setCreateTime(new Date());
+            orderDetl.setCreateBy(9527L);
+            boolean save = orderDetlService.save(orderDetl);
+            if (!save) {
+                throw new CoolException("璁㈠崟鏄庣粏鍒涘缓澶辫触");
+            }
+
+            //鑾峰彇鎵╁睍瀛楁
+            List<MatField> matFields = matFieldService.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1));
+            for (MatField matField : matFields) {
+                if (map.containsKey(matField.getName())) {
+                    OrderDetlField fieldValue = new OrderDetlField();
+                    fieldValue.setDetlId(orderDetl.getId());
+                    fieldValue.setFieldId(matField.getId());
+                    fieldValue.setName(matField.getName());
+                    fieldValue.setValue(map.get(matField.getName()).toString());
+                    boolean save1 = orderDetlFieldService.save(fieldValue);
+                    if (!save1) {
+                        throw new CoolException("璁㈠崟鏄庣粏鎵╁睍瀛楁鍒涘缓澶辫触");
+                    }
+                }
+            }
+
+            orderDetl.setStockIndex(Utils.getMatUniqueKey(matnr, batch, orderDetl.getUniqueField()));
+            if (!orderDetlService.updateById(orderDetl)) {
+                throw new CoolException("鏇存柊鏄庣粏绱㈠紩澶辫触");
+            }
+
+        }
+
+        return true;
+    }
+
+    @Override
+    public boolean updateOrder(UpdateOrderParam param) {
+        Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getId, param.getOrderId()));
+        if (order == null) {
+            throw new CoolException("璁㈠崟涓嶅瓨鍦�");
+        }
+
+        if (order.getHasWave() == 1) {
+            throw new CoolException("璁㈠崟宸茬粡鐢熸垚娉㈡锛屾棤娉曚慨鏀�");
+        }
+
+        order.setOrderType(param.getOrderType());
+        order.setOrderSettle(param.getOrderSettle());
+        order.setUpdateTime(new Date());
+        order.setUpdateBy(9527L);
+        boolean result = this.updateById(order);
+        if (!result) {
+            throw new CoolException("淇敼璁㈠崟澶辫触");
+        }
+
+        for (HashMap<String, Object> map : param.getList()) {
+            double anfme = Double.parseDouble(map.get("anfme").toString());
+            String batch = map.get("batch").toString();
+            String matnr = map.get("matnr").toString();
+            Double qty = Double.parseDouble(map.get("qty").toString());
+            Double workQty = Double.parseDouble(map.get("workQty").toString());
+            String memo = map.getOrDefault("memo", "").toString();
+            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
+            if (mat == null) {
+                throw new CoolException(matnr + "鐗╂枡涓嶅瓨鍦�");
+            }
+
+            OrderDetl orderDetl = null;
+            if (map.containsKey("detlId")) {
+                orderDetl = orderDetlService.getById(map.get("detlId").toString());
+            }
+
+            if(orderDetl == null) {
+                orderDetl = new OrderDetl();
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setAnfme(anfme);
+                orderDetl.setQty(0D);
+                orderDetl.setWorkQty(0D);
+                orderDetl.setBatch(batch);
+                orderDetl.setMatId(mat.getId());
+                orderDetl.setMemo(memo);
+                orderDetl.setCreateTime(new Date());
+                orderDetl.setCreateBy(9527L);
+            }else {
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setAnfme(anfme);
+                orderDetl.setQty(qty);
+                orderDetl.setWorkQty(workQty);
+                orderDetl.setBatch(batch);
+                orderDetl.setMemo(memo);
+                orderDetl.setUpdateTime(new Date());
+                orderDetl.setUpdateBy(9527L);
+            }
+            boolean save = orderDetlService.saveOrUpdate(orderDetl);
+            if (!save) {
+                throw new CoolException("璁㈠崟鏄庣粏淇敼澶辫触");
+            }
+
+            //鑾峰彇鎵╁睍瀛楁
+            List<MatField> matFields = matFieldService.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1));
+            for (MatField matField : matFields) {
+                if (map.containsKey(matField.getName())) {
+                    OrderDetlField fieldValue = orderDetlFieldService.getOne(new LambdaQueryWrapper<OrderDetlField>()
+                            .eq(OrderDetlField::getDetlId, orderDetl.getId())
+                            .eq(OrderDetlField::getFieldId, matField.getId()));
+                    if (fieldValue == null) {
+                        fieldValue = new OrderDetlField();
+                        fieldValue.setDetlId(orderDetl.getId());
+                        fieldValue.setFieldId(matField.getId());
+                        fieldValue.setName(matField.getName());
+                        fieldValue.setValue(map.get(matField.getName()).toString());
+                    }else {
+                        fieldValue.setValue(map.get(matField.getName()).toString());
+                    }
+
+                    boolean save1 = orderDetlFieldService.saveOrUpdate(fieldValue);
+                    if (!save1) {
+                        throw new CoolException("璁㈠崟鏄庣粏鎵╁睍瀛楁淇敼澶辫触");
+                    }
+                }
+            }
+
+            orderDetl.setStockIndex(Utils.getMatUniqueKey(matnr, batch, orderDetl.getUniqueField()));
+            if (!orderDetlService.updateById(orderDetl)) {
+                throw new CoolException("鏇存柊鏄庣粏绱㈠紩澶辫触");
+            }
+
+        }
+
+        List<Long> deleteDetlId = param.getDeleteDetlId();
+        if (!deleteDetlId.isEmpty()) {
+            for (Long detlId : deleteDetlId) {
+                //鍒犻櫎鏄庣粏
+                orderDetlService.removeById(detlId);
+                //鍒犻櫎鏄庣粏瀵瑰簲鐨勬墿灞曞瓧娈�
+                orderDetlFieldService.remove(new LambdaQueryWrapper<OrderDetlField>().eq(OrderDetlField::getDetlId, detlId));
+            }
+        }
+
+        return true;
+    }
+
+    @Override
+    public boolean deleteOrder(Long orderId) {
+        Order order = this.getById(orderId);
+        if (order.getHasWave() == 1) {
+            throw new CoolException("璁㈠崟宸茬粡鐢熸垚娉㈡锛屽垹闄ゅけ璐�");
+        }
+
+        //鍒犻櫎璁㈠崟
+        this.removeById(orderId);
+        //鍒犻櫎鏄庣粏
+        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId));
+        for (OrderDetl orderDetl : orderDetls) {
+            orderDetlService.removeById(orderDetl.getId());//鍒犻櫎鏄庣粏
+            //鍒犻櫎鏄庣粏瀵瑰簲鐨勬墿灞曞瓧娈�
+            orderDetlFieldService.remove(new LambdaQueryWrapper<OrderDetlField>().eq(OrderDetlField::getDetlId, orderDetl.getId()));
+        }
+        return true;
+    }
+
+    @Override
+    public boolean checkOrderComplete(Long orderId) {
+        Order order = this.getById(orderId);
+        if (order == null) {
+            return false;
+        }
+
+        boolean complete = true;
+        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId));
+        if(orderDetls.isEmpty()) {
+            complete = false;
+        }
+
+        for (OrderDetl orderDetl : orderDetls) {
+            if (!orderDetl.getAnfme().equals(orderDetl.getQty())) {
+                complete = false;
+            }
+        }
+
+        return complete;
+    }
+
+    @Override
+    public Order selectByBarcode(String barcode) {
+        return this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, barcode), false);
+    }
+
+    @Override
+    public List<OrderInfoDto> getDetlForOrderId(Long id) {
+        return this.baseMapper.getDetlForOrderId(id);
+    }
+}

--
Gitblit v1.9.1