From a39e023677a9c5c68ba3b6577f0d7da24b9dc65e Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Wed, 30 Oct 2024 11:14:08 +0800
Subject: [PATCH] update
---
exam-system/src/main/resources/mapper/system/ExCoursePhaseMapper.xml | 31 +++++++++++++++++++++++++++----
1 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/exam-system/src/main/resources/mapper/system/ExCoursePhaseMapper.xml b/exam-system/src/main/resources/mapper/system/ExCoursePhaseMapper.xml
index e843609..3dea21f 100644
--- a/exam-system/src/main/resources/mapper/system/ExCoursePhaseMapper.xml
+++ b/exam-system/src/main/resources/mapper/system/ExCoursePhaseMapper.xml
@@ -15,11 +15,16 @@
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
- <result property="coursePeriod" column="course_period" />
+ <result property="courseName" column="course_name" />
+ <result property="companyName" column="company_name" />
+ <result property="studentCount" column="student_count" />
+ <result property="finishCount" column="finish_count" />
+ <association property="coursePeriod" javaType="java.lang.Long" select="getCoursePeriod" column="{courseId=course_id}"/>
+ <association property="finishCount" javaType="java.lang.Integer" select="getFinishStudentCount" column="{courseId=course_id,phaseId=id}"/>
</resultMap>
<sql id="selectCoursePhaseVo">
- select a.id, a.name, a.code, a.company_id, a.course_id,a.level,a.del_flag,a.version, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,b.period as course_period
+ select a.id, a.name, a.code, a.company_id, a.course_id,a.level,a.del_flag,a.version, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,b.name as course_name
from ex_course_phase a
left join ex_course b on b.id=a.course_id
</sql>
@@ -29,7 +34,12 @@
</update>
<select id="selectCoursePhaseList" resultMap="ExCoursePhaseResult">
- <include refid="selectCoursePhaseVo"/>
+ select a.id, a.name, a.code, a.company_id, a.course_id,a.level,a.del_flag,a.version, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,
+ b.name as course_name,c.name as company_name,
+ (select count(1) from ex_phase_student where phase_id=a.id) as student_count
+ from ex_course_phase a
+ left join ex_course b on b.id=a.course_id
+ left join sys_company c on c.id=a.company_id
<where>
and a.del_flag=0
<if test="name != null and name != ''">
@@ -43,6 +53,9 @@
</if>
<if test="courseId != null and courseId != ''">
AND a.course_id =#{courseId}
+ </if>
+ <if test="level != null">
+ AND a.level =#{level}
</if>
</where>
order by a.create_time desc
@@ -58,7 +71,17 @@
</select>
<select id="selectCountByCourseId" resultType="java.lang.Integer">
- select count(1) from ex_course_phase where del_flag=0 and courde_id=#{courseId}
+ select count(1) from ex_course_phase where del_flag=0 and course_id=#{courseId}
</select>
+ <select id="getCoursePeriod" resultType="java.lang.Long">
+ select sum(b.resource_length) from ex_course_chapter_period a
+ inner join ex_resource b on a.resource_id=b.id
+ where a.course_id=#{courseId}
+ </select>
+
+ <select id="getFinishStudentCount" resultType="java.lang.Integer">
+ select count(1) from (select student_id,count(1) as study_count from ex_student_study where phase_id=#{phaseId} group by student_id) as a
+ where a.study_count=(select count(1) as period_count from ex_course_chapter_period where course_id=#{courseId})
+ </select>
</mapper>
--
Gitblit v1.9.2