嘉兴终检
parent
98a4ec8270
commit
1fa4eea56f
@ -0,0 +1,105 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.step.jx;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.station.jx.JxSnFinalInspectionModuleService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||||
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.base.BaseStepService;
|
||||||
|
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.ButtonBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description : 嘉兴条码终检外观检查工步
|
||||||
|
* @Reference :
|
||||||
|
* @Author : wangjie
|
||||||
|
* @CreateDate : 2019-07-11
|
||||||
|
* @Modify:
|
||||||
|
**/
|
||||||
|
@Slf4j
|
||||||
|
@Service("jxSnFinalInspectionAspectCheckStepService")
|
||||||
|
public class JxSnFinalInspectionAspectCheckStepService extends BaseStepService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JxSnFinalInspectionModuleService snFinalInspectionModuleService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult init(StationRequestBean reqBean) {
|
||||||
|
clearStepContent(reqBean);
|
||||||
|
return super.init(reqBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult execute(StationRequestBean reqBean) {
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionAspectCheckStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
StationResultBean resultBean = new StationResultBean();
|
||||||
|
|
||||||
|
String busiFlag = (String) snFinalInspectionModuleService.doHandleBusiFlag(reqBean, 1, null);
|
||||||
|
if (!StringUtils.isEmpty(busiFlag)) snFinalInspectionModuleService.doHandleBusiFlag(reqBean, 3, null);
|
||||||
|
|
||||||
|
String suffix = StringUtils.isEmpty(reqBean.getProductSn()) ? "管理编码" : "产品条码";
|
||||||
|
String suffixSn = StringUtils.isEmpty(reqBean.getProductSn()) ? getManageCode(reqBean.getTray(), 1) : reqBean.getProductSn();
|
||||||
|
|
||||||
|
if (StringUtils.isEmpty(busiFlag)) execSendAspectCheckBusiFlag(reqBean, resultBean, suffix, suffixSn);
|
||||||
|
|
||||||
|
StepResult stepResult = StepResult.getSuccessComplete();
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionAspectCheckStepService --- SUCCESS --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
if (busiFlag.equals(BUSI_FLAG.QUALIFIED.getValue()))
|
||||||
|
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, String.format("%s[%s]外观检查[合格]!", suffix, suffixSn));
|
||||||
|
|
||||||
|
return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, String.format("%s[%s]外观检查[不合格]!即将进行返修状态标记!", suffix, suffixSn));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void execSendAspectCheckBusiFlag(StationRequestBean reqBean, StationResultBean resultBean, String suffix, String suffixSn) {
|
||||||
|
resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.STEP_CONTENT.getValue());
|
||||||
|
resultBean.setDataType(MesPcnEnumUtil.STATION_DATA_TYPE.BUTTON.getValue());
|
||||||
|
List<ButtonBean> buttonBeanList = new ArrayList<>();
|
||||||
|
buttonBeanList.add(ButtonBean.builder().buttonCode(BUSI_FLAG.QUALIFIED.value).buttonName(BUSI_FLAG.QUALIFIED.description).methodContent(suffixSn).buttonDesc(BUSI_FLAG.QUALIFIED.description).build());
|
||||||
|
buttonBeanList.add(ButtonBean.builder().buttonCode(BUSI_FLAG.REPAIR.value).buttonName(BUSI_FLAG.REPAIR.description).methodContent(suffixSn).buttonDesc(BUSI_FLAG.REPAIR.description).build());
|
||||||
|
resultBean.setResultList(buttonBeanList);
|
||||||
|
this.sendMessage(reqBean, resultBean);
|
||||||
|
this.sendMessage(reqBean, resultBean, String.format("请对当前产品:%s[%s]进行外观检查!", suffix, suffixSn), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT);
|
||||||
|
execSendGuideAndThrowEx(reqBean, resultBean, "请点击业务按钮!");
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getManageCode(String manageCode, Integer length) {
|
||||||
|
if (StringUtils.isEmpty(manageCode)) return null;
|
||||||
|
String[] manageCodeArr = manageCode.split(MesPcnExtConstWords.AND);
|
||||||
|
if (manageCodeArr.length >= length) return manageCodeArr[length - 1];
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum BUSI_FLAG {
|
||||||
|
QUALIFIED("QUALIFIED", "检查合格"),
|
||||||
|
REPAIR("REPAIR", "返工返修");
|
||||||
|
|
||||||
|
private String value;
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
BUSI_FLAG(String value, String description) {
|
||||||
|
this.value = value;
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,133 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.step.jx;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.api.base.ISxWorkOrderExtService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.jx.IJxProdBusiStrategyService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.station.jx.JxSnFinalInspectionModuleService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProduceSnExt;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkOrderExt;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.WorkOrderExtModel;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.jx.JxProdBusiStrategyParamsBuilder;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||||
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.base.BaseStepService;
|
||||||
|
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
||||||
|
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description : 嘉兴条码终检绑定工步
|
||||||
|
* @Reference :
|
||||||
|
* @Author : wangjie
|
||||||
|
* @CreateDate : 2019-07-11
|
||||||
|
* @Modify:
|
||||||
|
**/
|
||||||
|
@Slf4j
|
||||||
|
@Service("jxSnFinalInspectionBindPsStepService")
|
||||||
|
public class JxSnFinalInspectionBindPsStepService extends BaseStepService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JxSnFinalInspectionModuleService snFinalInspectionModuleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISxWorkOrderExtService workOrderExtService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult execute(StationRequestBean reqBean) {
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionBindPsStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
StationResultBean resultBean = new StationResultBean();
|
||||||
|
|
||||||
|
if (StringUtils.isEmpty(reqBean.getProductSn()) && StringUtils.isEmpty(reqBean.getScanInfo())) execSendGuideAndThrowEx(reqBean, resultBean, "请扫描产品条码!");
|
||||||
|
|
||||||
|
String curExecWorkOrderNo = getCurExecWorkOrderNo(reqBean, resultBean);
|
||||||
|
|
||||||
|
WorkOrderExtModel orderModel = getWorkOrderExtModel(reqBean, resultBean, curExecWorkOrderNo);
|
||||||
|
|
||||||
|
StepResult stepResult = StepResult.getSuccessComplete();
|
||||||
|
|
||||||
|
if (StringUtils.isEmpty(reqBean.getProductSn())) checkScanInfoIsValid(reqBean, resultBean, stepResult, orderModel);
|
||||||
|
else reqBean.setScanInfo(null);
|
||||||
|
|
||||||
|
String suffix = StringUtils.isEmpty(reqBean.getProductSn()) ? String.format("管理编码[%s]", getManageCode(reqBean.getTray(), 1)) : String.format("产品条码[%s]", reqBean.getProductSn());
|
||||||
|
|
||||||
|
execFinalInspectionBindPs(reqBean, stepResult, orderModel);
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionBindPsStepService --- SUCCESS --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean, String.format("%s%s终检完成!", suffix, !StringUtils.isEmpty(reqBean.getScanInfo()) ? String.format("已绑定产品条码[%s]!", reqBean.getScanInfo()) : MesPcnExtConstWords.EMPTY));
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getCurExecWorkOrderNo(StationRequestBean reqBean, StationResultBean resultBean) {
|
||||||
|
String curExecWorkOrderNo = (String) snFinalInspectionModuleService.doHandleCurExecWorkOrder(reqBean, 1, null);
|
||||||
|
if (StringUtils.isEmpty(curExecWorkOrderNo)) execExpSendMsgAndThrowEx(reqBean, resultBean, "此前操作的工单号已丢失,请选择启动状态的生产工单!");
|
||||||
|
return curExecWorkOrderNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
private WorkOrderExtModel getWorkOrderExtModel(StationRequestBean reqBean, StationResultBean resultBean, String curExecWorkOrderNo) {
|
||||||
|
WorkOrderExtModel orderModel = !reqBean.getDataMap().containsKey(MesPcnExtConstWords.WORK_ORDER) ? null :
|
||||||
|
JSONObject.parseObject(JSONObject.toJSONString(reqBean.getDataMap().get(MesPcnExtConstWords.WORK_ORDER)), WorkOrderExtModel.class);
|
||||||
|
if (null == orderModel) {
|
||||||
|
MesWorkOrderExt workOrderExt = workOrderExtService.getWorkOrderExtByOrderNo(reqBean.getOrganizeCode(), curExecWorkOrderNo);
|
||||||
|
if (null != workOrderExt) {
|
||||||
|
orderModel = new WorkOrderExtModel();
|
||||||
|
BeanUtils.copyProperties(workOrderExt, orderModel, MesPcnExtConstWords.ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (null == orderModel) execExpSendMsgAndThrowEx(reqBean, resultBean, String.format("此前操作的工单号[%s]对应的信息不存在!", curExecWorkOrderNo));
|
||||||
|
return orderModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getManageCode(String manageCode, Integer length) {
|
||||||
|
if (StringUtils.isEmpty(manageCode)) return null;
|
||||||
|
String[] manageCodeArr = manageCode.split(MesPcnExtConstWords.AND);
|
||||||
|
if (manageCodeArr.length >= length) return manageCodeArr[length - 1];
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkScanInfoIsValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, WorkOrderExtModel orderModel) {
|
||||||
|
|
||||||
|
JxProdBusiStrategyParamsBuilder params = new JxProdBusiStrategyParamsBuilder.builder()
|
||||||
|
.organizeCode(reqBean.getOrganizeCode())
|
||||||
|
.scanInfo(reqBean.getScanInfo())
|
||||||
|
.location(reqBean.getWorkCenterCode(), reqBean.getWorkCellCode())
|
||||||
|
.orderModel(orderModel)
|
||||||
|
.lockContent(reqBean.getScanInfo())
|
||||||
|
.strategyService(SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.COMMON.getClazz()))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
StepResult result = ((IJxProdBusiStrategyService) SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.valueOfClazz(orderModel.getWorkOrderType()))).checkThirdPartyPs(params);
|
||||||
|
|
||||||
|
this.sendMessage(reqBean, resultBean, result.getMsg(), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, result.isCompleted() ? MesPcnEnumUtil.STATION_DATA_TYPE.TEXT : MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
|
||||||
|
|
||||||
|
if (!result.isCompleted()) execSendGuideAndThrowEx(reqBean, resultBean, "请扫描产品条码!");
|
||||||
|
|
||||||
|
if (MesPcnExtEnumUtil.WORK_ORDER_TYPE.ATTEMPT_ORDER.getValue() == orderModel.getWorkOrderType()) stepResult.setData(params.getProduceSnExtDb());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void execFinalInspectionBindPs(StationRequestBean reqBean, StepResult stepResult, WorkOrderExtModel orderModel) {
|
||||||
|
((IJxProdBusiStrategyService) SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.COMMON.getClazz()))
|
||||||
|
.execFinalInspectionBindPs(new JxProdBusiStrategyParamsBuilder.builder()
|
||||||
|
.organizeCode(reqBean.getOrganizeCode())
|
||||||
|
.userInfo(reqBean.getUserInfo())
|
||||||
|
.location(reqBean.getWorkCenterCode(), reqBean.getWorkCellCode())
|
||||||
|
.orderModel(orderModel)
|
||||||
|
.serialNumber(reqBean.getSerialNumber())
|
||||||
|
.productSn(reqBean.getProductSn())
|
||||||
|
.scanInfo(reqBean.getScanInfo())
|
||||||
|
.manageCode(reqBean.getTray())
|
||||||
|
.produceSnExtDb(null != stepResult.getData() ? (MesProduceSnExt) stepResult.getData() : null)
|
||||||
|
.obj(reqBean)
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,124 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.step.jx;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.api.base.ISxWorkOrderExtService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.jx.IJxProdBusiStrategyService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.station.jx.JxSnFinalInspectionModuleService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkOrderExt;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.WorkOrderExtModel;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.jx.JxProdBusiStrategyParamsBuilder;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||||
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.base.BaseStepService;
|
||||||
|
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
||||||
|
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.StringJoiner;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description : 嘉兴条码终检扫描工步
|
||||||
|
* @Reference :
|
||||||
|
* @Author : wangjie
|
||||||
|
* @CreateDate : 2019-07-11
|
||||||
|
* @Modify:
|
||||||
|
**/
|
||||||
|
@Slf4j
|
||||||
|
@Service("jxSnFinalInspectionCheckMcOrPsStepService")
|
||||||
|
public class JxSnFinalInspectionCheckMcOrPsStepService extends BaseStepService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JxSnFinalInspectionModuleService snFinalInspectionModuleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISxWorkOrderExtService workOrderExtService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult guide(StationRequestBean reqBean) {
|
||||||
|
return execSuccessCompleteAndSendGuideReturn(reqBean, new StationResultBean(), "请扫描管理编码或产品条码!");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult init(StationRequestBean reqBean) {
|
||||||
|
reqBean.setSerialNumber(null);
|
||||||
|
reqBean.setProductSn(null);
|
||||||
|
reqBean.setTray(null);
|
||||||
|
return super.init(reqBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult execute(StationRequestBean reqBean) {
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionCheckMcOrPsStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
StepResult stepResult = StepResult.getSuccessComplete();
|
||||||
|
|
||||||
|
StationResultBean resultBean = new StationResultBean();
|
||||||
|
|
||||||
|
if (StringUtils.isEmpty(reqBean.getScanInfo())) return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "入参缺少管理编码或产品条码!");
|
||||||
|
|
||||||
|
String curExecWorkOrderNo = getCurExecWorkOrderNo(reqBean, resultBean);
|
||||||
|
|
||||||
|
WorkOrderExtModel orderModel = getWorkOrderExtModel(reqBean, resultBean, curExecWorkOrderNo);
|
||||||
|
|
||||||
|
checkScanInfoIsValid(reqBean, resultBean, stepResult, orderModel);
|
||||||
|
|
||||||
|
reqBean.setScanInfo(null);
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionCheckMcOrPsStepService --- SUCCESS --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
return stepResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getCurExecWorkOrderNo(StationRequestBean reqBean, StationResultBean resultBean) {
|
||||||
|
String curExecWorkOrderNo = (String) snFinalInspectionModuleService.doHandleCurExecWorkOrder(reqBean, 1, null);
|
||||||
|
if (StringUtils.isEmpty(curExecWorkOrderNo)) execExpSendMsgAndThrowEx(reqBean, resultBean, "此前操作的工单号已丢失,请选择启动状态的生产工单!");
|
||||||
|
return curExecWorkOrderNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
private WorkOrderExtModel getWorkOrderExtModel(StationRequestBean reqBean, StationResultBean resultBean, String curExecWorkOrderNo) {
|
||||||
|
WorkOrderExtModel orderModel = !reqBean.getDataMap().containsKey(MesPcnExtConstWords.WORK_ORDER) ? null :
|
||||||
|
JSONObject.parseObject(JSONObject.toJSONString(reqBean.getDataMap().get(MesPcnExtConstWords.WORK_ORDER)), WorkOrderExtModel.class);
|
||||||
|
if (null == orderModel) {
|
||||||
|
MesWorkOrderExt workOrderExt = workOrderExtService.getWorkOrderExtByOrderNo(reqBean.getOrganizeCode(), curExecWorkOrderNo);
|
||||||
|
if (null != workOrderExt) {
|
||||||
|
orderModel = new WorkOrderExtModel();
|
||||||
|
BeanUtils.copyProperties(workOrderExt, orderModel, MesPcnExtConstWords.ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (null == orderModel) execExpSendMsgAndThrowEx(reqBean, resultBean, String.format("此前操作的工单号[%s]对应的信息不存在!", curExecWorkOrderNo));
|
||||||
|
return orderModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
private StepResult checkScanInfoIsValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, WorkOrderExtModel orderModel) {
|
||||||
|
|
||||||
|
JxProdBusiStrategyParamsBuilder params = new JxProdBusiStrategyParamsBuilder.builder()
|
||||||
|
.organizeCode(reqBean.getOrganizeCode())
|
||||||
|
.scanInfo(reqBean.getScanInfo())
|
||||||
|
.location(reqBean.getWorkCenterCode(), reqBean.getWorkCellCode())
|
||||||
|
.routeProcess(reqBean.getRouteCode(), reqBean.getProcessCode())
|
||||||
|
.orderModel(orderModel)
|
||||||
|
.strategyService(SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.COMMON.getClazz()))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
StepResult result = ((IJxProdBusiStrategyService) SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.valueOfClazz(orderModel.getWorkOrderType()))).checkFinalInspection(params);
|
||||||
|
|
||||||
|
this.sendMessage(reqBean, resultBean, result.getMsg(), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, result.isCompleted() ? MesPcnEnumUtil.STATION_DATA_TYPE.TEXT : MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
|
||||||
|
|
||||||
|
stepResult.setCompleted(result.isCompleted());
|
||||||
|
|
||||||
|
reqBean.setSerialNumber(params.getSerialNumber());
|
||||||
|
reqBean.setProductSn(params.getProductSn());
|
||||||
|
reqBean.setTray(null == params.getProduceSnMcRecordDb() ? params.getManageCode() : new StringJoiner(MesPcnExtConstWords.AND).add(params.getProduceSnMcRecordDb().getManageCode()).add(params.getProduceSnMcRecordDb().getId().toString()).toString());
|
||||||
|
|
||||||
|
return stepResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,121 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.step.jx;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.station.jx.JxSnFinalInspectionModuleService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||||
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.base.BaseStepService;
|
||||||
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||||
|
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.MesProductData;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.ButtonBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.repository.MesProductDataRepository;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description : 嘉兴条码终检数据复核工步
|
||||||
|
* @Reference :
|
||||||
|
* @Author : wangjie
|
||||||
|
* @CreateDate : 2019-07-11
|
||||||
|
* @Modify:
|
||||||
|
**/
|
||||||
|
@Slf4j
|
||||||
|
@Service("jxSnFinalInspectionDataReviewStepService")
|
||||||
|
public class JxSnFinalInspectionDataReviewStepService extends BaseStepService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JxSnFinalInspectionModuleService snFinalInspectionModuleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MesProductDataRepository productDataRepository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult init(StationRequestBean reqBean) {
|
||||||
|
clearStepContent(reqBean);
|
||||||
|
return super.init(reqBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult execute(StationRequestBean reqBean) {
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionDataReviewStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
StationResultBean resultBean = new StationResultBean();
|
||||||
|
|
||||||
|
String busiFlag = (String) snFinalInspectionModuleService.doHandleBusiFlag(reqBean, 1, null);
|
||||||
|
if (!StringUtils.isEmpty(busiFlag)) snFinalInspectionModuleService.doHandleBusiFlag(reqBean, 3, null);
|
||||||
|
|
||||||
|
String suffix = StringUtils.isEmpty(reqBean.getProductSn()) ? "管理编码" : "产品条码";
|
||||||
|
String suffixSn = StringUtils.isEmpty(reqBean.getProductSn()) ? getManageCode(reqBean.getTray(), 1) : reqBean.getProductSn();
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(busiFlag) && busiFlag.equals(BUSI_FLAG.ASPECT_CHECK.getValue()))
|
||||||
|
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean, String.format("%s[%s]已跳过数据复核进入外观检查!", suffix, suffixSn));
|
||||||
|
|
||||||
|
StepResult stepResult = StepResult.getSuccessComplete();
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(busiFlag) && busiFlag.equals(BUSI_FLAG.REPAIR.getValue()))
|
||||||
|
return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult.nextTriggerEvent(MesPcnExtConstWords.STATE_REPAIR), String.format("%s[%s]已跳过数据复核!即将进行返修状态标记!", suffix, suffixSn));
|
||||||
|
|
||||||
|
MesProductData productData = getProductData(reqBean, suffixSn);
|
||||||
|
|
||||||
|
if (null == productData) execSendDataReviewBusiFlag(reqBean, resultBean, suffix, suffixSn);
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionDataReviewStepService --- SUCCESS --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, String.format("%s数据复核验证成功!", suffix));
|
||||||
|
}
|
||||||
|
|
||||||
|
private MesProductData getProductData(StationRequestBean reqBean, String suffixSn) {
|
||||||
|
return productDataRepository.getByProperty(
|
||||||
|
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.SERIAL_NUMBER},
|
||||||
|
new Object[]{reqBean.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), suffixSn});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void execSendDataReviewBusiFlag(StationRequestBean reqBean, StationResultBean resultBean, String suffix, String suffixSn) {
|
||||||
|
resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.STEP_CONTENT.getValue());
|
||||||
|
resultBean.setDataType(MesPcnEnumUtil.STATION_DATA_TYPE.BUTTON.getValue());
|
||||||
|
List<ButtonBean> buttonBeanList = new ArrayList<>();
|
||||||
|
buttonBeanList.add(ButtonBean.builder().buttonCode(BUSI_FLAG.ASPECT_CHECK.value).buttonName(BUSI_FLAG.ASPECT_CHECK.description).methodContent(suffixSn).buttonDesc(BUSI_FLAG.ASPECT_CHECK.description).build());
|
||||||
|
buttonBeanList.add(ButtonBean.builder().buttonCode(BUSI_FLAG.REPAIR.value).buttonName(BUSI_FLAG.REPAIR.description).methodContent(suffixSn).buttonDesc(BUSI_FLAG.REPAIR.description).build());
|
||||||
|
resultBean.setResultList(buttonBeanList);
|
||||||
|
this.sendMessage(reqBean, resultBean);
|
||||||
|
this.sendMessage(reqBean, resultBean, String.format("%s[%s]数据复核验证失败!", suffix, suffixSn), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
|
||||||
|
execSendGuideAndThrowEx(reqBean, resultBean, "请点击业务按钮!");
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getManageCode(String manageCode, Integer length) {
|
||||||
|
if (StringUtils.isEmpty(manageCode)) return null;
|
||||||
|
String[] manageCodeArr = manageCode.split(MesPcnExtConstWords.AND);
|
||||||
|
if (manageCodeArr.length >= length) return manageCodeArr[length - 1];
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum BUSI_FLAG {
|
||||||
|
ASPECT_CHECK("ASPECT_CHECK", "外观检查"),
|
||||||
|
REPAIR("REPAIR", "返工返修");
|
||||||
|
|
||||||
|
private String value;
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
BUSI_FLAG(String value, String description) {
|
||||||
|
this.value = value;
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,107 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.step.jx;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.api.base.ISxWorkOrderExtService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.station.jx.JxSnFinalInspectionModuleService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkOrderExt;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.WorkOrderExtModel;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||||
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.base.BaseStepService;
|
||||||
|
import cn.estsh.i3plus.platform.common.tool.MathOperation;
|
||||||
|
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description : 嘉兴条码终检初始化工单工步
|
||||||
|
* @Reference :
|
||||||
|
* @Author : wangjie
|
||||||
|
* @CreateDate : 2019-07-11
|
||||||
|
* @Modify:
|
||||||
|
**/
|
||||||
|
@Slf4j
|
||||||
|
@Service("jxSnFinalInspectionInitOrderStepService")
|
||||||
|
public class JxSnFinalInspectionInitOrderStepService extends BaseStepService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JxSnFinalInspectionModuleService snFinalInspectionModuleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISxWorkOrderExtService workOrderExtService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult execute(StationRequestBean reqBean) {
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionInitOrderStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
StepResult stepResult = StepResult.getSuccessComplete();
|
||||||
|
|
||||||
|
StationResultBean resultBean = new StationResultBean();
|
||||||
|
|
||||||
|
String selectWorkOrderNo = (String) snFinalInspectionModuleService.doHandleSelectWorkOrderNo(reqBean, 1, null);
|
||||||
|
String curExecWorkOrderNo = (String) snFinalInspectionModuleService.doHandleCurExecWorkOrder(reqBean, 1, null);
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(selectWorkOrderNo)) snFinalInspectionModuleService.doHandleSelectWorkOrderNo(reqBean, 3, null);
|
||||||
|
if (!StringUtils.isEmpty(selectWorkOrderNo) && !StringUtils.isEmpty(curExecWorkOrderNo)) {
|
||||||
|
if (selectWorkOrderNo.equals(curExecWorkOrderNo)) selectWorkOrderNo = null;
|
||||||
|
else curExecWorkOrderNo = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
MesWorkOrderExt workOrderExt = null;
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(selectWorkOrderNo)) {
|
||||||
|
workOrderExt = workOrderExtService.getWorkOrderExtByOrderNo(reqBean.getOrganizeCode(), selectWorkOrderNo);
|
||||||
|
checkWorkOrderExtIsValid(reqBean, resultBean, stepResult, workOrderExt, String.format("选择的工单号[%s]", selectWorkOrderNo), true);
|
||||||
|
doCacheCurExecWorkOrderNo(reqBean, resultBean, stepResult, selectWorkOrderNo);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(curExecWorkOrderNo)) {
|
||||||
|
workOrderExt = workOrderExtService.getWorkOrderExtByOrderNo(reqBean.getOrganizeCode(), curExecWorkOrderNo);
|
||||||
|
checkWorkOrderExtIsValid(reqBean, resultBean, stepResult, workOrderExt, String.format("此前操作的工单号[%s]", curExecWorkOrderNo), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null == workOrderExt || !stepResult.isCompleted()) execSendGuideAndThrowEx(reqBean, resultBean, "请选择启动状态的生产工单!");
|
||||||
|
|
||||||
|
cacheOrderModel(reqBean, workOrderExt);
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionInitOrderStepService --- SUCCESS --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
return stepResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doCacheCurExecWorkOrderNo(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, String selectWorkOrderNo) {
|
||||||
|
Boolean flag = (Boolean) snFinalInspectionModuleService.doHandleCurExecWorkOrder(reqBean, 2, selectWorkOrderNo);
|
||||||
|
if (!flag) execNonCompleteAndSendMsg(reqBean, resultBean, stepResult, String.format("选择的工单号[%s]初始化失败!", selectWorkOrderNo));
|
||||||
|
else {
|
||||||
|
snFinalInspectionModuleService.execStateModule(reqBean, null, null);
|
||||||
|
if (stepResult.isCompleted()) this.sendMessage(reqBean, resultBean, String.format("选择的工单号[%s]初始化成功!", selectWorkOrderNo), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkWorkOrderExtIsValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesWorkOrderExt workOrderExt, String suffix, Boolean flag) {
|
||||||
|
|
||||||
|
if (null == workOrderExt) execNonCompleteAndSendMsg(reqBean, resultBean, stepResult, String.format("%s对应的工单信息不存在!", suffix));
|
||||||
|
|
||||||
|
if (stepResult.isCompleted() && MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue() != workOrderExt.getWorkOrderStatus())
|
||||||
|
execNonCompleteAndSendMsg(reqBean, resultBean, stepResult, String.format("%s状态[%s],不支持在此工位操作!", suffix, MesPcnExtEnumUtil.WORK_ORDER_STATUS.valueOfDescription(workOrderExt.getWorkOrderStatus())));
|
||||||
|
|
||||||
|
if (stepResult.isCompleted() && MathOperation.compareTo(workOrderExt.getQty(), new Double(0)) <= 0)
|
||||||
|
execNonCompleteAndSendMsg(reqBean, resultBean, stepResult, String.format("%s计划数量为[0],不支持在此工位操作!", suffix));
|
||||||
|
|
||||||
|
if (!stepResult.isCompleted()) return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cacheOrderModel(StationRequestBean reqBean, MesWorkOrderExt workOrderExt) {
|
||||||
|
WorkOrderExtModel orderModel = new WorkOrderExtModel();
|
||||||
|
BeanUtils.copyProperties(workOrderExt, orderModel, MesPcnExtConstWords.ID);
|
||||||
|
reqBean.getDataMap().put(MesPcnExtConstWords.WORK_ORDER, orderModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,62 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.step.jx;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.jx.IJxProdBusiStrategyService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.jx.JxProdBusiStrategyParamsBuilder;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||||
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.base.BaseStepService;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
||||||
|
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description : 嘉兴条码终检标记返修工步
|
||||||
|
* @Reference :
|
||||||
|
* @Author : wangjie
|
||||||
|
* @CreateDate : 2019-07-11
|
||||||
|
* @Modify:
|
||||||
|
**/
|
||||||
|
@Slf4j
|
||||||
|
@Service("jxSnFinalInspectionMarkRepairStepService")
|
||||||
|
public class JxSnFinalInspectionMarkRepairStepService extends BaseStepService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StepResult execute(StationRequestBean reqBean) {
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionMarkRepairStepService --- START --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
StationResultBean resultBean = new StationResultBean();
|
||||||
|
|
||||||
|
String suffix = StringUtils.isEmpty(reqBean.getProductSn()) ? String.format("管理编码[%s]", getManageCode(reqBean.getTray(), 1)) : String.format("产品条码[%s]", reqBean.getProductSn());
|
||||||
|
|
||||||
|
execFinalInspectionMarkRepair(reqBean);
|
||||||
|
|
||||||
|
log.info("工厂{}生产线{}工位{}: --- STEP EXECUTE --- JxSnFinalInspectionMarkRepairStepService --- SUCCESS --- ", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode());
|
||||||
|
|
||||||
|
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean, String.format("%s标记返修完成!", suffix));
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getManageCode(String manageCode, Integer length) {
|
||||||
|
if (StringUtils.isEmpty(manageCode)) return null;
|
||||||
|
String[] manageCodeArr = manageCode.split(MesPcnExtConstWords.AND);
|
||||||
|
if (manageCodeArr.length >= length) return manageCodeArr[length - 1];
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void execFinalInspectionMarkRepair(StationRequestBean reqBean) {
|
||||||
|
((IJxProdBusiStrategyService) SpringContextsUtil.getBean(MesPcnExtEnumUtil.JX_PROD_BUSI_STRATEGY.COMMON.getClazz()))
|
||||||
|
.execFinalInspectionMarkRepair(new JxProdBusiStrategyParamsBuilder.builder()
|
||||||
|
.organizeCode(reqBean.getOrganizeCode())
|
||||||
|
.userInfo(reqBean.getUserInfo())
|
||||||
|
.location(reqBean.getWorkCenterCode(), reqBean.getWorkCellCode())
|
||||||
|
.serialNumber(reqBean.getSerialNumber())
|
||||||
|
.productSn(reqBean.getProductSn())
|
||||||
|
.manageCode(reqBean.getTray())
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue