From d16b5bed88a5e4a1b68a8f76e6edaae265eae375 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Fri, 3 Oct 2025 20:22:15 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E5=85=A5=E5=BA=93=E5=8D=95?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E6=8A=B5=E6=89=A3=E9=9C=80=E6=B1=82=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...roductStorageDemandDeducteServiceImpl.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStorageDemandDeducteServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStorageDemandDeducteServiceImpl.java index 67a009aa1..7326de65e 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStorageDemandDeducteServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStorageDemandDeducteServiceImpl.java @@ -76,25 +76,25 @@ public class StoreProductStorageDemandDeducteServiceImpl implements IStoreProduc } Map> demandDeductMap = demandDeductList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeduct::getStoreProdStorageDetailId)); List demandDetailDTOList = storageDetailList.stream().map(storageDetail -> { - List demandDetailList = demandDeductMap.get(storageDetail.getId()); - if (CollectionUtils.isEmpty(demandDetailList)) { - return StoreProdStorageDemandDeductDTO.SPSDDDemandDetailDTO.builder() - .prodArtNum(storageDetail.getProdArtNum()).colorName(storageDetail.getColorName()) - .build(); - } + // 获取该明细的抵扣需求列表 + List demandDetailList = ObjectUtils.defaultIfNull(demandDeductMap.get(storageDetail.getId()), new ArrayList<>()); // 抵扣的需求明细列表 再按照code进行分类 Map> demandSizeMap = demandDetailList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeduct::getDemandCode)); // 生产需求单号列 final List demandCodeList = new ArrayList() {{ add(""); - // 生产需求单号列表 - demandDetailList.stream().map(StoreProductStorageDemandDeduct::getDemandCode).distinct().sorted(Comparator.comparing(x -> x)).forEach(this::add); + if (CollectionUtils.isNotEmpty(demandDetailList)) { + // 生产需求单号列表 + demandDetailList.stream().map(StoreProductStorageDemandDeduct::getDemandCode).distinct().sorted(Comparator.comparing(x -> x)).forEach(this::add); + } }}; // 初始化数量对比 列 List compareNumStrList = new ArrayList() {{ add("入库数量"); - // 根据生产需求单号数量 生成 对应的 抵扣数量 - demandDetailList.stream().map(StoreProductStorageDemandDeduct::getDemandCode).distinct().forEach(x -> this.add("抵扣需求数量")); + if (CollectionUtils.isNotEmpty(demandDetailList)) { + // 根据生产需求单号数量 生成 对应的 抵扣数量 + demandDetailList.stream().map(StoreProductStorageDemandDeduct::getDemandCode).distinct().forEach(x -> this.add("抵扣需求数量")); + } }}; return StoreProdStorageDemandDeductDTO.SPSDDDemandDetailDTO.builder().spsddId(storageDetail.getId()) .prodArtNum(storageDetail.getProdArtNum()).colorName(storageDetail.getColorName()) @@ -134,7 +134,7 @@ public class StoreProductStorageDemandDeducteServiceImpl implements IStoreProduc return demandCodeList.stream().map(demandCode -> { Integer demandDeductQuantity = 0; // 如果demandCode为"",表明是第一行,此时取入库数量 - if (StringUtils.isEmpty(demandCode)) { + if (StringUtils.isBlank(demandCode)) { if (Objects.equals(SIZE_30, size)) { demandDeductQuantity = ObjectUtils.defaultIfNull(storageDetail.getSize30(), 0); } else if (Objects.equals(SIZE_31, size)) {