裁片功能-》弹框展示成品列表Function

tags/yfai-pcn-ext-v2.3
yxw 8 months ago
parent 4b6d081ede
commit b99fded8f5

@ -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;
}
}

Loading…
Cancel
Save