From 2391694feed551ddfb0f97352978b9237e41bc47 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 2 Apr 2025 16:19:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF=E9=AA=8C?= =?UTF-8?q?=E8=AF=81bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../step/MesProdCraftRouteCheckNosortStepService.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProdCraftRouteCheckNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProdCraftRouteCheckNosortStepService.java index c1f6ee9..d0c6469 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProdCraftRouteCheckNosortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProdCraftRouteCheckNosortStepService.java @@ -207,10 +207,11 @@ public class MesProdCraftRouteCheckNosortStepService extends MesProdCraftRouteCh beforeCellCraftList = beforeCellCraftList.stream().filter(o -> null != o).sorted(Comparator.comparing(MesCraftRouteDetail::getSeq)).collect(Collectors.toList()); //判断上面是否已经查询过数据 - if (!(null != optionalPs && optionalPs.isPresent() && optionalPs.get().getRepeatTimes().compareTo(MesPcnExtConstWords.ONE) > 0 && reqBean.getProcessCode().equals(productionPsInContext.getProcessCode()))) + if (!(null != optionalPs && reqBean.getProcessCode().equals(productionPsInContext.getProcessCode()))) productionRecordList = productionRecordService.findProductionRecordList(reqBean.getOrganizeCode(), productionPsInContext.getProductSn()); - Map> prMapByCraft = CollectionUtils.isEmpty(productionRecordList) ? null : productionRecordList.stream().filter(o -> null != o).collect(Collectors.groupingBy(MesProductionRecord::getCraftCode)); + Map> prMapByCraft = CollectionUtils.isEmpty(productionRecordList) ? null : + productionRecordList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getCraftCode()))).collect(Collectors.groupingBy(MesProductionRecord::getCraftCode)); //遍历前道工艺, 根据工艺查询加工记录是否存在, 并验证是否存在捆绑工艺 for (int i = 0; i < beforeCellCraftList.size(); i ++) { @@ -224,6 +225,15 @@ public class MesProdCraftRouteCheckNosortStepService extends MesProdCraftRouteCh message, suffix, productionPsInContext.getProductSn(), beforeCellCraftList.get(i).getCraftRouteCode(), beforeCellCraftList.get(i - 1).getCraftCode())).isCompleted(); } + //当主条码存在已做工序 且 与当前工位的工序不一致时, 判断当前工位的工序是否已经存在加工记录 + if (!CollectionUtils.isEmpty(productionRecordList) + && !StringUtils.isEmpty(productionPsInContext.getProcessCode()) + && !reqBean.getProcessCode().equals(productionPsInContext.getProcessCode()) + && isExistProductionRecord(CollectionUtils.isEmpty(productionRecordList) ? null : + productionRecordList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProductionRecord::getProcessCode)), reqBean.getProcessCode())) { + return stepResult.isCompleted(false).msg(String.format("%s%s[%s]已经过当前工序[%s]", message, suffix, productionPsInContext.getProductSn(), reqBean.getProcessCode())).isCompleted(); + } + return true; }