工艺防错

tags/yfai-pcn-ext-v1.0
王杰 1 year ago
parent 8f2d794472
commit e4a5fce755

@ -33,4 +33,7 @@ public interface IMesAssemblyExtService {
@ApiOperation(value = "获取设备的装配件规则清单") @ApiOperation(value = "获取设备的装配件规则清单")
List<MesProductionAssemblyNosortContext> getProductionAssemblyNosortContextList(String organizeCode, String equipmentCode); List<MesProductionAssemblyNosortContext> getProductionAssemblyNosortContextList(String organizeCode, String equipmentCode);
@ApiOperation(value = "【排序线】获取生产工单装配件清单")
List<MesWorkOrderAssembly> getWorkOrderAssemblyList(String organizeCode, String workOrderNo, String productSn, String craftCode);
} }

@ -156,6 +156,14 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
return productionAssemblyNosortContextList; return productionAssemblyNosortContextList;
} }
@Override
public List<MesWorkOrderAssembly> getWorkOrderAssemblyList(String organizeCode, String workOrderNo, String productSn, String craftCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo) || StringUtils.isEmpty(productSn) || StringUtils.isEmpty(craftCode)) return null;
return workOrderAssemblyRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.CRAFT_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, productSn, craftCode});
}
//剔除解绑的数据 //剔除解绑的数据
private List<MesProductionAssembly> filterProductionAssemblyList(List<MesProductionAssembly> productionAssemblyList) { private List<MesProductionAssembly> filterProductionAssemblyList(List<MesProductionAssembly> productionAssemblyList) {
return CollectionUtils.isEmpty(productionAssemblyList) ? null : productionAssemblyList.stream().filter(o -> (null != o && MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_20.getValue() != o.getAssemblyStatus())).collect(Collectors.toList()); return CollectionUtils.isEmpty(productionAssemblyList) ? null : productionAssemblyList.stream().filter(o -> (null != o && MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_20.getValue() != o.getAssemblyStatus())).collect(Collectors.toList());

@ -166,7 +166,7 @@ public class MesProductionRecordService implements IMesProductionRecordService {
public List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn) { public List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(productSn)) return null; if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(productSn)) return null;
return productionRecordRepository.findByProperty( return productionRecordRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.PRODUCT_SN}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.PRODUCT_SN},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn});
} }
@ -174,7 +174,7 @@ public class MesProductionRecordService implements IMesProductionRecordService {
public List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String processCode, String craftCode) { public List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String processCode, String craftCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(productSn) || StringUtils.isEmpty(partNo) || StringUtils.isEmpty(processCode) || StringUtils.isEmpty(craftCode)) return null; if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(productSn) || StringUtils.isEmpty(partNo) || StringUtils.isEmpty(processCode) || StringUtils.isEmpty(craftCode)) return null;
return productionRecordRepository.findByProperty( return productionRecordRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn, partNo, processCode, craftCode}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn, partNo, processCode, craftCode});
} }
@ -182,7 +182,7 @@ public class MesProductionRecordService implements IMesProductionRecordService {
public List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String craftCode) { public List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String craftCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(productSn) || StringUtils.isEmpty(partNo) || StringUtils.isEmpty(craftCode)) return null; if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(productSn) || StringUtils.isEmpty(partNo) || StringUtils.isEmpty(craftCode)) return null;
return productionRecordRepository.findByProperty( return productionRecordRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.CRAFT_CODE}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.CRAFT_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn, partNo, craftCode}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn, partNo, craftCode});
} }

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesAssemblyExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService;
@ -46,6 +47,9 @@ public class MesProdCraftRouteCheckStepService extends BaseStepService {
@Autowired @Autowired
private IFsmRouteDataService fsmRouteDataService; private IFsmRouteDataService fsmRouteDataService;
@Autowired
private IMesAssemblyExtService assemblyExtService;
@Override @Override
public StepResult execute(StationRequestBean reqBean) { public StepResult execute(StationRequestBean reqBean) {
@ -235,8 +239,8 @@ public class MesProdCraftRouteCheckStepService extends BaseStepService {
//执行首道工艺 当前主条码验证通过 //执行首道工艺 当前主条码验证通过
if (CollectionUtils.isEmpty(beforeCellCraftList)) return true; if (CollectionUtils.isEmpty(beforeCellCraftList)) return true;
//当前主条码的工艺字段为空 //当前主条码的工艺字段为空 验证首工艺是否存在工单装配件信息
if (StringUtils.isEmpty(productionPsInContext.getCraftCode()) && craftRouteDetailList.get(0).getIsChoose().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) if (StringUtils.isEmpty(productionPsInContext.getCraftCode()) && craftRouteDetailList.get(0).getIsChoose().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0 && checkIsExistWorkOrderAssembly(productionPsInContext, craftRouteDetailList.get(0).getCraftCode()))
return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]未经过首道工艺[%s]", message, productionPsInContext.getProductSn(), craftRouteDetailList.get(0).getCraftCode())).isCompleted(); return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]未经过首道工艺[%s]", message, productionPsInContext.getProductSn(), craftRouteDetailList.get(0).getCraftCode())).isCompleted();
//搜集主条码当前工艺于当前工位对应工艺之间的未完成的工艺集合 //搜集主条码当前工艺于当前工位对应工艺之间的未完成的工艺集合
@ -255,14 +259,20 @@ public class MesProdCraftRouteCheckStepService extends BaseStepService {
//未完成工艺倒序 //未完成工艺倒序
unCompleteCraftList = unCompleteCraftList.stream().filter(o -> null != o).sorted(Comparator.comparing(MesCraftRouteDetail::getSeq).reversed()).collect(Collectors.toList()); unCompleteCraftList = unCompleteCraftList.stream().filter(o -> null != o).sorted(Comparator.comparing(MesCraftRouteDetail::getSeq).reversed()).collect(Collectors.toList());
//验证未完成工艺是否存在工单装配件信息
Optional<MesCraftRouteDetail> optional = unCompleteCraftList.stream().filter(o -> (null != o && o.getIsChoose() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue())).findFirst(); Optional<MesCraftRouteDetail> optional = unCompleteCraftList.stream().filter(o -> (null != o && o.getIsChoose() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue())).findFirst();
if (unCompleteCraftList.get(0).getIsChoose().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) if (unCompleteCraftList.get(0).getIsChoose().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0 && checkIsExistWorkOrderAssembly(productionPsInContext, unCompleteCraftList.get(0).getCraftCode()))
return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]未经过必过工艺[%s]", message, productionPsInContext.getProductSn(), unCompleteCraftList.get(0).getCraftCode())).isCompleted(); return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]未经过必过工艺[%s]", message, productionPsInContext.getProductSn(), unCompleteCraftList.get(0).getCraftCode())).isCompleted();
return true; return true;
} }
//验证工艺是否存在工单装配件信息
private Boolean checkIsExistWorkOrderAssembly(MesProductionPsInContext productionPsInContext, String craftCode) {
return !CollectionUtils.isEmpty(assemblyExtService.getWorkOrderAssemblyList(productionPsInContext.getOrganizeCode(), productionPsInContext.getWorkOrderNo(), productionPsInContext.getProductSn(), craftCode)) ? true : false;
}
//前道工艺防错验证 【非排序】 //前道工艺防错验证 【非排序】
private Boolean doProdCraftRouteCheckNosort(StationRequestBean reqBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesProductionPsInContext productionPsInContext, List<MesCraftRouteDetail> craftRouteDetailList) { private Boolean doProdCraftRouteCheckNosort(StationRequestBean reqBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesProductionPsInContext productionPsInContext, List<MesCraftRouteDetail> craftRouteDetailList) {

@ -1,77 +1,182 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; //package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
//
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; //import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; //import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext; //import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; //import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; //import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean; //import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.model.StepResult; //import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import lombok.extern.slf4j.Slf4j; //import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import org.springframework.beans.factory.annotation.Autowired; //import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import org.springframework.stereotype.Service; //import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import org.springframework.util.CollectionUtils; //import cn.estsh.i3plus.pojo.mes.model.StepResult;
import org.springframework.util.StringUtils; //import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
//import lombok.extern.slf4j.Slf4j;
import java.util.List; //import org.springframework.beans.factory.annotation.Autowired;
import java.util.Optional; //import org.springframework.stereotype.Service;
//import org.springframework.util.CollectionUtils;
/** //import org.springframework.util.StringUtils;
* @Description : //
* @Author : wangjie //import java.util.ArrayList;
**/ //import java.util.List;
@Slf4j //import java.util.Optional;
@Service("mesProduceSeqCheckStepService") //
public class MesProduceSeqCheckStepService extends BaseStepService { ///**
// * @Description : 生产工单顺序防错
@Autowired // * @Author : wangjie
private IMesProductionProcessContextStepService productionProcessContextStepService; // **/
//@Slf4j
@Autowired //@Service("mesProduceSeqCheckStepService")
private IMesProductionDispatchContextStepService productionDispatchContextStepService; //public class MesProduceSeqCheckStepService extends BaseStepService {
//
@Override // @Autowired
public StepResult execute(StationRequestBean reqBean) { // private IMesProductionProcessContextStepService productionProcessContextStepService;
//
StationResultBean resultBean = new StationResultBean(); // @Autowired
// private IMesProductionDispatchContextStepService productionDispatchContextStepService;
StepResult stepResult = StepResult.getSuccessComplete(); //
// @Override
//获取上下文信息 // public StepResult execute(StationRequestBean reqBean) {
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.doHandleCurCellEquipment(reqBean); //
// StationResultBean resultBean = new StationResultBean();
//获取生产过程上下文对象有异常信息 抛出异常 //
if (!productionProcessContext.getSuccess()) execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), productionProcessContext.getMessage()); // StepResult stepResult = StepResult.getSuccessComplete();
//
//存储生产过程上下文对象 // //获取上下文信息
productionProcessContextStepService.saveProductionProcessContext(reqBean, productionProcessContext); // MesProductionProcessContext productionProcessContext = productionProcessContextStepService.doHandleCurCellEquipment(reqBean);
//
//获取上下文产出零件信息 // //获取生产过程上下文对象有异常信息 抛出异常
List<MesProductionPartContext> productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean); // if (!productionProcessContext.getSuccess()) execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), productionProcessContext.getMessage());
//
//验证是否存在加工单 // //存储生产过程上下文对象
if (!checkIsExistWorkOrder(productionPartContextList)) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前无加工单信息,无需进行顺序防错验证!"); // productionProcessContextStepService.saveProductionProcessContext(reqBean, productionProcessContext);
//
// //获取上下文产出零件信息
// List<MesProductionPartContext> productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
//
// //验证是否存在加工单
return stepResult; // if (!checkIsExistWorkOrder(productionPartContextList)) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前无加工单信息,无需进行顺序防错验证!");
//
} // //验证工位是否设置需要顺序防错
// if (!isNeedCheckProduceSeq(productionPartContextList))
//验证是否存在加工单 // return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]未设置顺序防错,无需进行顺序防错验证!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
private Boolean checkIsExistWorkOrder(List<MesProductionPartContext> productionPartContextList) { //
// //验证是否存在工艺强过码, 存在则保存 并返回强过的加工单
if (CollectionUtils.isEmpty(productionPartContextList)) return false; // List<String> workOrderNoList2Jump = doHandleCraftJumpCode(reqBean, productionPartContextList);
// if (!CollectionUtils.isEmpty(workOrderNoList2Jump))
Optional<MesProductionPartContext> optional = productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkOrderNo()))).findFirst(); // return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().scanInfo(workOrderNoList2Jump.toString()), stepResult, String.format("加工单%s跳过顺序防错验证成功!", workOrderNoList2Jump.toString()));
//
if (null == optional || !optional.isPresent()) return false; // //验证是否已经全部通过
// if (!isExistNeedCheckProduceSeq(productionPartContextList)) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "加工单均已通过顺序防错验证!");
return true; //
// //顺序防错验证处理
} // doHandleProduceSeqCheck(reqBean, resultBean, stepResult, productionProcessContext, productionProcessContext.getWorkCenter(), productionPartContextList);
//
} // return stepResult;
//
// }
//
// //验证是否存在加工单
// private Boolean checkIsExistWorkOrder(List<MesProductionPartContext> productionPartContextList) {
//
// if (CollectionUtils.isEmpty(productionPartContextList)) return false;
//
// Optional<MesProductionPartContext> optional = productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkOrderNo()))).findFirst();
//
// return (null == optional || !optional.isPresent()) ? false : true;
//
// }
//
// //验证工位是否设置需要前道防错
// private Boolean isNeedCheckProduceSeq(List<MesProductionPartContext> productionPartContextList) {
// Optional<MesProductionPartContext> optional = productionPartContextList.stream().filter(o -> (null != o &&
// o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0 && o.getIsCheckSeq().compareTo(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) == 0)).findFirst();
// return (null == optional || !optional.isPresent()) ? false : true;
// }
//
// //验证是否已经全部通过
// private Boolean isExistNeedCheckProduceSeq(List<MesProductionPartContext> productionPartContextList) {
// Optional<MesProductionPartContext> optional = productionPartContextList.stream().filter(o -> (null != o &&
// o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0 && o.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) != 0)).findFirst();
// return (null == optional || !optional.isPresent()) ? false : true;
// }
//
// //验证是否存在工艺强过码, 存在则保存 并返回强过的加工单
// private List<String> doHandleCraftJumpCode(StationRequestBean reqBean, List<MesProductionPartContext> productionPartContextList) {
//
// List<String> workOrderNoList2Jump = null;
//
// for (MesProductionPartContext productionPartContext : productionPartContextList) {
//
// if (null == productionPartContext || productionPartContext.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) != 0 || StringUtils.isEmpty(productionPartContext.getCraftJumpCode())) continue;
//
// if (CollectionUtils.isEmpty(workOrderNoList2Jump)) workOrderNoList2Jump = new ArrayList<>();
//
// workOrderNoList2Jump.add(productionPartContext.getWorkOrderNo());
//
// productionPartContext.checkSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
//
// }
//
// //保存上下文产出零件信息
// if (!CollectionUtils.isEmpty(workOrderNoList2Jump)) productionDispatchContextStepService.saveProductionPartContext(reqBean, productionPartContextList);
//
// return workOrderNoList2Jump;
//
// }
//
// //顺序防错验证处理
// private void doHandleProduceSeqCheck(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesWorkCenter workCenter, List<MesProductionPartContext> productionPartContextList) {
//
// List<String> workOrderNoList = new ArrayList<>();
//
// for (MesProductionPartContext productionPartContext : productionPartContextList) {
//
// if (null == productionPartContext || StringUtils.isEmpty(productionPartContext.getWorkOrderNo()) || productionPartContext.getCheckSeqResult().compareTo(MesPcnExtConstWords.ZERO) != 0) continue;
//
// //顺序防错验证
// Boolean result = doProduceSeqCheck(reqBean, stepResult, productionProcessContext, workCenter, productionPartContextList);
//
// if (!result) productionPartContext.setCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
// else productionPartContext.setCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
//
// workOrderNoList.add(productionPartContext.getWorkOrderNo());
//
// }
//
// //保存上下文产出零件信息
// productionDispatchContextStepService.saveProductionPartContext(reqBean, productionPartContextList);
//
// if (stepResult.isCompleted()) this.sendMessage(reqBean, resultBean.writeDbLog().scanInfo(workOrderNoList.toString()), String.format("加工单%s顺序防错验证成功!", workOrderNoList.toString()), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT);
// else this.sendMessage(reqBean, resultBean.writeDbLog().scanInfo(workOrderNoList.toString()), stepResult.getMsg(), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
//
// }
//
// //顺序防错验证
// private Boolean doProduceSeqCheck(StationRequestBean reqBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesWorkCenter workCenter, List<MesProductionPartContext> productionPartContextList) {
//
// //排序
// if (workCenter.getCenterType().compareTo(MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue()) == 0) return doProduceSeqCheckSort(reqBean, stepResult, productionProcessContext, productionPartContextList);
//
// //非排序
// return doProduceSeqCheckNosort(reqBean, stepResult, productionProcessContext, productionPartContextList);
//
// }
//
// //前道工艺防错验证 【排序】
// private Boolean doProduceSeqCheckSort(StationRequestBean reqBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, List<MesProductionPartContext> productionPartContextList) {
//
//
//
// }
//
// //前道工艺防错验证 【非排序】
// private Boolean doProduceSeqCheckNosort(StationRequestBean reqBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, List<MesProductionPartContext> productionPartContextList) {
//
//
//
// }
//
//}

@ -211,7 +211,7 @@ public class MesProductSnGenerateStepService extends BaseStepService {
} catch (ImppBusiException e) { } catch (ImppBusiException e) {
execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), e.getErrorDetail()); execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), e.getErrorDetail());
} catch (Exception e) { } catch (Exception e) {
execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), e.toString()); execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), e.toString() + "[doGererateSerialNo]");
} }
return null; return null;
} }

Loading…
Cancel
Save