pcn work cell scan

tags/yfai-pcn-ext-v1.0
王杰 1 year ago
parent 823a1a847b
commit 2a4d00c882

@ -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(); }
/**
*

@ -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()));
}

@ -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);

@ -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); }
}

@ -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());
}
}

@ -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());
}
}

@ -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());
}
}

@ -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());

Loading…
Cancel
Save