|
@@ -1183,11 +1183,11 @@
|
|
|
</resultMap>
|
|
|
<select id="cloudTeacherSum" resultMap="CloudTeacherSumDto">
|
|
|
select o.id_ organ_id_,o.name_ organ_name_,COUNT(distinct s.user_id_) normal_num_,COUNT(distinct smcr.user_id_) train_student_num_,
|
|
|
- COUNT(distinct CASE WHEN smcr.train_time_ < 60 THEN smcr.user_id_ END) 'train1',
|
|
|
- COUNT(distinct CASE WHEN smcr.train_time_ >= 60 AND smcr.train_time_ < 120 THEN smcr.user_id_ END) 'train2',
|
|
|
- COUNT(distinct CASE WHEN smcr.train_time_ >= 120 AND smcr.train_time_ < 240 THEN smcr.user_id_ END) 'train3',
|
|
|
- COUNT(distinct CASE WHEN smcr.train_time_ >= 240 THEN smcr.user_id_ END) 'train4',
|
|
|
- SUM(smcr.train_time_) train_total_time_,COUNT(distinct CASE WHEN smcr.train_time_ > 60 THEN smcr.user_id_ END) 'train0'
|
|
|
+ COUNT(distinct CASE WHEN smcr.train_time_ < 60 OR smcr.train_time_ IS NULL THEN s.user_id_ END) 'train1',
|
|
|
+ COUNT(distinct CASE WHEN smcr.train_time_ >= 60 AND smcr.train_time_ < 120 THEN s.user_id_ END) 'train2',
|
|
|
+ COUNT(distinct CASE WHEN smcr.train_time_ >= 120 AND smcr.train_time_ < 240 THEN s.user_id_ END) 'train3',
|
|
|
+ COUNT(distinct CASE WHEN smcr.train_time_ >= 240 THEN s.user_id_ END) 'train4',
|
|
|
+ SUM(smcr.train_time_) train_total_time_,COUNT(distinct CASE WHEN smcr.train_time_ > 60 THEN s.user_id_ END) 'train0'
|
|
|
from (select distinct sr.user_id_ from music_group mg
|
|
|
left join student_registration sr ON mg.id_ = sr.music_group_id_
|
|
|
where mg.status_ IN ('PROGRESS','PAUSE') AND sr.music_group_status_ = 'NORMAL') mg
|
|
@@ -1215,11 +1215,11 @@
|
|
|
</select>
|
|
|
<select id="queryCloudTeacherSumDetail" resultMap="CloudTeacherSumDto">
|
|
|
select su.real_name_ teacher_name_,COUNT(distinct s.user_id_) normal_num_,COUNT(distinct smcr.user_id_) train_student_num_,
|
|
|
- COUNT(distinct CASE WHEN smcr.train_time_ < 60 THEN smcr.user_id_ END) 'train1',
|
|
|
- COUNT(distinct CASE WHEN smcr.train_time_ >= 60 AND smcr.train_time_ < 120 THEN smcr.user_id_ END) 'train2',
|
|
|
- COUNT(distinct CASE WHEN smcr.train_time_ >= 120 AND smcr.train_time_ < 240 THEN smcr.user_id_ END) 'train3',
|
|
|
- COUNT(distinct CASE WHEN smcr.train_time_ >= 240 THEN smcr.user_id_ END) 'train4',
|
|
|
- SUM(smcr.train_time_) train_total_time_,COUNT(distinct CASE WHEN smcr.train_time_ > 60 THEN smcr.user_id_ END) 'train0'
|
|
|
+ COUNT(distinct CASE WHEN smcr.train_time_ < 60 OR smcr.train_time_ IS NULL THEN s.user_id_ END) 'train1',
|
|
|
+ COUNT(distinct CASE WHEN smcr.train_time_ >= 60 AND smcr.train_time_ < 120 THEN s.user_id_ END) 'train2',
|
|
|
+ COUNT(distinct CASE WHEN smcr.train_time_ >= 120 AND smcr.train_time_ < 240 THEN s.user_id_ END) 'train3',
|
|
|
+ COUNT(distinct CASE WHEN smcr.train_time_ >= 240 THEN s.user_id_ END) 'train4',
|
|
|
+ SUM(smcr.train_time_) train_total_time_,COUNT(distinct CASE WHEN smcr.train_time_ > 60 THEN s.user_id_ END) 'train0'
|
|
|
from student_teacher_mapper stm
|
|
|
left join (select distinct sr.user_id_ from music_group mg
|
|
|
left join student_registration sr ON mg.id_ = sr.music_group_id_
|
|
@@ -1229,7 +1229,7 @@
|
|
|
select smcr.user_id_,ROUND(SUM(smcr.train_time_)/60/#{weekBetween}) train_time_ from sys_music_compare_day_data smcr
|
|
|
where day_ BETWEEN #{startDate} AND #{endDate} group by smcr.user_id_) smcr ON s.user_id_ = smcr.user_id_
|
|
|
left JOIN teacher t ON t.id_ = stm.teacher_id_
|
|
|
- left JOIN sys_user su ON su.id_ = mg.user_id_
|
|
|
+ left JOIN sys_user su ON su.id_ = stm.teacher_id_
|
|
|
where s.membership_end_time_ >= NOW() AND stm.teacher_type_ = 'NORMAL' AND t.organ_id_ = #{organId}
|
|
|
group by stm.teacher_id_
|
|
|
<include refid="global.limit"/>
|