|
|
@@ -0,0 +1,87 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
+<mapper namespace="vip.xiaonuo.disk.mapper.StatisticsLearningProgressMapper">
|
|
|
+
|
|
|
+ <select id="studyDetail" resultType="java.util.Map">
|
|
|
+ SELECT
|
|
|
+ ci.COURSE_ID AS courseId,
|
|
|
+ ci.COURSE_NAME AS courseName,
|
|
|
+ IFNULL(t1.openStuNum,0) AS openStuNum,
|
|
|
+ IFNULL(t2.viewCount,0) AS viewCount,
|
|
|
+ IFNULL(t3.stayTime,0) AS stayTime,
|
|
|
+ IFNULL(t4.teachMaterialsNum,0) AS teachMaterialsNum
|
|
|
+ FROM COURSE_INFO ci
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ cop.COURSE_ID AS courseId,
|
|
|
+ count(DISTINCT stu.ID) AS openStuNum
|
|
|
+ FROM COURSE_OPEN cop
|
|
|
+ LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cop.COURSE_ID AND ci.DELETE_FLAG='NOT_DELETE'
|
|
|
+ LEFT JOIN SYS_USER stu ON stu.GRADES_ID =cop.GRADES_ID AND stu.DELETE_FLAG='NOT_DELETE'
|
|
|
+ WHERE cop.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ GROUP BY cop.COURSE_ID
|
|
|
+ )t1 ON ci.COURSE_ID =t1.courseId
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ ci.COURSE_ID AS courseId,
|
|
|
+ sum(ci.VIEW_COUNT) AS viewCount
|
|
|
+ FROM COURSE_INFO ci
|
|
|
+ WHERE ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ GROUP BY ci.COURSE_ID
|
|
|
+ )t2 ON ci.COURSE_ID =t2.courseId
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ cc.COURSE_ID AS courseId,
|
|
|
+ sum(csb.STAY_TIME) AS stayTime
|
|
|
+ FROM COURSE_STUDENT_BURIALPOINT csb
|
|
|
+ LEFT JOIN COURSE_CLASSHOUR cch ON cch.ID=csb.HOUR_ID AND cch.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ LEFT JOIN COURSE_CHAPTER cc ON cc.ID=cch.CHAPTER_ID AND cc.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ WHERE csb.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ AND csb.FUNC_TYPE='1'
|
|
|
+ AND csb.TYPE='1'
|
|
|
+ GROUP BY cc.COURSE_ID
|
|
|
+ )t3 ON ci.COURSE_ID =t3.courseId
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ cc.COURSE_ID AS courseId,
|
|
|
+ count(csb.ID)AS teachMaterialsNum
|
|
|
+ FROM COURSE_STUDENT_BURIALPOINT csb
|
|
|
+ LEFT JOIN COURSE_CLASSHOUR cch ON cch.ID=csb.HOUR_ID AND cch.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ LEFT JOIN COURSE_CHAPTER cc ON cc.ID=cch.CHAPTER_ID AND cc.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ WHERE csb.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ AND csb.FUNC_TYPE='2'
|
|
|
+ AND csb.TYPE='1'
|
|
|
+ GROUP BY cc.COURSE_ID
|
|
|
+ )t4 ON ci.COURSE_ID =t4.courseId
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getCourseOpenStuNum" resultType="java.lang.String">
|
|
|
+ SELECT
|
|
|
+ count(DISTINCT stu.ID) AS num
|
|
|
+ FROM COURSE_OPEN cop
|
|
|
+ LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cop.COURSE_ID AND ci.DELETE_FLAG='NOT_DELETE'
|
|
|
+ LEFT JOIN SYS_USER stu ON stu.GRADES_ID =cop.GRADES_ID AND stu.DELETE_FLAG='NOT_DELETE'
|
|
|
+ WHERE cop.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ </select>
|
|
|
+ <select id="getCourseViewNum" resultType="java.lang.String">
|
|
|
+ SELECT
|
|
|
+ sum(ci.VIEW_COUNT) AS num
|
|
|
+ FROM COURSE_INFO ci
|
|
|
+ WHERE ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ </select>
|
|
|
+ <select id="getViewTendencyNum" resultType="java.lang.String">
|
|
|
+ SELECT
|
|
|
+ DISTINCT csb.USER_ID
|
|
|
+ FROM COURSE_STUDENT_BURIALPOINT csb
|
|
|
+ LEFT JOIN COURSE_CLASSHOUR cch ON cch.ID=csb.HOUR_ID AND cch.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ LEFT JOIN COURSE_CHAPTER cc ON cc.ID=cch.CHAPTER_ID AND cc.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ WHERE csb.DELETE_FLAG ='NOT_DELETE'
|
|
|
+ AND csb.FUNC_TYPE='1'
|
|
|
+ AND csb.TYPE='1'
|
|
|
+ AND TO_CHAR(csb.CREATE_TIME, 'YYYY-MM') =#{month}
|
|
|
+ <if test="courseId!=null and courseId != ''">
|
|
|
+ and cc.COURSE_ID=#{courseId}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+</mapper>
|