|  | @@ -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">
 |