|
@@ -12,18 +12,24 @@
|
|
|
<result column="teacher_id_" property="teacherId" />
|
|
|
<result column="course_time_" property="courseTime" />
|
|
|
<result column="play_time_" property="playTime" />
|
|
|
+ <result column="total_play_time_" property="totalPlayTime" />
|
|
|
<result column="class_date_" property="classDate" />
|
|
|
<result column="tenant_id_" property="tenantId" />
|
|
|
</resultMap>
|
|
|
<insert id="batchSaveBySelect">
|
|
|
- insert into teacher_cloud_course_report (teacher_id_, organ_id_, course_time_, play_time_, class_date_, tenant_id_)
|
|
|
- select cs.actual_teacher_id_,cs.organ_id_,cs.courseTime,CASE WHEN SUM(mcr.play_time_) IS NULL THEN 0 ELSE SUM(mcr.play_time_)/60 END playTime,cs.class_date_,cs.tenant_id_ from (
|
|
|
+ insert into teacher_cloud_course_report (teacher_id_, organ_id_, course_time_, play_time_,total_play_time_, class_date_, tenant_id_)
|
|
|
+ select cs.actual_teacher_id_,cs.organ_id_,cs.courseTime,CASE WHEN SUM(mcr.play_time_) IS NULL THEN 0 ELSE SUM(mcr.play_time_)/60 END playTime,
|
|
|
+ CASE WHEN mcr1.totalPlayTime IS NULL THEN 0 ELSE mcr1.totalPlayTime END totalPlayTime,
|
|
|
+ cs.class_date_,cs.tenant_id_ from (
|
|
|
select cs.actual_teacher_id_,cs.organ_id_,SUM(TIMESTAMPDIFF(MINUTE,cs.startTime,cs.endTime)) courseTime,cs.class_date_,cs.tenant_id_,cs.startTime,cs.endTime
|
|
|
FROM (select cs.actual_teacher_id_,concat(cs.class_date_,' ',cs.start_class_time_) startTime,
|
|
|
concat(cs.class_date_,' ',cs.end_class_time_) endTime,cs.organ_id_,cs.class_date_,cs.tenant_id_,cs.id_ FROM course_schedule cs
|
|
|
where cs.class_date_ = #{classDate} AND cs.teach_mode_ = 'OFFLINE' AND cs.group_type_ = 'MUSIC') cs
|
|
|
group by cs.actual_teacher_id_,cs.class_date_) cs
|
|
|
left join sys_music_compare_record mcr ON mcr.client_id_ = 'teacher' AND mcr.create_time_ BETWEEN cs.startTime AND cs.endTime AND cs.actual_teacher_id_ = mcr.user_id_
|
|
|
+ left join (select user_id_,SUM(play_time_)/60 totalPlayTime from sys_music_compare_record where client_id_ = 'teacher'
|
|
|
+ AND DATE_FORMAT(create_time_,'%Y-%m-%d') = #{classDate}
|
|
|
+ group by user_id_) mcr1 ON cs.actual_teacher_id_ = mcr1.user_id_
|
|
|
group by cs.actual_teacher_id_
|
|
|
</insert>
|
|
|
<delete id="deleteByClassDate">
|