From 01d504cdbc69d1ea3c98e49e820ab9d94255ede8 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期三, 27 十一月 2024 10:38:43 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs b/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs
index b3a1593..6598cf3 100644
--- a/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs
+++ b/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs
@@ -446,10 +446,8 @@
                                     float minorLoss;
                                     if (float.TryParse(parts[6], out minorLoss))
                                         p.MinorLoss = minorLoss;
-                                    p.LinkStatus = parts.Length > 7 ? PipeStatus.Closed : PipeStatus.Open;
-                                    //int level;
-                                    //if (int.TryParse(parts[8], out level))
-                                    //    p.Level = level;
+                                    p.LinkStatus = parts.Length > 7 ? (parts[7].ToUpper().Contains("CLOSE")? PipeStatus.Closed : PipeStatus.Open) : PipeStatus.Open;
+                                    
                                     net.Pipes.Add(p);
                                 }
                                 break;
@@ -516,7 +514,44 @@
 
                                 }
                                 break;
+                            case "PUMPS":
+                                {
+                                    InpPump pump = new InpPump();
+                                    
+                                    pump.Id = parts.ToString(0, null);
 
+                                    // 鍙栧嚭Node1鍜孨ode2涓殑瀛楁瘝閮ㄥ垎锛屼緥濡傗�淪201326593鈥濊鍙栧嚭涓衡��201326593鈥�
+                                    pump.Node1 = parts.ToString(1, null); // Regex.Replace(parts[1], "[^0-9]", "");
+                                    pump.Node2 = parts.ToString(2, null);// parts.ToString(2, null); // Regex.Replace(parts[2], "[^0-9]", "");
+                                    int index = 3;
+                                    string label = null;
+                                    while ((label = parts.ToString(index, null)) != null)
+                                    {
+                                        label = label.ToUpper();
+                                        switch (label)
+                                        {
+                                            case "HEAD":
+                                                pump.CurveQH = parts.ToString(index + 1, "PumpDefault");
+                                                break;
+                                            case "SPEED":
+                                                pump.SpeedRatio = parts.ToFloat(index + 1, 0);
+                                                break;
+                                        }
+                                        index += 2;
+                                    }
+                                    //pump.Diameter = parts.ToFloat(3, 0);
+
+                                    pump.LinkStatus = "OPEN";
+                                    net.Pumps.Add(pump);
+                                }
+                                break;
+                            case "STATUS":
+                                {
+                                    Link link = net.GetAllLinks().Find(l => l.Id == parts.ToString(0, null));
+                                    if (link != null)
+                                        link.LinkStatus = parts[1];
+                                }
+                                break;
                             case "COORDINATES":
                                 {
                                     string id = parts[0];

--
Gitblit v1.9.3