From 07f55b5967f453a289c35e13e78a4ddeecd2a23d Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 19 Feb 2025 17:42:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E5=BA=8F=E5=B7=A5=E5=8D=95=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../station/MesProductionSortModuleService.java | 24 ++++++++++++++-------- .../step/MesWorkOrderCheckSortStepService.java | 1 + 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionSortModuleService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionSortModuleService.java index 8085874..f15a9c9 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionSortModuleService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionSortModuleService.java @@ -93,17 +93,16 @@ public class MesProductionSortModuleService extends BaseModuleService { // 获取工单信息 List> moduleContentContext = productionDispatchContextStepService.getModuleContentContext(reqBean); - - // 发送班次班组和工单 - StationResultBean resultBean = getStationResultBean(reqBean, moduleContentContext, prodShiftDataContext); - // 获取产成零件信息 List productionPartContext = productionDispatchContextStepService.getProductionPartContext(reqBean); // 排除掉空腔的产成零件 productionPartContext = CollectionUtils.isEmpty(productionPartContext) ? null : productionPartContext.stream().filter(o -> !StringUtils.isEmpty(o.getForeignKey())).collect(Collectors.toList()); + // 发送班次班组和工单 + StationResultBean resultBean = getStationResultBean(reqBean, moduleContentContext, prodShiftDataContext); + //封装工位展示的客制化信息 (获取当前工位最新修改的完成状态的队列单据数据 并根据其零件生产组代码按生产序号倒序前50条) - StationResultBean resultBeanCustom = getStationResultBean(queryQueueOrderTopFiftyProductSeq(reqBean, getNewPartProdGroupCode(reqBean, productionPartContext))); + StationResultBean resultBeanCustom = getStationResultBean(queryQueueOrderTopFiftyProductSeq(reqBean, getNewPartProdGroupCode(reqBean, moduleContentContext, productionPartContext))); if (null == resultBeanCustom) this.sendMessage(reqBean, resultBean); else this.sendMessage(reqBean, new StationResultBean().busiType(MesPcnEnumUtil.STATION_BUSI_TYPE.BUSI_LIST.getValue()).addStationResultBeans(resultBean).addStationResultBeans(resultBeanCustom)); @@ -171,11 +170,20 @@ public class MesProductionSortModuleService extends BaseModuleService { return queueOrderModelList; } - private List getNewPartProdGroupCode(StationRequestBean reqBean, List productionPartContext) { + private List getNewPartProdGroupCode(StationRequestBean reqBean, List> moduleContentContext, List productionPartContext) { - // 获取工单信息 + // 扫描验证完加工单才能拿到产成零件信息 if (!CollectionUtils.isEmpty(productionPartContext)) { - return productionPartContext.stream().map(MesProductionPartContext::getPartProdGroupCode).distinct().collect(Collectors.toList()); + return (productionPartContext.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartProdGroupCode()))) + .map(MesProductionPartContext::getPartProdGroupCode).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); + } + + //工序开始前可能会拿到页面顶部展示单加工单信息 + if (!CollectionUtils.isEmpty(moduleContentContext)) { + return (moduleContentContext.stream() + .filter(o -> (null != o && o.stream().filter(i -> i.getKey().equals(MesPcnExtConstWords.PART_PROD_GROUP_CODE)).findFirst().isPresent())) + .map(o -> o.stream().filter(i -> i.getKey().equals(MesPcnExtConstWords.PART_PROD_GROUP_CODE)).findFirst().get().getValue()).collect(Collectors.toList()) + ).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); } MesQueueOrder queueOrder = getNewQueueOrder(reqBean); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepService.java index a0ff84d..0fe3684 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepService.java @@ -251,6 +251,7 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi orderList.forEach(o -> StationKvBeanUtil.addStationKvBeanList(dataList, new ArrayList<>(), new StationKvBean(MesPcnExtConstWords.WORK_ORDER_NO, "工单号", o.getWorkOrderNo()), new StationKvBean(MesPcnExtConstWords.PART_NO, "零件编码", o.getPartNo()), new StationKvBean(MesPcnExtConstWords.CAR_MODEL_CODE, "车型配置", o.getCarModelCode()), new StationKvBean(MesPcnExtConstWords.CUST_ORDER_NO, "客户订单号", o.getCustOrderNo()), + new StationKvBean(MesPcnExtConstWords.PART_PROD_GROUP_CODE, "零件生产组代码", o.getPartProdGroupCode()).isDisplay(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()), productionPartContextList.size() == 1 ? null : new StationKvBean(MesPcnExtConstWords.CAVITY, "腔数", new StringJoiner(MesPcnExtConstWords.SLANT_R).add(String.valueOf(index.updateAndGet(v -> v + 1))).add(String.valueOf(productionPartContextList.size())).toString()))); }