From 1ded202362a307e467852dc681517e18498f0db4 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期五, 24 五月 2024 11:17:30 +0800 Subject: [PATCH] feat:试卷选择学员时新增标签多选、排除标签 --- src/main/resources/mapper/ExamPaperMapper.xml | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml index 8266878..7338f3a 100644 --- a/src/main/resources/mapper/ExamPaperMapper.xml +++ b/src/main/resources/mapper/ExamPaperMapper.xml @@ -459,9 +459,6 @@ 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"> @@ -469,6 +466,20 @@ </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> -- Gitblit v1.8.0