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