|
@@ -19,6 +19,7 @@
|
|
|
<result column="update_time_" property="updateTime" />
|
|
|
<result column="subsidy_" property="subsidy" />
|
|
|
<result column="actual_salary_" property="actualSalary" />
|
|
|
+ <result column="teacher_actual_salary_" property="teacherActualSalary" />
|
|
|
<result column="settlement_time_" property="settlementTime" />
|
|
|
<result column="class_group_id_" property="classGroupId" />
|
|
|
<result column="type_" property="courseSchedule.type" />
|
|
@@ -291,12 +292,14 @@
|
|
|
<select id="findTeacherCourseSalaryNoSettlement" resultMap="CourseScheduleTeacherSalary">
|
|
|
SELECT
|
|
|
cs.class_date_,
|
|
|
- csts.*
|
|
|
+ csts.*,csts.expect_salary_ * (CASE WHEN (ta.sign_in_status_ IS NULL OR ta.sign_in_status_ = 0) AND (ta.sign_out_status_ IS NULL OR ta.sign_out_status_ = 0) THEN 0
|
|
|
+ WHEN ta.sign_in_status_ IS NULL OR ta.sign_in_status_ = 0 THEN 0.5
|
|
|
+ WHEN ta.sign_out_status_ IS NULL OR ta.sign_out_status_ = 0 THEN 0.5 ELSE 1 END) teacher_actual_salary_
|
|
|
FROM
|
|
|
course_schedule_teacher_salary csts
|
|
|
LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
|
|
|
LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
|
|
|
- WHERE (ta.sign_in_status_ IS NOT NULL OR ta.sign_out_status_ IS NOT NULL)
|
|
|
+ WHERE ta.id_ IS NOT NULL
|
|
|
<if test="days!=null">
|
|
|
AND cs.class_date_ <= DATE_FORMAT(DATE_ADD( NOW( ), INTERVAL - #{days} DAY ),'%Y-%m-%d')
|
|
|
</if>
|
|
@@ -386,11 +389,17 @@
|
|
|
SELECT * FROM course_schedule_teacher_salary WHERE course_schedule_id_=#{courseScheduleId}
|
|
|
</select>
|
|
|
<select id="findByCourseSchedulesWithNoSettlement" resultMap="CourseScheduleTeacherSalary">
|
|
|
- SELECT * FROM course_schedule_teacher_salary WHERE course_schedule_id_ IN
|
|
|
+ SELECT csts.*,CASE WHEN cs.teach_mode_ = 'ONLINE' THEN csts.expect_salary_ * (CASE WHEN (ta.sign_in_status_ IS NULL OR ta.sign_in_status_ = 0) AND (ta.sign_out_status_ IS NULL OR ta.sign_out_status_ = 0) THEN 0
|
|
|
+ WHEN ta.sign_in_status_ IS NULL OR ta.sign_in_status_ = 0 THEN 0.5
|
|
|
+ WHEN ta.sign_out_status_ IS NULL OR ta.sign_out_status_ = 0 THEN 0.5 ELSE 1 END) ELSE csts.expect_salary_ END teacher_actual_salary_
|
|
|
+ FROM course_schedule_teacher_salary csts
|
|
|
+ LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = csts.course_schedule_id_
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
|
|
|
+ WHERE csts.course_schedule_id_ IN
|
|
|
<foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
|
|
|
#{courseScheduleId}
|
|
|
</foreach>
|
|
|
- AND settlement_time_ IS NULL
|
|
|
+ AND csts.settlement_time_ IS NULL
|
|
|
</select>
|
|
|
|
|
|
<select id="countTeacherOnlineOfflineSalaryByClass" resultType="map">
|