feat(templateMatcher): Приоритет автоконтроля JobGroup>Job при создании/переиспользовании шаблона

This commit is contained in:
Mikhail Kuznetsov
2026-07-03 11:59:46 +10:00
parent 36e866f637
commit 9c27f81fe8
4 changed files with 8 additions and 11 deletions

View File

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

View File

@@ -1,7 +1,7 @@
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
namespace PARR.TemplateMatcher.Services
namespace PARR.TemplateMatcher.Services.Implementations
{
/// <summary>
/// Определяет начальные статусы шаблона и расписания на основе типа группы работ.

View File

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