Browse Source

备货清单订制品导出

single_db
汤建军 1 year ago
parent
commit
7a41e606be
  1. 23
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/bean/MyExcelUtil.java
  2. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java
  3. 16
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockupPackageListDetailExcel.java
  4. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

23
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/bean/MyExcelUtil.java

@ -20,13 +20,14 @@ public class MyExcelUtil extends ExcelUtil {
public static <T> void export(HttpServletResponse response, List<DistributionStockupPackageListDetailExcel> stockupList) {
public static <T> void export(HttpServletResponse response, List<DistributionStockupPackageListDetailExcel> stockupList,String fileName) {
try {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding(Charsets.UTF_8.name());
response.setHeader("Content-disposition", "attachment;filename=" + "备货清单列表" + ".xlsx");
fileName = URLEncoder.encode(fileName, Charsets.UTF_8.name());
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
response.setHeader("content-Type", "application/vnd.ms-excel");
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
response.setCharacterEncoding("UTF-8");
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(),DistributionStockupPackageListDetailExcel.class).build();
//将清单进行分组,首先区分是否是库存品,其次进行区分订制品和零担
Map<Integer, List<DistributionStockupPackageListDetailExcel>> isInventoryMap = stockupList.stream().collect(Collectors.groupingBy(DistributionStockupPackageListDetailExcel::getIsInventory));
isInventoryMap.forEach((k,v)->{
@ -34,21 +35,23 @@ public class MyExcelUtil extends ExcelUtil {
//进行是否零担的区分
Map<String, List<DistributionStockupPackageListDetailExcel>> isZeroMap = v.stream().collect(Collectors.groupingBy(DistributionStockupPackageListDetailExcel::getIsZero));
isZeroMap.forEach((m,n)->{
if (m.equals(0)){
if (m.equals("0")){
//订制品
WriteSheet writeSheet = EasyExcel.writerSheet("订制品备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet(1,"订制品备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
excelWriter.write(n, writeSheet);
}else {
//零担
WriteSheet writeSheet = EasyExcel.writerSheet("零担备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet(2,"零担备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
excelWriter.write(n, writeSheet);
}
});
}else {
//库存品
WriteSheet writeSheet = EasyExcel.writerSheet(3,"库存品备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
excelWriter.write(v, writeSheet);
}
});
excelWriter.finish();
} catch (Exception e) {
throw new RuntimeException("请稍后再试....");

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java

@ -210,7 +210,7 @@ public class DistributionStockupController extends BladeController {
List<Long> list = Func.toLongList(stockUpIds);
//查询计划包件的EXCEL列表数据
List<DistributionStockupPackageListDetailExcel> listExcel = distributionStockupService.exportStockUptDetail(list);
MyExcelUtil.export(response,listExcel);
MyExcelUtil.export(response,listExcel,"备货清单");
}

16
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockupPackageListDetailExcel.java

@ -53,6 +53,15 @@ public class DistributionStockupPackageListDetailExcel {
@ExcelProperty("计划件数")
private Integer reservationNum;
@ColumnWidth(200)
@ExcelProperty("托盘名称")
private String trayNames;
@ColumnWidth(50)
@ExcelProperty("库位名称")
private String allocationNames;
@ExcelIgnore
private Integer isInventory;
@ -64,13 +73,6 @@ public class DistributionStockupPackageListDetailExcel {
@ExcelIgnore
private String orderPackageCode;
@ColumnWidth(200)
@ExcelProperty("托盘名称")
private String trayNames;
@ColumnWidth(50)
@ExcelProperty("库存名称")
private String allocationNames;
}

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -2972,8 +2972,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationStocklistService.list(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
.in(DistributionReservationStocklistEntity::getStocklistId, stockListIds)
.notIn(DistributionReservationStocklistEntity::getStockListStatus, 1, 3)
.notIn(DistributionReservationStocklistEntity::getStockListStatus, 2)
);
stockConfigInfoVO.setRealityNum(0);
if (Func.isNotEmpty(reservationStocklistEntityList)){
int realityNum = reservationStocklistEntityList.stream().mapToInt(DistributionReservationStocklistEntity::getRealityNum).sum();
stockConfigInfoVO.setRealityNum(realityNum); //地址

Loading…
Cancel
Save