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 | 73 ++++++++++++++++++++++++++++++++---- 1 files changed, 64 insertions(+), 9 deletions(-) diff --git a/src/main/resources/mapper/MeetMapper.xml b/src/main/resources/mapper/MeetMapper.xml index 44fbee2..6b9185f 100644 --- a/src/main/resources/mapper/MeetMapper.xml +++ b/src/main/resources/mapper/MeetMapper.xml @@ -13,6 +13,19 @@ <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 @@ -31,29 +44,27 @@ </select> - <select id="getPage" resultType="com.ycl.jxkg.domain.vo.MeetVO"> + <select id="teacherPage" resultMap="PageMap"> SELECT TM.meet_name, TM.meet_cover, - TM.classes_id, TM.create_user, - TU.user_name as teacherName, TM.start_time, TM.end_time, TM.status, TM.id FROM - t_meet TM left join t_user TU on TM.create_user = TU.id + 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 classes_id in + <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.teacherId!=null"> - and TM.create_user = #{query.teacherId} </if> <if test="query.status!=null"> and TM.status = #{query.status} @@ -62,6 +73,50 @@ 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