diff --git a/PARR.TemplateMatcher/Services/GroupedSync/GroupedTemplateProcessor.cs b/PARR.TemplateMatcher/Services/GroupedSync/GroupedTemplateProcessor.cs index c2db4fc7..da51b178 100644 --- a/PARR.TemplateMatcher/Services/GroupedSync/GroupedTemplateProcessor.cs +++ b/PARR.TemplateMatcher/Services/GroupedSync/GroupedTemplateProcessor.cs @@ -9,6 +9,7 @@ using PARR.Domain.Entities.Base.History; using PARR.Domain.Entities.JobEntities; using PARR.Domain.Enums; using PARR.TemplateMatcher.Models; +using PARR.TemplateMatcher.Services.Implementations; using PARR.TemplateMatcher.Services.Interfaces; using PARR.TemplateMatcher.Settings; @@ -173,11 +174,9 @@ internal class GroupedTemplateProcessor : IGroupedTemplateProcessor HistoryInitiator initiator, CancellationToken ct) { - // Вычисляем флаги активности - var isActiveTemplate = targetJob.AutoControl?.InitUsedTemplateState ?? false; - var isActiveSchedule = targetJob.AutoControl?.InitUsedScheduleState ?? false; + var (isActiveTemplate, isActiveSchedule) = AutoControlResolver.ResolveInitStates( + targetJob, targetJob.Group); - // Маппим кортежи в сообщения var unitsInTemplateMsg = unitsInTemplateSubGroup .Select(e => new UnitInTemplateMessage { diff --git a/PARR.TemplateMatcher/Services/AutoControlResolver.cs b/PARR.TemplateMatcher/Services/Implementations/AutoControlResolver.cs similarity index 96% rename from PARR.TemplateMatcher/Services/AutoControlResolver.cs rename to PARR.TemplateMatcher/Services/Implementations/AutoControlResolver.cs index d1a368fe..4ca82b79 100644 --- a/PARR.TemplateMatcher/Services/AutoControlResolver.cs +++ b/PARR.TemplateMatcher/Services/Implementations/AutoControlResolver.cs @@ -1,7 +1,7 @@ using PARR.Domain.Entities.JobEntities; using PARR.Domain.Entities.JobGroupEntities; -namespace PARR.TemplateMatcher.Services +namespace PARR.TemplateMatcher.Services.Implementations { /// /// Определяет начальные статусы шаблона и расписания на основе типа группы работ. diff --git a/PARR.TemplateMatcher/Services/SimpleSync/AllocateTemplatesStage.cs b/PARR.TemplateMatcher/Services/SimpleSync/AllocateTemplatesStage.cs index 5f648f00..03e95a48 100644 --- a/PARR.TemplateMatcher/Services/SimpleSync/AllocateTemplatesStage.cs +++ b/PARR.TemplateMatcher/Services/SimpleSync/AllocateTemplatesStage.cs @@ -28,8 +28,9 @@ internal class AllocateTemplatesStage : ISimpleSyncWriteStage foreach (var unitId in context.NewUnitIds) { - var isActiveTemplate = context.Job.AutoControl?.InitUsedTemplateState ?? defaultUsedTemplateState; - var isActiveSchedule = context.Job.AutoControl?.InitUsedScheduleState ?? defaultUsedScheduleState; + var (isActiveTemplate, isActiveSchedule) = AutoControlResolver.ResolveInitStates( + context.Job, context.Job.Group, + defaultUsedTemplateState, defaultUsedScheduleState); var request = new TemplateAllocationRequest( TargetJob: context.Job, diff --git a/PARR.Test/Worker.cs b/PARR.Test/Worker.cs index b2c82477..703d9518 100644 --- a/PARR.Test/Worker.cs +++ b/PARR.Test/Worker.cs @@ -1,13 +1,11 @@ using Microsoft.EntityFrameworkCore; using PARR.Core.Common.Interfaces; using PARR.Core.Repositories.Interfaces.JobGroupRepositories; -using PARR.Domain.Cache; using PARR.Domain.Entities.Base.History; using PARR.Domain.Enums; using PARR.EsppApi; using PARR.EsppApi.Constants; using PARR.EsppApi.Models.Query; -using PARR.TemplateMatcher; using PARR.TemplateMatcher.Services.Implementations; using PARR.TemplateMatcher.Services.Interfaces; using PARR.Test.NextRun; @@ -44,8 +42,7 @@ namespace PARR.Test //var bbb = aaa.ToOffset(new TimeSpan(3, 0, 0)); - //await TemplateMatcherTest(); - await SimpleSyncTest(); + await TemplateMatcherTest();