From 9a3284f88a52411db022edc686390c0dd8a1823e Mon Sep 17 00:00:00 2001 From: 17808 <1780814303@qq.com> Date: 星期三, 01 十一月 2023 15:13:58 +0800 Subject: [PATCH] 成绩统计后端 --- src/main/resources/mapper/ExamPaperMapper.xml | 56 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 46 insertions(+), 10 deletions(-) diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml index 2ab6a9c..c116640 100644 --- a/src/main/resources/mapper/ExamPaperMapper.xml +++ b/src/main/resources/mapper/ExamPaperMapper.xml @@ -17,11 +17,12 @@ <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="deleted" jdbcType="BIT" property="deleted" /> <result column="task_exam_id" jdbcType="INTEGER" property="taskExamId" /> + <result column="type" jdbcType="VARCHAR" property="type" /> </resultMap> <sql id="Base_Column_List"> 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 + deleted, task_exam_id, type </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select @@ -38,13 +39,14 @@ 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 + create_time, deleted, task_exam_id, type ) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{subjectId,jdbcType=INTEGER}, #{paperType,jdbcType=INTEGER}, #{gradeLevel,jdbcType=INTEGER}, #{score,jdbcType=INTEGER}, #{questionCount,jdbcType=INTEGER}, #{suggestTime,jdbcType=INTEGER}, #{limitStartTime,jdbcType=TIMESTAMP}, #{limitEndTime,jdbcType=TIMESTAMP}, #{frameTextContentId,jdbcType=INTEGER}, #{createUser,jdbcType=INTEGER}, - #{createTime,jdbcType=TIMESTAMP}, #{deleted,jdbcType=BIT}, #{taskExamId,jdbcType=INTEGER} + #{createTime,jdbcType=TIMESTAMP}, #{deleted,jdbcType=BIT}, #{taskExamId,jdbcType=INTEGER}, + #{type,jdbcType=VARCHAR} ) </insert> <insert id="insertSelective" parameterType="com.mindskip.xzs.domain.ExamPaper" useGeneratedKeys="true" keyProperty="id"> @@ -95,6 +97,9 @@ <if test="taskExamId != null"> task_exam_id, </if> + <if test="type != null"> + type, + </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null"> @@ -141,6 +146,9 @@ </if> <if test="taskExamId != null"> #{taskExamId,jdbcType=INTEGER}, + </if> + <if test="type != null"> + #{type,jdbcType=VARCHAR}, </if> </trim> </insert> @@ -246,6 +254,9 @@ <if test="paperType != null "> and e.paper_type= #{paperType} </if> + <if test="type != null "> + and e.type= #{type} + </if> </where> group by e.id </select> @@ -260,10 +271,8 @@ FROM t_exam_paper e LEFT JOIN t_exam_paper_department s on s.exam_paper_id = e.id <where> - and e.deleted=0 and s.deleted = 0 + and e.deleted=0 and e.task_exam_id is null - and s.department_id = - #{level} and e.paper_type=#{paperType} </where> group by e.id @@ -288,6 +297,9 @@ <if test="paperType == 4"> and e.paper_type = #{paperType} </if> + <if test="type != null and type != ''"> + and e.type = #{type} + </if> </where> group by e.id @@ -300,7 +312,7 @@ 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.deleted=0 and d.deleted = 0 and e.type = 0 and e.paper_type in <foreach item="examPaperType" collection="examPaperType" open="(" separator="," close=")"> @@ -311,6 +323,11 @@ </if> <if test="examPaperType == 3 "> </if> + <foreach item="examPaperType" collection="examPaperType"> + <if test="examPaperType == 4 "> + and #{dateTime} between e.limit_start_time and e.limit_end_time + </if> + </foreach> <if test="examPaperType == 4 "> and #{dateTime} between e.limit_start_time and e.limit_end_time </if> @@ -321,9 +338,21 @@ 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 + <where> + e.deleted=0 and u.deleted = 0 and e.type = 0 + and u.user_id = #{userId} + and e.paper_type in + <foreach item="examPaperType" collection="examPaperType" open="(" separator="," + close=")"> + #{examPaperType} + </foreach> + <foreach item="examPaperType" collection="examPaperType"> + <if test="examPaperType == 4 "> + and #{dateTime} between e.limit_start_time and e.limit_end_time + </if> + </foreach> + </where> + ORDER BY e.id desc ) t </select> @@ -377,4 +406,11 @@ and deleted = 0 </select> + <select id="getPaperExcelById" 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 + left join t_user u on u.id = a.create_user + where a.exam_paper_id = #{id} + </select> + </mapper> -- Gitblit v1.8.0