refactor(wms): 优化物料卷管理逻辑
- 移除重复的原材料和产品字段映射 - 使用 CASE 表达式统一处理不同类型的物料属性 - 简化 Java 服务层中的物料对象构建逻辑 - 删除冗余的 fillItemObject 方法 - 统一通过 itemType 判断设置对应物料信息
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user