refactor(wms): 优化调拨单项目物料信息填充逻辑

- 将通用的fillMaterialInfo方法拆分为fillMaterialInfoBefore和fillMaterialInfoAfter两个专用方法
- 修复了物料信息填充时字段映射错误问题,确保Before和After字段正确设置
- 增强了代码可读性和维护性,明确区分前后物料信息处理逻辑
- 保持了原有的业务逻辑不变,仅优化方法结构和字段赋值准确性
This commit is contained in:
2026-03-28 13:35:48 +08:00
parent 6e23e932da
commit 00939dae2f

View File

@@ -130,10 +130,10 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
private void fillDetailInfo(WmsTransferOrderItemVo vo) { private void fillDetailInfo(WmsTransferOrderItemVo vo) {
// 填充改之前物料信息 // 填充改之前物料信息
fillMaterialInfo(vo, vo.getItemIdBefore(), vo.getMaterialTypeBefore(), "Before"); fillMaterialInfoBefore(vo, vo.getItemIdBefore(), vo.getMaterialTypeBefore(), "Before");
// 填充改之后物料信息 // 填充改之后物料信息
fillMaterialInfo(vo, vo.getItemIdAfter(), vo.getMaterialTypeAfter(), "After"); fillMaterialInfoAfter(vo, vo.getItemIdAfter(), vo.getMaterialTypeAfter(), "After");
// 填充库区名称 // 填充库区名称
if (vo.getWarehouseIdBefore() != null) { if (vo.getWarehouseIdBefore() != null) {
@@ -156,7 +156,34 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
vo.setMaterialTypeAfterName(vo.getMaterialTypeAfter() != null ? (vo.getMaterialTypeAfter() == 1 ? "原料" : "成品") : null); vo.setMaterialTypeAfterName(vo.getMaterialTypeAfter() != null ? (vo.getMaterialTypeAfter() == 1 ? "原料" : "成品") : null);
} }
private void fillMaterialInfo(WmsTransferOrderItemVo vo, Long itemId, Long materialType, String suffix) { private void fillMaterialInfoAfter(WmsTransferOrderItemVo vo, Long itemIdAfter, Long materialTypeAfter, String after) {
if (itemIdAfter == null || materialTypeAfter == null) {
return;
}
if (materialTypeAfter == 1) {
WmsRawMaterial raw = rawMaterialMapper.selectById(itemIdAfter);
if (raw != null) {
vo.setMaterialNameAfter(raw.getRawMaterialName());
vo.setSpecificationAfter(raw.getSpecification());
vo.setMaterialAfter(raw.getMaterial());
vo.setSurfaceTreatmentAfter(raw.getSurfaceTreatmentDesc());
vo.setManufacturerAfter(raw.getManufacturer());
vo.setZincLayerAfter(raw.getZincLayer());
}
} else if (materialTypeAfter == 2) {
WmsProduct product = productMapper.selectById(itemIdAfter);
if (product != null) {
vo.setMaterialNameAfter(product.getProductName());
vo.setSpecificationAfter(product.getSpecification());
vo.setMaterialAfter(product.getMaterial());
vo.setSurfaceTreatmentAfter(product.getSurfaceTreatmentDesc());
vo.setManufacturerAfter(product.getManufacturer());
vo.setZincLayerAfter(product.getZincLayer());
}
}
}
private void fillMaterialInfoBefore(WmsTransferOrderItemVo vo, Long itemId, Long materialType, String suffix) {
if (itemId == null || materialType == null) { if (itemId == null || materialType == null) {
return; return;
} }
@@ -174,12 +201,12 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
} else if (materialType == 2) { } else if (materialType == 2) {
WmsProduct product = productMapper.selectById(itemId); WmsProduct product = productMapper.selectById(itemId);
if (product != null) { if (product != null) {
vo.setMaterialNameAfter(product.getProductName()); vo.setMaterialNameBefore(product.getProductName());
vo.setSpecificationAfter(product.getSpecification()); vo.setSpecificationBefore(product.getSpecification());
vo.setMaterialAfter(product.getMaterial()); vo.setMaterialBefore(product.getMaterial());
vo.setSurfaceTreatmentAfter(product.getSurfaceTreatmentDesc()); vo.setSurfaceTreatmentBefore(product.getSurfaceTreatmentDesc());
vo.setManufacturerAfter(product.getManufacturer()); vo.setManufacturerBefore(product.getManufacturer());
vo.setZincLayerAfter(product.getZincLayer()); vo.setZincLayerBefore(product.getZincLayer());
} }
} }
} }