using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using PARR.API.Contracts.V1; using PARR.API.Contracts.V1.Requests.Queries; using PARR.API.Contracts.V1.Responses; using PARR.API.Contracts.V1.Responses.Base; using PARR.API.Contracts.V1.Responses.Statistics; using PARR.API.Controllers.V1.Base; using PARR.API.Services.Interfaces; using PARR.Constants; using PARR.DAL.Models; using PARR.DAL.Services.Interfaces; namespace PARR.API.Controllers.V1.Statistics { /// /// Статистика загрузки регламентными работами по ЗО /// [Authorize(Roles = ParrRoles.EsppRobot.RoleOrAdmin)] public class StatResponseAreaWorkLoadController : BaseApiController { private readonly ITemplateService templateService; private readonly IResponseAreaService responseAreaService; private readonly IMapper mapper; private readonly IWorkLoadService workLoadService; public StatResponseAreaWorkLoadController( ITemplateService templateService, IResponseAreaService responseAreaService, IMapper mapper, IWorkLoadService workLoadService ) { this.templateService = templateService; this.responseAreaService = responseAreaService; this.mapper = mapper; this.workLoadService = workLoadService; } /// /// Статистика загрузки РР по всем ЗО /// /// [HttpGet(ApiRoutes.StatResponseAreaWorkLoad.GetAll)] public async Task GetAll([FromQuery] WorkloadBaseQuery requestQuery) { var daysList = workLoadService.GetDatesForPeriod(requestQuery); IQueryable