| | |
| | | |
| | | |
| | | 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(); |
| | | 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(); |