diff --git a/PARR.API/Controllers/V1/Statistics/StatWorkWorkLoadController.cs b/PARR.API/Controllers/V1/Statistics/StatWorkWorkLoadController.cs index 62a01b5d..20b71098 100644 --- a/PARR.API/Controllers/V1/Statistics/StatWorkWorkLoadController.cs +++ b/PARR.API/Controllers/V1/Statistics/StatWorkWorkLoadController.cs @@ -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;