refactor(wms): 优化物料卷管理逻辑

- 移除重复的原材料和产品字段映射
- 使用 CASE 表达式统一处理不同类型的物料属性
- 简化 Java 服务层中的物料对象构建逻辑
- 删除冗余的 fillItemObject 方法
- 统一通过 itemType 判断设置对应物料信息
This commit is contained in:
2025-11-18 10:42:05 +08:00
parent ed80b11007
commit a3b8a74430
2 changed files with 48 additions and 88 deletions

View File

@@ -371,67 +371,31 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
}
// 构建原材料对象
if ("raw_material".equals(vo.getItemType()) && vo.getRawMaterialId() != null) {
if ("raw_material".equals(vo.getItemType())) {
WmsRawMaterialVo rawMaterial = new WmsRawMaterialVo();
rawMaterial.setRawMaterialId(vo.getRawMaterialId());
rawMaterial.setRawMaterialCode(vo.getRawMaterialCode());
rawMaterial.setRawMaterialName(vo.getRawMaterialName());
rawMaterial.setSpecification(vo.getRawMaterialSpecification());
rawMaterial.setSteelGrade(vo.getRawMaterialSteelGrade());
rawMaterial.setThickness(vo.getRawMaterialThickness());
rawMaterial.setWidth(vo.getRawMaterialWidth());
rawMaterial.setBomId(vo.getRawMaterialBomId());
rawMaterial.setRawMaterialId(vo.getItemId());
rawMaterial.setRawMaterialCode(vo.getItemCode());
rawMaterial.setRawMaterialName(vo.getItemName());
rawMaterial.setSpecification(vo.getSpecification());
rawMaterial.setMaterial(vo.getMaterial());
rawMaterial.setManufacturer(vo.getManufacturer());
rawMaterial.setSurfaceTreatmentDesc(vo.getSurfaceTreatmentDesc());
rawMaterial.setZincLayer(vo.getZincLayer());
vo.setRawMaterial(rawMaterial);
}
// 构建产品对象
if ("product".equals(vo.getItemType()) && vo.getProductId() != null) {
WmsProductVo product = new WmsProductVo();
product.setProductId(vo.getProductId());
product.setProductCode(vo.getProductCode());
product.setProductName(vo.getProductName());
product.setSpecification(vo.getProductSpecification());
product.setThickness(vo.getProductThickness());
product.setWidth(vo.getProductWidth());
product.setBomId(vo.getProductBomId());
vo.setProduct(product);
}
}
/**
* 填充物品对象(产品或原材料)- 保留作为备用方法
*/
private void fillItemObject(WmsMaterialCoilVo vo) {
if (vo.getItemId() == null || vo.getItemType() == null) {
return;
}
// 查询原材料信息
if ("raw_material".equals(vo.getItemType())) {
WmsRawMaterialVo rawMaterial = rawMaterialService.queryById(vo.getItemId());
vo.setRawMaterial(rawMaterial);
// 查询原材料对应的BOM信息
if (rawMaterial != null && rawMaterial.getBomId() != null) {
WmsBomItemBo bomItemBo = new WmsBomItemBo();
bomItemBo.setBomId(rawMaterial.getBomId());
List<WmsBomItemVo> bomItemList = bomItemService.queryList(bomItemBo);
vo.setBomItemList(bomItemList);
}
}
// 查询产品信息
if ("product".equals(vo.getItemType())) {
WmsProductVo product = productService.queryById(vo.getItemId());
WmsProductVo product = new WmsProductVo();
product.setProductId(vo.getItemId());
product.setProductCode(vo.getItemCode());
product.setProductName(vo.getItemName());
product.setSpecification(vo.getSpecification());
product.setMaterial(vo.getMaterial());
product.setManufacturer(vo.getManufacturer());
product.setSurfaceTreatmentDesc(vo.getSurfaceTreatmentDesc());
product.setZincLayer(vo.getZincLayer());
vo.setProduct(product);
// 查询产品对应的BOM信息
if (product != null && product.getBomId() != null) {
WmsBomItemBo bomItemBo = new WmsBomItemBo();
bomItemBo.setBomId(product.getBomId());
List<WmsBomItemVo> bomItemList = bomItemService.queryList(bomItemBo);
vo.setBomItemList(bomItemList);
}
}
}