Browse Source

库存品备货数量字段

single_db
汤建军 1 year ago
parent
commit
2d4d4e6c66
  1. 59
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/bean/MyExcelUtil.java
  2. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java
  3. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigInfoVO.java
  4. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockupPackageListDetailExcel.java
  5. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  6. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

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

@ -0,0 +1,59 @@
package com.logpm.distribution.bean;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.alibaba.excel.write.handler.WriteHandler;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.logpm.distribution.excel.DistributionStockupPackageListDetailExcel;
import org.apache.commons.codec.Charsets;
import org.springblade.core.excel.util.ExcelUtil;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MyExcelUtil extends ExcelUtil {
public static <T> void export(HttpServletResponse response, List<DistributionStockupPackageListDetailExcel> stockupList) {
try {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding(Charsets.UTF_8.name());
response.setHeader("Content-disposition", "attachment;filename=" + "备货清单列表" + ".xlsx");
response.setHeader("content-Type", "application/vnd.ms-excel");
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
//将清单进行分组,首先区分是否是库存品,其次进行区分订制品和零担
Map<Integer, List<DistributionStockupPackageListDetailExcel>> isInventoryMap = stockupList.stream().collect(Collectors.groupingBy(DistributionStockupPackageListDetailExcel::getIsInventory));
isInventoryMap.forEach((k,v)->{
if (k.equals(0)){
//进行是否零担的区分
Map<String, List<DistributionStockupPackageListDetailExcel>> isZeroMap = v.stream().collect(Collectors.groupingBy(DistributionStockupPackageListDetailExcel::getIsZero));
isZeroMap.forEach((m,n)->{
if (m.equals(0)){
//订制品
WriteSheet writeSheet = EasyExcel.writerSheet("订制品备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
}else {
//零担
WriteSheet writeSheet = EasyExcel.writerSheet("零担备货清单").head(DistributionStockupPackageListDetailExcel.class).build();
}
});
}else {
//库存品
}
});
} catch (Exception e) {
throw new RuntimeException("请稍后再试....");
}
}
}

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

@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.bean.MyExcelUtil;
import com.logpm.distribution.entity.DistributionStockupEntity;
import com.logpm.distribution.excel.DistributionCityExcel;
import com.logpm.distribution.excel.DistributionMarketExcel;
@ -209,7 +210,7 @@ public class DistributionStockupController extends BladeController {
List<Long> list = Func.toLongList(stockUpIds);
//查询计划包件的EXCEL列表数据
List<DistributionStockupPackageListDetailExcel> listExcel = distributionStockupService.exportStockUptDetail(list);
ExcelUtil.export(response, "自提备货数据" + DateUtil.time(), "自提备货数据表", listExcel, DistributionStockupPackageListDetailExcel.class);
MyExcelUtil.export(response,listExcel);
}

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigInfoVO.java

@ -12,6 +12,11 @@ public class StockConfigInfoVO {
*/
private String customer;
/**
* 以备数量
*/
private Integer realityNum;
/**
* 地址
*/

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

@ -1,5 +1,6 @@
package com.logpm.distribution.excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
@ -52,19 +53,23 @@ public class DistributionStockupPackageListDetailExcel {
@ExcelProperty("计划件数")
private Integer reservationNum;
@ExcelIgnore
private Integer isInventory;
@ExcelIgnore
private String isZero;
/**
* 包件码
*/
@ExcelIgnore
private String orderPackageCode;
@ColumnWidth(20)
@ExcelProperty("是否零担")
@ColumnWidth(200)
@ExcelProperty("托盘名称")
private String trayNames;
@ColumnWidth(20)
@ExcelProperty("是否零担")
@ColumnWidth(50)
@ExcelProperty("库存名称")
private String allocationNames;

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -1166,7 +1166,7 @@
ldrs.reservation_num reservationNum,
lds.remarks remarks,
ldrs.is_zero isZero,
0 AS isInventory,
GROUP_CONCAT(DISTINCT ldpl.material_name) AS productName,
GROUP_CONCAT(DISTINCT ldpl.order_package_code) AS orderPackageCode
FROM

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

@ -2964,9 +2964,21 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
stockConfigInfoVO.setAddress(reservationEntity.getDeliveryAddress()); //地址
List<StockConfigOrderPackageListVO> ls = new ArrayList<>();
//过滤出同物料库存品的ID信息
List<Long> stockListIds = distributionStockListEntities.stream().map(DistributionStockListEntity::getId).collect(Collectors.toList());
//查询该物料的库存品信息
List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationStocklistService.list(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
.in(DistributionReservationStocklistEntity::getStocklistId, stockListIds)
.notIn(DistributionReservationStocklistEntity::getStockListStatus, 1, 3)
);
if (Func.isNotEmpty(reservationStocklistEntityList)){
int realityNum = reservationStocklistEntityList.stream().mapToInt(DistributionReservationStocklistEntity::getRealityNum).sum();
stockConfigInfoVO.setRealityNum(realityNum); //地址
}
LambdaQueryWrapper<DistributionStockEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DistributionStockEntity::getReservationId, stockupDTO.getReservationId());
lambdaQueryWrapper.eq(DistributionStockEntity::getAllocationId, stockupDTO.getAllocationId());

Loading…
Cancel
Save