@ -1,29 +1,40 @@
<?xml version="1.0" encoding="UTF-8" ?>
< !DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace= "com.ruoyi.system.mapper.SysDeptMapper" >
<resultMap type= "SysDept" id= "SysDeptResult" >
<id property= "deptId" column= "dept_id" />
<result property= "parentId" column= "parent_id" />
<result property= "ancestors" column= "ancestors" />
<result property= "deptName" column= "dept_name" />
<result property= "orderNum" column= "order_num" />
<result property= "leader" column= "leader" />
<result property= "phone" column= "phone" />
<result property= "email" column= "email" />
<result property= "status" column= "status" />
<result property= "delFlag" column= "del_flag" />
<result property= "parentName" column= "parent_name" />
<result property= "createBy" column= "create_by" />
<result property= "createTime" column= "create_time" />
<result property= "updateBy" column= "update_by" />
<result property= "updateTime" column= "update_time" />
<id property= "deptId" column= "dept_id" />
<result property= "parentId" column= "parent_id" />
<result property= "ancestors" column= "ancestors" />
<result property= "deptName" column= "dept_name" />
<result property= "orderNum" column= "order_num" />
<result property= "leader" column= "leader" />
<result property= "phone" column= "phone" />
<result property= "email" column= "email" />
<result property= "status" column= "status" />
<result property= "delFlag" column= "del_flag" />
<result property= "parentName" column= "parent_name" />
<result property= "createBy" column= "create_by" />
<result property= "createTime" column= "create_time" />
<result property= "updateBy" column= "update_by" />
<result property= "updateTime" column= "update_time" />
</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>