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<Model.ScheduleRequest> _schedule_request_list = null;
|
private List<Model.SchedulePump> _schedule_pump_list = null;
|
private List<Model.ScheduleConclusion> _schedule_conclusion_list = null;
|
|
// private List<Model.HydraulicModelValidation> _hydraulic_model_validation_list = null;
|
private List<Model.HydraulicModelRecord> _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_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_record_list);
|
WaitHelper.HideWaitForm();
|
}
|
|
private void SetGridView1(List<Model.HydraulicModelRecord> hydraulic_model_record_list)
|
{
|
var model_valid_vm_list = new List<ModelValidViewModel>();
|
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<Model.ScheduleRequest> schedule_request_list,
|
List<Model.SchedulePump> schedule_pump_list,
|
List<Model.ScheduleConclusion> schedule_conclusion_list,
|
// List<Model.HydraulicModelValidation> hydraulic_model_validation_list,
|
List<Model.HydraulicModelRecord> hydraulic_model_record_list)
|
{
|
var schedule_pump_group = schedule_pump_list.GroupBy(x => x.RequestID);
|
var schedule_conclusion_group = schedule_conclusion_list.GroupBy(x => x.RequestID);
|
var hydraulic_model_record_group = hydraulic_model_record_list.GroupBy(x => x.Time);
|
|
var model_scada_valid_vm_list = new List<ModelScadaValidViewModel>();
|
|
var time_list= schedule_request_list.Select(x=>x.ReceptionTime).OrderBy(x=>x).ToList();
|
foreach (var time in time_list)
|
{
|
var schedule_request = schedule_request_list.Find(x => x.ReceptionTime == time);
|
if (schedule_request == null)
|
continue;
|
var request_id = schedule_request.ID;
|
var schedule_pumps = schedule_pump_group.Where(x => x.Key == request_id).SelectMany(x=>x).ToList();
|
if (schedule_pumps == null|| !schedule_pumps.Any())
|
continue;
|
var schedule_conclusions = schedule_conclusion_group
|
.Where(x => x.Key == request_id)
|
.SelectMany(x=>x)
|
.ToDictionary(x=>x.Station);
|
if (schedule_conclusions == null || !schedule_conclusions.Any())
|
continue;
|
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 vm = new ModelScadaValidViewModel();
|
vm.Time=time;
|
|
vm.R1 = schedule_request.WaterLevel1;
|
vm.R2 = rhs.R2;
|
vm.R3 = rhs.R3;
|
vm.RPump21 = rhs.RPump21;
|
vm.RPump22 = rhs.RPump22;
|
vm.RPump23 = rhs.RPump23;
|
vm.RPump24 = rhs.RPump24;
|
vm.RPump25 = rhs.RPump25;
|
vm.RPump26 = rhs.RPump26;
|
vm.RPump27 = rhs.RPump27;
|
|
vm.DN2700P = rhs.DN2700P;
|
vm.DN2400P = rhs.DN2400P;
|
vm.JD1P = rhs.JD1P;
|
vm.JD2P = rhs.JD2P;
|
vm.JD3P = rhs.JD3P;
|
vm.Pump11P = rhs.Pump11P;
|
vm.Pump12P = rhs.Pump12P;
|
vm.Pump13P = rhs.Pump13P;
|
vm.Pump14P = rhs.Pump14P;
|
vm.Pump15P = rhs.Pump15P;
|
vm.Pump16P = rhs.Pump16P;
|
vm.Pump17P = rhs.Pump17P;
|
vm.Pump18P = rhs.Pump18P;
|
vm.Pump21P = rhs.Pump21P;
|
vm.Pump22P = rhs.Pump22P;
|
vm.Pump23P = rhs.Pump23P;
|
vm.Pump24P = rhs.Pump24P;
|
vm.Pump25P = rhs.Pump25P;
|
vm.Pump26P = rhs.Pump26P;
|
vm.Pump27P = rhs.Pump27P;
|
|
vm.DN2700Ps = rhs.DN2700Ps;
|
vm.DN2400Ps = rhs.DN2400Ps;
|
vm.JD1Ps = rhs.JD1Ps;
|
vm.JD2Ps = rhs.JD2Ps;
|
vm.JD3Ps = rhs.JD3Ps;
|
vm.Pump11Ps = rhs.Pump11Ps;
|
vm.Pump12Ps = rhs.Pump12Ps;
|
vm.Pump13Ps = rhs.Pump13Ps;
|
vm.Pump14Ps = rhs.Pump14Ps;
|
vm.Pump15Ps = rhs.Pump15Ps;
|
vm.Pump16Ps = rhs.Pump16Ps;
|
vm.Pump17Ps = rhs.Pump17Ps;
|
vm.Pump18Ps = rhs.Pump18Ps;
|
vm.Pump21Ps = rhs.Pump21Ps;
|
vm.Pump22Ps = rhs.Pump22Ps;
|
vm.Pump23Ps = rhs.Pump23Ps;
|
vm.Pump24Ps = rhs.Pump24Ps;
|
vm.Pump25Ps = rhs.Pump25Ps;
|
vm.Pump26Ps = rhs.Pump26Ps;
|
vm.Pump27Ps = rhs.Pump27Ps;
|
|
vm.DN2700F = rhs.DN2700F;
|
vm.DN2400F = rhs.DN2400F;
|
vm.JD1F = rhs.JD1F;
|
vm.JD2F = rhs.JD2F;
|
vm.JD3F = rhs.JD3F;
|
vm.Pump21F = rhs.Pump21F;
|
vm.Pump22F = rhs.Pump22F;
|
vm.Pump23F = rhs.Pump23F;
|
vm.Pump24F = rhs.Pump24F;
|
vm.Pump25F = rhs.Pump25F;
|
vm.Pump26F = rhs.Pump26F;
|
vm.Pump27F = rhs.Pump27F;
|
|
vm.DN2700Fs = rhs.DN2700Fs;
|
vm.DN2400Fs = rhs.DN2400Fs;
|
vm.JD1Fs = rhs.JD1Fs;
|
vm.JD2Fs = rhs.JD2Fs;
|
vm.JD3Fs = rhs.JD3Fs;
|
vm.Pump21Fs = rhs.Pump21Fs;
|
vm.Pump22Fs = rhs.Pump22Fs;
|
vm.Pump23Fs = rhs.Pump23Fs;
|
vm.Pump24Fs = rhs.Pump24Fs;
|
vm.Pump25Fs = rhs.Pump25Fs;
|
vm.Pump26Fs = rhs.Pump26Fs;
|
vm.Pump27Fs = rhs.Pump27Fs;
|
|
vm.Pump11 = rhs.Pump11;
|
vm.Pump12 = rhs.Pump12;
|
vm.Pump13 = rhs.Pump13;
|
vm.Pump14 = rhs.Pump14;
|
vm.Pump15 = rhs.Pump15;
|
vm.Pump16 = rhs.Pump16;
|
vm.Pump17 = rhs.Pump17;
|
vm.Pump18 = rhs.Pump18;
|
vm.Pump21 = rhs.Pump21;
|
vm.Pump22 = rhs.Pump22;
|
vm.Pump23 = rhs.Pump23;
|
vm.Pump24 = rhs.Pump24;
|
vm.Pump25 = rhs.Pump25;
|
vm.Pump26 = rhs.Pump26;
|
vm.Pump27 = rhs.Pump27;
|
|
}
|
|
|
|
this.modelScadaValidViewModelBindingSource.DataSource = model_scada_valid_vm_list;
|
this.modelValidViewModelBindingSource.ResetBindings(false);
|
this.gridView2.BestFitColumns();
|
}
|
|
}
|
}
|