From 4ee432aa0ec5ec8058d720b49ae7f46e5ad1c49c Mon Sep 17 00:00:00 2001
From: tangxu <tangxu76880903>
Date: 星期日, 03 十一月 2024 09:24:33 +0800
Subject: [PATCH] 确认提交

---
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs |  250 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 204 insertions(+), 46 deletions(-)

diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
index 854879d..f8507ea 100644
--- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
+++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
@@ -1,5 +1,4 @@
-锘� 
-using System;
+锘縰sing System;
 using System.Collections.Generic;
 using System.Windows.Forms;
 using System.IO;
@@ -8,8 +7,16 @@
 
 namespace DPumpHydr.WinFrmUI.Volute
 {
-    public partial class MainViewPage  
+    public partial class MainViewPage
     {
+        //
+        ctrlHdrBaseInfo _ctrlHdrBaseInfo = null;
+        ctrlGeomBaseInfo _ctrlGeomBaseInfo = null;
+        ctrlSectionBaseInfo _ctrlSectionBaseInfo = null;
+        ctrlSectionShapeInfo18 _ctrlSectionShapeInfo18 = null;
+        ctrlSetOutflowStyle _ctrlSetOutflowStyle = null;
+        ctrlSetOutflowDim _ctrlSetOutflowDim = null;
+
         //鍩虹淇℃伅
         private readonly string Group_Name_Base_Info = "BaseInfo";
         private readonly int Group_ID_Base_Info = -1;//缁処D
@@ -26,15 +33,16 @@
 
         //鍑烘按璁捐
         private readonly string Group_Name_Outflow = "Outflow";
-        private readonly int Group_ID_Outflow  = -3;
+        private readonly int Group_ID_Outflow = -3;
         private long Step_ID_Outflow_Style = 31;
         private long Step_ID_Outflow_Dim = 32;
 
+
         //
         private List<DPumpHydr.WinFrmUI.Volute.TreeStepNode> _allStepNodes = null;
-         
+
         private long _currentStepID = 0;
- 
+
         /// <summary>
         /// 涓嬩竴姝�
         /// </summary>
@@ -53,35 +61,148 @@
             return GoPrevStepCore();
         }
         ViewModel.HdrBaseInfo _hdrBaseInfo = null;
+        ViewModel.GeomBaseInfo _geomBaseInfo = null;
+        ViewModel.SectionBaseInfo _sectionBaseInfo = null;
+        ViewModel.SectionShapePara _sectionShapePara = null;
+        DPumpHydr.WinFrmUI.Volute.TreeStepNode next_step = null;
+        int _currentSectIndex;
+        /// <summary>
+        /// 涓嬩竴姝ユ牳蹇�
+        /// </summary>
+        /// <returns></returns>
         private bool GoNextStepCore()
         {
-            var next_step = (from x in _allStepNodes
+            if (_currentStepID != Step_ID_Section18_Dim || _currentSectIndex > 8 || _currentSectIndex <= 1)
+            {
+                _currentSectIndex = 9;
+                next_step = (from x in _allStepNodes
                              where x.ID > _currentStepID
                              orderby x.ID
                              select x).FirstOrDefault();
-            if (next_step == null)
-                return false;
-            if(_currentStepID == Step_ID_Hdr_Base_Info)
+                if (next_step == null)
+                    return false;
+            }
+
+            //绗竴姝ヨ繘琛屼笅涓�姝ョ偣鍑�
+            if (_currentStepID == Step_ID_Hdr_Base_Info)
             {
                 string error_info;
                 var hdrBaseInfo = _ctrlHdrBaseInfo.GetBindingData(out error_info);
-                if(hdrBaseInfo == null)
+                if (hdrBaseInfo == null)
                 {
                     MessageBox.Show(error_info);
                     return false;
                 }
+                hdrBaseInfo.CalcNs();
                 _hdrBaseInfo = hdrBaseInfo;
+                if (_geomBaseInfo == null)
+                {
+                    _geomBaseInfo = new ViewModel.GeomBaseInfo();
+                }
+                _geomBaseInfo.Calc(_hdrBaseInfo);
+            }
+            //绗簩姝ヨ繘琛屼笅涓�姝ョ偣鍑�
+            if (_currentStepID == Step_ID_Geom_Base_Info)
+            {
+                string error_info;
+                var geomBaseInfo = _ctrlGeomBaseInfo.GetBindingData(out error_info);
+                if (geomBaseInfo == null)
+                {
+                    MessageBox.Show(error_info);
+                    return false;
+                }
+                _geomBaseInfo = geomBaseInfo;
+                if (_sectionBaseInfo == null)
+                {
+                    _sectionBaseInfo = new ViewModel.SectionBaseInfo();
+                }
+                _sectionBaseInfo.CalcV3(_hdrBaseInfo, _geomBaseInfo);
+                _sectionBaseInfo.CalcArea(_hdrBaseInfo, _geomBaseInfo, _sectionBaseInfo.V3);
+                _sectionBaseInfo.IntialShapeType(_hdrBaseInfo, _geomBaseInfo, _sectionBaseInfo.ShapeType);
+            }
+            //绗笁姝ヨ繘琛屼笅涓�姝ョ偣鍑�
+            if (_currentStepID == Step_ID_Section18_Base)
+            {
+
+                string error_info;
+                var sectionBaseInfo = _ctrlSectionBaseInfo.GetBindingData(out error_info);
+                if (sectionBaseInfo == null)
+                {
+                    MessageBox.Show(error_info);
+                    return false;
+                }
+                _sectionBaseInfo = sectionBaseInfo;
+                _sectionBaseInfo.InitialAllParameters(_hdrBaseInfo, _geomBaseInfo);
+                _currentSectIndex--;
+                if (_sectionShapePara == null)
+                {
+                    _sectionShapePara = new ViewModel.SectionShapePara();
+                }
+                _sectionShapePara.Initialparameters(_currentSectIndex, _sectionBaseInfo);
+            }
+            //1-8鏂潰杩涜涓嬩竴姝ョ偣鍑�
+            if (_currentStepID == Step_ID_Section18_Dim)
+            {
+                string error_info;
+                var sectionShapeInfo18 = _ctrlSectionShapeInfo18.GetBindingData(out error_info);
+                if (sectionShapeInfo18 == null)
+                {
+                    MessageBox.Show(error_info);
+                    return false;
+                }
+                _sectionShapePara = sectionShapeInfo18;
+                _sectionShapePara.CalcHeightByArea(_sectionBaseInfo.ShapeType);
+                _sectionBaseInfo.EditSingleShape(_sectionShapePara, _currentSectIndex);
+                if (_currentSectIndex != 9)
+                {
+                    _currentSectIndex--;
+                }
+                _sectionShapePara.Initialparameters(_currentSectIndex, _sectionBaseInfo);
             }
             SetParasCtrl(next_step.ID);
- 
+
             return true;
         }
 
+        /// <summary>
+        /// 涓婁竴姝ユ牳蹇�
+        /// </summary>
+        /// <returns></returns>
         private bool GoPrevStepCore()
         {
+            //bool IsChanges = true;
+            //if (_currentStepID == Step_ID_Section18_Base && _ctrlSectionBaseInfo.IsParameterChange())
+            //{
+            //    IsChanges = false;
+            //}
+            //if(IsChanges)
+            //{
+            //    DialogResult result = MessageBox.Show("宸茬粡淇敼杩囩殑鏁版嵁闇�瑕佷繚瀛樺悧锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
+            //    if (result == DialogResult.OK)
+            //    {
+            //        string error_info = "";
+            //        var hdrBaseInfo = _ctrlSectionBaseInfo.GetBindingData(out error_info);
+            //        if (hdrBaseInfo == null)
+            //        {
+            //            MessageBox.Show(error_info);
+            //            return false;
+            //        }
+            //    }
+            //}
             if (_currentStepID == Step_ID_Hdr_Base_Info)
                 return false;
-
+            if (_currentStepID == Step_ID_Section18_Dim && _currentSectIndex >= 1 && _currentSectIndex < 8)
+            {
+                _currentSectIndex++;
+                _sectionShapePara.Initialparameters(_currentSectIndex, _sectionBaseInfo);
+                SetParasCtrl(Step_ID_Section18_Dim);
+                return true;
+            }
+            if (_currentStepID == Step_ID_Outflow_Style)
+            {
+                _currentSectIndex = 1;
+                _sectionShapePara.Initialparameters(_currentSectIndex, _sectionBaseInfo);
+            }
             var prev_step = (from x in _allStepNodes
                              where x.ID < _currentStepID
                              orderby x.ID
@@ -90,67 +211,77 @@
                 return false;
 
             SetParasCtrl(prev_step.ID);
-   
+
             return true;
         }
 
+        /// <summary>
+        /// 鐢熸垚绗嚑姝ユ帶浠�
+        /// </summary>
+        /// <param name="step_id"></param>
         private void SetParasCtrl(long step_id)
-        {   
+        {
+            //绗竴姝�
             if (step_id == Step_ID_Hdr_Base_Info)
             {
                 if (_ctrlHdrBaseInfo == null)
                     _ctrlHdrBaseInfo = new ctrlHdrBaseInfo();
                 this.panelParas.Controls.Clear();
                 this.panelParas.Controls.Add(_ctrlHdrBaseInfo);
+                _ctrlHdrBaseInfo.SetBindingData(_hdrBaseInfo);
             }
+
+            //绗簩姝�
             if (step_id == Step_ID_Geom_Base_Info)
             {
                 if (_ctrlGeomBaseInfo == null)
                 {
                     _ctrlGeomBaseInfo = new ctrlGeomBaseInfo();
                     _ctrlGeomBaseInfo.Name = "ctrlGeomBaseInfo";
-                    _ctrlGeomBaseInfo.Dock = DockStyle.Fill;
+                    _ctrlGeomBaseInfo.Dock = DockStyle.Right;
                 }
-                
                 this.panelParas.Controls.Clear();
                 this.panelParas.Controls.Add(_ctrlGeomBaseInfo);
+                _ctrlGeomBaseInfo.SetBindingData(_geomBaseInfo);
             }
 
-
- 
- 
+            //绗笁姝�
             if (step_id == Step_ID_Section18_Base)
             {
                 if (_ctrlSectionBaseInfo == null)
                 {
                     _ctrlSectionBaseInfo = new ctrlSectionBaseInfo();
                     _ctrlSectionBaseInfo.Name = "ctrlSectionBaseInfo";
-                    _ctrlSectionBaseInfo.Dock = DockStyle.Fill;
+                    _ctrlSectionBaseInfo.Dock = DockStyle.Right;
                 }
-             
-                  
                 this.panelParas.Controls.Clear();
                 this.panelParas.Controls.Add(_ctrlSectionBaseInfo);
+                _ctrlSectionBaseInfo.SetBindingData(_sectionBaseInfo);
             }
+            //绗洓姝�
             if (step_id == Step_ID_Section18_Dim)
             {
                 if (_ctrlSectionShapeInfo18 == null)
                 {
                     _ctrlSectionShapeInfo18 = new ctrlSectionShapeInfo18();
                     _ctrlSectionShapeInfo18.Name = "ctrlSectionShapeInfo18";
-                    _ctrlSectionShapeInfo18.Dock = DockStyle.Fill;
+                    _ctrlSectionShapeInfo18.Dock = DockStyle.Right;
                 }
-                   
                 this.panelParas.Controls.Clear();
                 this.panelParas.Controls.Add(_ctrlSectionShapeInfo18);
+                _ctrlSectionShapeInfo18.SetBindingData(_sectionShapePara);
             }
 
 
 
-            if(step_id == Step_ID_Outflow_Style)
+            if (step_id == Step_ID_Outflow_Style)
             {
                 if (_ctrlSetOutflowStyle == null)
+                {
                     _ctrlSetOutflowStyle = new ctrlSetOutflowStyle();
+                    _ctrlSetOutflowStyle.Name = "ctrlSetOutflowStyle";
+                    _ctrlSetOutflowStyle.Dock = DockStyle.Right;
+                }
                 this.panelParas.Controls.Clear();
                 this.panelParas.Controls.Add(_ctrlSetOutflowStyle);
 
@@ -158,7 +289,11 @@
             if (step_id == Step_ID_Outflow_Dim)
             {
                 if (_ctrlSetOutflowDim == null)
+                {
                     _ctrlSetOutflowDim = new ctrlSetOutflowDim();
+                    _ctrlSetOutflowDim.Name = "ctrlSetOutflowDim";
+                    _ctrlSetOutflowDim.Dock = DockStyle.Right;
+                }
                 this.panelParas.Controls.Clear();
                 this.panelParas.Controls.Add(_ctrlSetOutflowDim);
             }
@@ -169,8 +304,31 @@
 
             this._currentStepID = step_id;
         }
-     
-        
+
+        /// <summary>
+        /// 铚楀3鍙傛暟瀵煎嚭
+        /// </summary>
+        public void VoluteDeriveArgument()
+        {
+            if (_sectionBaseInfo == null)
+            {
+                MessageBox.Show("鎮ㄨ繕娌℃湁瀹屾垚瀹氫箟鍙傛暟锛佽瀹氫箟瀹屾垚鍚庡湪杩涜瀵煎嚭锛侊紙鑷冲皯瀹屾垚绗笁姝ワ級");
+                return;
+            }
+            if (_currentStepID <= 21)
+            {
+                DialogResult result = MessageBox.Show("纭畾涓嶈繘琛屽悗缁柇闈㈠弬鏁扮殑璋冩暣锛屼娇鐢ㄥ垵濮嬭绠楀悗鐨勫弬鏁板悧锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
+                if (result == DialogResult.Cancel)
+                {
+                    return;
+                }
+            }
+            ViewModel.SectionShapePara VoluteArgument = new ViewModel.SectionShapePara();
+            string json = VoluteArgument.DeriveArgument(_sectionBaseInfo);
+            string filePath = Path.Combine(@"C:\Users\THL\Desktop", $"铚楀3鍙傛暟.json");
+            File.WriteAllText(filePath, json);
+        }
+
         #region 鍒濆鍖栨楠ゅ垪琛�
 
         /// <summary>
@@ -256,23 +414,23 @@
             step鏂潰鍩烘湰淇℃伅.ParentID = Group_ID_Section18;
             _allStepNodes.Add(step鏂潰鍩烘湰淇℃伅);
 
-       
-                var stepSetct18 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
-                {
-                    ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.鏈畬鎴�,
-                    DataState = WinFrmUI.Volute.TreeStepNode.eDataState.鏈煡
-                };
-                stepSetct18.AllowSelect = true;
-                stepSetct18.Caption =  "绗洓姝�: 绗�1-8鏂潰" ;
+
+            var stepSetct18 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
+            {
+                ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.鏈畬鎴�,
+                DataState = WinFrmUI.Volute.TreeStepNode.eDataState.鏈煡
+            };
+            stepSetct18.AllowSelect = true;
+            stepSetct18.Caption = "绗洓姝�: 绗�1-8鏂潰";
             stepSetct18.Name = "TreeStepNode" + Step_ID_Section18_Dim;
-            stepSetct18.ID = Step_ID_Section18_Dim  ;
-                stepSetct18.Group = "鐩栨澘杩炴帴";
-                stepSetct18.ParentID = Group_ID_Section18;
-                _allStepNodes.Add(stepSetct18);
-             
+            stepSetct18.ID = Step_ID_Section18_Dim;
+            stepSetct18.Group = "鐩栨澘杩炴帴";
+            stepSetct18.ParentID = Group_ID_Section18;
+            _allStepNodes.Add(stepSetct18);
 
 
-     
+
+
 
 
             #endregion
@@ -300,14 +458,14 @@
             };
             step鍑烘按浣撶被鍨�.AllowSelect = true;
             step鍑烘按浣撶被鍨�.Caption = "绗簲姝�:鍑烘按浣撶被鍨�";
-            step鍑烘按浣撶被鍨�.Name = "TreeStepNode"+ Step_ID_Outflow_Style;
+            step鍑烘按浣撶被鍨�.Name = "TreeStepNode" + Step_ID_Outflow_Style;
             step鍑烘按浣撶被鍨�.ID = Step_ID_Outflow_Style;
             step鍑烘按浣撶被鍨�.Group = Group_Name_Outflow;
             step鍑烘按浣撶被鍨�.ParentID = Group_ID_Outflow;
             _allStepNodes.Add(step鍑烘按浣撶被鍨�);
 
 
-            
+
             var step鍑烘按浣撳昂瀵� = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
             {
                 ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.鏈畬鎴�,
@@ -315,7 +473,7 @@
             };
             step鍑烘按浣撳昂瀵�.AllowSelect = true;
             step鍑烘按浣撳昂瀵�.Caption = "绗叚姝�:鍑烘按浣撳昂瀵�";
-            step鍑烘按浣撳昂瀵�.Name = "TreeStepNode"+ Step_ID_Outflow_Dim;
+            step鍑烘按浣撳昂瀵�.Name = "TreeStepNode" + Step_ID_Outflow_Dim;
             step鍑烘按浣撳昂瀵�.ID = Step_ID_Outflow_Dim;
             step鍑烘按浣撳昂瀵�.Group = Group_Name_Outflow;
             step鍑烘按浣撳昂瀵�.ParentID = Group_ID_Outflow;
@@ -338,7 +496,7 @@
                 _ctrlHdrBaseInfo.Dock = DockStyle.Right;
                 _ctrlHdrBaseInfo.SetBindingData(hdrBaseInfo);
             }
-            this.panelParas.Controls.Clear();
+            //this.panelParas.Controls.Clear();//涓嶈兘娓呯悊
             this.panelParas.Controls.Add(_ctrlHdrBaseInfo);
             this._currentStepID = Step_ID_Hdr_Base_Info;
             //this.stepTreeListCtrl.SetStepSource(_allStepNodes, 1);

--
Gitblit v1.9.3