From 7524560c663902ca679db9cc7adc6cd4fae040f7 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 16 七月 2024 17:11:40 +0800
Subject: [PATCH] 通知完善

---
 src/main/resources/mapper/ExamPaperMapper.xml |   93 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 87 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index 3ce8086..e558a7c 100644
--- a/src/main/resources/mapper/ExamPaperMapper.xml
+++ b/src/main/resources/mapper/ExamPaperMapper.xml
@@ -258,15 +258,14 @@
     SELECT
     e.*
     FROM t_exam_paper e
-    left join t_exam_paper_department d on e.id = d.exam_paper_id
     left join t_exam_paper_subject s on e.id = s.exam_paper_id
     <where>
         and e.deleted=0
       <if test="id != null ">
         and e.id= #{id}
       </if>
-      <if test="level != null ">
-        and d.department_id= #{level} and d.deleted = 0
+      <if test="deptIds != null and deptIds.size() > 0">
+        and e.dept_id in <foreach collection="deptIds" item="item" open="(" separator="," close=")"> #{item} </foreach>
       </if>
       <if test="subjectId != null ">
         and s.subject_id= #{subjectId} and s.deleted = 0
@@ -276,6 +275,9 @@
       </if>
       <if test="type != null ">
         and e.type= #{type}
+      </if>
+      <if test="name != null and name != ''">
+        AND INSTR(name, #{name})
       </if>
     </where>
     group by e.id
@@ -328,7 +330,7 @@
 
   <select id="indexPaper" resultMap="PaperInfoResultMap" parameterType="com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter">
       select * from(
-      SELECT e.id,e.name,e.limit_start_time,e.limit_end_time
+      SELECT e.id,e.name,e.limit_start_time,e.limit_end_time,e.create_time
       FROM t_exam_paper e
       LEFT JOIN t_exam_paper_department d on d.exam_paper_id = e.id
       <where>
@@ -355,7 +357,7 @@
       ORDER BY e.id desc ) t
       union all
       select * from (
-      SELECT e.id,e.name,e.limit_start_time,e.limit_end_time
+      SELECT e.id,e.name,e.limit_start_time,e.limit_end_time,e.create_time
       FROM t_exam_paper e
       LEFT JOIN t_exam_paper_user u on u.exam_paper_id = e.id
       <where>
@@ -378,6 +380,12 @@
 
   <select id="selectAllCount"  resultType="java.lang.Integer">
 		SELECT count(*) from t_exam_paper where deleted=0
+		<if test="deptIds != null and deptIds.size() > 0">
+          and dept_id in
+          <foreach collection="deptIds" item="item" open="(" close=")" separator=",">
+            #{item}
+          </foreach>
+        </if>
 	</select>
 
   <select id="selectCountByDate"  resultType="com.mindskip.xzs.domain.other.KeyValue">
@@ -433,8 +441,81 @@
     where a.exam_paper_id = #{id}
   </select>
 
+  <select id="getRandomPaperExcelById" resultType="com.mindskip.xzs.domain.vo.PaperExcelVO" parameterType="java.lang.Integer">
+    select u.real_name as name,a.create_user as userId,a.user_score as userScore,a.paper_score as paperScore
+    from t_exam_paper_answer a
+           inner join t_user u on u.id = a.create_user
+           inner join t_exam_templates_user_count uc ON a.exam_paper_id = uc.exam_paper_id AND uc.exam_templates_id = #{id}
+    where a.invalid = 0
+  </select>
+
+
     <select id="list" resultType="com.mindskip.xzs.domain.ExamPaper">
-    select id, name from t_exam_paper order by create_time desc
+    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}
+    </foreach>
+    </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
+        a.id, a.real_name
+      FROM
+        t_user a
+          left join t_user_tag b on a.id = b.user_id
+          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="deptIds != null and deptIds.size > 0">
+            and c.department_id in
+            <foreach collection="deptIds" open="(" separator="," close=")" item="deptId">
+              #{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)) OR group_concat(b.tag_id) IS NULL)
+          </foreach>
+        </if>
+      order by a.id
+    </select>
+
+    <select id="getExamPaperByTemplateId" resultType="java.lang.Integer" parameterType="com.mindskip.xzs.domain.vo.ExamTemplatesVO">
+      select exam_paper_id from t_exam_templates_user_count where exam_templates_id = #{id}
+    </select>
+
+  <select id="getExamPaper" resultType="com.mindskip.xzs.domain.ExamPaper">
+    select id, name, paper_type, create_time from t_exam_paper where paper_type != 7 order by create_time desc
+  </select>
+
+  <select id="getTemplate" resultType="com.mindskip.xzs.domain.ExamPaper">
+    select id, name, paper_type, ctime as create_time from t_exam_templates order by ctime desc
+  </select>
+
 </mapper>

--
Gitblit v1.8.0