2024-07-29 10:25:57 +10:00
|
|
|
|
namespace PARR.API.Contracts.V1.Responses.Statistics
|
|
|
|
|
|
{
|
|
|
|
|
|
public class StatTemplateDistributorResponse
|
|
|
|
|
|
{
|
2026-01-26 14:29:47 +10:00
|
|
|
|
public required JobGroupWithDistributionConfigResponse JobGroup { get; set; }
|
2024-07-29 10:25:57 +10:00
|
|
|
|
|
2026-01-26 14:29:47 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Всего шаблонов
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int AllCount => ItemsList?.Sum(t => t.AllCount) ?? 0;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Всего шаблонов с активированными шаблонами и расписаниями
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int IsActivatedAllCount => ItemsList?.Sum(t => t.IsActivatedCount) ?? 0;
|
2024-08-22 14:32:48 +10:00
|
|
|
|
|
2026-01-26 14:29:47 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Всего шаблонов с деактивированными шаблонами и/или расписаниями
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int IsDeactivatedAllCount => ItemsList?.Sum(t => t.IsDeactivatedCount) ?? 0;
|
|
|
|
|
|
|
2026-01-28 14:40:40 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Шаблонов назначенных на выходной день
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int TemplatesInWeekendAllCount => ItemsList?.Sum(t => t.TemplatesInWeekendCount) ?? 0;
|
|
|
|
|
|
|
2026-01-26 14:29:47 +10:00
|
|
|
|
public List<StatDistributorItemResponse>? ItemsList { get; set; }
|
|
|
|
|
|
}
|
2024-08-22 14:32:48 +10:00
|
|
|
|
|
2026-01-26 14:29:47 +10:00
|
|
|
|
public class StatDistributorItemResponse
|
|
|
|
|
|
{
|
2026-02-20 10:39:53 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Наименование поля по которому группируется
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? GroupFieldName { get; set; }
|
2024-08-22 14:32:48 +10:00
|
|
|
|
|
2026-01-26 14:29:47 +10:00
|
|
|
|
public int AllCount => Statistics?.Sum(t => t.AllCount) ?? 0;
|
|
|
|
|
|
public int IsActivatedCount => Statistics?.Sum(t => t.IsActivatedCount) ?? 0;
|
|
|
|
|
|
public int IsDeactivatedCount => Statistics?.Sum(t => t.IsDeactivatedCount) ?? 0;
|
2026-01-28 14:40:40 +10:00
|
|
|
|
public int TemplatesInWeekendCount => Statistics?.Sum(t => t.TemplatesInWeekendCount) ?? 0;
|
2024-07-29 10:25:57 +10:00
|
|
|
|
|
2026-01-26 14:29:47 +10:00
|
|
|
|
public List<StatTemplateDistributorDateStat>? Statistics { get; set; }
|
2024-07-29 10:25:57 +10:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class StatTemplateDistributorDateStat
|
|
|
|
|
|
{
|
2026-01-28 14:40:40 +10:00
|
|
|
|
public DateTimeOffset Date { get; set; }
|
|
|
|
|
|
public bool IsWorkDay { get; set; }
|
2024-08-22 14:32:48 +10:00
|
|
|
|
public int AllCount { get; set; }
|
|
|
|
|
|
public int IsActivatedCount { get; set; }
|
2026-01-26 14:29:47 +10:00
|
|
|
|
public int IsDeactivatedCount { get; set; }
|
2026-01-28 14:40:40 +10:00
|
|
|
|
public int TemplatesInWeekendCount => !IsWorkDay && Templates != null ? Templates.Count : 0;
|
2026-02-20 10:39:53 +10:00
|
|
|
|
public List<StatTemplateDistribItem>? Templates { get; set; }
|
2026-01-26 14:29:47 +10:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-02-20 10:39:53 +10:00
|
|
|
|
public class StatTemplateDistribItem
|
2026-01-26 14:29:47 +10:00
|
|
|
|
{
|
2026-02-20 10:39:53 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// TemplateId
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public Guid Id { get; set; }
|
2026-01-26 14:29:47 +10:00
|
|
|
|
public required string Name { get; set; }
|
2026-01-27 15:45:38 +10:00
|
|
|
|
public DateTimeOffset NextRun { get; set; }
|
2026-01-26 14:29:47 +10:00
|
|
|
|
public bool IsActiveTemplate { get; set; }
|
|
|
|
|
|
public bool IsActiveSchedular { get; set; }
|
2026-02-20 10:39:53 +10:00
|
|
|
|
//public required ScheduleResponseAreaTimeOffsetResponse ResponseAreaOffset { get; set; }
|
2024-07-29 10:25:57 +10:00
|
|
|
|
}
|
|
|
|
|
|
}
|