From 53b5928add2a6f89612ff5522f4625d2fe2f14e0 Mon Sep 17 00:00:00 2001 From: gsz Date: Wed, 28 Aug 2024 15:42:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=B7=A5job=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/MesWorkOrderService.java | 29 ++++++++++++++++------ 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java index 163b21a..e439a46 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java @@ -409,7 +409,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { */ private void expendBomChild(String organizeCode, String partNo, String bomVersion, List bomData) { List bomDetails = findMesBomByPartNoAndBomVersion(partNo, organizeCode, bomVersion); - + if (org.springframework.util.CollectionUtils.isEmpty(bomDetails)) { + MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion); + } for (MesBom item : bomDetails) { MesBom newItem = new MesBom(); BeanUtils.copyProperties(item, newItem); @@ -436,7 +438,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), ddlPackBean); List mesBoms = mesBomRDao.findByHqlWhere(ddlPackBean); if (org.springframework.util.CollectionUtils.isEmpty(mesBoms)) { - MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion); + LOGGER.info("物料{}生产版本{}对应bom信息不存在", partNo, bomVersion ); + return mesBoms; +// MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion); } MesBom next = mesBoms.iterator().next(); //如果存在多个bomCode取最新的一个 @@ -450,7 +454,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { // DdlPreparedPack.getStringEqualPack(mesWorkOrder.getProductVersion(), "productVersion", ddlPackBean); MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean); if (null == mesProductVersion) { - MesPcnException.throwMesBusiException("物料【%s】生产版本信息不存在", mesWorkOrder.getPartNo()); + LOGGER.info("物料{}生产版本信息不存在", mesWorkOrder.getPartNo()); + return mesProductVersion; +// MesPcnException.throwMesBusiException("物料【%s】生产版本信息不存在", mesWorkOrder.getPartNo()); } return mesProductVersion; } @@ -1110,7 +1116,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean); MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean); if (Objects.isNull(mesWorkCenter)) { - MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode); + LOGGER.info("产线【%s】不存在:{}", workCenterCode ); + continue; +// MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode); } MesWorkOrder item = new MesWorkOrder(); item.setOrganizeCode(organizeCode); @@ -1138,7 +1146,8 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(orderNo, "workOrderNo", orderPackBean); if (mesWorkOrderRDao.isExitByHql(orderPackBean)) { - MesPcnException.throwMesBusiException("单号流水码生成重复"); + LOGGER.info("产线【%s】单号流水码生成重复:{}", workCenterCode ); + continue; } item.setWorkOrderNo(orderNo); item.setPartName(mesProductionRecord.getPartName()); @@ -1163,10 +1172,15 @@ public class MesWorkOrderService implements IMesWorkOrderService { //校验物料生产版本是否存在 MesProductVersion mesProductVersion = checkMesProductVersion(item); + if (Objects.isNull(mesProductVersion)) { + continue; + } item.setProductVersion(mesProductVersion.getProductVersion()); //获取bom信息 List bomList = findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList()); - + if (org.springframework.util.CollectionUtils.isEmpty(bomList)) { + continue; + } //发送工单信息给WMS saveMesWorkOrderToWms.addAll(saveMesWorkOrderToWms(item, bomList)); } @@ -1220,7 +1234,8 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getStringEqualPack(item.getErpWorkCenter(), "workCenterCode", ddlPackBean); MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean); if (Objects.isNull(mesProductVersion)) { - MesPcnException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion()); + LOGGER.info("物料{}产线{}生产版本{}信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion() ); +// MesPcnException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion()); } return mesProductVersion; }