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/_Expand/IStation.Win.Schedule/bjMain.cs |   73 ++++++++++++++++++++++++++----------
 1 files changed, 52 insertions(+), 21 deletions(-)

diff --git a/01-api/_Expand/IStation.Win.Schedule/bjMain.cs b/01-api/_Expand/IStation.Win.Schedule/bjMain.cs
index 733bdc0..8f2144d 100644
--- a/01-api/_Expand/IStation.Win.Schedule/bjMain.cs
+++ b/01-api/_Expand/IStation.Win.Schedule/bjMain.cs
@@ -83,15 +83,15 @@
             {
                 return;
             }
-            var time_list = _schedule_request_list.Select(x => x.ReceptionTime).OrderBy(x => x).ToList();
-            var start_time = time_list.Last().AddDays(-2);
-            var end_time = time_list.Last().AddDays(1);
+            var deline = new DateTime(2024,12,1);
+            var deline2 = new DateTime(2025,1,1);
+            var time_list = _schedule_request_list.Where(x=>x.ReceptionTime>=deline&&x.ReceptionTime<= deline2).Select(x => x.ReceptionTime).OrderBy(x => x).ToList();
+  
             foreach (var item in time_list)
             {
                 this.repImgDate.Items.Add(item.ToString("G"), item, -1);
-            }
-
-            var monitor_record_list = _service_monitor_record.GetByReceiptTimeRange(start_time, end_time);
+            } 
+            var monitor_record_list = _service_monitor_record.GetByReceiptTimeRange(deline, deline2);
             if (monitor_record_list == null || !monitor_record_list.Any())
             {
                 return;
@@ -123,7 +123,7 @@
             if (this.barCekSimSchedule.Checked)
             {
                 var target_flow1 = request.TargetFlow1;
-                var target_flow2 = request.TargetFlow2; 
+                var target_flow2 = request.TargetFlow2;
 
                 var target_pressure1 = Curve.PumpCalculateHelper.Mpa2M(request.TargetPressure1);
                 var target_pressure2 = Curve.PumpCalculateHelper.Mpa2M(request.TargetPressure2);
@@ -139,12 +139,30 @@
                     analysis_deviation_list = null;
                 }
 
+                if (this.barCekCalcPressureDiff.Checked)
+                {
+                    var time = Convert.ToDateTime(this.barEditImgRealTime.EditValue);
+                    if (_monitor_record_dict != null && _monitor_record_dict.ContainsKey(time))
+                    {
+                        var valid_record_list = _monitor_record_dict[time];
+                        var station_scada_dict = GetStationScadaDict(monitor_record_list); 
+
+                        var validRealTimePressure = station_scada_dict[IStation.eDockingStation.Ch1s][0].Item2 ;
+                        if (validRealTimePressure.HasValue)
+                        {
+                            var validRealTimePressureDiff = validRealTimePressure.Value - target_pressure1;
+                            target_pressure1 += validRealTimePressureDiff;
+                            AlertTool.ShowInfo(this, "濉ˉ鍘嬪姏缂哄け", $"{validRealTimePressureDiff:N3}");
+                        } 
+                    }
+                }
+
                 if (this.barCekCalcFlowDiff.Checked)
                 {
                     var ptList = new List<CurvePoint>();
                     try
                     {
-                        var filePath = @"D:\WorkCode\Project\ChDt1\Schedule.Ch.V1.0\02-desktop\Desktop\IStation.Test\bin\Debug\net6.0-windows\csv\alow.csv";
+                        var filePath = @"D:\WorkCode\Project\ChDt1\Schedule.Ch.V1.0\02-desktop\Desktop\IStation.Test\bin\Debug\net6.0-windows\stationcsv\characteristic_curve.csv";
                         using (StreamReader reader = new StreamReader(filePath))
                         {
                             reader.ReadLine();
@@ -164,17 +182,17 @@
 
                             }
                         }
-                    } 
+                    }
                     catch (Exception ex)
                     {
                         Console.WriteLine("璇诲彇鏂囦欢鏃跺嚭閿�: " + ex.Message);
                     }
-                   
+
                     var x = ptList.Select(x => x.X).ToArray();
                     var y = ptList.Select(x => x.Y).ToArray();
 
                     // 澶氶」寮忓洖褰掔殑闃舵暟锛堜緥濡傦紝浜屾澶氶」寮忥級
-                    int degree = 10;
+                    int degree = 3;
 
                     // 鎷熷悎澶氶」寮忓洖褰掓ā鍨�
                     double[] coefficients = NonlinearRegressionHelper.FitPolynomial(x, y, degree);
@@ -184,12 +202,13 @@
                     double yPredicted = NonlinearRegressionHelper.PredictPolynomial(xNew, coefficients);
 
                     target_flow2 += yPredicted;
-                    AlertTool.ShowInfo(this,"棰勬祴缂哄け",$"{yPredicted}");
+                    AlertTool.ShowInfo(this, "棰勬祴娴侀噺缂哄け", $"{yPredicted:N1}");
+                  
 
                     // 璁$畻 R虏 鍜� MSE
                     double rSquared = NonlinearRegressionHelper.CalculateRSquared(x, y, coefficients);
                     double mse = NonlinearRegressionHelper.CalculateMSE(x, y, coefficients);
-                    
+
                 }
 
 
@@ -690,6 +709,14 @@
             Verify(time);
         }
 
+
+        private void barCekCalcPressureDiff_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var time = Convert.ToDateTime(this.barEditImgRealTime.EditValue);
+            Schedule(_schedule_request);
+            Verify(time);
+        }
+
         #region Expand
         private string GetStationName(eDockingStation station)
         {
@@ -927,13 +954,17 @@
             var pump27_power = scada_dict[GlobalHelper.浜岃緭27娉礯鏈夊姛鍔熺巼];
 
 
-            var pump21_maintenance_status = scada_dict[GlobalHelper.浜岃緭21娉礯鐘舵�乚;
-            var pump22_maintenance_status = scada_dict[GlobalHelper.浜岃緭22娉礯鐘舵�乚;
-            var pump23_maintenance_status = scada_dict[GlobalHelper.浜岃緭23娉礯鐘舵�乚;
-            var pump24_maintenance_status = scada_dict[GlobalHelper.浜岃緭24娉礯鐘舵�乚;
-            var pump25_maintenance_status = scada_dict[GlobalHelper.浜岃緭25娉礯鐘舵�乚;
-            var pump26_maintenance_status = scada_dict[GlobalHelper.浜岃緭26娉礯鐘舵�乚;
-            var pump27_maintenance_status = scada_dict[GlobalHelper.浜岃緭27娉礯鐘舵�乚;
+            if (scada_dict.ContainsKey(GlobalHelper.浜岃緭21娉礯鐘舵��))
+            {
+
+            }
+            //var pump21_maintenance_status = scada_dict[GlobalHelper.浜岃緭21娉礯鐘舵�乚;
+            //var pump22_maintenance_status = scada_dict[GlobalHelper.浜岃緭22娉礯鐘舵�乚;
+            //var pump23_maintenance_status = scada_dict[GlobalHelper.浜岃緭23娉礯鐘舵�乚;
+            //var pump24_maintenance_status = scada_dict[GlobalHelper.浜岃緭24娉礯鐘舵�乚;
+            //var pump25_maintenance_status = scada_dict[GlobalHelper.浜岃緭25娉礯鐘舵�乚;
+            //var pump26_maintenance_status = scada_dict[GlobalHelper.浜岃緭26娉礯鐘舵�乚;
+            //var pump27_maintenance_status = scada_dict[GlobalHelper.浜岃緭27娉礯鐘舵�乚;  
 
 
             pump21_pressure.Mpa2M();
@@ -1091,7 +1122,7 @@
         #endregion
 
         public class NonlinearRegressionHelper
-        { 
+        {
 
             // 澶氶」寮忓洖褰掓嫙鍚�
             public static double[] FitPolynomial(double[] x, double[] y, int degree)

--
Gitblit v1.9.3