From ca1ccd0dd9f2d6936368f07d14a2b29b309fd151 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期三, 04 十二月 2024 15:59:25 +0800
Subject: [PATCH] 增加单独匹配界面

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/03-valve/01-valvesinglematching/ValveSingleMatchingForm.cs |   78 +++++++++++++++++++++++++--------------
 1 files changed, 50 insertions(+), 28 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/03-valve/01-valvesinglematching/ValveSingleMatchingForm.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/03-valve/01-valvesinglematching/ValveSingleMatchingForm.cs
index ab73902..c765f4e 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/03-valve/01-valvesinglematching/ValveSingleMatchingForm.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/03-valve/01-valvesinglematching/ValveSingleMatchingForm.cs
@@ -1,5 +1,4 @@
-锘縰sing HStation.WinFrmUI.Basic;
-using HStation.WinFrmUI.PhartRelation;
+锘縰sing HStation.WinFrmUI.PhartRelation;
 using HStation.WinFrmUI.Xhs;
 
 namespace HStation.WinFrmUI
@@ -35,9 +34,11 @@
         private List<PhartViewModel> _allPhartList = null;
         private readonly Lazy<BLL.XhsValveMainPhartMappingExtensions> _bll_ex = new();
 
-        private ValveMatchingViewModel _pumpMatchingViewModel;
+        private HydroValveMatchingViewModel _pumpMatchingViewModel;
 
-        public async void SetBindingData(ValveMatchingViewModel valveMatchingViewModel)
+        private List<HydroCurvePointViewModel> _currentCurvePoint;
+
+        public async void SetBindingData(HydroValveMatchingViewModel valveMatchingViewModel)
         {
             _pumpMatchingViewModel = valveMatchingViewModel;
             _allBindingList = new List<ValveSingleMatchingViewModel>();
@@ -47,8 +48,8 @@
             {
                 _allBindingList.Add(new ValveSingleMatchingViewModel(Main));
             }
-
-            this.searchControl1.Text = valveMatchingViewModel.ModelType;
+            this.valveSingleMatchingViewModelBindingSource.DataSource = _allBindingList;
+            this.searchControl1.Text = _pumpMatchingViewModel.ModelType;
             for (int i = 0; i < _allBindingList.Count; i++)
             {
                 if (long.TryParse(valveMatchingViewModel.DbId, out long dbID))
@@ -59,7 +60,7 @@
                     }
                 }
             }
-            this.valveSingleMatchingViewModelBindingSource.DataSource = _allBindingList;
+            _currentCurvePoint = new List<HydroCurvePointViewModel>();
         }
 
         //闃�闂ㄥ瀷鍙峰垪琛ㄩ�夋嫨椤瑰垏鎹簨浠�
@@ -69,7 +70,7 @@
             var vm = this.gridView3.GetCurrentViewModel(_allBindingList);
             if (vm != null)
             {
-                if (vm.SeriesType == HStation.Assets.eValveType.GPV)
+                if (vm.SeriesType == HStation.Assets.eValveType.GPV || vm.SeriesType == HStation.Assets.eValveType.TCV)
                 {
                     layoutControlGroup2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
                 }
@@ -85,7 +86,7 @@
                 }
                 _pumpMatchingViewModel.MatchingMinorLoss = vm.Coefficient;
                 _pumpMatchingViewModel.MatchingMaterial = vm.Material;
-                _pumpMatchingViewModel.MatchingValveType = vm.SeriesType;
+                _pumpMatchingViewModel.MatchingValveType = (eValveType?)vm.SeriesType;
                 _pumpMatchingViewModel.MatchingValveSetting = vm.ValveSetting;
                 var list = await _bll_ex.Value.GetByValveMainID(vm.ID);
                 if (list != null && list.Any())
@@ -96,17 +97,18 @@
                     }
                 }
             }
-            if (_pumpMatchingViewModel.MatchingChartDbId != null)
+            if (_pumpMatchingViewModel.MatchingCurveDbId != null)
             {
                 for (int i = 0; i < _allPhartList.Count; i++)
                 {
-                    if (_allBindingList[i].ID.ToString() == _pumpMatchingViewModel.MatchingChartDbId)
+                    if (_allBindingList[i].ID.ToString() == _pumpMatchingViewModel.MatchingCurveDbId)
                     {
                         gridView1.FocusedRowHandle = i;
                     }
                 }
             }
             this.gridControl1.DataSource = _allPhartList;
+            this.gridView1.FocusInvalidRow();
         }
 
         //鏌ョ湅鏇茬嚎
@@ -115,27 +117,47 @@
             if (e.Column == this.ColShowChart)
             {
                 var vm = this.gridView1.GetCurrentViewModel(_allPhartList);
-                if (vm != null)
+
+                var vmo = await _bll_ex.Value.GetByID(vm.ID);
+                if (vmo != null)
                 {
-                    var vmo = await _bll_ex.Value.GetByID(vm.ID);
-                    if (vmo != null)
-                    {
-                        _pumpMatchingViewModel.MatchingChartDbId = vm.ID.ToString();
-                        var graph_ql = vmo.Diagram.GraphList.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.ValveQL);
-                        if (graph_ql != null)
-                        {
-                            var points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_ql.GraphType, graph_ql.GeometryInfo, 100, null);
-                            _pumpMatchingViewModel.MatchingCurveQL = new List<CurvePointMatchingViewModel>();
-                            foreach (var item in points_qh)
-                            {
-                                _pumpMatchingViewModel.MatchingCurveQL.Add(new CurvePointMatchingViewModel(item.X, item.Y));
-                            }
-                        }
-                    }
                     var dlg = new ValveChartShowDlg();
                     dlg.InitChart(vmo);
                     dlg.ShowDialog();
-                    return;
+                }
+                return;
+            }
+        }
+
+        private async void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
+        {
+            var vm = this.gridView1.GetCurrentViewModel(_allPhartList);
+            _currentCurvePoint.Clear();
+            if (vm == null)
+                return;
+            var vmo = await _bll_ex.Value.GetByID(vm.ID);
+            if (vmo != null)
+            {
+                _pumpMatchingViewModel.MatchingCurveDbId = vm.ID.ToString();
+                var graph_ql = vmo.Diagram.GraphList.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.ValveQL);
+                var graph_ol = vmo.Diagram.GraphList.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.ValveOL);
+                if (graph_ql != null)
+                {
+                    var points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_ql.GraphType, graph_ql.GeometryInfo, 100, null);
+                    foreach (var item in points_qh)
+                    {
+                        _currentCurvePoint.Add(new HydroCurvePointViewModel(item.X, item.Y));
+                    }
+                    _pumpMatchingViewModel.MatchingCurveQL = _currentCurvePoint;
+                }
+                if (graph_ol != null)
+                {
+                    var points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_ol.GraphType, graph_ol.GeometryInfo, 100, null);
+                    foreach (var item in points_qh)
+                    {
+                        _currentCurvePoint.Add(new HydroCurvePointViewModel(item.X, item.Y));
+                    }
+                    _pumpMatchingViewModel.MatchingCurveOL = _currentCurvePoint;
                 }
             }
         }

--
Gitblit v1.9.3