feat(api, core): Workload - отчет по одной ЗО - РГ.
This commit is contained in:
@@ -412,7 +412,7 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
//keyList.AddRange(cacheWorkloadResponseAreaAllKey);
|
||||
keyList.AddRange(CacheKeys.Workload.WorkloadResponseAreaAll());
|
||||
break;
|
||||
case WorkloadReportType.ResponseAreaItem:
|
||||
case WorkloadReportType.ResponseAreaWorkGroups:
|
||||
keyList.AddRange(CacheKeys.Workload.WorkloadResponseAreaItem());
|
||||
break;
|
||||
case WorkloadReportType.WorkGroupAll:
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
logger.LogDebug("Начинаю формировать отчет о загруженности по параметрам: reportType '{ReportType}', dateStart {DateStart}, durationDays {DurationDays}, offset {Offset}",
|
||||
reportType.ToString(), dateStart, durationDays, offset);
|
||||
|
||||
if ((reportType == WorkloadReportType.WorkGroupItem || reportType == WorkloadReportType.ResponseAreaItem) && string.IsNullOrEmpty(filterParam))
|
||||
if ((reportType == WorkloadReportType.WorkGroupItem || reportType == WorkloadReportType.ResponseAreaWorkGroups) && string.IsNullOrEmpty(filterParam))
|
||||
{
|
||||
logger.LogError("Для типа отчета {ReportType} не передан параметр.", reportType.ToString());
|
||||
throw new ArgumentNullException(nameof(filterParam), $"Для отчета типа {reportType.ToString()} параметр является обязательным.");
|
||||
@@ -83,11 +83,14 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
foreach (var group in templates.GroupBy(t => t.ResponseArea))
|
||||
statistics.Add(BuildStatisticItem(group.Key, group, reportDays, offset));
|
||||
break;
|
||||
case WorkloadReportType.ResponseAreaItem:
|
||||
case WorkloadReportType.ResponseAreaWorkGroups:
|
||||
displayName = "По зоне ответственности";
|
||||
//todo: тут нужно вернуть другой отчет, либо группы работ, либо список работ
|
||||
// Фильтруем по ЗО
|
||||
var filteredRA = templates.Where(t => t.ResponseArea.Equals(filterParam, StringComparison.OrdinalIgnoreCase)).ToList();
|
||||
statistics.Add(BuildStatisticItem(filterParam!, filteredRA, reportDays, offset));
|
||||
// Группируем работы по РГ
|
||||
foreach (var group in filteredRA.GroupBy(t => t.WorkGroup))
|
||||
statistics.Add(BuildStatisticItem(group.Key, group, reportDays, offset));
|
||||
//statistics.Add(BuildStatisticItem(filterParam!, filteredRA, reportDays, offset));
|
||||
break;
|
||||
case WorkloadReportType.WorkGroupAll:
|
||||
displayName = "По рабочим группам";
|
||||
|
||||
Reference in New Issue
Block a user