From d7d413e3a4c6a26b4c7e2b3e74e6e27046387c21 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Mon, 4 Aug 2025 10:12:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=99=BA=E6=85=A7=E8=B6=85=E5=B8=82):?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=BE=91=E4=BA=86=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E7=9A=84=E5=95=86=E5=93=81=E6=95=B0=E9=87=8F=E4=B9=8B=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E7=BC=96=E8=BE=91=E9=87=8C=E7=9A=84=E7=B4=AF=E8=AE=A1?= =?UTF-8?q?=E6=80=BB=E9=87=91=E9=A2=9D=E5=92=8C=E5=88=97=E8=A1=A8=E9=87=8C?= =?UTF-8?q?=E6=9C=80=E5=90=8E=E4=B8=80=E5=88=97=E6=98=BE=E7=A4=BA=E7=9A=84?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=80=BB=E9=87=91=E9=A2=9D=E4=B8=8D=E4=B8=80?= =?UTF-8?q?=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SmErpInventoryRecordsServiceImpl.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java index 7ce471126..23753d3e9 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java @@ -210,12 +210,24 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl userMap = remoteUserService.getUserMap(userIds).getData(); - List processInstanceIds= records.stream().map(SmErpInventoryRecordsEntity::getProcessInstanceId).filter(Objects::nonNull).collect(Collectors.toList()); +// List processInstanceIds= records.stream().map(SmErpInventoryRecordsEntity::getProcessInstanceId).filter(Objects::nonNull).collect(Collectors.toList()); LambdaQueryWrapper smErpCgPlanItemEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); smErpCgPlanItemEntityLambdaQueryWrapper.in(SmErpInventoryRecordsItemEntity::getInventoryId,planIds); List cgPlanItemEntities = smErpInventoryRecordsItemMapper.selectList(smErpCgPlanItemEntityLambdaQueryWrapper); + // 按 inventoryId 分组并计算每个分组的 totalAmount 总和 + Map inventoryTotalAmountMap = cgPlanItemEntities.stream() + .collect(Collectors.groupingBy( + SmErpInventoryRecordsItemEntity::getInventoryId, + Collectors.summingInt(SmErpInventoryRecordsItemEntity::getTotalAmount) + )); + // 将计算出的 totalAmount 总和设置回 pageData 的 records 中 + records.forEach(record -> { + Integer totalAmount = inventoryTotalAmountMap.getOrDefault(record.getId(), 0); + record.setTotalAmount(totalAmount); + }); + Set erpSpuIds = cgPlanItemEntities.stream().map(SmErpInventoryRecordsItemEntity::getErpSpuId).collect(Collectors.toSet()); List smErpSpuEntities = smErpSpuMapper.selectList(new LambdaQueryWrapper().in(SmErpSpuEntity::getId, erpSpuIds)); Map spuMap = smErpSpuEntities.stream().collect(Collectors.toMap(SmErpSpuEntity::getId, spu -> spu));