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));