From 37325b5b629a296230e87d41187742f843c7494c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 15 七月 2025 18:08:23 +0800
Subject: [PATCH] 文件ip迁移兼容

---
 system/src/main/resources/mapper/system/SysDeptMapper.xml |   36 +++++++++++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/system/src/main/resources/mapper/system/SysDeptMapper.xml b/system/src/main/resources/mapper/system/SysDeptMapper.xml
index e0faa04..3aa7471 100644
--- a/system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -47,6 +47,18 @@
 		order by d.parent_id, d.order_num
     </select>
 
+	<select id="selectDeptListNoAuth" parameterType="SysDept" resultMap="SysDeptResult">
+		<include refid="selectDeptVo"/>
+		where d.del_flag = '0'
+		<if test="parentId != null">
+			AND FIND_IN_SET(#{parentId}, ancestors) > 0
+		</if>
+		<if test="deptName != null and deptName != ''">
+			AND dept_name like concat('%', #{deptName}, '%')
+		</if>
+		order by d.parent_id, d.order_num
+	</select>
+
     <select id="selectDeptListByRoleId" resultType="Long">
 		select d.dept_id
 		from sys_dept d
@@ -94,10 +106,28 @@
 		where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1
 	</select>
     <select id="selectAncestors" resultType="java.lang.String">
-		select ancestors
+		select SD.ancestors
 		from sys_user SU
 		INNER JOIN sys_dept SD ON SU.dept_id = SD.dept_id
 		where SU.user_id = #{userId}
+	</select>
+
+	<select id="selectByName" parameterType="string" resultType="long">
+		SELECT dept_id FROM sys_dept WHERE dept_name = #{name} and del_flag = '0' limit 1
+	</select>
+
+	<select id="getChildIds" parameterType="long" resultType="long">
+		WITH RECURSIVE temp_table AS (
+			SELECT
+				dept_id FROM sys_dept WHERE dept_id = #{deptId} AND del_flag = '0'
+			UNION ALL
+			SELECT
+				so.dept_id FROM sys_dept so INNER JOIN temp_table tb ON so.parent_id = tb.dept_id AND so.del_flag = '0'
+		)
+		SELECT
+			dept_id
+		FROM
+			temp_table
 	</select>
 
     <insert id="insertDept" parameterType="SysDept">
@@ -131,9 +161,9 @@
 	<update id="updateDept" parameterType="SysDept">
  		update sys_dept
  		<set>
- 			<if test="parentId != null and parentId != 0">parent_id = #{parentId},</if>
+ 			<if test="parentId != null">parent_id = #{parentId},</if>
  			<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
- 			<if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if>
+ 			<if test="ancestors != null">ancestors = #{ancestors},</if>
  			<if test="orderNum != null">order_num = #{orderNum},</if>
  			<if test="leader != null">leader = #{leader},</if>
  			<if test="phone != null">phone = #{phone},</if>

--
Gitblit v1.8.0