|
|
|
@ -65,8 +65,6 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
|
|
|
|
|
//获取上下文信息
|
|
|
|
|
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.doHandleCurCellEquipment(reqBean);
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 1 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
//配置错误 抛出异常
|
|
|
|
|
if (!productionProcessContext.getSuccess()) execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), productionProcessContext.getMessage());
|
|
|
|
|
|
|
|
|
@ -86,8 +84,6 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
|
|
|
|
|
//获取上下文进料零件条码信息集合
|
|
|
|
|
List<MesProductionPsInContext> productionPsInContextList = productionDispatchContextStepService.getProductionPsInContext(reqBean);
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 2 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
//验证是否存在待绑定数据
|
|
|
|
|
Boolean IsNeedScanAssembly = checkIsNeedScanAssembly(prodRuleContextList);
|
|
|
|
|
Boolean hasUnBindAssembly = hasUnBindAssembly(prodRuleContextList);
|
|
|
|
@ -99,8 +95,6 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
|
|
|
|
|
if (!hasUnBindAssembly && !CollectionUtils.isEmpty(productionPsInContextList) && productionPsInContextList.size() >= needQty && !productionDispatchContextStepService.checkProductionPsOutIsExistContext(reqBean))
|
|
|
|
|
((IStepService) SpringContextsUtil.getBean("mesProductSnGenerateStepService")).executeInState(reqBean);
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 3 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
//没有待绑定数据, 验证当前是否满足腔数 没有进料主条码代码当前加工规则已经全部加载, 有的话需要判断是否全部扫完 没有扫完需要返回false继续扫描主条码
|
|
|
|
|
if (!IsNeedScanAssembly || !hasUnBindAssembly)
|
|
|
|
|
return execDynamicsCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult,
|
|
|
|
@ -120,8 +114,6 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
|
|
|
|
|
//处理待验证的装配件条码 [扫描模式匹配成功返回true, 否则返回flase, 非扫描模式需要验证是否全部匹配完成]
|
|
|
|
|
Boolean result = doHandleMatchAssembly(reqBean, resultBean, stepResult, prodRuleContextList, equipVariableCollectContextList, isSkip);
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 8 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
//验证是否存在待绑定数据
|
|
|
|
|
hasUnBindAssembly = hasUnBindAssembly(prodRuleContextList);
|
|
|
|
|
|
|
|
|
@ -133,13 +125,9 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
|
|
|
|
|
assemblyShowNosortStepService.showProductionAssembly(reqBean, resultBean, productionProcessContext.getWorkCenter(), cellEquipContext, prodRuleContextList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 9 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
//全部匹配完毕,存在进料且进料数量满足腔数的时候直接调用 生成零件条码工步
|
|
|
|
|
if (!hasUnBindAssembly && !CollectionUtils.isEmpty(productionPsInContextList) && productionPsInContextList.size() >= needQty) ((IStepService) SpringContextsUtil.getBean("mesProductSnGenerateStepService")).executeInState(reqBean);
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 10 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
//没有待绑定数据, 验证当前是否满足腔数 没有进料主条码代码当前加工规则已经全部加载, 有的话需要判断是否全部扫完 没有扫完需要返回false继续扫描主条码
|
|
|
|
|
if (!hasUnBindAssembly)
|
|
|
|
|
return execDynamicsCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().scanInfo(assemblySn), stepResult,
|
|
|
|
@ -157,8 +145,6 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
|
|
|
|
|
assemblyShowNosortStepService.showProductionAssembly(reqBean, resultBean, productionProcessContext.getWorkCenter(), cellEquipContext, prodRuleContextList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 11 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().scanInfo(assemblySn),
|
|
|
|
|
stepResult.nextTriggerEvent(MesPcnExtConstWords.NEXT_TRIGGER_EVENT_ASSEMBLY), String.format("装配件条码%s匹配失败!%s", assemblySn, StringUtils.isEmpty(stepResult.getMsg()) ? MesPcnExtConstWords.EMPTY : stepResult.getMsg()));
|
|
|
|
|
|
|
|
|
@ -276,8 +262,6 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
|
|
|
|
|
List<MesProductionAssemblyNosortContext> filterList = (List<MesProductionAssemblyNosortContext>)
|
|
|
|
|
numberRuleMatchDispatchService.matchNumberRule(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue(), Stream.of(productionAssemblyNosortContext).collect(Collectors.toList()));
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 4 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
//匹配失败
|
|
|
|
|
if (CollectionUtils.isEmpty(filterList)) continue;
|
|
|
|
|
|
|
|
|
@ -291,14 +275,10 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 6 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
//时效性验证
|
|
|
|
|
if (!StringUtils.isEmpty(filterList.get(0).getProductSnId())) {
|
|
|
|
|
Map<String, Object> result = productionRecordService.checkSnTimeliness(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue(), filterList.get(0).getSourceId(), MesExtEnumUtil.TIME_DATA_SOURCE.DATA_SOURCE30.getValue());
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{} MesAssemblyMatchNosortStepService ---- 7 ----", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
if (!(Boolean)result.get(MesPcnExtConstWords.RESULT)) {
|
|
|
|
|
stepResult.msg(String.format("%s%s", StringUtils.isEmpty(stepResult.getMsg()) ? MesPcnExtConstWords.EMPTY : stepResult.getMsg(), result.get(MesPcnExtConstWords.MESSAGE)));
|
|
|
|
|
continue;
|
|
|
|
|