From 1b9936ba920d65df09ab8dba79c6252568ee26e4 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 26 三月 2025 12:16:02 +0800 Subject: [PATCH] 任务统计bug --- system/src/main/resources/mapper/system/SysDeptMapper.xml | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 50 insertions(+), 7 deletions(-) diff --git a/system/src/main/resources/mapper/system/SysDeptMapper.xml b/system/src/main/resources/mapper/system/SysDeptMapper.xml index cff192d..3aa7471 100644 --- a/system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -2,9 +2,9 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.hnct.system.mapper.SysDeptMapper"> +<mapper namespace="com.ycl.system.mapper.SysDeptMapper"> - <resultMap type="com.hnct.system.domain.SysDept" id="SysDeptResult"> + <resultMap type="SysDept" id="SysDeptResult"> <id property="deptId" column="dept_id" /> <result property="parentId" column="parent_id" /> <result property="ancestors" column="ancestors" /> @@ -27,7 +27,7 @@ from sys_dept d </sql> - <select id="selectDeptList" parameterType="com.hnct.system.domain.SysDept" resultMap="SysDeptResult"> + <select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult"> <include refid="selectDeptVo"/> where d.del_flag = '0' <if test="deptId != null and deptId != 0"> @@ -47,6 +47,18 @@ order by d.parent_id, d.order_num </select> + <select id="selectDeptListNoAuth" parameterType="SysDept" resultMap="SysDeptResult"> + <include refid="selectDeptVo"/> + where d.del_flag = '0' + <if test="parentId != null"> + AND FIND_IN_SET(#{parentId}, ancestors) > 0 + </if> + <if test="deptName != null and deptName != ''"> + AND dept_name like concat('%', #{deptName}, '%') + </if> + order by d.parent_id, d.order_num + </select> + <select id="selectDeptListByRoleId" resultType="Long"> select d.dept_id from sys_dept d @@ -63,6 +75,13 @@ (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="selectDeptByIds" 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 + from sys_dept d + where d.dept_id in <foreach collection="deptIds" open="(" separator="," close=")" item="deptId">#{deptId}</foreach> </select> <select id="checkDeptExistUser" parameterType="Long" resultType="int"> @@ -86,8 +105,32 @@ <include refid="selectDeptVo"/> where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 </select> + <select id="selectAncestors" resultType="java.lang.String"> + select SD.ancestors + from sys_user SU + INNER JOIN sys_dept SD ON SU.dept_id = SD.dept_id + where SU.user_id = #{userId} + </select> - <insert id="insertDept" parameterType="com.hnct.system.domain.SysDept"> + <select id="selectByName" parameterType="string" resultType="long"> + SELECT dept_id FROM sys_dept WHERE dept_name = #{name} and del_flag = '0' limit 1 + </select> + + <select id="getChildIds" parameterType="long" resultType="long"> + WITH RECURSIVE temp_table AS ( + SELECT + dept_id FROM sys_dept WHERE dept_id = #{deptId} AND del_flag = '0' + UNION ALL + SELECT + so.dept_id FROM sys_dept so INNER JOIN temp_table tb ON so.parent_id = tb.dept_id AND so.del_flag = '0' + ) + SELECT + dept_id + FROM + temp_table + </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> @@ -115,12 +158,12 @@ ) </insert> - <update id="updateDept" parameterType="com.hnct.system.domain.SysDept"> + <update id="updateDept" parameterType="SysDept"> update sys_dept <set> - <if test="parentId != null and parentId != 0">parent_id = #{parentId},</if> + <if test="parentId != null">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="ancestors != null">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> -- Gitblit v1.8.0