|
|
@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
|
|
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.mes.pcn.actor.shipping.dispatch.IFsmCommonService;
|
|
|
|
import cn.estsh.i3plus.mes.pcn.util.StationKvBeanUtil;
|
|
|
|
import cn.estsh.i3plus.mes.pcn.util.StationKvBeanUtil;
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
@ -13,6 +14,7 @@ import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
@ -29,6 +31,9 @@ import java.util.stream.Collectors;
|
|
|
|
@Service("mesWorkOrderCheckSortStepService")
|
|
|
|
@Service("mesWorkOrderCheckSortStepService")
|
|
|
|
public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepService {
|
|
|
|
public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private IFsmCommonService fsmCommonService;
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public StepResult execute(StationRequestBean reqBean) {
|
|
|
|
public StepResult execute(StationRequestBean reqBean) {
|
|
|
|
|
|
|
|
|
|
|
@ -175,6 +180,8 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
|
|
|
|
private StepResult checkWorkOrderValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext,
|
|
|
|
private StepResult checkWorkOrderValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext,
|
|
|
|
List<MesEquipVariableCollectContext> equipVariableCollectContextList, List<MesProductionPartContext> productionPartContextList,
|
|
|
|
List<MesEquipVariableCollectContext> equipVariableCollectContextList, List<MesProductionPartContext> productionPartContextList,
|
|
|
|
List<MesProductionPsInContext> productionPsInContextList, List<MesProductionPsOutContext> productionPsOutContextList) {
|
|
|
|
List<MesProductionPsInContext> productionPsInContextList, List<MesProductionPsOutContext> productionPsOutContextList) {
|
|
|
|
|
|
|
|
//是否支持扫描完成状态的工单[工位参数]
|
|
|
|
|
|
|
|
String cfg = getAllowScanCompleteOrderCfg(reqBean);
|
|
|
|
|
|
|
|
|
|
|
|
//从上下文中取出生产线与工位对象
|
|
|
|
//从上下文中取出生产线与工位对象
|
|
|
|
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
|
|
|
|
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
|
|
|
@ -200,7 +207,9 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
|
|
|
|
return stepResult.isCompleted(false).msg((String) itemMap.get(MesPcnExtConstWords.MESSAGE));
|
|
|
|
return stepResult.isCompleted(false).msg((String) itemMap.get(MesPcnExtConstWords.MESSAGE));
|
|
|
|
|
|
|
|
|
|
|
|
MesWorkOrder workOrder = (MesWorkOrder) itemMap.get(MesWorkOrder.class.getSimpleName());
|
|
|
|
MesWorkOrder workOrder = (MesWorkOrder) itemMap.get(MesWorkOrder.class.getSimpleName());
|
|
|
|
if (!MesExtEnumUtil.ORDER_STATUS.checkAllowStatus(workCenter.getCenterType(), workOrder.getWorkOrderStatus()))
|
|
|
|
if (StringUtils.isEmpty(cfg) && !MesExtEnumUtil.ORDER_STATUS.checkAllowStatus(workCenter.getCenterType(), workOrder.getWorkOrderStatus()))
|
|
|
|
|
|
|
|
return stepResult.isCompleted(false).msg(String.format("请检查工单信息,加工单[%s]信息工单状态[%s]!", workOrderNo, MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus())));
|
|
|
|
|
|
|
|
if (!StringUtils.isEmpty(cfg) && !MesExtEnumUtil.ORDER_STATUS.checkNosortAllowStatus(workOrder.getWorkOrderStatus()))
|
|
|
|
return stepResult.isCompleted(false).msg(String.format("请检查工单信息,加工单[%s]信息工单状态[%s]!", workOrderNo, MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus())));
|
|
|
|
return stepResult.isCompleted(false).msg(String.format("请检查工单信息,加工单[%s]信息工单状态[%s]!", workOrderNo, MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus())));
|
|
|
|
if (!workOrder.getWorkCenterCode().equals(reqBean.getWorkCenterCode()))
|
|
|
|
if (!workOrder.getWorkCenterCode().equals(reqBean.getWorkCenterCode()))
|
|
|
|
return stepResult.isCompleted(false).msg(String.format("请检查工单信息,加工单[%s]信息所属生产线[%s]与当前生产线[%s]不一致!", workOrderNo, workOrder.getWorkCenterCode(), reqBean.getWorkCenterCode()));
|
|
|
|
return stepResult.isCompleted(false).msg(String.format("请检查工单信息,加工单[%s]信息所属生产线[%s]与当前生产线[%s]不一致!", workOrderNo, workOrder.getWorkCenterCode(), reqBean.getWorkCenterCode()));
|
|
|
@ -291,4 +300,10 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//是否支持扫描完成状态的工单[工位参数]
|
|
|
|
|
|
|
|
private String getAllowScanCompleteOrderCfg(StationRequestBean reqBean) {
|
|
|
|
|
|
|
|
String cfg = fsmCommonService.handleFsmWcpcMapDataForDoScan(reqBean).get(MesPcnExtConstWords.ALLOW_SCAN_COMPLETE_ORDER_CFG);
|
|
|
|
|
|
|
|
return (!StringUtils.isEmpty(cfg) && cfg.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) ? cfg : null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|