From 8d23a9914f734e19a3a13693639e8fe03109c1b5 Mon Sep 17 00:00:00 2001 From: Mikhail Kuznetsov Date: Mon, 2 Jun 2025 16:02:27 +1000 Subject: [PATCH] =?UTF-8?q?fix(aihitRealtionshipsSyncer):=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=84=D0=B8=D0=BB=D1=8C?= =?UTF-8?q?=D1=82=D1=80=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=20=D0=B4=D0=BE=D1=87=D0=B5=D1=80=D0=BD=D0=B8?= =?UTF-8?q?=D1=85=20=D1=81=D0=B2=D1=8F=D0=B7=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Implementations/RelationshipsSyncSrevice.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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)