Shuxia Ning
2024-07-26 19db3c68c67e27531e716567cefaa266e71a2baf
IStation.Application/02-web/01-hydraulic-model/HydraulicModel_Controller.cs
@@ -266,15 +266,31 @@
            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);
            }
            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);
            log_title = "调度返回";
            if (optimal_combine1 == null && optimal_combine2 == null)