From b2b2686f9c49e9ce7c27fffaf76347b38f03f0aa Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 15 一月 2025 11:34:20 +0800
Subject: [PATCH] 增加水泵改变监测和调整上下游监测

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs |  119 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 92 insertions(+), 27 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs
index dc970d3..e0f31eb 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs
@@ -3,7 +3,7 @@
     /// <summary>
     /// 缁勪欢瑙嗗浘
     /// </summary>
-    public class HydroResistanceViewModel : HydroLinkViewModel
+    public class HydroResistanceViewModel : HydroLinkViewModel, IHydroCalcuResistanceResult
     {
         /// <summary>
         /// 
@@ -16,26 +16,18 @@
         public HydroResistanceViewModel(Yw.Model.HydroResistanceInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo)
         {
             this.LinkStatus = HydroResistanceStatusHelper.GetStatusName(rhs.LinkStatus);
-            this.UpdatePropStatus(nameof(this.LinkStatus), rhs, nameof(rhs.LinkStatus));
             this.Material = rhs.Material;
-            this.UpdatePropStatus(nameof(this.Material), rhs, nameof(rhs.Material));
             this.Diameter = rhs.Diameter;
-            this.UpdatePropStatus(nameof(this.Diameter), rhs, nameof(rhs.Diameter));
             this.MinorLoss = rhs.MinorLoss;
-            this.UpdatePropStatus(nameof(this.MinorLoss), rhs, nameof(rhs.MinorLoss));
             this.CurveQL = rhs.CurveQL;
-            this.UpdatePropStatus(nameof(this.CurveQL), rhs, nameof(rhs.CurveQL));
-
-            this.Vmo = rhs;
         }
 
         /// <summary>
-        /// 寮�鍏崇姸鎬�
+        /// 妯″紡
         /// </summary>
         [Category("鏁版嵁")]
-        [DisplayName("寮�鍏崇姸鎬�")]
-        [Display(Name = "寮�鍏崇姸鎬�")]
-        [Description("[榛樿]浣跨敤姘村ご鎹熷け鏇茬嚎锛沎寮�鍚痌浣跨敤灞�闃荤郴鏁�")]
+        [DisplayName("妯″紡")]
+        [Display(Name = "妯″紡")]
         [PropertyOrder(103)]
         [Browsable(true)]
         [TypeConverter(typeof(HydroResistanceStatusConverter))]
@@ -74,9 +66,9 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("姘村ご鎹熷け鏇茬嚎")]
-        [HydroCurvePro(HydroCurve.ResistanceQL, HydroCurveType.CurveQL)]
+        [HydroCurvePro(HydroCurve.Resistance, HydroCurveType.CurveQL)]
         [PropertyOrder(1004)]
-        [Browsable(true)]
+        [Browsable(false)]
         public virtual string Curve
         {
             get
@@ -95,15 +87,84 @@
         [Category("鏁版嵁")]
         [DisplayName("姘村ご鎹熷け鏇茬嚎")]
         [PropertyOrder(1005)]
-        [HydroCurvePro(HydroCurve.ResistanceQL, HydroCurveType.CurveQL)]
+        [HydroCurvePro(HydroCurve.Resistance, HydroCurveType.CurveQL)]
+        [Browsable(true)]
+        public virtual string CurveQL { get; set; }
+
+        /// <summary>
+        /// 娌跨▼鎹熷け
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("娌跨▼鎹熷け")]
+        [Display(Name = "娌跨▼鎹熷け(m)")]
+        [PropertyOrder(19009)]
+        [DisplayUnit("m")]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
         [Browsable(false)]
-        public string CurveQL { get; set; }
+        public override double? CalcuFrictionLoss { get; set; }
+
+        /// <summary>
+        /// 娴侀噺
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("娴侀噺")]
+        [DisplayUnit("m鲁/h")]
+        [Display(Name = "娴侀噺(m鲁/h)")]
+        [PropertyOrder(11001)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(true)]
+        public virtual double? CalcuQ { get; set; }
+
+        /// <summary>
+        /// 杩涘彛鍘嬪姏
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("杩涘彛鍘嬪姏")]
+        [DisplayUnit("m")]
+        [Display(Name = "杩涘彛鍘嬪姏(m)")]
+        [PropertyOrder(11002)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(true)]
+        public virtual double? CalcuPr1 { get; set; }
+
+        /// <summary>
+        /// 鍑哄彛鍘嬪姏
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("鍑哄彛鍘嬪姏")]
+        [DisplayUnit("m")]
+        [Display(Name = "鍑哄彛鍘嬪姏(m)")]
+        [PropertyOrder(11003)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(true)]
+        public virtual double? CalcuPr2 { get; set; }
+
+        /// <summary>
+        /// 灞�閮ㄦ崯澶�
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("灞�閮ㄦ崯澶�")]
+        [DisplayUnit("m")]
+        [Display(Name = "灞�閮ㄦ崯澶�(m)")]
+        [PropertyOrder(19008)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(true)]
+        public override double? CalcuMinorLoss { get; set; }
 
         /// <summary>
         /// 
         /// </summary>
         [Browsable(false)]
-        public new Yw.Model.HydroResistanceInfo Vmo { get; set; }
+        public new Yw.Model.HydroResistanceInfo Vmo
+        {
+            get { return _vmo as Yw.Model.HydroResistanceInfo; }
+            set { _vmo = value; }
+        }
 
         /// <summary>
         /// 
@@ -112,15 +173,10 @@
         {
             base.UpdateProperty();
             this.LinkStatus = HydroResistanceStatusHelper.GetStatusName(this.Vmo.LinkStatus);
-            this.UpdatePropStatus(nameof(this.LinkStatus), this.Vmo, nameof(this.Vmo.LinkStatus));
             this.Material = this.Vmo.Material;
-            this.UpdatePropStatus(nameof(this.Material), this.Vmo, nameof(this.Vmo.Material));
             this.Diameter = this.Vmo.Diameter;
-            this.UpdatePropStatus(nameof(this.Diameter), this.Vmo, nameof(this.Vmo.Diameter));
             this.MinorLoss = this.Vmo.MinorLoss;
-            this.UpdatePropStatus(nameof(this.MinorLoss), this.Vmo, nameof(this.Vmo.MinorLoss));
             this.CurveQL = this.Vmo.CurveQL;
-            this.UpdatePropStatus(nameof(this.CurveQL), this.Vmo, nameof(this.Vmo.CurveQL));
         }
 
         /// <summary>
@@ -130,15 +186,24 @@
         {
             base.UpdateVmoProperty();
             this.Vmo.LinkStatus = HydroResistanceStatusHelper.GetStatusCode(this.LinkStatus);
-            this.Vmo.UpdatePropStatus(nameof(this.Vmo.LinkStatus), this, nameof(this.LinkStatus));
             this.Vmo.Material = this.Material;
-            this.Vmo.UpdatePropStatus(nameof(this.Vmo.Material), this, nameof(this.Material));
             this.Vmo.Diameter = this.Diameter;
-            this.Vmo.UpdatePropStatus(nameof(this.Vmo.Diameter), this, nameof(this.Diameter));
             this.Vmo.MinorLoss = this.MinorLoss;
-            this.Vmo.UpdatePropStatus(nameof(this.Vmo.MinorLoss), this, nameof(this.MinorLoss));
             this.Vmo.CurveQL = this.CurveQL;
-            this.Vmo.UpdatePropStatus(nameof(this.Vmo.CurveQL), this, nameof(this.CurveQL));
+        }
+
+        /// <summary>
+        /// 鏇存柊璁$畻灞炴��
+        /// </summary>
+        public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs)
+        {
+            base.UpdateCalcuProperty(rhs);
+            if (rhs is HydroCalcuResistanceResult calcuResistanceProperty)
+            {
+                this.CalcuQ = calcuResistanceProperty.CalcuQ.HasValue ? Math.Round(calcuResistanceProperty.CalcuQ.Value, 1) : null;
+                this.CalcuPr1 = calcuResistanceProperty.CalcuPr1.HasValue ? Math.Round(calcuResistanceProperty.CalcuPr1.Value, 2) : null;
+                this.CalcuPr2 = calcuResistanceProperty.CalcuPr2.HasValue ? Math.Round(calcuResistanceProperty.CalcuPr2.Value, 2) : null;
+            }
         }
 
 

--
Gitblit v1.9.3