select id, robot_id, create_by, create_time, update_by, update_time, remark,
robot_code, robot_name, robot_model, robot_type, ip_address, port,
current_map_id, status, battery_level, current_position,
connect_status, quic_node_id, quic_session_id, quic_boot_id,
observed_ip, software_version, last_heartbeat_time, archived_status
from inspection_robot
insert into inspection_robot
id,
robot_id,
create_by,
create_time,
update_by,
update_time,
remark,
robot_code,
robot_name,
robot_model,
robot_type,
ip_address,
port,
current_map_id,
status,
battery_level,
current_position,
connect_status,
archived_status,
#{id},
#{robotId},
#{createBy},
#{createTime},
#{updateBy},
#{updateTime},
#{remark},
#{robotCode},
#{robotName},
#{robotModel},
#{robotType},
#{ipAddress},
#{port},
#{currentMapId},
#{status},
#{batteryLevel},
#{currentPosition},
#{connectStatus},
#{archivedStatus},
update inspection_robot
create_by = #{createBy},
create_time = #{createTime},
update_by = #{updateBy},
update_time = #{updateTime},
remark = #{remark},
robot_code = #{robotCode},
robot_name = #{robotName},
robot_model = #{robotModel},
robot_type = #{robotType},
ip_address = #{ipAddress},
port = #{port},
current_map_id = #{currentMapId},
status = #{status},
battery_level = #{batteryLevel},
current_position = #{currentPosition},
where id = #{id}
update inspection_robot
set ip_address = #{ipAddress}, port = #{port}, connect_status = #{connectStatus},
status = coalesce(#{status}, status),
quic_node_id = #{quicNodeId}, quic_session_id = #{quicSessionId},
quic_boot_id = #{quicBootId}, observed_ip = #{observedIp},
software_version = #{softwareVersion}, last_heartbeat_time = #{lastHeartbeatTime},
update_by = 'quic', update_time = #{updateTime}
where id = #{id}
update inspection_robot
set status = coalesce(#{status}, status),
battery_level = coalesce(#{batteryLevel}, battery_level),
current_position = coalesce(#{currentPosition}, current_position)
where id = #{id}
update inspection_robot
set connect_status = '0', status = '1',
update_by = 'heartbeat-timeout', update_time = #{offlineTime}
where id = #{id}
and connect_status = '1'
and (last_heartbeat_time is null or last_heartbeat_time < #{heartbeatCutoff})
update inspection_robot set archived_status = '1', connect_status = '0',
update_time = sysdate(), update_by = #{updateBy}
where id in
#{id}
delete from inspection_robot where id = #{id}
delete from inspection_robot where id in
#{id}