Browse Source

update 更新双控 避免同时间告警 重复触发

dev
lucas 1 week ago
parent
commit
d8e30f6835
  1. 7
      consumers/consumerAxySkAlarm.go

7
consumers/consumerAxySkAlarm.go

@ -229,7 +229,7 @@ func (the *consumerAxySkAlarm) judgeSK() string {
continue continue
} }
if hv.Time.After(alarmTime) { if !alarmTime.After(hv.Time) {
log.Printf("测点[%s]本次触发时刻[%s]level=%d 对比历史有效时刻[%s]level=%d 非新", sid, log.Printf("测点[%s]本次触发时刻[%s]level=%d 对比历史有效时刻[%s]level=%d 非新", sid,
alarmTime.Format("2006-01-02 15:04:05"), alarmTime.Format("2006-01-02 15:04:05"),
level, level,
@ -240,6 +240,7 @@ func (the *consumerAxySkAlarm) judgeSK() string {
} }
} }
//纪录历史告警 //纪录历史告警
log.Printf("测点[%s]本次触发双控,时刻[%s]level=%d", sid, alarmTime.Format("2006-01-02 15:04:05"), level)
the.historyStationAlarmMap[sid] = AXY_SK.HistoryAlarm{ the.historyStationAlarmMap[sid] = AXY_SK.HistoryAlarm{
SourceId: sid, SourceId: sid,
AlarmLevel: level, AlarmLevel: level,
@ -359,7 +360,7 @@ func (the *consumerAxySkAlarm) isRuleAlarm(trigger AXY_SK.AlarmTrigger, stationA
for _, conditionInt := range trigger.ConditionArray { for _, conditionInt := range trigger.ConditionArray {
switch conditionInt { switch conditionInt {
case 0: case 0:
if stationAlarm.Alarm3007.CurrentLevel <= trigger.AlarmLevel { if stationAlarm.Alarm3007 != nil && stationAlarm.Alarm3007.CurrentLevel <= trigger.AlarmLevel {
isAlarm = true isAlarm = true
detail += stationAlarm.Alarm3007.Detail detail += stationAlarm.Alarm3007.Detail
if stationAlarm.Alarm3007.EndTime.After(dt) { if stationAlarm.Alarm3007.EndTime.After(dt) {
@ -368,7 +369,7 @@ func (the *consumerAxySkAlarm) isRuleAlarm(trigger AXY_SK.AlarmTrigger, stationA
triggerTypeCodes = append(triggerTypeCodes, stationAlarm.Alarm3007.AlarmTypeCode) triggerTypeCodes = append(triggerTypeCodes, stationAlarm.Alarm3007.AlarmTypeCode)
} }
case 1: case 1:
if stationAlarm.Alarm3008.CurrentLevel <= trigger.AlarmLevel { if stationAlarm.Alarm3008 != nil && stationAlarm.Alarm3008.CurrentLevel <= trigger.AlarmLevel {
isAlarm = true isAlarm = true
detail += stationAlarm.Alarm3008.Detail detail += stationAlarm.Alarm3008.Detail
if stationAlarm.Alarm3008.EndTime.After(dt) { if stationAlarm.Alarm3008.EndTime.After(dt) {

Loading…
Cancel
Save