From 21ff1b4f2ef67975eef303bff66ef60388243cf1 Mon Sep 17 00:00:00 2001 From: qirong <2032486488@qq.com> Date: 星期三, 05 七月 2023 16:42:03 +0800 Subject: [PATCH] 随机试卷修改和统计 --- src/main/resources/mapper/ExamPaperMapper.xml | 113 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 81 insertions(+), 32 deletions(-) diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml index 4854fe2..e99791d 100644 --- a/src/main/resources/mapper/ExamPaperMapper.xml +++ b/src/main/resources/mapper/ExamPaperMapper.xml @@ -228,23 +228,26 @@ <select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM"> SELECT - <include refid="Base_Column_List"/> - FROM t_exam_paper + 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 deleted=0 + and e.deleted=0 and d.deleted = 0 <if test="id != null "> - and id= #{id} + and e.id= #{id} </if> <if test="level != null "> - and grade_level= #{level} + and d.department_id= #{level} </if> <if test="subjectId != null "> - and subject_id= #{subjectId} + and s.subject_id= #{subjectId} </if> <if test="paperType != null "> - and paper_type= #{paperType} + and e.paper_type= #{paperType} </if> </where> + group by e.id </select> @@ -253,47 +256,74 @@ <select id="taskExamPage" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM"> SELECT - <include refid="Base_Column_List"/> - FROM t_exam_paper + e.* + FROM t_exam_paper e + LEFT JOIN t_exam_paper_department s on s.exam_paper_id = e.id <where> - and deleted=0 - and task_exam_id is null - and grade_level= #{level} - and paper_type=#{paperType} + and e.deleted=0 and s.deleted = 0 + and e.task_exam_id is null + and s.department_id = + #{level} + and e.paper_type=#{paperType} </where> + group by e.id </select> <select id="studentPage" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageVM"> SELECT - <include refid="Base_Column_List"/> - FROM t_exam_paper + e.* + FROM t_exam_paper e + LEFT JOIN t_exam_paper_subject s on e.id = s.exam_paper_id <where> - and deleted=0 + and e.deleted=0 and s.deleted = 0 <if test="subjectId != null "> - and subject_id=#{subjectId} + and s.subject_id=#{subjectId} </if> <if test="levelId != null "> - and grade_level=#{levelId} + and e.grade_level=#{levelId} </if> - and paper_type=#{paperType} + <if test="paperType == 1"> + and e.paper_type in (1,7) + </if> + <if test="paperType == 4"> + and e.paper_type = #{paperType} + </if> + </where> + group by e.id </select> <select id="indexPaper" resultMap="PaperInfoResultMap" parameterType="com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter"> - SELECT id,name,limit_start_time,limit_end_time - FROM t_exam_paper - <where> - and deleted=0 - and paper_type= #{examPaperType} - and grade_level=#{gradeLevel} - <if test="examPaperType == 3 "> - </if> - <if test="examPaperType == 4 "> - and #{dateTime} between limit_start_time and limit_end_time - </if> - </where> - ORDER BY id desc limit 5 + select * from( + SELECT e.id,e.name,e.limit_start_time,e.limit_end_time + FROM t_exam_paper e + LEFT JOIN t_exam_paper_department d on d.exam_paper_id = e.id + <where> + and e.deleted=0 and d.deleted = 0 + and e.paper_type in + <foreach item="examPaperType" collection="examPaperType" open="(" separator="," + close=")"> + #{examPaperType} + </foreach> + <if test="gradeLevel != '' and gradeLevel != null"> + and d.department_id=#{gradeLevel} + </if> + <if test="examPaperType == 3 "> + </if> + <if test="examPaperType == 4 "> + and #{dateTime} between e.limit_start_time and e.limit_end_time + </if> + </where> + ORDER BY e.id desc ) t + union all + select * from ( + SELECT e.id,e.name,e.limit_start_time,e.limit_end_time + FROM t_exam_paper e + LEFT JOIN t_exam_paper_user u on u.exam_paper_id = e.id + where + e.deleted=0 and u.deleted = 0 + and u.user_id = #{userId} ORDER BY e.id desc ) t </select> @@ -328,4 +358,23 @@ </foreach> </update> + <delete id="removeByIds" parameterType="java.lang.Integer"> + delete from t_exam_paper + where id in + <foreach item="id" collection="ids" open="(" separator="," + close=")"> + #{id} + </foreach> + </delete> + + <select id="gets" resultMap="BaseResultMap"> + select * from t_exam_paper + where id in + <foreach item="id" collection="ids" open="(" separator="," + close=")"> + #{id} + </foreach> + and deleted = 0 + </select> + </mapper> -- Gitblit v1.8.0