From c447386e06ce5927fb6e3ccb22ee673535b3f566 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 08 七月 2024 18:21:26 +0800
Subject: [PATCH] 标签增加部门字段、分页调整(未做权限)

---
 src/main/resources/mapper/ExamPaperMapper.xml |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index 8266878..90f6c53 100644
--- a/src/main/resources/mapper/ExamPaperMapper.xml
+++ b/src/main/resources/mapper/ExamPaperMapper.xml
@@ -439,9 +439,9 @@
   </select>
 
     <select id="list" resultType="com.mindskip.xzs.domain.ExamPaper">
-    select id, name from t_exam_paper
-    <if test="deptIds != null and deptIds.size() > 0">
+    select id, name, paper_type, create_time from t_exam_paper
     where paper_type != 7
+    <if test="deptIds != null and deptIds.size() > 0">
     and dept_id in
     <foreach collection="deptIds" item="item" open="(" separator="," close=")">
         #{item}
@@ -449,6 +449,17 @@
     </if>
     order by create_time desc
     </select>
+
+  <select id="template" resultType="com.mindskip.xzs.domain.ExamPaper">
+    select id, name, paper_type, ctime as create_time from t_exam_templates
+    <if test="deptIds != null and deptIds.size() > 0">
+    where dept_id in
+    <foreach collection="deptIds" item="item" open="(" separator="," close=")">
+      #{item}
+    </foreach>
+    </if>
+    order by ctime desc
+  </select>
 
     <select id="selectStudent" resultType="com.mindskip.xzs.domain.vo.UserVO" parameterType="com.mindskip.xzs.domain.vo.UserVO">
       SELECT
@@ -459,9 +470,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 +477,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