master:入库单明细抵扣需求明细功能优化;

pull/1121/head
liujiang 2025-10-03 20:22:15 +08:00
parent ec4caad5be
commit d16b5bed88
1 changed files with 11 additions and 11 deletions

View File

@ -76,25 +76,25 @@ public class StoreProductStorageDemandDeducteServiceImpl implements IStoreProduc
} }
Map<Long, List<StoreProductStorageDemandDeduct>> demandDeductMap = demandDeductList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeduct::getStoreProdStorageDetailId)); Map<Long, List<StoreProductStorageDemandDeduct>> demandDeductMap = demandDeductList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeduct::getStoreProdStorageDetailId));
List<StoreProdStorageDemandDeductDTO.SPSDDDemandDetailDTO> demandDetailDTOList = storageDetailList.stream().map(storageDetail -> { List<StoreProdStorageDemandDeductDTO.SPSDDDemandDetailDTO> demandDetailDTOList = storageDetailList.stream().map(storageDetail -> {
List<StoreProductStorageDemandDeduct> demandDetailList = demandDeductMap.get(storageDetail.getId()); // 获取该明细的抵扣需求列表
if (CollectionUtils.isEmpty(demandDetailList)) { List<StoreProductStorageDemandDeduct> demandDetailList = ObjectUtils.defaultIfNull(demandDeductMap.get(storageDetail.getId()), new ArrayList<>());
return StoreProdStorageDemandDeductDTO.SPSDDDemandDetailDTO.builder()
.prodArtNum(storageDetail.getProdArtNum()).colorName(storageDetail.getColorName())
.build();
}
// 抵扣的需求明细列表 再按照code进行分类 // 抵扣的需求明细列表 再按照code进行分类
Map<String, List<StoreProductStorageDemandDeduct>> demandSizeMap = demandDetailList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeduct::getDemandCode)); Map<String, List<StoreProductStorageDemandDeduct>> demandSizeMap = demandDetailList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeduct::getDemandCode));
// 生产需求单号列 // 生产需求单号列
final List<String> demandCodeList = new ArrayList<String>() {{ final List<String> demandCodeList = new ArrayList<String>() {{
add(""); add("");
// 生产需求单号列表 if (CollectionUtils.isNotEmpty(demandDetailList)) {
demandDetailList.stream().map(StoreProductStorageDemandDeduct::getDemandCode).distinct().sorted(Comparator.comparing(x -> x)).forEach(this::add); // 生产需求单号列表
demandDetailList.stream().map(StoreProductStorageDemandDeduct::getDemandCode).distinct().sorted(Comparator.comparing(x -> x)).forEach(this::add);
}
}}; }};
// 初始化数量对比 列 // 初始化数量对比 列
List<String> compareNumStrList = new ArrayList<String>() {{ List<String> compareNumStrList = new ArrayList<String>() {{
add("入库数量"); add("入库数量");
// 根据生产需求单号数量 生成 对应的 抵扣数量 if (CollectionUtils.isNotEmpty(demandDetailList)) {
demandDetailList.stream().map(StoreProductStorageDemandDeduct::getDemandCode).distinct().forEach(x -> this.add("抵扣需求数量")); // 根据生产需求单号数量 生成 对应的 抵扣数量
demandDetailList.stream().map(StoreProductStorageDemandDeduct::getDemandCode).distinct().forEach(x -> this.add("抵扣需求数量"));
}
}}; }};
return StoreProdStorageDemandDeductDTO.SPSDDDemandDetailDTO.builder().spsddId(storageDetail.getId()) return StoreProdStorageDemandDeductDTO.SPSDDDemandDetailDTO.builder().spsddId(storageDetail.getId())
.prodArtNum(storageDetail.getProdArtNum()).colorName(storageDetail.getColorName()) .prodArtNum(storageDetail.getProdArtNum()).colorName(storageDetail.getColorName())
@ -134,7 +134,7 @@ public class StoreProductStorageDemandDeducteServiceImpl implements IStoreProduc
return demandCodeList.stream().map(demandCode -> { return demandCodeList.stream().map(demandCode -> {
Integer demandDeductQuantity = 0; Integer demandDeductQuantity = 0;
// 如果demandCode为"",表明是第一行,此时取入库数量 // 如果demandCode为"",表明是第一行,此时取入库数量
if (StringUtils.isEmpty(demandCode)) { if (StringUtils.isBlank(demandCode)) {
if (Objects.equals(SIZE_30, size)) { if (Objects.equals(SIZE_30, size)) {
demandDeductQuantity = ObjectUtils.defaultIfNull(storageDetail.getSize30(), 0); demandDeductQuantity = ObjectUtils.defaultIfNull(storageDetail.getSize30(), 0);
} else if (Objects.equals(SIZE_31, size)) { } else if (Objects.equals(SIZE_31, size)) {