44517 装箱防错后吐条码需求(芜湖)

tags/yfai-pcn-ext-v2.8
王杰 4 months ago
parent f9c6b5e81b
commit 8daaa603bf

@ -36,12 +36,17 @@ public class MesFunctionPackageProgressService extends BaseSwsService implements
@Override @Override
public Object doCustomApiDispatch(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) { public Object doCustomApiDispatch(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) {
Map<String, Object> resultMap = new HashMap<>();
//获取打包数据 //获取打包数据
Map<String, String> packageDataContextMap = productionCustomContextStepService.getPackageDataContext(reqBean); Map<String, String> packageDataContextMap = productionCustomContextStepService.getPackageDataContext(reqBean);
if (CollectionUtils.isEmpty(packageDataContextMap)) return null; if (CollectionUtils.isEmpty(packageDataContextMap)) {
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue());
resultMap.put(MesPcnExtConstWords.MESSAGE, "当前无包装信息!");
return resultMap;
}
if (StringUtils.isEmpty(buttonDynamicModel.getFunctionValue())) {
//封装返回列表 //封装返回列表
List<MesPackageDataContext> resultList = new ArrayList<>(); List<MesPackageDataContext> resultList = new ArrayList<>();
@ -61,13 +66,13 @@ public class MesFunctionPackageProgressService extends BaseSwsService implements
resultList = resultList.stream().filter(o -> null != o).sorted(Comparator.comparing(MesPackageDataContext::getModifyDatetime).reversed()).collect(Collectors.toList()); resultList = resultList.stream().filter(o -> null != o).sorted(Comparator.comparing(MesPackageDataContext::getModifyDatetime).reversed()).collect(Collectors.toList());
return resultList; resultMap.put(MesPcnExtConstWords.DATA, resultList);
} if (StringUtils.isEmpty(buttonDynamicModel.getFunctionValue())) return resultMap;
resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()); resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue());
Map<String, String> resultMap = new HashMap<>();
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT.getValue()); resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT.getValue());
MesPackageDataContext packageDataContext = JSONObject.parseObject(buttonDynamicModel.getFunctionValue(), MesPackageDataContext.class); MesPackageDataContext packageDataContext = JSONObject.parseObject(buttonDynamicModel.getFunctionValue(), MesPackageDataContext.class);
if (null == packageDataContext) { if (null == packageDataContext) {
return packResultMap(reqBean, resultBean, resultMap, return packResultMap(reqBean, resultBean, resultMap,
@ -98,12 +103,19 @@ public class MesFunctionPackageProgressService extends BaseSwsService implements
String.format("生产线[%s]工位[%s]强制打包失败,%s", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), stepResult.getMsg())); String.format("生产线[%s]工位[%s]强制打包失败,%s", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), stepResult.getMsg()));
} }
// 保存打包数据
packageDataContextMap.remove(packageDataContext.getPartNo());
productionCustomContextStepService.dispatchPackageDataContext(reqBean, packageDataContextMap);
resultList = resultList.stream().filter(o -> (null != o && !o.getPackageNo().equals(packageDataContext.getPackageNo()))).collect(Collectors.toList());
if (CollectionUtils.isEmpty(resultList)) resultMap.remove(MesPcnExtConstWords.DATA);
else resultMap.put(MesPcnExtConstWords.DATA, resultList);
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue()); resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue());
return packResultMap(reqBean, resultBean, resultMap, String.format("零件号[%s]强制封箱!正在打印中...请稍后!", packageDataContext.getPartNo())); return packResultMap(reqBean, resultBean, resultMap, String.format("零件号[%s]强制封箱成功!", packageDataContext.getPartNo()));
} }
private Object packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, String> resultMap, String message) { private Object packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) {
this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
resultMap.put(MesPcnExtConstWords.MESSAGE, message); resultMap.put(MesPcnExtConstWords.MESSAGE, message);
return resultMap; return resultMap;

@ -222,9 +222,8 @@ public class MesPackageNoGenerateStepService extends BaseStepService {
String packageTemplate = packingRule.getPackageTemplate(); String packageTemplate = packingRule.getPackageTemplate();
String printer = packingRule.getPrinter(); String printer = packingRule.getPrinter();
//如果 packageBarcodeRule || packageTemplate || printer 有一个为空, 则需要根据 箱类别代号查询包装定义 //如果 packageBarcodeRule || packageTemplate || printer 有一个为空, 则需要根据 箱类别代号查询包装定义, 但是 printer 不进行强验证,可能是否的是默认打印机
if (StringUtils.isEmpty(generateTypeName) || (StringUtils.isEmpty(packingRule.getPackCode()) && if (StringUtils.isEmpty(generateTypeName) || (StringUtils.isEmpty(packingRule.getPackCode()) && (StringUtils.isEmpty(packageBarcodeRule) || StringUtils.isEmpty(packageTemplate)))) {
(StringUtils.isEmpty(packageBarcodeRule) || StringUtils.isEmpty(packageTemplate) || StringUtils.isEmpty(printer)))) {
this.sendMessage(reqBean, new StationResultBean().writeDbLog(), String.format("零件编码[%s]包装物类型对应的包装代码[%s]配置的成品包装规则信息中必要信息无效:统计方式[%s]箱类别代号[%s]!", this.sendMessage(reqBean, new StationResultBean().writeDbLog(), String.format("零件编码[%s]包装物类型对应的包装代码[%s]配置的成品包装规则信息中必要信息无效:统计方式[%s]箱类别代号[%s]!",
partNo, packingRuleDetail.getPackageCode(), StringUtils.isEmpty(generateTypeName) ? MesPcnExtConstWords.EMPTY : generateTypeName, packingRule.getPackCode()), partNo, packingRuleDetail.getPackageCode(), StringUtils.isEmpty(generateTypeName) ? MesPcnExtConstWords.EMPTY : generateTypeName, packingRule.getPackCode()),
MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
@ -234,8 +233,9 @@ public class MesPackageNoGenerateStepService extends BaseStepService {
//判断是否需要查询包装定义 //判断是否需要查询包装定义
if (StringUtils.isEmpty(packageBarcodeRule) || StringUtils.isEmpty(packageTemplate) || StringUtils.isEmpty(printer)) { if (StringUtils.isEmpty(packageBarcodeRule) || StringUtils.isEmpty(packageTemplate) || StringUtils.isEmpty(printer)) {
//根据箱类别代号查询包装定义 //根据箱类别代号查询包装定义
MesPackingDefine packingDefine = packingRuleService.getPackingDefine(reqBean.getOrganizeCode(), packingRule.getPackCode()); MesPackingDefine packingDefine = StringUtils.isEmpty(packingRule.getPackCode()) ? null :
if (null == packingDefine) { packingRuleService.getPackingDefine(reqBean.getOrganizeCode(), packingRule.getPackCode());
if (null == packingDefine && (StringUtils.isEmpty(packageBarcodeRule) || StringUtils.isEmpty(packageTemplate))) {
this.sendMessage(reqBean, new StationResultBean().writeDbLog(), String.format("零件编码[%s]包装物类型对应的包装代码[%s]配置成品包装规则信息中的箱类别代号[%s]未维护包装定义信息!", this.sendMessage(reqBean, new StationResultBean().writeDbLog(), String.format("零件编码[%s]包装物类型对应的包装代码[%s]配置成品包装规则信息中的箱类别代号[%s]未维护包装定义信息!",
partNo, packingRuleDetail.getPackageCode(), packingRule.getPackCode()), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); partNo, packingRuleDetail.getPackageCode(), packingRule.getPackCode()), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
return null; return null;
@ -244,7 +244,7 @@ public class MesPackageNoGenerateStepService extends BaseStepService {
//如果为空, 则取包装定义中维护的信息 //如果为空, 则取包装定义中维护的信息
if (StringUtils.isEmpty(packageBarcodeRule)) packageBarcodeRule = packingDefine.getPackageBarcodeRule(); if (StringUtils.isEmpty(packageBarcodeRule)) packageBarcodeRule = packingDefine.getPackageBarcodeRule();
if (StringUtils.isEmpty(packageTemplate)) packageTemplate = packingDefine.getPackageTemplate(); if (StringUtils.isEmpty(packageTemplate)) packageTemplate = packingDefine.getPackageTemplate();
if (StringUtils.isEmpty(printer)) printer = packingDefine.getPrinter(); if (StringUtils.isEmpty(printer) && null != packingDefine) printer = packingDefine.getPrinter();
//此时 packageBarcodeRule || packageTemplate 仍有一个为空则 记录日志 忽略当前零件的打包 //此时 packageBarcodeRule || packageTemplate 仍有一个为空则 记录日志 忽略当前零件的打包
if (StringUtils.isEmpty(packageBarcodeRule) || StringUtils.isEmpty(packageTemplate)) { if (StringUtils.isEmpty(packageBarcodeRule) || StringUtils.isEmpty(packageTemplate)) {

@ -276,7 +276,10 @@ public class MesProductionCustomContextStepService extends BaseStepService imple
//保存打包数据 [JSON]List<MesPackageDataContext> //保存打包数据 [JSON]List<MesPackageDataContext>
@Override @Override
public Boolean dispatchPackageDataContext(StationRequestBean reqBean, Map<String, String> packageDataContextMap) { public Boolean dispatchPackageDataContext(StationRequestBean reqBean, Map<String, String> packageDataContextMap) {
if (CollectionUtils.isEmpty(packageDataContextMap)) return false; if (CollectionUtils.isEmpty(packageDataContextMap)) {
removePackageDataContext(reqBean);
return true;
}
return dispatchFsmBusiData(reqBean.getOrganizeCode(), getPackageDataContextKey(reqBean), JSONObject.toJSONString(packageDataContextMap)); return dispatchFsmBusiData(reqBean.getOrganizeCode(), getPackageDataContextKey(reqBean), JSONObject.toJSONString(packageDataContextMap));
} }

Loading…
Cancel
Save