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

@@ -0,0 +1,41 @@
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
namespace PARR.TemplateMatcher.Services.Implementations
{
/// <summary>
/// Определяет начальные статусы шаблона и расписания на основе типа группы работ.
/// Если IsJobGroupAutoControl == true → берём из JobGroup.AutoControl.
/// Иначе → берём из Job.AutoControl.
/// </summary>
public static class AutoControlResolver
{
public static (bool IsActiveTemplate, bool IsActiveSchedule) ResolveInitStates(
Job job,
JobGroup? jobGroup,
bool defaultTemplateState = false,
bool defaultScheduleState = false)
{
// Тип группы определяет источник настроек
var isGroupLevel = jobGroup?.GroupType?.IsJobGroupAutoControl == true;
if (isGroupLevel && jobGroup!.AutoControl != null)
{
return (
jobGroup.AutoControl.InitUsedTemplateState,
jobGroup.AutoControl.InitUsedScheduleState
);
}
if (!isGroupLevel && job.AutoControl != null)
{
return (
job.AutoControl.InitUsedTemplateState,
job.AutoControl.InitUsedScheduleState
);
}
return (defaultTemplateState, defaultScheduleState);
}
}
}