using DevExpress.Utils.Extensions; using DevExpress.XtraEditors; using DevExpress.XtraGrid.Columns; using System.Data; namespace IStation.Win { public partial class ModelValidView : XtraUserControl { public ModelValidView() { InitializeComponent(); this.gridView1.SetNormalView(); this.gridView2.SetNormalView(); this.gridView2.OptionsView.ColumnAutoWidth = false; foreach (GridColumn col in gridView2.Columns) { col.MinWidth = 60; } var year = 2024; var month = 1; this.dateEditStart.DateTime = new DateTime(year, month, 1); this.dateEditEnd.DateTime = new DateTime(year, month, DateTime.DaysInMonth(year, month)); } //private List _schedule_request_list = null; //private List _schedule_pump_list = null; //private List _schedule_conclusion_list = null; private List _hydraulic_model_validation_list = null; private List _hydraulic_model_scada_list = null; private List _hydraulic_model_record_list = null; //加载 private void barBtnLoad_Click(object sender, EventArgs e) { this.modelValidViewModelBindingSource.DataSource = null; this.modelScadaValidViewModelBindingSource.DataSource = null; WaitHelper.ShowWaitForm(); var start_time = this.dateEditStart.DateTime; var end_time = this.dateEditEnd.DateTime; //_schedule_request_list = new IStation.Service.ScheduleRequest().GetByReceptionTime(start_time, end_time); //if (_schedule_request_list == null || !_schedule_request_list.Any()) //{ // WaitHelper.HideWaitForm(); // XtraMessageBox.Show("_schedule_request_list is null"); // return; //} //var request_ids= _schedule_request_list.Select(x=>x.ID).ToList(); //_schedule_pump_list = new IStation.Service.SchedulePump().GetByRequestIds(request_ids); //if (_schedule_pump_list == null || !_schedule_pump_list.Any()) //{ // WaitHelper.HideWaitForm(); // XtraMessageBox.Show("_schedule_pump_list is null"); // return; //} //_schedule_conclusion_list = new IStation.Service.ScheduleConclusion().GetByRequestIds(request_ids); //if (_schedule_conclusion_list == null || !_schedule_conclusion_list.Any()) //{ // WaitHelper.HideWaitForm(); // XtraMessageBox.Show("_schedule_conclusion_list is null"); // return; //} _hydraulic_model_validation_list = new IStation.Service.HydraulicModelValidation().GetByDate(start_time, end_time); if (_hydraulic_model_validation_list == null || !_hydraulic_model_validation_list.Any()) { WaitHelper.HideWaitForm(); XtraMessageBox.Show("_hydraulic_model_validation_list is null"); return; } _hydraulic_model_scada_list = new IStation.Service.HydraulicModelScada().GetByDate(start_time, end_time); if (_hydraulic_model_scada_list == null || !_hydraulic_model_scada_list.Any()) { WaitHelper.HideWaitForm(); XtraMessageBox.Show("_hydraulic_model_scada_list is null"); return; } _hydraulic_model_record_list = new IStation.Service.HydraulicModelRecord().GetByDate(start_time, end_time); if (_hydraulic_model_record_list == null || !_hydraulic_model_record_list.Any()) { WaitHelper.HideWaitForm(); XtraMessageBox.Show("_hydraulic_model_record_list is null"); return; } SetGridView1(_hydraulic_model_record_list); SetGridView2(_hydraulic_model_validation_list, _hydraulic_model_scada_list, _hydraulic_model_record_list); WaitHelper.HideWaitForm(); } private void SetGridView1(List hydraulic_model_record_list) { var model_valid_vm_list = new List(); if (hydraulic_model_record_list != null && hydraulic_model_record_list.Any()) { foreach (var hydraulic_model_record in hydraulic_model_record_list) { var model_valid_vm = new ModelValidViewModel(); model_valid_vm.Time = hydraulic_model_record.Time; model_valid_vm.ValueType = hydraulic_model_record.ValueType; model_valid_vm.ModelId = hydraulic_model_record.ModelId; model_valid_vm.ScadaId = hydraulic_model_record.ScadaId; model_valid_vm.ModeValue = hydraulic_model_record.ModeValue; model_valid_vm.ScadaValue = hydraulic_model_record.ScadaValue; model_valid_vm.DifferenceValue = hydraulic_model_record.DifferenceValue; model_valid_vm.Round(); model_valid_vm_list.Add(model_valid_vm); } } this.modelValidViewModelBindingSource.DataSource = model_valid_vm_list; this.modelValidViewModelBindingSource.ResetBindings(false); this.gridView1.BestFitColumns(); } private void SetGridView2(List hydraulic_model_validation_list, List hydraulic_model_scada_list, List hydraulic_model_record_list) { var hydraulic_model_scada_group = hydraulic_model_scada_list.GroupBy(x => x.Time); var hydraulic_model_record_group = hydraulic_model_record_list.GroupBy(x => x.Time); var model_scada_valid_vm_list = new List(); var time_list= hydraulic_model_validation_list.Select(x=>x.Time).OrderBy(x=>x).ToList(); foreach (var time in time_list) { var hydraulic_model_scadas = hydraulic_model_scada_group.Where(x => x.Key == time).SelectMany(x => x).ToList(); if (hydraulic_model_scadas == null || !hydraulic_model_scadas.Any()) continue; var scada_dict = hydraulic_model_scadas.ToDictionary(x=>x.Tag,x=>x.Value); var hydraulic_model_records = hydraulic_model_record_group.Where(x => x.Key == time).SelectMany(x => x).ToList(); if (hydraulic_model_records == null || !hydraulic_model_records.Any()) continue; var model_record_dict = hydraulic_model_records.ToDictionary(x => x.ModelId, x => x.ModeValue); var vm = new ModelScadaValidViewModel(); vm.Time = time; vm.R1s = scada_dict["R1"].Value; vm.R2s = scada_dict["R2"].Value; vm.R3s = scada_dict["R3"].Value; vm.RPump21s = scada_dict["RPump21"].Value; vm.RPump22s = scada_dict["RPump22"].Value; vm.RPump23s = scada_dict["RPump23"].Value; vm.RPump24s = scada_dict["RPump24"].Value; vm.RPump25s = scada_dict["RPump25"].Value; vm.RPump26s = scada_dict["RPump26"].Value; vm.RPump27s = scada_dict["RPump27"].Value; vm.DN2700P = model_record_dict["Jdn2700"].Value; vm.DN2400P = model_record_dict["Jdn2400"].Value; vm.JD1P = model_record_dict["Jjd1"].Value; vm.JD2P = model_record_dict["Jjd2"].Value; vm.JD3P = model_record_dict["Jjd3"].Value; vm.Pump11P = model_record_dict["Jpump11"].Value; vm.Pump12P = model_record_dict["Jpump12"].Value; vm.Pump13P = model_record_dict["Jpump13"].Value; vm.Pump14P = model_record_dict["Jpump14"].Value; vm.Pump15P = model_record_dict["Jpump15"].Value; vm.Pump16P = model_record_dict["Jpump16"].Value; vm.Pump17P = model_record_dict["Jpump17"].Value; vm.Pump18P = model_record_dict["Jpump18"].Value; vm.Pump21P = model_record_dict["Jpump21"].Value; vm.Pump22P = model_record_dict["Jpump22"].Value; vm.Pump23P = model_record_dict["Jpump23"].Value; vm.Pump24P = model_record_dict["Jpump24"].Value; vm.Pump25P = model_record_dict["Jpump25"].Value; vm.Pump26P = model_record_dict["Jpump26"].Value; vm.Pump27P = model_record_dict["Jpump27"].Value; vm.DN2700Ps = scada_dict["SPDN2700"].Value; vm.DN2400Ps = scada_dict["SPDN2400"].Value; vm.JD1Ps = scada_dict["SPJD1"].Value; vm.JD2Ps = scada_dict["SPJD2"].Value; vm.JD3Ps = scada_dict["SPJD3"].Value; vm.Pump11Ps = scada_dict["SPPump11"].Value; vm.Pump12Ps = scada_dict["SPPump12"].Value; vm.Pump13Ps = scada_dict["SPPump13"].Value; vm.Pump14Ps = scada_dict["SPPump14"].Value; vm.Pump15Ps = scada_dict["SPPump15"].Value; vm.Pump16Ps = scada_dict["SPPump16"].Value; vm.Pump17Ps = scada_dict["SPPump17"].Value; vm.Pump18Ps = scada_dict["SPPump18"].Value; vm.Pump21Ps = scada_dict["SPPump21"].Value; vm.Pump22Ps = scada_dict["SPPump22"].Value; vm.Pump23Ps = scada_dict["SPPump23"].Value; vm.Pump24Ps = scada_dict["SPPump24"].Value; vm.Pump25Ps = scada_dict["SPPump25"].Value; vm.Pump26Ps = scada_dict["SPPump26"].Value; vm.Pump27Ps = scada_dict["SPPump27"].Value; vm.DN2700F = model_record_dict["Pdn2700"].Value; vm.DN2400F = model_record_dict["Pdn2400"].Value; vm.JD1F = model_record_dict["Pjd1"].Value; vm.JD2F = model_record_dict["Pjd2"].Value; vm.JD3F = model_record_dict["Pjd3"].Value; vm.Pump21F = model_record_dict["Ppump21"].Value; vm.Pump22F = model_record_dict["Ppump22"].Value; vm.Pump23F = model_record_dict["Ppump23"].Value; vm.Pump24F = model_record_dict["Ppump24"].Value; vm.Pump25F = model_record_dict["Ppump25"].Value; vm.Pump26F = model_record_dict["Ppump26"].Value; vm.Pump27F = model_record_dict["Ppump27"].Value; vm.DN2700Fs = scada_dict["SFDN2700"].Value; vm.DN2400Fs = scada_dict["SFDN2400"].Value; vm.JD1Fs = scada_dict["SFJD1"].Value; vm.JD2Fs = scada_dict["SFJD2"].Value; vm.JD3Fs = scada_dict["SFJD3"].Value; vm.Pump21Fs = scada_dict["SFPump21"].Value; vm.Pump22Fs = scada_dict["SFPump22"].Value; vm.Pump23Fs = scada_dict["SFPump23"].Value; vm.Pump24Fs = scada_dict["SFPump24"].Value; vm.Pump25Fs = scada_dict["SFPump25"].Value; vm.Pump26Fs = scada_dict["SFPump26"].Value; vm.Pump27Fs = scada_dict["SFPump27"].Value; vm.Pump11s = scada_dict["Pump11"].Value; vm.Pump11s = scada_dict["Pump11"].Value; vm.Pump12s = scada_dict["Pump12"].Value; vm.Pump13s = scada_dict["Pump13"].Value; vm.Pump14s = scada_dict["Pump14"].Value; vm.Pump15s = scada_dict["Pump15"].Value; vm.Pump16s = scada_dict["Pump16"].Value; vm.Pump17s = scada_dict["Pump17"].Value; vm.Pump18s = scada_dict["Pump18"].Value; vm.Pump21s = scada_dict["Pump21"].Value; vm.Pump22s = scada_dict["Pump22"].Value; vm.Pump23s = scada_dict["Pump23"].Value; vm.Pump24s = scada_dict["Pump24"].Value; vm.Pump25s = scada_dict["Pump25"].Value; vm.Pump26s = scada_dict["Pump26"].Value; vm.Pump27s = scada_dict["Pump27"].Value; model_scada_valid_vm_list.Add(vm); } this.modelScadaValidViewModelBindingSource.DataSource = model_scada_valid_vm_list; this.modelValidViewModelBindingSource.ResetBindings(false); this.gridView2.BestFitColumns(); } } }