From 01ec9b90c7ead9877b9dee23ecf6ba4ac6e1c864 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 11 Dec 2024 19:38:54 +0800 Subject: [PATCH] =?UTF-8?q?44153=20=E4=BA=A7=E5=93=81=E4=B8=8B=E7=BA=BF?= =?UTF-8?q?=E5=90=8E=EF=BC=8C=E5=86=8D=E6=AC=A1=E6=89=AB=E6=8F=8F=EF=BC=8C?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E9=9C=80=E8=A6=81=E6=8F=90=E9=86=92=E8=AF=A5?= =?UTF-8?q?=E6=9D=A1=E7=A0=81=E5=B7=B2=E5=AE=8C=E6=88=90=E4=B8=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/step/MesAssemblyShowNosortStepService.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyShowNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyShowNosortStepService.java index b660cc8..f59df88 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyShowNosortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyShowNosortStepService.java @@ -272,7 +272,7 @@ public class MesAssemblyShowNosortStepService extends BaseStepService { else productionPsInContextList.forEach(o -> o.busiCheckToDelete()); return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("设备[%s]与进料零件条码%s加工规则配置信息! 进料零件条码[%s]%s", cellEquipContext.getEquipmentName(), CollectionUtils.isEmpty(filterList) ? "未匹配到" : String.format("匹配到[%s]条", filterList.size()), productionPsInContext.getProductSn(), - StringUtils.isEmpty(productionPsInContext.getPartNo()) ? "为外协件" : String.format("当前零件号[%s]", productionPsInContext.getPartNo()))); + StringUtils.isEmpty(productionPsInContext.getPartNo()) ? "为外协件" : String.format("当前零件号[%s]%s", productionPsInContext.getPartNo(), checkIsOffline(productionPsInContext, reqBean) ? "在当前工位已完成下线" : MesPcnExtConstWords.EMPTY))); } //时效性验证 @@ -303,6 +303,13 @@ public class MesAssemblyShowNosortStepService extends BaseStepService { } + //验证条码是否刚在当前工位下线 + private Boolean checkIsOffline(MesProductionPsInContext productionPsInContext, StationRequestBean reqBean) { + if (StringUtils.isEmpty(productionPsInContext.getWorkCenterCode()) || StringUtils.isEmpty(productionPsInContext.getWorkCellCode()) || StringUtils.isEmpty(productionPsInContext.getProcessCode())) return false; + if (!productionPsInContext.getWorkCenterCode().equals(reqBean.getWorkCenterCode()) || !productionPsInContext.getWorkCellCode().equals(reqBean.getWorkCellCode()) || !productionPsInContext.getProcessCode().equals(reqBean.getProcessCode())) return false; + return true; + } + private List getProdRuleNosortCfgList(StationRequestBean reqBean, MesCellEquipContext cellEquipContext, List productionPsInContextList, List outPartNoList) { //【非排序线】获取产品加工规则 ; 分别根据 进料零件有值 与 进料规则不为空 查询 再合并数据返回, 条件可能携带产出零件 List inPartNoList = productionPsInContextList.stream().filter(o -> (null != o && StringUtils.isEmpty(o.getForeignKey()) && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPsInContext::getPartNo).collect(Collectors.toList()); @@ -412,7 +419,8 @@ public class MesAssemblyShowNosortStepService extends BaseStepService { if (optional.get().getMessageSource().compareTo(MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getValue()) == 0) optional.get().busiCheckToDelete(); else productionPsInContextList.forEach(o -> o.busiCheckToDelete()); String productSnStr = productionPsInContextList.stream().filter(o -> (null != o && StringUtils.isEmpty(o.getForeignKey()) && o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0)) - .map(o -> String.format(" 进料零件条码[%s]%s", o.getProductSn(), StringUtils.isEmpty(o.getPartNo()) ? "为外协件" : String.format("当前零件号[%s]", o.getPartNo()))).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + .map(o -> String.format(" 进料零件条码[%s]%s", o.getProductSn(), StringUtils.isEmpty(o.getPartNo()) ? "为外协件" : String.format("当前零件号[%s]%s", o.getPartNo(), checkIsOffline(o, reqBean) ? "在当前工位已完成下线" : MesPcnExtConstWords.EMPTY))) + .collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().scanInfo(productSnStr), stepResult, String.format("设备[%s]产出零件%s与进料零件条码未匹配到唯一的加工规则配置信息!%s", cellEquipContext.getEquipmentName(), productionPartContextList.stream().filter(o -> (null != o && StringUtils.isEmpty(o.getForeignKey()) && o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0)).map(MesProductionPartContext::getPartNo).collect(Collectors.toList()).toString(), productSnStr));