From b99fded8f56f6c13fde77a390002998f94254f59 Mon Sep 17 00:00:00 2001 From: yxw Date: Sat, 14 Sep 2024 15:31:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=81=E7=89=87=E5=8A=9F=E8=83=BD-=E3=80=8B?= =?UTF-8?q?=E5=BC=B9=E6=A1=86=E5=B1=95=E7=A4=BA=E6=88=90=E5=93=81=E5=88=97?= =?UTF-8?q?=E8=A1=A8Function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesFunctionCutOrderDialogPrintService.java | 66 ++++++++++++++++++++-- 1 file changed, 61 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionCutOrderDialogPrintService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionCutOrderDialogPrintService.java index a51baee..b8fc92b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionCutOrderDialogPrintService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionCutOrderDialogPrintService.java @@ -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 mesWorkOrderCutFgDataContextList = productionDispatchContextStepService.getMesWorkOrderCutFgDataContext(reqBean); + + // 如果当前存在成品列表则直接返回 + if (CollectionUtils.isEmpty(mesWorkOrderCutFgDataContextList)) { + + //获取上下文生产扫/读信息:加工单 + List equipVariableCollectContextList = productionDispatchContextStepService.getScanWorkOrderNoContext(reqBean); + + String cutWorkOrderNo = equipVariableCollectContextList.get(0).getEquipVariableValue(); + + List mesCutSchemeFgs = workOrderCutService.queryCutSchemeFgList(cutWorkOrderNo, reqBean.getOrganizeCode()); + + //Map 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; } }