From 34b7ed136b3c7f01701defbd526e696b84d3ee26 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期四, 28 十一月 2024 10:56:24 +0800
Subject: [PATCH] 优化精度评估

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs |  187 ++++++++++++++++++++++------------------------
 1 files changed, 88 insertions(+), 99 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs
index 9c9ac6a..4c6e647 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs
@@ -7,7 +7,8 @@
 using Yw.Model;
 using Yw.Vmo;
 using Yw.WinFrmUI.Q3d;
-
+using Yw.EPAnet;
+using Mapster;
 namespace HStation.WinFrmUI
 {
     public partial class XhsProjectSimulationWorkingPage : DocumentPage
@@ -15,12 +16,13 @@
         public XhsProjectSimulationWorkingPage()
         {
             InitializeComponent();
-            this.PageTitle.Caption = "姘村姏宸ュ喌";
+            this.PageTitle.Caption = "姘村姏妯℃嫙宸ュ喌";
             this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
         }
 
         private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰
         private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔�
+        private XhsSchemeVmo _scheme = null;//鏂规
         private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅
         private HydroWorkingVmo _working = null;//宸ュ喌
 
@@ -37,9 +39,31 @@
         {
             _project = project;
             _projectSite = projectSite;
-            _hydroInfo = hydroInfo;
+            _hydroInfo = hydroInfo.Adapt<Yw.Model.HydroModelInfo>();
             _working = working;
+            _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo);
             this.PageTitle.Caption = $"姘村姏妯℃嫙\r\n{_working.Name}";
+        }
+
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
+        public void SetBindingData
+            (
+                XhsProjectVmo project,
+                XhsProjectSiteVmo projectSite,
+                XhsSchemeVmo scheme,
+                Yw.Model.HydroModelInfo hydroInfo,
+                HydroWorkingVmo working
+            )
+        {
+            _project = project;
+            _projectSite = projectSite;
+            _scheme = scheme;
+            _hydroInfo = hydroInfo.Adapt<Yw.Model.HydroModelInfo>();
+            _working = working;
+            _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo);
+            this.PageTitle.Caption = $"{scheme.Name}\r\n{_working.Name}";
         }
 
         /// <summary>
@@ -76,6 +100,11 @@
                     {
                         return;
                     }
+                    this.barCkDecorator.Checked = false;
+                    this.barCkMonitor.Checked = true;
+                    this.barCkGrading.Checked = true;
+                    this.barCkCalcu.Checked = true;
+                    CalcuWorking();
                 };
                 _bimfaceCtrl.HydroMouseLeftClickEvent += (code) =>
                 {//榧犳爣宸﹂敭鐐瑰嚮浜嬩欢
@@ -316,68 +345,58 @@
                 case eVisualSource.None:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
                 case eVisualSource.Bimface:
                     {
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
                 case eVisualSource.Q3d:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
                 case eVisualSource.Property:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                     }
                     break;
                 case eVisualSource.List:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
                 case eVisualSource.Search:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
                 case eVisualSource.Monitor:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
                 case eVisualSource.Check:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
                 case eVisualSource.Calcu:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
                 case eVisualSource.Warning:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnSetMonitor.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -1134,17 +1153,6 @@
             ShowCheckCtrl(checkResult);
         }
 
-        //妫�鏌�
-        private void barBtnCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            if (_hydroInfo == null)
-            {
-                return;
-            }
-            var checkResult = _hydroInfo.Check();
-            ShowCheckCtrl(checkResult);
-        }
-
         #endregion
 
         #region 妯″瀷璁$畻
@@ -1161,8 +1169,6 @@
             {
                 var workingHelper = GetWorkingHelper();
                 _calcuResultHelper = new SimulationCalcuResultHelper(workingHelper);
-                var calcuResult = GetCalcuResult();
-                _calcuResultHelper.InitialData();
             }
             return _calcuResultHelper;
         }
@@ -1315,10 +1321,9 @@
         {
             if (_calcuResultLabelHelper == null)
             {
-                var visualListHelper = GetVisualListHelper();
                 var calcuResultHelper = GetCalcuResultHelper();
                 var bimfaceCtrl = await GetBimfaceCtrl();
-                _calcuResultLabelHelper = new SimulationCalcuResultLabelHelper(visualListHelper, calcuResultHelper, bimfaceCtrl);
+                _calcuResultLabelHelper = new SimulationCalcuResultLabelHelper(calcuResultHelper, bimfaceCtrl);
             }
             return _calcuResultLabelHelper;
         }
@@ -1332,6 +1337,59 @@
         }
 
         #endregion
+
+        #endregion
+
+        #region 宸ュ喌璁$畻
+
+        //璁$畻宸ュ喌
+        private async void CalcuWorking()
+        {
+            if (_hydroInfo == null)
+            {
+                return;
+            }
+            if (_working == null)
+            {
+                return;
+            }
+            _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo);
+
+            var workingHelper = GetWorkingHelper();
+            //鏍¢獙
+            var checkResult = _hydroInfo.Check();
+            if (!checkResult.Succeed)
+            {
+                workingHelper.InitialData(_hydroInfo, _working, checkResult, null);
+                ShowCheckCtrl(checkResult);
+                TipFormHelper.ShowError("鏍¢獙澶辫触锛岃妫�鏌ュ悗閲嶈瘯");
+                return;
+            }
+            //璁$畻
+            var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss);
+            workingHelper.InitialData(_hydroInfo, _working, checkResult, calcuResult);
+            if (calcuResult.Succeed)
+            {
+                if (calcuResult.WainingList != null && calcuResult.WainingList.Count > 0)
+                {
+                    ShowCalcuWarningCtrl(calcuResult);
+                }
+                TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�");
+            }
+            else
+            {
+                ShowCalcuFailedCtrl(calcuResult);
+                TipFormHelper.ShowError("璁$畻澶辫触锛�");
+            }
+
+            #region 璁$畻鏍囩
+
+            var calcuResultLabelHelper = await GetCalcuResultLabelHelper();
+            calcuResultLabelHelper.Set();
+
+            #endregion
+        }
+
 
         #endregion
 
@@ -1540,87 +1598,18 @@
             return workingHelper.CalcuResult;
         }
 
-        //鏂板宸ュ喌
-        private void AddWorking()
-        {
-            var workingHelper = GetWorkingHelper();
-            if (workingHelper.Working == null)
-            {
-                TipFormHelper.ShowWarn("灏氭湭璁$畻锛岃璁$畻鍚庨噸璇曪紒");
-                return;
-            }
-            var dlg = new AddHydroWorkingDlg();
-            dlg.SetBindingData(workingHelper.Working);
-            dlg.ReloadDataEvent += (rhs) =>
-            {
-                workingHelper.ResetWorking(rhs);
-            };
-            dlg.ShowDialog();
-        }
-
-        //澧炲姞宸ュ喌
-        private void barBtnAddWorking_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            AddWorking();
-        }
-
         #endregion
 
         #region 宸ュ喌鍒嗘瀽
 
         #region 宸ュ喌璇勪及
 
-        //璇勪及
-        private async void Evaluate()
-        {
-            if (_hydroInfo == null)
-            {
-                return;
-            }
-            var working = GetWorking();
-            if (working == null)
-            {
-                TipFormHelper.ShowWarn("灏氭湭璁$畻锛岃璁$畻鍚庨噸璇曪紒");
-                return;
-            }
-            var checkResult = GetCheckResult();
-            if (checkResult == null)
-            {
-                return;
-            }
-            if (!checkResult.Succeed)
-            {
-                ShowCheckCtrl(checkResult);
-                TipFormHelper.ShowWarn("妫�鏌ュけ璐ワ紝鍋滄璇勪及锛�");
-                return;
-            }
-            var calcuResult = GetCalcuResult();
-            if (!calcuResult.Succeed)
-            {
-                ShowCalcuFailedCtrl(calcuResult);
-                TipFormHelper.ShowWarn("璁$畻澶辫触锛屽仠姝㈣瘎浼帮紒");
-                return;
-            }
-            if (calcuResult.WainingList != null && calcuResult.WainingList.Count > 0)
-            {
-                ShowCalcuWarningCtrl(calcuResult);
-                TipFormHelper.ShowWarn("璇峰叧娉ㄨ鍛婁俊鎭紒");
-            }
-            var visualListHelper = GetVisualListHelper();
-            var allVisualDict = visualListHelper.GetVisualDict();
-            var monitorHelper = GetMonitorHelper();
-            var allMonitorList = await monitorHelper.Get();
-            var allWorkingMonitorList = JsonHelper.Json2Object<List<HydroWorkingMonitorViewModel>>(working.MonitorInfo);
-            var allCalcuResultDict = calcuResult.GetVisualDict();
-            var dlg = new HydroWorkingEvaluationDlg();
-            dlg.SetBindingData(allVisualDict, allMonitorList, allWorkingMonitorList, allCalcuResultDict);
-            dlg.ShowDialog();
-        }
+
 
         //绮惧害璇勪及
         private void barBtnWorkingEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            Evaluate();
+
         }
 
         #endregion

--
Gitblit v1.9.3