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_,current_class_times_,sign_in_longitude_latitude_,sign_out_longitude_latitude_,current_schedule_id_,sign_out_attachments_,
sign_out_remark_,update_attendance_type_,url_,sign_in_device_no_,sign_out_device_no_)
VALUES(#{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},#{currentScheduleId},#{signOutAttachments},#{signOutRemark},
#{updateAttendanceEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{url},#{signInDeviceNo},#{signOutDeviceNo})
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_,current_schedule_id_,sign_out_attachments_,
sign_out_remark_,update_attendance_type_,url_,sign_in_device_no_,sign_out_device_no_)
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},#{teacherAttendance.currentScheduleId},
#{teacherAttendance.signOutAttachments},#{teacherAttendance.signOutRemark},
#{teacherAttendance.updateAttendanceEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherAttendance.url},
#{teacherAttendance.signInDeviceNo},#{teacherAttendance.signOutDeviceNo})
UPDATE teacher_attendance
sign_in_device_no_ = #{signInDeviceNo},
sign_out_device_no_ = #{signOutDeviceNo},
url_ = #{url},
update_attendance_type_ = #{updateAttendanceEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
sign_in_status_ = #{signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
current_schedule_id_ = #{currentScheduleId},
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},
sign_in_longitude_latitude_ = #{signInLongitudeLatitude},
sign_out_longitude_latitude_ = #{signOutLongitudeLatitude},
is_complaints_ = #{isComplaints},
complaints_type_ = #{complaintsType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
complaints_status_ = #{complaintsStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
complaints_content_ = #{complaintsContent},
dispose_content_ = #{disposeContent},
operator_ = #{operator},
complaints_time_ = #{complaintsTime},
sign_out_attachments_ = #{signOutAttachments},
sign_out_remark_ = #{signOutRemark},
sign_in_device_no_ = #{signInDeviceNo},
sign_out_device_no_ = #{signOutDeviceNo},
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_ = ta.teacher_id_
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},'%')
cs.del_flag_ = 0
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
AND (su.id_ = #{search} OR su.real_name_ LIKE CONCAT('%',#{search},'%') OR cs.id_ = #{search} OR cs.name_ LIKE CONCAT('%',#{search},'%'))
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.status_ = #{courseScheduleStatus}
AND FIND_IN_SET(cs.organ_id_,#{organId})
AND ta.teacher_id_ = #{teacherId}
AND FIND_IN_SET(ta.id_,#{teacherAttendanceId})
AND t.job_nature_ = #{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
ta.is_complaints_ = 1
AND FIND_IN_SET(t.organ_id_, #{organId})
AND ta.complaints_time_ = #{complaintsTime}
AND ta.complaints_status_ = #{complaintsStatus}
AND (ta.course_schedule_id_ = #{search} OR su.real_name_ LIKE CONCAT('%',#{search},'%') OR ta.teacher_id_ = #{search})
AND cs.class_date_ >= #{courseScheduleStartDate}
AND cs.class_date_ <= #{courseScheduleEndDate}
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
UPDATE teacher_attendance
SET sign_in_time_ = NULL,sign_in_status_=NULL,sign_out_status_ = NULL,sign_out_time_= NULL
WHERE course_schedule_id_=#{courseScheduleId}
UPDATE teacher_attendance
SET sign_in_time_ = NULL,sign_in_status_=NULL,sign_out_status_ = NULL,sign_out_time_= NULL
WHERE course_schedule_id_ IN
#{courseScheduleId}
UPDATE teacher_attendance
sign_in_time_ = #{startDateTime},sign_in_status_ = 1,
sign_out_status_ = #{status},sign_out_time_= #{endDateTime}
WHERE course_schedule_id_ = #{courseScheduleId}
UPDATE teacher_attendance
SET teacher_id_ = #{teacherId},sign_in_time_ = null,sign_in_status_ = null,sign_out_status_ = null,sign_out_time_= null
WHERE course_schedule_id_ IN
#{courseScheduleId}
UPDATE teacher_attendance
SET sign_out_status_ = NULL,sign_out_time_= NULL
WHERE course_schedule_id_=#{courseId}
UPDATE teacher_attendance
SET is_complaints_ = 0,complaints_status_ = NULL,complaints_content_ = NULL,
dispose_content_ = NULL,operator_ = NULL,complaints_time_ = NULL,complaints_type_ = NULL,
sign_out_device_no_ = NULL,sign_in_device_no_ = NULL,url_ = NULL,update_attendance_type_ = NULL,
sign_out_remark_ = NULL,sign_out_attachments_ = NULL,current_schedule_id_ = NULL,remark_ = NULL
,sign_in_longitude_latitude_ = NULL,sign_out_longitude_latitude_ = NULL
WHERE course_schedule_id_ IN
#{courseScheduleId}
UPDATE teacher_attendance
SET is_complaints_ = 0,complaints_status_ = NULL,complaints_content_ = NULL,
dispose_content_ = NULL,operator_ = NULL,complaints_time_ = NULL,complaints_type_ = NULL,
sign_out_device_no_ = NULL,sign_in_device_no_ = NULL,url_ = NULL,update_attendance_type_ = NULL,
sign_out_remark_ = NULL,sign_out_attachments_ = NULL,current_schedule_id_ = NULL,remark_ = NULL
,sign_in_longitude_latitude_ = NULL,sign_out_longitude_latitude_ = NULL
WHERE course_schedule_id_ = #{courseScheduleId}
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'
DELETE from teacher_attendance WHERE course_schedule_id_=#{courseScheduleId}
DELETE FROM teacher_attendance WHERE music_group_id_=#{groupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}