fix(templateDistributor): исправлен First в логгере. При распределении шаблонов направленных с генератора, возвращаются только они, а не весь список.

This commit is contained in:
Mikhail Trubnikov
2024-09-13 09:37:21 +10:00
parent 1af76405e2
commit 60403ccbf9

View File

@@ -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;