/*select hai.alarm_info_id, hai.alarm_info_type, hai.alarm_releated_id, hai.device_id,
hai.monitor_unit_id, hai.tenant_id, hai.scene_id, hai.alarm_level_id,
hai.alarm_type_id, hai.mode_function_id, hai.function_name, hai.function_identifier,
hai.function_value, hai.trigger_status, hai.handle_status, hai.alarm_time,
hai.create_time, hai.update_by, hai.update_time, hai.alarm_info_field,
hmu.monitor_unit_name,hal.alarm_level_name,hat.alarm_type_name
from hw_alarm_info hai left join hw_monitor_unit hmu on hai.monitor_unit_id = hmu.monitor_unit_id
left join hw_alarm_level hal on hai.alarm_level_id=hal.alarm_level_id
left join hw_alarm_type hat on hai.alarm_type_id=hat.alarm_type_id*/
select hai.alarm_info_id,
hai.alarm_info_type,
hai.alarm_releated_id,
hai.device_id,
hai.monitor_unit_id,
hai.tenant_id,
hai.scene_id,
hai.alarm_level_id,
hai.alarm_type_id,
hai.mode_function_id,
hai.function_name,
hai.function_identifier,
hai.function_value,
hai.trigger_status,
hai.handle_status,
hai.alarm_time,
hai.create_time,
hai.update_by,
hai.update_time,
hai.alarm_info_field,
hmu.monitor_unit_name,
hal.alarm_level_name,
hat.alarm_type_name,
ha.area_name,
hmut.monitor_unit_type_name,
hd.device_name,
ht.tenant_id,
ht.tenant_name as tenant_name,
hs.scene_name as scene_name,
har.alarm_rule_name as alarm_rule_name,
hor.offline_rule_name as offline_rule_name,
hef.electronic_fence_name as electronic_fence_name
from hw_alarm_info hai
left join hw_monitor_unit hmu on hai.monitor_unit_id = hmu.monitor_unit_id
left join hw_alarm_level hal on hai.alarm_level_id = hal.alarm_level_id
left join hw_alarm_type hat on hai.alarm_type_id = hat.alarm_type_id
left join hw_area ha on ha.area_id = hmu.area_id
left join hw_monitor_unit_type hmut on hmu.monitor_unit_type_id = hmut.monitor_unit_type_id
LEFT JOIN hw_fence_area hfa ON hai.fence_area_id = hfa.fence_area_id
LEFT JOIN hw_device hd ON hai.device_id = hd.device_id
LEFT JOIN hw_tenant ht ON hai.tenant_id = ht.tenant_id
LEFT JOIN hw_scene hs ON hai.scene_id = hs.scene_id
LEFT JOIN hw_alarm_rule har ON hai.alarm_releated_id = har.alarm_rule_id
LEFT JOIN hw_offline_rule hor ON hai.alarm_releated_id = hor.offline_rule_id
LEFT JOIN hw_electronic_fence hef ON hai.alarm_releated_id = hef.electronic_fence_id
insert into hw_alarm_info
alarm_info_type,
alarm_releated_id,
device_id,
monitor_unit_id,
tenant_id,
scene_id,
alarm_level_id,
alarm_type_id,
mode_function_id,
function_name,
function_identifier,
function_value,
trigger_status,
handle_status,
alarm_time,
create_time,
update_by,
update_time,
alarm_info_field,
#{alarmInfoType},
#{alarmReleatedId},
#{deviceId},
#{monitorUnitId},
#{tenantId},
#{sceneId},
#{alarmLevelId},
#{alarmTypeId},
#{modeFunctionId},
#{functionName},
#{functionIdentifier},
#{functionValue},
#{triggerStatus},
#{handleStatus},
#{alarmTime},
#{createTime},
#{updateBy},
#{updateTime},
#{alarmInfoField},
update hw_alarm_info
alarm_info_type = #{alarmInfoType},
alarm_releated_id = #{alarmReleatedId},
device_id = #{deviceId},
monitor_unit_id = #{monitorUnitId},
tenant_id = #{tenantId},
scene_id = #{sceneId},
alarm_level_id = #{alarmLevelId},
alarm_type_id = #{alarmTypeId},
mode_function_id = #{modeFunctionId},
function_name = #{functionName},
function_identifier = #{functionIdentifier},
function_value = #{functionValue},
trigger_status = #{triggerStatus},
handle_status = #{handleStatus},
alarm_time = #{alarmTime},
create_time = #{createTime},
update_by = #{updateBy},
update_time = #{updateTime},
alarm_info_field = #{alarmInfoField},
where alarm_info_id = #{alarmInfoId}
delete from hw_alarm_info where alarm_info_id = #{alarmInfoId}
delete from hw_alarm_info where alarm_info_id in
#{alarmInfoId}
update hw_alarm_info
handle_status = #{handleStatus},
update_by = #{updateBy},
update_time = #{updateTime},
alarm_info_field = #{alarmInfoField},
where device_id = (select t.device_id from (select device_id from hw_alarm_info hai where alarm_info_id = #{alarmInfoId})t) and handle_status = 0
update hw_alarm_info
alarm_info_type = #{alarmInfoType},
alarm_releated_id = #{alarmReleatedId},
device_id = #{deviceId},
monitor_unit_id = #{monitorUnitId},
tenant_id = #{tenantId},
scene_id = #{sceneId},
alarm_level_id = #{alarmLevelId},
alarm_type_id = #{alarmTypeId},
mode_function_id = #{modeFunctionId},
function_name = #{functionName},
function_identifier = #{functionIdentifier},
function_value = #{functionValue},
trigger_status = #{triggerStatus},
handle_status = #{handleStatus},
alarm_time = #{alarmTime},
create_time = #{createTime},
update_by = #{updateBy},
update_time = #{updateTime},
alarm_info_field = #{alarmInfoField},
where alarm_info_id = #{alarmInfoId}