From 46f64905a3c309a50c0f245b3350cdeb8dd699c6 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 22 一月 2025 17:29:02 +0800
Subject: [PATCH] 计算优化

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs |  131 ++++++++++++++++++++++++++-----------------
 1 files changed, 79 insertions(+), 52 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs
index 0cb6a3a..b001af9 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs
@@ -3,7 +3,7 @@
     /// <summary>
     /// 绠℃灞炴�ц鍥�
     /// </summary>
-    public class HydroLinkViewModel : HydroParterViewModel, IHydroCalcuLinkResult
+    public class HydroLinkViewModel : HydroVisualViewModel, IHydroCalcuLinkResult
     {
         /// <summary>
         /// 
@@ -16,22 +16,17 @@
         public HydroLinkViewModel(Yw.Model.HydroLinkInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo)
         {
             this.StartCode = rhs.StartCode;
-            this.UpdatePropStatus(nameof(this.StartCode), rhs, nameof(rhs.StartCode));
             this.EndCode = rhs.EndCode;
-            this.UpdatePropStatus(nameof(this.EndCode), rhs, nameof(rhs.EndCode));
-            this.LinkStatus = HydroLinkStatusHelper.GetStatusName(rhs.LinkStatus);
-            this.UpdatePropStatus(nameof(this.LinkStatus), rhs, nameof(rhs.LinkStatus));
-
-            this.Vmo = rhs;
         }
+
 
         /// <summary>
         /// 涓婃父鑺傜偣
         /// </summary>
-        [Category("鍩虹淇℃伅")]
+        [Category("鎷撴墤缁撴瀯")]
         [DisplayName("涓婃父鑺傜偣")]
-        [PropertyOrder(101)]
-        [IsHydroLinkCode]
+        [PropertyOrder(1001)]
+        [HydroLinkPro]
         [ReadOnly(true)]
         [Browsable(true)]
         public string StartCode { get; set; }
@@ -39,86 +34,113 @@
         /// <summary>
         /// 涓嬫父鑺傜偣
         /// </summary>
-        [Category("鍩虹淇℃伅")]
+        [Category("鎷撴墤缁撴瀯")]
         [DisplayName("涓嬫父鑺傜偣")]
-        [PropertyOrder(102)]
-        [IsHydroLinkCode]
+        [PropertyOrder(1002)]
+        [HydroLinkPro]
         [ReadOnly(true)]
         [Browsable(true)]
         public string EndCode { get; set; }
-
-        /// <summary>
-        /// 绠℃鐘舵��
-        /// </summary>
-        [Category("鏁版嵁")]
-        [DisplayName("绠℃鐘舵��")]
-        [PropertyOrder(103)]
-        [Browsable(true)]
-        public virtual string LinkStatus { get; set; }
 
         /// <summary>
         /// 娴侀噺
         /// </summary>
         [Category("璁$畻缁撴灉")]
         [DisplayName("娴侀噺")]
-        [PropertyOrder(10001)]
-        [Browsable(true)]
         [DisplayUnit("m鲁/h")]
-        [IsHydroCalcuPro(true)]
+        [Display(Name = "娴侀噺(m鲁/h)")]
+        [PropertyOrder(10001)]
+        [HydroCalcuPro]
         [ShowEditor(false)]
+        [Browsable(false)]
         public virtual double? CalcuFlow { get; set; }
-
-        /// <summary>
-        /// 娴侀��
-        /// </summary>
-        [Category("璁$畻缁撴灉")]
-        [DisplayName("娴侀��")]
-        [PropertyOrder(10002)]
-        [Browsable(true)]
-        [DisplayUnit("m/s")]
-        [IsHydroCalcuPro(true)]
-        [ShowEditor(false)]
-        public virtual double? CalcuVelocity { get; set; }
 
         /// <summary>
         /// 姘村ご鎹熷け
         /// </summary>
         [Category("璁$畻缁撴灉")]
         [DisplayName("姘村ご鎹熷け")]
-        [PropertyOrder(10003)]
-        [Browsable(true)]
         [DisplayUnit("m")]
-        [IsHydroCalcuPro(true)]
+        [Display(Name = "姘村ご鎹熷け(m)")]
+        [PropertyOrder(10002)]
+        [HydroCalcuPro]
         [ShowEditor(false)]
+        [Browsable(false)]
         public virtual double? CalcuHeadLoss { get; set; }
 
+        /// <summary>
+        /// 娴侀��
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("娴侀��")]
+        [DisplayUnit("m/s")]
+        [Display(Name = "娴侀��(m/s)")]
+        [PropertyOrder(19007)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(false)]
+        public virtual double? CalcuVelocity { get; set; }
 
         /// <summary>
-        /// Vmo
+        /// 灞�閮ㄦ崯澶�
         /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("灞�閮ㄦ崯澶�")]
+        [DisplayUnit("m")]
+        [Display(Name = "灞�閮ㄦ崯澶�(m)")]
+        [PropertyOrder(19008)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
         [Browsable(false)]
-        public new Yw.Model.HydroLinkInfo Vmo { get; set; }
+        public virtual double? CalcuMinorLoss { get; set; }
+
+        /// <summary>
+        /// 娌跨▼鎹熷け
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("娌跨▼鎹熷け")]
+        [DisplayUnit("m")]
+        [Display(Name = "娌跨▼鎹熷け(m)")]
+        [PropertyOrder(19009)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(false)]
+        public virtual double? CalcuFrictionLoss { get; set; }
 
         /// <summary>
         /// 
         /// </summary>
-        public override void Update()
+        [Browsable(false)]
+        public new Yw.Model.HydroLinkInfo Vmo
         {
-            base.Update();
-            this.StartCode = this.Vmo.StartCode;
-            this.UpdatePropStatus(nameof(this.StartCode), this.Vmo, nameof(this.Vmo.StartCode));
-            this.EndCode = this.Vmo.EndCode;
-            this.UpdatePropStatus(nameof(this.EndCode), this.Vmo, nameof(this.Vmo.EndCode));
-            this.LinkStatus = HydroLinkStatusHelper.GetStatusName(this.Vmo.LinkStatus);
-            this.UpdatePropStatus(nameof(this.LinkStatus), this.Vmo, nameof(this.Vmo.LinkStatus));
+            get { return _vmo as Yw.Model.HydroLinkInfo; }
+            set { _vmo = value; }
         }
 
+        /// <summary>
+        /// 
+        /// </summary>
+        public override void UpdateProperty()
+        {
+            base.UpdateProperty();
+            this.StartCode = this.Vmo.StartCode;
+            this.EndCode = this.Vmo.EndCode;
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public override void UpdateVmoProperty()
+        {
+            base.UpdateVmoProperty();
+            this.Vmo.StartCode = this.StartCode;
+            this.Vmo.EndCode = this.EndCode;
+        }
 
         /// <summary>
         /// 鏇存柊璁$畻灞炴��
         /// </summary>
-        /// <param name="rhs"></param>
-        public override void UpdateCalcuProperty(HydroCalcuResult rhs)
+        public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs)
         {
             base.UpdateCalcuProperty(rhs);
             if (rhs is HydroCalcuLinkResult calcuLinkProperty)
@@ -126,9 +148,14 @@
                 this.CalcuFlow = calcuLinkProperty.CalcuFlow.HasValue ? Math.Round(calcuLinkProperty.CalcuFlow.Value, 1) : null;
                 this.CalcuVelocity = calcuLinkProperty.CalcuVelocity.HasValue ? Math.Round(calcuLinkProperty.CalcuVelocity.Value, 2) : null;
                 this.CalcuHeadLoss = calcuLinkProperty.CalcuHeadLoss.HasValue ? Math.Round(calcuLinkProperty.CalcuHeadLoss.Value, 2) : null;
+                this.CalcuMinorLoss = calcuLinkProperty.CalcuMinorLoss.HasValue ? Math.Round(calcuLinkProperty.CalcuMinorLoss.Value, 4) : null;
+                this.CalcuFrictionLoss = calcuLinkProperty.CalcuFrictionLoss.HasValue ? Math.Round(calcuLinkProperty.CalcuFrictionLoss.Value, 4) : null;
             }
         }
 
 
+
+
+
     }
 }

--
Gitblit v1.9.3