From 73ff2a87258203049fc8d885709273eedfacd526 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 22 五月 2024 14:29:45 +0800
Subject: [PATCH] 题目按课目导出

---
 src/main/resources/mapper/ExamPaperMapper.xml |   70 +++++++++++++++++++++++++++--------
 1 files changed, 54 insertions(+), 16 deletions(-)

diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index de8bcd2..e69fd96 100644
--- a/src/main/resources/mapper/ExamPaperMapper.xml
+++ b/src/main/resources/mapper/ExamPaperMapper.xml
@@ -21,7 +21,7 @@
     <result column="user_ids" jdbcType="VARCHAR" property="userIds" />
   </resultMap>
   <sql id="Base_Column_List">
-    id, name, subject_id, paper_type, grade_level, score, question_count, suggest_time,
+    id, dept_id, name, subject_id, paper_type, grade_level, score, question_count, suggest_time,
     limit_start_time, limit_end_time, frame_text_content_id, create_user, create_time,
     deleted, task_exam_id, type, user_ids
   </sql>
@@ -55,6 +55,9 @@
     <trim prefix="(" suffix=")" suffixOverrides=",">
       <if test="id != null">
         id,
+      </if>
+      <if test="deptId != null">
+        dept_id,
       </if>
       <if test="name != null">
         name,
@@ -108,6 +111,9 @@
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
         #{id,jdbcType=INTEGER},
+      </if>
+      <if test="deptId != null">
+        #{deptId,jdbcType=INTEGER},
       </if>
       <if test="name != null">
         #{name,jdbcType=VARCHAR},
@@ -165,6 +171,9 @@
       <if test="name != null">
         name = #{name,jdbcType=VARCHAR},
       </if>
+      <if test="deptId != null">
+        dept_id = #{deptId,jdbcType=INTEGER},
+      </if>
       <if test="subjectId != null">
         subject_id = #{subjectId,jdbcType=INTEGER},
       </if>
@@ -214,6 +223,7 @@
     update t_exam_paper
     set name = #{name,jdbcType=VARCHAR},
       subject_id = #{subjectId,jdbcType=INTEGER},
+      dept_id = #{deptId,jdbcType=INTEGER},
       paper_type = #{paperType,jdbcType=INTEGER},
       grade_level = #{gradeLevel,jdbcType=INTEGER},
       score = #{score,jdbcType=INTEGER},
@@ -248,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
@@ -368,6 +377,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">
@@ -423,19 +438,42 @@
     where a.exam_paper_id = #{id}
   </select>
 
-    <select id="saveMissExamUser" resultType="com.mindskip.xzs.domain.ExamMiss">
-      INSERT INTO t_exam_miss(exam_id, user_id)
-      SELECT a.id,
-             b.user_id
-      FROM t_exam_paper a
-             left join t_exam_paper_user b on a.id = b.exam_paper_id
-             left join t_exam_paper_answer c on a.id = c.exam_paper_id and c.create_user = b.user_id
-      WHERE a.id = #{examPaperId}
-        and c.id is null
+    <select id="list" resultType="com.mindskip.xzs.domain.ExamPaper">
+    select id, name from t_exam_paper
+    <if test="deptIds != null and deptIds.size() > 0">
+    where paper_type != 7
+    and dept_id in
+    <foreach collection="deptIds" item="item" open="(" separator="," close=")">
+        #{item}
+    </foreach>
+    </if>
+    order by create_time desc
     </select>
 
-  <select id="selectTimeTaskPaper" resultType="com.mindskip.xzs.domain.ExamPaper">
-    select id, limit_end_time from t_exam_paper where paper_type = 4 and limit_end_time >= #{time} and deleted = 0
-  </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="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">
+              #{deptId}
+            </foreach>
+          </if>
+      group by a.id, a.real_name
+      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>
 
 </mapper>

--
Gitblit v1.8.0