From fc6d56dd70a6b8334595aaf2302dd77e88ed6c04 Mon Sep 17 00:00:00 2001 From: "kuang.yife" Date: Mon, 17 Apr 2023 19:29:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=98=AF=E5=90=A6=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E5=AE=8C=E7=9A=84=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= =?UTF-8?q?=20+=20=E4=B8=BB=E5=8D=95=E7=8A=B6=E6=80=81=E9=9A=8F=E5=8A=A8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/impl/OrderDetailServiceImpl.java | 4 +++- .../order/service/impl/OrderMasterServiceImpl.java | 13 +++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index 8fd59a0a..1e3e18b0 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -137,7 +137,9 @@ public class OrderDetailServiceImpl implements OrderDetailService { break; } } - if (flag) { + // 判断主单是否全部派单 + boolean allAssign = orderMasterService.isAllAssign(detailInfo.getOrderMasterId()); + if (flag && allAssign) { OrderMaster orderMaster = orderMasterMapper.selectById(detailInfo.getOrderMasterId()); if (ObjectUtils.isEmpty(orderDetail.getExpectTimeStart())) { orderMaster.setOrderStatus(orderStatus); diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java index 8e4d7164..abcf3f4a 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java @@ -445,11 +445,12 @@ public class OrderMasterServiceImpl implements OrderMasterService { Assert.notNull(orderMaster, "OrderMaster is null!!!"); // 先判断主订单是否派完单 List masterGoods = orderGoodsService.selectByOrderMasterId(orderMasterId); - long masterCount = masterGoods.stream().mapToInt(OrderGoods::getGoodsNum).sum(); - long detailCount = orderDetailService.selectByOrderMasterId(orderMasterId).stream().mapToInt(x -> { - List detailGoods = orderGoodsService.selectByOrderDetailId(x.getId()); - return detailGoods.stream().mapToInt(OrderGoods::getGoodsNum).sum(); - }).sum(); - return masterCount == detailCount; + for (OrderGoods orderGoods : masterGoods) { + // 是否有未派完的子单 + if(!orderGoods.getGoodsNum().equals(orderGoods.getServerGoodsNum())){ + return false; + } + } + return true; } }