From 4a27caa5a0d8f4eef667cc9ed0d1c01ea7329298 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期五, 20 十二月 2024 21:47:27 +0800
Subject: [PATCH] 增加冷却塔匹配

---
 Service/HStation.Service.Revit.Core/04-service/02-correct/RevitCorrectHelper.cs |   41 +++++++++++++++++++++++++++++++++--------
 1 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/Service/HStation.Service.Revit.Core/04-service/02-correct/RevitCorrectHelper.cs b/Service/HStation.Service.Revit.Core/04-service/02-correct/RevitCorrectHelper.cs
index 04f52ce..d52d8cc 100644
--- a/Service/HStation.Service.Revit.Core/04-service/02-correct/RevitCorrectHelper.cs
+++ b/Service/HStation.Service.Revit.Core/04-service/02-correct/RevitCorrectHelper.cs
@@ -281,6 +281,19 @@
                     }
                 }
             }
+            if (rhs.Coolings != null && rhs.Coolings.Count > 0)
+            {//鍐峰嵈濉�
+                var coolingNameList = rhs.Coolings.Where(x => !string.IsNullOrEmpty(x.Name)).Select(x => x.Name).Distinct().ToList();
+                foreach (var cooling in rhs.Coolings)
+                {
+                    if (string.IsNullOrEmpty(cooling.Name))
+                    {
+                        var coolingName = Yw.Untity.UniqueHelper.CreateFromFirst("鍐峰嵈濉�", coolingNameList);
+                        cooling.Name = coolingName;
+                        coolingNameList.Add(coolingName);
+                    }
+                }
+            }
             if (rhs.Meters != null && rhs.Meters.Count > 0)
             {//姘磋〃
                 var meterNameList = rhs.Meters.Where(x => !string.IsNullOrEmpty(x.Name)).Select(x => x.Name).Distinct().ToList();
@@ -465,6 +478,7 @@
                             result = false;
                             continue;
                         }
+
                         var startJunction = new Model.RevitJunction();
                         startJunction.Id = Yw.Untity.UniqueHelper.CreateFromFirst("junction", allParterList.Select(x => x.Id).ToList());
                         startJunction.Name = UniqueHelper.CreateFromFirst("杩炴帴鑺傜偣", allParterList.Select(x => x.Name).Distinct().ToList());
@@ -475,8 +489,7 @@
                         startJunction.Elev = exchanger.Elev;
                         startJunction.Demand = null;
                         startJunction.DemandPattern = null;
-                        rhs.Junctions.Add(startJunction);
-                        exchanger.StartCode = startJunction.Id;
+
                         foreach (var startConnect in startConnectList)
                         {
                             var startConnectParter = allParterList.Find(x => x.Id == startConnect.Id);
@@ -490,9 +503,15 @@
                                 {
                                     revitLink.EndCode = startJunction.Id;
                                 }
+                                if (!rhs.Junctions.Exists(t => t.Id == startJunction.Id))
+                                {
+                                    rhs.Junctions.Add(startJunction);
+                                    exchanger.StartCode = startJunction.Id;
+                                    allParterList.Add(startJunction);
+                                }
                             }
                         }
-                        allParterList.Add(startJunction);
+
 
                         #endregion
 
@@ -513,6 +532,7 @@
                             result = false;
                             continue;
                         }
+
                         var endJunction = new Model.RevitJunction();
                         endJunction.Id = Yw.Untity.UniqueHelper.CreateFromFirst("junction", allParterList.Select(x => x.Id).ToList());
                         endJunction.Name = UniqueHelper.CreateFromFirst("杩炴帴鑺傜偣", allParterList.Select(x => x.Name).Distinct().ToList());
@@ -523,8 +543,7 @@
                         endJunction.Elev = exchanger.Elev;
                         endJunction.Demand = null;
                         endJunction.DemandPattern = null;
-                        rhs.Junctions.Add(endJunction);
-                        exchanger.EndCode = endJunction.Id;
+
                         foreach (var endConnect in endConnectList)
                         {
                             var endConnectParter = allParterList.Find(x => x.Id == endConnect.Id);
@@ -538,9 +557,15 @@
                                 {
                                     revitLink.EndCode = endJunction.Id;
                                 }
+                                if (!rhs.Junctions.Exists(t => t.Id == endJunction.Id))
+                                {
+                                    rhs.Junctions.Add(endJunction);
+                                    exchanger.EndCode = endJunction.Id;
+                                    allParterList.Add(endJunction);
+                                }
                             }
                         }
-                        allParterList.Add(endJunction);
+
 
                         #endregion
                     }
@@ -726,7 +751,7 @@
                 var startLinkParter = allParterList.Find(x => x.Id == link.StartCode);
                 if (startLinkParter == null)
                 {
-                    msgList.Add($"绠℃:[{link.Id}]涓婃父鑺傜偣閿欒");
+                    msgList.Add($"绠℃:[{link.Id}]涓婃父鑺傜偣[{link.StartCode}]閿欒");
                     result = false;
                 }
                 else
@@ -737,7 +762,7 @@
                 var endLinkParter = allParterList.Find(x => x.Id == link.EndCode);
                 if (endLinkParter == null)
                 {
-                    msgList.Add($"绠℃:[{link.Id}]涓嬫父鑺傜偣閿欒");
+                    msgList.Add($"绠℃:[{link.Id}]涓嬫父鑺傜偣[{link.EndCode}]閿欒");
                     result = false;
                 }
                 else

--
Gitblit v1.9.3