From 5494c2ef42c303866aced9d6c79a636c6e6b6c6c Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 8 May 2026 16:32:03 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=88=BF=E5=90=8D=E6=89=93=E5=8C=85?= =?UTF-8?q?=E9=85=8D=E4=BB=B6=E5=A2=9E=E5=8A=A0=E6=88=BF=E9=97=B4id?= =?UTF-8?q?=E7=9A=84=E5=88=86=E7=BB=84=E6=9D=A1=E4=BB=B6=EF=BC=9B2?= =?UTF-8?q?=E3=80=81=E5=88=A0=E9=99=A4=E5=8C=85=E8=A3=B9=E6=98=8E=E7=BB=86?= =?UTF-8?q?pack=5Fnum=E6=9C=AA=E6=B8=85=E9=9B=B6=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/manage/pack/PackServiceImpl.java | 24 +++++++++++-------- .../resources/mapper/order/OrderMapper.xml | 22 ++++++++--------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java index 58cb10bfb..93f1bc0d6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java @@ -374,15 +374,16 @@ public class PackServiceImpl implements PackService { * @param packMethod * @return */ - private Long getGroupKey(PackagePartsSaveReqVO item, Integer packMethod) { + private String getGroupKey(PackagePartsSaveReqVO item, Integer packMethod) { if (ObjectUtil.equals(OrderPackageMethodEnum.ROOM_NAME.getMethod(), packMethod)) { - return item.getRoomId(); + return item.getRoomId() + "-" + item.getBodyId(); } else if (ObjectUtil.equals(OrderPackageMethodEnum.BODY_NAME.getMethod(), packMethod)) { - return item.getBodyId(); + return String.valueOf(item.getBodyId()); } else if (ObjectUtil.equals(OrderPackageMethodEnum.ORDER.getMethod(), packMethod)) { - return item.getOrderId(); + return String.valueOf(item.getOrderId()); } - return 0L; + // todo 规范异常 + throw new IllegalArgumentException("未知打包方式: " + packMethod); } /** @@ -397,7 +398,7 @@ public class PackServiceImpl implements PackService { * @return */ private LambdaQueryWrapper buildWrapper( - Long groupKey, + String groupKey, Long partsId, Integer packMethod, List orderIds, @@ -417,7 +418,9 @@ public class PackServiceImpl implements PackService { } if (ObjectUtil.equals(OrderPackageMethodEnum.ROOM_NAME.getMethod(), packMethod)) { - wrapper.eq(OrderItemDO::getRoomId, groupKey) + String[] keys = groupKey.split("-"); + wrapper.eq(OrderItemDO::getRoomId, keys[0]) + .eq(OrderItemDO::getBodyId, keys[1]) .in(OrderItemDO::getOrderId, orderIds); } else if (ObjectUtil.equals(OrderPackageMethodEnum.BODY_NAME.getMethod(), packMethod)) { wrapper.eq(OrderItemDO::getBodyId, groupKey) @@ -449,12 +452,12 @@ public class PackServiceImpl implements PackService { if (CollUtil.isEmpty(partsList)) return; // 分组 - Map> groupMap = + Map> groupMap = partsList.stream().collect(Collectors.groupingBy(item -> getGroupKey(item, packMethod))); - for (Map.Entry> entry : groupMap.entrySet()) { + for (Map.Entry> entry : groupMap.entrySet()) { - Long groupKey = entry.getKey(); + String groupKey = entry.getKey(); for (PackagePartsSaveReqVO vo : entry.getValue()) { @@ -820,6 +823,7 @@ public class PackServiceImpl implements PackService { .eq(OrderItemDO::getPackageId, packageNo) .eq(OrderItemDO::getPlateId, 0) .set(OrderItemDO::getPackageId, 0) + .set(OrderItemDO::getPackNum, 0) ); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index 23f75f7d9..d745c878d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -653,21 +653,19 @@