From 2f1cbec203dcff25df7a5c2b51b13ec558f2c3db Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期四, 13 二月 2025 11:15:00 +0800
Subject: [PATCH] 泵状态更新

---
 01-api/_Expand/IStation.Test/Program.cs |  132 +++++++++++++++++--------------------------
 1 files changed, 53 insertions(+), 79 deletions(-)

diff --git a/01-api/_Expand/IStation.Test/Program.cs b/01-api/_Expand/IStation.Test/Program.cs
index 64048a2..4e55942 100644
--- a/01-api/_Expand/IStation.Test/Program.cs
+++ b/01-api/_Expand/IStation.Test/Program.cs
@@ -2,88 +2,62 @@
 
 
 using IStation;
-using NPOI.HSSF.UserModel;
-using NPOI.SS.Formula.Functions;
-using NPOI.SS.UserModel;
+using Microsoft.IdentityModel.Logging;
+using Yw;
 
-//var dt_now = DateTime.Now;
-//var dt_next = new DateTime(dt_now.Year, dt_now.Month, dt_now.Day, dt_now.Hour, dt_now.Minute + 1, 0);
-//var dt_space = dt_next - dt_now;
-//Console.WriteLine($"鍒濆鍖�({dt_space.TotalSeconds})...");
-//Thread.Sleep(dt_space);
-//IStation.Service.MonitorRecord _service_monitor_record = new();
-//IStation.Settings.ParasHelper.DataBase.SQLite.AnalysisConnectString = "DataSource=" + IStation.Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\analysis.db";
-IStation.Settings.ParasHelper.DataBase.SQLite.ScheduleConnectString = "DataSource=" + IStation.Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\schedule.db";
-//IStation.Settings.ParasHelper.DataBase.SQLite.HydraulicConnectString = "DataSource=" + IStation.Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\hydraulic.db";
-//IStation.Settings.ParasHelper.DataBase.SQLite.MonitorConnectString = "DataSource=" + IStation.Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\monitor.db";
-IStation.Settings.ParasHelper.Save();
+IStation.Service.Station _service_station = new();
+IStation.Service.ScheduleConfig _service_schedule_config = new();
 
-//Console.WriteLine("鍚姩瀹炴椂鏁版嵁閲囬泦...");
-//var timer = new System.Timers.Timer();
-//timer.Interval = 10 * 1000;
-//timer.Elapsed += (s, e) =>
-//{
-//    dt_now = DateTime.Now;
-//    var dt_now_str = dt_now.ToString("G");
-//    var get_msg = GlobalHelper.GetMonitorRecordList(dt_now, out List<IStation.Model.MonitorRecord> monitor_record_list, false);
-//    if (!string.IsNullOrEmpty(get_msg))
-//    {
-//        Console.WriteLine($"{dt_now_str}:{get_msg}");
-//    }
-//    else
-//    {
-//        var bol = _service_monitor_record.Inserts(monitor_record_list);
-//        if (bol)
-//        {
-//            Console.WriteLine($"{dt_now_str}:閲囬泦鎴愬姛!");
-//        }
-//        else
-//        {
-//            Console.WriteLine($"{dt_now_str}:閲囬泦澶辫触!");
-//        }
-//    }
-//};
-//timer.AutoReset = true;
-//timer.Start();
 
-var list = new IStation.Service.ScheduleRequest().GetAll();
 
-Export2Excel(list);
-bool Export2Excel(List<IStation.Model.ScheduleRequest> list)
+
+var receipt_time = DateTime.Now;
+var log_title = string.Empty;
+
+Console.WriteLine("鍒濆鍖栧熀纭�淇℃伅鏂囦欢");
+var station_info = _service_station.Get(); 
+var is_monitor_record_debug = true; 
+Console.WriteLine("瀹炴椂ZyScada璇锋眰");
+var get_msg = GlobalHelper.GetMonitorRecordList(receipt_time, out List<IStation.Model.MonitorRecord> monitor_record_list, is_monitor_record_debug);
+
+Console.WriteLine(Yw.JsonHelper.Object2Json(monitor_record_list));
+
+
+var station1 = station_info.Station1;
+var station2 = station_info.Station2;
+var station1_schedule_config = _service_schedule_config.GetStation1();
+var station2_schedule_config = _service_schedule_config.GetStation2();
+var station1_flag_list = GlobalHelper.Station1FlagList;
+var station2_flag_list = GlobalHelper.Station2FlagList;
+
+GlobalHelper.GetStationOpenFlagList(monitor_record_list, out List<int> station1_open_flag_list, out List<int> station2_open_flag_list);
+GlobalHelper.GetStationFlagStateList(monitor_record_list, out List<int> station1_flag_maintenance_list, out List<int> station2_maintenance_flag_list, out List<int> station1_priority_flag_list, out List<int> station2_priority_flag_list);
+GlobalHelper.GetFlagInletWaterLevelDict(monitor_record_list, out Dictionary<int, double> station1_flag_inlet_water_level_dict, out Dictionary<int, double> station2_flag_inlet_water_level_dict);
+
+Console.WriteLine("鏈烘车妫�淇�");
+if (station1_flag_maintenance_list != null && station1_flag_maintenance_list.Any())
 {
-
-    HSSFWorkbook theBook = new HSSFWorkbook();
-    var theSheet1 = theBook.CreateSheet("Sheet1");
-
-    IRow rowTile = theSheet1.CreateRow(0);
-
-    rowTile.CreateCell(0).SetCellValue("鏃堕棿");
-    rowTile.CreateCell(1).SetCellValue("鐩爣娴侀噺");
-    rowTile.CreateCell(2).SetCellValue("鐩爣鍘嬪姏");
-
-
-    var count = list.Count();
-    for (int i = 1; i < count; i++)
-    {
-        var x = list[i];
-        var row = theSheet1.CreateRow(i);
-        row.CreateCell(0).SetCellValue(x.ReceptionTime.ToString("G"));
-        row.CreateCell(1).SetCellValue(x.TargetFlow2);
-        row.CreateCell(2).SetCellValue(x.TargetPressure2);
-    }
-
-    var root_folder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "闂鎺掓煡");
-    if (!Directory.Exists(root_folder))
-    {
-        Directory.CreateDirectory(root_folder);
-    }
-    var file_name = root_folder + "\\" + $"璋冨害鏁版嵁.xls";
-    theSheet1.ForceFormulaRecalculation = true;
-    using (FileStream fs = File.OpenWrite(file_name))
-    {
-        theBook.Write(fs);
-    }
-
-    return true;
+    Console.WriteLine($"1杈撴按:{Yw.Untity.IntListHelper.ToString(station1_flag_maintenance_list)}");
+    station1_schedule_config.MustCloseFlagList.AddRange(station1_flag_maintenance_list);
 }
-Console.ReadKey(); 
\ No newline at end of file
+if (station2_maintenance_flag_list != null && station2_maintenance_flag_list.Any())
+{
+    Console.WriteLine($"2杈撴按:{Yw.Untity.IntListHelper.ToString(station2_maintenance_flag_list)}");
+    station2_schedule_config.MustCloseFlagList.AddRange(station2_maintenance_flag_list);
+}
+
+Console.WriteLine("鏈烘车浼樺厛");
+if (station1_priority_flag_list != null && station1_priority_flag_list.Any())
+{
+    Console.WriteLine($"1杈撴按:{Yw.Untity.IntListHelper.ToString(station1_priority_flag_list)}");
+    station1_schedule_config.PriorityOpenFlagList.AddRange(station1_priority_flag_list);
+}
+if (station2_priority_flag_list != null && station2_priority_flag_list.Any())
+{
+    Console.WriteLine($"2杈撴按:{Yw.Untity.IntListHelper.ToString(station2_priority_flag_list)}");
+    station2_schedule_config.PriorityOpenFlagList.AddRange(station2_priority_flag_list);
+}
+
+
+
+Console.ReadKey();
\ No newline at end of file

--
Gitblit v1.9.3