From 1d5b344c8be498c9989f3fe2e9846b1dcc919cb8 Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期二, 06 八月 2024 17:29:23 +0800 Subject: [PATCH] 累计运行时长更新 --- Test/IStation.Win/View/CorrectionFactorView.cs | 871 +++++++++++++++++++-------------------------------------- 1 files changed, 290 insertions(+), 581 deletions(-) diff --git a/Test/IStation.Win/View/CorrectionFactorView.cs b/Test/IStation.Win/View/CorrectionFactorView.cs index cb2e356..52b1717 100644 --- a/Test/IStation.Win/View/CorrectionFactorView.cs +++ b/Test/IStation.Win/View/CorrectionFactorView.cs @@ -1,8 +1,5 @@ 锘縰sing DevExpress.XtraEditors; -using IStation.Epanet; -using IStation.Epanet.Enums; -using System.Data; -using System.Text; +using IStation.Test.Init; namespace IStation.Win { @@ -14,20 +11,15 @@ this.layoutControl1.SetupLayoutControl(); this.bandedGridView1.SetNormalView(); this.bandedGridView1.OptionsView.ColumnAutoWidth = false; - this.gridView2.SetNormalView(); + this.bandedGridView2.SetNormalView(); + this.bandedGridView2.OptionsView.ColumnAutoWidth = false; + this.dtDay.SetOnlyShowDate(); + this.dtDay.DateTime = new DateTime(2024, 3, 2); - this.dtDay.DateTime = new DateTime(2024, 6, 5); - - this.colTime.Visible = true; - this.colTotalFlow1.Visible = false; - this.colTotalHead1.Visible = false; - this.colRunFlags1.Visible = false; - - this.colTotalFlow2.Visible = true; - this.colTotalHead2.Visible = true; - this.colRunFlags2.Visible = true; + this.gbSum.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left; + this.gbSum1.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left; ShowWL(false); ShowFlow(false); @@ -38,13 +30,28 @@ ShowFlow(false); ShowPump(true); ShowPressure(true); + ShowScada(false); + ShowModel(false); + + this.cekStation1.Checked = true; + this.cekStation2.Checked = false; + } + #region Show + + private void ShowScada(bool v) + { + this.gbScada.Visible = v; + this.gbScada1.Visible = v; + } + private void ShowModel(bool v) + { + this.gbModel.Visible = v; + this.gbModel1.Visible = v; + } private void ShowWL(bool v) - { - this.colR1.Visible = v; - this.colR2.Visible = v; - this.colR3.Visible = v; + { this.colRPump21.Visible = v; this.colRPump22.Visible = v; this.colRPump23.Visible = v; @@ -52,7 +59,12 @@ this.colRPump25.Visible = v; this.colRPump26.Visible = v; this.colRPump27.Visible = v; + + this.colR1.Visible = v; + this.colR2.Visible = v; + this.colR3.Visible = v; } + private void ShowFlow(bool v) { this.colDN2400F.Visible = v; @@ -86,14 +98,9 @@ this.colPump26FDiff.Visible = v; this.colPump27FDiff.Visible = v; - if (v) - { - return; - } this.colJD1FDiff.Visible = v; this.colJD2FDiff.Visible = v; this.colJD3FDiff.Visible = v; - this.colJD1FM.Visible = v; this.colJD2FM.Visible = v; @@ -103,85 +110,80 @@ this.colJD1F.Visible = v; this.colJD2F.Visible = v; this.colJD3F.Visible = v; - } + } private void ShowPressure(bool v) - { + { this.colDN2400P.Visible = v; this.colDN2700P.Visible = v; - this.colPump21P.Visible = v; - this.colPump22P.Visible = v; - this.colPump23P.Visible = v; - this.colPump24P.Visible = v; - this.colPump25P.Visible = v; - this.colPump26P.Visible = v; - this.colPump27P.Visible = v; + this.colPump21P.Visible = false; + this.colPump22P.Visible = false; + this.colPump23P.Visible = false; + this.colPump24P.Visible = false; + this.colPump25P.Visible = false; + this.colPump26P.Visible = false; + this.colPump27P.Visible = false; this.colDN2400PM.Visible = v; this.colDN2700PM.Visible = v; - this.colPump21PM.Visible = v; - this.colPump22PM.Visible = v; - this.colPump23PM.Visible = v; - this.colPump24PM.Visible = v; - this.colPump25PM.Visible = v; - this.colPump26PM.Visible = v; - this.colPump27PM.Visible = v; + this.colPump21PM.Visible = false; + this.colPump22PM.Visible = false; + this.colPump23PM.Visible = false; + this.colPump24PM.Visible = false; + this.colPump25PM.Visible = false; + this.colPump26PM.Visible = false; + this.colPump27PM.Visible = false; - + this.colDN2400PDiff.Visible = v; this.colDN2700PDiff.Visible = v; - this.colPump21PDiff.Visible = v; - this.colPump22PDiff.Visible = v; - this.colPump23PDiff.Visible = v; - this.colPump24PDiff.Visible = v; - this.colPump25PDiff.Visible = v; - this.colPump26PDiff.Visible = v; - this.colPump27PDiff.Visible = v; + this.colPump21PDiff.Visible = false; + this.colPump22PDiff.Visible = false; + this.colPump23PDiff.Visible = false; + this.colPump24PDiff.Visible = false; + this.colPump25PDiff.Visible = false; + this.colPump26PDiff.Visible = false; + this.colPump27PDiff.Visible = false; - if (v) - { - return; - } + this.colJD1P.Visible = v; this.colJD2P.Visible = v; this.colJD3P.Visible = v; - this.colPump11P.Visible = v; - this.colPump12P.Visible = v; - this.colPump13P.Visible = v; - this.colPump14P.Visible = v; - this.colPump15P.Visible = v; - this.colPump16P.Visible = v; - this.colPump17P.Visible = v; - this.colPump18P.Visible = v; + this.colPump11P.Visible = false; + this.colPump12P.Visible = false; + this.colPump13P.Visible = false; + this.colPump14P.Visible = false; + this.colPump15P.Visible = false; + this.colPump16P.Visible = false; + this.colPump17P.Visible = false; + this.colPump18P.Visible = false; this.colJD1PM.Visible = v; this.colJD2PM.Visible = v; this.colJD3PM.Visible = v; - this.colPump11PM.Visible = v; - this.colPump12PM.Visible = v; - this.colPump13PM.Visible = v; - this.colPump14PM.Visible = v; - this.colPump15PM.Visible = v; - this.colPump16PM.Visible = v; - this.colPump17PM.Visible = v; - this.colPump18PM.Visible = v; - - + this.colPump11PM.Visible = false; + this.colPump12PM.Visible = false; + this.colPump13PM.Visible = false; + this.colPump14PM.Visible = false; + this.colPump15PM.Visible = false; + this.colPump16PM.Visible = false; + this.colPump17PM.Visible = false; + this.colPump18PM.Visible = false; this.colJD1PDiff.Visible = v; this.colJD2PDiff.Visible = v; this.colJD3PDiff.Visible = v; - this.colPump11PDiff.Visible = v; - this.colPump12PDiff.Visible = v; - this.colPump13PDiff.Visible = v; - this.colPump14PDiff.Visible = v; - this.colPump15PDiff.Visible = v; - this.colPump16PDiff.Visible = v; - this.colPump17PDiff.Visible = v; - this.colPump18PDiff.Visible = v; + this.colPump11PDiff.Visible = false; + this.colPump12PDiff.Visible = false; + this.colPump13PDiff.Visible = false; + this.colPump14PDiff.Visible = false; + this.colPump15PDiff.Visible = false; + this.colPump16PDiff.Visible = false; + this.colPump17PDiff.Visible = false; + this.colPump18PDiff.Visible = false; - } + } private void ShowPump(bool v) { this.colPump21.Visible = v; @@ -191,7 +193,6 @@ this.colPump25.Visible = v; this.colPump26.Visible = v; this.colPump27.Visible = v; - this.colPump21M.Visible = v; this.colPump22M.Visible = v; @@ -210,11 +211,6 @@ this.colPump27Diff.Visible = v; - if (v) - { - return; - } - this.colPump11.Visible = v; this.colPump12.Visible = v; this.colPump13.Visible = v; @@ -243,142 +239,19 @@ this.colPump18Diff.Visible = v; } - private List<ScadaScheduleViewModel> _scada_vm_list = null; - private List<CorrectionFactorViewModel> _correction_factor_vm_list = null; + #endregion - //璋冨害 - private void btnSchedule_Click(object sender, EventArgs e) - { - var service_station = new Service.Station(); - var service_schedule_config = new Service.ScheduleConfig(); - var hydraulic_model_file = System.IO.Path.Combine( - Settings.ParasHelper.LocalFile.DataFolderDirectory, - Settings.ParasHelper.LocalFile.HydraulicModelFile); + #region dict - _scada_vm_list = new List<ScadaScheduleViewModel>(); - _correction_factor_vm_list = new List<CorrectionFactorViewModel>(); - - var day = this.dtDay.DateTime; - var day_value = IStation.DayValueHelper.GetDayValue(day); - if (day_value == null) + private Dictionary<string, string> _flow_id_mapping_dict1 = new Dictionary<string, string>() { - XtraMessageBox.Show("鏃犳硶鍔犺浇鏃ユ湡鏁版嵁!"); - return; - } - var bol = CorrectionFactorHelper.Analysis(day_value, out Dictionary<string, List<Tuple<int, double, double[]>>> correction_factor_dict); - if (!bol) - { - XtraMessageBox.Show("鏃犳硶鍔犺浇淇绯绘暟!"); - return; - } - if (correction_factor_dict == null || !correction_factor_dict.Any()) - { - XtraMessageBox.Show("鏃犳硶鍔犺浇淇绯绘暟!"); - return; - } + {"Pjd1","SFJD1"}, + {"Pjd2","SFJD2"}, + {"Pjd3","SFJD3"}, + }; - WaitHelper.ShowWaitForm(); - var time_value_list = day_value.TimeValueList; - foreach (var time_value in time_value_list) - { - var time = time_value.Time; - var scada_value_dict = time_value.Value; - - var vm = new ScadaScheduleViewModel(); - vm.Time = time; - vm.R1 = scada_value_dict["R1"]; - vm.R2 = scada_value_dict["R2"]; - vm.R3 = scada_value_dict["R3"]; - vm.RPump21 = scada_value_dict["RPump21"]; - vm.RPump22 = scada_value_dict["RPump22"]; - vm.RPump23 = scada_value_dict["RPump23"]; - vm.RPump24 = scada_value_dict["RPump24"]; - vm.RPump25 = scada_value_dict["RPump25"]; - vm.RPump26 = scada_value_dict["RPump26"]; - vm.RPump27 = scada_value_dict["RPump27"]; - - - vm.JD1P = scada_value_dict["SPJD1"]; - vm.JD2P = scada_value_dict["SPJD2"]; - vm.JD3P = scada_value_dict["SPJD3"]; - vm.Pump11P = scada_value_dict["SPPump11"]; - vm.Pump12P = scada_value_dict["SPPump12"]; - vm.Pump13P = scada_value_dict["SPPump13"]; - vm.Pump14P = scada_value_dict["SPPump14"]; - vm.Pump15P = scada_value_dict["SPPump15"]; - vm.Pump16P = scada_value_dict["SPPump16"]; - vm.Pump17P = scada_value_dict["SPPump17"]; - vm.Pump18P = scada_value_dict["SPPump18"]; - - vm.DN2400P = scada_value_dict["SPDN2400"]; - vm.DN2700P = scada_value_dict["SPDN2700"]; - vm.Pump21P = scada_value_dict["SPPump21"]; - vm.Pump22P = scada_value_dict["SPPump22"]; - vm.Pump23P = scada_value_dict["SPPump23"]; - vm.Pump24P = scada_value_dict["SPPump24"]; - vm.Pump25P = scada_value_dict["SPPump25"]; - vm.Pump26P = scada_value_dict["SPPump26"]; - vm.Pump27P = scada_value_dict["SPPump27"]; - - - vm.JD1F = scada_value_dict["SFJD1"]; - vm.JD2F = scada_value_dict["SFJD2"]; - vm.JD3F = scada_value_dict["SFJD3"]; - vm.DN2700F = scada_value_dict["SFDN2700"]; - vm.DN2400F = scada_value_dict["SFDN2400"]; - vm.Pump21F = scada_value_dict["SFPump21"]; - vm.Pump22F = scada_value_dict["SFPump22"]; - vm.Pump23F = scada_value_dict["SFPump23"]; - vm.Pump24F = scada_value_dict["SFPump24"]; - vm.Pump25F = scada_value_dict["SFPump25"]; - vm.Pump26F = scada_value_dict["SFPump26"]; - vm.Pump27F = scada_value_dict["SFPump27"]; - - vm.Pump11 = scada_value_dict["Pump11"]; - vm.Pump12 = scada_value_dict["Pump12"]; - vm.Pump13 = scada_value_dict["Pump13"]; - vm.Pump14 = scada_value_dict["Pump14"]; - vm.Pump15 = scada_value_dict["Pump15"]; - vm.Pump16 = scada_value_dict["Pump16"]; - vm.Pump17 = scada_value_dict["Pump17"]; - vm.Pump18 = scada_value_dict["Pump18"]; - - vm.Pump21 = scada_value_dict["Pump21"]; - vm.Pump22 = scada_value_dict["Pump22"]; - vm.Pump23 = scada_value_dict["Pump23"]; - vm.Pump24 = scada_value_dict["Pump24"]; - vm.Pump25 = scada_value_dict["Pump25"]; - vm.Pump26 = scada_value_dict["Pump26"]; - vm.Pump27 = scada_value_dict["Pump27"]; - - vm.Sum(); - _scada_vm_list.Add(vm); - } - - foreach (var correction_factor_group_item in correction_factor_dict) - { - var flags = correction_factor_group_item.Key; - foreach (var item in correction_factor_group_item.Value) - { - var vm = new CorrectionFactorViewModel - { - RunFlags = flags, - Flag = item.Item1, - Avg = item.Item2, - Mode = item.Item3, - ModeDisplay = Yw.Untity.DoubleListHelper.ToString(item.Item3) - }; - _correction_factor_vm_list.Add(vm); - } - } - - this.correctionFactorViewModelBindingSource.DataSource=_correction_factor_vm_list; - this.correctionFactorViewModelBindingSource.ResetBindings(false); - - #region init_dict - - var pressure_id_mapping_dict = new Dictionary<string, string>() + private Dictionary<string, string> _pressure_id_mapping_dict1 = new Dictionary<string, string>() { {"Jjd1","SPJD1"}, {"Jjd2","SPJD2"}, @@ -390,7 +263,47 @@ {"Jpump15","SPPump15" }, {"Jpump16","SPPump16" }, {"Jpump17","SPPump17" }, - {"Jpump18","SPPump18" }, + {"Jpump18","SPPump18" } + }; + + private Dictionary<string, string> _pump_id_mapping_dict1 = new Dictionary<string, string>(){ + { "Pump11" , "Pump11"}, + { "Pump12" , "Pump12"}, + { "Pump13" , "Pump13"}, + { "Pump14" , "Pump14"}, + { "Pump15" , "Pump15"}, + { "Pump16" , "Pump16"}, + { "Pump17" , "Pump17"}, + { "Pump18" , "Pump18"}, + + }; + + private Dictionary<int, string> _flag_pattern_dict1 = new(){ + { GlobalHelper.Flag11 , "Pump11"}, + { GlobalHelper.Flag12 , "Pump12"}, + { GlobalHelper.Flag13 , "Pump13"}, + { GlobalHelper.Flag14 , "Pump14"}, + { GlobalHelper.Flag15 , "Pump15"}, + { GlobalHelper.Flag16 , "Pump16"}, + { GlobalHelper.Flag17 , "Pump17"}, + { GlobalHelper.Flag18 , "Pump18"}, + }; + + private Dictionary<string, string> _flow_id_mapping_dict2 = new Dictionary<string, string>() + { + {"Pdn2400","SFDN2400"}, + {"Pdn2700","SFDN2700"}, + {"Ppump21","SFPump21"}, + {"Ppump22","SFPump22"}, + {"Ppump23","SFPump23"}, + {"Ppump24","SFPump24"}, + {"Ppump25","SFPump25"}, + {"Ppump26","SFPump26"}, + {"Ppump27","SFPump27"} + }; + + private Dictionary<string, string> _pressure_id_mapping_dict2 = new Dictionary<string, string>() + { {"Jdn2400","SPDN2400"}, {"Jdn2700","SPDN2700"}, {"Jpump21","SPPump21"}, @@ -401,415 +314,211 @@ {"Jpump26","SPPump26"}, {"Jpump27","SPPump27"} }; - var flow_id_mapping_dict = new Dictionary<string, string>() + + private Dictionary<string, string> _pump_id_mapping_dict2 = new Dictionary<string, string>(){ + { "Pump21" , "Pump21"}, + { "Pump22" , "Pump22"}, + { "Pump23" , "Pump23"}, + { "Pump24" , "Pump24"}, + { "Pump25" , "Pump25"}, + { "Pump26" , "Pump26"}, + { "Pump27" , "Pump27"} + }; + + private Dictionary<int, string> _flag_pattern_dict2 = new(){ + { GlobalHelper.Flag21 ,"Pump21" }, + { GlobalHelper.Flag22 ,"Pump22" }, + { GlobalHelper.Flag23 ,"Pump23" }, + { GlobalHelper.Flag24 ,"Pump24" }, + { GlobalHelper.Flag25 ,"Pump25" }, + { GlobalHelper.Flag26 ,"Pump26" }, + { GlobalHelper.Flag27 ,"Pump27" } + }; + + #endregion + + //璋冨害 + private void btnSchedule_Click(object sender, EventArgs e) + { + //var day = this.dtDay.DateTime; + //var day_value = DayValueHelper.GetDayValue(day); + //if (day_value == null) + //{ + // XtraMessageBox.Show("鏃犳硶鍔犺浇鏃ユ湡鏁版嵁!"); + // return; + //} + //this.memoInfo.Text = string.Empty; + + //var day_value_list = new List<DayValue>() { day_value }; + WaitHelper.ShowWaitForm(); + + var msg = ScadaScheduleHelper.Schedule( + //day_value_list, + //this.cekStation1.Checked, + //this.cekStation2.Checked, + out List<Station1ScadaSchedule> all_station1_scada_schedule_list, + out List<Station2ScadaSchedule> all_station2_scada_schedule_list); + + this.station1ScadaScheduleBindingSource.DataSource = all_station1_scada_schedule_list; + this.station1ScadaScheduleBindingSource.ResetBindings(false); + this.bandedGridView2.BestFitColumns(); + + this.station2ScadaScheduleBindingSource.DataSource = all_station2_scada_schedule_list; + this.station2ScadaScheduleBindingSource.ResetBindings(false); + this.bandedGridView1.BestFitColumns(); + + this.memoInfo.Text = msg; + WaitHelper.HideWaitForm(); + } + + #region event + + private void cekShowScada_CheckedChanged(object sender, EventArgs e) + { + ShowScada(this.cekShowScada.Checked); + } + + private void cekShowModel_CheckedChanged(object sender, EventArgs e) + { + ShowModel(this.cekShowModel.Checked); + + } + + private void bandedGridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) + { + if (e.CellValue != null) { - {"Pjd1","SFJD1"}, - {"Pjd2","SFJD2"}, - {"Pjd3","SFJD3"}, - {"Pdn2400","SFDN2400"}, - {"Pdn2700","SFDN2700"}, - {"Ppump21","SFPump21"}, - {"Ppump22","SFPump22"}, - {"Ppump23","SFPump23"}, - {"Ppump24","SFPump24"}, - {"Ppump25","SFPump25"}, - {"Ppump26","SFPump26"}, - {"Ppump27","SFPump27"} - }; - var pattern_id_mapping_dict = new Dictionary<string, string>() - { - {"R3", "R3"}, - {"R2", "R2"}, - {"R1", "R1"}, - {"SFJD1", "SFJD1"}, - {"SFJD2", "SFJD2"}, - {"SFJD3", "SFJD3"}, - {"RPump21", "RPump21"}, - {"RPump22", "RPump22"}, - {"RPump23", "RPump23"}, - {"RPump24", "RPump24"}, - {"RPump25", "RPump25"}, - {"RPump26", "RPump26"}, - {"RPump27", "RPump27"}, - {"SFPump21", "SFPump21"}, - {"SFPump22", "SFPump22"}, - {"SFPump23", "SFPump23"}, - {"SFPump24", "SFPump24"}, - {"SFPump25", "SFPump25"}, - {"SFPump26", "SFPump26"}, - {"SFPump27", "SFPump27"}, - {"SFDN2400", "SFDN2400"}, - {"SFDN2700", "SFDN2700"}, - }; - var pump_id_mapping_dict_int = new Dictionary<string, int>(){ - { "Pump11",GlobalHelper.Flag11}, - { "Pump12",GlobalHelper.Flag12}, - { "Pump13",GlobalHelper.Flag13}, - { "Pump14",GlobalHelper.Flag14}, - { "Pump15",GlobalHelper.Flag15}, - { "Pump16",GlobalHelper.Flag16}, - { "Pump17",GlobalHelper.Flag17}, - { "Pump18",GlobalHelper.Flag18}, - { "Pump21",GlobalHelper.Flag21}, - { "Pump22",GlobalHelper.Flag22}, - { "Pump23",GlobalHelper.Flag23}, - { "Pump24",GlobalHelper.Flag24}, - { "Pump25",GlobalHelper.Flag25}, - { "Pump26",GlobalHelper.Flag26}, - { "Pump27",GlobalHelper.Flag27} - }; - - var pump_pressure_mapping_dict_int = new Dictionary<string, string>(){ - { "Pump11","Jpump11"}, - { "Pump12","Jpump12"}, - { "Pump13","Jpump13"}, - { "Pump14","Jpump14"}, - { "Pump15","Jpump15"}, - { "Pump16","Jpump16"}, - { "Pump17","Jpump17"}, - { "Pump18","Jpump18" }, - { "Pump21","Jpump21"}, - { "Pump22","Jpump22"}, - { "Pump23","Jpump23"}, - { "Pump24","Jpump24"}, - { "Pump25","Jpump25"}, - { "Pump26","Jpump26"}, - { "Pump27","Jpump27"} - }; - - #endregion - - #region init_config - - var station_info = service_station.Get(); - var station1 = station_info.Station1; - var station2 = station_info.Station2; - var station1_same_type_flag_group_first = GlobalHelper.Station1SameTypeFlagGroupFirst; - var station2_same_type_flag_group_first = GlobalHelper.Station2SameTypeFlagGroupFirst; - 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; - - var pump_id_mapping_dict = GlobalHelper.ModelPumpIdMappingDict; - var flag_nr_mapping_dict = GlobalHelper.GetFlagNrMappingDict(); - - var pump_pattern_custom_dict = new Dictionary<string, double>(); - var pattern_dict = new Dictionary<string, float[]>(); - var scada_dict = new Dictionary<string, double>(); - var pattern_dict_temp = new Dictionary<string, float[]>(); - - #endregion - - var helper = new IStation.Algorithm.ScheduleHelper(); - foreach (var time_value in time_value_list) - { - var time = time_value.Time; - var scada_value_dict = time_value.Value; - var vm = _scada_vm_list.Find(x => x.Time == time); - - pump_pattern_custom_dict.Clear(); - pattern_dict.Clear(); - scada_dict.Clear(); - - foreach (var item in pump_id_mapping_dict_int) + if (e.Column == this.colDN2400PDiff || e.Column == this.colDN2700PDiff) { - pump_pattern_custom_dict[item.Key] = 0; - } - foreach (var zy_scada in scada_value_dict) - { - var tag = zy_scada.Key; - var value = zy_scada.Value; - foreach (var item in pattern_id_mapping_dict) + var cell_value = e.CellValue.ToString() ?? string.Empty; + if (double.TryParse(cell_value, out double value)) { - if (item.Key == tag) + if (Math.Abs(value) > 0.5) { - var pattern_id = item.Key; - var factor = value; - pattern_dict.Add(pattern_id, new float[] { (float)factor }); - break; + e.Appearance.ForeColor = Color.Red; } } - foreach (var item in flow_id_mapping_dict) - { - if (item.Value != tag) - continue; - scada_dict.Add(tag, value); - } - - foreach (var item in pressure_id_mapping_dict) - { - if (item.Value != tag) - continue; - var pressure_value = value; - scada_dict.Add(tag, pressure_value); - } } - - var pump_model_scada_diff_dict = new Dictionary<string, double?>(){ - { "Pump11",vm.Pump11}, - { "Pump12",vm.Pump12}, - { "Pump13",vm.Pump13}, - { "Pump14",vm.Pump14}, - { "Pump15",vm.Pump15}, - { "Pump16",vm.Pump16}, - { "Pump17",vm.Pump17}, - { "Pump18",vm.Pump18}, - { "Pump21",vm.Pump21}, - { "Pump22",vm.Pump22}, - { "Pump23",vm.Pump23}, - { "Pump24",vm.Pump24}, - { "Pump25",vm.Pump25}, - { "Pump26",vm.Pump26}, - { "Pump27",vm.Pump27} - }; - - var target_flow1 = vm.TotalFlow1; - var target_head1 = vm.TotalHead1; - - var target_flow2 = vm.TotalFlow2; - var target_head2 = vm.TotalHead2; - - CorrectionFactorHelper.OutOpenFlagList(scada_value_dict, out List<int> station1_open_flag_list, out List<int> station2_open_flag_list); - CorrectionFactorHelper.OutWaterLevel(scada_value_dict, out Dictionary<int, double> station1_flag_inlet_water_level_dict, out Dictionary<int, double> station2_flag_inlet_water_level_dict); - - helper.Initial(station2_open_flag_list, station2_schedule_config); - - - if (_correction_factor_vm_list != null && _correction_factor_vm_list.Any()) + else if + ( + e.Column == this.colPump21Diff || + e.Column == this.colPump22Diff || + e.Column == this.colPump23Diff || + e.Column == this.colPump24Diff || + e.Column == this.colPump25Diff || + e.Column == this.colPump26Diff || + e.Column == this.colPump27Diff + ) { - var station2_open_flag_list_str = Yw.Untity.IntListHelper.ToString(station2_open_flag_list); - var correction_factor_vm_list = _correction_factor_vm_list.Where(x => x.RunFlags.Equals(station2_open_flag_list_str)).ToList(); - if (correction_factor_vm_list != null && correction_factor_vm_list.Any()) + + var cell_value = e.CellValue.ToString() ?? string.Empty; + if (double.TryParse(cell_value, out double value)) { - if (this.cekUseMode.Checked) + if (value > 0) { - var correction_factor_dict_diff2 = correction_factor_vm_list.ToDictionary(x => x.Flag, y => y.Mode.FirstOrDefault()); - helper.InitCorrectionFactorDict(correction_factor_dict_diff2); + e.Appearance.ForeColor = Color.Red; } else { - var correction_factor_dict_diff2 = correction_factor_vm_list.ToDictionary(x => x.Flag, y => y.Avg); - helper.InitCorrectionFactorDict(correction_factor_dict_diff2); + e.Appearance.ForeColor = Color.Green; } } } - var optimal_combine2 = helper.GetOptAnaCombine(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, null, target_flow2, target_head2); - - var station2_open_flag_list_bak = station2_open_flag_list.Select(x => x).ToList(); - if (optimal_combine2 != null) + else if + ( + e.Column == this.colTotalPowerDiff + ) { - station2_open_flag_list = new List<int>(); - foreach (var fre_pump in optimal_combine2.AnaFrePumps) + + var cell_value = e.CellValue.ToString() ?? string.Empty; + if (double.TryParse(cell_value, out double value)) { - var flag = fre_pump.Flag; - var modelId = pump_id_mapping_dict[flag]; - pump_pattern_custom_dict[modelId] = fre_pump.Frequency / 50; - if (fre_pump.Frequency > 0) + if (value > 0) { - station2_open_flag_list.Add(flag); + e.Appearance.ForeColor = Color.Red; + } + else + { + e.Appearance.ForeColor = Color.Green; } } } - pattern_dict_temp.Clear(); - foreach (var item in pattern_dict) - pattern_dict_temp.Add(item.Key, item.Value); - foreach (var item in pump_pattern_custom_dict) - pattern_dict_temp.Add(item.Key, new float[] { (float)item.Value }); - - var record_list = Verify(999, time, hydraulic_model_file, flow_id_mapping_dict, pressure_id_mapping_dict, pattern_dict_temp, scada_value_dict); - var model_value_dict = record_list.ToDictionary(x => x.ScadaId, y => y.ModelValue); - - vm.JD1PM = model_value_dict["SPJD1"]; - vm.JD2PM = model_value_dict["SPJD2"]; - vm.JD3PM = model_value_dict["SPJD3"]; - vm.Pump11PM = model_value_dict["SPPump11"]; - vm.Pump12PM = model_value_dict["SPPump12"]; - vm.Pump13PM = model_value_dict["SPPump13"]; - vm.Pump14PM = model_value_dict["SPPump14"]; - vm.Pump15PM = model_value_dict["SPPump15"]; - vm.Pump16PM = model_value_dict["SPPump16"]; - vm.Pump17PM = model_value_dict["SPPump17"]; - vm.Pump18PM = model_value_dict["SPPump18"]; - - vm.DN2400PM = model_value_dict["SPDN2400"]; - vm.DN2700PM = model_value_dict["SPDN2700"]; - vm.Pump21PM = model_value_dict["SPPump21"]; - vm.Pump22PM = model_value_dict["SPPump22"]; - vm.Pump23PM = model_value_dict["SPPump23"]; - vm.Pump24PM = model_value_dict["SPPump24"]; - vm.Pump25PM = model_value_dict["SPPump25"]; - vm.Pump26PM = model_value_dict["SPPump26"]; - vm.Pump27PM = model_value_dict["SPPump27"]; - - - vm.JD1FM = model_value_dict["SFJD1"]; - vm.JD2FM = model_value_dict["SFJD2"]; - vm.JD3FM = model_value_dict["SFJD3"]; - - vm.DN2400FM = model_value_dict["SFDN2400"]; - vm.DN2700FM = model_value_dict["SFDN2700"]; - vm.Pump21FM = model_value_dict["SFPump21"]; - vm.Pump22FM = model_value_dict["SFPump22"]; - vm.Pump23FM = model_value_dict["SFPump23"]; - vm.Pump24FM = model_value_dict["SFPump24"]; - vm.Pump25FM = model_value_dict["SFPump25"]; - vm.Pump26FM = model_value_dict["SFPump26"]; - vm.Pump27FM = model_value_dict["SFPump27"]; - - vm.Pump11M = pump_pattern_custom_dict["Pump11"]; - vm.Pump12M = pump_pattern_custom_dict["Pump12"]; - vm.Pump13M = pump_pattern_custom_dict["Pump13"]; - vm.Pump14M = pump_pattern_custom_dict["Pump14"]; - vm.Pump15M = pump_pattern_custom_dict["Pump15"]; - vm.Pump16M = pump_pattern_custom_dict["Pump16"]; - vm.Pump17M = pump_pattern_custom_dict["Pump17"]; - vm.Pump18M = pump_pattern_custom_dict["Pump18"]; - - vm.Pump21M = pump_pattern_custom_dict["Pump21"]; - vm.Pump22M = pump_pattern_custom_dict["Pump22"]; - vm.Pump23M = pump_pattern_custom_dict["Pump23"]; - vm.Pump24M = pump_pattern_custom_dict["Pump24"]; - vm.Pump25M = pump_pattern_custom_dict["Pump25"]; - vm.Pump26M = pump_pattern_custom_dict["Pump26"]; - vm.Pump27M = pump_pattern_custom_dict["Pump27"]; - - vm.Set(); } - this.scadaScheduleViewModelBindingSource.DataSource = _scada_vm_list; - this.scadaScheduleViewModelBindingSource.ResetBindings(false); - this.bandedGridView1.BestFitColumns(); - WaitHelper.HideWaitForm(); } - /// <summary> - /// 妯″瀷楠岃瘉 - /// </summary> - public static List<Model.HydraulicModelRecord> Verify( - long verify_id, - DateTime verify_time, - string verify_file_path, - Dictionary<string, string> flow_id_mapping_dict, - Dictionary<string, string> pressure_id_mapping_dict, - Dictionary<string, float[]> pattern_dict, - Dictionary<string, double> scada_dict) + private void bandedGridView2_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) { - var hydraulic_record_list = new List<Model.HydraulicModelRecord>(); - var err = EpanetMethods.ENopen(verify_file_path, "", ""); - if (err != 0) + if (e.CellValue != null) { - return default; - } - err = EpanetMethods.ENopenH(); - if (err != 0) - { - return default; - } - var model_id_build = new StringBuilder(31); - var pattern_init = true; - foreach (var pattern in pattern_dict) - { - var pattern_id = pattern.Key; - var pattern_factor_array = pattern.Value; - var pattern_factor_array_count = pattern_factor_array.Length == 0 ? 1 : pattern_factor_array.Length; - err = EpanetMethods.ENgetpatternindex(pattern_id, out int pattern_index); - - if (err != ErrorCode.Ok) + if (e.Column == this.colJD1PDiff || e.Column == this.colJD2PDiff || e.Column == this.colJD3PDiff) { - pattern_init = false; - continue; - } - err = EpanetMethods.ENsetpattern(pattern_index, pattern_factor_array, pattern_factor_array_count); - if (err != ErrorCode.Ok) - { - pattern_init = false; - continue; - } - } - if (!pattern_init) - { - return default; - } - - EpanetMethods.ENinitH(0); - EpanetMethods.ENrunH(out _); - EpanetMethods.ENgetcount(CountType.Link, out int link_count); - EpanetMethods.ENgetcount(CountType.Node, out int node_count); - - for (int link_index = 1; link_index <= link_count; link_index++) - { - if (EpanetMethods.ENgetlinkid(link_index, model_id_build) != ErrorCode.Ok) - continue; - var model_id = model_id_build.ToString(); - - if (flow_id_mapping_dict.ContainsKey(model_id)) - { - var scada_id = flow_id_mapping_dict[model_id]; - var scada_value = scada_dict[scada_id]; - EpanetMethods.ENgetlinkvalue(link_index, LinkValue.Flow, out float model_value); - model_value = Math.Abs(model_value); - - var record = new IStation.Model.HydraulicModelRecord + var cell_value = e.CellValue.ToString() ?? string.Empty; + if (double.TryParse(cell_value, out double value)) { - VerificationID = verify_id, - Time = verify_time, - ModelId = model_id, - ScadaId = scada_id, - ValueType = IStation.eValueType.Flow, - ModelValue = (double)model_value, - ScadaValue = scada_value - }; - record.DifferenceValue = record.ModelValue - record.ScadaValue; - hydraulic_record_list.Add(record); + if (Math.Abs(value) > 0.5) + { + e.Appearance.ForeColor = Color.Red; + } + } + } - - EpanetMethods.ENgetlinktype(link_index, out LinkType linkType); - if (linkType == LinkType.Pump) + else if + ( + e.Column == this.colPump11Diff || + e.Column == this.colPump12Diff || + e.Column == this.colPump13Diff || + e.Column == this.colPump14Diff || + e.Column == this.colPump15Diff || + e.Column == this.colPump16Diff || + e.Column == this.colPump17Diff || + e.Column == this.colPump18Diff + ) { - EpanetMethods.ENgetlinkvalue(link_index, LinkValue.HeadLoss, out float val); - } - } - for (int node_index = 1; node_index <= node_count; node_index++) - { - if (EpanetMethods.ENgetnodeid(node_index, model_id_build) != ErrorCode.Ok) - continue; - var model_id = model_id_build.ToString(); - - if (pressure_id_mapping_dict.ContainsKey(model_id)) - { - var scada_id = pressure_id_mapping_dict[model_id]; - var scada_value = scada_dict[scada_id]; - - EpanetMethods.ENgetnodevalue(node_index, NodeValue.Head, out float model_value); - - var record = new IStation.Model.HydraulicModelRecord + var cell_value = e.CellValue.ToString() ?? string.Empty; + if (double.TryParse(cell_value, out double value)) { - VerificationID = verify_id, - Time = verify_time, - ModelId = model_id, - ScadaId = scada_id, - ValueType = IStation.eValueType.Head, - ModelValue = (double)model_value, - ScadaValue = scada_value - }; - record.DifferenceValue = record.ModelValue - record.ScadaValue; - hydraulic_record_list.Add(record); + if (value > 0) + { + e.Appearance.ForeColor = Color.Red; + } + else + { + e.Appearance.ForeColor = Color.Green; + } + } + } + else if + ( + e.Column == this.colTotalPowerDiff1 + ) + { + + var cell_value = e.CellValue.ToString() ?? string.Empty; + if (double.TryParse(cell_value, out double value)) + { + if (value > 0) + { + e.Appearance.ForeColor = Color.Red; + } + else + { + e.Appearance.ForeColor = Color.Green; + } + } } } - - EpanetMethods.ENcloseH(); - return hydraulic_record_list; } + #endregion } } -- Gitblit v1.9.3