feat(templateMatcher): Рефакторинг, основной метод синхронизации GroupedTemplateSynchronizer разбит на отдельные классы; Неиспользуемые шаблоны теперь привязываются к ЭК КОСМПЛЕКСЫ-[ЗО].

This commit is contained in:
Mikhail Kuznetsov
2026-05-14 16:47:27 +10:00
parent f7a74d315a
commit 90e6352117
30 changed files with 1150 additions and 864 deletions

View File

@@ -0,0 +1,60 @@
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Enums;
namespace PARR.Domain.Common.Rabbit.Messages.TemplateMatching
{
public record TemplateUpdaterMessage
{
public Guid TemplateId { get; init; }
/// <summary>
/// Id регламентной работы
/// </summary>
public Guid JobId { get; init; }
public required string Name { get; init; }
/// <summary>
/// Актировать шаблон при инициализации
/// </summary>
public bool IsActiveTemplate { get; init; }
/// <summary>
/// Актировать расписание при инициализации
/// </summary>
public bool IsActiveSchedule { get; init; }
//public DateTimeOffinit? LastRun { get; init; }
//public DateTimeOffinit NextRun { get; init; }
/// <summary>
/// Это новый шаблон? (true - перемещаем существующий в новый Job) (false - шаблон остается в своем Job)
/// </summary>
public bool IsNew { get; init; }
/// <summary>
/// Id Юнита(единицы обслуживания)/ЭК
/// </summary>
public Guid UnitId { get; init; }
/// <summary>
/// Индекс, используется в групповых шаблонах
/// </summary>
public int? Index { get; init; }
public TemplateStatusTypeEnum StatusTypeId { get; init; }
/// <summary>
/// Инициатор запроса к генератору
/// </summary>
public required HistoryInitiator Initiator { get; init; }
/// <summary>
/// Связанные ЭК для сгруппированного типа JobGroup
/// </summary>
public required List<UnitInTemplateMessage> UnitsInTemplate { get; init; }
}
}