feat: Enhance department management with parent ID validation and department scope handling

This commit is contained in:
2026-07-16 09:25:35 +08:00
parent e21e51de8a
commit 8dea752d48
7 changed files with 81 additions and 14 deletions

View File

@@ -59,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status,
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag,
(select dept_name from sys_dept where dept_id = d.parent_id) parent_name
from sys_dept d
where d.dept_id = #{deptId}
@@ -156,4 +156,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update sys_dept set del_flag = '2' where dept_id = #{deptId}
</delete>
</mapper>
</mapper>

View File

@@ -83,7 +83,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND date_format(u.create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
</if>
<if test="deptId != null and deptId != 0">
AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
AND (
u.dept_id = #{deptId}
<if test="params.deptScope != null and params.deptScope == 'CHILDREN'">
OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) )
</if>
)
</if>
<if test="idCard != null and idCard != ''">
AND u.id_card = #{idCard}
@@ -266,4 +271,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where ur.user_id = #{userId}
</select>
</mapper>
</mapper>