Shuxia Ning
2024-07-26 19db3c68c67e27531e716567cefaa266e71a2baf
IStation.Application/01-ch/02-schedule/Schedule_Controller.cs
@@ -1,4 +1,6 @@
namespace IStation.Application
using static IStation.Algorithm.ScheduleHelper;
namespace IStation.Application
{
    /// <summary>
    /// 陈行输水调度
@@ -75,15 +77,34 @@
            var station2_flag_list = GlobalHelper.Station2FlagList;
            GlobalHelper.GetStationOpenFlagList(zy_scada_list, out List<int> station1_open_flag_list, out List<int> station2_open_flag_list);
            GlobalHelper.GetStationMaintenanceFlagList(zy_scada_list, out List<int> station1_maintenance_flag_list, out List<int> station2_maintenance_flag_list);
            GlobalHelper.GetFlagInletWaterLevelDict(zy_scada_list, out Dictionary<int, double> station1_flag_inlet_water_level_dict, out Dictionary<int, double> station2_flag_inlet_water_level_dict);
            GlobalHelper.GetFlagCumulativeRunTimeDict(out Dictionary<int, double> station1_flag_cumulative_run_time_dict, out Dictionary<int, double> station2_flag_cumulative_run_time_dict);
            log_title = "机泵检修";
            if (station1_maintenance_flag_list != null && station1_maintenance_flag_list.Any())
            {
                Log.Info(request_id, log_title, $"1输水:{Yw.Untity.IntListHelper.ToString(station1_maintenance_flag_list)}");
                station1_schedule_config.MustCloseFlagList.AddRange(station1_maintenance_flag_list);
            }
            if (station2_maintenance_flag_list != null && station2_maintenance_flag_list.Any())
            {
                Log.Info(request_id, log_title, $"2输水:{Yw.Untity.IntListHelper.ToString(station2_maintenance_flag_list)}");
                station2_schedule_config.MustCloseFlagList.AddRange(station2_maintenance_flag_list);
            }
            log_title = "调度返回";
            var msg = "计算结束!";
            var helper = new Algorithm.ScheduleHelper();
            helper.Initial(station1_open_flag_list, station1_schedule_config);
            var optimal_combine1 = helper.GetOptAnaCombine(station1, station1_same_type_flag_group_first, station1_flag_inlet_water_level_dict, target_flow1, target_head1);
            var optimal_combine1 = helper.GetOptAnaCombine(station1, station1_same_type_flag_group_first, station1_flag_inlet_water_level_dict, station1_flag_cumulative_run_time_dict, target_flow1, target_head1);
            helper.Initial(station2_open_flag_list, station2_schedule_config);
            var optimal_combine2 = helper.GetOptAnaCombine(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, target_flow2, target_head2);
            var optimal_combine2 = helper.GetOptAnaCombine(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, station2_flag_cumulative_run_time_dict, target_flow2, target_head2);
            var schedule_request = new Model.ScheduleRequest
            {
@@ -103,8 +124,7 @@
            List<Model.SchedulePump> schedule_pump_list1 = null;
            List<Model.SchedulePump> schedule_pump_list2 = null;
            log_title = "调度返回";
            var msg = "计算结束!";
            var output = new StationScheduleOutput();
            output.InitObjects(station1_flag_list, station2_flag_list);