diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java index b14febf..81b54f0 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java @@ -230,7 +230,9 @@ public class MesBomService extends BaseMesService implements IMesBomServ public MesBom findBom(String organizeCode, String bomVersion, String partNo) { DdlPackBean bomPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, bomPackBean); - DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, bomPackBean); + if (bomVersion != null){ + DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, bomPackBean); + } DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), bomPackBean); List bomList = this.baseRDao.findByHqlTopWhere(bomPackBean,1); return bomList.isEmpty() ? null : bomList.get(0); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesSortRuleCfgOfflineServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesSortRuleCfgOfflineServiceImpl.java index 340fa32..579f699 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesSortRuleCfgOfflineServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesSortRuleCfgOfflineServiceImpl.java @@ -92,9 +92,15 @@ public class MesSortRuleCfgOfflineServiceImpl implements IMesSortRuleCfgOfflineS if (count > 0){ return; } - MesProductVersion mesProductVersion = getMesProductVersion(productPartNo, organizeCode); + MesProductVersion mesProductVersion= null; + if (mesPartProdGroup.getEnableBomVersion() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){ + mesProductVersion = getMesProductVersion(productPartNo, organizeCode); + } //4.总成零件号打散bom - String bomVersion = mesProductVersion.getAlternativePartList(); + String bomVersion = null; + if (mesProductVersion != null){ + bomVersion = mesProductVersion.getAlternativePartList(); + } MesBom bom = mesBomService.findBom(organizeCode, bomVersion, productPartNo); if (bom == null) { return; @@ -109,6 +115,9 @@ public class MesSortRuleCfgOfflineServiceImpl implements IMesSortRuleCfgOfflineS } //5.打散的bom 获取排序加工规则 List workOrderPartList = dismantleBom(productPartNo, 1, TimeTool.getNowTime(true), bom.getBomCode(), organizeCode, detail.getWorkCellCode()); + if (workOrderPartList.isEmpty()){ + return; + } //6.装配件获取的三种条件 String custCode = mesCustomerPart.getCustCode(); MesCustomerCarModel mesCustomerCarModel = getMesCustomerCarModel(custPartNo, organizeCode, custCode); @@ -257,7 +266,7 @@ public class MesSortRuleCfgOfflineServiceImpl implements IMesSortRuleCfgOfflineS ddlPackBean.setOrderByStr(" order by createDatetime desc "); List mesProductVersionList = mesProductVersionRDao.findByHqlTopWhere(ddlPackBean, 1); if (Objects.isNull(mesProductVersionList) || mesProductVersionList.isEmpty()) { - MesException.throwMesBusiException("物料【%s】对应的生产版本信息不存在", partNo); + return null; } return mesProductVersionList.get(0); }