From 21dd2ae9704c484d5d75b2ed980e5402505da7dc Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期二, 05 十一月 2024 18:01:30 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuExtensions.cs |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuExtensions.cs b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuExtensions.cs
index e70b9f2..c496a18 100644
--- a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuExtensions.cs
+++ b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuExtensions.cs
@@ -10,20 +10,36 @@
         /// <summary>
         /// 璁$畻
         /// </summary>
-        public static CalcuResult Calcu(this Network network)
+        public static CalcuResult Calcu(this Network network,bool MinorLossPreCalc=true)
         {
             var result = new CalcuResult();
-
+           
             //Null楠岃瘉
             if (network == null)
             {
                 result.Succeed = false;
                 return result;
             }
-
+           
+            string inpString = null;
+            if (MinorLossPreCalc)
+            {
+                CalcuResult minorLossResult = network.CalcuMinorLoss();
+                if (!minorLossResult.Succeed)
+                {
+                    result.Succeed = false;
+                    result.FailedList.AddRange(minorLossResult.FailedList);
+                    return result;
+                }
+                inpString = network.ToInpString(minorLossResult);
+            }
+            else
+            {
+                inpString = network.ToInpString();
+            }
             //鑾峰彇绯荤粺涓存椂鏂囦欢鐩綍锛屽垱寤篿np涓存椂鏂囦欢
             var inpFilePath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("N") + ".inp");
-            var inpString = network.ToInpString();
+        
             File.WriteAllText(inpFilePath, inpString);
 
             //鍔犺浇绠$綉
@@ -72,7 +88,7 @@
                 epanet.getnodeid(i, sb);
                 var arr = new string[] { "Head", "Press", "Demand" }; //System.Enum.GetValues(typeof(HydraulicModel.NodeValueType));
                 var arrnum = new int[] { 10, 11, 9 };
-                var resultNode = new CalcuNode()
+                var resultNode = new Node()
                 {
                     Id = sb.ToString(),
                 };
@@ -95,6 +111,7 @@
                     }
                 }
                 result.NodeList.Add(resultNode);
+                result.NodeDict.Add(resultNode.Id, resultNode);
             }
 
             for (int i = 1; i <= linkCount; i++)
@@ -103,7 +120,7 @@
                 //var arr = System.Enum.GetValues(typeof(HydraulicModel.LinkValueType));
                 var arr = new string[] { "Flow", "Velocity", "Headloss" }; //System.Enum.GetValues(typeof(HydraulicModel.NodeValueType));
                 var arrnum = new int[] { 8, 9, 10 };
-                var resultLink = new CalcuLink()
+                var resultLink = new Link()
                 {
                     Id = sb.ToString(),
                 };
@@ -126,7 +143,12 @@
                     }
                 }
                 result.LinkList.Add(resultLink);
+                result.LinkDict.Add(resultLink.Id, resultLink);
             }
+            
+
+
+
             return result;
         }
 

--
Gitblit v1.9.3