feat(templateMatcher): Добавлена проверка принадлежности связанного ЭК к КИИ, который имеет больший приоритет.

This commit is contained in:
Mikhail Kuznetsov
2026-05-12 11:24:17 +10:00
parent 0235fe0028
commit 0cc7b0dfbb
4 changed files with 173 additions and 156 deletions

View File

@@ -0,0 +1,23 @@
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
namespace PARR.TemplateMatcher.Services.Interfaces
{
/// <summary>
/// Разрешает конфликты при сопоставлении юнитов к шаблонам и строит итоговую карту связей.
/// </summary>
public interface IUnitInTemplateConflictMapper
{
/// <summary>
/// Строит маппинг: UnitId шаблона -> [Список юнитов в UnitsInTemplate].
/// При наличии нескольких кандидатов для одного юнита выбирается лучший по приоритету:
/// 1. Наличие в таблице UnitKiiUnit
/// 2. Наибольшее количество связей
/// 3. Алфавитный порядок имени юнита
/// </summary>
Task<Dictionary<Guid, List<Guid>>> BuildMappingAsync(
IEnumerable<UnitFilterResultDto> unitFilterResults,
Job maxJob,
CancellationToken ct = default);
}
}