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 |   62 ++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/src/main/resources/mapper/MeetMapper.xml b/src/main/resources/mapper/MeetMapper.xml
index 6cd5068..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,39 @@
                 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">

--
Gitblit v1.8.0