From 1dca0cb3f382600ab1f2c1504c5054b62cbe3fa0 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Fri, 20 Dec 2024 14:58:35 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=89=93=E5=8D=B0=E4=BB=B6,=E8=87=AA?= =?UTF-8?q?=E8=BF=9B=E8=87=AA=E5=87=BA,=E6=9C=AA=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=9C=AA=E7=9F=A5=E5=90=8E,=E5=86=8D?= =?UTF-8?q?=E6=AC=A1=E6=89=AB=E6=8F=8F=E8=A2=AB=E8=AF=AF=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E4=B8=BA=E5=A4=96=E5=8D=8F=E4=BB=B6=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../step/MesProductSnCheckStepService.java | 28 +++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnCheckStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnCheckStepService.java index 28f3e67..e39b7d5 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnCheckStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnCheckStepService.java @@ -133,7 +133,7 @@ public class MesProductSnCheckStepService extends BaseStepService { return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]信息异常,存在[%s]条[未知]状态的记录", suffixMsg, equipVariableCollectContext.getEquipVariableValue(), unknowList.size())); } - if (!CollectionUtils.isEmpty(unknowList) && checkAllowUnknowCenterCfg(reqBean) && (unknowList.size() > 1 || (!unknowList.get(0).getWorkCenterCode().equals(reqBean.getWorkCenterCode()) || !unknowList.get(0).getWorkCellCode().equals(reqBean.getWorkCellCode())))) { + if (!CollectionUtils.isEmpty(unknowList) && checkAllowUnknowCenterCfg(reqBean) && (!unknowList.get(0).getWorkCenterCode().equals(reqBean.getWorkCenterCode()) || !unknowList.get(0).getWorkCellCode().equals(reqBean.getWorkCellCode()))) { return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]信息条码状态已被%s标记[未知]", suffixMsg, equipVariableCollectContext.getEquipVariableValue(), unknowList.stream().filter(o -> null != o).map(o -> new StringJoiner(MesPcnExtConstWords.AND).add(o.getWorkCenterCode()).add(o.getWorkCellCode()).toString()).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)))); } @@ -156,24 +156,36 @@ public class MesProductSnCheckStepService extends BaseStepService { return stepResult; } - //未知条码【工序为空 代表新做的工序没有加工完成】 - if (StringUtils.isEmpty(produceSn.getProcessCode()) && produceSnList.size() > 1) { + //---- 以下是未知条码的场景判断 ---- + + //未知条码, 工序不为空 【代表已完成的工序被重做后未加工完成】 + if (!StringUtils.isEmpty(StringUtils.isEmpty(produceSn.getProcessCode()))) { + + productionPsInContextList.add(new MesProductionPsInContext(produceSn).isCheck(workCell).messageSource(equipVariableCollectContext.getMessageSource()).relateId(produceSn.getId())); + + return stepResult; + } + + //---- 以下是未知条码且工序为空的场景判断 ---- + + //未知条码, 工序为空, 条码数量大于1 【新做工序没有加工完成 --> 需要使用上一个条码作为进料条码】 + if (produceSnList.size() > 1) { productionPsInContextList.add(new MesProductionPsInContext(produceSnList.get(1)).isCheck(workCell).messageSource(equipVariableCollectContext.getMessageSource()).relateId(produceSn.getId())); return stepResult; } - //未知条码【工序为空 代表新做的工序没有加工完成】【只有一条条码记录 代表是打印的条码自进自出直接被标记为未知】 - if (StringUtils.isEmpty(produceSn.getProcessCode())) { + //未知条码, 工序为空, 条码数量等于1, 已打印 【打印件, 首工位自进自出未加工完成】 + if (produceSn.getPrintStatus().compareTo(MesExtEnumUtil.PRINT_STATUS.PRINTED.getValue()) == 0) { - productionPsInContextList.add(new MesProductionPsInContext(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue()).messageSource(equipVariableCollectContext.getMessageSource()).relateId(produceSn.getId())); + productionPsInContextList.add(new MesProductionPsInContext(produceSn).isCheck(workCell).messageSource(equipVariableCollectContext.getMessageSource()).relateId(produceSn.getId())); return stepResult; } - //未知条码【工序不为空 代表已完成的工序被重做后没有加工完成】 - productionPsInContextList.add(new MesProductionPsInContext(produceSn).isCheck(workCell).messageSource(equipVariableCollectContext.getMessageSource()).relateId(produceSn.getId())); + //未知条码, 工序为空, 条码数量等于1, 未打印 【外协件作为规则进料生成的条码未加工完成】 + productionPsInContextList.add(new MesProductionPsInContext(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue()).messageSource(equipVariableCollectContext.getMessageSource()).relateId(produceSn.getId())); return stepResult; From a35ae3fab0688c63b9a32f243aeacf7aa684c849 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Fri, 20 Dec 2024 19:58:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?44486=20MES:=E5=8A=A0=E5=B7=A5=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=B7=A5=E4=BD=8D=E8=A1=A5=E5=85=85=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=EF=BC=9A=E6=89=93=E5=8D=B0=E4=BB=B6,?= =?UTF-8?q?=E8=87=AA=E8=BF=9B=E8=87=AA=E5=87=BA,=E6=9C=AA=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E5=AE=8C=E6=88=90=E6=9C=AA=E7=9F=A5=E5=90=8E,?= =?UTF-8?q?=E5=86=8D=E6=AC=A1=E6=89=AB=E6=8F=8F=E8=A2=AB=E8=AF=AF=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E4=B8=BA=E5=A4=96=E5=8D=8F=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcn/apiservice/serviceimpl/step/MesProductSnCheckStepService.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/step/MesProductSnCheckStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnCheckStepService.java index e39b7d5..ffcfdd1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnCheckStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnCheckStepService.java @@ -159,7 +159,7 @@ public class MesProductSnCheckStepService extends BaseStepService { //---- 以下是未知条码的场景判断 ---- //未知条码, 工序不为空 【代表已完成的工序被重做后未加工完成】 - if (!StringUtils.isEmpty(StringUtils.isEmpty(produceSn.getProcessCode()))) { + if (!StringUtils.isEmpty(produceSn.getProcessCode())) { productionPsInContextList.add(new MesProductionPsInContext(produceSn).isCheck(workCell).messageSource(equipVariableCollectContext.getMessageSource()).relateId(produceSn.getId()));