Joburgess %!s(int64=4) %!d(string=hai) anos
pai
achega
d9a8b4482b

+ 15 - 5
mec-biz/src/main/resources/config/mybatis/TeacherCourseStatisticsMapper.xml

@@ -62,13 +62,23 @@
 
     <!-- 查找下月排课小于基准课酬的老师-->
     <select id="findUserByWarringSalary" resultMap="TeacherCourseStatistics"><![CDATA[
-        SELECT SUM(csts.expect_salary_) expect_total_salary_, t.id_ user_id_,t.organ_id_,t.subject_id_ subject_id_list_,
-        ROUND(AVG(TIMESTAMPDIFF(MINUTE,start_class_time_,end_class_time_)),0) average_class_minutes_
+        SELECT ctt.expect_total_salary_, t.id_ user_id_,t.organ_id_,t.subject_id_ subject_id_list_,
+               ctt.average_class_minutes_
         FROM teacher t
          LEFT JOIN sys_user su ON t.id_=su.id_
-         LEFT JOIN course_schedule_teacher_salary csts ON csts.user_id_=t.id_ AND csts.group_type_ IN ( 'VIP', 'MUSIC', 'PRACTICE' )
-        LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_ AND cs.del_flag_ != 1
-                                            AND cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate}
+         LEFT JOIN (
+            SELECT
+                csts.user_id_,
+                SUM( csts.expect_salary_ ) expect_total_salary_,
+                ROUND( AVG( TIMESTAMPDIFF( MINUTE, start_class_time_, end_class_time_ )), 0 ) average_class_minutes_
+            FROM course_schedule_teacher_salary csts
+                     LEFT JOIN course_schedule cs ON cs.id_=csts.course_schedule_id_
+            WHERE cs.del_flag_ != 1
+              AND cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate}
+              AND csts.group_type_ IN ( 'VIP', 'MUSIC', 'PRACTICE' )
+            GROUP BY
+                csts.user_id_
+        ) ctt ON ctt.user_id_=t.id_
         WHERE su.del_flag_ != 1 AND su.lock_flag_!=1
           AND t.demission_date_ IS NULL
           AND t.organ_id_ IS NOT NULL