From 346f8a7bac89d457f5914495dfdde51219dcb5e7 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Fri, 7 Mar 2025 14:39:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../step/MesWorkOrderQueueSavePushStepService.java | 29 ++++++++++++++-------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderQueueSavePushStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderQueueSavePushStepService.java index bc3e192..6026fbd 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderQueueSavePushStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderQueueSavePushStepService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepServ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesQueueOrderPushService; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsInContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; @@ -67,31 +68,37 @@ public class MesWorkOrderQueueSavePushStepService extends BaseStepService { //获取上下文产出零件信息 List productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean); if (CollectionUtils.isEmpty(productionPartContextList)) stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), "当前不存在产出零件信息,请重置工序解决!"); + //获取上下文条码数据信息集合 + List productionPsInContextList = productionDispatchContextStepService.getProductionPsInContext(reqBean); + if (CollectionUtils.isEmpty(productionPsInContextList)) stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), "当前不存在零件条码信息,请重置工序解决!"); //获取上下文推单队列信息 List queueOrderPushList = productionDispatchContextStepService.getSortQueuePushContext(reqBean); - if (CollectionUtils.isEmpty(productionPartContextList)) stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), "当前不存在推单队列信息,请重置工序解决!"); + if (!CollectionUtils.isEmpty(queueOrderPushList)) saveQueueOrderPush(reqBean, queueOrderPushList); - //修改推送队列信息状态为已完成 + //写入队列信息,默认状态为已完成 + productionPsInContextList.stream().filter(o -> null != o).forEach(o -> insertQueueOrder(reqBean, o, productionPartContextList)); + + return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), stepResult, "保存工位队列成功!"); + + } + + //修改推送队列信息状态为已完成 + private void saveQueueOrderPush(StationRequestBean reqBean, List queueOrderPushList) { List idList = queueOrderPushList.stream().filter(o -> null != o).map(MesQueueOrderPush::getId).collect(Collectors.toList()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(reqBean.getOrganizeCode()); if (idList.size() == 1) DdlPreparedPack.getNumEqualPack(idList.get(0), MesPcnExtConstWords.ID, packBean); else DdlPreparedPack.getInPackList(idList, MesPcnExtConstWords.ID, packBean); queueOrderPushService.saveQueueOrderPushStatusByDdlPackBean(packBean, reqBean.getUserInfo(), MesExtEnumUtil.QUEUE_ORDER_STATUS.FINISH.getValue()); - //写入队列信息,默认状态为已完成 - queueOrderPushList.stream().filter(o -> null != o).forEach(o -> insertQueueOrder(reqBean, o, productionPartContextList)); - - return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), stepResult, "保存工位队列成功!"); - } - private void insertQueueOrder(StationRequestBean reqBean, MesQueueOrderPush queueOrderPush, List productionPartContextList) { - Optional optional = productionPartContextList.stream().filter(o -> (null != o && o.getWorkOrderNo().equals(queueOrderPush.getWorkOrderNo()))).findFirst(); + //写入队列信息,默认状态为已完成 + private void insertQueueOrder(StationRequestBean reqBean, MesProductionPsInContext productionPsInContext, List productionPartContextList) { + Optional optional = productionPartContextList.stream().filter(o -> (null != o && o.getWorkOrderNo().equals(productionPsInContext.getWorkOrderNo()))).findFirst(); MesQueueOrder queueOrder = new MesQueueOrder(); if (null != optional && optional.isPresent()) BeanUtils.copyProperties(optional.get(), queueOrder, MesPcnExtConstWords.BASE_BEAN_FIELDS); - BeanUtils.copyProperties(queueOrderPush, queueOrder, MesPcnExtConstWords.BASE_BEAN_FIELDS); + BeanUtils.copyProperties(productionPsInContext, queueOrder, MesPcnExtConstWords.BASE_BEAN_FIELDS); queueOrder.setWorkCellCode(reqBean.getWorkCellCode()); - queueOrder.setSerialNumber(queueOrderPush.getProductSn()); queueOrder.setStatus(MesExtEnumUtil.QUEUE_ORDER_STATUS.FINISH.getValue()); ConvertBean.serviceModelInitialize(queueOrder, reqBean.getUserInfo()); queueOrderRepository.insert(queueOrder);