diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProductDemand/StoreProdDemandDownloadDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProductDemand/StoreProdDemandDownloadDTO.java index 39e506e07..929533e94 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProductDemand/StoreProdDemandDownloadDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProductDemand/StoreProdDemandDownloadDTO.java @@ -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; diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductDemandServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductDemandServiceImpl.java index e4fca333a..01539c702 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductDemandServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductDemandServiceImpl.java @@ -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 demandDetailList = this.storeProdDemandDetailMapper.selectList(queryWrapper); + if (CollectionUtils.isEmpty(demandDetailList)) { + return new ArrayList<>(); + } + List demandList = this.storeProdDemandMapper.selectList(new LambdaQueryWrapper() + .eq(StoreProductDemand::getDelFlag, UNDELETED).in(StoreProductDemand::getId, demandDetailList.stream() + .map(StoreProductDemandDetail::getStoreProdDemandId).collect(Collectors.toList()))); + Map demandCodeMap = CollectionUtils.isEmpty(demandList) ? new HashMap<>() + : demandList.stream().collect(Collectors.toMap(StoreProductDemand::getId, StoreProductDemand::getCode)); + List storeFacList = this.storeFacMapper.selectList(new LambdaQueryWrapper() + .eq(StoreFactory::getDelFlag, UNDELETED).eq(StoreFactory::getStoreId, exportDTO.getStoreId())); + Map storeFacMap = CollectionUtils.isEmpty(storeFacList) ? new HashMap<>() + : storeFacList.stream().collect(Collectors.toMap(StoreFactory::getId, StoreFactory::getFacName)); List 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())