From fa539d8ec0b5f4d974eafff3e4bffe9395932ff4 Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Fri, 12 Jul 2024 15:49:02 +0800
Subject: [PATCH] 支持多部门
---
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java | 2 +-
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java | 8 +++++++-
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml | 14 +++++++++-----
3 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java
index aadd02d..d46b76c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java
@@ -52,7 +52,7 @@
*/
List<DeptVO> tree(String tenantId);
- List<DeptVO> treeByParentId(String parentId);
+ List<DeptVO> treeByParentId(List<String> parentIds);
/**
* 懒加载获取树形节点
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
index 295e868..055cfe6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
@@ -78,12 +78,16 @@
<select id="treeByParentId" resultMap="treeNodeResultMap">
select id, parent_id, dept_name as title, id as "value", id as "key" from blade_dept where is_deleted = 0
- <if test="_parameter!=null and _parameter!=''">
- and (
- id = #{_parameter} or parent_id = #{_parameter} or parent_id in (
- select b.id from blade_dept b where b.is_deleted = 0 and b.PARENT_ID = #{_parameter}
+ <if test="parentIds!=null and parentIds!=''">
+ and
+
+ <foreach item="id" collection="parentIds" open="(" separator="or" close=")">
+ id = #{id} or parent_id = #{id} or parent_id in (
+ select b.id from blade_dept b where b.is_deleted = 0 and b.PARENT_ID = #{id}
)
- )
+
+ </foreach>
+
</if>
ORDER BY sort
</select>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
index a0649de..5382e70 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
@@ -38,6 +38,7 @@
import cn.gistack.system.wrapper.DeptWrapper;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -93,7 +94,12 @@
if (AuthUtil.isAdministrator() || AuthUtil.isAdmin()) {
return ForestNodeMerger.merge(baseMapper.tree(StringPool.EMPTY));
}
- return ForestNodeMerger.merge(baseMapper.treeByParentId(parentId));
+ String [] parentIds = parentId.split(",");
+ List<String> parentIdList = new ArrayList<>();
+ for (String str:parentIds) {
+ parentIdList.add(str);
+ }
+ return ForestNodeMerger.merge(baseMapper.treeByParentId(parentIdList));
}
@Override
--
Gitblit v1.9.3