From bf013da53758364b34ed3ef09f29799338a3cc6e Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Fri, 8 Nov 2024 16:24:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B2=E9=94=99=20=E9=9D=9E=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=20=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../step/MesProductSnScanStepService.java | 10 ++--- .../step/MesWorkOrderCheckNosortStepService.java | 10 ++--- .../step/MesWorkOrderCutCheckStepService.java | 44 ++-------------------- 3 files changed, 14 insertions(+), 50 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnScanStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnScanStepService.java index 5d44a13..ec1634d 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnScanStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnScanStepService.java @@ -108,17 +108,17 @@ public class MesProductSnScanStepService extends BaseStepService { Boolean isAllowJump = checkIsAllowJump(reqBean, productionPsInContextList); //当前不允许跳过 - if (isCraftJumpCode && !isAllowJump) + if (isCraftJumpCode && (StringUtils.isEmpty(isAllowJump) || !isAllowJump)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.SCAN.getValue()).scanInfo(scanInfo), stepResult, String.format("当前扫描信息工艺强过码[%s],当前不支持强过!", scanInfo)); //允许跳过,先更新数据 - if (isCraftJumpCode && isAllowJump) { + if (isCraftJumpCode && !StringUtils.isEmpty(isAllowJump) && isAllowJump) { updateProductionPsInContextList(reqBean, productionPsInContextList, scanInfo); return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.SCAN.getValue()).scanInfo(scanInfo), stepResult, String.format("当前扫描信息工艺强过码[%s]!", scanInfo)); } //扫描信息为空 并且 判断当前是否必须要扫描 - if (StringUtils.isEmpty(scanInfo) && (scanedQty.compareTo(needQty) < 0 || isAllowJump)) stepSendGuideAndThrowEx(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), "请扫描主条码!"); + if (StringUtils.isEmpty(scanInfo) && (scanedQty.compareTo(needQty) < 0 || StringUtils.isEmpty(isAllowJump) || isAllowJump)) stepSendGuideAndThrowEx(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), "请扫描主条码!"); //是否支持混腔扫描[工位参数] String cavityNosortCfg = getCavityNosortCfg(reqBean); @@ -195,9 +195,9 @@ public class MesProductSnScanStepService extends BaseStepService { Optional optional = CollectionUtils.isEmpty(productionPsInContextList) ? null : productionPsInContextList.stream().filter(o -> (null != o && o.getCheckCraftResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0)).findFirst(); if (null == optional || !optional.isPresent()) return false; - //非排序是否允许强过, 默认不支持 + //非排序是否允许强过, 默认不支持, 不支持返回null, 存在可以跳过的数据且支持跳过返回true String isAllowJump = getIsAllowJump(reqBean); - return StringUtils.isEmpty(isAllowJump) ? false : true; + return StringUtils.isEmpty(isAllowJump) ? null : true; } //非排序是否允许强过[工位参数] diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckNosortStepService.java index 8e4d1d0..43584fd 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckNosortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckNosortStepService.java @@ -76,19 +76,19 @@ public class MesWorkOrderCheckNosortStepService extends MesWorkOrderCheckStepSer Boolean isAllowJump = checkIsAllowJump(reqBean, cachedProductionPartContextList); //不属于工艺强过码,如果此前存在顺序验证失败的数据 则清除此前的产出零件信息 - if (!isCraftJumpCode && isAllowJump) { + if (StringUtils.isEmpty(isAllowJump) || (!isCraftJumpCode && isAllowJump)) { //删除上下文产出零件信息 productionDispatchContextStepService.removeProductionPartContext(reqBean); cachedProductionPartContextList = null; } //当前不允许强过 - if (isCraftJumpCode && !isAllowJump) + if (isCraftJumpCode && (StringUtils.isEmpty(isAllowJump) || !isAllowJump)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.SCAN.getValue()). scanInfo(equipVariableCollectContextList.get(0).getEquipVariableValue()), stepResult, String.format("当前扫描信息工艺强过码[%s],当前不支持强过!", equipVariableCollectContextList.get(0).getEquipVariableValue())); //允许强过,先更新数据 - if (isCraftJumpCode && isAllowJump) { + if (isCraftJumpCode && !StringUtils.isEmpty(isAllowJump) && isAllowJump) { updateProductionPartContextList(reqBean, cachedProductionPartContextList, equipVariableCollectContextList.get(0).getEquipVariableValue()); return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.SCAN.getValue()). scanInfo(equipVariableCollectContextList.get(0).getEquipVariableValue()), stepResult, String.format("当前扫描信息工艺强过码[%s]!", equipVariableCollectContextList.get(0).getEquipVariableValue())); @@ -150,9 +150,9 @@ public class MesWorkOrderCheckNosortStepService extends MesWorkOrderCheckStepSer private Boolean checkIsAllowJump(StationRequestBean reqBean, List productionPartContextList) { Optional optional = CollectionUtils.isEmpty(productionPartContextList) ? null : productionPartContextList.stream().filter(o -> (null != o && o.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0)).findFirst(); if (null == optional || !optional.isPresent()) return false; - //非排序是否允许强过, 默认不支持 + //非排序是否允许强过, 默认不支持, 不支持返回null, 存在可以跳过的数据且支持跳过返回true String isAllowJump = getIsAllowJump(reqBean); - return StringUtils.isEmpty(isAllowJump) ? false : true; + return StringUtils.isEmpty(isAllowJump) ? null : true; } //非排序是否允许强过[工位参数] diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java index 7823bef..d3a2b90 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java @@ -26,7 +26,10 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.StringJoiner; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import java.util.stream.Collectors; @@ -323,31 +326,6 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService { }); } - - //验证扫描信息属于工艺强过码 并且支持跳过,进行数据变更 - private void updateProductionPartAndPsInContextList(StationRequestBean reqBean, List productionPartContextList, List cachedProductionPsInContextList, String craftJumpCode) { - productionPartContextList.forEach(o -> { - if (o.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) { - o.setCraftJumpCode(craftJumpCode); - - } - }); - cachedProductionPsInContextList.forEach(o -> { - if (o.getCheckCraftResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) o.setCraftJumpCode(craftJumpCode); - }); - //保存上下文产出零件信息 - productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList); - } - - //验证是否支持跳过 - private Boolean checkIsAllowJump(List productionPartContextList, List cachedProductionPsInContextList) { - Optional optional1 = CollectionUtils.isEmpty(productionPartContextList) ? null : productionPartContextList.stream().filter(o -> (null != o && o.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0)).findFirst(); - Optional optional2 = CollectionUtils.isEmpty(cachedProductionPsInContextList) ? null : cachedProductionPsInContextList.stream().filter(o -> (null != o && o.getCheckCraftResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0)).findFirst(); - if (null != optional1 && optional1.isPresent()) return true; - if (null != optional2 && optional2.isPresent()) return true; - return false; - } - public List removeBusiData(StationRequestBean reqBean) { productionDispatchContextStepService.removeProductionPartContext(reqBean); productionDispatchContextStepService.removeProductionPsInContext(reqBean); @@ -356,24 +334,10 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService { return null; } - //验证扫描信息是否属于工艺强过码 - public Boolean matchCraftJumpCode(MesProductionProcessContext productionProcessContext, List equipVariableCollectContextList) { - if (equipVariableCollectContextList.size() != 1 || MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getValue() != equipVariableCollectContextList.get(0).getMessageSource()) return false; - if (!equipVariableCollectContextList.get(0).getEquipVariableValue().equals(productionProcessContext.getCraftJumpCode())) return false; - return true; - } - //根据是否空腔搜集数据 public List filterProductionPartContext(List productionPartContextList, Boolean flag) { return flag ? productionPartContextList.stream().filter(o -> (null != o && o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0)).collect(Collectors.toList()) : productionPartContextList.stream().filter(o -> (null != o && o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) == 0)).collect(Collectors.toList()); } - //验证是否全部为空腔 - public Boolean checkIsAllFinishCode(StationRequestBean reqBean, List productionPartContextList) { - Optional optional = productionPartContextList.stream().filter(o -> (null != o && o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0)).findFirst(); - if (null != optional && optional.isPresent()) return false; - return true; - } - }