fix(api): StatWorkWorkLoadController исправлен запрос получения статистики, убраны лишние данные.

This commit is contained in:
Mikhail Trubnikov
2024-08-28 11:52:01 +10:00
parent 5d50a7f2d3
commit a30ed148e8

View File

@@ -92,7 +92,7 @@ namespace PARR.API.Controllers.V1.Statistics
if (jobsRequests != null && jobsRequests.Count() > 0)
//query = query.Where(t => jobsRequests.Any(x => x.JobId == t.ApplicationInWorkId && x.WorkGroupId == t.Host!.WorkGroupId.Value)); /*&& x.WorkGroupId == t.Host!.WorkGroupId.Value*/
query = query.Where(t => jobsRequests.Select(t => t.JobId).Any(x => x == t.ApplicationInWorkId) && jobsRequests.Select(t => t.WorkGroupId).Any(x => x == t.Host!.WorkGroupId.Value));
query = query.Where(t => jobsRequests.Select(t => t.JobId).Any(x => x == t.ApplicationInWorkId) && jobsRequests.Select(t => t.WorkGroupId).Any(x => x == t.Host!.WorkGroupId.Value));
var groupedQuery = query.GroupBy(t => new { t.NextRun.DateTime.Date, t.ApplicationInWorkId, t.Host.WorkGroupId })
.Select(t => new
@@ -124,8 +124,8 @@ namespace PARR.API.Controllers.V1.Statistics
if (jobsRequests != null && jobsRequests.Count() > 0)
{
//appInWorksQuery = appInWorksQuery.Where(t => jobsRequests.Any(x => x.JobId == t.ApplicationInWorkId));
appInWorksQuery = appInWorksQuery.Where(t => jobsRequests.Select(j=>j.JobId).Any(x => x == t.ApplicationInWorkId));
workGroupsQuery = workGroupsQuery.Where(t => jobsRequests.Select(w=>w.WorkGroupId).Any(x => x == t.Id));
appInWorksQuery = appInWorksQuery.Where(t => jobsRequests.Select(j => j.JobId).Any(x => x == t.ApplicationInWorkId));
workGroupsQuery = workGroupsQuery.Where(t => jobsRequests.Select(w => w.WorkGroupId).Any(x => x == t.Id));
}
@@ -157,6 +157,10 @@ namespace PARR.API.Controllers.V1.Statistics
});
});
// убираем не нужные значения так как запрос в SQL (query) был с несколькими Any
if (jobsRequests != null && jobsRequests.Count() > 0)
response = response.Where(t => jobsRequests.Any(x => x.WorkGroupId == t.WorkGroup.Id && x.JobId == t.Job.Id)).ToList();
response = response.OrderBy(t => t.Job.ShortDescription).ThenBy(t => t.Job.Application?.Name).ThenBy(t => t.WorkGroup.Name).ToList();
return response;