From 19871e8ac9606710b1009f5f86366fb445a7ace8 Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期三, 09 七月 2025 16:06:20 +0800 Subject: [PATCH] 优化改造sql --- multi-system/src/main/resources/mapper/system/SysDeptMapper.xml | 39 ++++++++++++++++++--------------------- 1 files changed, 18 insertions(+), 21 deletions(-) diff --git a/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml index a3c6567..f39e55c 100644 --- a/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -34,12 +34,6 @@ <result property="clauseId" column="clause_id" /> <result property="id" column="data_id" /> </collection> - <collection ofType="com.gkhy.exam.system.domain.vo.SysDeptManageVo" property="sysDeptManageVoList"> - <result property="subDeptId" column="sub_dept_id" /> - <result property="subDeptName" column="sub_dept_name" /> - <result property="deptId" column="p_dept_id" /> - - </collection> </resultMap> <sql id="selectDeptVo"> @@ -52,14 +46,11 @@ <select id="selectDeptList" parameterType="com.gkhy.exam.common.domain.entity.SysDept" resultMap="DeptVoResult"> select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader_user_id, d.company_id, d.status, d.del_flag, d.create_by, d.create_time,d.person_num,d.internal_auditors, - d.order_num,d.responsibilities,d.dept_type,d.respons_type,u.name as leader_name,d2.dept_name as parent_name, dr.content ,dr.clause_num,dr.id as data_id,dr.clause_id, - sm.sub_dept_id ,sm2.dept_name sub_dept_name,sm.dept_id as p_dept_id + d.order_num,d.responsibilities,d.dept_type,d.respons_type,u.name as leader_name,d2.dept_name as parent_name, dr.content ,dr.clause_num,dr.id as data_id,dr.clause_id from sys_dept d left join sys_user u on d.leader_user_id = u.id left join sys_dept d2 on d.parent_id = d2.dept_id left join sys_dept_responsibility dr on d.dept_id = dr.dept_id and dr.del_flag = '0' and data_type = 2 - left join sys_dept_manage sm on d.dept_id = sm.dept_id - left join sys_dept sm2 on sm2.dept_id = sm.sub_dept_id where d.del_flag = '0' <if test="companyId != null and companyId != 0"> AND d.company_id = #{companyId} @@ -91,12 +82,12 @@ <result property="clauseId" column="clause_id" /> <result property="id" column="id" /> </collection> - <collection ofType="com.gkhy.exam.system.domain.vo.SysDeptManageVo" property="sysDeptManageVoList" column="deptId = dept_id" select="getSysDeptManageVo"> - <result property="subDeptId" column="sub_dept_id" /> - <result property="subDeptName" column="sub_dept_name" /> - <result property="deptId" column="dept_id" /> +<!-- <collection ofType="com.gkhy.exam.system.domain.vo.SysDeptManageVo" property="sysDeptManageVoList" column="deptId = dept_id" select="getSysDeptManageVo">--> +<!-- <result property="subDeptId" column="sub_dept_id" />--> +<!-- <result property="subDeptName" column="sub_dept_name" />--> +<!-- <result property="deptId" column="dept_id" />--> - </collection> +<!-- </collection>--> </resultMap> <select id="selectDeptPageList" parameterType="com.gkhy.exam.system.domain.req.SysDeptPageReq" resultMap="DeptVoPageResult"> @@ -135,11 +126,11 @@ </select> - <select id="getSysDeptManageVo" resultType="com.gkhy.exam.system.domain.vo.SysDeptManageVo"> - select sm.sub_dept_id ,sm2.dept_name as sub_dept_name,sm.dept_id from sys_dept_manage sm - left join sys_dept sm2 on sm2.dept_id = sm.sub_dept_id - where sm.dept_id = #{deptId} - </select> +<!-- <select id="getSysDeptManageVo" resultType="com.gkhy.exam.system.domain.vo.SysDeptManageVo">--> +<!-- select sm.sub_dept_id ,sm2.dept_name as sub_dept_name,sm.dept_id from sys_dept_manage sm--> +<!-- left join sys_dept sm2 on sm2.dept_id = sm.sub_dept_id--> +<!-- where sm.dept_id = #{deptId}--> +<!-- </select>--> <select id="selectDeptListCount" parameterType="com.gkhy.exam.common.domain.entity.SysDept" resultType="int"> @@ -225,7 +216,13 @@ <select id="selectChildrenDeptById" parameterType="Long" resultMap="SysDeptResult"> select * from sys_dept where find_in_set(#{deptId}, ancestors) </select> - + + <select id="getParentInfo" parameterType="Long" resultMap="SysDeptResult"> + SELECT * FROM sys_dept + WHERE dept_id != #{deptId} + AND FIND_IN_SET(#{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> -- Gitblit v1.9.2