From 8a8983dd2053b631c559b257b1501d740bedf4a5 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期五, 20 九月 2024 16:09:12 +0800
Subject: [PATCH] 优化匹配界面

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.cs |   76 ++++++-------------------------------
 1 files changed, 13 insertions(+), 63 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.cs
index 5e1b2dd..7b4628f 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.cs
@@ -1,6 +1,4 @@
-锘縰sing DevExpress.Dialogs.Core.View;
-
-namespace HStation.WinFrmUI
+锘縩amespace HStation.WinFrmUI
 {
     public partial class PumpMatchingCtrl : DevExpress.XtraEditors.XtraUserControl
     {
@@ -13,72 +11,24 @@
         }
 
         private List<PumpMatchingViewModel> _allBindingList = null;
-        private BLL.PumpMain _pumpMainBll = null;
 
-        public List<PumpMatchingViewModel> SetBindingData(List<PumpMatchingViewModel> pumpMatchingViewModel, out List<PumpMatchingViewModel> errorList)
+        public void SetBindingData(List<PumpMatchingViewModel> pumpMatchingViewModel)
         {
-            _pumpMainBll = new BLL.PumpMain();
-            errorList = null;
-            _allBindingList = new List<PumpMatchingViewModel>();
-            if (pumpMatchingViewModel == null)
-                return null;
-            var alllist = _pumpMainBll.GetAll().Result;
-            const double speedTolerance = 100;
-            const double flowTolerance = 10;
-            const double headTolerance = 5;
-            const double efficiencyTolerance = 0.05;
-            foreach (var viewModel in pumpMatchingViewModel)
-            {
-                foreach (var pumpMain in alllist)
-                {
-                    // 灏濊瘯缁濆鍖归厤
-                    var absoluteMatch = alllist.FirstOrDefault(item =>
-                        viewModel.RatedN == item.RatedSpeed &&
-                        viewModel.RatedQ == item.RatedFlow &&
-                        viewModel.RatedH == item.RatedHead &&
-                        viewModel.RatedP == item.RatedPower);
-                    if (absoluteMatch != null)
-                    {
-                    }
-                    else
-                    {
-                        // 灏濊瘯鍖洪棿鍖归厤
-                        var rangeMatch = alllist.Where(item =>
-                           (viewModel.RatedN.HasValue ? Math.Abs(viewModel.RatedN.Value - item.RatedSpeed) <= speedTolerance : true) &&
-                           (viewModel.RatedQ.HasValue ? Math.Abs(viewModel.RatedQ.Value - item.RatedFlow) <= flowTolerance : true) &&
-                           (viewModel.RatedH.HasValue ? Math.Abs(viewModel.RatedH.Value - item.RatedHead) <= headTolerance : true) &&
-                           (Math.Abs(viewModel.RatedP - item.RatedPower) <= efficiencyTolerance)).ToList();
-                        if (rangeMatch != null)
-                        {
-                            var vmo = new Vmo.PumpMainVmo();
-                            int firstCount = 0;
-                            foreach (var item in rangeMatch)
-                            {
-                                int commonCount = CountCommonCharacters(viewModel.ModelType, item.Name);
-                                if (commonCount > firstCount)
-                                {
-                                    vmo = item;
-                                    firstCount = commonCount;
-                                }
-                            }
-                        }
-                    }
-                }
-            }
+            _allBindingList = pumpMatchingViewModel;
             this.pumpMatchingViewModelBindingSource.DataSource = _allBindingList;
-            return new List<PumpMatchingViewModel>();
         }
 
-        private static int CountCommonCharacters(string baseString, string comparisonString)
+        public async Task<List<PumpMatchingViewModel>> SetMatching(List<PumpMatchingViewModel> pumpMatchingViewModel, List<PumpMainVmo> pumpMainVmos)
         {
-            // 灏嗗瓧绗︿覆杞崲涓哄瓧绗﹂泦鍚�
-            HashSet<char> baseChars = new HashSet<char>(baseString);
-            HashSet<char> comparisonChars = new HashSet<char>(comparisonString);
-
-            // 璁$畻涓や釜闆嗗悎鐨勪氦闆�
-            int commonCount = baseChars.Intersect(comparisonChars).Count();
-
-            return commonCount;
+            List<PumpMatchingViewModel> _allBindingList = new List<PumpMatchingViewModel>();
+            if (pumpMatchingViewModel == null)
+                return null;
+            foreach (var item in pumpMatchingViewModel)
+            {
+                var result = await AsstesAutoMatchingHelper.PumpMatching(item, pumpMainVmos);
+            }
+            this.pumpMatchingViewModelBindingSource.ResetBindings(false);
+            return _allBindingList;
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3