From 64f790186cb0b2d1d4f456ab146b6b9bde7e4b44 Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Fri, 12 Jul 2024 16:41:30 +0800
Subject: [PATCH] 支持多部门

---
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java         |    2 +-
 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/controller/DeptController.java    |    2 +-
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java |   11 +++++++++--
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml             |    5 ++++-
 5 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java
index 8855f8a..b35637f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java
@@ -137,7 +137,7 @@
 	@GetMapping("/lazy-tree")
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "懒加载树形结构", notes = "树形结构")
-	public R<List<DeptVO>> lazyTree(String tenantId, Long parentId, BladeUser bladeUser) {
+	public R<List<DeptVO>> lazyTree(String tenantId, String parentId, BladeUser bladeUser) {
 		List<DeptVO> tree = deptService.lazyTree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
 		return R.data(tree);
 	}
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 d46b76c..edd2a4d 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
@@ -61,7 +61,7 @@
 	 * @param parentId
 	 * @return
 	 */
-	List<DeptVO> lazyTree(String tenantId, Long parentId);
+	List<DeptVO> lazyTree(String tenantId, List<Long> parentId);
 
 	/**
 	 * 获取部门名
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 055cfe6..182a709 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
@@ -110,7 +110,10 @@
         FROM
             blade_dept dept
         WHERE
-            dept.parent_id = #{param2} AND dept.is_deleted = 0
+        <foreach item="id" collection="param2" open="(" separator="or" close=")">
+            dept.parent_id = #{id}
+        </foreach>
+             AND dept.is_deleted = 0
         <if test="param1!=null and param1!=''">
             and dept.tenant_id = #{param1}
         </if>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java
index 5e8cab5..6df1251 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java
@@ -58,7 +58,7 @@
 	 * @param parentId
 	 * @return
 	 */
-	List<DeptVO> lazyTree(String tenantId, Long parentId);
+	List<DeptVO> lazyTree(String tenantId, String parentIds);
 
 	/**
 	 * 获取部门ID
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 5382e70..b10407e 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
@@ -103,11 +103,18 @@
 	}
 
 	@Override
-	public List<DeptVO> lazyTree(String tenantId, Long parentId) {
+	public List<DeptVO> lazyTree(String tenantId, String parentIds) {
 		if (AuthUtil.isAdministrator()) {
 			tenantId = StringPool.EMPTY;
 		}
-		return ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentId));
+
+		String [] parentIdStr = parentIds.split(",");
+		List<Long> parentIdList = new ArrayList<>();
+		for (String str:parentIdStr) {
+			parentIdList.add(Long.parseLong(str));
+		}
+
+		return ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentIdList));
 	}
 
 	@Override

--
Gitblit v1.9.3