From 5a89bbe0fb703076ac8d316f3e2f644ff3aa9f1f Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 10 七月 2024 09:42:38 +0800
Subject: [PATCH] fix:新增用户-部门下拉递归查询
---
src/main/resources/mapper/UserMapper.xml | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index 4d49779..f8c619d 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -543,7 +543,16 @@
<select id="getDeptAdmins" resultType="com.mindskip.xzs.domain.Department" parameterType="java.lang.Integer">
<if test="id != null">
- select a.id, a.name, a.parent_id from t_department a inner join t_user_department b on a.id = b.department_id where a.deleted = 0 and b.dept_admin = 1 and b.user_id = #{id} order by a.id
+ WITH RECURSIVE temp_table AS (
+ select a.id, a.name, a.parent_id from t_department a inner join t_user_department b on a.id = b.department_id where a.deleted = 0 and b.dept_admin = 1 and b.user_id = #{id}
+ UNION ALL
+ SELECT
+ so.id, so.name, so.parent_id FROM t_department so INNER JOIN temp_table tb ON so.parent_id = tb.id
+ )
+ SELECT
+ id, name, parent_id
+ FROM
+ temp_table
</if>
<if test="id == null">
select a.id, a.name, a.parent_id from t_department a where a.deleted = 0 order by a.id
--
Gitblit v1.8.0