diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java index e65b1ca..4c5e254 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java @@ -160,6 +160,8 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService //检查物料 part = checkPartByPartNo(model.getPartNo(), model.getOrganizeCode()); + //20250517-46981 电子化检验 NC判定 虚结构不可录入 + checkPartIsImaginaryStructure(model.getOrganizeCode(), model.getPartNo()); //获取NC-零件检测-单据 if(!Objects.isNull(model.getId())){ @@ -1073,6 +1075,8 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService throw new ImppBusiException(String.format("【%s】此条码对应【%s】物料号未维护零件类型,请检查数据", produceSn.getProductSn(), produceSn.getPartNo())); } + //20250517-46981 电子化检验 NC判定 虚结构不可录入 + checkPartIsImaginaryStructure(org, part.getPartNo()); return part; } @@ -1404,4 +1408,15 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService detail.setSystemSyncStatus(CommonEnumUtil.FALSE); detail.setSystemSyncDatetime(MesPcnExtConstWords.EMPTY); } + + private void checkPartIsImaginaryStructure(String organizeCode, String partNo) { + DdlPackBean productVersionPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack("虚零件", "description", productVersionPackBean); + DdlPreparedPack.getStringEqualPack(partNo, "partNo", productVersionPackBean); + int count = productVersionRepository.findByHqlWhereCount(productVersionPackBean); + if (count > 0) { + throw new ImppBusiException(String.format("物料号【%s】为虚零件,请检查数据", partNo)); + } + } + }