Shuxia Ning
2024-12-27 f94a4ed8e9f5400e73bad84be023096585cb0498
01-api/_Expand/IStation.Test/Program.cs
@@ -2,45 +2,88 @@
using IStation;
using NPOI.HSSF.UserModel;
using NPOI.SS.Formula.Functions;
using NPOI.SS.UserModel;
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";
//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.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();
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();
//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)
{
    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.ReadKey();