From 375b196b3f795a9e289958af821ec0045301936e Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 26 Dec 2024 10:01:23 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=90=88=E5=B9=B6dev-temp-castle-241220155?= =?UTF-8?q?0-44316=20=E5=AD=98=E5=9C=A8=E5=86=B2=E7=AA=81=20fork=20uat=20?= =?UTF-8?q?=E5=90=8E=20copy=20dev=20=E7=9A=84=E5=B7=A5=E5=8D=95=E7=B1=BB?= =?UTF-8?q?=20=E5=90=8E=20=E5=86=8Dcopy=2044316=E6=94=B9=E5=8A=A8=E7=9A=84?= =?UTF-8?q?=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/MesWorkOrderService.java | 33 ++++++++++------------ 1 file changed, 15 insertions(+), 18 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 432135a..3a92bd9 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 @@ -308,8 +308,8 @@ public class MesWorkOrderService implements IMesWorkOrderService { // 递归展开 BOM expendBomChild(organizeCode, mesPart.getPartNo(), bomVersion, bomData); - if (bomData.size() == 0) { - MesPcnException.throwMesBusiException("零件号 %s 没找找到 ERP 同步的原始 BOM 数据,请检查接口是否正常!", mesPart.getPartNo()); + if (bomData.isEmpty()) { + throw new ImppBusiException(String.format("零件号 %s 没找找到 ERP 同步的原始 BOM 数据,请检查接口是否正常!",mesPart.getPartNo())); } Iterator iterator = bomData.iterator(); @@ -351,7 +351,7 @@ 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); + throw new ImppBusiException(String.format("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion)); } for (MesBom item : bomDetails) { MesBom newItem = new MesBom(); @@ -446,8 +446,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { if (e instanceof ImppBusiException) { msg = ((ImppBusiException) e).getErrorMsg(); } - e.printStackTrace(); - LOGGER.error("条码:{}报工失败", productionRecord.getProductSn(), e); + LOGGER.error("条码:{}报工失败,{}", productionRecord.getProductSn(), e.getMessage()); productionRecordService.updateProductionRecord(organizeCode, userName, productionRecord.getId(), msg); } } @@ -480,8 +479,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { if (e instanceof ImppBusiException) { msg = ((ImppBusiException) e).getErrorMsg(); } - e.printStackTrace(); - LOGGER.error("条码:{}报工失败", productionRecord.getProductSn(), e); + LOGGER.error(String.format("条码:【%s】报工失败,原因:[%s]", productionRecord.getProductSn(), e.getMessage())); productionRecordService.updateProductionRecord(organizeCode, userName, productionRecord.getId(), msg); } @@ -546,7 +544,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getStringEqualPack(productionRecord.getPartNo(), "partNo", ddlPackBeanPart); MesPart mesPart = mesPartRDao.getByProperty(ddlPackBeanPart); if (null == mesPart) { - MesPcnException.throwMesBusiException("物料【%s】信息不存在", productionRecord.getPartNo()); + throw new ImppBusiException(String.format("物料【%s】信息不存在", productionRecord.getPartNo())); } List mesBoms = findBomList(organizeCode, mesPart, mesProductVersion.getAlternativePartList()); @@ -769,13 +767,13 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean); MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean); if (Objects.isNull(mesWorkCenter)) { - MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode); + throw new ImppBusiException(String.format("产线【%s】不存在",workCenterCode)); } List shiftList = mesShiftService.queryMesShift(organizeCode, workCenterCode); // 如果当前班次是早班 if (CollectionUtils.isEmpty(shiftList)) { - MesPcnException.throwFlowException(String.format("班次信息未维护,产线=%s"), workCenterCode); + throw new ImppBusiException(String.format("班次信息未维护,产线=%s",workCenterCode)); } List shifts = shiftList.stream().filter(mesShift -> Objects.equals(mesShift.getWorkCenterCode(), workCenterCode)).collect(Collectors.toList()); @@ -1208,7 +1206,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { private MesProductVersion getProductVersion(String organizeCode,String partNo,String productVersion) { MesProductVersion mesProductVersion = mesProductVersionService.getMesProductVersion(organizeCode,partNo,productVersion); if (null == mesProductVersion) { - MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】信息不存在", partNo, productVersion); + throw new ImppBusiException(String.format("物料【%s】生产版本【%s】信息不存在", partNo, productVersion)); } return mesProductVersion; } @@ -1579,10 +1577,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { private MesProductVersion getMesProductVersion(Map> productVersionMap, String reportPartNo, String productVersion) { Optional optional = Objects.isNull(productVersionMap) || !productVersionMap.containsKey(reportPartNo) ? Optional.empty() : productVersionMap.get(reportPartNo).stream().filter(t -> t.getProductVersion().equals(productVersion)).findFirst(); - if (!optional.isPresent()) { - MesPcnException.throwMesBusiException("零件:【%s】生产版本:【%s】信息不存在", reportPartNo, productVersion); - } - return optional.get(); + return optional.orElse(null); } @Override @@ -1630,8 +1625,11 @@ public class MesWorkOrderService implements IMesWorkOrderService { newMesProductOffLine.setItemPartNo(mesWorkOrderPart.getPartNo()); newMesProductOffLine.setItemPartName(mesWorkOrderPart.getPartName()); newMesProductOffLine.setItemQty(mesWorkOrderPart.getItemQty()); - newMesProductOffLine.setAlort(mesProductVersion.getReceiveInventoryPoint()); - newMesProductOffLine.setStgeLoc(mesProductVersion.getShipInventoryPoint()); + if (mesProductVersion != null){ + newMesProductOffLine.setAlort(mesProductVersion.getReceiveInventoryPoint()); + newMesProductOffLine.setStgeLoc(mesProductVersion.getShipInventoryPoint()); + newMesProductOffLine.setSapWorkCenter(mesProductVersion.getWorkCenterCode()); + } newMesProductOffLine.setQty(1d); newMesProductOffLine.setReportSn(record.getProductSn()); newMesProductOffLine.setBomVersion(workOrder.getProductVersion()); @@ -1642,7 +1640,6 @@ public class MesWorkOrderService implements IMesWorkOrderService { newMesProductOffLine.setWorkCenterCode(record.getWorkCenterCode()); newMesProductOffLine.setWorkCellCode(record.getWorkCellCode()); newMesProductOffLine.setReportType(record.getReportType()); - newMesProductOffLine.setSapWorkCenter(mesProductVersion.getWorkCenterCode()); newMesProductOffLine.setOrganizeCode(model.getOrganizeCode()); newMesProductOffLine.setDescription(record.getCompleteDateTime()); ConvertBean.serviceModelInitialize(newMesProductOffLine, model.getUserName()); From df69bc6293e7b6edaa488511b96bba85be66298d Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Thu, 26 Dec 2024 10:17:09 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=9C=AA=E5=AE=8C=E6=88=90=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E4=B8=8D=E8=83=BD=E5=B0=8F=E4=BA=8E0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java | 2 ++ 1 file changed, 2 insertions(+) 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 3a92bd9..ed03328 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 @@ -564,6 +564,8 @@ public class MesWorkOrderService implements IMesWorkOrderService { propertyMap.put("reportedQty", reportQty); if (StringUtils.isEmpty(productionRecord.getWorkOrderNo())) { double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), oldMesWorkOrder.getReportedQty()); + unCompleteQty = unCompleteQty > 0 ? unCompleteQty : 0; + propertyMap.put(MesPcnExtConstWords.COMPLETE_QTY, reportQty); propertyMap.put(MesPcnExtConstWords.UN_COMPLETE_QTY, unCompleteQty); } From c544b33b99f4c5f20313798913509aa8da244940 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Fri, 27 Dec 2024 10:45:33 +0800 Subject: [PATCH 3/5] =?UTF-8?q?44613=20=E6=9C=AA=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E4=B8=8D=E8=83=BD=E5=B0=8F=E4=BA=8E0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java | 1 + 1 file changed, 1 insertion(+) 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 ed03328..9975aea 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 @@ -564,6 +564,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { propertyMap.put("reportedQty", reportQty); if (StringUtils.isEmpty(productionRecord.getWorkOrderNo())) { double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), oldMesWorkOrder.getReportedQty()); + //未完成数减到0之后不能为负数 unCompleteQty = unCompleteQty > 0 ? unCompleteQty : 0; propertyMap.put(MesPcnExtConstWords.COMPLETE_QTY, reportQty); From 67c053c8bcaf5dd8414c7b843377589b575204ac Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Mon, 30 Dec 2024 10:11:51 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=9C=AA=E5=AE=8C=E6=88=90=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 9975aea..1cbb466 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 @@ -563,7 +563,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { double reportQty = MathOperation.add(MesPcnExtConstWords.ONE, oldMesWorkOrder.getReportedQty()); propertyMap.put("reportedQty", reportQty); if (StringUtils.isEmpty(productionRecord.getWorkOrderNo())) { - double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), oldMesWorkOrder.getReportedQty()); + double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), reportQty); //未完成数减到0之后不能为负数 unCompleteQty = unCompleteQty > 0 ? unCompleteQty : 0; From f71fb409d95dead3b47d3a0000d0b1c5048ad644 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Mon, 30 Dec 2024 16:02:53 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=9C=AA=E5=AE=8C=E6=88=90=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF-44633?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1cbb466..13e0cbc 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 @@ -563,7 +563,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { double reportQty = MathOperation.add(MesPcnExtConstWords.ONE, oldMesWorkOrder.getReportedQty()); propertyMap.put("reportedQty", reportQty); if (StringUtils.isEmpty(productionRecord.getWorkOrderNo())) { - double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), reportQty); + double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), reportQty); //未完成数减到0之后不能为负数 unCompleteQty = unCompleteQty > 0 ? unCompleteQty : 0;