| | |
| | | left join t_user_department c on a.id = c.user_id |
| | | where |
| | | user_name != 'admin' and a.status != 2 and a.deleted = 0 and (a.`condition` = 0 or a.`condition` is null) |
| | | <if test="tagId != null and tagId != ''"> |
| | | and b.tag_id = #{tagId} |
| | | </if> |
| | | <if test="deptIds != null and deptIds.size > 0"> |
| | | and c.department_id in |
| | | <foreach collection="deptIds" open="(" separator="," close=")" item="deptId"> |
| | |
| | | </foreach> |
| | | </if> |
| | | group by a.id, a.real_name |
| | | <if test="(tagIds != null and tagIds.size > 0) or (excludeTagIds != null and excludeTagIds.size > 0)"> |
| | | having |
| | | </if> |
| | | <if test="tagIds != null and tagIds.size > 0"> |
| | | <foreach collection="tagIds" open="(" separator="or" close=")" item="item"> |
| | | find_in_set(#{item}, group_concat(b.tag_id)) |
| | | </foreach> |
| | | </if> |
| | | <if test="excludeTagIds != null and excludeTagIds.size > 0"> |
| | | <if test="tagIds != null and tagIds.size > 0">and</if> |
| | | <foreach collection="excludeTagIds" open="(" separator="and" close=")" item="item"> |
| | | not find_in_set(#{item}, group_concat(b.tag_id)) |
| | | </foreach> |
| | | </if> |
| | | order by a.id |
| | | </select> |
| | | |