fix(pbom): 修复当工艺包物料在主物料已存在时,创建工艺包没有如预期创建节点的问题

This commit is contained in:
曹鹏飞 2024-06-29 14:32:18 +08:00
parent 4217fa8b83
commit 999e071e4b
1 changed files with 25 additions and 19 deletions

View File

@ -521,29 +521,35 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
// 检查改图号是否已存在主数据中
List<MaterialMainEntity> materials = materialMainService.lambdaQuery().eq(MaterialMainEntity::getDrawingNo, drawingNo).list();
if (CollUtil.isNotEmpty(materials)) {
return Convert.convert(BaseMaterialVO.class, materials.get(0));
}
// if (CollUtil.isNotEmpty(materials)) {
// return Convert.convert(BaseMaterialVO.class, materials.get(0));
// }
// materialName = StrUtil.join("", result.getMaterialName(), technologyPackageTypeEntity.getRemark());
// materialDesc = StrUtil.join(" ", materialName, drawingNo);
AddVirtrualMaterialDTO toM = new AddVirtrualMaterialDTO();
String key = String.valueOf(IdWorker.getId());
toM.setKey(key);
toM.setMaterialName(materialName);
toM.setDrawingNo(drawingNo);
toM.setMaterialDesc(materialDesc);
toM.setMaterialCategoryCode("201201");
toM.setProjectType(packageParam.getProjectType());
toM.setMaterialGetType(1);
Map<String, AddVirtrualMaterialDTO> mMap = materialService.batchAddMaterial(ImmutableList.of(toM));
// String materialNo = materialService.addMaterial(drawingNo, materialName, materialDesc, "201201");
String materialNo = mMap.get(key).getMaterialNo();
BaseMaterialVO resultD = materialMainService.getMaterialBaseInfo(ImmutableList.of(materialNo)).get(0);
//插入工艺包
packageParam.setTechnologyPackageMaterialNo(materialNo);
insertTechnologyPackage(packageParam);
BaseMaterialVO resultD;
if (CollUtil.isEmpty(materials)) {
AddVirtrualMaterialDTO toM = new AddVirtrualMaterialDTO();
String key = String.valueOf(IdWorker.getId());
toM.setKey(key);
toM.setMaterialName(materialName);
toM.setDrawingNo(drawingNo);
toM.setMaterialDesc(materialDesc);
toM.setMaterialCategoryCode("201201");
toM.setProjectType(packageParam.getProjectType());
toM.setMaterialGetType(1);
Map<String, AddVirtrualMaterialDTO> mMap = materialService.batchAddMaterial(ImmutableList.of(toM));
// String materialNo = materialService.addMaterial(drawingNo, materialName, materialDesc, "201201");
String materialNo = mMap.get(key).getMaterialNo();
resultD = materialMainService.getMaterialBaseInfo(ImmutableList.of(materialNo)).get(0);
//插入工艺包
packageParam.setTechnologyPackageMaterialNo(materialNo);
} else {
resultD = Convert.convert(BaseMaterialVO.class, materials.get(0));
packageParam.setTechnologyPackageMaterialNo(resultD.getMaterialNo());
}
insertTechnologyPackage(packageParam, resultD);
return resultD;
}