Files
IOT_API/Model/Dto/Inspection/AlertStatisticsDtos.cs

102 lines
3.0 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace Model.Dto.Inspection
{
/// <summary>
/// 告警趋势统计项(按日/周/月分桶)
/// </summary>
public class AlertTrendItemDto
{
/// <summary>时间桶(日:yyyy-MM-dd / 周:yyyy-Www / 月:yyyy-MM</summary>
public string Bucket { get; set; }
/// <summary>告警总数</summary>
public int Total { get; set; }
/// <summary>信息级数量</summary>
public int InfoCount { get; set; }
/// <summary>警告级数量</summary>
public int WarningCount { get; set; }
/// <summary>紧急级数量</summary>
public int UrgentCount { get; set; }
/// <summary>未闭环数量(未确认+已确认未处理)</summary>
public int UnhandledCount { get; set; }
}
/// <summary>
/// 告警分布统计项(按设备/类型/级别/来源维度)
/// </summary>
public class AlertDistributionItemDto
{
/// <summary>维度名称</summary>
public string Name { get; set; }
/// <summary>数量</summary>
public int Count { get; set; }
}
/// <summary>
/// 高频告警 TOP 排名项
/// </summary>
public class AlertTopItemDto
{
/// <summary>设备编号</summary>
public string? DeviceCode { get; set; }
/// <summary>设备名称</summary>
public string? DeviceName { get; set; }
/// <summary>告警次数(含合并累计 TriggerCount</summary>
public int Count { get; set; }
/// <summary>最近告警时间</summary>
public DateTime LastAlertTime { get; set; }
}
/// <summary>
/// 告警处理及时率统计
/// </summary>
public class AlertTimelinessDto
{
/// <summary>统计范围内告警总数</summary>
public int Total { get; set; }
/// <summary>已确认数(含已处理/已关闭)</summary>
public int AckCount { get; set; }
/// <summary>已处理/已关闭数</summary>
public int HandledCount { get; set; }
/// <summary>未闭环数</summary>
public int UnhandledCount { get; set; }
/// <summary>平均确认时长(分钟,无确认记录为 null</summary>
public double? AvgAckMinutes { get; set; }
/// <summary>平均处理时长(分钟,无处理记录为 null</summary>
public double? AvgHandleMinutes { get; set; }
/// <summary>及时率(%):30 分钟内确认的占比</summary>
public double TimelyRate { get; set; }
}
/// <summary>
/// 告警概览统计(列表页顶部卡片)
/// </summary>
public class AlertOverviewDto
{
/// <summary>未确认数量</summary>
public int UnacknowledgedCount { get; set; }
/// <summary>今日新增数量</summary>
public int TodayCount { get; set; }
/// <summary>今日紧急数量</summary>
public int TodayUrgentCount { get; set; }
/// <summary>近7日总数</summary>
public int WeekCount { get; set; }
}
}