From ec5a6ede3f88abebdf7a280744ea762757f310aa Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 30 四月 2024 13:41:27 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml | 52 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 36 insertions(+), 16 deletions(-) diff --git a/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml b/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml index 5c2f042..e2aecb8 100644 --- a/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml @@ -22,12 +22,12 @@ <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,d.area from sys_dept d </sql> - + <select id="selectDeptList" parameterType="com.ycl.system.entity.SysDept" resultMap="SysDeptResult"> <include refid="selectDeptVo"/> where d.del_flag = '0' @@ -47,7 +47,7 @@ ${params.dataScope} order by d.parent_id, d.order_num </select> - + <select id="selectDeptListByRoleId" resultType="Long"> select d.dept_id from sys_dept d @@ -58,36 +58,36 @@ </if> order by d.parent_id, d.order_num </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,d.area, (select dept_name from sys_dept where dept_id = d.parent_id) parent_name from sys_dept d where d.dept_id = #{deptId} </select> - + <select id="checkDeptExistUser" parameterType="Long" resultType="int"> 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> - + <select id="selectChildrenDeptById" parameterType="Long" resultMap="SysDeptResult"> 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> - + <select id="checkDeptNameUnique" resultMap="SysDeptResult"> <include refid="selectDeptVo"/> where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 </select> - + <insert id="insertDept" parameterType="com.ycl.system.entity.SysDept"> insert into sys_dept( <if test="deptId != null and deptId != 0">dept_id,</if> @@ -115,7 +115,7 @@ sysdate() ) </insert> - + <update id="updateDept" parameterType="com.ycl.system.entity.SysDept"> update sys_dept <set> @@ -133,7 +133,7 @@ </set> where dept_id = #{deptId} </update> - + <update id="updateDeptChildren" parameterType="java.util.List"> update sys_dept set ancestors = <foreach collection="depts" item="item" index="index" @@ -146,16 +146,36 @@ #{item.deptId} </foreach> </update> - + <update id="updateDeptStatusNormal" parameterType="Long"> - update sys_dept set status = '0' where dept_id in + update sys_dept set status = '0' where dept_id in <foreach collection="array" item="deptId" open="(" separator="," close=")"> #{deptId} </foreach> </update> - + <delete id="deleteDeptById" parameterType="Long"> update sys_dept set del_flag = '2' where dept_id = #{deptId} </delete> -</mapper> \ No newline at end of file + <select id="cascader" resultType="com.ycl.platform.base.Cascader"> + SELECT dept_id as value, dept_name as label, parent_id as parentId FROM sys_dept WHERE status = '0' AND del_flag = '0' + </select> + + <select id="selectParents" resultType="long"> + WITH RECURSIVE temp_table AS ( + SELECT + dept_id, dept_name, parent_id, 0 as level FROM sys_dept WHERE dept_id = 101 + UNION ALL + SELECT + sd.dept_id, sd.dept_name, sd.parent_id, tb.level+1 FROM sys_dept sd INNER JOIN temp_table tb ON sd.dept_id = tb.parent_id + ) + SELECT + dept_id + FROM + temp_table + ORDER BY + level DESC + </select> + +</mapper> -- Gitblit v1.8.0