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'