|
|
@@ -126,38 +126,49 @@
|
|
|
order by suji.create_time desc
|
|
|
</select>
|
|
|
<select id="queryBJYwy" resultMap="BaseResultMap">
|
|
|
- select
|
|
|
+
|
|
|
+ WITH RECURSIVE leader_tree AS (
|
|
|
+ SELECT id, leader_id, 1 AS depth,system_code
|
|
|
+ FROM sys_user_jzg_info
|
|
|
+ WHERE leader_id = #{leaderId}
|
|
|
+ AND is_delete = 0
|
|
|
+ UNION ALL
|
|
|
+ SELECT t.id, t.leader_id, lt.depth + 1,t.system_code
|
|
|
+ FROM sys_user_jzg_info t
|
|
|
+ INNER JOIN leader_tree lt ON t.leader_id = lt.id
|
|
|
+ WHERE t.is_delete = 0
|
|
|
+ AND lt.depth <![CDATA[ < ]]> 10
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
suji.id,
|
|
|
suji.user_id,
|
|
|
suji.work_number,
|
|
|
su.username,
|
|
|
- su.mobile ,
|
|
|
+ su.mobile,
|
|
|
suji.name,
|
|
|
suji.dept_id,
|
|
|
sd.name AS dept_name,
|
|
|
suji.status,
|
|
|
suji.is_enable,
|
|
|
lsu.name AS leader_name,
|
|
|
- ( select aa.mobile from sys_user aa
|
|
|
- where aa.id = lsu.user_id AND aa.is_delete = 0 ) AS leader_id,
|
|
|
- (select re.name from sys_user_jzg_info re where re.id = suji.referrer_id) referrer_name,
|
|
|
+ (SELECT aa.mobile FROM sys_user aa
|
|
|
+ WHERE aa.id = lsu.user_id AND aa.is_delete = 0) AS leader_id,
|
|
|
+ (SELECT re.name FROM sys_user_jzg_info re WHERE re.id = suji.referrer_id) AS referrer_name,
|
|
|
suji.referrer_id,
|
|
|
suji.create_time AS createTime,
|
|
|
suji.create_by AS createBy
|
|
|
- from
|
|
|
+ FROM
|
|
|
sys_user_jzg_info suji
|
|
|
- left join sys_user su on su.id = suji.user_id AND su.is_delete = 0
|
|
|
- LEFT JOIN sys_user_jzg_info lsu on lsu.id = suji.leader_id AND lsu.is_delete = 0
|
|
|
- left join sys_dept sd on sd.id = suji.dept_id AND sd.is_delete = 0
|
|
|
+ INNER JOIN leader_tree lt ON suji.id = lt.id
|
|
|
+ LEFT JOIN sys_user su ON su.id = suji.user_id AND su.is_delete = 0
|
|
|
+ LEFT JOIN sys_user_jzg_info lsu ON lsu.id = suji.leader_id AND lsu.is_delete = 0
|
|
|
+ LEFT JOIN sys_dept sd ON sd.id = suji.dept_id AND sd.is_delete = 0
|
|
|
LEFT JOIN sys_dept d ON suji.dept_id = d.id AND d.is_delete = 0
|
|
|
<where>
|
|
|
suji.is_delete = 0
|
|
|
and suji.id in (
|
|
|
select sujis.sys_user_jzg_info_id from sys_user_jzg_info_salesman sujis where sujis.type_attr != 2 AND sujis.type_attr != 3
|
|
|
)
|
|
|
- <if test="leaderId != null and leaderId != ''">
|
|
|
- and suji.leader_id = #{leaderId}
|
|
|
- </if>
|
|
|
<if test="sysUserInfoListVo.deptId != null and sysUserInfoListVo.deptId != ''">
|
|
|
and d.route LIKE CONCAT('%', #{sysUserInfoListVo.deptId}, '%')
|
|
|
</if>
|