补全缺少的批次和货主编码

This commit is contained in:
zhou-hongcheng
2026-03-03 13:59:31 +08:00
parent 28932f1756
commit 2a7091a63e
2 changed files with 10 additions and 0 deletions
@@ -196,6 +196,7 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
Long shipperId = materialInventoryDO.getShipperId(); Long shipperId = materialInventoryDO.getShipperId();
String shipperName = ""; String shipperName = "";
String shipperCode = ""; String shipperCode = "";
String batchNumber = "";
if (shipperId == null && materialInventoryDO.getMaterialBaseInfoId() != null) { if (shipperId == null && materialInventoryDO.getMaterialBaseInfoId() != null) {
// shipperId = materialBaseInfoIdToShipperIdMap.get(materialInventoryDO.getMaterialBaseInfoId()); // shipperId = materialBaseInfoIdToShipperIdMap.get(materialInventoryDO.getMaterialBaseInfoId());
MaterialBaseInfoPO materialBaseInfoPO = materialBaseInfoIdToShipperIdMap.get(materialInventoryDO.getMaterialBaseInfoId()); MaterialBaseInfoPO materialBaseInfoPO = materialBaseInfoIdToShipperIdMap.get(materialInventoryDO.getMaterialBaseInfoId());
@@ -203,6 +204,12 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
shipperName = materialBaseInfoPO.getShipperName(); shipperName = materialBaseInfoPO.getShipperName();
shipperCode = materialBaseInfoPO.getShipperCode(); shipperCode = materialBaseInfoPO.getShipperCode();
} }
if (StringUtils.isEmpty(shipperCode) || materialInventoryDO.getBatchNumber() == null) {
Long materialInventoryId = materialInventoryDO.getMaterialInventoryId();
MaterialInventory materialInventory1 = materialInventoryMapper.selectById(materialInventoryId);
shipperCode = materialInventory1.getShipperCode();
batchNumber = materialInventory1.getBatchNumber();
}
//TODO 若数据量升级 后期优化 //TODO 若数据量升级 后期优化
// 查询现有库存时,按唯一索引(storage_location_id, material_base_info_id, shipper_id) 查询 // 查询现有库存时,按唯一索引(storage_location_id, material_base_info_id, shipper_id) 查询
@@ -242,6 +249,7 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
} }
if (StringUtils.isEmpty(materialInventory.getShipperCode())){ if (StringUtils.isEmpty(materialInventory.getShipperCode())){
materialInventory.setShipperCode(shipperCode); materialInventory.setShipperCode(shipperCode);
materialInventory.setBatchNumber(batchNumber);
} }
// 如果批次号、容器ID、物料状态等字段在唯一性约束中,应该保留;否则,使用第一个值 // 如果批次号、容器ID、物料状态等字段在唯一性约束中,应该保留;否则,使用第一个值
// 由于唯一性约束只包含storage_location_id和material_base_info_id,我们保留这些字段的值 // 由于唯一性约束只包含storage_location_id和material_base_info_id,我们保留这些字段的值
@@ -426,6 +426,7 @@ public class ShiftManageDomainService {
shiftMaterialDetailPO.setGrossWeight(materialInventoryOldDb.getGrossWeight()); shiftMaterialDetailPO.setGrossWeight(materialInventoryOldDb.getGrossWeight());
shiftMaterialDetailPO.setVolume(materialInventoryOldDb.getVolume()); shiftMaterialDetailPO.setVolume(materialInventoryOldDb.getVolume());
shiftMaterialDetailPO.setArea(materialInventoryOldDb.getArea()); shiftMaterialDetailPO.setArea(materialInventoryOldDb.getArea());
shiftMaterialDetailPO.setMaterialInventoryId(materialInventoryOldDb.getMaterialInventoryId());
materialInventoryNowList.add(genMaterialInventory(shiftMaterialDetailPO)); materialInventoryNowList.add(genMaterialInventory(shiftMaterialDetailPO));
List<ShiftMaterialDetailPO> shiftMaterialDetailPOChildrenList = shiftMaterialDetailPO.getChildren(); List<ShiftMaterialDetailPO> shiftMaterialDetailPOChildrenList = shiftMaterialDetailPO.getChildren();
for (ShiftMaterialDetailPO shiftMaterialDetailPOChildren : shiftMaterialDetailPOChildrenList){ for (ShiftMaterialDetailPO shiftMaterialDetailPOChildren : shiftMaterialDetailPOChildrenList){
@@ -533,6 +534,7 @@ public class ShiftManageDomainService {
materialInventoryDONow.setGrossWeight(shiftMaterialDetailPO.getGrossWeight()); materialInventoryDONow.setGrossWeight(shiftMaterialDetailPO.getGrossWeight());
materialInventoryDONow.setVolume(shiftMaterialDetailPO.getVolume()); materialInventoryDONow.setVolume(shiftMaterialDetailPO.getVolume());
materialInventoryDONow.setArea(shiftMaterialDetailPO.getArea()); materialInventoryDONow.setArea(shiftMaterialDetailPO.getArea());
materialInventoryDONow.setMaterialInventoryId(shiftMaterialDetailPO.getMaterialInventoryId());
materialInventoryDONow.setOrganizationId(loginUser.getUserPo().getOrganizationId()); materialInventoryDONow.setOrganizationId(loginUser.getUserPo().getOrganizationId());
materialInventoryDONow.setOrganizationName(loginUser.getUserPo().getOrganizationName()); materialInventoryDONow.setOrganizationName(loginUser.getUserPo().getOrganizationName());
materialInventoryDONow.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); materialInventoryDONow.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());