From 7a23c450f3ac85de7dca1b908de273ff636ce218 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 23 七月 2026 17:48:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_business' into dev_business

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java
index ec5aae1..42417d2 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java
@@ -4,6 +4,7 @@
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.process.MesProRouteProcessSaveReqVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductBomDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductDO;
 import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProcessMapper;
 import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService;
@@ -17,6 +18,8 @@
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
@@ -42,6 +45,9 @@
     @Resource
     @Lazy
     private MesProRouteService routeService;
+    @Resource
+    @Lazy
+    private MesProRouteProductBomService routeProductBomService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -198,6 +204,20 @@
     }
 
     @Override
+    public Map<Long, List<MesProRouteProductBomDO>> getRouteProcessBomMapByProductId(Long productId) {
+        MesProRouteProductDO routeProduct = routeProductService.getRouteProductByItemId(productId);
+        if (routeProduct == null) {
+            return Collections.emptyMap();
+        }
+        List<MesProRouteProductBomDO> bomList = routeProductBomService
+                .getRouteProductBomListByRouteIdAndProductId(routeProduct.getRouteId(), productId);
+        if (CollUtil.isEmpty(bomList)) {
+            return Collections.emptyMap();
+        }
+        return bomList.stream().collect(Collectors.groupingBy(MesProRouteProductBomDO::getProcessId));
+    }
+
+    @Override
     public List<MesProRouteProcessDO> getRouteProcessListByProcessId(Long processId) {
         return routeProcessMapper.selectListByProcessId(processId);
     }

--
Gitblit v1.9.3