feat(api,core): Методы в API для получения метрик заданий роботам, StatRobotMetricsController.

This commit is contained in:
Mikhail Trubnikov
2026-07-16 10:12:56 +10:00
parent 4c80e247f5
commit 751b693e72
17 changed files with 540 additions and 2 deletions

View File

@@ -0,0 +1,9 @@
namespace PARR.Domain.DTOs.RobotMetrics
{
/// <summary>
/// Статистика по роботам, согласно гибким фильтрам.
/// </summary>
/// <param name="Timestamp"></param>
/// <param name="Count"></param>
public record FilteredChartPoint(DateTimeOffset Timestamp, int Count);
}

View File

@@ -0,0 +1,16 @@
using PARR.Domain.Enums;
namespace PARR.Domain.DTOs.RobotMetrics
{
public record MetricFilter
{
public RobotsEnum? RobotCode { get; init; }
public RobotStatusEnum? RobotStatusCode { get; init; }
public TaskStatusEnum? TaskStatusCode { get; init; }
public DateTimeOffset? DateFrom { get; init; }
public DateTimeOffset? DateTo { get; init; }
// Шаг группировки в минутах (например, 2, 30, 60, 1440)
public int IntervalMinutes { get; set; } = 30;
}
}

View File

@@ -0,0 +1,7 @@
namespace PARR.Domain.DTOs.RobotMetrics
{
/// <summary>
/// Статистика по Робот Сатусам, на графике
/// </summary>
public record RobotStatusChartPoint(DateTimeOffset Timestamp, int Wait, int InProgress, int Error, int Complete);
}

View File

@@ -0,0 +1,11 @@
namespace PARR.Domain.DTOs.RobotMetrics
{
/// <summary>
/// Статистика по Статусам заданий роботам, на графике
/// </summary>
/// <param name="Timestamp"></param>
/// <param name="Creating"></param>
/// <param name="Updating"></param>
/// <param name="Ok"></param>
public record TaskStatusChartPoint(DateTimeOffset Timestamp, int Creating, int Updating, int Ok);
}