diff --git a/consumers/consumerAxySkAlarm.go b/consumers/consumerAxySkAlarm.go index 9c1c3e8..d4bf146 100644 --- a/consumers/consumerAxySkAlarm.go +++ b/consumers/consumerAxySkAlarm.go @@ -229,7 +229,7 @@ func (the *consumerAxySkAlarm) judgeSK() string { continue } - if hv.Time.After(alarmTime) { + if !alarmTime.After(hv.Time) { log.Printf("测点[%s]本次触发时刻[%s]level=%d 对比历史有效时刻[%s]level=%d 非新", sid, alarmTime.Format("2006-01-02 15:04:05"), 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{ SourceId: sid, AlarmLevel: level, @@ -359,7 +360,7 @@ func (the *consumerAxySkAlarm) isRuleAlarm(trigger AXY_SK.AlarmTrigger, stationA for _, conditionInt := range trigger.ConditionArray { switch conditionInt { case 0: - if stationAlarm.Alarm3007.CurrentLevel <= trigger.AlarmLevel { + if stationAlarm.Alarm3007 != nil && stationAlarm.Alarm3007.CurrentLevel <= trigger.AlarmLevel { isAlarm = true detail += stationAlarm.Alarm3007.Detail 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) } case 1: - if stationAlarm.Alarm3008.CurrentLevel <= trigger.AlarmLevel { + if stationAlarm.Alarm3008 != nil && stationAlarm.Alarm3008.CurrentLevel <= trigger.AlarmLevel { isAlarm = true detail += stationAlarm.Alarm3008.Detail if stationAlarm.Alarm3008.EndTime.After(dt) {