diff --git a/src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java index 59b9d08f..3292e7c5 100644 --- a/src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java @@ -660,13 +660,14 @@ public class BomManagementServiceImpl extends ServiceImpl saveBomComponent(BomComponentEntity data) { + String normalizedComponentPart = normalizeAndValidateComponentPart(data); // // 校验查重 // List checkList = bomManagementMapper.checkBomComponentOnlyOne(data); // if (!checkList.isEmpty()) { // throw new RuntimeException("子物料已存在,请检查!"); // } // 校验不能选择自己为子件 - if (data.getPartNo().equals(data.getComponentPart())) { + if (StringUtils.equals(normalizePartNo(data.getPartNo()), normalizedComponentPart)) { throw new RuntimeException("不能将自己作为子物料!"); } // 校验子物料是否合规 @@ -812,6 +813,7 @@ public class BomManagementServiceImpl extends ServiceImpl updateBomComponent(BomComponentEntity data) { + normalizeAndValidateComponentPart(data); BomComponentEntity oldData = bomManagementMapper.queryBomComponentByLineItemNo(data); // 修改bom子明细物料 if ("byProduct".equals(data.getProductFlag())) { @@ -886,6 +888,7 @@ public class BomManagementServiceImpl extends ServiceImpl().eq("site", data.getSite()).eq("part_no", data.getComponentPart())); if (partInformationEntity == null) { @@ -1838,6 +1842,22 @@ public class BomManagementServiceImpl extends ServiceImpl saveRecipeComponent(RecipeComponentEntity data) { + String normalizedComponentPart = normalizeAndValidateComponentPart(data); // 校验不能选择自己为子件 - if (data.getPartNo().equals(data.getComponentPart())) { + if (StringUtils.equals(normalizePartNo(data.getPartNo()), normalizedComponentPart)) { throw new RuntimeException("不能将自己作为子物料!"); } // 校验子物料是否合规 @@ -833,6 +834,7 @@ public class RecipeManagementServiceImpl extends ServiceImpl updateRecipeComponent(RecipeComponentEntity data) { + normalizeAndValidateComponentPart(data); // 修改recipe子明细物料 if ("byProduct".equals(data.getProductFlag())) { data.setQtyPerAssembly(data.getQtyPerAssembly().negate()); @@ -1497,4 +1499,20 @@ public class RecipeManagementServiceImpl extends ServiceImpl