|
|
@@ -1941,45 +1941,47 @@
|
|
|
</if>
|
|
|
</select>
|
|
|
<select id="selectByParams" resultType="com.ydtech.modules.admin.model.SysUser">
|
|
|
- select * from sys_user su
|
|
|
- left join sys_dept sd on sd.id =su.dept_id
|
|
|
- <where>
|
|
|
- su.leader_id is not null
|
|
|
- AND su.id not LIKE '%M%'
|
|
|
- AND su.status ='1'
|
|
|
- <if test="leaderId !=null and leaderId !=''">
|
|
|
- and su.leader_id =#{leaderId}
|
|
|
- </if>
|
|
|
- and (
|
|
|
- WITH RECURSIVE user_subtree AS (
|
|
|
- SELECT su1.id,
|
|
|
- su1.leader_id,
|
|
|
- 0 AS level,
|
|
|
- sd1.management_source
|
|
|
- FROM sys_user su1
|
|
|
- left join sys_dept sd1 on sd1.id = su1.dept_id
|
|
|
- where
|
|
|
- su1.id = su.id
|
|
|
- UNION ALL
|
|
|
- SELECT su1.id,
|
|
|
- su1.leader_id,
|
|
|
- ust.level + 1,
|
|
|
- sd1.management_source
|
|
|
- FROM sys_user su1
|
|
|
- INNER JOIN
|
|
|
- user_subtree ust ON su1.leader_id = ust.id
|
|
|
- LEFT JOIN sys_dept sd1 ON sd1.id = su1.dept_id
|
|
|
- )
|
|
|
- SELECT count(0)
|
|
|
- FROM user_subtree
|
|
|
- where
|
|
|
- <if test="managementSource != null and managementSource != ''">
|
|
|
- management_source = #{managementSource}
|
|
|
- </if>
|
|
|
- ORDER BY level,
|
|
|
- id
|
|
|
- ) >0
|
|
|
- </where>
|
|
|
+ SELECT
|
|
|
+ su.*,
|
|
|
+ sd.*
|
|
|
+ FROM
|
|
|
+ sys_user su
|
|
|
+ LEFT JOIN sys_dept sd ON sd.id = su.dept_id
|
|
|
+ WHERE
|
|
|
+ su.leader_id IS NOT NULL
|
|
|
+ AND su.id NOT LIKE '%M%'
|
|
|
+ AND su.STATUS = '1'
|
|
|
+ <if test = "leaderId !=null and leaderId !=''" >
|
|
|
+ AND su.leader_id = #{leaderId}
|
|
|
+ </if>
|
|
|
+ AND EXISTS (
|
|
|
+ SELECT
|
|
|
+ 1
|
|
|
+ FROM
|
|
|
+ sys_user su1
|
|
|
+ LEFT JOIN sys_user su2 ON su2.leader_id = su1.id
|
|
|
+ LEFT JOIN sys_user su3 ON su3.leader_id = su2.id
|
|
|
+ WHERE
|
|
|
+ su1.id = su.id
|
|
|
+ AND (
|
|
|
+ SELECT
|
|
|
+ count( 0 )
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ sd1.management_source
|
|
|
+ FROM
|
|
|
+ sys_user su4
|
|
|
+ LEFT JOIN sys_dept sd1 ON sd1.id = su4.dept_id
|
|
|
+ WHERE
|
|
|
+ su4.id IN ( su1.id, su2.id, su3.id )
|
|
|
+ ) AS subquery
|
|
|
+ WHERE
|
|
|
+ <if test = "managementSource != null and managementSource != ''" >
|
|
|
+ management_source = #{managementSource}
|
|
|
+ </if>
|
|
|
+ ORDER BY 1
|
|
|
+ ) > 0 )
|
|
|
</select>
|
|
|
|
|
|
|