From c2957a9496bbee617bfd1300132eed650bc4f795 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期四, 13 二月 2025 20:16:10 +0800
Subject: [PATCH] 水泵并联模型支持分组

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs |  108 +++++------------------------------------------------
 1 files changed, 11 insertions(+), 97 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
index 8435204..3f3b840 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
@@ -1,14 +1,4 @@
-锘縰sing DevExpress.XtraEditors;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using Yw.Geometry;
+锘縰sing System.Data;
 using Yw.Pump;
 using Yw.Vmo;
 using Yw.WinFrmUI.Phart;
@@ -97,89 +87,13 @@
             vm.CurveName = $"瑁呯疆绾�";
             vm.Color = Color.Black;
 
-            var startSourceMonitor = _allMonitorList?
-                .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
-                { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.濮嬬,HStation.Xhs.Flags.榛樿});
-            if (startSourceMonitor == null)
-            {
-                startSourceMonitor = _allMonitorList?
-                .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
-                { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.濮嬬});
-            }
-            if (startSourceMonitor != null)
-            {
-                var startSourceCalcuResult = _allCalcuResultVisualDict?.GetValue(startSourceMonitor.Relation);
-                if (startSourceCalcuResult != null)
-                {
-                    var startHead = startSourceCalcuResult.GetCalcuValue(startSourceMonitor.PropName);
-                    if (startHead.HasValue)
-                    {
-                        var endSourceMonitor = _allMonitorList?
-                                    .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
-                                    { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.鏈,HStation.Xhs.Flags.榛樿});
-                        if (endSourceMonitor == null)
-                        {
-                            endSourceMonitor = _allMonitorList?
-                                        .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
-                                        { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.鏈});
-                        }
-                        if (endSourceMonitor != null)
-                        {
-                            var endSouceCalcuResult = _allCalcuResultVisualDict?.GetValue(endSourceMonitor.Relation);
-                            if (endSouceCalcuResult != null)
-                            {
-                                var endHead = endSouceCalcuResult.GetCalcuValue(endSourceMonitor.PropName);
-                                if (endHead.HasValue)
-                                {
-                                    vm.StartH = Math.Round(endHead.Value - startHead.Value, 2);
-                                }
-                            }
-                        }
-                    }
+            var head = _hydroInfo.GetHead();
+            var pipeQ = _hydroInfo.GetPipeQ(_allCalcuResultVisualDict);
+            var pipeH = _hydroInfo.GetPipeHead(_allCalcuResultVisualDict);
 
-                }
-            }
-
-            var outPipeFlowMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuFlow, new List<string>()
-                            { HStation.Xhs.Flags.鎬荤,HStation.Xhs.Flags.鍑哄彛,HStation.Xhs.Flags.榛樿});
-            if (outPipeFlowMonitor == null)
-            {
-                outPipeFlowMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuFlow, new List<string>()
-                        { HStation.Xhs.Flags.鎬荤,HStation.Xhs.Flags.鍑哄彛});
-            }
-            if (outPipeFlowMonitor != null)
-            {
-                var outPipeFlowCalcuResult = _allCalcuResultVisualDict?.GetValue(outPipeFlowMonitor.Relation);
-                if (outPipeFlowCalcuResult != null)
-                {
-                    var outPipeFlow = outPipeFlowCalcuResult.GetCalcuValue(outPipeFlowMonitor.PropName);
-                    if (outPipeFlow.HasValue)
-                    {
-                        vm.PipeQ = Math.Round(outPipeFlow.Value, 1);
-                    }
-                }
-            }
-
-            var outPipeHeadMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
-                            { HStation.Xhs.Flags.鎬荤,HStation.Xhs.Flags.鍑哄彛,HStation.Xhs.Flags.榛樿});
-            if (outPipeHeadMonitor == null)
-            {
-                outPipeHeadMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
-                            { HStation.Xhs.Flags.鎬荤,HStation.Xhs.Flags.鍑哄彛});
-            }
-
-            if (outPipeHeadMonitor != null)
-            {
-                var outPipeHeadCalcuResult = _allCalcuResultVisualDict?.GetValue(outPipeHeadMonitor.Relation);
-                if (outPipeHeadCalcuResult != null)
-                {
-                    var outPipeHead = outPipeHeadCalcuResult.GetCalcuValue(outPipeHeadMonitor.PropName);
-                    if (outPipeHead.HasValue)
-                    {
-                        vm.PipeH = Math.Round(outPipeHead.Value, 2);
-                    }
-                }
-            }
+            vm.StartH = head;
+            vm.PipeQ = pipeQ ?? 0;
+            vm.PipeH = pipeH ?? 0;
 
             if (_hydroInfo.Pumps != null && _hydroInfo.Pumps.Count > 0)
             {
@@ -204,7 +118,7 @@
                             vmItem.E = calcuResult.CalcuE;
                         }
                         vmItem.Hz = Math.Round(pump.SpeedRatio * pump.RatedHz, 1);
-                        vmItem.N = pump.RatedN.HasValue ? Math.Round(pump.SpeedRatio * pump.RatedN.Value, 1) : 0;
+                        vmItem.N = pump.RatedN > 0 ? Math.Round(pump.SpeedRatio * pump.RatedN, 1) : 0;
 
 
                         var curveqh = _hydroInfo.Curves?.Find(x => x.Code == pump.CurveQH);
@@ -214,7 +128,7 @@
                             if (qh_pts != null && qh_pts.Count > 3)
                             {
                                 var qh_run_pts = qh_pts.GetQHPointListByN(pump.RatedHz, vmItem.Hz);
-                                vmItem.CurveQH = new CubicSpline2d(qh_run_pts);
+                                vmItem.CurveQH = qh_run_pts;
                             }
                         }
 
@@ -225,7 +139,7 @@
                             if (qp_pts != null && qp_pts.Count > 3)
                             {
                                 var qp_run_pts = qp_pts.GetQPPointListByN(pump.RatedHz, vmItem.Hz);
-                                vmItem.CurveQP = new CubicSpline2d(qp_run_pts);
+                                vmItem.CurveQP = qp_run_pts;
                             }
                         }
 
@@ -236,7 +150,7 @@
                             if (qe_pts != null && qe_pts.Count > 3)
                             {
                                 var qe_run_pts = qe_pts.GetQEPointListByN(pump.RatedHz, vmItem.Hz);
-                                vmItem.CurveQE = new CubicSpline2d(qe_run_pts);
+                                vmItem.CurveQE = qe_run_pts;
                             }
                         }
 

--
Gitblit v1.9.3