From abbb0e6fa913843bd10c5c63c6b5484c88e74e8f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 24 八月 2026 13:34:34 +0800
Subject: [PATCH] refactor(approve): 优化部门信息加载逻辑
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index d0b0c7a..191befa 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -92,8 +92,7 @@
public void addApprove(ApproveProcessVO approveProcessVO) throws Exception {
SysUser sysUser = sysUserMapper.selectUserById(approveProcessVO.getApproveUser());
List<Long> approveDeptIds = normalizeDeptIds(approveProcessVO.getApproveDeptIdArray(), approveProcessVO.getApproveDeptId());
- List<SysDept> sysDepts = sysDeptMapper.selectBatchIds(approveDeptIds);
- Map<Long, SysDept> deptMap = sysDepts.stream().collect(Collectors.toMap(SysDept::getDeptId, dept -> dept));
+ Map<Long, SysDept> deptMap = loadDepartments(approveDeptIds);
if (deptMap.size() != approveDeptIds.size()) throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
SysDept sysDept = deptMap.get(approveDeptIds.get(0));
String[] split = approveProcessVO.getApproveUserIds().split(",");
@@ -398,8 +397,7 @@
if (approveGetAndUpdateVo.getApproveDeptIdArray() != null || approveGetAndUpdateVo.getApproveDeptId() != null) {
if (approve.getApproveStatus() == 1) throw new RuntimeException("瀹℃牳涓笉鍙互淇敼瀹℃壒閮ㄩ棬");
List<Long> deptIds = normalizeDeptIds(approveGetAndUpdateVo.getApproveDeptIdArray(), approveGetAndUpdateVo.getApproveDeptId());
- List<SysDept> departments = sysDeptMapper.selectBatchIds(deptIds);
- Map<Long, SysDept> deptMap = departments.stream().collect(Collectors.toMap(SysDept::getDeptId, dept -> dept));
+ Map<Long, SysDept> deptMap = loadDepartments(deptIds);
if (deptMap.size() != deptIds.size()) throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
approve.setApproveDeptId(deptIds.get(0));
approve.setApproveDeptName(deptIds.stream().map(deptMap::get).map(SysDept::getDeptName).collect(Collectors.joining(",")));
@@ -452,6 +450,15 @@
}
+ private Map<Long, SysDept> loadDepartments(List<Long> deptIds) {
+ Map<Long, SysDept> deptMap = new java.util.HashMap<>();
+ for (Long deptId : deptIds) {
+ SysDept dept = sysDeptMapper.selectDeptById(deptId);
+ if (dept != null) deptMap.put(deptId, dept);
+ }
+ return deptMap;
+ }
+
private List<Long> normalizeDeptIds(List<Long> deptIds, Long deptId) {
List<Long> ids = deptIds == null || deptIds.isEmpty() ? (deptId == null ? new ArrayList<>() : Arrays.asList(deptId)) : deptIds;
if (ids.isEmpty()) throw new RuntimeException("璇烽�夋嫨瀹℃壒閮ㄩ棬");
--
Gitblit v1.9.3