From 7ffc5f10e1bfe7e64248b024d9fdfb7b8283c01d Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Thu, 22 Aug 2024 14:32:48 +1000 Subject: [PATCH] =?UTF-8?q?feat(api):=20StatTemplateDistributor=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B0=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D0=B8=D1=81=D1=82=D0=B8=D0=BA=D0=B0=20=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=B8=D0=B2=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=BC=D0=B8,=20=D0=B4=D0=B5=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D0=B2=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=BC?= =?UTF-8?q?=D0=B8=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StatTemplateDistributorResponse.cs | 11 ++++++++-- .../StatTemplateDistributionController.cs | 21 ++++++++++++++++--- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/PARR.API/Contracts/V1/Responses/Statistics/StatTemplateDistributorResponse.cs b/PARR.API/Contracts/V1/Responses/Statistics/StatTemplateDistributorResponse.cs index 22f126be..a3046a91 100644 --- a/PARR.API/Contracts/V1/Responses/Statistics/StatTemplateDistributorResponse.cs +++ b/PARR.API/Contracts/V1/Responses/Statistics/StatTemplateDistributorResponse.cs @@ -4,7 +4,12 @@ { public WorkGroupResponse? WorkGroup { get; set; } - public int CountTemplates { get; set; } + public int AllCount { get; set; } + + public int IsActivatedAllCount { get; set; } + + public int IsDeactivatedAllCount { get; set; } + public List? Stat { get; set; } } @@ -12,6 +17,8 @@ public class StatTemplateDistributorDateStat { public DateTimeOffset Date { get; set; } - public int Count { get; set; } + public int AllCount { get; set; } + public int IsActivatedCount { get; set; } + public int IsDeactivatedCount { get;set; } } } diff --git a/PARR.API/Controllers/V1/Statistics/StatTemplateDistributionController.cs b/PARR.API/Controllers/V1/Statistics/StatTemplateDistributionController.cs index e3673e37..cab04a9f 100644 --- a/PARR.API/Controllers/V1/Statistics/StatTemplateDistributionController.cs +++ b/PARR.API/Controllers/V1/Statistics/StatTemplateDistributionController.cs @@ -52,12 +52,19 @@ namespace PARR.API.Controllers.V1.Statistics { WorkGroupId = x.Key, CountTemplates = x.Count(), + IsActivatedAllCount = x.Count(t => t.IsActiveTemplate && t.IsActiveSchedule), + IsDeactivatedAllCount = x.Count(t => !t.IsActiveTemplate || !t.IsActiveSchedule || (!t.IsActiveTemplate && !t.IsActiveSchedule)), GroupingByDate = x.GroupBy(d => d.NextRun).OrderBy(d => d.Key).Select(d => new { Date = d.Key, - Count = d.Count() + //Всего + Count = d.Count(), + //Только активированных + IsActivatedCount = d.Count(t => t.IsActiveTemplate && t.IsActiveSchedule), + //Только деактивированных + IsDeactivatedCount = d.Count(t => !t.IsActiveTemplate || !t.IsActiveSchedule || (!t.IsActiveTemplate && !t.IsActiveSchedule)) } ) @@ -74,8 +81,16 @@ namespace PARR.API.Controllers.V1.Statistics var response = statResult.Select(stat => new StatTemplateDistributorResponse { WorkGroup = mapper.Map(workGroups.FirstOrDefault(x => x.Id == stat.WorkGroupId)), - CountTemplates = stat.CountTemplates, - Stat = stat.GroupingByDate.Select(x => new StatTemplateDistributorDateStat { Count = x.Count, Date = x.Date }).ToList() + AllCount = stat.CountTemplates, + IsActivatedAllCount = stat.IsActivatedAllCount, + IsDeactivatedAllCount = stat.IsDeactivatedAllCount, + Stat = stat.GroupingByDate.Select(x => new StatTemplateDistributorDateStat + { + AllCount = x.Count, + Date = x.Date, + IsActivatedCount = x.IsActivatedCount, + IsDeactivatedCount = x.IsDeactivatedCount + }).ToList() }) .OrderBy(t => t.WorkGroup?.Name) .ToList();