From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送
---
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml | 231 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 193 insertions(+), 38 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 fd241a2..5211eec 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}
@@ -63,47 +63,66 @@
<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 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 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 and param2!=''">
- and parent_id = #{param2}
+ <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>
- <if test="param3!=null and param3!=''">
- and id = #{param3}
- </if>
- 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
- dept.parent_id = #{param2} AND dept.is_deleted = 0
- <if test="param1!=null and param1!=''">
- and dept.tenant_id = #{param1}
- </if>
+ parent_id = dept.id and is_deleted = 0
+ ) AS "has_children"
+ FROM
+ blade_dept dept
+ <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>
@@ -128,6 +147,134 @@
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="getDeptMapAndChildren" 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,
+ 0 as email,
+ (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,
+ IFNULL(bu.num,0) AS userCount
+ FROM
+ blade_dept dept
+ LEFT JOIN
+ (
+ SELECT COUNT(*) num,dept_id FROM blade_user where is_deleted = 0 GROUP BY dept_id
+ ) bu on dept.id = bu.dept_id
+ WHERE dept.is_deleted = 0
+ <if test="treeNode.id!=null and treeNode.id!=''">
+ and dept.id = #{treeNode.id}
+ </if>
+
+ union
+
+ SELECT
+ cast(dept.id as char) as id,
+ dept.parent_id parentId,
+ dept.dept_name AS name,
+ 1 as isMan,
+ 0 AS phone,
+ 0 as email,
+ (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,
+ IFNULL(bu.num,0) AS userCount
+ FROM
+ blade_dept dept
+ LEFT JOIN
+ (
+ SELECT COUNT(*) num,dept_id FROM blade_user where is_deleted = 0 GROUP BY dept_id
+ ) bu on dept.id = bu.dept_id
+ WHERE dept.is_deleted = 0
+ <if test="treeNode.id!=null and treeNode.id!=''">
+ AND ancestors LIKE CONCAT( '%', #{treeNode.id}, '%')
+ </if>
+
+
+
+
+ </select>
+
+ <select id="getDeptMapAndChild" 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
+ AND dept.parent_id = #{treeNode.id}
+
+ </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 = #{treeNode.id} or bd.ancestors LIKE CONCAT( '%', #{treeNode.id}, '%'))
+ </if>
+ </select>
+
+ <select id="getUserMapByDeptIds" 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="deptIds !=null and deptIds!=''">
+ and bu.dept_id in
+ <foreach collection="deptIds.split(',')" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </if>
+ </select>
+
+
+
<!--查询网格对应的机构信息(包含父级机构名称)-->
<select id="getGridDeptAndParentList" resultType="org.springblade.modules.system.vo.DeptVO">
select bd.*,bd1.dept_name as parentName from blade_dept bd
@@ -135,4 +282,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