入库管理修改
This commit is contained in:
+16
@@ -216,6 +216,22 @@ public class ReceiptMaterialDetailPO extends BaseVOEntity {
|
||||
@Excel(name = "是否生成上架单: 1-是 2-否")
|
||||
private Integer genStockShelf;
|
||||
|
||||
@ApiModelProperty("总净重(KG)")
|
||||
@Excel(name = "总净重(KG)")
|
||||
private BigDecimal totalNetWeight;
|
||||
|
||||
@ApiModelProperty("总毛重(KG)")
|
||||
@Excel(name = "总毛重(KG)")
|
||||
private BigDecimal totalGrossWeight;
|
||||
|
||||
@ApiModelProperty("总体积(CBM)")
|
||||
@Excel(name = "总体积(CBM)")
|
||||
private BigDecimal totalVolume;
|
||||
|
||||
@ApiModelProperty("总面积(SQM)")
|
||||
@Excel(name = "总面积(SQM)")
|
||||
private BigDecimal totalArea;
|
||||
|
||||
@ApiModelProperty("物料明细子集")
|
||||
private List<ReceiptMaterialDetailPO> children;
|
||||
|
||||
|
||||
+24
@@ -24,6 +24,7 @@ import com.mhd.wms.domain.containerUsageRecord.repository.todo.ContainerUsageRec
|
||||
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
|
||||
import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
|
||||
import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService;
|
||||
import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO;
|
||||
import com.mhd.wms.domain.inMaterialDetailSerialNumber.repository.facade.IInMaterialDetailSerialNumberService;
|
||||
import com.mhd.wms.domain.inMaterialDetailSerialNumber.repository.po.InMaterialDetailSerialNumberPO;
|
||||
import com.mhd.wms.domain.inMaterialDetailSerialNumber.repository.todo.InMaterialDetailSerialNumberDO;
|
||||
@@ -703,6 +704,26 @@ public class StockReceiptOrderDomainService {
|
||||
List<ReceiptMaterialDetailPO> receiptMaterialDetailPOS = receiptMaterialDetailService.queryList(receiptMaterialDetailDO);
|
||||
//上架单明细集合
|
||||
List<ShelfMaterialDetailDO> shelfMaterialDetailDOList = new ArrayList<>();
|
||||
// 批量查询入库单明细,用于获取净重、毛重、体积、面积等字段
|
||||
List<Long> inUniqueIds = receiptMaterialDetailPOS.stream()
|
||||
.filter(r -> 2 == r.getGenStockShelf() && r.getInUniqueId() != null)
|
||||
.map(ReceiptMaterialDetailPO::getInUniqueId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
Map<Long, InMaterialDetailPO> inMaterialDetailMap = new HashMap<>();
|
||||
if (!CollectionUtils.isEmpty(inUniqueIds)) {
|
||||
// 使用 MyBatis-Plus 的 QueryWrapper 批量查询入库单明细
|
||||
QueryWrapper<com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("unique_id", inUniqueIds);
|
||||
queryWrapper.eq("del_flag", 1);
|
||||
List<com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail> inMaterialDetailList = iInMaterialDetailService.list(queryWrapper);
|
||||
// 转换为 PO 对象
|
||||
for (com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail inMaterialDetail : inMaterialDetailList) {
|
||||
InMaterialDetailPO inMaterialDetailPO = new InMaterialDetailPO();
|
||||
BeanUtils.copyProperties(inMaterialDetail, inMaterialDetailPO);
|
||||
inMaterialDetailMap.put(inMaterialDetail.getUniqueId(), inMaterialDetailPO);
|
||||
}
|
||||
}
|
||||
for (ReceiptMaterialDetailPO receiptMaterialDetailPO : receiptMaterialDetailPOS) {
|
||||
if (2 == receiptMaterialDetailPO.getGenStockShelf()) {
|
||||
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
|
||||
@@ -710,6 +731,9 @@ public class StockReceiptOrderDomainService {
|
||||
shelfMaterialDetailDO.setQuantity(receiptMaterialDetailPO.getReceiptQuantity());
|
||||
shelfMaterialDetailDO.setInUniqueId(receiptMaterialDetailPO.getInUniqueId());
|
||||
shelfMaterialDetailDO.setReceiptUniqueId(receiptMaterialDetailPO.getUniqueId());
|
||||
// 从入库单明细中获取净重、毛重、体积、面积等字段
|
||||
// 注意:由于 ShelfMaterialDetailDO 中没有这些字段,这些字段需要在查询时通过关联查询获取
|
||||
// 或者需要先在上架单明细实体类中添加这些字段
|
||||
shelfMaterialDetailDOList.add(shelfMaterialDetailDO);
|
||||
receiptQuantity = receiptQuantity.add(receiptMaterialDetailPO.getReceiptQuantity());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user