|
@@ -8,8 +8,9 @@
|
|
|
ci.COURSE_NAME AS courseName,
|
|
ci.COURSE_NAME AS courseName,
|
|
|
IFNULL(t1.openStuNum,0) AS openStuNum,
|
|
IFNULL(t1.openStuNum,0) AS openStuNum,
|
|
|
IFNULL(t2.viewCount,0) AS viewCount,
|
|
IFNULL(t2.viewCount,0) AS viewCount,
|
|
|
- IFNULL(t3.stayTime,0) AS stayTime,
|
|
|
|
|
- IFNULL(t4.teachMaterialsNum,0) AS teachMaterialsNum
|
|
|
|
|
|
|
+ IFNULL(t3.stayTime,'0h00m00s') AS stayTime,
|
|
|
|
|
+ IFNULL(t4.teachMaterialsNum,0) AS teachMaterialsNum,
|
|
|
|
|
+ IFNULL(t5.paperSubmitNum,0) AS paperSubmitNum
|
|
|
FROM COURSE_INFO ci
|
|
FROM COURSE_INFO ci
|
|
|
LEFT JOIN (
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
SELECT
|
|
@@ -41,16 +42,48 @@
|
|
|
</if>
|
|
</if>
|
|
|
GROUP BY ci.COURSE_ID
|
|
GROUP BY ci.COURSE_ID
|
|
|
)t2 ON ci.COURSE_ID =t2.courseId
|
|
)t2 ON ci.COURSE_ID =t2.courseId
|
|
|
|
|
+ LEFT JOIN (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ z1.courseId AS courseId,
|
|
|
|
|
+ CASE
|
|
|
|
|
+ WHEN FLOOR(z1.stayTime / 3600000) = 0 THEN '0'
|
|
|
|
|
+ ELSE REGEXP_REPLACE(LPAD(FLOOR(z1.stayTime / 3600000), 5, '0'), '^0+', '')
|
|
|
|
|
+ END || 'h' ||
|
|
|
|
|
+ IFNULL(LPAD(FLOOR((z1.stayTime % 3600000) / 60000), 2, '0'),'00') || 'm' ||
|
|
|
|
|
+ IFNULL(LPAD(FLOOR((z1.stayTime % 60000) / 1000), 2, '0'),'00') || 's' AS stayTime
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ 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'
|
|
|
|
|
+ LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
|
|
+ WHERE csb.DELETE_FLAG ='NOT_DELETE'
|
|
|
|
|
+ AND csb.FUNC_TYPE='1'
|
|
|
|
|
+ AND csb.TYPE='1'
|
|
|
|
|
+ <if test="param.courseId!=null and param.courseId != ''">
|
|
|
|
|
+ and ci.COURSE_ID=#{param.courseId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="param.startTime!=null and param.startTime != ''">
|
|
|
|
|
+ and csb.CREATE_TIME >=#{param.startTime}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="param.endTime!=null and param.endTime != ''">
|
|
|
|
|
+ and csb.CREATE_TIME <=#{param.endTime}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ GROUP BY cc.COURSE_ID
|
|
|
|
|
+ )z1
|
|
|
|
|
+ )t3 ON ci.COURSE_ID =t3.courseId
|
|
|
LEFT JOIN (
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
SELECT
|
|
|
cc.COURSE_ID AS courseId,
|
|
cc.COURSE_ID AS courseId,
|
|
|
- sum(csb.STAY_TIME) AS stayTime
|
|
|
|
|
|
|
+ count(csb.ID)AS teachMaterialsNum
|
|
|
FROM COURSE_STUDENT_BURIALPOINT csb
|
|
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_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'
|
|
LEFT JOIN COURSE_CHAPTER cc ON cc.ID=cch.CHAPTER_ID AND cc.DELETE_FLAG ='NOT_DELETE'
|
|
|
LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
|
|
LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
WHERE csb.DELETE_FLAG ='NOT_DELETE'
|
|
WHERE csb.DELETE_FLAG ='NOT_DELETE'
|
|
|
- AND csb.FUNC_TYPE='1'
|
|
|
|
|
|
|
+ AND csb.FUNC_TYPE='2'
|
|
|
AND csb.TYPE='1'
|
|
AND csb.TYPE='1'
|
|
|
<if test="param.courseId!=null and param.courseId != ''">
|
|
<if test="param.courseId!=null and param.courseId != ''">
|
|
|
and ci.COURSE_ID=#{param.courseId}
|
|
and ci.COURSE_ID=#{param.courseId}
|
|
@@ -62,29 +95,33 @@
|
|
|
and csb.CREATE_TIME <=#{param.endTime}
|
|
and csb.CREATE_TIME <=#{param.endTime}
|
|
|
</if>
|
|
</if>
|
|
|
GROUP BY cc.COURSE_ID
|
|
GROUP BY cc.COURSE_ID
|
|
|
- )t3 ON ci.COURSE_ID =t3.courseId
|
|
|
|
|
- LEFT JOIN (
|
|
|
|
|
|
|
+ )t4 ON ci.COURSE_ID =t4.courseId
|
|
|
|
|
+ LEFT JOIN (
|
|
|
SELECT
|
|
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'
|
|
|
|
|
|
|
+ -- tepa.id AS tepaId,
|
|
|
|
|
+ -- tep.id AS tepId,
|
|
|
|
|
+ -- cch.ID AS hourId,
|
|
|
|
|
+ -- ci.COURSE_ID AS courseId
|
|
|
|
|
+ ci.COURSE_ID AS courseId,
|
|
|
|
|
+ count(tepa.id) AS paperSubmitNum
|
|
|
|
|
+ FROM "t_exam_paper_answer" tepa
|
|
|
|
|
+ LEFT JOIN "t_exam_paper" tep ON tepa.exam_paper_id=tep.id AND tep.deleted='0'
|
|
|
|
|
+ LEFT JOIN COURSE_RELATE cr ON cr.RELATE_ID=CAST(tep.id AS VARCHAR) AND cr.DELETE_FLAG ='NOT_DELETE' AND cr.CHAPTERHOUR_TYPE='1' AND cr.INFO_TYPE='0' AND (cr.FUNC_TYPE='4' OR cr.FUNC_TYPE='5')
|
|
|
|
|
+ LEFT JOIN COURSE_CLASSHOUR cch ON cr.MAIN_ID=cch.ID AND cch.DELETE_FLAG ='NOT_DELETE'
|
|
|
|
|
+ LEFT JOIN COURSE_CHAPTER cc ON cch.CHAPTER_ID=cc.ID AND cc.DELETE_FLAG ='NOT_DELETE'
|
|
|
LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
|
|
LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
- WHERE csb.DELETE_FLAG ='NOT_DELETE'
|
|
|
|
|
- AND csb.FUNC_TYPE='2'
|
|
|
|
|
- AND csb.TYPE='1'
|
|
|
|
|
|
|
+ WHERE (tep.id IS NOT NULL AND cch.ID IS NOT NULL AND ci.COURSE_ID IS NOT NULL)
|
|
|
<if test="param.courseId!=null and param.courseId != ''">
|
|
<if test="param.courseId!=null and param.courseId != ''">
|
|
|
and ci.COURSE_ID=#{param.courseId}
|
|
and ci.COURSE_ID=#{param.courseId}
|
|
|
</if>
|
|
</if>
|
|
|
<if test="param.startTime!=null and param.startTime != ''">
|
|
<if test="param.startTime!=null and param.startTime != ''">
|
|
|
- and csb.CREATE_TIME >=#{param.startTime}
|
|
|
|
|
|
|
+ and tepa.create_time >=#{param.startTime}
|
|
|
</if>
|
|
</if>
|
|
|
<if test="param.endTime!=null and param.endTime != ''">
|
|
<if test="param.endTime!=null and param.endTime != ''">
|
|
|
- and csb.CREATE_TIME <=#{param.endTime}
|
|
|
|
|
|
|
+ and tepa.create_time <=#{param.endTime}
|
|
|
</if>
|
|
</if>
|
|
|
- GROUP BY cc.COURSE_ID
|
|
|
|
|
- )t4 ON ci.COURSE_ID =t4.courseId
|
|
|
|
|
|
|
+ GROUP BY ci.COURSE_ID
|
|
|
|
|
+ )t5 ON ci.COURSE_ID =t5.courseId
|
|
|
WHERE ci.DELETE_FLAG ='NOT_DELETE'
|
|
WHERE ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
<if test="param.courseId!=null and param.courseId != ''">
|
|
<if test="param.courseId!=null and param.courseId != ''">
|
|
|
and ci.COURSE_ID=#{param.courseId}
|
|
and ci.COURSE_ID=#{param.courseId}
|
|
@@ -173,5 +210,42 @@
|
|
|
and ci.COURSE_ID=#{courseId}
|
|
and ci.COURSE_ID=#{courseId}
|
|
|
</if>
|
|
</if>
|
|
|
</select>
|
|
</select>
|
|
|
|
|
+ <select id="getInteractionNum" resultType="java.lang.String">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ -- t1.userId AS userId,
|
|
|
|
|
+ -- t1.chapterId AS chapterId,
|
|
|
|
|
+ -- t1.courseId AS courseId,
|
|
|
|
|
+ -- t2.replyId AS replyId
|
|
|
|
|
+ IFNULL(count(t2.replyId),0) postCount
|
|
|
|
|
+ from(
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ stu.ID AS userId,
|
|
|
|
|
+ cc.ID AS chapterId,
|
|
|
|
|
+ ci.COURSE_ID AS courseId
|
|
|
|
|
+ FROM COURSE_INFO ci
|
|
|
|
|
+ LEFT JOIN COURSE_OPEN cop ON ci.COURSE_ID =cop.COURSE_ID AND cop.DELETE_FLAG='NOT_DELETE'
|
|
|
|
|
+ LEFT JOIN SYS_USER stu ON stu.GRADES_ID =cop.GRADES_ID AND stu.DELETE_FLAG='NOT_DELETE'
|
|
|
|
|
+ LEFT JOIN COURSE_CHAPTER cc ON ci.COURSE_ID =cc.COURSE_ID AND cc.DELETE_FLAG ='NOT_DELETE'
|
|
|
|
|
+ WHERE ci.DELETE_FLAG ='NOT_DELETE'
|
|
|
|
|
+ AND cc.ID IS NOT NULL
|
|
|
|
|
+ AND ci.COURSE_ID IS NOT NULL
|
|
|
|
|
+ AND stu.ID IS NOT NULL
|
|
|
|
|
+ <if test="courseId!=null and courseId != ''">
|
|
|
|
|
+ and ci.COURSE_ID=#{courseId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ GROUP BY stu.ID,cc.ID,ci.COURSE_ID
|
|
|
|
|
+ )t1
|
|
|
|
|
+ JOIN (
|
|
|
|
|
+ select
|
|
|
|
|
+ reply.REPLY_ID AS replyId,
|
|
|
|
|
+ reply.USER_ID AS userId,
|
|
|
|
|
+ chapter.DISCUSSION_ID AS discussionId,
|
|
|
|
|
+ chapter.CHAPTER_ID AS chapterId
|
|
|
|
|
+ from FORUM_POST_REPLY as reply
|
|
|
|
|
+ left join FORUM_CHAPTER_DISCUSSION as chapter on reply.POST_ID = chapter.POST_ID
|
|
|
|
|
+ where 1=1
|
|
|
|
|
+ )t2 ON t1.chapterId=t2.chapterId AND t1.userId=t2.userId
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ </select>
|
|
|
|
|
|
|
|
</mapper>
|
|
</mapper>
|