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 { try {
response.setContentType("application/vnd.ms-excel"); response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding(Charsets.UTF_8.name()); fileName = URLEncoder.encode(fileName, Charsets.UTF_8.name());
response.setHeader("Content-disposition", "attachment;filename=" + "备货清单列表" + ".xlsx"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
response.setHeader("content-Type", "application/vnd.ms-excel"); 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)); Map<Integer, List<DistributionStockupPackageListDetailExcel>> isInventoryMap = stockupList.stream().collect(Collectors.groupingBy(DistributionStockupPackageListDetailExcel::getIsInventory));
isInventoryMap.forEach((k,v)->{ 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)); Map<String, List<DistributionStockupPackageListDetailExcel>> isZeroMap = v.stream().collect(Collectors.groupingBy(DistributionStockupPackageListDetailExcel::getIsZero));
isZeroMap.forEach((m,n)->{ 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 { }else {
//零担 //零担
WriteSheet writeSheet = EasyExcel.writerSheet("零担备货清单").head(DistributionStockupPackageListDetailExcel.class).build(); WriteSheet writeSheet = EasyExcel.writerSheet(2,"零担备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
excelWriter.write(n, writeSheet);
} }
}); });
}else { }else {
//库存品 //库存品
WriteSheet writeSheet = EasyExcel.writerSheet(3,"库存品备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
excelWriter.write(v, writeSheet);
} }
}); });
excelWriter.finish();
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("请稍后再试...."); 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); List<Long> list = Func.toLongList(stockUpIds);
//查询计划包件的EXCEL列表数据 //查询计划包件的EXCEL列表数据
List<DistributionStockupPackageListDetailExcel> listExcel = distributionStockupService.exportStockUptDetail(list); 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("计划件数") @ExcelProperty("计划件数")
private Integer reservationNum; private Integer reservationNum;
@ColumnWidth(200)
@ExcelProperty("托盘名称")
private String trayNames;
@ColumnWidth(50)
@ExcelProperty("库位名称")
private String allocationNames;
@ExcelIgnore @ExcelIgnore
private Integer isInventory; private Integer isInventory;
@ -64,13 +73,6 @@ public class DistributionStockupPackageListDetailExcel {
@ExcelIgnore @ExcelIgnore
private String orderPackageCode; 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() List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationStocklistService.list(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId()) .eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
.in(DistributionReservationStocklistEntity::getStocklistId, stockListIds) .in(DistributionReservationStocklistEntity::getStocklistId, stockListIds)
.notIn(DistributionReservationStocklistEntity::getStockListStatus, 1, 3) .notIn(DistributionReservationStocklistEntity::getStockListStatus, 2)
); );
stockConfigInfoVO.setRealityNum(0);
if (Func.isNotEmpty(reservationStocklistEntityList)){ if (Func.isNotEmpty(reservationStocklistEntityList)){
int realityNum = reservationStocklistEntityList.stream().mapToInt(DistributionReservationStocklistEntity::getRealityNum).sum(); int realityNum = reservationStocklistEntityList.stream().mapToInt(DistributionReservationStocklistEntity::getRealityNum).sum();
stockConfigInfoVO.setRealityNum(realityNum); //地址 stockConfigInfoVO.setRealityNum(realityNum); //地址

Loading…
Cancel
Save