From e39e22e12380551c79f99a9c96bb77d5dc3839b1 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期四, 28 十一月 2024 12:25:33 +0800
Subject: [PATCH] 工况分析优化

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleLossCurveDlg.cs |   45 ++++++++++++++++++++++++++++++---------------
 1 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleLossCurveDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleLossCurveDlg.cs
index c8dfcc3..4d7ebc3 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleLossCurveDlg.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleLossCurveDlg.cs
@@ -1,4 +1,7 @@
-锘縩amespace Yw.WinFrmUI
+锘縰sing Yw.Hydro;
+using Yw.EPAnet;
+
+namespace Yw.WinFrmUI
 {
     public partial class HydroSingleLossCurveDlg : DevExpress.XtraBars.Ribbon.RibbonForm
     {
@@ -9,23 +12,35 @@
         }
 
         /// <summary>
-        /// 
+        /// 缁戝畾鏁版嵁
+        /// </summary>
+        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult, Yw.Model.HydroVisualInfo visual)
+        {
+            if (hydroInfo == null)
+            {
+                return;
+            }
+            var network = hydroInfo.ToNetwork();
+            if (network == null)
+            {
+                return;
+            }
+            var node = network.GetAllNodes()?.Find(x => x.Id == visual.Code);
+            if (node == null)
+            {
+                return;
+            }
+            var allPathList = network.AnalyzeDownstreamPath(node, calcuResult.EPAnetCalcuResult);
+            var allEpaLossList = network.GetChartNodeByPathLinks(allPathList, calcuResult.EPAnetCalcuResult);
+            var allNodeLossList = allEpaLossList?.Select(x => new HydroNodeLossViewModel(x)).ToList();
+            SetBindingData(allNodeLossList);
+        }
+
+        /// <summary>
+        /// 缁戝畾鏁版嵁
         /// </summary>
         public void SetBindingData(List<HydroNodeLossViewModel> allNodeLossList)
         {
-            //allNodeLossList = new List<HydroNodeLossViewModel>()
-            //{
-            //    new HydroNodeLossViewModel(){ Code="1",Elev=10,StartHead=666,EndHead=623,Distance=10},
-            //    new HydroNodeLossViewModel(){ Code="2",Elev=20,StartHead=600,EndHead=567,Distance=30},
-            //    new HydroNodeLossViewModel(){ Code="3",Elev=25,StartHead=544,EndHead=521,Distance=100},
-            //    new HydroNodeLossViewModel(){ Code="4",Elev=19,StartHead=500,EndHead=789,Distance=110},
-            //    new HydroNodeLossViewModel(){ Code="5",Elev=23,StartHead=700,EndHead=677,Distance=150},
-            //    new HydroNodeLossViewModel(){ Code="6",Elev=22,StartHead=632,EndHead=600,Distance=200},
-            //    new HydroNodeLossViewModel(){ Code="7",Elev=13,StartHead=550,EndHead=510,Distance=300},
-            //    new HydroNodeLossViewModel(){ Code="8",Elev=13,StartHead=500,EndHead=345,Distance=500},
-            //    new HydroNodeLossViewModel(){ Code="9",Elev=11,StartHead=300,EndHead=289,Distance=700},
-            //    new HydroNodeLossViewModel(){ Code="10",Elev=10,StartHead=260,EndHead=150,Distance=820},
-            //};
             this.hydroSingleLossCurveCtrl1.SetBindingData(allNodeLossList);
         }
 

--
Gitblit v1.9.3