fix(aihitRealtionshipsSyncer): добавлен фильтр списка имен дочерних связей

This commit is contained in:
Mikhail Kuznetsov
2025-06-02 16:02:27 +10:00
parent 943370010f
commit 8d23a9914f

View File

@@ -50,8 +50,12 @@ namespace PARR.AIHITRelationshipsSyncer.Services.Implementations
logger.LogError($"Не удалось получиться родительский ЭК по имени{parentName}"); logger.LogError($"Не удалось получиться родительский ЭК по имени{parentName}");
return; 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 //Проходим циклом по полученному списку для актуализации связей в полученном нами экземпляре Unit
var isChanged = await SyncChildSUnitAsync(unit, childsName); var isChanged = await SyncChildSUnitAsync(unit, childsName);
@@ -117,7 +121,6 @@ namespace PARR.AIHITRelationshipsSyncer.Services.Implementations
isChanged = true; isChanged = true;
} }
//проверяем отсутсвующие связи //проверяем отсутсвующие связи
var absentChildrens = childsName.Where(c => !unit.ChildUnits.Any(x => x.ChildUnit?.Name.ToLower() == c.ToLower().Trim())); var absentChildrens = childsName.Where(c => !unit.ChildUnits.Any(x => x.ChildUnit?.Name.ToLower() == c.ToLower().Trim()));
foreach (var absentChildren in absentChildrens) foreach (var absentChildren in absentChildrens)