From b137fb0bf073724e7bb167ad6391e3f3e0afcacd Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 29 Mar 2021 13:44:42 +0800
Subject: [PATCH] 设备管理树状图修改

---
 blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java            |    2 ++
 blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java |    7 +++++++
 blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml             |   23 +++++++++++++++++++++++
 blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java    |   12 ++++++++++++
 blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java         |    2 ++
 5 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java
index b7ff1e4..3758114 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java
@@ -142,6 +142,18 @@
 	}
 
 	/**
+	 * 懒加载获取部门树形结构
+	 */
+	@GetMapping("/lazy-trees")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "懒加载树形结构", notes = "树形结构")
+	public R<List<DeptVO>> lazyTrees(String tenantId, Long parentId, BladeUser bladeUser) {
+		List<DeptVO> tree = deptService.lazyTrees(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
+		return R.data(tree);
+	}
+
+
+	/**
 	 * 新增或修改
 	 */
 	@PostMapping("/submit")
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
index c833ae9..15ae267 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
@@ -65,6 +65,8 @@
 	 */
 	List<DeptVO> lazyTree(String tenantId, Long parentId);
 
+	List<DeptVO> lazyTrees(String tenantId, Long parentId);
+
 	/**
 	 * 获取部门名
 	 *
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
index 001cc30..4e648e7 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
@@ -104,6 +104,29 @@
         ORDER BY dept.sort
     </select>
 
+    <select id="lazyTrees" resultMap="treeNodeResultMap" >
+        SELECT
+        dept.id,
+        dept.parent_id,
+        dept.dept_name AS title,
+        dept.id AS "value",
+        dept.id AS "key",
+        (
+        SELECT
+        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+        FROM
+        blade_dept
+        WHERE
+        parent_id = dept.id and is_deleted = 0
+        ) AS "has_children"
+        FROM
+        blade_dept dept
+        WHERE
+        dept.parent_id = #{param2} AND dept.is_deleted = 0
+            and dept.tenant_id != 000000
+        ORDER BY dept.sort
+    </select>
+
     <select id="getDeptNames" resultType="java.lang.String">
         SELECT
         dept_name
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java
index 0fa7d87..918c143 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java
@@ -66,6 +66,8 @@
 	 */
 	List<DeptVO> lazyTree(String tenantId, Long parentId);
 
+	List<DeptVO> lazyTrees(String tenantId, Long parentId);
+
 	/**
 	 * 获取部门ID
 	 *
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java
index 91a96cc..98f969e 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java
@@ -93,6 +93,13 @@
 		}
 		return ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentId));
 	}
+	@Override
+	public List<DeptVO> lazyTrees(String tenantId, Long parentId) {
+		if (AuthUtil.isAdministrator()) {
+			tenantId = StringPool.EMPTY;
+		}
+		return ForestNodeMerger.merge(baseMapper.lazyTrees(tenantId, parentId));
+	}
 
 	@Override
 	public String getDeptIds(String tenantId, String deptNames) {

--
Gitblit v1.9.3