From 05c569f74a1c94b84145abe34f2b2385d68fdec6 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期四, 23 五月 2024 01:21:54 +0800 Subject: [PATCH] 实现人员管理 --- cnas-server/src/main/resources/mapper/DepartmentMapper.xml | 42 ++++++++++++------------------------------ 1 files changed, 12 insertions(+), 30 deletions(-) diff --git a/cnas-server/src/main/resources/mapper/DepartmentMapper.xml b/cnas-server/src/main/resources/mapper/DepartmentMapper.xml index 465bbc1..ad9d0f4 100644 --- a/cnas-server/src/main/resources/mapper/DepartmentMapper.xml +++ b/cnas-server/src/main/resources/mapper/DepartmentMapper.xml @@ -1,39 +1,21 @@ <?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.yuanchu.mom.mapper.DepartmentMapper"> - <select id="selectDepartment" resultType="com.yuanchu.mom.pojo.Department"> - WITH RECURSIVE DepartmentHierarchy AS ( - SELECT id, name, father_id - FROM department - WHERE father_id IS NULL - - UNION ALL - - SELECT d.id, d.name, d.father_id - FROM department d - JOIN DepartmentHierarchy dh ON d.father_id = dh.id - ) + <select id="selectDepartment" resultType="com.yuanchu.mom.dto.DepartmentDto"> SELECT id, name, father_id - FROM DepartmentHierarchy; + FROM department </select> - <select id="showUserById" resultType="com.yuanchu.mom.dto.UserDto"> - select * from (select id, name, age, email, phone,depart_id - from user where FIND_IN_SET( SUBSTRING_INDEX(depart_id, ',', -1) ,#{ids}) > 0 ) a - <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> - ${ew.customSqlSegment} - </if> - </select> + <select id="selectSonById" resultType="java.lang.Integer"> - WITH RECURSIVE DepartmentHierarchy AS ( - SELECT id, name, father_id - FROM department - WHERE id = #{id} - UNION ALL - SELECT d.id, d.name, d.father_id - FROM department d - JOIN DepartmentHierarchy dh ON d.father_id = dh.id - ) + SELECT au.id + FROM (SELECT * FROM department WHERE father_id IS NOT NULL) au, + (SELECT @father_id := #{id}) pd + WHERE FIND_IN_SET(father_id, @father_id) > 0 + AND @father_id := concat(@father_id, ',', id) + UNION SELECT id - FROM DepartmentHierarchy; + FROM department + WHERE id = #{id} + ORDER BY id </select> </mapper> -- Gitblit v1.9.3