feat(api): WorkloadBaseQuery добавлен параметр TimeZoneOffsetHours, смещение таймзоны для построения отчетов в часовом поясе клиента

This commit is contained in:
Mikhail Trubnikov
2024-08-29 10:15:54 +10:00
parent a30ed148e8
commit 1e8d409c77
5 changed files with 16 additions and 12 deletions

View File

@@ -78,8 +78,8 @@ namespace PARR.API.Controllers.V1.Statistics
if (responseAreas != null && responseAreas.Count() > 0)
query = query.Where(t => responseAreas.Any(x => x == t.Host.WorkGroup.ResponseAreaCode));
var groupedQuery = query.GroupBy(t => new { t.NextRun.DateTime.Date, t.Host!.WorkGroup!.ResponseAreaCode })
//var groupedQuery = query.GroupBy(t => new { t.NextRun.DateTime.Date, t.Host!.WorkGroup!.ResponseAreaCode })
var groupedQuery = query.GroupBy(t => new { t.NextRun.AddHours(requestQuery.TimeZoneOffsetHours).DateTime.Date, t.Host!.WorkGroup!.ResponseAreaCode })
.Select(t => new
{
ResponseAreaCode = t.Key.ResponseAreaCode,

View File

@@ -92,7 +92,8 @@ namespace PARR.API.Controllers.V1.Statistics
query = query.Where(t => workGroups.Any(x => x == t.Host!.WorkGroupId.Value));
var groupedQuery = query.GroupBy(t => new { t.NextRun.DateTime.Date, t.Host!.WorkGroupId })
// var groupedQuery = query.GroupBy(t => new { t.NextRun.DateTime.Date, t.Host!.WorkGroupId })
var groupedQuery = query.GroupBy(t => new { t.NextRun.AddHours(requestQuery.TimeZoneOffsetHours).DateTime.Date, t.Host!.WorkGroupId })
.Select(t => new
{
WorkGroupId = t.Key.WorkGroupId,

View File

@@ -94,7 +94,8 @@ namespace PARR.API.Controllers.V1.Statistics
//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));
var groupedQuery = query.GroupBy(t => new { t.NextRun.DateTime.Date, t.ApplicationInWorkId, t.Host.WorkGroupId })
//var groupedQuery = query.GroupBy(t => new { t.NextRun.DateTime.Date, t.ApplicationInWorkId, t.Host.WorkGroupId })
var groupedQuery = query.GroupBy(t => new { t.NextRun.AddHours(requestQuery.TimeZoneOffsetHours).DateTime.Date, t.ApplicationInWorkId, t.Host.WorkGroupId })
.Select(t => new
{
ApplicationInWorkId = t.Key.ApplicationInWorkId,