From 0b1e9e70818f0e3eb32dd6c029d42d93236ecdc6 Mon Sep 17 00:00:00 2001
From: zrj <646384940@qq.com>
Date: Wed, 03 Jul 2024 12:07:01 +0800
Subject: [PATCH] 数据同步新增连接池配置

---
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml |  122 ++++++++++++++++++++++++++++++----------
 1 files changed, 90 insertions(+), 32 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 5709e20..c22b69a 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -28,10 +28,12 @@
         <result column="has_children" property="hasChildren"/>
     </resultMap>
 
-    <resultMap id="treeNodeResultMap" type="org.springblade.modules.system.vo.DeptVO">
+    <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">
         <id column="id" property="id"/>
         <result column="parent_id" property="parentId"/>
         <result column="title" property="title"/>
+        <result column="value" property="value"/>
+        <result column="key" property="key"/>
         <result column="has_children" property="hasChildren"/>
     </resultMap>
 
@@ -61,36 +63,38 @@
         <if test="param3.fullName!=null and param3.fullName!=''">
             and dept.full_name like concat(concat('%', #{param3.fullName}),'%')
         </if>
+        <if test="param3.showWg != null and param3.showWg != ''">
+            and dept.dept_name not LIKE '第%网格'
+        </if>
         ORDER BY dept.sort
     </select>
 
     <select id="tree" resultMap="treeNodeResultMap">
-        SELECT
-        a.id,
-        a.dept_name AS title,
-        a.parent_id,
-        b.id,
-        IF
-        ( b.id > 0, FALSE, TRUE ) disabled
-        FROM
-        blade_dept a
-        LEFT JOIN (
-        SELECT
-        id,
-        dept_name AS title,
-        parent_id
-        FROM
-        ( SELECT * FROM blade_dept WHERE is_deleted = 0 AND tenant_id = #{param1} ORDER BY parent_id, id ) org_query,
-        ( SELECT @id := #{param2} ) initialisation
-        WHERE
-        ( FIND_IN_SET( parent_id, @id ) > 0 OR FIND_IN_SET( id, @id ) > 0 )
-        AND @id := CONCAT( @id, ',', id )
-        ORDER BY
-        sort
-        ) b ON a.id = b.id
-        WHERE
-        is_deleted = 0
-        AND tenant_id = #{param1}  ORDER BY a.sort
+
+        <if test="param2!=null">
+            SELECT
+            id,
+            dept_name AS title,
+            id AS "value",
+            id AS "key",
+            parent_id
+            FROM
+            ( SELECT * FROM blade_dept WHERE is_deleted = 0 AND tenant_id = #{param1} ORDER BY parent_id, id )
+            org_query,
+            ( SELECT @id := #{param2} ) initialisation
+            WHERE
+            (FIND_IN_SET( parent_id, @id ) > 0 or FIND_IN_SET( id, @id ) > 0)
+            AND @id := CONCAT(@id,',',id) ORDER BY sort
+        </if>
+
+        <if test="param2==null">
+            select id, parent_id, dept_name as title, id as "value", id as "key" from blade_dept where is_deleted = 0
+            <if test="param1!=null and param1!=''">
+                and tenant_id = #{param1}
+            </if>
+            ORDER BY sort
+        </if>
+
     </select>
 
     <select id="lazyTree" resultMap="treeNodeResultMap">
@@ -98,6 +102,8 @@
         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
@@ -108,11 +114,15 @@
         ) AS "has_children"
         FROM
         blade_dept dept
-        WHERE
-        dept.parent_id = #{param2} AND dept.is_deleted = 0
-        <if test="param1!=null and param1!=''">
-            and dept.tenant_id = #{param1}
-        </if>
+        <where>
+            <if test="param2!=null and param2!=''">
+                and dept.parent_id = #{param2}
+            </if>
+            AND dept.is_deleted = 0
+            <if test="param1!=null and param1!=''">
+                and dept.tenant_id = #{param1}
+            </if>
+        </where>
         ORDER BY dept.sort
     </select>
 
@@ -137,6 +147,46 @@
         and c.id = #{id}
     </select>
 
+
+    <select id="getDeptMap" resultType="org.springblade.modules.system.node.DeptUserTreeNode">
+        SELECT
+        cast(dept.id as char) as id,
+        dept.parent_id parentId,
+        dept.dept_name AS name,
+        1 as isMan,
+        0 AS phone,
+        (
+        SELECT
+        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+        FROM
+        blade_dept
+        WHERE
+        parent_id = dept.id and is_deleted = 0
+        ) AS hasChildren
+        FROM
+        blade_dept dept WHERE dept.is_deleted = 0
+        <if test="treeNode.id!=null and treeNode.id!=''">
+            and dept.id = #{treeNode.id}
+        </if>
+    </select>
+
+    <!--查询组织机构树数据(下级包含人员信息)(排除组织机构对应不上的人员)-->
+    <select id="getUserMap" resultType="org.springblade.modules.system.node.DeptUserTreeNode">
+        select
+        bu.id,
+        bu.dept_id parentId,
+        bu.real_name AS name,
+        bu.phone,
+        bu.email,
+        2 as isMan,
+        0 as hasChildren
+        from blade_user bu join blade_dept bd on find_in_set(bu.dept_id,bd.id)
+        where 1=1 and bu.is_deleted = 0 and bu.status = 1
+        <if test="treeNode.id!=null and treeNode.id!=''">
+            and bu.dept_id like concat(concat('%',#{treeNode.id}),'%')
+        </if>
+    </select>
+
     <!--查询网格对应的机构信息(包含父级机构名称)-->
     <select id="getGridDeptAndParentList" resultType="org.springblade.modules.system.vo.DeptVO">
         select bd.*,bd1.dept_name as parentName from blade_dept bd
@@ -144,4 +194,12 @@
         where bd.dept_name like '%网格%'
     </select>
 
+    <!--查询对应的派出所-->
+    <select id="getDeptByDeptIds" resultType="org.springblade.modules.system.entity.Dept">
+        select * from blade_dept
+        where is_deleted = 0
+		and locate(id,#{deptId})>0
+		and dept_name like '%派出所%'
+    </select>
+
 </mapper>

--
Gitblit v1.9.3