From b9df2fc5c64a1d989991655a9e42e4d1f2ec4075 Mon Sep 17 00:00:00 2001 From: hdy <1105738590@qq.com> Date: 星期四, 06 三月 2025 18:18:11 +0800 Subject: [PATCH] 修改 --- billion-system/src/main/resources/mapper/system/SysDeptMapper.xml | 185 +++++++++++++++++++++++----------------------- 1 files changed, 93 insertions(+), 92 deletions(-) diff --git a/billion-system/src/main/resources/mapper/system/SysDeptMapper.xml b/billion-system/src/main/resources/mapper/system/SysDeptMapper.xml index 52b4227..871d6a2 100644 --- a/billion-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/billion-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -1,7 +1,7 @@ <?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.billion.system.mapper.SysDeptMapper"> <resultMap type="SysDept" id="SysDeptResult"> @@ -21,19 +21,19 @@ <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 - from sys_dept d - </sql> - + 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> + <select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult"> - <include refid="selectDeptVo"/> - where d.del_flag = '0' + <include refid="selectDeptVo"/> + where d.del_flag = '0' <if test="deptId != null and deptId != 0"> AND dept_id = #{deptId} </if> - <if test="parentId != null and parentId != 0"> + <if test="parentId != null and parentId != 0"> AND parent_id = #{parentId} </if> <if test="deptName != null and deptName != ''"> @@ -45,113 +45,114 @@ <!-- 鏁版嵁鑼冨洿杩囨护 --> ${params.dataScope} order by d.parent_id, d.order_num - </select> - - <select id="selectDeptListByRoleId" resultType="Long"> + </select> + + <select id="selectDeptListByRoleId" resultType="Long"> select d.dept_id from sys_dept d - 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}) - </if> + 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}) + </if> order by d.parent_id, d.order_num </select> - - <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult"> + + <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 dept_name from sys_dept where dept_id = d.parent_id) parent_name + (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 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 top(1) count(1) from sys_dept + where del_flag = '0' and parent_id = #{deptId} </select> - + <select id="selectChildrenDeptById" parameterType="Long" resultMap="SysDeptResult"> - select * from sys_dept where find_in_set(#{deptId}, ancestors) + select * from sys_dept where charindex(',' + convert(nvarchar, #{deptId}), ',' + ancestors) > 0 </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 charindex(',' + convert(nvarchar, #{deptId}), ',' + ancestors) > 0 </select> - + <select id="checkDeptNameUnique" resultMap="SysDeptResult"> - <include refid="selectDeptVo"/> - where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 + select top(1) 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 + where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' </select> - - <insert id="insertDept" parameterType="SysDept"> - insert into sys_dept( - <if test="deptId != null and deptId != 0">dept_id,</if> - <if test="parentId != null and parentId != 0">parent_id,</if> - <if test="deptName != null and deptName != ''">dept_name,</if> - <if test="ancestors != null and ancestors != ''">ancestors,</if> - <if test="orderNum != null">order_num,</if> - <if test="leader != null and leader != ''">leader,</if> - <if test="phone != null and phone != ''">phone,</if> - <if test="email != null and email != ''">email,</if> - <if test="status != null">status,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - create_time - )values( - <if test="deptId != null and deptId != 0">#{deptId},</if> - <if test="parentId != null and parentId != 0">#{parentId},</if> - <if test="deptName != null and deptName != ''">#{deptName},</if> - <if test="ancestors != null and ancestors != ''">#{ancestors},</if> - <if test="orderNum != null">#{orderNum},</if> - <if test="leader != null and leader != ''">#{leader},</if> - <if test="phone != null and phone != ''">#{phone},</if> - <if test="email != null and email != ''">#{email},</if> - <if test="status != null">#{status},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - sysdate() - ) + + <insert id="insertDept" parameterType="SysDept"> + insert into sys_dept( + <if test="deptId != null and deptId != 0">dept_id,</if> + <if test="parentId != null and parentId != 0">parent_id,</if> + <if test="deptName != null and deptName != ''">dept_name,</if> + <if test="ancestors != null and ancestors != ''">ancestors,</if> + <if test="orderNum != null">order_num,</if> + <if test="leader != null and leader != ''">leader,</if> + <if test="phone != null and phone != ''">phone,</if> + <if test="email != null and email != ''">email,</if> + <if test="status != null">status,</if> + <if test="createBy != null and createBy != ''">create_by,</if> + create_time + )values( + <if test="deptId != null and deptId != 0">#{deptId},</if> + <if test="parentId != null and parentId != 0">#{parentId},</if> + <if test="deptName != null and deptName != ''">#{deptName},</if> + <if test="ancestors != null and ancestors != ''">#{ancestors},</if> + <if test="orderNum != null">#{orderNum},</if> + <if test="leader != null and leader != ''">#{leader},</if> + <if test="phone != null and phone != ''">#{phone},</if> + <if test="email != null and email != ''">#{email},</if> + <if test="status != null">#{status},</if> + <if test="createBy != null and createBy != ''">#{createBy},</if> + getdate() + ) </insert> - + <update id="updateDept" parameterType="SysDept"> - update sys_dept - <set> - <if test="parentId != null and parentId != 0">parent_id = #{parentId},</if> - <if test="deptName != null and deptName != ''">dept_name = #{deptName},</if> - <if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if> - <if test="orderNum != null">order_num = #{orderNum},</if> - <if test="leader != null">leader = #{leader},</if> - <if test="phone != null">phone = #{phone},</if> - <if test="email != null">email = #{email},</if> - <if test="status != null and status != ''">status = #{status},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() - </set> - where dept_id = #{deptId} + update sys_dept + <set> + <if test="parentId != null and parentId != 0">parent_id = #{parentId},</if> + <if test="deptName != null and deptName != ''">dept_name = #{deptName},</if> + <if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if> + <if test="orderNum != null">order_num = #{orderNum},</if> + <if test="leader != null">leader = #{leader},</if> + <if test="phone != null">phone = #{phone},</if> + <if test="email != null">email = #{email},</if> + <if test="status != null and status != ''">status = #{status},</if> + <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> + update_time = getdate() + </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" - separator=" " open="case dept_id" close="end"> - when #{item.deptId} then #{item.ancestors} - </foreach> - where dept_id in - <foreach collection="depts" item="item" index="index" - separator="," open="(" close=")"> - #{item.deptId} - </foreach> + 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> + where dept_id in + <foreach collection="depts" item="item" index="index" + separator="," open="(" close=")"> + #{item.deptId} + </foreach> </update> - + <update id="updateDeptStatusNormal" parameterType="Long"> - update sys_dept set status = '0' where dept_id in - <foreach collection="array" item="deptId" open="(" separator="," close=")"> - #{deptId} - </foreach> + 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> -- Gitblit v1.9.3