From b5960d1968e007b91d4d33dd7cbb74f1b566f2c1 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 24 May 2024 10:20:01 +0800
Subject: [PATCH] 到期时间修改

---
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml |  316 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 229 insertions(+), 87 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 56918a8..28cae77 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -104,43 +104,38 @@
 
     <!--懒加载获取部门树形结构(包含用户数据)-->
     <select id="lazyTreeUser" resultMap="treeNodeResultMap">
-        select DISTINCT  * from (
-            (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.is_deleted = 0
-            )
+        select DISTINCT *
+        from (
+                 (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.is_deleted = 0
+                 )
 
-            union
+                 union
 
-            (select
-                id,
-                dept_id  parent_id,
-                real_name AS title,
-                id AS "value",
-                id AS "key",
-                0 as "has_children"
-                from blade_user
-            )
-        )c
+                 (select id,
+                         dept_id      parent_id,
+                         real_name AS title,
+                         id        AS "value",
+                         id        AS "key",
+                         0         as "has_children"
+                  from blade_user
+                 )
+             ) c
     </select>
 
     <!--懒加载获取部门树形结构(包含用户数据)-->
-    <select id="lazyTreeUsers" resultType="org.springblade.modules.system.node.TreeNodes" >
+    <select id="lazyTreeUsers" resultType="org.springblade.modules.system.node.TreeNodes">
         select DISTINCT
         *
         from (
@@ -178,7 +173,7 @@
 
         (select
         bu.id,
-        bu.dept_id  parentId,
+        bu.dept_id parentId,
         bu.real_name AS title,
         bu.id AS "value",
         bu.id AS "key",
@@ -207,7 +202,7 @@
     </select>
 
     <!--懒加载获取部门树形结构(包含用户数据)-->
-    <select id="lazyTreeUsersPublicSecurity" resultType="org.springblade.modules.system.node.TreeNodes" >
+    <select id="lazyTreeUsersPublicSecurity" resultType="org.springblade.modules.system.node.TreeNodes">
         select DISTINCT
         *
         from (
@@ -245,7 +240,7 @@
 
         (select
         bu.id,
-        bu.dept_id  parentId,
+        bu.dept_id parentId,
         bu.real_name AS title,
         bu.id AS "value",
         bu.id AS "key",
@@ -268,7 +263,7 @@
     </select>
 
     <!--懒加载获取部门树形结构(包含用户数据)-->
-    <select id="lazyTreeUsersPublicSecuritys" resultType="org.springblade.modules.system.node.TreeNodes" >
+    <select id="lazyTreeUsersPublicSecuritys" resultType="org.springblade.modules.system.node.TreeNodes">
         select DISTINCT
         *
         from (
@@ -303,7 +298,7 @@
 
         (select
         bu.id,
-        bu.dept_id  parentId,
+        bu.dept_id parentId,
         bu.real_name AS title,
         bu.id AS "value",
         bu.id AS "key",
@@ -324,30 +319,25 @@
 
 
     <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 0 ELSE 1 END
-            FROM
-                blade_dept
-            WHERE
-                parent_id = dept.id and is_deleted = 0
-        ) AS "has_children"
-    FROM
-        blade_dept dept WHERE (
-                                  SELECT
-                                      CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
-                                  FROM
-                                      blade_dept
-                                  WHERE
-                                      parent_id = dept.id and is_deleted = 0
-                              ) =1
-</select>
+        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 0 ELSE 1 END
+                   FROM blade_dept
+                   WHERE parent_id = dept.id
+                     and is_deleted = 0
+               )              AS "has_children"
+        FROM blade_dept dept
+        WHERE (
+                  SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+                  FROM blade_dept
+                  WHERE parent_id = dept.id
+                    and is_deleted = 0
+              ) = 1
+    </select>
 
     <select id="getDeptNames" resultType="java.lang.String">
         SELECT
@@ -363,40 +353,110 @@
     </select>
 
     <select id="selectIn" resultType="java.util.HashMap">
-        SELECT
-            id as deptid,
-            dept_name as deptname
-        FROM
-            blade_dept where is_deleted = 0
+        SELECT id        as deptid,
+               dept_name as deptname
+        FROM blade_dept
+        where is_deleted = 0
     </select>
 
     <!--统计单位类型数量-->
     <select id="selectCount" resultType="java.util.HashMap">
-        SELECT
-            id as jurisdiction,
-            dept_name AS title
-        FROM
-            sys_jurisdiction
-        WHERE
-            is_deleted = 0 AND  parent_id!=0
+        SELECT id        as jurisdiction,
+               dept_name AS title
+        FROM sys_jurisdiction
+        WHERE is_deleted = 0
+          AND parent_id!=0
     </select>
 
     <select id="selectHold" resultType="java.util.HashMap">
-        SELECT
-            IFNULL(B.cz,0) as cz,
-            IFNULL(C.wcz,0) as wcz
-        FROM (SELECT jurisdiction FROM blade_user ) A
-            LEFT JOIN (SELECT COUNT(hold) as cz,jurisdiction FROM blade_user WHERE hold=0 GROUP BY jurisdiction ) B ON A.jurisdiction=B.jurisdiction
-            LEFT JOIN (SELECT COUNT(hold) as wcz,jurisdiction FROM blade_user WHERE hold=1 GROUP BY jurisdiction ) C ON A.jurisdiction=C.jurisdiction
-        WHERE A.jurisdiction=#{deptid} GROUP BY cz,wcz
+        SELECT IFNULL(B.cz, 0)  as cz,
+               IFNULL(C.wcz, 0) as wcz
+        FROM (SELECT departmentid,jurisdiction FROM sys_information) A
+                 LEFT JOIN (SELECT COUNT(*) as cz, dept_id
+                            FROM blade_user
+                            WHERE hold = 1
+                              AND role_id = '1412226235153731586'
+                              and status = 1 AND is_deleted = 0
+                            GROUP BY dept_id) B ON A.departmentid = B.dept_id
+                 LEFT JOIN (SELECT COUNT(*) as wcz, dept_id
+                            FROM blade_user
+                            WHERE hold = 2
+                              AND role_id = '1412226235153731586'
+                              and status = 1 AND is_deleted = 0
+                            GROUP BY dept_id) C ON A.departmentid = C.dept_id
+        WHERE A.jurisdiction in (${deptid})
+        GROUP BY cz, wcz
     </select>
 
     <!--查询部门下面的所有单位-->
     <select id="selectId" resultType="java.util.HashMap">
-        SELECT id FROM blade_dept WHERE parent_id =#{id} and is_deleted = 0
+        SELECT id
+        FROM blade_dept
+        WHERE parent_id = #{id}
+          and is_deleted = 0
     </select>
+
+    <!--保安公司树-->
+<!--    <select id="securityLazyTree" resultMap="treeNodeResultMap">-->
+<!--        (-->
+<!--        SELECT-->
+<!--        id,-->
+<!--        parent_id,-->
+<!--        dept_name AS title,-->
+<!--        id AS "value",-->
+<!--        id AS "key",-->
+<!--        0 AS "has_children"-->
+<!--        FROM-->
+<!--        blade_dept-->
+<!--        where is_deleted = 0-->
+<!--        and-->
+<!--        (id = 1413470343230877697-->
+<!--        or id = 1425366663452196865-->
+<!--        or id = 1418458374477549569-->
+<!--        or id = 1420222768149966850-->
+<!--        or id = 1426354978959691778)-->
+<!--        )-->
+<!--        union-->
+<!--        (-->
+<!--        SELECT-->
+<!--        DISTINCT-->
+<!--        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-->
+<!--        left join-->
+<!--        sys_information si-->
+<!--        on-->
+<!--        si.departmentid = dept.id-->
+<!--        left join-->
+<!--        sys_jurisdiction sj-->
+<!--        on-->
+<!--        sj.id = si.jurisdiction-->
+<!--        WHERE-->
+<!--        1=1-->
+<!--        and si.stats !=3-->
+<!--        AND dept.is_deleted = 0-->
+<!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
+<!--            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})-->
+<!--        </if>-->
+<!--        )-->
+<!--    </select>-->
+
+    <!--查询保安公司列表,保安员管理-->
     <select id="securityLazyTree" resultMap="treeNodeResultMap">
         SELECT
+        DISTINCT
         dept.id,
         dept.parent_id,
         dept.dept_name AS title,
@@ -412,12 +472,94 @@
         ) AS "has_children"
         FROM
         blade_dept dept
-        WHERE
-        dept.parent_id = #{param2} AND dept.is_deleted = 0
-        and dept_category = 1
-        <if test="param1!=null and param1!=''">
-            and dept.tenant_id = #{param1}
+        left join
+        sys_information si
+        on
+        si.departmentid = dept.id
+        left join
+        sys_jurisdiction sj
+        on
+        sj.id = si.jurisdiction
+        where
+        dept.dept_category != 0
+        AND dept.is_deleted = 0
+        and dept.id!= 1420222961377357825
+        and dept.parent_id!= 1420222961377357825
+        and dept.id!= 1418458374477549569
+        and dept.parent_id!= 1418458374477549569
+        and dept.id!= 1426355050199945218
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
+            union
+            (
+            SELECT
+            id,
+            parent_id,
+            dept_name AS title,
+            id AS "value",
+            id AS "key",
+            0 AS "has_children"
+            FROM
+            blade_dept
+            where is_deleted = 0
+            and
+            (id = 1413470343230877697
+            or id = 1425366663452196865
+            or id = 1420222768149966850
+            or id = 1426354978959691778)
+            )
         </if>
-        ORDER BY dept.sort
+    </select>
+
+    <!--查询所有的保安公司机构及子级信息-->
+    <select id="securityDeptUnitList" resultMap="treeNodeResultMap">
+        (
+            SELECT
+            id,
+            parent_id,
+            dept_name AS title,
+            id AS "value",
+            id AS "key",
+            0 AS "has_children"
+            FROM
+            blade_dept
+            where id = #{deptId}
+        )
+        union
+        (
+        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
+        ) AS "has_children"
+        FROM
+        (
+        SELECT
+        id,parent_id,dept_name
+        FROM
+        (
+            SELECT
+            t1.id,t1.parent_id,t1.dept_name,
+            IF
+            ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+            FROM
+            ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+            ( SELECT @pids := #{deptId} ) t2
+            ) t3
+            WHERE
+            ischild != 0
+        )
+        dept
+        where 1=1
+        )
     </select>
 </mapper>

--
Gitblit v1.9.3