a.ID as "id"
,a.TENANT_ID as "tenantId"
,a.DEVICE_ID as "deviceId"
,a.COMPANY_ORG_ID as "companyOrgId"
,a.DEPT_ORG_ID as "deptOrgId"
,a.ALARM_TYPE as "alarmType"
,a.ATTRIBUTE_ID as "attributeId"
,a.ALARM_VALUE as "alarmValue"
,a.ALARM_CONTENT as "alarmContent"
,a.ALARM_START_TIME as "alarmStartTime"
,a.ALARM_END_TIME as "alarmEndTime"
,a.STATE as "state"
,a.OP_STATE as "opState"
,a.REMARK as "remark"
,a.STATUS as "status"
,a.DATE_CREATE as "dateCreate"
,a.CREATE_BY as "createBy"
,a.DATE_UPDATE as "dateUpdate"
,a.UPDATE_BY as "updateBy"
,a.MIN_VALUE as "minValue"
,a.MAX_VALUE as "maxValue"
,timestampdiff(MINUTE,ifnull(a.ALARM_END_TIME,now()),a.ALARM_START_TIME) as "duration"
/*,(case when ALARM_END_TIME is not null then timestampdiff(MINUTE,a.ALARM_END_TIME,a.ALARM_START_TIME) else null end ) as "duration"*/
,att.`NAME` as "attributeName"
,a.SCENE_NAME as "sceneName"
,d.DEVICE_NAME as "deviceName"
,t.DEVICE_TYPE as "deviceType"
,d.ADDRESS as "address"
,d.POINT_X as "pointX"
,d.POINT_Y as "pointY"
,ast.id as "alarmSettingId"
/*,ast.ALARM_CONDITION +" " +ast.ALARM_VALUE as "alermRule"*/
,concat(ifnull(ast.ALARM_CONDITION,''),ifnull(ast.ALARM_VALUE,'')) as "alermRule"
,att.UNIT as "unit"
a.ID as "id"
,a.STATE as "state"
,a.OP_STATE as "opState"
,a.SCENE_NAME as "sceneName"
,d.DEVICE_NAME as "deviceName"
,t.DEVICE_TYPE as "deviceType"
,a.ALARM_TYPE as "alarmType"
,att.`NAME` as "attributeName"
,a.ALARM_START_TIME as "alarmStartTime"
,d.ADDRESS as "address"
,d.POINT_X as "pointX"
,d.POINT_Y as "pointY"
,concat(a.ALARM_VALUE,ifnull(att.unit,'')) as "alarmValue"
,a.ALARM_CONTENT as "alarmContent"
a.ID as "id"
,a.STATE as "state"
,a.OP_STATE as "opState"
,a.SCENE_NAME as "sceneName"
,d.DEVICE_NAME as "deviceName"
,t.DEVICE_TYPE as "deviceType"
,a.ALARM_TYPE as "alarmType"
,att.`NAME` as "attributeName"
,a.ALARM_START_TIME as "alarmStartTime"
,d.ADDRESS as "address"
,d.POINT_X as "pointX"
,d.POINT_Y as "pointY"
,concat(a.MIN_VALUE,ifnull(att.unit,'')) as "minValue"
,concat(a.MAX_VALUE,ifnull(att.unit,''))as "maxValue"
,ast.id as "alarmSettingId"
,concat(ifnull(ast.ALARM_CONDITION,''),ifnull(ast.ALARM_VALUE,''),ifnull(att.unit,'')) as "alermRule"
,a.ALARM_END_TIME as "alarmEndTime"
,concat(concat(timestampdiff(SECOND,a.ALARM_START_TIME,ifnull(a.ALARM_END_TIME,now())) div 3600,'时'),
concat(timestampdiff(SECOND,a.ALARM_START_TIME,ifnull(a.ALARM_END_TIME,now())) mod 3600 div 60,'分'),
concat(timestampdiff(SECOND,a.ALARM_START_TIME,ifnull(a.ALARM_END_TIME,now())) mod 60,'秒')) as "duration"
left join sms_device d on a.DEVICE_ID =d.id and d.`STATUS` = 1
left join sms_device_type t on d.DEVICE_TYPE_ID =t.ID
left join sms_alarm_setting ast on ast.id= a.alarm_setting_id
left join sms_device_attribute att on att.id=a.ATTRIBUTE_ID
INSERT INTO sms_alarm_details ( TENANT_ID , PARENT_SCENE_ID, PARENT_SCENE_NAME, SCENE_ID, SCENE_NAME, DEVICE_ID , COMPANY_ORG_ID , DEPT_ORG_ID , ALARM_TYPE , ATTRIBUTE_ID , ALARM_VALUE , ALARM_CONTENT , ALARM_START_TIME , ALARM_END_TIME , STATE , OP_STATE , REMARK , STATUS , DATE_CREATE , CREATE_BY , DATE_UPDATE , UPDATE_BY , MIN_VALUE, MAX_VALUE, ALARM_SETTING_ID )
VALUES ( #{tenantId} , #{parentSceneId} ,#{parentSceneName} ,#{sceneId} ,#{sceneName} , #{deviceId} , #{companyOrgId} , #{deptOrgId} , #{alarmType} , #{attributeId} , #{alarmValue} , #{alarmContent} , #{alarmStartTime} , #{alarmEndTime} , #{state} , #{opState} , #{remark} , #{status} , #{dateCreate} , #{createBy} , #{dateUpdate} , #{updateBy},#{minValue} ,#{maxValue}, #{alarmSettingId} )
INSERT INTO sms_alarm_details ( TENANT_ID , PARENT_SCENE_ID, PARENT_SCENE_NAME, SCENE_ID, SCENE_NAME, DEVICE_ID , COMPANY_ORG_ID , DEPT_ORG_ID , ALARM_TYPE , ATTRIBUTE_ID , ALARM_VALUE , ALARM_CONTENT , ALARM_START_TIME , ALARM_END_TIME , STATE , OP_STATE , REMARK , STATUS , DATE_CREATE , CREATE_BY , DATE_UPDATE , UPDATE_BY, MIN_VALUE, MAX_VALUE,ALARM_SETTING_ID )
values
( #{item.tenantId} , #{item.parentSceneId} ,#{item.parentSceneName} ,#{item.sceneId} ,#{item.sceneName} , #{item.deviceId} , #{item.companyOrgId} , #{item.deptOrgId} , #{item.alarmType} , #{item.attributeId} , #{item.alarmValue} , #{item.alarmContent} , #{item.alarmStartTime} , #{item.alarmEndTime} , #{item.state} , #{item.opState} , #{item.remark} , #{item.status} , #{item.dateCreate} , #{item.createBy} , #{item.dateUpdate} , #{item.updateBy} ,#{item.minValue} ,#{item.maxValue},#{item.alarmSettingId})
UPDATE sms_alarm_details
TENANT_ID = #{tenantId},
DEVICE_ID = #{deviceId},
COMPANY_ORG_ID = #{companyOrgId},
DEPT_ORG_ID = #{deptOrgId},
ALARM_TYPE = #{alarmType},
ATTRIBUTE_ID = #{attributeId},
ALARM_VALUE = #{alarmValue},
ALARM_CONTENT = #{alarmContent},
ALARM_START_TIME = #{alarmStartTime},
ALARM_START_TIME = #{alarmStartTime},
ALARM_END_TIME = #{alarmEndTime},
STATE = #{state},
OP_STATE = #{opState},
REMARK = #{remark},
STATUS = #{status},
DATE_UPDATE = #{dateUpdate},
UPDATE_BY = #{updateBy},
MIN_VALUE = #{minValue},
MAX_VALUE = #{maxValue},
ALARM_SETTING_ID = #{alarmSettingId}
WHERE ID = #{id};
UPDATE sms_alarm_details set STATUS = 0 where id = #{id}
UPDATE sms_alarm_details set STATUS = 0
where id in
#{item}
UPDATE sms_alarm_details set op_state = #{opState} , DATE_UPDATE = #{dateUpdate}, UPDATE_BY = #{updateBy} where id = #{id}
update sms_device set LAST_UPDATE_TIME =#{lastUpdateTime} where id=#{deviceId}
update sms_alarm_details set is_send_message =1
where id in
#{item.alarmId}