feat(api, core): Workload - отчет по одной ЗО - РГ.

This commit is contained in:
Mikhail Trubnikov
2026-06-02 12:31:53 +10:00
parent d27d594e57
commit d1de63e939
5 changed files with 31 additions and 8 deletions

View File

@@ -14,6 +14,7 @@ using PARR.Core.Services.Workload.Interfaces;
using PARR.Domain.Common.Roles;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Enums;
using PARR.Domain.Exceptions;
namespace PARR.API.Controllers.V1.Statistics
{
@@ -70,6 +71,23 @@ namespace PARR.API.Controllers.V1.Statistics
}
/// <summary>
/// Отчет о загруженности по ЗО - рабочие группы
/// </summary>
/// <param name="responseArea"></param>
/// <param name="offset"></param>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet(ApiRoutes.Workload.ResponseAreaWorkGroups)]
public async Task<IActionResult> GetResponseAreaWorkGroupsReport([FromRoute] string responseArea, [FromQuery] TimeZoneOffsetClient offset, [FromQuery] WorkloadBaseQuery request)
{
if (string.IsNullOrWhiteSpace(responseArea))
throw new AppValidationException("Не указано значение зоны ответственности");
return await GetReportAsync(WorkloadReportType.ResponseAreaWorkGroups, request.DurationDays, offset.TimeZoneOffset, responseArea);
}
/// <summary>
/// Сформировать отчетность
/// </summary>
@@ -117,7 +135,7 @@ namespace PARR.API.Controllers.V1.Statistics
var localTime = utcNow.ToOffset(offset);
var dateStart = DateOnly.FromDateTime(localTime.Date);
var report = await workloadService.GetWorkloadReport(reportType, dateStart, durationDays, offset, filter);
var report = await workloadService.GetWorkloadReport(reportType, dateStart, durationDays, offset, filter?.Trim());
if (report == null)
return BadRequest(new Response<string?>(null, false, new List<ErrorModel> { new ErrorModel { Message = "Необходимо сформировать отчетность." } }, "empty"));