diff --git a/PARR.TemplateDistributor/TemplateDistributor.cs b/PARR.TemplateDistributor/TemplateDistributor.cs index 0d1992d9..91ac0ed1 100644 --- a/PARR.TemplateDistributor/TemplateDistributor.cs +++ b/PARR.TemplateDistributor/TemplateDistributor.cs @@ -98,13 +98,13 @@ namespace PARR.TemplateDistributor .Where(t => t.ApplicationInWorkId == applicationInWorkId && t.Host!.WorkGroupId == workGroupId) .ToListAsync(); - //Удалим из входных шаблонов уже существующие в БД + //Удалим из входных шаблонов уже существующие в БД (по идее, такого никогда не должно случиться) var duplicates = templates.Select(t => t.Id).Where(t => existingTemplates.Any(et => et.Id == t)).ToList(); if (duplicates.Count > 0) { duplicates.ForEach(t => { - logger.LogInformation($"Для распределения AiW({applicationInWorkId}),workGroupId({workGroupId}) передан существующий в базе данных шаблон {t}"); + logger.LogWarning($"Для распределения AiW({applicationInWorkId}),workGroupId({workGroupId}) передан существующий в базе данных шаблон {t}"); }); templates.RemoveAll(t => duplicates.Any(dt => dt == t.Id)); } @@ -125,7 +125,7 @@ namespace PARR.TemplateDistributor if (activatedTemplates.Count > 0) { Distribute(ref activatedTemplates, refDate, period, periodType, workDays); - result.AddRange(activatedTemplates); + // result.AddRange(activatedTemplates); } //распределяем РР отдельно деактивированные @@ -136,6 +136,19 @@ namespace PARR.TemplateDistributor if (deactivatedTemplates.Count > 0) { Distribute(ref deactivatedTemplates, refDate, period, periodType, workDays); + // result.AddRange(deactivatedTemplates); + } + + + if (templates.Any()) + { + // это была генерация шаблонов, не нужны все шаблоны, нужны только те которые передал для получения NextRun + result.AddRange(templates); + } + else + { + // это было распределение шаблонов, добавляем активированные и деактивированные + result.AddRange(activatedTemplates); result.AddRange(deactivatedTemplates); } @@ -228,7 +241,11 @@ namespace PARR.TemplateDistributor //Проверяем шаблоны уже распределённые, чтобы не перемещать лишний раз var templateToDistrib = GetTemplatesToDistribute(ref distrPlan, templates); - logger.LogInformation($"{GetType().Name}(AppInWId:{templates.Select(t => t.ApplicationInWorkId).First()}, WorkGroup:{templates.Select(t => t.Host!.WorkGroup!.Name).First()}) запланировал изменение даты следующего срабатывания у {templateToDistrib.Count()} существующих шаблона(ов), {templates.Count() - templateToDistrib.Count()} остались без изменений"); + //logger.LogInformation($"{GetType().Name}(AppInWId:{templates.Select(t => t.ApplicationInWorkId).First()}, WorkGroup:{templates.Select(t => t.Host!.WorkGroup!.Name).First()}) запланировал изменение даты следующего срабатывания у {templateToDistrib.Count()} существующих шаблона(ов), {templates.Count() - templateToDistrib.Count()} остались без изменений"); + string? loggerWorkGroup = templates.FirstOrDefault()?.Host?.WorkGroup != null ? templates.FirstOrDefault()?.Host?.WorkGroup?.Name : templates.FirstOrDefault()?.Host?.WorkGroupId?.ToString(); + logger.LogInformation($"{GetType().Name}(AppInWId:{templates.Select(t => t.ApplicationInWorkId).First()}, " + + $"WorkGroup:{loggerWorkGroup}) " + + $"запланировал изменение даты следующего срабатывания у {templateToDistrib.Count()} существующих шаблона(ов), {templates.Count() - templateToDistrib.Count()} остались без изменений"); if (!templateToDistrib.Any()) return;