2026-07-03 11:17:48 +10:00
|
|
|
|
using PARR.Domain.Entities.JobEntities;
|
2026-06-15 16:56:23 +10:00
|
|
|
|
using PARR.Domain.Entities.JobGroupEntities;
|
2026-05-14 16:47:27 +10:00
|
|
|
|
using PARR.TemplateMatcher.Models;
|
|
|
|
|
|
|
2026-06-11 15:09:46 +10:00
|
|
|
|
namespace PARR.TemplateMatcher.Services.GroupedSync;
|
2026-05-14 16:47:27 +10:00
|
|
|
|
|
|
|
|
|
|
public interface IGroupedTemplateBuilder
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Строит структуру групп для создания групповых шаблонов.
|
|
|
|
|
|
/// Трансформирует связи в пары (UnitId, UnitFieldValueId),
|
|
|
|
|
|
/// выполняет внутреннюю группировку и разбиение на подгруппы.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
Task<List<GroupedTemplateGroup>> BuildAsync(
|
|
|
|
|
|
Dictionary<Guid, List<Guid>> initialReverseMapping,
|
|
|
|
|
|
JobGroup jobGroup,
|
|
|
|
|
|
Job maxJob,
|
2026-09-09 17:09:57 +10:00
|
|
|
|
Dictionary<Guid, string> unitNames,
|
2026-05-14 16:47:27 +10:00
|
|
|
|
CancellationToken ct = default);
|
2026-06-11 15:09:46 +10:00
|
|
|
|
}
|