PDA移位修改
This commit is contained in:
+34
-16
@@ -104,6 +104,10 @@ public class ShiftManageDomainService {
|
||||
Map<Long, List<OutMaterialDetailSerialNumberPO>> inMaterialDetailSerialNumberMap = outMaterialDetailSerialNumberPOList.stream()
|
||||
.collect(Collectors.groupingBy(OutMaterialDetailSerialNumberPO::getMaterialDetailUniqueId));
|
||||
shiftMaterialDetailPOList.forEach(shiftMaterialDetailPO -> {
|
||||
// 第一次移位显示:shiftQuantity 等于计划数量 quantity
|
||||
if (shiftMaterialDetailPO.getShiftQuantity() == null || shiftMaterialDetailPO.getShiftQuantity().compareTo(BigDecimal.ZERO) == 0) {
|
||||
shiftMaterialDetailPO.setShiftQuantity(shiftMaterialDetailPO.getQuantity() != null ? shiftMaterialDetailPO.getQuantity() : BigDecimal.ZERO);
|
||||
}
|
||||
// PDA移位页面:父级也填充批次属性、净重、毛重、面积、体积,保证顶层结构有值
|
||||
fillMaterialMoreDetailForShiftDetail(shiftMaterialDetailPO);
|
||||
// 填充 totalNetWeight 等,供 PDA 表单区(移入数量、移入库位、容器旁)显示
|
||||
@@ -113,6 +117,10 @@ public class ShiftManageDomainService {
|
||||
List<ShiftMaterialDetailPO> shiftMaterialDetailPOChildrenNowList = new ArrayList<>();
|
||||
ShiftMaterialDetailPO shiftMaterialDetailPOChildrenNow = new ShiftMaterialDetailPO();
|
||||
BeanUtils.copyProperties(shiftMaterialDetailPO, shiftMaterialDetailPOChildrenNow, "children");
|
||||
// parent_copy 首次显示时 shiftQuantity 等于计划数量
|
||||
if (shiftMaterialDetailPOChildrenNow.getShiftQuantity() == null || shiftMaterialDetailPOChildrenNow.getShiftQuantity().compareTo(BigDecimal.ZERO) == 0) {
|
||||
shiftMaterialDetailPOChildrenNow.setShiftQuantity(shiftMaterialDetailPOChildrenNow.getQuantity() != null ? shiftMaterialDetailPOChildrenNow.getQuantity() : BigDecimal.ZERO);
|
||||
}
|
||||
List<OutMaterialDetailSerialNumberPO> materialDetailSerialNumberList = inMaterialDetailSerialNumberMap.get(shiftMaterialDetailPO.getUniqueId());
|
||||
if (!CollectionUtils.isEmpty(materialDetailSerialNumberList)){
|
||||
shiftMaterialDetailPOChildrenNow.setMaterialDetailSerialNumberList(materialDetailSerialNumberList);
|
||||
@@ -126,18 +134,24 @@ public class ShiftManageDomainService {
|
||||
shiftMaterialDetailPOChildrenNowList.add(shiftMaterialDetailPOChildrenNow);
|
||||
//子集
|
||||
List<ShiftMaterialDetailPO> shiftMaterialDetailPOChildrenList = shiftMaterialDetailPO.getChildren();
|
||||
shiftMaterialDetailPOChildrenList.forEach(receiptMaterialDetailPOChildren -> {
|
||||
fillMaterialMoreDetailForShiftDetail(receiptMaterialDetailPOChildren);
|
||||
fillTotalWeightVolumeArea(receiptMaterialDetailPOChildren);
|
||||
fillNewStorageLocationName(receiptMaterialDetailPOChildren);
|
||||
List<OutMaterialDetailSerialNumberPO> materialDetailSerialNumberChildrenList = inMaterialDetailSerialNumberMap.get(shiftMaterialDetailPO.getUniqueId());
|
||||
if (!CollectionUtils.isEmpty(materialDetailSerialNumberChildrenList)){
|
||||
receiptMaterialDetailPOChildren.setMaterialDetailSerialNumberList(materialDetailSerialNumberChildrenList);
|
||||
}else {
|
||||
receiptMaterialDetailPOChildren.setMaterialDetailSerialNumberList(new ArrayList<>());
|
||||
}
|
||||
});
|
||||
shiftMaterialDetailPOChildrenNowList.addAll(shiftMaterialDetailPOChildrenList);
|
||||
if (shiftMaterialDetailPOChildrenList != null) {
|
||||
shiftMaterialDetailPOChildrenList.forEach(receiptMaterialDetailPOChildren -> {
|
||||
// 第一次移位显示:子项 shiftQuantity 等于计划数量
|
||||
if (receiptMaterialDetailPOChildren.getShiftQuantity() == null || receiptMaterialDetailPOChildren.getShiftQuantity().compareTo(BigDecimal.ZERO) == 0) {
|
||||
receiptMaterialDetailPOChildren.setShiftQuantity(receiptMaterialDetailPOChildren.getQuantity() != null ? receiptMaterialDetailPOChildren.getQuantity() : BigDecimal.ZERO);
|
||||
}
|
||||
fillMaterialMoreDetailForShiftDetail(receiptMaterialDetailPOChildren);
|
||||
fillTotalWeightVolumeArea(receiptMaterialDetailPOChildren);
|
||||
fillNewStorageLocationName(receiptMaterialDetailPOChildren);
|
||||
List<OutMaterialDetailSerialNumberPO> materialDetailSerialNumberChildrenList = inMaterialDetailSerialNumberMap.get(shiftMaterialDetailPO.getUniqueId());
|
||||
if (!CollectionUtils.isEmpty(materialDetailSerialNumberChildrenList)){
|
||||
receiptMaterialDetailPOChildren.setMaterialDetailSerialNumberList(materialDetailSerialNumberChildrenList);
|
||||
}else {
|
||||
receiptMaterialDetailPOChildren.setMaterialDetailSerialNumberList(new ArrayList<>());
|
||||
}
|
||||
});
|
||||
shiftMaterialDetailPOChildrenNowList.addAll(shiftMaterialDetailPOChildrenList);
|
||||
}
|
||||
shiftMaterialDetailPO.setChildren(shiftMaterialDetailPOChildrenNowList);
|
||||
});
|
||||
shiftManagePO.setShiftMaterialDetailList(shiftMaterialDetailPOList);
|
||||
@@ -676,10 +690,14 @@ public class ShiftManageDomainService {
|
||||
ShiftMaterialDetailDO shiftMaterialDetailDO = new ShiftMaterialDetailDO();
|
||||
shiftMaterialDetailDO.setShiftNumber(shiftNumber);
|
||||
List<ShiftMaterialDetailPO> shiftMaterialDetailPOList = shiftMaterialDetailService.queryListChildren(shiftMaterialDetailDO);
|
||||
Map<String, List<MaterialMoreDetailPO>> MaterialMoreDetailMap = shiftMaterialDetailList.stream().collect(Collectors.toMap(
|
||||
ShiftMaterialDetailDO::getShiftNumber,
|
||||
ShiftMaterialDetailDO::getMaterialMoreDetailList
|
||||
));
|
||||
// 避免 NPE:getMaterialMoreDetailList 可能为 null;同一 shift 下 shiftNumber 重复需合并
|
||||
Map<String, List<MaterialMoreDetailPO>> MaterialMoreDetailMap = shiftMaterialDetailList.stream()
|
||||
.filter(d -> d.getShiftNumber() != null)
|
||||
.collect(Collectors.toMap(
|
||||
ShiftMaterialDetailDO::getShiftNumber,
|
||||
d -> d.getMaterialMoreDetailList() != null ? d.getMaterialMoreDetailList() : new ArrayList<>(),
|
||||
(a, b) -> a
|
||||
));
|
||||
for (ShiftMaterialDetailPO shiftMaterialDetailPO : shiftMaterialDetailPOList){
|
||||
MaterialInventory materialInventoryOldDb = materialInventoryService.getById(shiftMaterialDetailPO.getMaterialInventoryId());
|
||||
BigDecimal shiftQuantity = shiftMaterialDetailPO.getShiftQuantity();
|
||||
|
||||
Reference in New Issue
Block a user