From 4ecf2dbe2c255c3b556ff4bfb49b4e2e8285bd17 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 31 Aug 2021 11:24:45 +0800
Subject: [PATCH] 1.ftp

---
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml |  239 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 210 insertions(+), 29 deletions(-)

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 7fa1e5b..56918a8 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -39,17 +39,17 @@
 
     <select id="lazyList" resultMap="deptVOResultMap">
         SELECT
-            dept.* ,
-            (
-                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"
+        dept.* ,
+        (
+        SELECT
+        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
         FROM
-            blade_dept dept
+        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="param1!=null and param1!=''">
             and dept.tenant_id = #{param1}
@@ -74,23 +74,23 @@
         ORDER BY sort
     </select>
 
-    <select id="lazyTree" resultMap="treeNodeResultMap" >
+    <select id="lazyTree" 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"
+        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 dept
+        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="param2!=null and param2!=0">
@@ -103,7 +103,7 @@
     </select>
 
     <!--懒加载获取部门树形结构(包含用户数据)-->
-    <select id="lazyTreeUser" resultMap="treeNodeResultMap" >
+    <select id="lazyTreeUser" resultMap="treeNodeResultMap">
         select DISTINCT  * from (
             (SELECT
               dept.id,
@@ -139,10 +139,191 @@
         )c
     </select>
 
+    <!--懒加载获取部门树形结构(包含用户数据)-->
+    <select id="lazyTreeUsers" resultType="org.springblade.modules.system.node.TreeNodes" >
+        select DISTINCT
+        *
+        from (
+        (SELECT
+        dept.id,
+        dept.parent_id parentId,
+        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
+        left join
+        sys_information si
+        on
+        si.departmentid = dept.id
+        WHERE
+        dept.is_deleted = 0
+        <if test="type==1">
+            and dept_category=1
+        </if>
+        <if test="deptId!=null and deptId!=''">
+            and dept.id = #{deptId}
+        </if>
+        )
+
+        union
+
+        (select
+        bu.id,
+        bu.dept_id  parentId,
+        bu.real_name AS title,
+        bu.id AS "value",
+        bu.id AS "key",
+        0 as "has_children"
+        from blade_user bu
+        left join
+        blade_dept bd
+        on
+        bd.id = bu.dept_id
+        where 1=1
+        and bu.is_deleted = 0
+        <if test="type==1">
+            and dept_category=1
+        </if>
+        <if test="type==2 or type==3">
+            and dept_category=2
+        </if>
+        <if test="deptId!=null and deptId!=''">
+            and bu.dept_id = #{deptId}
+        </if>
+        <if test="jurisdiction!=null and jurisdiction!=''">
+            and bu.jurisdiction = #{jurisdiction}
+        </if>
+        )
+        )c
+    </select>
+
+    <!--懒加载获取部门树形结构(包含用户数据)-->
+    <select id="lazyTreeUsersPublicSecurity" resultType="org.springblade.modules.system.node.TreeNodes" >
+        select DISTINCT
+        *
+        from (
+        (SELECT
+        dept.id,
+        dept.parent_id parentId,
+        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
+        left join
+        sys_information si
+        on
+        si.departmentid = dept.id
+        WHERE
+        dept.is_deleted = 0
+        <if test="type==2  or type==3">
+            and dept_category=2
+        </if>
+        <if test="deptId!=null and deptId!=''">
+            and (dept.parent_id = #{deptId} or dept.id = #{deptId})
+        </if>
+        )
+
+        union
+
+        (select
+        bu.id,
+        bu.dept_id  parentId,
+        bu.real_name AS title,
+        bu.id AS "value",
+        bu.id AS "key",
+        0 as "has_children"
+        from blade_user bu
+        left join
+        blade_dept bd
+        on
+        bd.id = bu.dept_id
+        where 1=1
+        and bu.is_deleted = 0
+        <if test="type==2 or type==3">
+            and dept_category=2
+        </if>
+        <if test="deptId!=null and deptId!=''">
+            and (bd.parent_id = #{deptId} or bd.id = #{deptId})
+        </if>
+        )
+        )c
+    </select>
+
+    <!--懒加载获取部门树形结构(包含用户数据)-->
+    <select id="lazyTreeUsersPublicSecuritys" resultType="org.springblade.modules.system.node.TreeNodes" >
+        select DISTINCT
+        *
+        from (
+        (SELECT
+        dept.id,
+        dept.parent_id parentId,
+        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
+        left join
+        sys_information si
+        on
+        si.departmentid = dept.id
+        WHERE
+        dept.is_deleted = 0
+        <if test="type==2  or type==3">
+            and dept_category=2
+        </if>
+        )
+
+        union
+
+        (select
+        bu.id,
+        bu.dept_id  parentId,
+        bu.real_name AS title,
+        bu.id AS "value",
+        bu.id AS "key",
+        0 as "has_children"
+        from blade_user bu
+        left join
+        blade_dept bd
+        on
+        bd.id = bu.dept_id
+        where 1=1
+        and bu.is_deleted = 0
+        <if test="type==2 or type==3">
+            and dept_category=2
+        </if>
+        )
+        )c
+    </select>
 
 
-
-    <select id="lazyTrees" resultMap="treeNodeResultMap" >
+    <select id="lazyTrees" resultMap="treeNodeResultMap">
     SELECT
         dept.id,
         dept.parent_id,
@@ -214,7 +395,7 @@
     <select id="selectId" resultType="java.util.HashMap">
         SELECT id FROM blade_dept WHERE parent_id =#{id} and is_deleted = 0
     </select>
-    <select id="securityLazyTree" resultMap="treeNodeResultMap" >
+    <select id="securityLazyTree" resultMap="treeNodeResultMap">
         SELECT
         dept.id,
         dept.parent_id,

--
Gitblit v1.9.3