|
|
@@ -107,6 +107,62 @@
|
|
|
a.SEMESTER_ID = #{semesterId}
|
|
|
AND a.COURSE_ID = #{courseId}
|
|
|
</select>
|
|
|
+ <select id="historyProgressPage" resultType="java.util.Map">
|
|
|
+ SELECT
|
|
|
+ t1.COURSE_ID AS courseId,
|
|
|
+ t1.COURSE_NAME AS courseName,
|
|
|
+ IFNULL(t2.courseOpenCount,0) AS courseOpenCount,
|
|
|
+ IFNULL(t3.count,0) AS videoCount,
|
|
|
+ IFNULL(t4.count,0) AS teachMaterialsCount
|
|
|
+ FROM COURSE_INFO t1
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ ci.COURSE_ID AS courseId,
|
|
|
+ count(cop.ID) AS courseOpenCount
|
|
|
+ FROM COURSE_INFO ci
|
|
|
+ LEFT JOIN COURSE_OPEN cop ON ci.COURSE_ID =cop.COURSE_ID AND cop.DELETE_FLAG='NOT_DELETE'
|
|
|
+ WHERE ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ <if test="param.beginTime != null and param.beginTime != ''">
|
|
|
+ AND cop.CREATE_TIME >= #{param.beginTime}
|
|
|
+ </if>
|
|
|
+ <if test="param.endTime != null and param.endTime != ''">
|
|
|
+ AND cop.CREATE_TIME <= #{param.endTime}
|
|
|
+ </if>
|
|
|
+ GROUP BY ci.COURSE_ID
|
|
|
+ )t2 ON t1.COURSE_ID=t2.courseId
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ ci.COURSE_ID AS courseId,
|
|
|
+ count(cr.RELATE_ID) AS count
|
|
|
+ FROM COURSE_INFO ci
|
|
|
+ LEFT JOIN COURSE_CHAPTER cc ON ci.COURSE_ID =cc.COURSE_ID AND cc.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ LEFT JOIN COURSE_CLASSHOUR cch ON cc.ID=cch.CHAPTER_ID AND cch.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ LEFT JOIN COURSE_RELATE cr ON cr.MAIN_ID =cch.ID AND cr.FUNC_TYPE ='1' AND cr.INFO_TYPE ='0' AND cr.CHAPTERHOUR_TYPE ='1'
|
|
|
+ WHERE ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ AND cch.ID IS NOT NULL
|
|
|
+ AND cc.ID IS NOT NULL
|
|
|
+ AND ci.COURSE_ID IS NOT NULL
|
|
|
+ GROUP BY ci.COURSE_ID
|
|
|
+ )t3 ON t1.COURSE_ID=t3.courseId
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ ci.COURSE_ID AS courseId,
|
|
|
+ count(cr.RELATE_ID) AS count
|
|
|
+ FROM COURSE_INFO ci
|
|
|
+ LEFT JOIN COURSE_CHAPTER cc ON ci.COURSE_ID =cc.COURSE_ID AND cc.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ LEFT JOIN COURSE_CLASSHOUR cch ON cc.ID=cch.CHAPTER_ID AND cch.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ LEFT JOIN COURSE_RELATE cr ON cr.MAIN_ID =cch.ID AND cr.FUNC_TYPE ='2' AND cr.INFO_TYPE ='0' AND cr.CHAPTERHOUR_TYPE ='1'
|
|
|
+ WHERE ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ AND cch.ID IS NOT NULL
|
|
|
+ AND cc.ID IS NOT NULL
|
|
|
+ AND ci.COURSE_ID IS NOT NULL
|
|
|
+ GROUP BY ci.COURSE_ID
|
|
|
+ )t4 ON t1.COURSE_ID=t4.courseId
|
|
|
+ WHERE t1.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ <if test="param.courseName !=null and param.courseName != ''">
|
|
|
+ and ci.COURSE_NAME like CONCAT('%', #{param.courseName}, '%')
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
|
|
|
|
|
|
</mapper>
|