refactor(wms): 优化调拨单项目物料信息填充逻辑
- 将通用的fillMaterialInfo方法拆分为fillMaterialInfoBefore和fillMaterialInfoAfter两个专用方法 - 修复了物料信息填充时字段映射错误问题,确保Before和After字段正确设置 - 增强了代码可读性和维护性,明确区分前后物料信息处理逻辑 - 保持了原有的业务逻辑不变,仅优化方法结构和字段赋值准确性
This commit is contained in:
@@ -130,10 +130,10 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
|
||||
|
||||
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) {
|
||||
@@ -156,7 +156,34 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
|
||||
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) {
|
||||
return;
|
||||
}
|
||||
@@ -174,12 +201,12 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
|
||||
} else if (materialType == 2) {
|
||||
WmsProduct product = productMapper.selectById(itemId);
|
||||
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());
|
||||
vo.setMaterialNameBefore(product.getProductName());
|
||||
vo.setSpecificationBefore(product.getSpecification());
|
||||
vo.setMaterialBefore(product.getMaterial());
|
||||
vo.setSurfaceTreatmentBefore(product.getSurfaceTreatmentDesc());
|
||||
vo.setManufacturerBefore(product.getManufacturer());
|
||||
vo.setZincLayerBefore(product.getZincLayer());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user