From 4c359ddf1ee2a9594ff80ee40fa4543be08b8836 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 30 Jul 2021 15:35:16 +0800
Subject: [PATCH] 新增app查询工作汇报接收人接口

---
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.java            |    8 ++++
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml             |   56 ++++++++++++++++++++++++++++
 src/main/java/org/springblade/modules/system/controller/DeptController.java    |   11 +++++
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |   10 +++++
 src/main/java/org/springblade/modules/system/vo/DeptAndUserVO.java             |   24 ++++++++++++
 src/main/java/org/springblade/modules/system/service/IDeptService.java         |    7 +++
 src/main/resources/application.yml                                             |    2 +
 7 files changed, 118 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/controller/DeptController.java b/src/main/java/org/springblade/modules/system/controller/DeptController.java
index 8cbc014..d8645c9 100644
--- a/src/main/java/org/springblade/modules/system/controller/DeptController.java
+++ b/src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -135,6 +135,17 @@
 		return R.data(tree);
 	}
 
+
+	/**
+	 * 懒加载获取部门树形结构(包含用户数据)app
+	 * @param type 1:保安对保安  2:保安向民警   3:民警向民警
+	 * @return
+	 */
+	@GetMapping("/lazy-tree-user-app")
+	public List<DeptVO> lazyTreeUser(Integer type) {
+		return deptService.lazyTreeUserApp(type);
+	}
+
 	/**
 	 * 懒加载获取部门树形结构,不包含顶级管理员公安局
 	 */
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index aee8a53..ac3458a 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -100,4 +100,12 @@
 	 * 懒加载获取部门树形结构(按分类查询)
 	 */
 	List<DeptVO> lazyTreeType(String tenantId, String deptCategory, Long parentId);
+
+	/**
+	 * 懒加载获取部门树形结构(包含用户数据)app
+	 * @param type 1:保安对保安  2:保安向民警   3:民警向民警
+	 * @return
+	 */
+	@SqlParser(filter=true)
+	List<DeptVO> lazyTreeUserApp(Integer type);
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index 006f798..68defdc 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -157,6 +157,62 @@
         ORDER BY dept.sort
     </select>
 
+    <!--懒加载获取部门树形结构(包含用户数据)app-->
+    <select id="lazyTreeUserApp" resultType="org.springblade.modules.system.vo.DeptAndUserVO" >
+        select DISTINCT  * from (
+        (SELECT
+        dept.id,
+        dept.parent_id,
+        dept.dept_name AS label,
+        dept.id AS "key",
+        dept.id AS "value",
+        (
+        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.is_deleted = 0
+        <if test="type==1">
+            and dept_category=1
+            AND dept.parent_id = "1413470343230877697"
+        </if>
+        <if test="type==2 or type==3">
+            and dept_category=2
+            AND dept.parent_id = "1123598813738675201"
+        </if>
+        )
+
+        union all
+
+        (select
+        bu.id,
+        bu.dept_id  parent_id,
+        bu.real_name AS label,
+        bu.id AS "key",
+        bu.id AS "value",
+        0 as "has_children"
+        from blade_user bu
+        left join
+        blade_dept bd
+        on
+        bd.id = bu.dept_id
+        where 1=1
+        <if test="type==1">
+            and dept_category=1
+        </if>
+        <if test="type==2 or type==3">
+            and dept_category=2
+        </if>
+        )
+        )c
+    </select>
+
     <!--懒加载获取部门树形结构(包含用户数据)-->
     <select id="lazyTreeUser" resultMap="treeNodeResultMap" >
         select DISTINCT  * from (
diff --git a/src/main/java/org/springblade/modules/system/service/IDeptService.java b/src/main/java/org/springblade/modules/system/service/IDeptService.java
index 99d5895..9434092 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -143,4 +143,11 @@
 	 * 懒加载获取部门树形结构(按分类查询)
 	 */
 	List<DeptVO> lazyTreeType(String deptCategory, Long parentId);
+
+	/**
+	 * 懒加载获取部门树形结构(包含用户数据)app
+	 * @param type 1:保安对保安  2:保安向民警   3:民警向民警
+	 * @return
+	 */
+	List<DeptVO> lazyTreeUserApp(Integer type);
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index bb8eaf4..291ab11 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -224,4 +224,14 @@
 	public List<DeptVO> lazyTreeType(String deptCategory, Long parentId) {
 		return ForestNodeMerger.merge(baseMapper.lazyTreeType("000000",deptCategory,parentId));
 	}
+
+	/**
+	 * 懒加载获取部门树形结构(包含用户数据)app
+	 * @param type 1:保安对保安  2:保安向民警   3:民警向民警
+	 * @return
+	 */
+	@Override
+	public List<DeptVO> lazyTreeUserApp(Integer type) {
+		return ForestNodeMerger.merge(baseMapper.lazyTreeUserApp(type));
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/vo/DeptAndUserVO.java b/src/main/java/org/springblade/modules/system/vo/DeptAndUserVO.java
new file mode 100644
index 0000000..f175d9e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/system/vo/DeptAndUserVO.java
@@ -0,0 +1,24 @@
+package org.springblade.modules.system.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+import org.springblade.core.tool.node.BaseNode;
+
+/**
+ * @author zhongrj
+ */
+@Data
+public class DeptAndUserVO extends BaseNode<DeptAndUserVO> {
+	private static final long serialVersionUID = 1L;
+	private String label;
+	@JsonSerialize(
+		using = ToStringSerializer.class
+	)
+	private Long key;
+	@JsonSerialize(
+		using = ToStringSerializer.class
+	)
+	private Long value;
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index ac95556..c6d4f8d 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -209,6 +209,8 @@
       - /trainExam/**
       - /blade-desk/**
       - /directive/**
+      - /blade-system/**
+      - /blade-resource/**
     #授权认证配置
     auth:
       - method: ALL

--
Gitblit v1.9.3