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