select record_id, register_no, visitor_name, id_card, register_type, interviewee_name, interviewee_dept, receiver_name, receiver_verify_method, visit_area_ids, visit_area_names, plate_no, visit_reason, valid_start_time, valid_end_time, status, register_time, register_source, face_image_url, sign_time, sign_receiver_name, sign_verify_method, sign_image_url, remark from t_visitor_record update t_visitor_record set status = 'OVERDUE_AUTO_SIGNED_OUT', sign_time = date_sub(date_add(date(valid_end_time), interval 1 day), interval 1 second), sign_verify_method = 'AUTO', update_by = 'system', update_time = sysdate() where del_flag = '0' and status in ('VISITING', 'PENDING_CONFIRM') and valid_end_time is not null and date_add(date(valid_end_time), interval 1 day) <= #{now} update t_visitor_record set status = 'PENDING_CONFIRM', update_time = sysdate() where del_flag = '0' and status = 'VISITING' and valid_end_time is not null and valid_end_time < #{now} and date_add(date(valid_end_time), interval 1 day) > #{now} update t_visitor_record set del_flag = '1', update_by = #{updateBy}, update_time = sysdate() where del_flag = '0' and record_id in #{recordId} insert into t_visitor_record register_no, visitor_name, id_card, register_type, interviewee_name, receiver_verify_method, visit_area_ids, plate_no, visit_reason, valid_start_time, valid_end_time, status, register_time, face_image_url, del_flag, create_time values #{registerNo}, #{visitorName}, #{idCard}, #{registerType}, #{intervieweeName}, #{receiverVerifyMethod}, #{visitAreaIds}, #{plateNo}, #{visitReason}, #{validStartTime}, #{validEndTime}, #{status}, #{registerTime}, #{faceImageUrl}, #{delFlag}, now()