master:生产需求单列表导出优化;

pull/1121/head
liujiang 2025-10-22 19:18:59 +08:00
parent f5fc3ff13c
commit 6a6590040e
2 changed files with 22 additions and 3 deletions

View File

@ -18,7 +18,11 @@ public class StoreProdDemandDownloadDTO {
private Integer orderNum;
@Excel(name = "货号", needMerge = true)
private String prodArtNum;
@Excel(name = "是否紧急单", needMerge = true)
@Excel(name = "需求单号", needMerge = true)
private String code;
@Excel(name = "工厂名称", needMerge = true)
private String facName;
@Excel(name = "是否紧急单")
private String emergency;
@Excel(name = "颜色", needMerge = true)
private String colorName;

View File

@ -50,6 +50,7 @@ public class StoreProductDemandServiceImpl implements IStoreProductDemandService
final StoreProductMapper storeProdMapper;
final IVoucherSequenceService sequenceService;
final StoreProductStorageDemandDeductMapper storageDemandDeductMapper;
final StoreFactoryMapper storeFacMapper;
/**
@ -406,9 +407,23 @@ public class StoreProductDemandServiceImpl implements IStoreProductDemandService
queryWrapper.in(StoreProductDemandDetail::getId, exportDTO.getStoreProdDemandDetailIdList());
}
List<StoreProductDemandDetail> demandDetailList = this.storeProdDemandDetailMapper.selectList(queryWrapper);
if (CollectionUtils.isEmpty(demandDetailList)) {
return new ArrayList<>();
}
List<StoreProductDemand> demandList = this.storeProdDemandMapper.selectList(new LambdaQueryWrapper<StoreProductDemand>()
.eq(StoreProductDemand::getDelFlag, UNDELETED).in(StoreProductDemand::getId, demandDetailList.stream()
.map(StoreProductDemandDetail::getStoreProdDemandId).collect(Collectors.toList())));
Map<Long, String> demandCodeMap = CollectionUtils.isEmpty(demandList) ? new HashMap<>()
: demandList.stream().collect(Collectors.toMap(StoreProductDemand::getId, StoreProductDemand::getCode));
List<StoreFactory> storeFacList = this.storeFacMapper.selectList(new LambdaQueryWrapper<StoreFactory>()
.eq(StoreFactory::getDelFlag, UNDELETED).eq(StoreFactory::getStoreId, exportDTO.getStoreId()));
Map<Long, String> storeFacMap = CollectionUtils.isEmpty(storeFacList) ? new HashMap<>()
: storeFacList.stream().collect(Collectors.toMap(StoreFactory::getId, StoreFactory::getFacName));
List<StoreProdDemandDownloadDTO> downLoadList = demandDetailList.stream().sorted(Comparator.comparing(StoreProductDemandDetail::getProdArtNum))
.map(x -> new StoreProdDemandDownloadDTO()
.setProdArtNum(x.getProdArtNum()).setColorName(x.getColorName()).setEmergency(Objects.equals(x.getEmergency(), 0) ? "正常单" : "紧急单")
.map(x -> new StoreProdDemandDownloadDTO().setProdArtNum(x.getProdArtNum()).setColorName(x.getColorName())
.setFacName(storeFacMap.getOrDefault(x.getStoreFactoryId(), ""))
.setCode(demandCodeMap.getOrDefault(x.getStoreProdDemandId(), ""))
.setEmergency(Objects.equals(x.getEmergency(), 0) ? "正常单" : "紧急单")
.setSize30Quantity(x.getSize30()).setSize31Quantity(x.getSize31()).setSize32Quantity(x.getSize32())
.setSize33Quantity(x.getSize33()).setSize34Quantity(x.getSize34()).setSize35Quantity(x.getSize35())
.setSize36Quantity(x.getSize36()).setSize37Quantity(x.getSize37()).setSize38Quantity(x.getSize38())