You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
41 lines
1.4 KiB
4 months ago
|
<?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">
|
||
|
<mapper namespace="com.boge.modules.dept.dao.mapper.SysDeptMapper">
|
||
|
|
||
|
<insert id="saveDeptRelation">
|
||
|
replace into sys_user_dept values
|
||
|
<foreach collection="depts" item="dept" separator=",">
|
||
|
(#{user},#{dept})
|
||
|
</foreach>
|
||
|
</insert>
|
||
|
<delete id="delDeptRelation">
|
||
|
delete from sys_user_dept where user_id = #{user}
|
||
|
</delete>
|
||
|
|
||
|
<update id="updateSubCount">
|
||
|
update sys_dept set sub_count =
|
||
|
(select m.count from (select count(*) count from sys_dept where pid = #{pid}) as m)
|
||
|
where dept_id = #{pid}
|
||
|
</update>
|
||
|
<select id="findAllChild" resultType="java.lang.String">
|
||
|
SELECT
|
||
|
max(t3.childId) as deptIds
|
||
|
from
|
||
|
(
|
||
|
select *,
|
||
|
if( find_in_set(t1.pid, @p) > 0,@p := concat(@p,',',id),0 ) as childId
|
||
|
from
|
||
|
(select dept_id as id, pid from sys_dept t order by id) t1,
|
||
|
(select @p := #{pid}) t2
|
||
|
) t3
|
||
|
where childId != '0'
|
||
|
</select>
|
||
|
<select id="getDeptRelation" resultType="java.util.Map">
|
||
|
select * from sys_user_dept where dept_id in (
|
||
|
<foreach collection="deptIds" separator="," item="dept">
|
||
|
#{dept}
|
||
|
</foreach>
|
||
|
)
|
||
|
</select>
|
||
|
</mapper>
|