diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java index 7710129..493ad00 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesBoxingErrorProofingService.java @@ -78,6 +78,9 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer @Autowired private IMesProductionRecordService mesProductionRecordService; + @Autowired + private MesCustomerPartRepository mesCustomerPartRDao; + @Override public ListPager queryMesPackageDetailByPager(MesPackage mesPackage, Pager pager) { @@ -636,7 +639,20 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer || StringUtils.isEmpty(split[packingDefine.getPartNoIndex() - 1])) { MesPcnException.throwMesBusiException("物料号所在位置不存在,请检查数据!"); } - return getPart(mesPackageDetail.getOrganizeCode(), split[packingDefine.getPartNoIndex() - 1]); + String partNo = split[packingDefine.getPartNoIndex() - 1]; + if (Objects.equals(packingDefine.getPackBarcodeCustPartNo(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue())) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesPackageDetail.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(partNo, MesPcnExtConstWords.CUST_PART_NO, packBean); + MesCustomerPart mesCustomerPart = mesCustomerPartRDao.getByProperty(packBean); + if (mesCustomerPart == null) { + MesPcnException.throwMesBusiException("客户零件号[%s]信息不存在,请检查数据!", partNo); + } + partNo = mesCustomerPart.getErpPartNo(); + if (StringUtils.isEmpty(partNo)) { + MesPcnException.throwMesBusiException("客户零件号[%s]未绑定物料号数据,请检查数据!", mesCustomerPart.getCustPartNo()); + } + } + return getPart(mesPackageDetail.getOrganizeCode(), partNo); } private MesPart getPart(String organizeCode, String partNo) {