|
@@ -505,18 +505,24 @@
|
|
|
<result property="courseScheduleStartTime" column="courseScheduleStartTime"/>
|
|
|
<result property="courseScheduleEndTime" column="courseScheduleEndTime"/>
|
|
|
<result property="signCourseScheduleTime" column="signCourseScheduleTime"/>
|
|
|
+ <result property="currentTime" column="currentTime"/>
|
|
|
<result property="teacherOrganName" column="teacherOrganName"/>
|
|
|
</resultMap>
|
|
|
- <select id="exportTeacherSalary" resultType="com.ym.mec.biz.dal.dto.ExportTeacherSalaryDto">
|
|
|
- SELECT cs.`id_` courseScheduleId ,mg.name_ groupName,ct.name_ changeType,u.real_name_ teacherName,o.name_ teacherOrganName,
|
|
|
+ <select id="exportMusicTeacherSalary" resultMap="ExportTeacherSalaryDtoMap">
|
|
|
+ SELECT cs.`id_` courseScheduleId,u.id_ teacherId,mgo.name_ courseOrganName,mg.name_ groupName,
|
|
|
+ ct.name_ changeType,u.real_name_ teacherName,o.name_ teacherOrganName,
|
|
|
+ CASE WHEN cs.teach_mode_ = 'OFFLINE' THEN '线下' WHEN cs.teach_mode_ = 'ONLINE' THEN '线上' END teach_mode_,
|
|
|
CASE WHEN t.job_nature_ = 'PART_TIME' THEN '兼职' WHEN t.job_nature_ = 'FULL_TIME' THEN '全职' ELSE '零时工' END jobType,
|
|
|
CASE WHEN cs.type_ = 'SINGLE' THEN '单技课' WHEN cs.type_ = 'MIX' THEN '合奏课' WHEN cs.type_ = 'HIGH' THEN '小班课' WHEN cs.type_ = 'VIP' THEN 'vip课'
|
|
|
WHEN cs.type_ = 'DEMO' THEN '试听课' WHEN cs.type_ = 'COMPREHENSIVE' THEN '综合课' WHEN cs.type_ = 'PRACTICE' THEN '练习课' WHEN cs.type_ = 'ENLIGHTENMENT' THEN '启蒙课'
|
|
|
WHEN cs.type_ = 'TRAINING_SINGLE' THEN '集训单技课' WHEN cs.type_ = 'TRAINING_MIX' THEN '集训合奏课' ELSE '课堂课' END courseScheduleType,
|
|
|
- cs.class_date_ classDate,cs.start_class_time_ courseScheduleStartTime,cs.end_class_time_ courseScheduleEndTime,ts.expect_salary_ price,s.name_ address,
|
|
|
+ cs.class_date_ classDate,cs.start_class_time_ courseScheduleStartTime,cs.end_class_time_ courseScheduleEndTime,
|
|
|
+ ROUND((UNIX_TIMESTAMP(cs.end_class_time_)-UNIX_TIMESTAMP(cs.start_class_time_))/60) signCourseScheduleTime,
|
|
|
+ ts.actual_salary_ price,s.name_ address,
|
|
|
CASE WHEN ts.teacher_role_ = 'TEACHING' THEN '助教' ELSE '主教' END teacherRole,
|
|
|
CASE WHEN ta.sign_in_status_ = 0 THEN '异常' WHEN ta.sign_in_status_ = 1 THEN '正常' END signInStatus,
|
|
|
CASE WHEN ta.sign_out_status_=0 THEN '异常' WHEN ta.sign_out_status_ = 1 THEN '正常' END signOutStatus,
|
|
|
+ ROUND((UNIX_TIMESTAMP(ta.sign_out_time_)-UNIX_TIMESTAMP(ta.sign_in_time_))/60) currentTime,
|
|
|
ta.sign_in_time_ signInTime,ta.sign_out_time_ signOutTime,COUNT(sp.id_) studentNum
|
|
|
FROM course_schedule_teacher_salary ts
|
|
|
LEFT JOIN course_schedule cs ON ts.course_schedule_id_ = cs.id_
|
|
@@ -528,8 +534,37 @@
|
|
|
LEFT JOIN school s ON s.id_ = cs.schoole_id_
|
|
|
LEFT JOIN course_schedule_student_payment sp ON sp.course_schedule_id_ = ts.course_schedule_id_
|
|
|
LEFT JOIN music_group mg ON (mg.id_ = ts.music_group_id_ AND ts.group_type_ = 'MUSIC')
|
|
|
+ LEFT JOIN organization mgo ON mgo.id_ = mg.organ_id_
|
|
|
LEFT JOIN charge_type ct ON ct.id_ = mg.charge_type_id_
|
|
|
- WHERE cs.class_date_ BETWEEN '2020-01-01' AND '2020-01-31' AND (cs.`del_flag_` != 1 OR cs.`del_flag_` IS NULL ) AND cs.group_type_ = 'MUSIC'
|
|
|
+ WHERE cs.class_date_ BETWEEN #{firstDayOfMonth} AND #{lastDayOfMonth} AND cs.`del_flag_` != 1 AND cs.group_type_ = 'MUSIC'
|
|
|
+ GROUP BY ts.course_schedule_id_,ts.`user_id_`
|
|
|
+ </select>
|
|
|
+ <select id="exportVipTeacherSalary" resultMap="ExportTeacherSalaryDtoMap">
|
|
|
+ SELECT cs.`id_` courseScheduleId,u.id_ teacherId,vgo.name_ courseOrganName,vg.name_ groupName,
|
|
|
+ u.real_name_ teacherName,o.name_ teacherOrganName,
|
|
|
+ CASE WHEN cs.teach_mode_ = 'OFFLINE' THEN '线下' WHEN cs.teach_mode_ = 'ONLINE' THEN '线上' END teach_mode_,
|
|
|
+ CASE WHEN t.job_nature_ = 'PART_TIME' THEN '兼职' WHEN t.job_nature_ = 'FULL_TIME' THEN '全职' ELSE '零时工' END jobType,
|
|
|
+ 'vip课' courseScheduleType,
|
|
|
+ cs.class_date_ classDate,cs.start_class_time_ courseScheduleStartTime,cs.end_class_time_ courseScheduleEndTime,
|
|
|
+ ROUND((UNIX_TIMESTAMP(cs.end_class_time_)-UNIX_TIMESTAMP(cs.start_class_time_))/60) signCourseScheduleTime,
|
|
|
+ ts.actual_salary_ price,s.name_ address,
|
|
|
+ CASE WHEN ts.teacher_role_ = 'TEACHING' THEN '助教' ELSE '主教' END teacherRole,
|
|
|
+ CASE WHEN ta.sign_in_status_ = 0 THEN '异常' WHEN ta.sign_in_status_ = 1 THEN '正常' END signInStatus,
|
|
|
+ CASE WHEN ta.sign_out_status_=0 THEN '异常' WHEN ta.sign_out_status_ = 1 THEN '正常' END signOutStatus,
|
|
|
+ ROUND((UNIX_TIMESTAMP(ta.sign_out_time_)-UNIX_TIMESTAMP(ta.sign_in_time_))/60) currentTime,
|
|
|
+ ta.sign_in_time_ signInTime,ta.sign_out_time_ signOutTime,COUNT(sp.id_) studentNum
|
|
|
+ FROM course_schedule_teacher_salary ts
|
|
|
+ LEFT JOIN course_schedule cs ON ts.course_schedule_id_ = cs.id_
|
|
|
+ LEFT JOIN `teacher_attendance` ta ON ta.`teacher_id_` = ts.`user_id_` AND ta.`course_schedule_id_` = ts.`course_schedule_id_`
|
|
|
+ LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
|
|
|
+ LEFT JOIN sys_user u ON ts.user_id_= u.id_
|
|
|
+ LEFT JOIN teacher t ON t.id_ = ts.user_id_
|
|
|
+ LEFT JOIN organization o ON o.id_ = t.organ_id_
|
|
|
+ LEFT JOIN school s ON s.id_ = cs.schoole_id_
|
|
|
+ LEFT JOIN course_schedule_student_payment sp ON sp.course_schedule_id_ = ts.course_schedule_id_
|
|
|
+ LEFT JOIN vip_group vg ON (vg.id_ = ts.music_group_id_ AND ts.group_type_ = 'VIP')
|
|
|
+ LEFT JOIN organization vgo ON vgo.id_ = vg.organ_id_
|
|
|
+ WHERE cs.class_date_ BETWEEN #{firstDayOfMonth} AND #{lastDayOfMonth} AND cs.`del_flag_` != 1 AND cs.group_type_ = 'VIP'
|
|
|
GROUP BY ts.course_schedule_id_,ts.`user_id_`
|
|
|
</select>
|
|
|
</mapper>
|