| | |
| | | this.bandedGridView1.BandPanelRowHeight = 35; |
| | | this.bandedGridView1.RegistCustomDrawRowIndicator(); |
| | | this.bandedGridView1.SetNormalView(); |
| | | |
| | | this.cmbSelectStation.SelectedIndex = _sel_index - 1; |
| | | |
| | | this.cmbSelectStation.SelectedIndex = _sel_index - 1; |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | //调度 |
| | | private void barBtnSchedule_Click(object sender, EventArgs e) |
| | | { |
| | | { |
| | | if (_schedule_valid_vm_list == null || !_schedule_valid_vm_list.Any()) |
| | | { |
| | | XtraMessageBox.Show("无数据!"); |
| | |
| | | |
| | | try |
| | | { |
| | | WaitHelper.ShowWaitForm(); |
| | | var station = new Service.Station().Get(); |
| | | List<Model.Pump> pumps; |
| | | List<int> flags_part1, flags_part2; |
| | | if (_sel_index == 1) |
| | | { |
| | | pumps = station.S1; |
| | | flags_part1 = station.S1FlagsPart1; |
| | | flags_part2 = station.S1FlagsPart2; |
| | | } |
| | | else |
| | | { |
| | | pumps = station.S2; |
| | | flags_part1 = station.S2FlagsPart1; |
| | | flags_part2 = station.S2FlagsPart2; |
| | | } |
| | | //WaitHelper.ShowWaitForm(); |
| | | //var station = new Service.Station().Get(); |
| | | //List<Model.Pump> pumps; |
| | | //if (_sel_index == 1) |
| | | //{ |
| | | // pumps = station.Station1; |
| | | //} |
| | | //else |
| | | //{ |
| | | // pumps = station.Station2; |
| | | //} |
| | | |
| | | var current_open_pump_list = new List<int>(); |
| | | var must_open_pump_list = new List<int>(); |
| | | var must_not_open_pump_list = new List<int>(); |
| | | var schedule_helper = new Algorithm.ScheduleHelper(); |
| | | //var current_open_pump_list = new List<int>(); |
| | | //var must_open_pump_list = new List<int>(); |
| | | //var must_not_open_pump_list = new List<int>(); |
| | | //var schedule_helper = new Algorithm.ScheduleHelper(); |
| | | |
| | | foreach (var vm in _schedule_valid_vm_list) |
| | | { |
| | | if (vm.FlagRpmDict == null || !vm.FlagRpmDict.Any()) |
| | | continue; |
| | | current_open_pump_list = vm.FlagRpmDict.Select(x => x.Key).ToList(); |
| | | if (current_open_pump_list == null || current_open_pump_list.Count < 1) |
| | | continue; |
| | | var target_flow = vm.TotalFlowSrc; |
| | | var target_head = vm.TotalHeadSrc; |
| | | //foreach (var vm in _schedule_valid_vm_list) |
| | | //{ |
| | | // if (vm.FlagRpmDict == null || !vm.FlagRpmDict.Any()) |
| | | // continue; |
| | | // current_open_pump_list = vm.FlagRpmDict.Select(x => x.Key).ToList(); |
| | | // if (current_open_pump_list == null || current_open_pump_list.Count < 1) |
| | | // continue; |
| | | // var target_flow = vm.TotalFlowSrc; |
| | | // var target_head = vm.TotalHeadSrc; |
| | | |
| | | var opt_schedule = schedule_helper.Calc(pumps, flags_part1, flags_part2, target_flow, target_head); |
| | | if (opt_schedule != null) |
| | | { |
| | | vm.TotalFlowSchedule = opt_schedule.Flow; |
| | | vm.TotalHeadSchedule = opt_schedule.Head; |
| | | vm.TotalPowerSchedule = opt_schedule.Power; |
| | | vm.RunFlagsSchedule = opt_schedule.Remark; |
| | | // var opt_schedule = schedule_helper.GetOptAnaCombine(pumps, target_flow, target_head); |
| | | // if (opt_schedule != null) |
| | | // { |
| | | // vm.TotalFlowSchedule = opt_schedule.Flow; |
| | | // vm.TotalHeadSchedule = opt_schedule.Head; |
| | | // vm.TotalPowerSchedule = opt_schedule.Power; |
| | | // vm.RunFlagsSchedule = opt_schedule.Remark; |
| | | |
| | | vm.TotalFlowScheduleSrcDiff = opt_schedule.Flow - target_flow; |
| | | vm.TotalPowerScheduleSrcDiff = opt_schedule.Power - vm.TotalPowerSrc; |
| | | } |
| | | // vm.TotalFlowScheduleSrcDiff = opt_schedule.Flow - target_flow; |
| | | // vm.TotalPowerScheduleSrcDiff = opt_schedule.Power - vm.TotalPowerSrc; |
| | | // } |
| | | |
| | | var opt_src = schedule_helper.WorkingCalc(pumps, vm.FlagRpmDict, vm.FlagHeadDict, target_flow, target_head); |
| | | if (opt_src != null) |
| | | { |
| | | vm.TotalFlowCalc = opt_src.Flow; |
| | | vm.TotalPowerCalc = opt_src.Power; |
| | | // var opt_src = schedule_helper.GetOptAnaCombineByWorking(pumps, vm.FlagRpmDict, vm.FlagHeadDict, target_flow, target_head); |
| | | // if (opt_src != null) |
| | | // { |
| | | // vm.TotalFlowCalc = opt_src.Flow; |
| | | // vm.TotalPowerCalc = opt_src.Power; |
| | | |
| | | vm.TotalFlowCalcSrcDiff = opt_src.Flow - target_flow; |
| | | vm.TotalPowerCalcSrcDiff = opt_src.Power - vm.TotalPowerSrc; |
| | | } |
| | | vm.Round(); |
| | | } |
| | | // vm.TotalFlowCalcSrcDiff = opt_src.Flow - target_flow; |
| | | // vm.TotalPowerCalcSrcDiff = opt_src.Power - vm.TotalPowerSrc; |
| | | // } |
| | | // vm.Round(); |
| | | //} |
| | | |
| | | this.scheduleValidViewModelBindingSource.DataSource = _schedule_valid_vm_list; |
| | | this.scheduleValidViewModelBindingSource.ResetBindings(false); |
| | |
| | | _sel_index = this.cmbSelectStation.SelectedIndex + 1; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |