From 733edfcd6ad1c38dcf4aa761a417f4e4bfd754b2 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Fri, 27 Aug 2021 11:05:44 +0800
Subject: [PATCH] 1.许可审批

---
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml |  212 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 194 insertions(+), 18 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 aed1aaf..df326a6 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -119,11 +119,16 @@
         ) AS "has_children"
         FROM
         blade_dept dept
+        left join
+        sys_information si
+        on
+        si.departmentid = dept.id
         WHERE
-        dept.parent_id = #{param2} AND dept.is_deleted = 0
-        and dept_category = 1
+        1=1
+        and (stats = 1 or stats =2 or stats =4)
+        AND dept.is_deleted = 0
         <if test="param1!=null and param1!=''">
-            and dept.tenant_id = #{param1}
+            and si.jurisdiction = #{param1}
         </if>
         ORDER BY dept.sort
     </select>
@@ -160,20 +165,7 @@
     <!--懒加载获取部门树形结构(包含用户数据)app-->
     <select id="lazyTreeUserApp" resultType="org.springblade.modules.system.vo.DeptAndUserVO" >
         select DISTINCT
-            c.id,
-            c.parent_id,
-            c.title,
-            c.value,
-            c.key,
-            (
-            SELECT
-            CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
-            FROM
-            blade_dept
-            where
-            id = c.parent_id
-            and dept_category=1
-            ) AS "has_children"
+            *
         from (
             (SELECT
             dept.id,
@@ -287,7 +279,7 @@
                         dept.is_deleted = 0
                     <if test="parentId!=null and parentId!=''">
                         and dept_category=1
-                        AND dept.id = #{parentId}
+                        AND dept.parent_id = #{parentId}
                     </if>
             )
 
@@ -316,6 +308,190 @@
     </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

--
Gitblit v1.9.3