WMS入库单bug修改

This commit is contained in:
秦鸿展
2026-01-23 08:41:41 +08:00
parent 65a3d4d5c9
commit 581421da33
9 changed files with 347 additions and 158 deletions
@@ -1,6 +1,7 @@
package com.mhd.wms.domain.stockInOrder.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel;
@@ -229,6 +230,7 @@ public class StockInOrder extends BaseVOEntity {
// ========== 报关相关字段 ==========
@ApiModelProperty("To")
@Excel(name = "To")
@TableField(value = "\"TO\"")
private String to;
@ApiModelProperty("联系人")
@@ -297,15 +299,15 @@ public class StockInOrder extends BaseVOEntity {
@ApiModelProperty("海关是否查验货物")
@Excel(name = "海关是否查验货物")
private String customsInspection;
private Integer customsInspection;
@ApiModelProperty("是否需要报关")
@Excel(name = "是否需要报关")
private String needCustomsDeclaration;
private Integer needCustomsDeclaration;
@ApiModelProperty("是否需要运输")
@Excel(name = "是否需要运输")
private String needTransport;
private Integer needTransport;
@ApiModelProperty("入仓日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@@ -298,15 +298,15 @@ public class StockInOrderPO extends BaseVOEntity {
@ApiModelProperty("海关是否查验货物")
@Excel(name = "海关是否查验货物")
private String customsInspection;
private Integer customsInspection;
@ApiModelProperty("是否需要报关")
@Excel(name = "是否需要报关")
private String needCustomsDeclaration;
private Integer needCustomsDeclaration;
@ApiModelProperty("是否需要运输")
@Excel(name = "是否需要运输")
private String needTransport;
private Integer needTransport;
@ApiModelProperty("入仓日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@@ -313,15 +313,15 @@ public class StockInOrderDO extends BaseVOEntity {
@ApiModelProperty("海关是否查验货物(默认:否)")
@Excel(name = "海关是否查验货物")
private String customsInspection;
private Integer customsInspection;
@ApiModelProperty("是否需要报关(默认:是)")
@Excel(name = "是否需要报关")
private String needCustomsDeclaration;
private Integer needCustomsDeclaration;
@ApiModelProperty("是否需要运输(默认:否)")
@Excel(name = "是否需要运输")
private String needTransport;
private Integer needTransport;
@ApiModelProperty("入仓日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@@ -31,6 +31,7 @@ import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
import lombok.extern.slf4j.Slf4j;
@@ -84,21 +85,21 @@ public class StockInOrderDomainService {
@Transactional(rollbackFor = Exception.class)
public Boolean insert(StockInOrderDO stockInOrderDO) {
stockInOrderDO.setInOrderNumber(OrderSequence.getOrderCode("RK"));
//设置默认值
setDefaultValues(stockInOrderDO);
//设置物料信息
setMaterialDetailInfo(stockInOrderDO);
//统计总物料种数
stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
//统计总计划数
BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
stockInOrderDO.setQuantity(quantity);
//统计总重量
BigDecimal weightLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getWeightLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
stockInOrderDO.setWeightLimit(weightLimit);
//统计总体积
BigDecimal volumeLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getVolumeLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
stockInOrderDO.setVolumeLimit(volumeLimit);
// //设置默认值
// setDefaultValues(stockInOrderDO);
// //设置物料信息
// setMaterialDetailInfo(stockInOrderDO);
// //统计总物料种数
// stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
// //统计总计划数
// BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
// stockInOrderDO.setQuantity(quantity);
// //统计总重量
// BigDecimal weightLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getWeightLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
// stockInOrderDO.setWeightLimit(weightLimit);
// //统计总体积
// BigDecimal volumeLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getVolumeLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
// stockInOrderDO.setVolumeLimit(volumeLimit);
stockInOrderService.insert(stockInOrderDO);
return materialDetailService.batchInsert(stockInOrderDO.getInOrderNumber(), stockInOrderDO.getMaterialDetailList());
}
@@ -112,19 +113,19 @@ public class StockInOrderDomainService {
if (StringUtils.isBlank(stockInOrderDO.getInOrderNumber())){
stockInOrderDO.setInOrderNumber(OrderSequence.getOrderCode("RK"));
}
//设置物料信息
setMaterialDetailInfo(stockInOrderDO);
//统计总物料种数
stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
//统计总计划数
BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
stockInOrderDO.setQuantity(quantity);
//统计总重量
BigDecimal weightLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getWeightLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
stockInOrderDO.setWeightLimit(weightLimit);
//统计总体积
BigDecimal volumeLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getVolumeLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
stockInOrderDO.setVolumeLimit(volumeLimit);
// //设置物料信息
// setMaterialDetailInfo(stockInOrderDO);
// //统计总物料种数
// stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
// //统计总计划数
// BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
// stockInOrderDO.setQuantity(quantity);
// //统计总重量
// BigDecimal weightLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getWeightLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
// stockInOrderDO.setWeightLimit(weightLimit);
// //统计总体积
// BigDecimal volumeLimit = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getVolumeLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
// stockInOrderDO.setVolumeLimit(volumeLimit);
stockInOrderService.insert(stockInOrderDO);
materialDetailService.batchInsert(stockInOrderDO.getInOrderNumber(), stockInOrderDO.getMaterialDetailList());
}
@@ -145,7 +146,7 @@ public class StockInOrderDomainService {
//统计总物料种数
stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
//统计总计划数
BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
stockInOrderPO.setQuantity(quantity);
stockInOrderDO.setQuantity(quantity);
//统计总重量
@@ -306,7 +307,25 @@ public class StockInOrderDomainService {
});
//判断物流是否需要生成质检单
genQualityInspection(stockReceiptOrderDOList);
return stockReceiptOrderDomainService.batchInsert(stockReceiptOrderDOList);
//生成收货单
Boolean batchInsertResult = stockReceiptOrderDomainService.batchInsert(stockReceiptOrderDOList);
if (!batchInsertResult) {
throw new ServiceException("生成收货单失败");
}
//生成收货任务:根据入库单号查询刚生成的收货单
List<StockReceiptOrderPO> stockReceiptOrderPOList = new ArrayList<>();
for (String inOrderNumber : inOrderNumberList) {
StockReceiptOrderDO stockReceiptOrderDOQuery = new StockReceiptOrderDO();
stockReceiptOrderDOQuery.setInOrderNumber(inOrderNumber);
List<StockReceiptOrderPO> receiptOrderList = stockReceiptOrderDomainService.queryList(stockReceiptOrderDOQuery);
if (!CollectionUtils.isEmpty(receiptOrderList)) {
stockReceiptOrderPOList.addAll(receiptOrderList);
}
}
if (!CollectionUtils.isEmpty(stockReceiptOrderPOList)) {
stockReceiptOrderDomainService.genStockReceiptTaskOrder(stockReceiptOrderPOList);
}
return batchInsertResult;
}
/**
@@ -411,17 +430,17 @@ public class StockInOrderDomainService {
* @param stockInOrderDO
*/
private void setDefaultValues(StockInOrderDO stockInOrderDO) {
//海关是否查验货物(默认:否)
if (StringUtils.isBlank(stockInOrderDO.getCustomsInspection())) {
stockInOrderDO.setCustomsInspection("");
//海关是否查验货物(默认:0=否)
if (stockInOrderDO.getCustomsInspection() == null) {
stockInOrderDO.setCustomsInspection(0);
}
//是否需要报关(默认:是)
if (StringUtils.isBlank(stockInOrderDO.getNeedCustomsDeclaration())) {
stockInOrderDO.setNeedCustomsDeclaration("");
//是否需要报关(默认:1=是)
if (stockInOrderDO.getNeedCustomsDeclaration() == null) {
stockInOrderDO.setNeedCustomsDeclaration(1);
}
//是否需要运输(默认:否)
if (StringUtils.isBlank(stockInOrderDO.getNeedTransport())) {
stockInOrderDO.setNeedTransport("");
//是否需要运输(默认:0=否)
if (stockInOrderDO.getNeedTransport() == null) {
stockInOrderDO.setNeedTransport(0);
}
}