From be3e4f6d2dd0529b87204169bce6df55c37a4199 Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期二, 14 一月 2025 17:31:47 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/09-Tank/AssetsTankSingleMatchingCtrl.cs |  105 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 70 insertions(+), 35 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/09-Tank/AssetsTankSingleMatchingCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/09-Tank/AssetsTankSingleMatchingCtrl.cs
index e18c22b..0944a88 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/09-Tank/AssetsTankSingleMatchingCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/09-Tank/AssetsTankSingleMatchingCtrl.cs
@@ -1,13 +1,4 @@
-锘縰sing DevExpress.XtraEditors;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
+锘縰sing System.Data;
 
 namespace HStation.WinFrmUI
 {
@@ -18,42 +9,65 @@
             InitializeComponent();
             this.layoutControl1.SetupLayoutControl();
             this.gridView1.SetLimitView();
-            this.gridView1.RegistCustomDrawCell(Color.BurlyWood, Color.White);
+            this.gridView1.RegistCustomDrawCell();
             this.generalSearchCtrl1.SearchEvent += Search;
             this.generalSearchCtrl1.ClearEvent += Clear;
+            this.phartDiagramRelationGridViewCtrl1.SelectDataEvent += SelectData;
         }
 
         public List<AssetsTankSingleMatchingViewModel> _allList = null;//鎵�鏈夊垪琛�
         private List<AssetsTankSingleMatchingViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛�
         private AssetsTankMainVmo _selected = null;//褰撳墠閫変腑
 
+        private AssetsTankSingleMatchingViewModel _row;
+        private TankMatchingViewModel _viewModel;
+
+        private long? _curveDbid;
+
+        public class TankMatchingViewModel
+        {
+            public TankMatchingViewModel()
+            {
+            }
+
+            public AssetsTankMainVmo Vmo { get; set; }
+            public string MatchingCurveDbId { get; set; }
+
+            public List<HydroCurvePointViewModel> MatchingCurve { get; set; }
+        }
+
         /// <summary>
         /// 缁戝畾鏁版嵁
         /// </summary>
-        public async void SetBindingData(string dbId)
+        public async void SetBindingData(string dbId, string curveDbId)
         {
             var allList = await BLLFactory<HStation.BLL.AssetsTankMain>.Instance.GetAll();
-            _allList = new List<AssetsTankSingleMatchingViewModel>();
-            allList.ForEach(x => _allList.Add(new AssetsTankSingleMatchingViewModel(x)));
-            if (long.TryParse(dbId, out long id))
+            if (allList != null)
             {
-                var item = allList?.Find(x => x.ID == id);
-                _selected = item;
+                _allList = new List<AssetsTankSingleMatchingViewModel>();
+                allList.ForEach(x => _allList.Add(new AssetsTankSingleMatchingViewModel(x)));
+                if (long.TryParse(dbId, out long id))
+                {
+                    var item = allList?.Find(x => x.ID == id);
+                    _selected = item;
+                }
+                if (long.TryParse(curveDbId, out long curveId))
+                {
+                    _curveDbid = curveId;
+                }
+                Search();
             }
-            Search();
+            await Task.Delay(300);
             if (_selected != null)
             {
                 if (_allBindingList != null && _allBindingList.Count > 0)
                 {
-                    await Task.Run(() =>
-                     {
-                         var dataSourceIndex = _allBindingList.FindIndex(x => x.Vmo == _selected);
-                         if (dataSourceIndex >= 0)
-                         {
-                             var rowIndex = this.gridView1.GetRowHandle(dataSourceIndex);
-                             this.gridView1.FocusedRowHandle = rowIndex;
-                         }
-                     });
+                    var dataSourceIndex = _allBindingList.FindIndex(x => x.Vmo == _selected);
+                    if (dataSourceIndex >= 0)
+                    {
+                        var rowIndex = this.gridView1.GetRowHandle(dataSourceIndex);
+                        this.gridView1.FocusedRowHandle = rowIndex;
+                    }
                 }
             }
         }
@@ -67,6 +81,7 @@
             {
                 _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.Name) && x.Name.Contains(name)).ToList();
             }
+            var material = this.txtMaterial.Text.Trim();
             this.assetsTankSingleMatchingViewModelBindingSource.DataSource = _allBindingList;
             this.assetsTankSingleMatchingViewModelBindingSource.ResetBindings(false);
         }
@@ -82,25 +97,45 @@
         /// <summary>
         /// 鑾峰彇
         /// </summary>
-        public AssetsTankMainVmo Get()
+        public TankMatchingViewModel Get()
         {
-            var vm = this.gridView1.GetFocusedRow() as AssetsTankSingleMatchingViewModel;
-            if (vm == null)
-            {
-                return default;
-            }
-            return vm.Vmo;
+            /*            var vm = this.gridView1.GetFocusedRow() as AssetsTankSingleMatchingViewModel;
+                        if (vm == null)
+                        {
+                            return default;
+                        }
+                        _viewModel.Vmo = vm;
+            */
+            return _viewModel;
         }
 
         //鑱氱劍鏀瑰彉
         private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
         {
+            _viewModel = new TankMatchingViewModel();
             var row = this.gridView1.GetFocusedRow() as AssetsTankSingleMatchingViewModel;
             if (row == null)
             {
                 return;
             }
-            this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.TankMain, row.Vmo.ID);
+            _row = row;
+            _viewModel.Vmo = row.Vmo;
+            this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.TankMain, row.Vmo.ID, _curveDbid);
+        }
+
+        //鏇茬嚎鏁版嵁鍏宠仈鍙樺寲
+        private void SelectData(PhartDiagramRelationExtensionsVmo def)
+        {
+            if (def != null)
+            {
+                _viewModel.MatchingCurveDbId = def.ID.ToString();
+                var curve = def.Diagram.GraphList[0].GetFeatPointList();
+                _viewModel.MatchingCurve = new List<HydroCurvePointViewModel>();
+                foreach (var item in curve)
+                {
+                    _viewModel.MatchingCurve.Add(new HydroCurvePointViewModel(item.X, item.Y));
+                }
+            }
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3