From dbb7dee4b4bf81deba61d91aa00f96747811761b Mon Sep 17 00:00:00 2001 From: Mikhail Kuznetsov Date: Thu, 25 Dec 2025 16:05:55 +1000 Subject: [PATCH] =?UTF-8?q?fix(templateMatcher):=20=D0=94=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D1=83=D0=B6=D0=B5=20?= =?UTF-8?q?=D0=B4=D0=B5=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20=D1=81=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=83=D1=81=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Implemetaions/GroupedTemplateSynchronizer.cs | 8 +++++++- .../Services/Implemetaions/SimpleTemplateSynchronizer.cs | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/PARR.TemplateMatcher/Services/Implemetaions/GroupedTemplateSynchronizer.cs b/PARR.TemplateMatcher/Services/Implemetaions/GroupedTemplateSynchronizer.cs index d0bebfb4..f1afe839 100644 --- a/PARR.TemplateMatcher/Services/Implemetaions/GroupedTemplateSynchronizer.cs +++ b/PARR.TemplateMatcher/Services/Implemetaions/GroupedTemplateSynchronizer.cs @@ -387,7 +387,7 @@ internal class GroupedTemplateSynchronizer : ITemplateSynchronizer logger.LogDebug("Связанный юнит {RegionalUnitId}: разбит на {GroupCount} подгрупп.", relationshipUnitId, childUnitGroups.Count); // Для каждой подгруппы: - for (int i = 0; i < childUnitGroups.Count; i++) + for (int i = 1; i <= childUnitGroups.Count; i++) { var subGroup = childUnitGroups[i]; var subGroupSize = subGroup.Count; @@ -649,6 +649,12 @@ internal class GroupedTemplateSynchronizer : ITemplateSynchronizer if (template.StatusTypeId == TemplateStatusTypeEnum.Updating) return true; // уже в обработке + if (template.StatusTypeId == TemplateStatusTypeEnum.Unused) + { + logger.LogDebug("Шаблон {TemplateId} уже неактивен (Unused), пропускаем деактивацию.", template.Id); + return true; + } + logger.LogInformation("Шаблон {TemplateId} (UnitId {UnitId}) → деактивация.", template.Id, template.UnitId); diff --git a/PARR.TemplateMatcher/Services/Implemetaions/SimpleTemplateSynchronizer.cs b/PARR.TemplateMatcher/Services/Implemetaions/SimpleTemplateSynchronizer.cs index de0afa61..a27bb146 100644 --- a/PARR.TemplateMatcher/Services/Implemetaions/SimpleTemplateSynchronizer.cs +++ b/PARR.TemplateMatcher/Services/Implemetaions/SimpleTemplateSynchronizer.cs @@ -298,6 +298,12 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer if (template.StatusTypeId == TemplateStatusTypeEnum.Updating) return true; // уже в обработке + if (template.StatusTypeId == TemplateStatusTypeEnum.Unused) + { + logger.LogDebug("Шаблон {TemplateId} уже неактивен (Unused), пропускаем деактивацию.", template.Id); + return true; + } + logger.LogInformation("Шаблон {TemplateId} (UnitId {UnitId}) → деактивация.", template.Id, template.UnitId);