INSERT INTO teacher_attendance
(id_,group_type_,teacher_id_,music_group_id_,class_group_id_,course_schedule_id_,sign_in_time_,sign_in_status_,remark_,create_time_,sign_out_time_,sign_out_status_,current_class_times_,sign_in_longitude_latitude_,sign_out_longitude_latitude_)
VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherId},#{musicGroupId},#{classGroupId},#{courseScheduleId},#{signInTime},#{signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{remark},now(),#{signOutTime},#{signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{currentClassTimes},#{signInLongitudeLatitude},#{signOutLongitudeLatitude})
INSERT INTO teacher_attendance
(group_type_,teacher_id_,music_group_id_,class_group_id_,course_schedule_id_,sign_in_time_,sign_in_status_,remark_,create_time_,sign_out_time_,sign_out_status_,sign_in_longitude_latitude_,sign_out_longitude_latitude_)
VALUE
(#{teacherAttendance.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherAttendance.teacherId},#{teacherAttendance.musicGroupId},#{teacherAttendance.classGroupId},#{teacherAttendance.courseScheduleId},#{teacherAttendance.signInTime},#{teacherAttendance.signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherAttendance.remark},now(),#{teacherAttendance.signOutTime},#{teacherAttendance.signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherAttendance.signInLongitudeLatitude},#{teacherAttendance.signOutLongitudeLatitude})
UPDATE teacher_attendance
sign_in_status_ = #{signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
remark_ = #{remark},
group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
sign_in_time_ = #{signInTime},
teacher_id_ = #{teacherId},
class_group_id_ = #{classGroupId},
course_schedule_id_ = #{courseScheduleId},
music_group_id_ = #{musicGroupId},
sign_out_time_ = #{signOutTime},
sign_out_status_ = #{signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
current_class_times_ = #{currentClassTimes},
WHERE id_ = #{id}
DELETE FROM teacher_attendance WHERE id_ = #{id}
DELETE FROM teacher_attendance WHERE course_schedule_id_ IN
#{courseScheduleId}
DELETE FROM teacher_attendance WHERE course_schedule_id_ = #{courseScheduleId}
AND teacher_id_ IN
#{userId}
(cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
and cs.actual_teacher_id_ = #{teacherId}
and cs.class_date_ >= #{courseStartDate}
and cs.class_date_ <= #{courseEndDate}
AND ta.sign_in_status_ = #{signInStatus}
AND ta.sign_out_status_ = #{signOutStatus}
AND ta.sign_out_status_ IS NULL
AND ta.sign_in_status_ IS NULL
and cs.type_ = #{courseScheduleType}
and cs.name_ like CONCAT('%',#{classGroupName},'%')
update teacher_attendance set sign_out_status_ = 1,sign_out_time_= now()
where FIND_IN_SET(course_schedule_id_,#{courseScheduleIdList}) and sign_in_status_ = 1
DELETE ta FROM teacher_attendance ta left join course_schedule cs on ta.course_schedule_id_ = cs.id_ WHERE ta.music_group_id_=#{musicGroupId} AND ta.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and cs.status_ = 'NOT_START'