|
|
|
@ -2,24 +2,41 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function;
|
|
|
|
|
|
|
|
|
|
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.IMesWorkOrderCutService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPartContext;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel;
|
|
|
|
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService;
|
|
|
|
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IShippingDispatchService;
|
|
|
|
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.util.MesPcnConstWords;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesCavityGroupDetailCfg;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesCutSchemeFgRepository;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import lombok.extern.log4j.Log4j;
|
|
|
|
|
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.CollectionUtils;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Description : 工位参数按钮事件接口实现【选择工单】
|
|
|
|
|
**/
|
|
|
|
|
@Service
|
|
|
|
|
@Slf4j
|
|
|
|
|
public class MesFunctionCutOrderDialogPrintService extends BaseSwsService implements IFsmModuleFunctionService {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
@ -31,6 +48,9 @@ public class MesFunctionCutOrderDialogPrintService extends BaseSwsService implem
|
|
|
|
|
@Autowired
|
|
|
|
|
private IShippingDispatchService shippingDispatchService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesWorkOrderCutService workOrderCutService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean doFunction(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) {
|
|
|
|
|
|
|
|
|
@ -39,21 +59,23 @@ public class MesFunctionCutOrderDialogPrintService extends BaseSwsService implem
|
|
|
|
|
|
|
|
|
|
if (!productionProcessContext.getSuccess()) return false;
|
|
|
|
|
|
|
|
|
|
MesWorkCell workCell = productionProcessContext.getWorkCell();
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(buttonDynamicModel.getFunctionValue())) {
|
|
|
|
|
this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()),
|
|
|
|
|
String.format("生产线[%s]工位[%s]%s失败,裁片方案成品[%s]的有效性!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName(), buttonDynamicModel.getFunctionValue()),
|
|
|
|
|
String.format("生产线[%s]工位[%s]%s失败,裁片方案成品[%s]列表缺失!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName(), buttonDynamicModel.getFunctionValue()),
|
|
|
|
|
MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()),
|
|
|
|
|
String.format("生产线[%s]工位[%s]%s成功,请等待保存加工记录!提交信息[%s]", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName(), buttonDynamicModel.getFunctionValue()),
|
|
|
|
|
MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT);
|
|
|
|
|
|
|
|
|
|
productionDispatchContextStepService.dispatchMesWorkOrderCutFgDataContext(reqBean, JSONObject.parseArray(buttonDynamicModel.getFunctionValue(), MesWorkOrderCutDetailModel.class));
|
|
|
|
|
|
|
|
|
|
reqBean.setClientInfo(shippingDispatchService.getActorClientInfo(reqBean));
|
|
|
|
|
reqBean.setInterfaceType(MesPcnConstWords.SHIPPING);
|
|
|
|
|
reqBean.setBusiType(MesPcnEnumUtil.ACTOR_RECEIVE_STRATEGY.WS_CMD_DO_SCAN.getCode());
|
|
|
|
|
reqBean.setForceJumpProcess(true);
|
|
|
|
|
reqBean.setStepDialogStatus(true);
|
|
|
|
|
shippingDispatchService.sendScanQueueNextExec(reqBean);
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
@ -62,6 +84,40 @@ public class MesFunctionCutOrderDialogPrintService extends BaseSwsService implem
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Object stepDialogDispatch(StationRequestBean reqBean, String customPageName) {
|
|
|
|
|
return productionDispatchContextStepService.getMesWorkOrderCutFgDataContext(reqBean);
|
|
|
|
|
|
|
|
|
|
log.info("MesFunctionCutOrderDialogPrintService --- stepDialogDispatch --- start");
|
|
|
|
|
|
|
|
|
|
List<MesWorkOrderCutDetailModel> mesWorkOrderCutFgDataContextList = productionDispatchContextStepService.getMesWorkOrderCutFgDataContext(reqBean);
|
|
|
|
|
|
|
|
|
|
// 如果当前存在成品列表则直接返回
|
|
|
|
|
if (CollectionUtils.isEmpty(mesWorkOrderCutFgDataContextList)) {
|
|
|
|
|
|
|
|
|
|
//获取上下文生产扫/读信息:加工单
|
|
|
|
|
List<MesEquipVariableCollectContext> equipVariableCollectContextList = productionDispatchContextStepService.getScanWorkOrderNoContext(reqBean);
|
|
|
|
|
|
|
|
|
|
String cutWorkOrderNo = equipVariableCollectContextList.get(0).getEquipVariableValue();
|
|
|
|
|
|
|
|
|
|
List<MesCutSchemeFg> mesCutSchemeFgs = workOrderCutService.queryCutSchemeFgList(cutWorkOrderNo, reqBean.getOrganizeCode());
|
|
|
|
|
|
|
|
|
|
//Map<String, MesPartContext> partDataExtContext = productionDispatchContextStepService.getPartDataExtContext(reqBean);
|
|
|
|
|
|
|
|
|
|
mesWorkOrderCutFgDataContextList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
for (MesCutSchemeFg mesCutSchemeFg : mesCutSchemeFgs) {
|
|
|
|
|
MesWorkOrderCutDetailModel cutDetailModel = new MesWorkOrderCutDetailModel();
|
|
|
|
|
BeanUtils.copyProperties(mesCutSchemeFg, cutDetailModel);
|
|
|
|
|
mesWorkOrderCutFgDataContextList.add(cutDetailModel);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
productionDispatchContextStepService.dispatchMesWorkOrderCutFgDataContext(reqBean, mesWorkOrderCutFgDataContextList);
|
|
|
|
|
|
|
|
|
|
log.info("MesFunctionCutOrderDialogPrintService --- stepDialogDispatch --- end --- value:{}", mesWorkOrderCutFgDataContextList);
|
|
|
|
|
|
|
|
|
|
return mesWorkOrderCutFgDataContextList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("MesFunctionCutOrderDialogPrintService --- stepDialogDispatch --- end --- value:{}", mesWorkOrderCutFgDataContextList);
|
|
|
|
|
|
|
|
|
|
return mesWorkOrderCutFgDataContextList;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|