| | |
| | | using System.Data; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | namespace HStation.WinFrmUI |
| | | { |
| | | public partial class PumpChartViewCtrl : DevExpress.XtraEditors.XtraUserControl |
| | | { |
| | |
| | | InitializeComponent(); |
| | | } |
| | | |
| | | private Yw.Vmo.PhartDiagramExGraphListVmo _vmo = null; |
| | | private Yw.WinFrmUI.Phart.PumpCurveViewModel _vm = null; |
| | | |
| | | /// <summary> |
| | | /// 数据变更事件 |
| | | /// </summary> |
| | | public event Action<Yw.Vmo.PhartDiagramExGraphListVmo> DataChangedEvent; |
| | | |
| | | /// <summary> |
| | | /// 绑定数据 |
| | | /// </summary> |
| | | public void SetBindingData(Yw.Vmo.PhartDiagramExGraphListVmo vmo, double nr) |
| | | { |
| | | var vm_list = vmo.GetPumpCurveViewMdoelList(); |
| | | if (vm_list==null||!vm_list.Any()) |
| | | _vmo = vmo; |
| | | if (vmo == null) |
| | | { |
| | | this.pumpChart1.Clear(); |
| | | ClearBindingData(); |
| | | return; |
| | | } |
| | | var vm_defult = vm_list.OrderBy(x => x.Hz).LastOrDefault(); |
| | | var vm_ee_list = vmo.GetCurveEqualEViewMdoelList(); |
| | | var vm_list = vmo.GetPumpCurveViewMdoelList(); |
| | | if (vm_list == null || !vm_list.Any()) |
| | | { |
| | | ClearBindingData(); |
| | | return; |
| | | } |
| | | var vm_def = vmo.GetDefaultPumpCurveViewMdoel(); |
| | | if (vm_def == null) |
| | | return; |
| | | |
| | | var vm = new Yw.WinFrmUI.Phart.PumpViewChartViewModel(); |
| | | var vm_v_speed_list = vmo.GetVariableSpeedPumpCurveViewMdoelList(); |
| | | var vm_e_eff_list = vmo.GetCurveEqualEViewMdoelList(); |
| | | |
| | | var vm = new Yw.WinFrmUI.Phart.PumpCurveViewModel(); |
| | | vm.Id = ""; |
| | | vm.ColorQH = Color.Blue; |
| | | vm.ColorQE = Color.Green; |
| | | vm.ColorQP = Color.Red; |
| | | vm.CurveQHName = "QH"; |
| | | vm.CurveQPName = "QP"; |
| | | vm.CurveQH = vm_defult.CurveQH.FeatCurve.GetPointList(50); |
| | | vm.CurveQE = vm_defult.CurveQE?.FeatCurve.GetPointList(50); |
| | | vm.CurveQP = vm_defult.CurveQP?.FeatCurve.GetPointList(50); |
| | | vm.CurveQH = vm_def.CurveQH.FeatCurve.GetPointList(50); |
| | | vm.CurveQE = vm_def.CurveQE?.FeatCurve.GetPointList(50); |
| | | vm.CurveQP = vm_def.CurveQP?.FeatCurve.GetPointList(50); |
| | | vm.PointListQH = vm.CurveQH; |
| | | vm.PointListQE = vm.CurveQE; |
| | | vm.PointListQP = vm.CurveQP; |
| | | vm.Equip = null; |
| | | //vm.VariableSpeedList = new List<Yw.WinFrmUI.Phart.PumpChartVariableSpeedViewModel>(); |
| | | //vm.EqualEffList = new List<Yw.WinFrmUI.Phart.PumpChartEqualEffViewModel>(); |
| | | //vm.EqualPowerList = new List<Yw.WinFrmUI.Phart.PumpChartEqualPowerViewModel>(); |
| | | if (vm_e_eff_list == null || !vm_e_eff_list.Any()) |
| | | { |
| | | var curve_qe = vm_def.CurveQE.FeatCurve; |
| | | if (curve_qe != null && curve_qe.IsValid()) |
| | | { |
| | | var max_eff = curve_qe.GetPointList().Max(x => x.Y); |
| | | var eff_list = EqualParaCurveEListHelper.CalcEqualParaCurveE(vm_def, 50, 30, max_eff - 1); |
| | | if (eff_list != null && eff_list.Any()) |
| | | { |
| | | vm.EqualEffList = new List<Yw.WinFrmUI.Phart.PumpCurveEqualEffViewModel>(); |
| | | foreach (var item in eff_list) |
| | | { |
| | | var def_pt_list = item.DefinePoints; |
| | | var eff_vm = new Yw.WinFrmUI.Phart.PumpCurveEqualEffViewModel(); |
| | | eff_vm.Id = Guid.NewGuid().ToString(); |
| | | eff_vm.CurveName = $"{item.Eff:N1}"; |
| | | eff_vm.Color = Color.DarkGreen; |
| | | eff_vm.CurveEqualEff = item.DefinePoints; |
| | | eff_vm.Tension = item.Tension; |
| | | eff_vm.IsClosed = item.IsClosed; |
| | | vm.EqualEffList.Add(eff_vm); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //vm.VariableSpeedList = new List<Yw.WinFrmUI.Phart.PumpChartVariableSpeedViewModel>(); |
| | | //vm.EqualPowerList = new List<Yw.WinFrmUI.Phart.PumpChartEqualPowerViewModel>(); |
| | | //for (int eff = 30; eff < 90; eff += 1) |
| | | //{ |
| | | // var ve = new Yw.WinFrmUI.Phart.PumpChartEqualEffViewModel(); |
| | |
| | | |
| | | this.pumpChart1.SetBindingData(vm); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 清空绑定数据 |
| | | /// </summary> |
| | | public void ClearBindingData() |
| | | { |
| | | this.pumpChart1.Clear(); |
| | | this.pumpChart1.ClearBindingData(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | return new Yw.Vmo.PhartDiagramExGraphListVmo(); |
| | | } |
| | | |
| | | private void barCekEffVisible_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | |
| | | } |
| | | |
| | | private void barCekPowerVisible_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | |
| | | } |
| | | |
| | | private void barCekSplitPanel_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |