tags/yfai-pcn-ext-v1.0
王杰 12 months ago
parent 1679976c8b
commit 21211cba9d

@ -14,8 +14,14 @@ import java.util.Optional;
public interface IMesProductionProcessContextStepService { public interface IMesProductionProcessContextStepService {
@ApiOperation(value = "存储上下文对象【工步根据业务实际情况执行,配置错误等情况无需执行】") @ApiOperation(value = "存储上下文对象")
Boolean doCacheContext(StationRequestBean reqBean, Object o); Boolean doCacheContext(StationRequestBean reqBean, String item, Object o);
@ApiOperation(value = "获取上下文对象")
Object getCachedContext(StationRequestBean reqBean, String item);
@ApiOperation(value = "存储生产过程上下文对象【工步根据业务实际情况执行,配置错误等情况无需执行】")
Boolean doCacheProductionProcessContext(StationRequestBean reqBean, MesProductionProcessContext productionProcessContext);
@ApiOperation(value = "获取生产过程上下文对象") @ApiOperation(value = "获取生产过程上下文对象")
MesProductionProcessContext getProductionProcessContext(StationRequestBean reqBean); MesProductionProcessContext getProductionProcessContext(StationRequestBean reqBean);

@ -1,11 +1,14 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseModuleService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseModuleService;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesStateMachineStatus; import cn.estsh.i3plus.pojo.mes.bean.MesStateMachineStatus;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
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 java.util.List; import java.util.List;
@ -19,15 +22,20 @@ import java.util.Map;
@Service("mesProductionNoSortModuleService") @Service("mesProductionNoSortModuleService")
public class MesProductionNoSortModuleService extends BaseModuleService { public class MesProductionNoSortModuleService extends BaseModuleService {
private static final String PRODUCTION_NOSORT_MODULE = "PRODUCTION_NOSORT_MODULE"; @Autowired
private IMesProductionProcessContextStepService productionProcessContextStepService;
@Override @Override
public void init(StationRequestBean reqBean) { public void init(StationRequestBean reqBean) {
StationResultBean resultBean = new StationResultBean(); StationResultBean resultBean = new StationResultBean();
resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.MODULE_CONTENT.getValue()); resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.MODULE_CONTENT.getValue());
resultBean.setDataType(MesPcnEnumUtil.STATION_DATA_TYPE.CUSTOM.getValue()); resultBean.setDataType(MesPcnEnumUtil.STATION_DATA_TYPE.CUSTOM.getValue());
resultBean.setCustomPageName(PRODUCTION_NOSORT_MODULE); resultBean.setCustomPageName(MesPcnExtConstWords.CUSTOM_PAGE_NAME_DEFAULT);
resultBean.setSpecialDisplayData(getStepColIndent(reqBean)); resultBean.setSpecialDisplayData(getStepColIndent(reqBean));
//TODO 获取 头部上下文 信息
// productionProcessContextStepService.getProductionProcessContext();
this.sendMessage(reqBean, resultBean); this.sendMessage(reqBean, resultBean);
} }

@ -96,7 +96,7 @@ public class MesAssemblyReadStepService extends BaseStepService {
//验证装配件条码的有效性 //验证装配件条码的有效性
if (stepResult.isCompleted()) matchAssemblySnValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList); if (stepResult.isCompleted()) matchAssemblySnValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList);
productionProcessContextStepService.doCacheContext(reqBean, productionProcessContext); productionProcessContextStepService.doCacheProductionProcessContext(reqBean, productionProcessContext);
if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME); if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME);

@ -97,7 +97,7 @@ public class MesFirstMouldNoReadStepService extends BaseStepService {
//验证头道模具号的有效性 //验证头道模具号的有效性
if (stepResult.isCompleted()) checkFirstMouldNoValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList); if (stepResult.isCompleted()) checkFirstMouldNoValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList);
productionProcessContextStepService.doCacheContext(reqBean, productionProcessContext); productionProcessContextStepService.doCacheProductionProcessContext(reqBean, productionProcessContext);
if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME); if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME);

@ -97,7 +97,7 @@ public class MesMouldNoReadStepService extends BaseStepService {
//验证模具号的有效性 //验证模具号的有效性
if (stepResult.isCompleted()) checkMouldNoValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList); if (stepResult.isCompleted()) checkMouldNoValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList);
productionProcessContextStepService.doCacheContext(reqBean, productionProcessContext); productionProcessContextStepService.doCacheProductionProcessContext(reqBean, productionProcessContext);
if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME); if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME);

@ -93,7 +93,7 @@ public class MesProductResultReadStepService extends BaseStepService {
if (stepResult.isCompleted()) matchProductResult(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList); if (stepResult.isCompleted()) matchProductResult(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList);
productionProcessContextStepService.doCacheContext(reqBean, productionProcessContext); productionProcessContextStepService.doCacheProductionProcessContext(reqBean, productionProcessContext);
if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME); if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME);

@ -96,7 +96,7 @@ public class MesProductSnReadStepService extends BaseStepService {
//验证主条码的有效性 //验证主条码的有效性
if (stepResult.isCompleted()) matchProductSnValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList); if (stepResult.isCompleted()) matchProductSnValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList);
productionProcessContextStepService.doCacheContext(reqBean, productionProcessContext); productionProcessContextStepService.doCacheProductionProcessContext(reqBean, productionProcessContext);
if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME); if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME);

@ -43,14 +43,28 @@ public class MesProductionProcessContextStepService extends BaseStepService impl
@Autowired @Autowired
private IFsmRouteDataService fsmRouteDataService; private IFsmRouteDataService fsmRouteDataService;
private String getContextKey(StationRequestBean reqBean) { return getFsmBusikey(reqBean, MesPcnExtConstWords.PRODUCTION_PROCESS_CONTEXT); }
@Override
public Boolean doCacheContext(StationRequestBean reqBean, String item, Object o) {
return saveFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), item, JSONObject.toJSONString(o));
}
@Override @Override
public Boolean doCacheContext(StationRequestBean reqBean, Object o) { return saveFsmBusiData(reqBean.getOrganizeCode(), getFsmBusikey(reqBean, o.getClass().getSimpleName()), JSONObject.toJSONString(o)); } public String getCachedContext(StationRequestBean reqBean, String item) {
return getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), item);
}
@Override
public Boolean doCacheProductionProcessContext(StationRequestBean reqBean, MesProductionProcessContext productionProcessContext) {
return saveFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesProductionProcessContext.class.getSimpleName(), JSONObject.toJSONString(productionProcessContext));
}
@Override @Override
public MesProductionProcessContext getProductionProcessContext(StationRequestBean reqBean) { public MesProductionProcessContext getProductionProcessContext(StationRequestBean reqBean) {
//获取缓存的生产过程上下文对象 //获取缓存的生产过程上下文对象
MesProductionProcessContext productionProcessContext = (MesProductionProcessContext) getFsmBusiData(reqBean.getOrganizeCode(), getFsmBusikey(reqBean, MesProductionProcessContext.class.getSimpleName()), MesProductionProcessContext.class); MesProductionProcessContext productionProcessContext = (MesProductionProcessContext) getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesProductionProcessContext.class.getSimpleName(), MesProductionProcessContext.class);
if (null == productionProcessContext) productionProcessContext = new MesProductionProcessContext(reqBean.getOrganizeCode()); if (null == productionProcessContext) productionProcessContext = new MesProductionProcessContext(reqBean.getOrganizeCode());

@ -82,4 +82,9 @@ public class MesPcnExtConstWords {
// & // &
public static final String AND = "&"; public static final String AND = "&";
//生产过程控制上下文
public static final String PRODUCTION_PROCESS_CONTEXT = "PRODUCTION_PROCESS_CONTEXT";
//定制页面名称(默认)
public static final String CUSTOM_PAGE_NAME_DEFAULT = "CUSTOM_PAGE_NAME_DEFAULT";
} }

Loading…
Cancel
Save