From 2a4d00c882d5dd8e0eccdd0428f8da5a6a240a7c Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Tue, 5 Dec 2023 15:16:53 +0800 Subject: [PATCH] pcn work cell scan --- .../api/busi/jx/IJxProdBusiStrategyService.java | 14 ++--- .../busi/jx/JxProdBusiStrategyCommonService.java | 60 ++++++++++++++-------- .../busi/jx/JxProdBusiStrategyRepairService.java | 29 +---------- .../busi/jx/JxProdBusiStrategyStandardService.java | 39 +------------- .../JxSnFinalInspectionCheckMcOrPsStepService.java | 24 ++++----- .../step/jx/JxSnLineOffCheckPsStepService.java | 21 ++++---- .../step/jx/JxSnLineOnCheckMcOrPsStepService.java | 11 +--- .../jx/JxSnProcessingCheckMcOrPsStepService.java | 22 ++++---- 8 files changed, 86 insertions(+), 134 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/jx/IJxProdBusiStrategyService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/jx/IJxProdBusiStrategyService.java index a6585a0..ee98cbf 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/jx/IJxProdBusiStrategyService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/jx/IJxProdBusiStrategyService.java @@ -13,7 +13,7 @@ public interface IJxProdBusiStrategyService { * @return 结果 */ @ApiOperation(value = "上线验证", notes = "上线验证") - StepResult checkLineOn(JxProdBusiStrategyParamsBuilder params); + default StepResult checkLineOn(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } /** * 上线绑定 @@ -21,7 +21,7 @@ public interface IJxProdBusiStrategyService { * @return 结果 */ @ApiOperation(value = "上线绑定", notes = "上线绑定") - StepResult execLineOnBindMc(JxProdBusiStrategyParamsBuilder params); + default StepResult execLineOnBindMc(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } /** * 加工验证 @@ -29,7 +29,7 @@ public interface IJxProdBusiStrategyService { * @return 结果 */ @ApiOperation(value = "加工验证", notes = "加工验证") - StepResult checkProcessing(JxProdBusiStrategyParamsBuilder params); + default StepResult checkProcessing(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } /** * 终检验证 @@ -37,7 +37,7 @@ public interface IJxProdBusiStrategyService { * @return 结果 */ @ApiOperation(value = "终检验证", notes = "终检验证") - StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params); + default StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } /** * 第三方产品条码验证 @@ -45,7 +45,7 @@ public interface IJxProdBusiStrategyService { * @return 结果 */ @ApiOperation(value = "第三方产品条码验证", notes = "第三方产品条码验证") - StepResult checkThirdPartyPs(JxProdBusiStrategyParamsBuilder params); + default StepResult checkThirdPartyPs(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } /** * 下线验证 @@ -53,7 +53,7 @@ public interface IJxProdBusiStrategyService { * @return 结果 */ @ApiOperation(value = "下线验证", notes = "下线验证") - StepResult checkLineOff(JxProdBusiStrategyParamsBuilder params); + default StepResult checkLineOff(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } /** * 下线完成 @@ -61,7 +61,7 @@ public interface IJxProdBusiStrategyService { * @return 结果 */ @ApiOperation(value = "下线完成", notes = "下线完成") - StepResult execLineOff(JxProdBusiStrategyParamsBuilder params); + default StepResult execLineOff(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } /** * 从管理码开始查询业务数据 diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyCommonService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyCommonService.java index 3845288..f1d0f3a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyCommonService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyCommonService.java @@ -259,7 +259,11 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == produceSnExtDb.getOperateType()) return stepResult.isCompleted(false).msg(String.format("过程条码[%s]产品条码[%s]对应的信息当前业务状态[返修]!", params.getSerialNumber(), params.getProductSn())); - produceSnExtDb.setSnStatus(MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue()); + if (MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_PROCESS.getValue() != produceSnExtDb.getSnStatus() && + MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.QUALIFIED.getValue() == produceSnExtDb.getQcStatus()) produceSnExtDb.setSnStatus(MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue()); + if (MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_PROCESS.getValue() != produceSnExtDb.getSnStatus() && + MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.DEFECTED.getValue() == produceSnExtDb.getQcStatus()) produceSnExtDb.setSnStatus(MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_PROCESS.getValue()); + produceSnExtService.doPackSnExtProcess((StationRequestBean) params.getObj(), produceSnExtDb); ConvertBean.serviceModelUpdate(produceSnExtDb, params.getUserInfo()); produceSnExtDb.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue()); @@ -302,10 +306,7 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi } @Override - public StepResult execLineOnBindMc(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } - - @Override - public StepResult checkProcessing(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } + public StepResult checkProcessing(JxProdBusiStrategyParamsBuilder params) { return this.checkFinalInspection(params); } @Override public StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) { @@ -319,27 +320,35 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi if (null == params.getProduceSnExtDb()) return stepResult.isCompleted(false).msg(String.format("%s[%s]未匹配到有效的产品条码信息,验证失败!", params.getScanName(), params.getScanInfo())); - return checkFinalInspection4Ps(params, stepResult); + if (!checkFinalInspection4Ps(params, stepResult).isCompleted()) return stepResult; + + return checkSnProcessIsValid(params, stepResult); } private StepResult checkFinalInspection4Ps(JxProdBusiStrategyParamsBuilder params, StepResult stepResult) { - if (!params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo())) - return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的产品条码信息关联的工单号[%s]与当前生产的工单号[%s]不一致,验证失败!", params.getScanName(), params.getScanInfo(), params.getProduceSnExtDb().getLastWorkOrderNo(), params.getOrderModel().getOrderNo())); + if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType()) + return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的产品条码信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo())); - if (MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue() != params.getProduceSnExtDb().getSnStatus()) + if (MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue() != params.getProduceSnExtDb().getSnStatus() || MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_PROCESS.getValue() != params.getProduceSnExtDb().getSnStatus()) return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的产品条码信息当前条码状态[%s],验证失败!", params.getScanName(), params.getScanInfo(), MesPcnExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(params.getProduceSnExtDb().getSnStatus()))); - if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType()) - return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的产品条码信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo())); + if (params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo()) && null != params.getProduceSnMcRecordDb() && MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnMcRecordDb().getOperateType()) + return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的管理编码与工单条码关系信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo())); - return stepResult; + if (params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo()) && null != params.getProduceSnMcRecordDb() && !params.getProduceSnMcRecordDb().getWorkOrderNo().equals(params.getOrderModel().getOrderNo())) + return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的管理编码与工单条码关系信息关联的工单号[%s]与当前生产的工单号[%s]不一致,验证失败!", params.getScanName(), params.getScanInfo(), params.getProduceSnMcRecordDb().getWorkOrderNo(), params.getOrderModel().getOrderNo())); - } + if (!params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo()) && MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_PROCESS.getValue() != params.getProduceSnExtDb().getSnStatus()) + return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的产品条码信息关联的工单号[%s]与当前生产的工单号[%s]不一致,验证失败!", params.getScanName(), params.getScanInfo(), params.getProduceSnExtDb().getLastWorkOrderNo(), params.getOrderModel().getOrderNo())); - @Override - public StepResult checkThirdPartyPs(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } + if (!params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo())) + return stepResult.nextTriggerEvent(MesPcnExtConstWords.TMP_ORDER).msg(String.format("%s[%s]对应的产品条码信息已被标记成[返修品],即将切换到临时工单[%s]!", params.getScanName(), params.getScanInfo(), params.getProduceSnExtDb().getLastWorkOrderNo())); + else + return stepResult.msg(String.format("%s[%s]已匹配产品条码信息,验证成功!", params.getScanName(), params.getScanInfo())); + + } @Override public void execFinalInspectionBindPs(JxProdBusiStrategyParamsBuilder params) { @@ -549,11 +558,13 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi if (null == params.getProduceSnExtDb()) return stepResult.isCompleted(false).msg(String.format("产品条码[%s]信息不存在,操作失败!", params.getScanInfo())); - if (!params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo())) - return stepResult.isCompleted(false).msg(String.format("产品条码[%s]关联的生产工单[%s]与当前操作的生产工单[%s]不一致,操作失败!", params.getScanInfo(), params.getProduceSnExtDb().getLastWorkOrderNo(), params.getOrderModel().getOrderNo())); + if (!checkLineOff4Ps(params, stepResult).isCompleted()) return stepResult; - if (MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue() < params.getProduceSnExtDb().getSnStatus()) - return stepResult.isCompleted(false).msg(String.format("产品条码[%s]信息当前状态[%s],操作失败!", params.getScanInfo(), MesPcnExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(params.getProduceSnExtDb().getSnStatus()))); + return checkSnProcessIsValid(params, stepResult); + + } + + private StepResult checkLineOff4Ps(JxProdBusiStrategyParamsBuilder params, StepResult stepResult) { if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType()) return stepResult.isCompleted(false).msg(String.format("产品条码[%s]信息当前业务类型[返修],验证失败!", params.getScanInfo())); @@ -561,9 +572,16 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi if (MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.DEFECTED.getValue() == params.getProduceSnExtDb().getQcStatus()) return stepResult.isCompleted(false).msg(String.format("产品条码[%s]信息当前质量状态[不合格],验证失败!", params.getScanInfo())); - if (!checkSnProcessIsValid(params, stepResult).isCompleted()) return stepResult; + if (MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue() != params.getProduceSnExtDb().getSnStatus() || MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_PROCESS.getValue() != params.getProduceSnExtDb().getSnStatus()) + return stepResult.isCompleted(false).msg(String.format("产品条码[%s]信息当前状态[%s],操作失败!", params.getScanInfo(), MesPcnExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(params.getProduceSnExtDb().getSnStatus()))); + + if (!params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo()) && MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_PROCESS.getValue() != params.getProduceSnExtDb().getSnStatus()) + return stepResult.isCompleted(false).msg(String.format("产品条码[%s]信息关联的工单号[%s]与当前生产的工单号[%s]不一致,验证失败!", params.getScanInfo(), params.getProduceSnExtDb().getLastWorkOrderNo(), params.getOrderModel().getOrderNo())); - return stepResult.msg(String.format("产品条码[%s]信息验证成功!", params.getScanInfo())); + if (!params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo())) + return stepResult.nextTriggerEvent(MesPcnExtConstWords.TMP_ORDER).msg(String.format("产品条码[%s]信息已被标记成[返修品],即将切换到临时工单[%s]!", params.getScanInfo(), params.getProduceSnExtDb().getLastWorkOrderNo())); + else + return stepResult.msg(String.format("产品条码[%s]信息验证成功!!", params.getScanInfo())); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyRepairService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyRepairService.java index ba8cbc3..a3a5055 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyRepairService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyRepairService.java @@ -48,10 +48,10 @@ public class JxProdBusiStrategyRepairService implements IJxProdBusiStrategyServi return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的产品条码信息已经过当前工序,当前条码状态[%s],验证失败!", params.getScanName(), params.getScanInfo(), MesPcnExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(params.getProduceSnExtDb().getSnStatus()))); if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType()) - return stepResult.msg(String.format("%s[%s]对应的产品条码信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo())); + return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的产品条码信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo())); if (!params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo()) && - MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.QUALIFIED.getValue() == params.getProduceSnExtDb().getQcStatus() && MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_OFFLINE.getValue() != params.getProduceSnExtDb().getSnStatus()) + MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.QUALIFIED.getValue() == params.getProduceSnExtDb().getQcStatus() && MesPcnExtEnumUtil.PRODUCE_SN_STATUS.REPAIR_PROCESS.getValue() != params.getProduceSnExtDb().getSnStatus()) return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的产品条码信息关联的工单号[%s]与当前生产的工单号[%s]不一致,验证失败!", params.getScanName(), params.getScanInfo(), params.getProduceSnExtDb().getLastWorkOrderNo(), params.getOrderModel().getOrderNo())); if (!params.getProduceSnExtDb().getLastWorkOrderNo().equals(params.getOrderModel().getOrderNo())) @@ -62,31 +62,6 @@ public class JxProdBusiStrategyRepairService implements IJxProdBusiStrategyServi } @Override - public StepResult execLineOnBindMc(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } - - @Override - public StepResult checkProcessing(JxProdBusiStrategyParamsBuilder params) { return this.checkFinalInspection(params); } - - @Override - public StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) { - - StepResult stepResult = ((IJxProdBusiStrategyService) params.getStrategyService()).checkFinalInspection(params); - - if (!stepResult.isCompleted()) return stepResult; - - if (!((IJxProdBusiStrategyService) params.getStrategyService()).checkSnProcessIsValid(params, stepResult).isCompleted()) return stepResult; - - return stepResult.msg(String.format("%s[%s]已匹配产品条码信息,验证成功!", params.getScanName(), params.getScanInfo())); - - } - - @Override - public StepResult checkThirdPartyPs(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } - - @Override - public StepResult checkLineOff(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } - - @Override public StepResult execLineOff(JxProdBusiStrategyParamsBuilder params) { StepResult stepResult = ((IJxProdBusiStrategyService) params.getStrategyService()).execLineOff(params); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyStandardService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyStandardService.java index 805a2b9..7979da1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyStandardService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/JxProdBusiStrategyStandardService.java @@ -186,38 +186,6 @@ public class JxProdBusiStrategyStandardService implements IJxProdBusiStrategySer } @Override - public StepResult checkProcessing(JxProdBusiStrategyParamsBuilder params) { return this.checkFinalInspection(params); } - - @Override - public StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) { - - StepResult stepResult = ((IJxProdBusiStrategyService) params.getStrategyService()).checkFinalInspection(params); - - if (!stepResult.isCompleted()) return stepResult; - - if (!checkFinalInspection4Mc(params, stepResult).isCompleted()) return stepResult; - - if (!((IJxProdBusiStrategyService) params.getStrategyService()).checkSnProcessIsValid(params, stepResult).isCompleted()) return stepResult; - - return stepResult.msg(String.format("%s[%s]已匹配产品条码信息,验证成功!", params.getScanName(), params.getScanInfo())); - - } - - private StepResult checkFinalInspection4Mc(JxProdBusiStrategyParamsBuilder params, StepResult stepResult) { - - if (null == params.getProduceSnMcRecordDb()) return stepResult; - - if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnMcRecordDb().getOperateType()) - return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的管理编码与工单条码关系信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo())); - - if (!params.getProduceSnMcRecordDb().getWorkOrderNo().equals(params.getOrderModel().getOrderNo())) - return stepResult.isCompleted(false).msg(String.format("%s[%s]对应的管理编码与工单条码关系信息关联的工单号[%s]与当前生产的工单号[%s]不一致,验证失败!", params.getScanName(), params.getScanInfo(), params.getProduceSnMcRecordDb().getWorkOrderNo(), params.getOrderModel().getOrderNo())); - - return stepResult; - - } - - @Override public StepResult checkThirdPartyPs(JxProdBusiStrategyParamsBuilder params) { StepResult stepResult = StepResult.getNonComplete(); @@ -280,11 +248,6 @@ public class JxProdBusiStrategyStandardService implements IJxProdBusiStrategySer } @Override - public StepResult checkLineOff(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); } - - @Override - public StepResult execLineOff(JxProdBusiStrategyParamsBuilder params) { - return ((IJxProdBusiStrategyService) params.getStrategyService()).execLineOff(params); - } + public StepResult execLineOff(JxProdBusiStrategyParamsBuilder params) { return ((IJxProdBusiStrategyService) params.getStrategyService()).execLineOff(params); } } \ No newline at end of file diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnFinalInspectionCheckMcOrPsStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnFinalInspectionCheckMcOrPsStepService.java index 27d8fad..e64375c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnFinalInspectionCheckMcOrPsStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnFinalInspectionCheckMcOrPsStepService.java @@ -41,11 +41,6 @@ public class JxSnFinalInspectionCheckMcOrPsStepService extends BaseStepService { private ISxWorkOrderExtService workOrderExtService; @Override - public StepResult guide(StationRequestBean reqBean) { - return execSuccessCompleteAndSendGuideReturn(reqBean, new StationResultBean(), "请扫描管理编码或产品条码!"); - } - - @Override public StepResult init(StationRequestBean reqBean) { reqBean.setSerialNumber(null); reqBean.setProductSn(null); @@ -59,16 +54,16 @@ public class JxSnFinalInspectionCheckMcOrPsStepService extends BaseStepService { log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionCheckMcOrPsStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()); - StepResult stepResult = StepResult.getSuccessComplete(); - StationResultBean resultBean = new StationResultBean(); - if (StringUtils.isEmpty(reqBean.getScanInfo())) return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "入参缺少管理编码或产品条码!"); + if (StringUtils.isEmpty(reqBean.getScanInfo())) execSendGuideAndThrowEx(reqBean, resultBean, "请扫描管理编码或产品条码!"); String curExecWorkOrderNo = getCurExecWorkOrderNo(reqBean, resultBean); WorkOrderExtModel orderModel = getWorkOrderExtModel(reqBean, resultBean, curExecWorkOrderNo); + StepResult stepResult = StepResult.getSuccessComplete(); + checkScanInfoIsValid(reqBean, resultBean, stepResult, orderModel); reqBean.setScanInfo(null); @@ -107,20 +102,25 @@ public class JxSnFinalInspectionCheckMcOrPsStepService extends BaseStepService { .routeProcess(reqBean.getRouteCode(), reqBean.getProcessCode()) .orderModel(orderModel) .obj(reqBean) - .strategyService(SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.COMMON.getClazz())) .build(); - StepResult result = ((IJxProdBusiStrategyService) SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.valueOfClazz(orderModel.getWorkOrderType()))).checkFinalInspection(params); + StepResult result = ((IJxProdBusiStrategyService) SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.COMMON.getClazz())).checkFinalInspection(params); this.sendMessage(reqBean, resultBean, result.getMsg(), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, result.isCompleted() ? MesPcnEnumUtil.STATION_DATA_TYPE.TEXT : MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); - stepResult.setCompleted(result.isCompleted()); + if (result.isCompleted() && !StringUtils.isEmpty(result.getNextTriggerEvent()) && (Boolean) snFinalInspectionModuleService.doHandleSelectWorkOrderNo( + reqBean, 2, new StringJoiner(MesPcnExtConstWords.COLON).add(MesPcnExtConstWords.TMP_ORDER).add(params.getProduceSnExtDb().getLastWorkOrderNo()).toString())) + return stepResult.nextTriggerEvent(result.getNextTriggerEvent()).isCompleted(false); + + reqBean.setScanInfo(null); + if (result.isCompleted() && !StringUtils.isEmpty(result.getNextTriggerEvent())) return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, + new StringJoiner(MesPcnExtConstWords.COMMA).add(result.getMsg().split(MesPcnExtConstWords.COMMA)[0]).add(String.format(",缓存临时工单[%s]失败!", params.getProduceSnExtDb().getLastWorkOrderNo())).toString()); reqBean.setSerialNumber(params.getSerialNumber()); reqBean.setProductSn(params.getProductSn()); reqBean.setTray(null == params.getProduceSnMcRecordDb() ? params.getManageCode() : new StringJoiner(MesPcnExtConstWords.AND).add(params.getProduceSnMcRecordDb().getManageCode()).add(params.getProduceSnMcRecordDb().getId().toString()).toString()); - return stepResult; + return stepResult.isCompleted(result.isCompleted()); } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnLineOffCheckPsStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnLineOffCheckPsStepService.java index d1cab1e..52124bc 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnLineOffCheckPsStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnLineOffCheckPsStepService.java @@ -41,11 +41,6 @@ public class JxSnLineOffCheckPsStepService extends BaseStepService { private ISxWorkOrderExtService workOrderExtService; @Override - public StepResult guide(StationRequestBean reqBean) { - return execSuccessCompleteAndSendGuideReturn(reqBean, new StationResultBean(), "请扫描产品条码!"); - } - - @Override public StepResult init(StationRequestBean reqBean) { reqBean.setSerialNumber(null); reqBean.setProductSn(null); @@ -59,16 +54,16 @@ public class JxSnLineOffCheckPsStepService extends BaseStepService { log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnLineOffCheckPsStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()); - StepResult stepResult = StepResult.getSuccessComplete(); - StationResultBean resultBean = new StationResultBean(); - if (StringUtils.isEmpty(reqBean.getScanInfo())) return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "入参缺少产品条码!"); + if (StringUtils.isEmpty(reqBean.getScanInfo())) execSendGuideAndThrowEx(reqBean, resultBean, "请扫描产品条码!"); String curExecWorkOrderNo = getCurExecWorkOrderNo(reqBean, resultBean); WorkOrderExtModel orderModel = getWorkOrderExtModel(reqBean, resultBean, curExecWorkOrderNo); + StepResult stepResult = StepResult.getSuccessComplete(); + checkScanInfoIsValid(reqBean, resultBean, stepResult, orderModel); reqBean.setScanInfo(null); @@ -113,12 +108,18 @@ public class JxSnLineOffCheckPsStepService extends BaseStepService { this.sendMessage(reqBean, resultBean, result.getMsg(), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, result.isCompleted() ? MesPcnEnumUtil.STATION_DATA_TYPE.TEXT : MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); - stepResult.setCompleted(result.isCompleted()); + if (result.isCompleted() && !StringUtils.isEmpty(result.getNextTriggerEvent()) && (Boolean) snLineOffModuleService.doHandleSelectWorkOrderNo( + reqBean, 2, new StringJoiner(MesPcnExtConstWords.COLON).add(MesPcnExtConstWords.TMP_ORDER).add(params.getProduceSnExtDb().getLastWorkOrderNo()).toString())) + return stepResult.nextTriggerEvent(result.getNextTriggerEvent()).isCompleted(false); + + reqBean.setScanInfo(null); + if (result.isCompleted() && !StringUtils.isEmpty(result.getNextTriggerEvent())) return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, + new StringJoiner(MesPcnExtConstWords.COMMA).add(result.getMsg().split(MesPcnExtConstWords.COMMA)[0]).add(String.format(",缓存临时工单[%s]失败!", params.getProduceSnExtDb().getLastWorkOrderNo())).toString()); reqBean.setSerialNumber(params.getSerialNumber()); reqBean.setProductSn(params.getProductSn()); - return stepResult; + return stepResult.isCompleted(result.isCompleted()); } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnLineOnCheckMcOrPsStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnLineOnCheckMcOrPsStepService.java index 03de4f1..26965e4 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnLineOnCheckMcOrPsStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnLineOnCheckMcOrPsStepService.java @@ -41,11 +41,6 @@ public class JxSnLineOnCheckMcOrPsStepService extends BaseStepService { private ISxWorkOrderExtService workOrderExtService; @Override - public StepResult guide(StationRequestBean reqBean) { - return execSuccessCompleteAndSendGuideReturn(reqBean, new StationResultBean(), "请扫描管理编码或产品条码!"); - } - - @Override public StepResult init(StationRequestBean reqBean) { reqBean.setSerialNumber(null); reqBean.setProductSn(null); @@ -111,8 +106,6 @@ public class JxSnLineOnCheckMcOrPsStepService extends BaseStepService { this.sendMessage(reqBean, resultBean, result.getMsg(), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, result.isCompleted() ? MesPcnEnumUtil.STATION_DATA_TYPE.TEXT : MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); - stepResult.setCompleted(result.isCompleted()); - if (!StringUtils.isEmpty(result.getNextTriggerEvent()) && (Boolean) snLineOnModuleService.doHandleSelectWorkOrderNo( reqBean, 2, new StringJoiner(MesPcnExtConstWords.COLON).add(MesPcnExtConstWords.TMP_ORDER).add(params.getProduceSnExtDb().getLastWorkOrderNo()).toString())) return stepResult.nextTriggerEvent(result.getNextTriggerEvent()).isCompleted(false); @@ -125,9 +118,9 @@ public class JxSnLineOnCheckMcOrPsStepService extends BaseStepService { reqBean.setProductSn(params.getProductSn()); reqBean.setTray(null == params.getProduceSnMcRecordDb() ? params.getManageCode() : new StringJoiner(MesPcnExtConstWords.AND).add(params.getProduceSnMcRecordDb().getManageCode()).add(params.getProduceSnMcRecordDb().getId().toString()).toString()); - if (result.isCompleted() && (null != params.getProduceSnMcRecordDb() || null != params.getProduceSnExtDb())) stepResult.nextTriggerEvent(MesPcnExtConstWords.BIND_KEY_PART).isCompleted(false); + if (result.isCompleted() && (null != params.getProduceSnMcRecordDb() || null != params.getProduceSnExtDb())) return stepResult.nextTriggerEvent(MesPcnExtConstWords.BIND_KEY_PART).isCompleted(false); - return stepResult; + return stepResult.isCompleted(result.isCompleted()); } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnProcessingCheckMcOrPsStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnProcessingCheckMcOrPsStepService.java index e33e017..58caaf2 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnProcessingCheckMcOrPsStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/step/jx/JxSnProcessingCheckMcOrPsStepService.java @@ -41,11 +41,6 @@ public class JxSnProcessingCheckMcOrPsStepService extends BaseStepService { private ISxWorkOrderExtService workOrderExtService; @Override - public StepResult guide(StationRequestBean reqBean) { - return execSuccessCompleteAndSendGuideReturn(reqBean, new StationResultBean(), "请扫描管理编码或产品条码!"); - } - - @Override public StepResult init(StationRequestBean reqBean) { reqBean.setSerialNumber(null); reqBean.setProductSn(null); @@ -60,16 +55,16 @@ public class JxSnProcessingCheckMcOrPsStepService extends BaseStepService { log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnProcessingCheckMcOrPsStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()); - StepResult stepResult = StepResult.getSuccessComplete(); - StationResultBean resultBean = new StationResultBean(); - if (StringUtils.isEmpty(reqBean.getScanInfo())) return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "入参缺少管理编码或产品条码!"); + if (StringUtils.isEmpty(reqBean.getScanInfo())) execSendGuideAndThrowEx(reqBean, resultBean, "入参缺少管理编码或产品条码!"); String curExecWorkOrderNo = getCurExecWorkOrderNo(reqBean, resultBean); WorkOrderExtModel orderModel = getWorkOrderExtModel(reqBean, resultBean, curExecWorkOrderNo); + StepResult stepResult = StepResult.getSuccessComplete(); + checkScanInfoIsValid(reqBean, resultBean, stepResult, orderModel); reqBean.setScanInfo(null); @@ -107,13 +102,20 @@ public class JxSnProcessingCheckMcOrPsStepService extends BaseStepService { .location(reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()) .orderModel(orderModel) .obj(reqBean) - .strategyService(SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.COMMON.getClazz())) .build(); - StepResult result = ((IJxProdBusiStrategyService) SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.valueOfClazz(orderModel.getWorkOrderType()))).checkProcessing(params); + StepResult result = ((IJxProdBusiStrategyService) SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.COMMON.getClazz())).checkProcessing(params); this.sendMessage(reqBean, resultBean, result.getMsg(), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, result.isCompleted() ? MesPcnEnumUtil.STATION_DATA_TYPE.TEXT : MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); + if (result.isCompleted() && !StringUtils.isEmpty(result.getNextTriggerEvent()) && (Boolean) snProcessingModuleService.doHandleSelectWorkOrderNo( + reqBean, 2, new StringJoiner(MesPcnExtConstWords.COLON).add(MesPcnExtConstWords.TMP_ORDER).add(params.getProduceSnExtDb().getLastWorkOrderNo()).toString())) + return stepResult.nextTriggerEvent(result.getNextTriggerEvent()).isCompleted(false); + + reqBean.setScanInfo(null); + if (result.isCompleted() && !StringUtils.isEmpty(result.getNextTriggerEvent())) return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, + new StringJoiner(MesPcnExtConstWords.COMMA).add(result.getMsg().split(MesPcnExtConstWords.COMMA)[0]).add(String.format(",缓存临时工单[%s]失败!", params.getProduceSnExtDb().getLastWorkOrderNo())).toString()); + reqBean.setSerialNumber(params.getSerialNumber()); reqBean.setProductSn(params.getProductSn()); reqBean.setTray(null == params.getProduceSnMcRecordDb() ? params.getManageCode() : new StringJoiner(MesPcnExtConstWords.AND).add(params.getProduceSnMcRecordDb().getManageCode()).add(params.getProduceSnMcRecordDb().getId().toString()).toString());