From a91c47d4ae8ad414e492a66f10eafce678892503 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期四, 09 一月 2025 11:43:37 +0800
Subject: [PATCH] 修复权限远程问题

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/00-core/AssetsMatchingHelper.cs |  101 +++++++++++++++++++++++---------------------------
 1 files changed, 47 insertions(+), 54 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/00-core/AssetsMatchingHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/00-core/AssetsMatchingHelper.cs
index 3041280..c32c72b 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/00-core/AssetsMatchingHelper.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/00-core/AssetsMatchingHelper.cs
@@ -1,4 +1,5 @@
-锘縰sing HStation.WinFrmUI.PhartRelation;
+锘縰sing HStation.CAL;
+using HStation.WinFrmUI.PhartRelation;
 using Swashbuckle.AspNetCore.SwaggerGen;
 using System.Linq;
 using System.Windows.Input;
@@ -237,9 +238,9 @@
             {
                 // 灏濊瘯鍖洪棿鍖归厤
                 var rangeMatch = AssetsPumpMainVmos.Where(item =>
-                   (InputModel.RatedN.HasValue ? Math.Abs(InputModel.RatedN.Value - item.RatedSpeed) <= _speedTolerance : true) &&
-                   (InputModel.RatedQ.HasValue ? Math.Abs(InputModel.RatedQ.Value - item.RatedFlow) <= _flowTolerance : true) &&
-                   (InputModel.RatedH.HasValue ? Math.Abs(InputModel.RatedH.Value - item.RatedHead) <= _headTolerance : true) &&
+                   (InputModel.RatedN > 0 ? Math.Abs(InputModel.RatedN - item.RatedSpeed) <= _speedTolerance : true) &&
+                   (InputModel.RatedQ > 0 ? Math.Abs(InputModel.RatedQ - item.RatedFlow) <= _flowTolerance : true) &&
+                   (InputModel.RatedH > 0 ? Math.Abs(InputModel.RatedH - item.RatedHead) <= _headTolerance : true) &&
                    (Math.Abs(InputModel.RatedP - item.RatedPower) <= _powerTolerance)).ToList();
                 if (rangeMatch != null && rangeMatch.Count != 0)
                 {
@@ -401,7 +402,6 @@
                     }
                 }
             }
-
             var valve = dict.OrderBy(x => x.Value).LastOrDefault().Key;
             input.MatchingDbId = valve.ID.ToString();
             if (string.IsNullOrEmpty(input.ModelType))
@@ -424,6 +424,7 @@
             {
                 input.MatchingValveSetting = valve.ValveSetting;
             }
+            input.MatchingValveType = (Yw.WinFrmUI.eValveType)(int)valve.ValveType;
             if (input.CurveDbId == null)
             {
                 var list = Task.Run(async () =>
@@ -557,17 +558,14 @@
             {
                 input.MatchingModelType = pipe.Name;
             }
-            if (input.Roughness == 0)
-            {
-                input.MatchingRoughness = pipe.Hazen;
-            }
+
             if (string.IsNullOrEmpty(input.Material))
             {
                 input.MatchingMaterial = pipe.Material;
             }
             if (input.MinorLoss < 0)
             {
-                input.MatchingMinorLoss = pipe.MinorLoss;
+                input.MatchingMinorLoss = pipe.Hazen;
             }
 
             return true;
@@ -625,14 +623,14 @@
 
             //鍙e緞
             int caliberWeight = 1;
-            if (input.Caliber.HasValue)
+            if (input.Caliber > 0)
             {
                 foreach (var item in threelinkVmos)
                 {
                     if (item.Caliber.HasValue)
                     {
-                        var diff = Math.Abs(item.Caliber.Value - input.Caliber.Value);
-                        dict[item] += diff / input.Caliber.Value * 100 * caliberWeight;
+                        var diff = Math.Abs(item.Caliber.Value - input.Caliber);
+                        dict[item] += diff / input.Caliber * 100 * caliberWeight;
                     }
                 }
             }
@@ -679,19 +677,16 @@
             {
                 input.MatchingMaterial = threelink.Material;
             }
-            if (!input.Caliber.HasValue || input.Caliber.Value <= 0)
+            if (input.Caliber <= 0)
             {
-                input.Caliber = threelink.Caliber;
+                input.Caliber = threelink.Caliber ?? 0;
             }
-            if (!input.MinorLoss.HasValue)
-            {
-                input.MatchingMinorLoss = threelink.MinorLoss;
-            }
-            if (!input.RunningThroughLoss.HasValue)
+
+            if (input.RunningThroughLoss <= 0)
             {
                 input.MatchingRunningThroughLoss = threelink.RunThroughMinorLoss;
             }
-            if (!input.MatchingBranchThroughLoss.HasValue)
+            if (input.MatchingBranchThroughLoss <= 0)
             {
                 input.MatchingBranchThroughLoss = threelink.BranchThroughMinorLoss;
             }
@@ -751,14 +746,14 @@
 
             //鍙e緞
             int caliberWeight = 1;
-            if (input.Caliber.HasValue)
+            if (input.Caliber > 0)
             {
                 foreach (var item in fourLinkVmos)
                 {
                     if (item.Caliber.HasValue)
                     {
-                        var diff = Math.Abs(item.Caliber.Value - input.Caliber.Value);
-                        dict[item] += diff / input.Caliber.Value * 100 * caliberWeight;
+                        var diff = Math.Abs(item.Caliber.Value - input.Caliber);
+                        dict[item] += diff / input.Caliber * 100 * caliberWeight;
                     }
                 }
             }
@@ -805,11 +800,11 @@
             {
                 input.MatchingMaterial = fourlink.Material;
             }
-            if (!input.Caliber.HasValue || input.Caliber.Value <= 0)
+            if (input.Caliber <= 0)
             {
-                input.Caliber = fourlink.Caliber;
+                input.Caliber = fourlink.Caliber ?? 0;
             }
-            if (!input.MinorLoss.HasValue)
+            if (input.MinorLoss <= 0)
             {
                 input.MatchingMinorLoss = fourlink.MinorLoss;
             }
@@ -869,14 +864,14 @@
 
             //鍙e緞
             int caliberWeight = 1;
-            if (input.Caliber.HasValue)
+            if (input.Caliber > 0)
             {
                 foreach (var item in sprinklerVmos)
                 {
                     if (item.Caliber.HasValue)
                     {
-                        var diff = Math.Abs(item.Caliber.Value - input.Caliber.Value);
-                        dict[item] += diff / input.Caliber.Value * 100 * caliberWeight;
+                        var diff = Math.Abs(item.Caliber.Value - input.Caliber);
+                        dict[item] += diff / input.Caliber * 100 * caliberWeight;
                     }
                 }
             }
@@ -923,13 +918,13 @@
             {
                 input.MatchingMaterial = sprinkler.Material;
             }
-            if (!input.Caliber.HasValue || input.Caliber.Value <= 0)
+            if (input.Caliber <= 0)
             {
-                input.Caliber = sprinkler.Caliber;
+                input.Caliber = sprinkler.Caliber ?? 0;
             }
-            if (!input.MinorLoss.HasValue)
+            if (input.MinorLoss <= 0)
             {
-                input.MatchingMinorLoss = sprinkler.MinorLoss;
+                input.MatchingMinorLoss = sprinkler.FlowMinorLoss;
             }
 
             return true;
@@ -1265,14 +1260,14 @@
 
             //鍙e緞
             int caliberWeight = 1;
-            if (input.Caliber.HasValue)
+            if (input.Caliber > 0)
             {
                 foreach (var item in bluntheadVmos)
                 {
                     if (item.Caliber.HasValue)
                     {
-                        var diff = Math.Abs(item.Caliber.Value - input.Caliber.Value);
-                        dict[item] += diff / input.Caliber.Value * 100 * caliberWeight;
+                        var diff = Math.Abs(item.Caliber.Value - input.Caliber);
+                        dict[item] += diff / input.Caliber * 100 * caliberWeight;
                     }
                 }
             }
@@ -1319,9 +1314,9 @@
             {
                 input.MatchingMaterial = blunthead.Material;
             }
-            if (!input.Caliber.HasValue || input.Caliber.Value <= 0)
+            if (input.Caliber <= 0)
             {
-                input.Caliber = blunthead.Caliber;
+                input.Caliber = blunthead.Caliber ?? 0;
             }
             if (input.MinorLoss < 0)
             {
@@ -1643,14 +1638,14 @@
 
             //鍙e緞
             int caliberWeight = 1;
-            if (input.Caliber.HasValue)
+            if (input.Caliber > 0)
             {
                 foreach (var item in hydrantVmos)
                 {
                     if (item.Caliber.HasValue)
                     {
-                        var diff = Math.Abs(item.Caliber.Value - input.Caliber.Value);
-                        dict[item] += diff / input.Caliber.Value * 100 * caliberWeight;
+                        var diff = Math.Abs(item.Caliber.Value - input.Caliber);
+                        dict[item] += diff / input.Caliber * 100 * caliberWeight;
                     }
                 }
             }
@@ -1697,9 +1692,9 @@
             {
                 input.MatchingMaterial = hydrant.Material;
             }
-            if (!input.Caliber.HasValue || input.Caliber.Value <= 0)
+            if (input.Caliber <= 0)
             {
-                input.Caliber = hydrant.Caliber;
+                input.Caliber = hydrant.Caliber ?? 0;
             }
             if (input.MinorLoss < 0)
             {
@@ -1791,8 +1786,10 @@
             {
                 input.MatchingMaterial = elbow.Material;
             }
-            if (!input.Caliber.HasValue)
+            if (input.Caliber <= 0)
+            {
                 input.MatchingCaliber = elbow.Caliber;
+            }
             return true;
         }
 
@@ -1981,10 +1978,6 @@
             {
                 input.MatchingStartDiameter = translation.StartDiameter;
             }
-            if (input.Diameter < 0)
-            {
-                input.MatchingDiameter = translation.Diameter;
-            }
 
             return true;
         }
@@ -2041,14 +2034,14 @@
 
             //鍙e緞
             int caliberWeight = 1;
-            if (input.Caliber.HasValue)
+            if (input.Caliber > 0)
             {
                 foreach (var item in allCoolingList)
                 {
                     if (item.Caliber.HasValue)
                     {
-                        var diff = Math.Abs(item.Caliber.Value - input.Caliber.Value);
-                        dict[item] += diff / input.Caliber.Value * 100 * caliberWeight;
+                        var diff = Math.Abs(item.Caliber.Value - input.Caliber);
+                        dict[item] += diff / input.Caliber * 100 * caliberWeight;
                     }
                 }
             }
@@ -2095,9 +2088,9 @@
             {
                 input.MatchingMaterial = cooling.Material;
             }
-            if (!input.Caliber.HasValue || input.Caliber.Value <= 0)
+            if (input.Caliber <= 0)
             {
-                input.Caliber = cooling.Caliber;
+                input.Caliber = cooling.Caliber ?? 0;
             }
             if (input.Coefficient <= 1)
             {

--
Gitblit v1.9.3