提交 b51d01d2 编写于 作者: 麦壳饼's avatar 麦壳饼

告警的传播

上级 03088303
......@@ -54,7 +54,7 @@ namespace IoTSharp.Data
public ServerityLevel Serverity { get; set; }
/// <summary>
/// 传播
/// 如果严重等级变化了, 那么就触发传播, 否则不触发传播, 传播意思就是执行规则链, 通过规则链往后传播状态
/// </summary>
public bool Propagate { get; set; }
......
......@@ -95,7 +95,28 @@ namespace IoTSharp.Extensions
{
var old = isone.First();
old.AlarmDetail = alarm.AlarmDetail;
old.EndDateTime = DateTime.Now;
if ( old.Serverity != dto.Serverity)
{
if (old.Serverity== ServerityLevel.Indeterminate && dto.Serverity!= ServerityLevel.Indeterminate)
{
old.StartDateTime = DateTime.Now;
alarm.Propagate = true;
}
else if (old.Serverity != ServerityLevel.Indeterminate && dto.Serverity == ServerityLevel.Indeterminate)
{
old.EndDateTime = DateTime.Now;
if (old.ClearDateTime.Year == 1970)
{
old.ClearDateTime = DateTime.Now;
}
alarm.Propagate = true;
}
else
{
alarm.Propagate = false;
}
old.Serverity = dto.Serverity;
}
}
else
{
......
......@@ -136,7 +136,10 @@ namespace IoTSharp.Handlers
{
alarmDto.warnDataId = alm.Data.Id;
alarmDto.CreateDateTime = alm.Data.AckDateTime;
await RunRules(alm.Data.OriginatorId, alarmDto, MountType.Alarm);
if (alm.Data.Propagate)
{
await RunRules(alm.Data.OriginatorId, alarmDto, MountType.Alarm);
}
}
else
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册