Merge branch 'uat-temp-wj-250208-44424' into dev

dev-temp-nht-202502180000-customprint
王杰 3 months ago
commit def94938db

@ -67,6 +67,16 @@ public class MesAssemblyMatchSortStepService extends BaseStepService {
//存储生产过程上下文对象
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取加工结果
String productResult = productionDispatchContextStepService.getProductResultContext(reqBean);
if (!StringUtils.isEmpty(productResult) && !productResult.equals(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue() + MesPcnExtConstWords.EMPTY) &&
(StringUtils.isEmpty(productionProcessContext.getWorkCenter().getIsIgnoreQc())
|| productionProcessContext.getWorkCenter().getIsIgnoreQc().compareTo(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) != 0)) {
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult,
String.format("加工单质量状态标记[%s],当前装配件清单默认跳过!", MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(Integer.parseInt(productResult))),
MesPcnEnumUtil.PROMPT_SOUND.SUCCESS.getValue());
}
//获取上下文产品加工规则数据信息集合
List<MesProdRuleContext> prodRuleContextList = productionDispatchContextStepService.getProdRuleDataContext(reqBean);
if (CollectionUtils.isEmpty(prodRuleContextList)) stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), "当前不存在非排序加工规则数据,请重置工序!");

@ -112,7 +112,7 @@ public class MesAssemblyScanStepService extends BaseStepService {
productionCustomContextStepService.sendStepContextMessage(reqBean, scanInfo, MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN);
//封装当前扫描的装配件信息
List<MesEquipVariableCollectContext> equipVariableCollectContextList = getAssemblySnJson(reqBean, scanInfo);
List<MesEquipVariableCollectContext> equipVariableCollectContextList = getAssemblySnJson(reqBean, productionProcessContext, scanInfo);
//从上下文中取出工位当前要使用的设备
MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip();
@ -153,7 +153,17 @@ public class MesAssemblyScanStepService extends BaseStepService {
productionDispatchContextStepService.dispatchScanAssemblySnContext(reqBean, equipVariableCollectContextList);
//唯一加工规则场景 默认扫描一次 匹配一次 循环处理直到当前的加工规则全部匹配完毕
if (busiType == BUSI_TYPE.ONE.value) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.SCAN.getValue()).scanInfo(scanInfo), stepResult, String.format("当前扫描信息装配件条码[%s]!", scanInfo));
if (busiType == BUSI_TYPE.ONE.value) {
//排序线可疑码场景下,该数据为空,验证生产线是否忽略质量状态
if (CollectionUtils.isEmpty(equipVariableCollectContextList)) {
//保存上下文加工结果:可疑
productionDispatchContextStepService.dispatchProductResultContext(reqBean, MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue() + MesPcnExtConstWords.EMPTY);
this.sendMessage(reqBean, new StationResultBean().writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.SCAN.getValue()).scanInfo(scanInfo), "当前扫描信息[排序线可疑码]!", MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT);
if (StringUtils.isEmpty(productionProcessContext.getWorkCenter().getIsIgnoreQc()) || productionProcessContext.getWorkCenter().getIsIgnoreQc().compareTo(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) != 0) return stepResult;
else stepSendGuideAndThrowEx(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), "请扫描装配件条码!");
}
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.SCAN.getValue()).scanInfo(scanInfo), stepResult, String.format("当前扫描信息装配件条码[%s]!", scanInfo));
}
String suffix = repeatAssemblySnAmount == 0 ? MesPcnExtConstWords.EMPTY : String.format(",可复用个数[%s]", repeatAssemblySnAmount);
@ -265,7 +275,10 @@ public class MesAssemblyScanStepService extends BaseStepService {
}
//封装当前扫描的装配件信息
private List<MesEquipVariableCollectContext> getAssemblySnJson(StationRequestBean reqBean, String scanInfo) {
private List<MesEquipVariableCollectContext> getAssemblySnJson(StationRequestBean reqBean, MesProductionProcessContext productionProcessContext, String scanInfo) {
//排序线可疑码
if (productionProcessContext.getWorkCenter().getCenterType().compareTo(MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue()) == 0 && scanInfo.equals(productionProcessContext.getSortSuspiciousCode())) return null;
List<MesEquipVariableCollectContext> equipVariableCollectContextList = new ArrayList<>();

@ -114,7 +114,9 @@ public class MesProductionProcessContextStepService extends BaseStepService impl
if (isCheckProcess && (StringUtils.isEmpty(productionProcessContext.getProcessCode()) || !productionProcessContext.getProcessCode().equals(reqBean.getProcessCode()))) processContext(reqBean, productionProcessContext);
//生产过程上下文对象赋值生产过程控制全局密码
if (StringUtils.isEmpty(productionProcessContext.getFinishCode()) || StringUtils.isEmpty(productionProcessContext.getCraftJumpCode()) || StringUtils.isEmpty(productionProcessContext.getAssemblySkipCode()) || StringUtils.isEmpty(productionProcessContext.getAssemblyCavitySkipCode())) productionPwdContext(reqBean, productionProcessContext);
if (StringUtils.isEmpty(productionProcessContext.getFinishCode()) || StringUtils.isEmpty(productionProcessContext.getCraftJumpCode()) ||
StringUtils.isEmpty(productionProcessContext.getAssemblySkipCode()) || StringUtils.isEmpty(productionProcessContext.getAssemblyCavitySkipCode()) ||
StringUtils.isEmpty(productionProcessContext.getSortSuspiciousCode())) productionPwdContext(reqBean, productionProcessContext);
return productionProcessContext;
@ -152,7 +154,8 @@ public class MesProductionProcessContextStepService extends BaseStepService impl
return productionProcessContext.finishCode((!CollectionUtils.isEmpty(cfgKeyMap) && cfgKeyMap.containsKey(MesPcnExtConstWords.CAVITY_FINISH_CODE)) ? cfgKeyMap.get(MesPcnExtConstWords.CAVITY_FINISH_CODE).get(0).getCfgValue() : MesPcnExtConstWords.CAVITY_FINISH_CODE)
.craftJumpCode((!CollectionUtils.isEmpty(cfgKeyMap) && cfgKeyMap.containsKey(MesPcnExtConstWords.CRAFT_JUMP_CODE)) ? cfgKeyMap.get(MesPcnExtConstWords.CRAFT_JUMP_CODE).get(0).getCfgValue() : MesPcnExtConstWords.CRAFT_JUMP_CODE)
.assemblySkipCode((!CollectionUtils.isEmpty(cfgKeyMap) && cfgKeyMap.containsKey(MesPcnExtConstWords.ASSEMBLY_SKIP_CODE)) ? cfgKeyMap.get(MesPcnExtConstWords.ASSEMBLY_SKIP_CODE).get(0).getCfgValue() : MesPcnExtConstWords.ASSEMBLY_SKIP_CODE)
.assemblyCavitySkipCode((!CollectionUtils.isEmpty(cfgKeyMap) && cfgKeyMap.containsKey(MesPcnExtConstWords.ASSEMBLY_CAVITY_SKIP_CODE)) ? cfgKeyMap.get(MesPcnExtConstWords.ASSEMBLY_CAVITY_SKIP_CODE).get(0).getCfgValue() : MesPcnExtConstWords.ASSEMBLY_CAVITY_SKIP_CODE);
.assemblyCavitySkipCode((!CollectionUtils.isEmpty(cfgKeyMap) && cfgKeyMap.containsKey(MesPcnExtConstWords.ASSEMBLY_CAVITY_SKIP_CODE)) ? cfgKeyMap.get(MesPcnExtConstWords.ASSEMBLY_CAVITY_SKIP_CODE).get(0).getCfgValue() : MesPcnExtConstWords.ASSEMBLY_CAVITY_SKIP_CODE)
.sortSuspiciousCode((!CollectionUtils.isEmpty(cfgKeyMap) && cfgKeyMap.containsKey(MesPcnExtConstWords.SORT_SUSPICIOUS_CODE)) ? cfgKeyMap.get(MesPcnExtConstWords.SORT_SUSPICIOUS_CODE).get(0).getCfgValue() : MesPcnExtConstWords.SORT_SUSPICIOUS_CODE);
}
//验证组织模型有效性

@ -50,6 +50,9 @@ public class MesProductionProcessContext implements Serializable {
@ApiParam("装配件整腔跳过码")
private String assemblyCavitySkipCode;
@ApiParam("排序线可疑码")
private String sortSuspiciousCode;
@ApiParam("生产线信息([Json]MesWorkCenter)")
private String workCenterJson;
@ -143,6 +146,12 @@ public class MesProductionProcessContext implements Serializable {
return this.isNeedCache();
}
//排序线可疑码
public MesProductionProcessContext sortSuspiciousCode(String sortSuspiciousCode) {
this.sortSuspiciousCode = sortSuspiciousCode;
return this.isNeedCache();
}
//---------------------- 生产线对象 ---------------------------------------

@ -416,6 +416,8 @@ public class MesPcnExtConstWords {
public static final String ASSEMBLY_SKIP_CODE = "ASSEMBLY_SKIP_CODE";
// 装配件整腔跳过码
public static final String ASSEMBLY_CAVITY_SKIP_CODE = "ASSEMBLY_CAVITY_SKIP_CODE";
// 排序线可疑码
public static final String SORT_SUSPICIOUS_CODE = "SORT_SUSPICIOUS_CODE";
// 设备代码[工步参数]
public static final String EQUIPMENT_CODE_UC = "EQUIPMENT_CODE";
// 模具号读一模多腔配置[工步参数]

Loading…
Cancel
Save