From f7c98e97bb52a5439470d37281a3da45e442d34f Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期三, 06 十一月 2024 15:09:49 +0800
Subject: [PATCH] 提交遗漏修改

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs |  280 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 224 insertions(+), 56 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs
index 832ba33..50f9d18 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -28,9 +28,9 @@
         private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔�
         private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅
 
-        private Yw.Model.HydroParterInfo _parter = null;
-        private Yw.WinFrmUI.HydroCheckResult _checkResult = null;
-        private Yw.EPAnet.CalcuResult _calcuResult = null;
+
+        private Yw.WinFrmUI.HydroCheckResult _checkResult = null;//妫�鏌ョ粨鏋�
+        private Yw.EPAnet.CalcuResult _calcuResult = null;//璁$畻缁撴灉
 
         /// <summary>
         /// 缁戝畾鏁版嵁
@@ -78,6 +78,7 @@
 
         }
 
+
         #region Bimface
 
         //bimface鎺т欢
@@ -104,7 +105,7 @@
                     {
                         return;
                     }
-                    _parter = obj;
+                    _selectedParter = obj;
                     ShowProperty();
                 };
             }
@@ -117,6 +118,11 @@
             var bimfaceCtrl = await GetBimfaceCtrl();
             this.tabPageBimface.Controls.Clear();
             this.tabPageBimface.Controls.Add(bimfaceCtrl);
+        }
+
+        private void SelectBimfaceParter()
+        {
+
         }
 
         #endregion
@@ -141,7 +147,7 @@
                         return;
                     }
                     var allParterList = _hydroInfo.GetAllParters();
-                    _parter = allParterList?.Find(x => x.Code == obj?.FirstOrDefault());
+                    _selectedParter = allParterList?.Find(x => x.Code == obj?.FirstOrDefault());
                     ShowProperty();
                 };
             }
@@ -219,6 +225,22 @@
                     await Task.Delay(5000);
                     await _bimfaceCtrl?.ClearBlinkComponents();
                 };
+                _propertyCtrl.PropertyValueChangedEvent += (parter) =>
+                {
+                    if (parter == null)
+                    {
+                        return;
+                    }
+                    UpdateParterListProperty(parter);
+                };
+                _propertyCtrl.ViewParterEvent += (parter) =>
+                {
+                    if (parter == null)
+                    {
+                        return;
+                    }
+                    _bimfaceCtrl?.ZoomToComponent(parter.Code);
+                };
             }
             return _propertyCtrl;
         }
@@ -234,12 +256,6 @@
             this.docPnlRight.Width = 300;
         }
 
-        //灞炴�ч潰鏉挎寜閽�
-        private void barBtnProperty_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            ShowPropertyCtrl();
-        }
-
         //鏄剧ず灞炴��
         private void ShowProperty()
         {
@@ -251,22 +267,123 @@
             {
                 ShowPropertyCtrl();
             }
-            if (_parter == null)
+            if (_selectedParter == null)
             {
-                _propertyCtrl?.SelectParter(null);
+                _propertyCtrl?.CancelSelectParter();
                 return;
             }
-            _propertyCtrl?.SelectParter(_parter.Code);
+            _propertyCtrl?.SelectParter(_selectedParter.Code);
 
             var allCalcuResultList = GetCalcuResultList();
             if (allCalcuResultList != null && allCalcuResultList.Count > 0)
             {
-                var calcuResult = allCalcuResultList.Find(x => x.Code == _parter.Code);
+                var calcuResult = allCalcuResultList.Find(x => x.Code == _selectedParter.Code);
                 if (calcuResult != null)
                 {
                     _propertyCtrl?.UpdateCalcuProperty(calcuResult);
                 }
             }
+        }
+
+
+
+        #endregion
+
+        #region 閫夋嫨鏋勪欢
+
+        //閫夋嫨鏋勪欢
+        private Yw.Model.HydroParterInfo _selectedParter = null;
+
+        //鏇存柊閫夋嫨缁勪欢灞炴��
+        private void UpdateSelectedParterProperty()
+        {
+            if (_selectedParter == null)
+            {
+                return;
+            }
+            _propertyCtrl?.UpdateProperty();
+
+        }
+
+        //鏇存柊閫夋嫨缁勪欢璁$畻灞炴��
+        private void UpdateSelectedParterCalcuProperty()
+        {
+            if (_selectedParter == null)
+            {
+                return;
+            }
+            var allCalcuResultList = GetCalcuResultList();
+            if (allCalcuResultList == null || allCalcuResultList.Count < 1)
+            {
+                return;
+            }
+            var calcuResult = allCalcuResultList.Find(x => x.Code == _selectedParter.Code);
+            if (calcuResult == null)
+            {
+                return;
+            }
+            _propertyCtrl?.UpdateCalcuProperty(calcuResult);
+        }
+
+        //鏇存柊鏋勪欢鍒楄〃灞炴��
+        private void UpdateParterListProperty()
+        {
+            if (this.docPnlBottom.Visibility != DevExpress.XtraBars.Docking.DockVisibility.Visible)
+            {
+                return;
+            }
+            var parterListCtrl = this.controlContainerBottom.Controls[0] as Yw.WinFrmUI.HydroParterListCtrl;
+            if (parterListCtrl == null)
+            {
+                return;
+            }
+            parterListCtrl.UpdateProperty();
+        }
+
+        //鏇存柊鏋勪欢鍒楄〃灞炴��
+        private void UpdateParterListProperty(Yw.Model.HydroParterInfo parter)
+        {
+            if (this.docPnlBottom.Visibility != DevExpress.XtraBars.Docking.DockVisibility.Visible)
+            {
+                return;
+            }
+            var parterListCtrl = this.controlContainerBottom.Controls[0] as Yw.WinFrmUI.HydroParterListCtrl;
+            if (parterListCtrl == null)
+            {
+                return;
+            }
+            parterListCtrl.UpdateProperty(parter);
+        }
+
+        //鏇存柊鏋勪欢鍒楄〃灞炴��
+        private void UpdateParterListProperty(List<Yw.Model.HydroParterInfo> parterList)
+        {
+            if (this.docPnlBottom.Visibility != DevExpress.XtraBars.Docking.DockVisibility.Visible)
+            {
+                return;
+            }
+            var parterListCtrl = this.controlContainerBottom.Controls[0] as Yw.WinFrmUI.HydroParterListCtrl;
+            if (parterListCtrl == null)
+            {
+                return;
+            }
+            parterListCtrl.UpdateProperty(parterList);
+        }
+
+        //鏇存柊鏋勪欢鍒楄〃璁$畻灞炴��
+        private void UpdateParterListCalcuProperty()
+        {
+            if (this.docPnlBottom.Visibility != DevExpress.XtraBars.Docking.DockVisibility.Visible)
+            {
+                return;
+            }
+            var parterListCtrl = this.controlContainerBottom.Controls[0] as Yw.WinFrmUI.HydroParterListCtrl;
+            if (parterListCtrl == null)
+            {
+                return;
+            }
+            var allCalcuResultList = GetCalcuResultList();
+            parterListCtrl.UpdateCalcuProperty(allCalcuResultList);
         }
 
         #endregion
@@ -287,11 +404,11 @@
                         return;
                     }
                     var allParterList = _hydroInfo.GetAllParters();
-                    _parter = allParterList?.Find(x => x.Code == code);
+                    _selectedParter = allParterList?.Find(x => x.Code == code);
                     var elementIds = new List<string>();
-                    if (_parter != null)
+                    if (_selectedParter != null)
                     {
-                        elementIds.Add(_parter.Code);
+                        elementIds.Add(_selectedParter.Code);
                     }
                     await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds);
                     ShowProperty();
@@ -350,7 +467,7 @@
                         return;
                     }
                     var allParterList = _hydroInfo.GetAllParters();
-                    _parter = allParterList?.Find(x => x.Code == parter.Code);
+                    _selectedParter = allParterList?.Find(x => x.Code == parter.Code);
                     var elementIds = new List<string>() { parter.Code };
                     await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds);
                     ShowProperty();
@@ -359,7 +476,7 @@
                 {
                     var codes = parters?.Select(x => x.Code).Distinct().ToList();
                     await _bimfaceCtrl?.ZoomAndSelectComponents(codes);
-                    _parter = null;
+                    _selectedParter = null;
                     ShowProperty();
                 };
             }
@@ -443,15 +560,15 @@
                     var elementIds = new List<string>();
                     if (string.IsNullOrEmpty(code))
                     {
-                        _parter = null;
+                        _selectedParter = null;
                     }
                     else
                     {
                         var allParterList = _hydroInfo.GetAllParters();
-                        _parter = allParterList?.Find(x => x.Code == code);
-                        if (_parter != null)
+                        _selectedParter = allParterList?.Find(x => x.Code == code);
+                        if (_selectedParter != null)
                         {
-                            elementIds.Add(_parter.Code);
+                            elementIds.Add(_selectedParter.Code);
                         }
                     }
                     await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds);
@@ -536,14 +653,13 @@
                 _parterListCtrl.Dock = DockStyle.Fill;
                 _parterListCtrl.HydroClickEvent += async (parter) =>
                 {
-                    if (_hydroInfo == null)
-                    {
-                        return;
-                    }
-                    var allParterList = _hydroInfo.GetAllParters();
-                    _parter = allParterList?.Find(x => x.Code == parter.Code);
-                    await _bimfaceCtrl?.ZoomAndSelectComponents(new List<string>() { _parter.Code });
+                    _selectedParter = parter;
+                    await _bimfaceCtrl?.ZoomAndSelectComponent(_selectedParter.Code);
                     ShowProperty();
+                };
+                _parterListCtrl.HydroChangedEvent += (parterList) =>
+                {
+                    UpdateSelectedParterProperty();
                 };
             }
             return _parterListCtrl;
@@ -556,8 +672,17 @@
             {
                 return;
             }
+            var allCalcuResultList = GetCalcuResultList();
             var parterListCtrl = GetParterListCtrl();
-            parterListCtrl.SetBindingData(_hydroInfo, GetCalcuResultList());
+            parterListCtrl.SetBindingData(_hydroInfo, allCalcuResultList);
+            if (allCalcuResultList == null || allCalcuResultList.Count < 1)
+            {
+                parterListCtrl.SetNormalView();
+            }
+            else
+            {
+                parterListCtrl.SetCalcuView();
+            }
             this.controlContainerBottom.Controls.Clear();
             this.controlContainerBottom.Controls.Add(parterListCtrl);
             this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible;
@@ -603,14 +728,14 @@
             //姘村簱
             this.barBtnSetReservoirList.ItemClick += delegate
             {
-                var dlg = new HydroReservoirBulkSetListDlg();
-                dlg.ShowDialog();
+                //var dlg = new HydroReservoirBulkSetListDlg();
+                //dlg.ShowDialog();
             };
             //姘存睜
             this.barBtnSetTankList.ItemClick += delegate
             {
-                var dlg = new HydroTankBulkSetListDlg();
-                dlg.ShowDialog();
+                //var dlg = new HydroTankBulkSetListDlg();
+                //dlg.ShowDialog();
             };
             //姘寸
             this.barBtnSetWaterboxList.ItemClick += delegate
@@ -619,15 +744,29 @@
                 {
                     return;
                 }
-                var dlg = new HydroWaterboxBulkSetListDlg();
+                var dlg = new SetHydroWaterboxListDlg();
                 dlg.SetBindingData(_hydroInfo);
+                dlg.HydroClickEvent += async (obj) =>
+                {
+                    if (obj == null)
+                    {
+                        return;
+                    }
+                    _selectedParter = obj;
+                    await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code);
+                    ShowProperty();
+                };
+                dlg.HydroChangedEvent += (obj) =>
+                {
+
+                };
                 dlg.ShowDialog();
             };
             //杩炴帴鑺傜偣
             this.barBtnSetJunctionList.ItemClick += delegate
             {
-                var dlg = new HydroJunctionBulkSetListDlg();
-                dlg.ShowDialog();
+                //var dlg = new HydroJunctionBulkSetListDlg();
+                //dlg.ShowDialog();
             };
             //闂峰ご
             this.barBtnSetBluntheadList.ItemClick += delegate
@@ -636,7 +775,22 @@
                 {
                     return;
                 }
-                var dlg = new HydroBluntheadBulkSetListDlg();
+                var dlg = new SetHydroBluntheadListDlg();
+                dlg.SetBindingData(_hydroInfo);
+                dlg.HydroClickEvent += async (obj) =>
+                {
+                    if (obj == null)
+                    {
+                        return;
+                    }
+                    _selectedParter = obj;
+                    await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code);
+                    ShowProperty();
+                };
+                dlg.HydroChangedEvent += (obj) =>
+                {
+
+                };
                 dlg.ShowDialog();
             };
             //寮ご
@@ -646,8 +800,22 @@
                 {
                     return;
                 }
-                var dlg = new HydroElbowBulkSetListDlg();
+                var dlg = new SetHydroElbowListDlg();
                 dlg.SetBindingData(_hydroInfo);
+                dlg.HydroClickEvent += async (obj) =>
+                {
+                    if (obj == null)
+                    {
+                        return;
+                    }
+                    _selectedParter = obj;
+                    await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code);
+                    ShowProperty();
+                };
+                dlg.HydroChangedEvent += (obj) =>
+                {
+
+                };
                 dlg.ShowDialog();
             };
             //涓夐��
@@ -657,7 +825,7 @@
                 {
                     return;
                 }
-                var dlg = new HydroThreelinkBulkSetListDlg();
+                var dlg = new SetHydroThreelinkListDlg();
                 dlg.SetBindingData(_hydroInfo);
                 dlg.ShowDialog();
             };
@@ -668,7 +836,7 @@
                 {
                     return;
                 }
-                var dlg = new HydroFourlinkBulkSetListDlg();
+                var dlg = new SetHydroFourlinkListDlg();
                 dlg.SetBindingData(_hydroInfo);
                 dlg.ShowDialog();
             };
@@ -679,7 +847,7 @@
                 {
                     return;
                 }
-                var dlg = new HydroMeterBulkSetListDlg();
+                var dlg = new SetHydroMeterListDlg();
                 dlg.SetBindingData(_hydroInfo);
                 dlg.ShowDialog();
             };
@@ -690,7 +858,7 @@
                 {
                     return;
                 }
-                var dlg = new HydroFlowmeterBulkSetListDlg();
+                var dlg = new SetHydroFlowmeterListDlg();
                 dlg.SetBindingData(_hydroInfo);
                 dlg.ShowDialog();
             };
@@ -701,7 +869,7 @@
                 {
                     return;
                 }
-                var dlg = new HydroPressmeterBulkSetListDlg();
+                var dlg = new SetHydroPressmeterListDlg();
                 dlg.SetBindingData(_hydroInfo);
                 dlg.ShowDialog();
             };
@@ -712,7 +880,7 @@
                 {
                     return;
                 }
-                var dlg = new HydroPipeBulkSetListDlg();
+                var dlg = new SetHydroPipeListDlg();
                 dlg.SetBindingData(_hydroInfo);
                 dlg.ShowDialog();
             };
@@ -723,7 +891,7 @@
                 {
                     return;
                 }
-                var dlg = new HydroPumpBulkSetListDlg();
+                var dlg = new SetHydroPumpListDlg();
                 dlg.SetBindingData(_hydroInfo);
                 dlg.ShowDialog();
             };
@@ -734,7 +902,7 @@
                 {
                     return;
                 }
-                var dlg = new HydroValveBulkSetListDlg();
+                var dlg = new SetHydroValveListDlg();
                 dlg.SetBindingData(_hydroInfo);
                 dlg.ShowDialog();
             };
@@ -1058,10 +1226,10 @@
             dlg.SetBindingData(_hydroInfo);
             dlg.HydroViewEvent += async (parter) =>
             {
-                _parter = parter;
-                if (_parter != null)
+                _selectedParter = parter;
+                if (_selectedParter != null)
                 {
-                    await _bimfaceCtrl?.ZoomAndSelectComponents(new List<string>() { _parter.Code });
+                    await _bimfaceCtrl?.ZoomAndSelectComponents(new List<string>() { _selectedParter.Code });
                 }
                 ShowProperty();
             };
@@ -1083,7 +1251,7 @@
 
                 WaitFormHelper.ShowWaitForm(this, "姝e湪璁$畻鍒嗘瀽涓紝璇风◢鍊�...");
 
-                await Task.Delay(5000);
+                //await Task.Delay(5000);
 
                 var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo);
                 _calcuResult = netWork.Calcu();
@@ -1353,12 +1521,12 @@
                     {
                         var first = list.First();
                         var allParterList = _hydroInfo.GetAllParters();
-                        _parter = allParterList?.Find(x => x.Code == first.Code);
+                        _selectedParter = allParterList?.Find(x => x.Code == first.Code);
                         list.ForEach(x => elementIds.Add(x.Code));
                     }
                     else
                     {
-                        _parter = null;
+                        _selectedParter = null;
                     }
                     await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds);
                     ShowProperty();
@@ -2457,7 +2625,7 @@
                 sw.Stop();
                 TimeSpan ts2 = sw.Elapsed;
                 Console.WriteLine("Stopwatch鎬诲叡鑺辫垂{0}ms.", ts2.TotalMilliseconds);
-                _parter = null;
+                _selectedParter = null;
                 await _bimfaceCtrl?.ZoomAndSelectComponents(null);
                 ShowProperty();
                 TipFormHelper.ShowSucceed("鏁版嵁宸插埛鏂�");

--
Gitblit v1.9.3