diff --git a/PARR.AIHITRelationshipsSyncer/Services/Implementations/RelationshipsSyncSrevice.cs b/PARR.AIHITRelationshipsSyncer/Services/Implementations/RelationshipsSyncSrevice.cs index 9aef7e2b..a82108fb 100644 --- a/PARR.AIHITRelationshipsSyncer/Services/Implementations/RelationshipsSyncSrevice.cs +++ b/PARR.AIHITRelationshipsSyncer/Services/Implementations/RelationshipsSyncSrevice.cs @@ -50,8 +50,12 @@ namespace PARR.AIHITRelationshipsSyncer.Services.Implementations logger.LogError($"Не удалось получиться родительский ЭК по имени{parentName}"); return; } + //Из данных АИХ ИТ получаем имена всех дочерних ЭК - var childsName = parrent.Where(t => t.ChildEk != parentName).Select(t => t.ChildEk); + var childsName = parrent.Where(t => t.ChildEk != parentName && t.ChildEk != null).Select(t => t.ChildEk); + + //Убираем ЭК типа РПА-РОБИН-РЦКУ-СПИУИ-ИНФО-27-ГОР и РПА - РОБИН - РЦКУ - СПиУИ - ИНФО - 27 - ГОР + childsName = childsName.Select(t => t?.ToLower().Trim()).Distinct(); //Проходим циклом по полученному списку для актуализации связей в полученном нами экземпляре Unit var isChanged = await SyncChildSUnitAsync(unit, childsName); @@ -117,7 +121,6 @@ namespace PARR.AIHITRelationshipsSyncer.Services.Implementations isChanged = true; } - //проверяем отсутсвующие связи var absentChildrens = childsName.Where(c => !unit.ChildUnits.Any(x => x.ChildUnit?.Name.ToLower() == c.ToLower().Trim())); foreach (var absentChildren in absentChildrens)