From 247cb86585a1d1894596ed18a6c93efecb992946 Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期四, 14 十一月 2024 10:34:27 +0800 Subject: [PATCH] 班级成绩图表分析 --- src/main/resources/mapper/ExamMapper.xml | 51 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 42 insertions(+), 9 deletions(-) diff --git a/src/main/resources/mapper/ExamMapper.xml b/src/main/resources/mapper/ExamMapper.xml index 62d1c81..61a44bf 100644 --- a/src/main/resources/mapper/ExamMapper.xml +++ b/src/main/resources/mapper/ExamMapper.xml @@ -16,13 +16,9 @@ <result column="teacher_id" property="teacherId" /> <result column="class_name" property="className" /> <result column="name" property="examPaperName" /> + <result column="isContinue" property="isContinue" /> + <result column="submitStatus" property="submitStatus" /> </resultMap> - - - - - - <select id="getById" resultMap="BaseResultMap"> SELECT @@ -61,9 +57,9 @@ TEP.name FROM t_exam TE - INNER JOIN t_user TU ON TU.id = TE.teacher_id AND TU.deleted = 0 - INNER JOIN t_classes TC ON TC.id = TE.classes_id AND TC.deleted = 0 - INNER JOIN t_exam_paper TEP ON TEP.id = TE.exam_paper_id AND TEP.deleted = 0 + INNER JOIN t_user TU ON TU.id = TE.teacher_id AND TU.deleted = 0 AND TU.id = #{userId} + LEFT JOIN t_classes TC ON TC.id = TE.classes_id AND TC.deleted = 0 + LEFT JOIN t_exam_paper TEP ON TEP.id = TE.exam_paper_id AND TEP.deleted = 0 WHERE TE.deleted = 0 <if test="query.examName != null and query.examName != ''"> @@ -72,6 +68,43 @@ <if test="query.classesId != null"> AND TE.classes_id = #{query.classesId} </if> + ORDER BY + TE.create_time DESC + </select> + + + <select id="studentPage" resultMap="BaseResultMap"> + SELECT DISTINCT + TE.exam_name, + TE.exam_paper_id, + TE.classes_id, + TE.exam_paper_type, + TE.exam_place, + TE.status, + IF(TE.status != 'not_start', IF(TE.status = 'ing', 2, 1), 0) as orderc, + TE.start_time, + TE.end_time, + TE.create_time, + TE.teacher_id, + TE.id, + TC.class_name, + TEP.name, + TEST.status as submitStatus + FROM + t_exam TE + INNER JOIN t_classes TC ON TC.id = TE.classes_id AND TC.deleted = 0 AND TC.status = 'normal' + INNER JOIN t_classes_user TCU ON TC.id = TCU.classes_id And TCU.deleted = 0 AND TC.deleted = 0 AND TCU.user_id = #{userId} + INNER JOIN t_exam_paper TEP ON TEP.id = TE.exam_paper_id AND TEP.deleted = 0 + LEFT JOIN t_exam_submit_temp TEST ON TEST.exam_id = TE.id + WHERE + TE.deleted = 0 and (TEST.deleted =0 or TEST.deleted is null) + <if test="query.examName != null and query.examName != ''"> + AND TE.exam_name like concat('%', #{query.examName}, '%') + </if> + <if test="query.status != null and query.status != ''"> + AND TE.status = #{query.status} + </if> + ORDER BY FIELD(TE.status, 'ing', 'not_start', 'finished'), orderc, TE.create_time DESC </select> </mapper> -- Gitblit v1.8.0