2026-05-06 17:00:08 +10:00
|
|
|
|
using PARR.Domain.Enums;
|
|
|
|
|
|
|
|
|
|
|
|
namespace PARR.Domain.DTOs.Workload
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Отчет о загруженности
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public record WorkloadReport
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Тип отчета (все ЗО, все РГ, одна ЗО, одна РГ)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public WorkloadReportType Type { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Название отчета (По всем ЗО, по одной ЗО)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public required string DisplayName { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Подзаголовок, наименование конкретной ЗО/РГ
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? SubfilterName { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Дата формирования отчета
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public DateTimeOffset ReportCacheCreatedAt { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Дата формирования кэша ЗО и РГ
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public DateTimeOffset TemplateCacheCreatedAt { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Список дней
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public required List<WorkloadDayItem> Days { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Нагруженность
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public required List<WorkloadStatisticItem> Statistics { get; init; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public record WorkloadSummary
|
|
|
|
|
|
{
|
|
|
|
|
|
public required WorkloadSummaryItem Total { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public required WorkloadSummaryItem Activated { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public required WorkloadSummaryItem Deactivated { get; init; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public record WorkloadSummaryItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public int Count { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public double Average { get; init; }
|
2026-05-12 10:41:02 +10:00
|
|
|
|
|
|
|
|
|
|
public int Max { get; set; }
|
2026-05-06 17:00:08 +10:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public record WorkloadDayItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public DateOnly Date { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public bool IsWeekend { get; init; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public record WorkloadStatisticItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public required string Title { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public required WorkloadSummary Summary { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public required List<WorkloadDailyItem> DailyMetrics { get; init; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public record WorkloadDailyItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public DateOnly Date { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public bool IsWeekend { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public int Total { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public int Activated { get; init; }
|
|
|
|
|
|
|
|
|
|
|
|
public int Deactivated { get; init; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|