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()