fix(templateMatcher): добавлена логика обработки StatusType, обновляем только когнда действительно поменялось состояние. Была ошибка когда Unsed повторно становился Unsed и в конце шаблона опять дописывался UnixTimeSeconds.
This commit is contained in:
@@ -101,7 +101,7 @@ namespace PARR.DAL.DomainServices.Implementations
|
|||||||
// Защита от "бесполезных" итераций (строка не изменилась)
|
// Защита от "бесполезных" итераций (строка не изменилась)
|
||||||
if (resultName == oldResult)
|
if (resultName == oldResult)
|
||||||
{
|
{
|
||||||
logger.LogWarning("Замена стандартных шорткодов не изменила строку на итерации {Iteration}. Останов.", iteration);
|
logger.LogDebug("Замена стандартных шорткодов не изменила строку на итерации {Iteration}. Останов.", iteration);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -213,11 +213,15 @@ namespace PARR.TemplateMatcher
|
|||||||
logger.LogInformation("Шаблон {TemplateId} (UnitId {UnitId}) → деактивация.", template.Id, template.UnitId);
|
logger.LogInformation("Шаблон {TemplateId} (UnitId {UnitId}) → деактивация.", template.Id, template.UnitId);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool needsUpdate =
|
bool needsUpdate = template.StatusTypeId != TemplateStatusTypeEnum.Updating &&
|
||||||
template.StatusTypeId != TemplateStatusTypeEnum.Updating &&
|
|
||||||
(
|
(
|
||||||
|
// 1. Статус изменился (например, Used → Unused или Unused → Used)
|
||||||
template.StatusTypeId != targetStatus ||
|
template.StatusTypeId != targetStatus ||
|
||||||
template.Name != expectedName ||
|
|
||||||
|
// 2. Для Used — имя должно соответствовать шаблону
|
||||||
|
(targetStatus == TemplateStatusTypeEnum.Used && template.Name != expectedName) ||
|
||||||
|
|
||||||
|
// 3. Флаги изменились (редко, но возможно через AutoControl изменение)
|
||||||
template.IsActiveTemplate != targetIsActiveTemplate ||
|
template.IsActiveTemplate != targetIsActiveTemplate ||
|
||||||
template.IsActiveSchedule != targetIsActiveSchedule
|
template.IsActiveSchedule != targetIsActiveSchedule
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user