From b4a83cab68992fbf1d88dcc43957f4aebea60343 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期一, 30 十二月 2024 09:40:29 +0800
Subject: [PATCH] 水力模块整改,解决存储慢获取慢的问题

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs |   82 +++++++++++++++++++++++++++++-----------
 1 files changed, 59 insertions(+), 23 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
index 129cd5e..deda153 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
@@ -2,6 +2,7 @@
 using HStation.WinFrmUI.PhartRelation;
 using HStation.WinFrmUI.Xhs;
 using Yw.Model;
+using Yw.WinFrmUI.HydroW3d;
 
 namespace HStation.WinFrmUI
 {
@@ -79,6 +80,11 @@
             get { return this.hydroVisualPropertyCtrl1.SelectedObject; }
             set { this.hydroVisualPropertyCtrl1.SelectedObject = value; }
         }
+
+        /// <summary>
+        /// 璁$畻缁撴灉
+        /// </summary>
+        public Func<HydroCalcuResult> CalcuResult { get; set; }
 
         #endregion 灞炴�ц祴鍊�
 
@@ -167,7 +173,7 @@
                     {
                         var bluntheadViewModel = vm as HydroBluntheadViewModel;
                         var input = HydroMatchingHelper.Create(bluntheadViewModel);
-                        var dlg = new SimulationBluntheadSingleMatchingDlg();
+                        var dlg = new AssetsBluntheadSingleMatchingDlg();
                         dlg.ReloadDataEvent += (output) =>
                         {
                             HydroMatchingHelper.Apply(bluntheadViewModel, output);
@@ -185,7 +191,7 @@
                     {
                         var elbowViewModel = vm as HydroElbowViewModel;
                         var input = HydroMatchingHelper.Create(elbowViewModel);
-                        var dlg = new SimulationElbowSingleMatchingDlg();
+                        var dlg = new AssetsElbowSingleMatchingDlg();
                         dlg.ReloadDataEvent += (output) =>
                         {
                             HydroMatchingHelper.Apply(elbowViewModel, output);
@@ -203,7 +209,7 @@
                     {
                         var threelinkViewModel = vm as HydroThreelinkViewModel;
                         var input = HydroMatchingHelper.Create(threelinkViewModel);
-                        var dlg = new SimulationThreelinkSingleMatchingDlg();
+                        var dlg = new AssetsThreelinkSingleMatchingDlg();
                         dlg.ReloadDataEvent += (output) =>
                         {
                             HydroMatchingHelper.Apply(threelinkViewModel, output);
@@ -221,7 +227,7 @@
                     {
                         var fourlinkViewModel = vm as HydroFourlinkViewModel;
                         var input = HydroMatchingHelper.Create(fourlinkViewModel);
-                        var dlg = new SimulationFourlinkSingleMatchingDlg();
+                        var dlg = new AssetsFourlinkSingleMatchingDlg();
                         dlg.ReloadDataEvent += (output) =>
                         {
                             HydroMatchingHelper.Apply(fourlinkViewModel, output);
@@ -293,7 +299,7 @@
                     {
                         var nozzleViewModel = vm as HydroNozzleViewModel;
                         var input = HydroMatchingHelper.Create(nozzleViewModel);
-                        var dlg = new SimulationSprinklerSingleMatchingDlg();
+                        var dlg = new AssetsSprinklerSingleMatchingDlg();
                         dlg.ReloadDataEvent += (output) =>
                         {
                             HydroMatchingHelper.Apply(nozzleViewModel, output);
@@ -311,10 +317,28 @@
                     {
                         var hydrantViewModel = vm as HydroHydrantViewModel;
                         var input = HydroMatchingHelper.Create(hydrantViewModel);
-                        var dlg = new SimulationHydrantSingleMatchingDlg();
+                        var dlg = new AssetsHydrantSingleMatchingDlg();
                         dlg.ReloadDataEvent += (output) =>
                         {
                             HydroMatchingHelper.Apply(hydrantViewModel, output);
+                            this.hydroVisualPropertyCtrl1.UpdateRows();
+                            this.PropertyValueChangedEvent?.Invoke(vm.Vmo);
+                            this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo);
+                            this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo);
+                        };
+                        dlg.SetBindingData(input);
+                        dlg.ShowDialog();
+                    }
+                    break;
+
+                case Yw.Hydro.ParterCatalog.Cooling:
+                    {
+                        var coolingViewModel = vm as HydroCoolingViewModel;
+                        var input = HydroMatchingHelper.Create(coolingViewModel);
+                        var dlg = new AssetsCoolingSingleMatchingDlg();
+                        dlg.ReloadDataEvent += (output) =>
+                        {
+                            HydroMatchingHelper.Apply(coolingViewModel, output);
                             this.hydroVisualPropertyCtrl1.UpdateRows();
                             this.PropertyValueChangedEvent?.Invoke(vm.Vmo);
                             this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo);
@@ -329,7 +353,7 @@
                     {
                         var pipeViewModel = vm as HydroPipeViewModel;
                         var input = HydroMatchingHelper.Create(pipeViewModel);
-                        var dlg = new SimulationPipeSingleMatchingDlg();
+                        var dlg = new AssetsPipeSingleMatchingDlg();
                         dlg.ReloadDataEvent += (output) =>
                         {
                             HydroMatchingHelper.Apply(pipeViewModel, output);
@@ -429,12 +453,16 @@
             {
                 case HydroCurve.Tank:
                     {
-                        if (long.TryParse(vm.DbId, out long longDbId))
+                        var tankViewModel = vm as HydroTankViewModel;
+                        var curveInfo = tankViewModel.HydroInfo.Curves?.Find(x => x.Code == tankViewModel.VolCurve);
+                        if (curveInfo != null)
                         {
-                            var tankViewModel = vm as HydroTankViewModel;
-                            var dlg = new AssetsTankCurveVOLViewDlg();
-                            dlg.SetBindingData(longDbId);
-                            dlg.ShowDialog();
+                            if (long.TryParse(curveInfo.DbId, out long longDbId))
+                            {
+                                var dlg = new AssetsTankCurveVOLViewDlg();
+                                dlg.SetBindingData(longDbId);
+                                dlg.ShowDialog();
+                            }
                         }
                     }
                     break;
@@ -450,7 +478,7 @@
                             pumpViewModel.UpdateProperty();
                             this.hydroVisualPropertyCtrl1.UpdateRows();
                         };
-                        dlg.SetBindingData(pumpViewModel);
+                        dlg.SetBindingData(pumpViewModel, this.CalcuResult?.Invoke());
                         dlg.ShowDialog();
                     }
                     break;
@@ -473,24 +501,32 @@
 
                 case HydroCurve.Exchanger:
                     {
-                        if (long.TryParse(vm.DbId, out long longDbId))
+                        var exchangerViewModel = vm as HydroExchangerViewModel;
+                        var curveInfo = exchangerViewModel.HydroInfo.Curves?.Find(x => x.Code == exchangerViewModel.CurveQL);
+                        if (curveInfo != null)
                         {
-                            var exchangerViewModel = vm as HydroExchangerViewModel;
-                            var dlg = new AssetsExchangerCurveQLViewDlg();
-                            dlg.SetBindingData(longDbId);
-                            dlg.ShowDialog();
+                            if (long.TryParse(curveInfo.DbId, out long longDbId))
+                            {
+                                var dlg = new AssetsExchangerCurveQLViewDlg();
+                                dlg.SetBindingData(longDbId);
+                                dlg.ShowDialog();
+                            }
                         }
                     }
                     break;
 
                 case HydroCurve.Compressor:
                     {
-                        if (long.TryParse(vm.DbId, out long longDbId))
+                        var compressorViewModel = vm as HydroCompressorViewModel;
+                        var curveInfo = compressorViewModel.HydroInfo.Curves?.Find(x => x.Code == compressorViewModel.CurveQL);
+                        if (curveInfo != null)
                         {
-                            var compressorViewModel = vm as HydroCompressorViewModel;
-                            var dlg = new AssetsCompressorCurveQLViewDlg();
-                            dlg.SetBindingData(longDbId);
-                            dlg.ShowDialog();
+                            if (long.TryParse(curveInfo.DbId, out long longDbId))
+                            {
+                                var dlg = new AssetsCompressorCurveQLViewDlg();
+                                dlg.SetBindingData(longDbId);
+                                dlg.ShowDialog();
+                            }
                         }
                     }
                     break;

--
Gitblit v1.9.3