From ed113213fc94c3d9886ea08dfddd09d08d9ba7d5 Mon Sep 17 00:00:00 2001
From: ningshuxia <ningshuxia0927@outlook.com>
Date: 星期三, 16 四月 2025 19:19:34 +0800
Subject: [PATCH] 调度代码修正

---
 01-api/Service/IStation.Service/07-helper/01-analysis/AnalysisHelper.cs |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/01-api/Service/IStation.Service/07-helper/01-analysis/AnalysisHelper.cs b/01-api/Service/IStation.Service/07-helper/01-analysis/AnalysisHelper.cs
index 0289544..fdbd9fa 100644
--- a/01-api/Service/IStation.Service/07-helper/01-analysis/AnalysisHelper.cs
+++ b/01-api/Service/IStation.Service/07-helper/01-analysis/AnalysisHelper.cs
@@ -11,7 +11,7 @@
         private readonly decimal _frequency_def = 50m;
         private readonly decimal _frequency_min = 25m;
         private readonly decimal _frequency_max = 50m;
-        private readonly decimal _frequency_space = 0.2m;//棰戠巼闂撮殧  
+        private readonly decimal _frequency_space = 0.1m;//棰戠巼闂撮殧  
         private readonly decimal _head_space = 0.1m;//鎵▼闂撮殧
 
         private readonly DAL.SQLite.AnalysisPump _dal_analysis_pump = new();
@@ -260,18 +260,36 @@
                     continue;
                 }
                 var qhHzCurve = hzCurveDict[hz];
-                for (decimal j = 1; j >= 0; j -= fre_space)
+                if (pump.IsBp)
                 {
-                    var fre = hz - j; 
-                    var qh = IStation.Curve.FitHelper.BuildCurveExpress(qhHzCurve);
-                    var qp = pump.CurveQP;
+                    for (decimal j = 0; j <= 0.9m; j += fre_space)
+                    {
+                        var fre = hz - j;
 
+                        var qp = Curve.PumpCalculateHelper.CalculateSimilarQP(pump.CurveQP, (double)fre_def, (double)fre);
+                        var qh = IStation.Curve.FitHelper.BuildCurveExpress(qhHzCurve);
+                        //var qh2 = qh.GetFitPointsByXRange(pump.CurveQP.Min, pump.CurveQP.Max);
+                        //var qh3 = IStation.Curve.FitHelper.BuildCurveExpress(qh2);
+                        var freItem = new AnaPumpFreItem();
+                        freItem.Frequency = (double)fre;
+                        freItem.CurveQH = Curve.PumpCalculateHelper.CalculateSimilarQH(qh, (double)hz, (double)fre);
+                        freItem.CurveQP = qp;
+                        list.Add(freItem);
+                    }
+                }
+                else
+                {
+                    var qh = IStation.Curve.FitHelper.BuildCurveExpress(qhHzCurve);
+                    var qh2 = qh.GetFitPointsByXRange(pump.CurveQP.Min, pump.CurveQP.Max);
+                    var qh3 = IStation.Curve.FitHelper.BuildCurveExpress(qh2);
+                    var qp = pump.CurveQP;
                     var freItem = new AnaPumpFreItem();
-                    freItem.Frequency = (double)fre;
-                    freItem.CurveQH = Curve.PumpCalculateHelper.CalculateSimilarQH(qh, (double)hz, (double)fre);
-                    freItem.CurveQP = Curve.PumpCalculateHelper.CalculateSimilarQP(qp, (double)fre_def, (double)fre);
+                    freItem.Frequency = 50;
+                    freItem.CurveQH = qh3;
+                    freItem.CurveQP = qp;
                     list.Add(freItem);
                 }
+                
 
             } 
 

--
Gitblit v1.9.3