@ -23,7 +23,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id= "selectDeptVo" >
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, d.create_by, d.create_time
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,
d.create_by,
d.create_time
from sys_dept d
</sql>
@ -53,7 +64,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join sys_role_dept rd on d.dept_id = rd.dept_id
where rd.role_id = #{roleId}
<if test= "deptCheckStrictly" >
and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId})
and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id =
rd.dept_id and rd.role_id = #{roleId})
</if>
order by d.parent_id, d.order_num
</select>
@ -64,20 +76,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id= "checkDeptExistUser" parameterType= "Long" resultType= "int" >
select count(1) from sys_user where dept_id = #{deptId} and del_flag = '0'
select count(1)
from sys_user
where dept_id = #{deptId}
and del_flag = '0'
</select>
<select id= "hasChildByDeptId" parameterType= "Long" resultType= "int" >
select count(1) from sys_dept
where del_flag = '0' and parent_id = #{deptId} limit 1
select count(1)
from sys_dept
where del_flag = '0'
and parent_id = #{deptId}
limit 1
</select>
<select id= "selectChildrenDeptById" parameterType= "Long" resultMap= "SysDeptResult" >
select * from sys_dept where find_in_set(#{deptId}, ancestors)
select *
from sys_dept
where find_in_set(#{deptId}, ancestors)
</select>
<select id= "selectNormalChildrenDeptById" parameterType= "Long" resultType= "int" >
select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors)
select count(*)
from sys_dept
where status = 0
and del_flag = '0'
and find_in_set(#{deptId}, ancestors)
</select>
<select id= "checkDeptNameUnique" resultMap= "SysDeptResult" >
@ -131,11 +155,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<update id= "updateDeptChildren" parameterType= "java.util.List" >
update sys_dept set ancestors =
update sys_dept
<set >
ancestors =
<foreach collection= "depts" item= "item" index= "index"
separator=" " open="case dept_id" close="end">
when #{item.deptId} then #{item.ancestors}
</foreach>
</set>
where dept_id in
<foreach collection= "depts" item= "item" index= "index"
separator="," open="(" close=")">
@ -151,7 +178,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<delete id= "deleteDeptById" parameterType= "Long" >
update sys_dept set del_flag = '2' where dept_id = #{deptId}
update sys_dept
set del_flag = '2'
where dept_id = #{deptId}
</delete>
</mapper>