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/MeetMapper.xml | 80 +++++++++++++++++++++++++++++++++++++--- 1 files changed, 74 insertions(+), 6 deletions(-) diff --git a/src/main/resources/mapper/MeetMapper.xml b/src/main/resources/mapper/MeetMapper.xml index ef9c874..6b9185f 100644 --- a/src/main/resources/mapper/MeetMapper.xml +++ b/src/main/resources/mapper/MeetMapper.xml @@ -6,19 +6,32 @@ <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.entity.Meet"> <result column="meet_name" property="meetName" /> <result column="meet_cover" property="meetCover" /> - <result column="student_ids" property="studentIds" /> + <result column="classes_id" property="classesId" /> <result column="create_user" property="createUser" /> <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> <result column="status" property="status" /> </resultMap> + <resultMap id="PageMap" type="com.ycl.jxkg.domain.vo.MeetVO"> + <id column="id" property="id"/> + <result column="meet_name" property="meetName" /> + <result column="meet_cover" property="meetCover" /> + <result column="start_time" property="startTime" /> + <result column="end_time" property="endTime" /> + <result column="status" property="status" /> + <collection property="classesIds" ofType="int" column="id" select="getClassesIds"></collection> + </resultMap> + + <select id="getClassesIds" resultType="int"> + SELECT tmc.classes_id FROM t_meet_classes tmc WHERE tmc.meet_id = #{id} + </select> <select id="getById" resultMap="BaseResultMap"> SELECT TM.meet_name, TM.meet_cover, - TM.student_ids, + TM.classes_id, TM.create_user, TM.start_time, TM.end_time, @@ -31,11 +44,10 @@ </select> - <select id="getPage" resultMap="BaseResultMap"> + <select id="teacherPage" resultMap="PageMap"> SELECT TM.meet_name, TM.meet_cover, - TM.student_ids, TM.create_user, TM.start_time, TM.end_time, @@ -43,12 +55,68 @@ TM.id FROM t_meet TM + <if test="query.classesIds !=null and query.classesIds.size > 0"> + INNER JOIN t_meet_classes TMC ON TM.id = TMC.meet_id + </if> <where> TM.deleted = 0 - <if test="studentId!=null"> - and + <if test="query.classesIds !=null and query.classesIds.size > 0"> + and TMC.classes_id in + <foreach collection="query.classesIds" item="classesId" open="(" close=")" separator=","> + #{classesId} + </foreach> + </if> + <if test="query.status!=null"> + and TM.status = #{query.status} + </if> + <if test="query.meetName !=null and query.meetName!='' "> + and TM.meet_name like concat ('%',#{query.meetName},'%') </if> </where> + order by TM.end_time desc + </select> + + <select id="studentPage" resultMap="PageMap"> + SELECT + TM.meet_name, + TM.meet_cover, + TM.create_user, + TM.start_time, + TM.end_time, + TM.status, + TM.id + FROM + t_meet TM + <if test="query.classesIds !=null and query.classesIds.size > 0"> + INNER JOIN t_meet_classes TMC ON TM.id = TMC.meet_id + </if> + <where> + TM.deleted = 0 + <if test="query.classesIds !=null and query.classesIds.size > 0"> + and TMC.classes_id in + <foreach collection="query.classesIds" item="classesId" open="(" close=")" separator=","> + #{classesId} + </foreach> + </if> + <if test="query.status!=null"> + and TM.status = #{query.status} + </if> + <if test="query.meetName !=null and query.meetName!='' "> + and TM.meet_name like concat ('%',#{query.meetName},'%') + </if> + </where> + order by TM.end_time desc + </select> + + <select id="getStudentList" resultType="com.ycl.jxkg.domain.vo.StudentSimpleVO"> + SELECT + s.real_name, s.id + FROM + t_meet m + INNER JOIN t_classes c ON m.classes_id = c.id AND m.id = #{meetId} AND c.deleted = 0 AND m.deleted = 0 + INNER JOIN t_classes_user cu ON cu.classes_id = c.id AND cu.deleted = 0 + INNER JOIN t_user s ON s.id = cu.user_id AND s.deleted = 0 + <if test="keyword != null and keyword != ''">AND s.real_name like concat('%', #{keyword}, '%')</if> </select> </mapper> -- Gitblit v1.8.0