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
}
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) {

Loading…
Cancel
Save