From d01fa2df1b46f45647e82be6d1476ea1e295f995 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期日, 27 十月 2024 21:31:53 +0800 Subject: [PATCH] 一个班级可以有多个老师 --- src/main/resources/mapper/ExamMapper.xml | 28 ++++++++++++++++------------ 1 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/resources/mapper/ExamMapper.xml b/src/main/resources/mapper/ExamMapper.xml index 9c67ad9..89a9bc4 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 @@ -72,6 +68,8 @@ <if test="query.classesId != null"> AND TE.classes_id = #{query.classesId} </if> + ORDER BY + TE.create_time DESC </select> @@ -83,25 +81,31 @@ TE.exam_paper_type, TE.exam_place, TE.status, - IF(TE.status != 'not_start', IF(TE.status == 'ing', 1, 2), 0) as orderc, + 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 + TEP.name, + TEST.status as submitStatus, + (SELECT IF(COUNT(*) > 0, true, false) FROM t_exam_submit_temp WHERE user_id = #{userId} AND status = 'temp') as isContinue FROM t_exam TE - INNER JOIN t_classes TC ON TC.id = TE.classes_id AND TC.deleted = 0 - INNER JOIN t_classes_user TCU ON TC.id = TCU.classes_id AND TC.deleted = 0 AND TCU.user_id = #{userId} + 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 + 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> - ORDER BY orderc DESC + <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