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