From 3c918c55e51c67bbd48e1780967b547ee71845c1 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期一, 23 十二月 2024 11:34:19 +0800
Subject: [PATCH] 单泵匹配界面修改

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/02-pump/01-pumpsinglematching/SimulationPumpSingleMatchingDlg.cs |  158 +++++++++++++++++++++-------------------------------
 1 files changed, 63 insertions(+), 95 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/02-pump/01-pumpsinglematching/SimulationPumpSingleMatchingDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/02-pump/01-pumpsinglematching/SimulationPumpSingleMatchingDlg.cs
index 7a9839b..d7e7c7c 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/02-pump/01-pumpsinglematching/SimulationPumpSingleMatchingDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/02-pump/01-pumpsinglematching/SimulationPumpSingleMatchingDlg.cs
@@ -20,12 +20,14 @@
             public string OtherName { get; set; }
             public int Importance { get; set; }
             public int SortCode { get; set; }
-            //    public PhartDiagramExGraphListVmo Diagram { get; set; }
+
+            public long DiagramID { get; set; }
         }
 
         private HydroPumpMatchingViewModel _pump_matching_vm = null;
         private List<PumpSingleMatchingViewModel> _pump_mian_vm_list = null;
         private List<PhartViewModel> _phart_vm_list = null;
+        private Vmo.AssetsPumpMainVmo _pumpVmo;
 
         private readonly Lazy<BLL.AssetsPumpMain> _pump_main_bll = new();
         private readonly Lazy<BLL.PhartDiagramRelation> _phart_ex_bll = new();
@@ -57,49 +59,34 @@
             }
 
             this.gridControlPumpMain.DataSource = _pump_mian_vm_list;
-            this.gridControlPumpMain.RefreshDataSource();
             this.gridViewPumpMain.BestFitColumns();
             this.gridViewPumpMain.FocusedRowHandle = sel_index;
+            // this.gridControlPumpMain.RefreshDataSource();
         }
 
         private void barBtnOK_ItemClick(object sender, ItemClickEventArgs e)
         {
-            /*        var pump_mian = this.gridViewPumpMain.GetCurrentViewModel(_pump_mian_vm_list);
-                    if (pump_mian == null)
-                    {
-                        TipFormHelper.ShowError("娉靛瀷鍙蜂负绌�");
-                        return;
-                    }
-                    var phart = this.gridViewCurve.GetCurrentViewModel(_phart_vm_list);
-                    if (phart == null)
-                    {
-                        TipFormHelper.ShowError("娉靛瀷鍙锋洸绾夸负绌�");
-                        return;
-                    }
+            var pump_mian = this.gridViewPumpMain.GetCurrentViewModel(_pump_mian_vm_list);
+            if (pump_mian == null)
+            {
+                TipFormHelper.ShowError("娉靛瀷鍙蜂负绌�");
+                return;
+            }
+            var phart = this.gridViewCurve.GetCurrentViewModel(_phart_vm_list);
+            if (phart == null)
+            {
+                TipFormHelper.ShowError("娉靛瀷鍙锋洸绾夸负绌�");
+                return;
+            }
 
-                    var diagram = phart.Diagram;
-                    if (!OutPtList
-                        (diagram,
-                        out List<Yw.Geometry.Point2d> qh_pt_list,
-                        out List<Yw.Geometry.Point2d> qe_pt_list,
-                        out List<Yw.Geometry.Point2d> qp_pt_list
-                        ))
-                    {
-                        return;
-                    }
-                    _pump_matching_vm.MatchingDbId = pump_mian.ID.ToString();
-                    _pump_matching_vm.MatchingModelType = pump_mian.Name.ToString();
-                    _pump_matching_vm.MatchingRatedH = pump_mian.RatedHead;
-                    _pump_matching_vm.MatchingRatedN = pump_mian.RatedSpeed;
-                    _pump_matching_vm.MatchingRatedP = pump_mian.RatedPower;
-                    _pump_matching_vm.MatchingRatedQ = pump_mian.RatedFlow;
+            _pump_matching_vm.MatchingDbId = pump_mian.ID.ToString();
+            _pump_matching_vm.MatchingModelType = pump_mian.Name.ToString();
+            _pump_matching_vm.MatchingRatedH = pump_mian.RatedHead;
+            _pump_matching_vm.MatchingRatedN = pump_mian.RatedSpeed;
+            _pump_matching_vm.MatchingRatedP = pump_mian.RatedPower;
+            _pump_matching_vm.MatchingRatedQ = pump_mian.RatedFlow;
 
-                    _pump_matching_vm.MatchingCurveDbId = phart.ID.ToString();
-                    _pump_matching_vm.MatchingCurveQH = qh_pt_list.Select(x => new HydroCurvePointViewModel(x.X, x.Y)).ToList();
-                    _pump_matching_vm.MatchingCurveQE = qe_pt_list?.Select(x => new HydroCurvePointViewModel(x.X, x.Y)).ToList();
-                    _pump_matching_vm.MatchingCurveQP = qp_pt_list?.Select(x => new HydroCurvePointViewModel(x.X, x.Y)).ToList();
-
-                    this.ReloadDataEvent?.Invoke(_pump_matching_vm);*/
+            this.ReloadDataEvent?.Invoke(_pump_matching_vm);
             this.Close();
         }
 
@@ -109,7 +96,9 @@
             var pump_main = this.gridViewPumpMain.GetCurrentViewModel(_pump_mian_vm_list);
             if (pump_main != null)
             {
-                var phart_list = await _phart_ex_bll.Value.GetExByObjectTypeAndObjectID(HStation.Assets.DataType.PumpMain, pump_main.ID);
+                var vmo = await new BLL.AssetsPumpMain().GetByID(pump_main.ID);
+                _pumpVmo = vmo;
+                var phart_list = await _phart_ex_bll.Value.GetByObjectTypeAndObjectID(HStation.Assets.DataType.PumpMain, pump_main.ID);
                 if (phart_list != null && phart_list.Any())
                 {
                     foreach (var item in phart_list)
@@ -120,77 +109,56 @@
                         vm.Importance = item.Importance;
                         vm.SortCode = item.SortCode;
                         //   vm.Diagram = item.Diagram;
+                        vm.DiagramID = item.DiagramID;
                         _phart_vm_list.Add(vm);
                     }
                 }
             }
-
-            this.gridViewCurve.FocusInvalidRow();
-            this.gridControlCurve.DataSource = _phart_vm_list;
-            this.gridControlCurve.RefreshDataSource();
+            this.phartViewModelBindingSource.DataSource = _phart_vm_list;
+            //this.gridControlCurve.DataSource = _phart_vm_list;
+            //this.gridViewCurve.RefreshData();
+            this.phartViewModelBindingSource.ResetBindings(false);
+            //this.gridViewCurve.FocusInvalidRow();
+            gridViewCurve_FocusedRowChanged(null, null);
         }
 
-        private void gridViewCurve_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
+        private async void gridViewCurve_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
         {
             var phart = this.gridViewCurve.GetCurrentViewModel(_phart_vm_list);
             if (phart == null)
             {
-                this.xtrPerform2dChart1.Clear();
+                //TipFormHelper.ShowWarn("鏃犳洸绾�");
+                //this.pumpChartViewCtrl1.SetBindingData(null, 0);
+                this.pumpChartViewCtrl1.ClearBindingData();
                 return;
             }
-
-            /*     var diagram = phart.Diagram;
-                 if (!OutPtList
-                     (diagram,
-                     out List<Yw.Geometry.Point2d> qh_pt_list,
-                     out List<Yw.Geometry.Point2d> qe_pt_list,
-                     out List<Yw.Geometry.Point2d> qp_pt_list
-                     ))
-                 {
-                     this.xtrPerform2dChart1.InitialChartData();
-                     return;
-                 }
-
-                 var cubic_spline_qh = new Yw.Geometry.CubicSpline2d(qh_pt_list);
-                 var cubic_spline_qe = new Yw.Geometry.CubicSpline2d(qe_pt_list);
-                 var cubic_spline_qp = new Yw.Geometry.CubicSpline2d(qp_pt_list);
-                 var disp_paras = diagram.DispParas;
-                 var is_calc_disp_paras = string.IsNullOrWhiteSpace(disp_paras);
-                 this.xtrPerform2dChart1.SetBindingData(cubic_spline_qh, cubic_spline_qe, cubic_spline_qp, disp_paras, is_calc_disp_paras);*/
-        }
-
-        /*        private bool OutPtList(
-             //       PhartDiagramExGraphListVmo diagram,
-                    out List<Yw.Geometry.Point2d> qh_pt_list,
-                    out List<Yw.Geometry.Point2d> qe_pt_list,
-                    out List<Yw.Geometry.Point2d> qp_pt_list
-                    )
+            var list = Task.Run(async () => await new BLL.PhartDiagramRelation().GetExByObjectTypeAndObjectID(HStation.Assets.DataType.PumpMain, _pumpVmo.ID)).Result;
+            if (list != null && list.Count > 0)
+            {
+                var def = list.OrderByDescending(x => x.Importance).First();
+                _pump_matching_vm.MatchingCurveDbId = def.ID.ToString();
+                var diagram = def.Diagram.GetDefaultVmo();
+                var qh = diagram.QH.GetFeatPointList();
+                var qp = diagram.QP.GetFeatPointList();
+                var qe = diagram.QE.GetFeatPointList();
+                _pump_matching_vm.MatchingCurveQH = new List<HydroCurvePointViewModel>();
+                _pump_matching_vm.MatchingCurveQP = new List<HydroCurvePointViewModel>();
+                _pump_matching_vm.MatchingCurveQE = new List<HydroCurvePointViewModel>();
+                foreach (var item in qh)
                 {
-                    qh_pt_list = null;
-                    qe_pt_list = null;
-                    qp_pt_list = null;
-
-                    var graph_qh = diagram.GraphList.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.QH);
-                    var graph_qe = diagram.GraphList.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.QE);
-                    var graph_qp = diagram.GraphList.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.QP);
-                    if (graph_qh == null)
-                    {
-                        this.xtrPerform2dChart1.InitialChartData();
-                        return false;
-                    }
-
-                    qh_pt_list = PhartPerformCurveHelper.GetFeatPointList(graph_qh.GraphType, graph_qh.GeometryInfo, 100, null);
-                    if (graph_qe != null)
-                    {
-                        qe_pt_list = PhartPerformCurveHelper.GetFeatPointList(graph_qe.GraphType, graph_qe.GeometryInfo, 100, null);
-                    }
-                    if (graph_qp != null)
-                    {
-                        qp_pt_list = PhartPerformCurveHelper.GetFeatPointList(graph_qp.GraphType, graph_qp.GeometryInfo, 100, null);
-                    }
-
-                    return true;
+                    _pump_matching_vm.MatchingCurveQH.Add(new HydroCurvePointViewModel(item.X, item.Y));
                 }
-        */
+                foreach (var item in qp)
+                {
+                    _pump_matching_vm.MatchingCurveQP.Add(new HydroCurvePointViewModel(item.X, item.Y));
+                }
+                foreach (var item in qe)
+                {
+                    _pump_matching_vm.MatchingCurveQE.Add(new HydroCurvePointViewModel(item.X, item.Y));
+                }
+            }
+            var vmo = await BLLFactory<Yw.BLL.PhartDiagramExtensions>.Instance.GetByID(phart.DiagramID);
+            this.pumpChartViewCtrl1.SetBindingData(vmo, _pumpVmo.RatedSpeed);
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3