From f61043f70c126c4b464a4ebc7dd635fcf7b679df Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 24 七月 2026 17:25:33 +0800
Subject: [PATCH] feat(erp): 为ERP模块添加附件功能支持

---
 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