From 7d17fabc46e87ea0f0896f760034f4d16a4dfed0 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期五, 20 九月 2024 13:20:57 +0800
Subject: [PATCH] 提交修改

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ElbowsMatchingCtrl.Designer.cs   |   39 +-
 Service/HStation.Service.Assets.Core/01-entity/PipeLineRoughnessCoefficient/PipeLineManage.cs                                      |    8 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AdaptingViewModel.cs                                                      |    2 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AddAdaptingMainDlg.cs                                                     |    5 
 Service/HStation.Service.Assets.Core/02-model/PipeLineRoughnessCoefficient/PipeLineManage.cs                                       |    8 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.Designer.cs    |   58 ++--
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsMainChoicePage.cs                            |   14 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/FourLinkMatchingCtrl.Designer.cs |   42 --
 Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AddAdaptingManageInput.cs                                                           |    2 
 Vmo/HStation.Vmo.Assets.Core/03-AdaptingManage/AdaptingManage.cs                                                                   |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ThreeLinkMatchingCtrl.cs         |   10 
 Dto/HStation.Dto.Assets.Core/04-PipeLineManage/UpdatePipeLineManageInput.cs                                                        |    8 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PumpMatchingViewModel.cs              |   11 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.Designer.cs     |   49 +--
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/AsstesAutoMatchingHelper.cs      |  236 ++++++++++++++++
 Dto/HStation.Dto.Assets.Core/02-AdaptingManage/UpdateAdaptingManageInput.cs                                                        |    2 
 Service/HStation.Service.Assets.Core/00-core/eAlgorithmType.cs                                                                     |   12 
 Dto/HStation.Dto.Assets.Core/04-PipeLineManage/PipeLineManageDto.cs                                                                |    8 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.cs              |   63 ----
 Service/HStation.Service.Assets.Core/02-model/AdaptingManage/AdaptingManage.cs                                                     |    2 
 Dto/HStation.Dto.Assets.Core/04-PipeLineManage/AddPipeLineManageInput.cs                                                           |    8 
 Vmo/HStation.Vmo.Assets.Core/05-PipeLineManage/PipeLineManageVmo.cs                                                                |    8 
 Service/HStation.Service.Assets.Core/01-entity/AdaptingManage/AdaptingManage.cs                                                    |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.cs          |   22 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs                                    |   45 +++
 WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/EditAdaptingMainDlg.cs                                                    |    7 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/AddPipeLineMainDlg.cs                                                     |   16 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.Designer.cs |   19 -
 WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/EditPipeLineMainDlg.cs                                                    |   14 
 Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AdaptingManageDto.cs                                                                |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.cs             |    2 
 /dev/null                                                                                                                          |   96 ------
 WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/PipeLineViewModel.cs                                                      |    6 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsAutoMatchingMainDlg.cs                       |    4 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/AdaptingViewModel.cs                  |    2 
 35 files changed, 489 insertions(+), 345 deletions(-)

diff --git a/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AdaptingManageDto.cs b/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AdaptingManageDto.cs
index cef61b5..244d38c 100644
--- a/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AdaptingManageDto.cs
+++ b/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AdaptingManageDto.cs
@@ -45,7 +45,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AddAdaptingManageInput.cs b/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AddAdaptingManageInput.cs
index 6e68f10..8c75097 100644
--- a/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AddAdaptingManageInput.cs
+++ b/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/AddAdaptingManageInput.cs
@@ -27,7 +27,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/UpdateAdaptingManageInput.cs b/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/UpdateAdaptingManageInput.cs
index 1225e44..0503f95 100644
--- a/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/UpdateAdaptingManageInput.cs
+++ b/Dto/HStation.Dto.Assets.Core/02-AdaptingManage/UpdateAdaptingManageInput.cs
@@ -34,7 +34,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/AddPipeLineManageInput.cs b/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/AddPipeLineManageInput.cs
index a854abf..e6c1345 100644
--- a/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/AddPipeLineManageInput.cs
+++ b/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/AddPipeLineManageInput.cs
@@ -17,17 +17,17 @@
         /// <summary>
         ///Hazen
         /// </summary>
-        public string Hazen { get; set; }
+        public double Hazen { get; set; }
 
         /// <summary>
         ///Darcy
         /// </summary>
-        public string Darcy { get; set; }
+        public double? Darcy { get; set; }
 
         /// <summary>
         ///Manning
         /// </summary>
-        public string Manning { get; set; }
+        public double? Manning { get; set; }
 
         /// <summary>
         /// 鏉愭枡
@@ -37,7 +37,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/PipeLineManageDto.cs b/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/PipeLineManageDto.cs
index a7ac8a1..e67b8db 100644
--- a/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/PipeLineManageDto.cs
+++ b/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/PipeLineManageDto.cs
@@ -34,17 +34,17 @@
         /// <summary>
         ///Hazen
         /// </summary>
-        public string Hazen { get; set; }
+        public double Hazen { get; set; }
 
         /// <summary>
         ///Darcy
         /// </summary>
-        public string Darcy { get; set; }
+        public double? Darcy { get; set; }
 
         /// <summary>
         ///Manning
         /// </summary>
-        public string Manning { get; set; }
+        public double? Manning { get; set; }
 
         /// <summary>
         /// 鏉愭枡
@@ -54,7 +54,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/UpdatePipeLineManageInput.cs b/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/UpdatePipeLineManageInput.cs
index fb9f72d..be122ed 100644
--- a/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/UpdatePipeLineManageInput.cs
+++ b/Dto/HStation.Dto.Assets.Core/04-PipeLineManage/UpdatePipeLineManageInput.cs
@@ -23,17 +23,17 @@
         /// <summary>
         ///Hazen
         /// </summary>
-        public string Hazen { get; set; }
+        public double Hazen { get; set; }
 
         /// <summary>
         ///Darcy
         /// </summary>
-        public string Darcy { get; set; }
+        public double? Darcy { get; set; }
 
         /// <summary>
         ///Manning
         /// </summary>
-        public string Manning { get; set; }
+        public double? Manning { get; set; }
 
         /// <summary>
         /// 鏉愭枡
@@ -43,7 +43,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Service/HStation.Service.Assets.Core/00-core/eAlgorithmType.cs b/Service/HStation.Service.Assets.Core/00-core/eAlgorithmType.cs
index 6ef0e22..d5c3038 100644
--- a/Service/HStation.Service.Assets.Core/00-core/eAlgorithmType.cs
+++ b/Service/HStation.Service.Assets.Core/00-core/eAlgorithmType.cs
@@ -8,21 +8,21 @@
     public enum eAlgorithmType
     {
         /// <summary>
-        /// 鏃犻噺绾�
+        /// 娴锋.-濞佸粔濮嗘柉绯绘暟
         /// </summary>
-        [Display(Name = "鏃犻噺绾�")]
+        [Display(Name = "娴锋.-濞佸粔濮嗘柉绯绘暟")]
         Hazen = 0,
 
         /// <summary>
-        /// Darcy
+        /// 杈捐タ-榄忔柉宸磋但绮楃硻搴︾郴鏁�
         /// </summary>
-        [Display(Name = "Darcy")]
+        [Display(Name = "杈捐タ-榄忔柉宸磋但绮楃硻搴︾郴鏁�")]
         Darcy = 1,
 
         /// <summary>
-        /// Manning
+        /// 鏇煎畞绮楃硻绯绘暟
         /// </summary>
-        [Display(Name = "Manning")]
+        [Display(Name = "鏇煎畞绮楃硻绯绘暟")]
         Manning = 2
     }
 }
\ No newline at end of file
diff --git a/Service/HStation.Service.Assets.Core/01-entity/AdaptingManage/AdaptingManage.cs b/Service/HStation.Service.Assets.Core/01-entity/AdaptingManage/AdaptingManage.cs
index 575d184..2e70ee9 100644
--- a/Service/HStation.Service.Assets.Core/01-entity/AdaptingManage/AdaptingManage.cs
+++ b/Service/HStation.Service.Assets.Core/01-entity/AdaptingManage/AdaptingManage.cs
@@ -39,7 +39,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Service/HStation.Service.Assets.Core/01-entity/PipeLineRoughnessCoefficient/PipeLineManage.cs b/Service/HStation.Service.Assets.Core/01-entity/PipeLineRoughnessCoefficient/PipeLineManage.cs
index 86a19b1..b9bbc79 100644
--- a/Service/HStation.Service.Assets.Core/01-entity/PipeLineRoughnessCoefficient/PipeLineManage.cs
+++ b/Service/HStation.Service.Assets.Core/01-entity/PipeLineRoughnessCoefficient/PipeLineManage.cs
@@ -33,22 +33,22 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         ///Hazen
         /// </summary>
-        public string Hazen { get; set; }
+        public double Hazen { get; set; }
 
         /// <summary>
         ///Darcy
         /// </summary>
-        public string Darcy { get; set; }
+        public double? Darcy { get; set; }
 
         /// <summary>
         ///Manning
         /// </summary>
-        public string Manning { get; set; }
+        public double? Manning { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Service/HStation.Service.Assets.Core/02-model/AdaptingManage/AdaptingManage.cs b/Service/HStation.Service.Assets.Core/02-model/AdaptingManage/AdaptingManage.cs
index 1bd6991..fc4000e 100644
--- a/Service/HStation.Service.Assets.Core/02-model/AdaptingManage/AdaptingManage.cs
+++ b/Service/HStation.Service.Assets.Core/02-model/AdaptingManage/AdaptingManage.cs
@@ -60,7 +60,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Service/HStation.Service.Assets.Core/02-model/PipeLineRoughnessCoefficient/PipeLineManage.cs b/Service/HStation.Service.Assets.Core/02-model/PipeLineRoughnessCoefficient/PipeLineManage.cs
index 9642f60..b92fb1e 100644
--- a/Service/HStation.Service.Assets.Core/02-model/PipeLineRoughnessCoefficient/PipeLineManage.cs
+++ b/Service/HStation.Service.Assets.Core/02-model/PipeLineRoughnessCoefficient/PipeLineManage.cs
@@ -61,22 +61,22 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         ///Hazen
         /// </summary>
-        public string Hazen { get; set; }
+        public double Hazen { get; set; }
 
         /// <summary>
         ///Darcy
         /// </summary>
-        public string Darcy { get; set; }
+        public double? Darcy { get; set; }
 
         /// <summary>
         ///Manning
         /// </summary>
-        public string Manning { get; set; }
+        public double? Manning { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Vmo/HStation.Vmo.Assets.Core/03-AdaptingManage/AdaptingManage.cs b/Vmo/HStation.Vmo.Assets.Core/03-AdaptingManage/AdaptingManage.cs
index 9bfb5c9..00c088f 100644
--- a/Vmo/HStation.Vmo.Assets.Core/03-AdaptingManage/AdaptingManage.cs
+++ b/Vmo/HStation.Vmo.Assets.Core/03-AdaptingManage/AdaptingManage.cs
@@ -30,7 +30,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/Vmo/HStation.Vmo.Assets.Core/05-PipeLineManage/PipeLineManageVmo.cs b/Vmo/HStation.Vmo.Assets.Core/05-PipeLineManage/PipeLineManageVmo.cs
index 723808e..0f08a5c 100644
--- a/Vmo/HStation.Vmo.Assets.Core/05-PipeLineManage/PipeLineManageVmo.cs
+++ b/Vmo/HStation.Vmo.Assets.Core/05-PipeLineManage/PipeLineManageVmo.cs
@@ -17,17 +17,17 @@
         /// <summary>
         ///Hazen
         /// </summary>
-        public string Hazen { get; set; }
+        public double Hazen { get; set; }
 
         /// <summary>
         ///Darcy
         /// </summary>
-        public string Darcy { get; set; }
+        public double? Darcy { get; set; }
 
         /// <summary>
         ///Manning
         /// </summary>
-        public string Manning { get; set; }
+        public double? Manning { get; set; }
 
         /// <summary>
         /// 鏉愭枡
@@ -37,7 +37,7 @@
         /// <summary>
         /// 绯绘暟
         /// </summary>
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AdaptingViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AdaptingViewModel.cs
index a5af1ac..5c467d8 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AdaptingViewModel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AdaptingViewModel.cs
@@ -70,7 +70,7 @@
         /// </summary>
         [DisplayName("鎹熷け绯绘暟")]
         [Browsable(true)]
-        public string Coefficient { get; set; }
+        public double? Coefficient { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AddAdaptingMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AddAdaptingMainDlg.cs
index 6e74e10..de598a8 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AddAdaptingMainDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/AddAdaptingMainDlg.cs
@@ -58,7 +58,10 @@
             if (!(Valid()))
                 return;
             _AdaptingVmo.Material = TextEditMaterial.Text.Trim();
-            _AdaptingVmo.Coefficient = TextEditCoefficient.Text.Trim();
+            if (double.TryParse(TextEditAdaptingType.Text.Trim(), out double coeffcient))
+            {
+                _AdaptingVmo.Coefficient = coeffcient;
+            }
             _AdaptingVmo.Description = DescriptionTextEdit.Text.Trim();
             _AdaptingVmo.Name = TextEditName.Text.Trim();
             _AdaptingVmo.Caliber = TextEditCaliber.Text.Trim();
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/EditAdaptingMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/EditAdaptingMainDlg.cs
index e47b74e..c7e5963 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/EditAdaptingMainDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/02-AdaptingManage/EditAdaptingMainDlg.cs
@@ -16,7 +16,7 @@
             _AdaptingVmo = adaptingManageVmo;
             this.TextEditName.Text = _AdaptingVmo.Name;
             this.TextEditCaliber.Text = _AdaptingVmo.Caliber;
-            this.TextEditCoefficient.Text = _AdaptingVmo.Coefficient;
+            this.TextEditCoefficient.Text = _AdaptingVmo.Coefficient.ToString();
             this.TextEditMaterial.Text = _AdaptingVmo.Material;
             this.TextEditDescription.Text = _AdaptingVmo.Description;
             var allCaliber = await new Yw.BLL.SysDictData().GetByTypeCode("1");
@@ -64,7 +64,10 @@
             if (!(Valid()))
                 return;
             _AdaptingVmo.Material = TextEditMaterial.Text.Trim();
-            _AdaptingVmo.Coefficient = TextEditCoefficient.Text.Trim();
+            if (double.TryParse(TextEditCoefficient.Text.Trim(), out double coeffcient))
+            {
+                _AdaptingVmo.Coefficient = coeffcient;
+            }
             _AdaptingVmo.Description = TextEditDescription.Text.Trim();
             _AdaptingVmo.Name = TextEditName.Text.Trim();
             _AdaptingVmo.Caliber = TextEditCaliber.Text.Trim();
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/AddPipeLineMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/AddPipeLineMainDlg.cs
index 0ad5a83..0ce8fa2 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/AddPipeLineMainDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/AddPipeLineMainDlg.cs
@@ -61,13 +61,21 @@
             if (!(Valid()))
                 return;
             _PipeLineVmo.Material = TextEditMaterial.Text.Trim();
-            _PipeLineVmo.Coefficient = TextEditHazenValue.Text.Trim();
+            if (double.TryParse(TextEditHazenValue.Text, out double hazen))
+            {
+                _PipeLineVmo.Hazen = hazen;
+            }
             _PipeLineVmo.Description = DescriptionTextEdit.Text.Trim();
             _PipeLineVmo.Name = TextEditName.Text.Trim();
             _PipeLineVmo.Caliber = TextEditCaliber.Text.Trim();
-            _PipeLineVmo.Hazen = TextEditHazenValue.Text;
-            _PipeLineVmo.Darcy = TextEditDarcyValue.Text;
-            _PipeLineVmo.Manning = TextEditManningValue.Text;
+            if (double.TryParse(TextEditDarcyValue.Text, out double darcy))
+            {
+                _PipeLineVmo.Darcy = darcy;
+            }
+            if (double.TryParse(TextEditManningValue.Text, out double manning))
+            {
+                _PipeLineVmo.Manning = manning;
+            }
             if (await this.ReloadDataEvent.Invoke(_PipeLineVmo))
             {
                 TipFormHelper.ShowSucceed("娣诲姞鎴愬姛!");
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/EditPipeLineMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/EditPipeLineMainDlg.cs
index 59d12c6..fc1a7b7 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/EditPipeLineMainDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/EditPipeLineMainDlg.cs
@@ -63,7 +63,19 @@
             if (!(Valid()))
                 return;
             _PipeLineVmo.Material = TextEditMaterial.Text.Trim();
-            _PipeLineVmo.Coefficient = TextEditHazenStatrtValue.Text.Trim();
+            if (double.TryParse(TextEditHazenStatrtValue.Text, out double hazen))
+            {
+                _PipeLineVmo.Hazen = hazen;
+            }
+            if (double.TryParse(TextEditDarcyStartValue.Text, out double darcy))
+            {
+                _PipeLineVmo.Darcy = darcy;
+            }
+            if (double.TryParse(TextEditManningStartValue.Text, out double manning))
+            {
+                _PipeLineVmo.Manning = manning;
+            }
+
             _PipeLineVmo.Description = DescriptionTextEdit.Text.Trim();
             _PipeLineVmo.Name = TextEditName.Text.Trim();
             _PipeLineVmo.Caliber = TextEditCaliber.Text.Trim();
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/PipeLineViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/PipeLineViewModel.cs
index 30903c1..e4f7a7c 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/PipeLineViewModel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/PipeLineViewModel.cs
@@ -65,21 +65,21 @@
         /// </summary>
         [DisplayName("Hazen")]
         [Browsable(true)]
-        public string Hazen { get; set; }
+        public double Hazen { get; set; }
 
         /// <summary>
         /// Darcy
         /// </summary>
         [DisplayName("Darcy")]
         [Browsable(true)]
-        public string Darcy { get; set; }
+        public double? Darcy { get; set; }
 
         /// <summary>
         /// Manning
         /// </summary>
         [DisplayName("Manning")]
         [Browsable(true)]
-        public string Manning { get; set; }
+        public double? Manning { get; set; }
 
         /// <summary>
         /// 鎺掑簭鐮�
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/AdaptingViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/AdaptingViewModel.cs
index 29c2ee2..3395cef 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/AdaptingViewModel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/AdaptingViewModel.cs
@@ -78,7 +78,7 @@
         /// </summary>
         [DisplayName("鎹熷け绯绘暟")]
         [Browsable(true)]
-        public string LossCoefficient { get; set; }
+        public double? MinorLoss { get; set; }
 
         /// <summary>
         /// 鏄惁鍖归厤鎴愬姛
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PumpMatchingViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PumpMatchingViewModel.cs
index b09ea4a..cb9c640 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PumpMatchingViewModel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PumpMatchingViewModel.cs
@@ -14,6 +14,13 @@
         public string Name { get; set; }
 
         /// <summary>
+        /// 缂栫爜
+        /// </summary>
+        [DisplayName("缂栫爜")]
+        [Browsable(true)]
+        public string Code { get; set; }
+
+        /// <summary>
         /// 鍨嬪彿鍚�
         /// </summary>
         [DisplayName("鍨嬪彿鍚�")]
@@ -55,9 +62,9 @@
         [Browsable(true)]
         public bool DbLocked { get; set; }
 
-        [DisplayName("DbID")]
+        [DisplayName("鍖归厤鍓岲bID")]
         [Browsable(false)]
-        public long DbID { get; set; }
+        public string DbID { get; set; }
 
         [DisplayName("ChartDbID")]
         [Browsable(false)]
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/AdaptingAutoMatchingHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/AdaptingAutoMatchingHelper.cs
deleted file mode 100644
index af6ea3c..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/AdaptingAutoMatchingHelper.cs
+++ /dev/null
@@ -1,96 +0,0 @@
-锘縰sing Castle.Core.Internal;
-using DevExpress.Dialogs.Core.View;
-using DevExpress.XtraSpreadsheet.Commands;
-
-namespace HStation.WinFrmUI
-{
-    public class AdaptingAutoMatchingHelper
-    {
-        public static T AutoMatching<T>(T input, List<Vmo.AdaptingManageVmo> adaptingManageVmos) where T : AdaptingViewModel
-        {
-            Vmo.AdaptingManageVmo vmo = null;
-            int firstCount = 0;
-            const double speedTolerance = 10.0;
-            // 缁濆鍖归厤
-            var absoluteMatch = adaptingManageVmos.Where(i =>
-                i.Caliber == input.Caliber &&
-                i.Material == input.Material).ToList();
-
-            if (absoluteMatch.Any())
-            {
-                foreach (var range in absoluteMatch)
-                {
-                    int commonCount = CountCommonCharacters(input.ModelType, range.Name);
-                    if (commonCount > firstCount)
-                    {
-                        vmo = range;
-                        firstCount = commonCount;
-                    }
-                }
-            }
-            else
-            {
-                double inputCaliber;
-                if (!double.TryParse(input.Caliber, out inputCaliber))
-                {
-                    return null;
-                }
-
-                //鍖洪棿鍖归厤
-                var rangeMatch = adaptingManageVmos.Where(item =>
-                {
-                    double itemCaliber;
-                    if (double.TryParse(item.Caliber, out itemCaliber))
-                    {
-                        return Math.Abs(itemCaliber - inputCaliber) <= speedTolerance;
-                    }
-                    return false;
-                })
-             .ToList();
-                if (rangeMatch != null)
-                {
-                    foreach (var range in rangeMatch)
-                    {
-                        //浠ユ潗鏂欎负鏉′欢寮�濮嬪尮閰�
-                        int commonCount = CountCommonCharacters(input.Material, range.Material);
-                        if (commonCount > firstCount)
-                        {
-                            vmo = range;
-                            firstCount = commonCount;
-                        }
-                    }
-                }
-            }
-            //鍙e緞鍜屾潗鏂欓兘娌℃湁鍖归厤涓�,灏辩敤鍨嬪彿鍚嶅尮閰�
-            if (vmo == null)
-            {
-                foreach (var item in adaptingManageVmos)
-                {
-                    int commonCount = CountCommonCharacters(input.ModelType, item.Name);
-                    if (commonCount > firstCount)
-                    {
-                        vmo = item;
-                        firstCount = commonCount;
-                    }
-                }
-            }
-            if (vmo != null)
-            {
-                input.LossCoefficient = vmo.Coefficient;
-                return input;
-            }
-            return null;
-        }
-
-        //杩斿洖涓や釜瀛楃涓蹭箣闂寸浉鍚岀殑瀛楃
-        private static int CountCommonCharacters(string baseString, string comparisonString)
-        {
-            // 灏嗗瓧绗︿覆杞崲涓哄瓧绗﹂泦鍚�
-            HashSet<char> baseChars = new HashSet<char>(baseString);
-            HashSet<char> comparisonChars = new HashSet<char>(comparisonString);
-            // 璁$畻涓や釜闆嗗悎鐨勪氦闆�
-            int commonCount = baseChars.Intersect(comparisonChars).Count();
-            return commonCount;
-        }
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/AsstesAutoMatchingHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/AsstesAutoMatchingHelper.cs
new file mode 100644
index 0000000..029e2f7
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/AsstesAutoMatchingHelper.cs
@@ -0,0 +1,236 @@
+锘縩amespace HStation.WinFrmUI
+{
+    public class AsstesAutoMatchingHelper
+    {
+        public static T AutoMatching<T>(T input, List<Vmo.AdaptingManageVmo> adaptingManageVmos) where T : AdaptingViewModel
+        {
+            Vmo.AdaptingManageVmo vmo = null;
+            int firstCount = 0;
+            //鍙e緞鏈�灏忓樊鍊�
+            const double caliberTolerance = 10.0;
+            // 缁濆鍖归厤
+            var absoluteMatch = adaptingManageVmos.Where(i =>
+              ((input.Caliber == null && i.Caliber == "榛樿") || i.Caliber == input.Caliber) &&
+               ((input.Material == null && i.Material == "榛樿") || i.Material == input.Material)).ToList();
+            if (absoluteMatch.Any())
+            {
+                foreach (var range in absoluteMatch)
+                {
+                    int commonCount = CountCommonCharacters(input.ModelType, range.Name);
+                    if (commonCount > firstCount)
+                    {
+                        vmo = range;
+                        firstCount = commonCount;
+                    }
+                }
+            }
+            else
+            {
+                double inputCaliber;
+                if (!double.TryParse(input.Caliber, out inputCaliber))
+                {
+                    return null;
+                }
+
+                //鍖洪棿鍖归厤
+                var rangeMatch = adaptingManageVmos.Where(item =>
+                {
+                    double itemCaliber;
+                    if (double.TryParse(item.Caliber, out itemCaliber))
+                    {
+                        return Math.Abs(itemCaliber - inputCaliber) <= caliberTolerance;
+                    }
+                    return false;
+                })
+             .ToList();
+                if (rangeMatch != null)
+                {
+                    foreach (var range in rangeMatch)
+                    {
+                        //浠ユ潗鏂欎负鏉′欢寮�濮嬪尮閰�
+                        int commonCount = CountCommonCharacters(input.Material, range.Material);
+                        if (commonCount > firstCount)
+                        {
+                            vmo = range;
+                            firstCount = commonCount;
+                        }
+                    }
+                }
+            }
+            //鍙e緞鍜屾潗鏂欓兘娌℃湁鍖归厤涓�,灏辩敤鍨嬪彿鍚嶅尮閰�
+            if (vmo == null)
+            {
+                foreach (var item in adaptingManageVmos)
+                {
+                    int commonCount = CountCommonCharacters(input.ModelType, item.Name);
+                    if (commonCount > firstCount)
+                    {
+                        vmo = item;
+                        firstCount = commonCount;
+                    }
+                }
+            }
+            if (vmo != null)
+            {
+                input.MinorLoss = vmo.Coefficient;
+                return input;
+            }
+            return null;
+        }
+
+        //娉靛尮閰�
+        public static PumpMatchingViewModel PumpMatching(PumpMatchingViewModel viewModel, List<Vmo.PumpMainVmo> pumpMainVmos)
+        {
+            const double speedTolerance = 100;
+            const double flowTolerance = 10;
+            const double headTolerance = 5;
+            const double powerTolerance = 0.05;
+            Vmo.PumpMainVmo vmo = null;
+            int firstCount = 0;
+            // 灏濊瘯缁濆鍖归厤
+            var absoluteMatch = pumpMainVmos.Where(item =>
+            (viewModel.RatedN == null || viewModel.RatedN == item.RatedSpeed) &&
+            (viewModel.RatedQ == null || viewModel.RatedQ == item.RatedFlow) &&
+            (viewModel.RatedH == null || viewModel.RatedH == item.RatedHead) &&
+            (viewModel.RatedP == item.RatedPower)).ToList();
+            if (absoluteMatch != null && absoluteMatch.Count != 0)
+            {
+                foreach (var item in absoluteMatch)
+                {
+                    int commonCount = CountCommonCharacters(viewModel.ModelType, item.Name);
+                    if (commonCount > firstCount)
+                    {
+                        vmo = item;
+                        firstCount = commonCount;
+                    }
+                }
+            }
+            else
+            {
+                // 灏濊瘯鍖洪棿鍖归厤
+                var rangeMatch = pumpMainVmos.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) <= powerTolerance)).ToList();
+                if (rangeMatch != null && rangeMatch.Count != 0)
+                {
+                    foreach (var item in rangeMatch)
+                    {
+                        int commonCount = CountCommonCharacters(viewModel.ModelType, item.Name);
+                        if (commonCount > firstCount)
+                        {
+                            vmo = item;
+                            firstCount = commonCount;
+                        }
+                    }
+                }
+            }
+            return new PumpMatchingViewModel();
+        }
+
+        //绠¢亾鍖归厤
+        public static PipeLineMatchingViewModel AutoMatching(PipeLineMatchingViewModel input, List<Vmo.PipeLineManageVmo> adaptingManageVmos)
+        {
+            Vmo.PipeLineManageVmo vmo = null;
+            int StartCount = 0;
+            //鍙e緞鏈�灏忓樊鍊�
+            const double caliberTolerance = 10.0;
+            // 缁濆鍖归厤
+            var absoluteMatch = adaptingManageVmos.Where(i =>
+              ((input.Caliber == null && i.Caliber == "榛樿") || i.Caliber == input.Caliber) &&
+               ((input.Material == null && i.Material == "榛樿") || i.Material == input.Material)).ToList();
+            if (absoluteMatch.Any())
+            {
+                foreach (var range in absoluteMatch)
+                {
+                    int commonCount = CountCommonCharacters(input.ModelType, range.Name);
+                    if (commonCount > StartCount)
+                    {
+                        vmo = range;
+                        StartCount = commonCount;
+                    }
+                }
+            }
+            else
+            {
+                double inputCaliber;
+                if (!double.TryParse(input.Caliber, out inputCaliber))
+                {
+                    return null;
+                }
+
+                //鍖洪棿鍖归厤
+                var rangeMatch = adaptingManageVmos.Where(item =>
+                {
+                    double itemCaliber;
+                    if (double.TryParse(item.Caliber, out itemCaliber))
+                    {
+                        return Math.Abs(itemCaliber - inputCaliber) <= caliberTolerance;
+                    }
+                    return false;
+                })
+             .ToList();
+                if (rangeMatch != null)
+                {
+                    foreach (var range in rangeMatch)
+                    {
+                        //浠ユ潗鏂欎负鏉′欢寮�濮嬪尮閰�
+                        int commonCount = CountCommonCharacters(input.Material, range.Material);
+                        if (commonCount > StartCount)
+                        {
+                            vmo = range;
+                            StartCount = commonCount;
+                        }
+                    }
+                }
+            }
+            //鍙e緞鍜屾潗鏂欓兘娌℃湁鍖归厤涓�,灏辩敤鍨嬪彿鍚嶅尮閰�
+            if (vmo == null)
+            {
+                foreach (var item in adaptingManageVmos)
+                {
+                    int commonCount = CountCommonCharacters(input.ModelType, item.Name);
+                    if (commonCount > StartCount)
+                    {
+                        vmo = item;
+                        StartCount = commonCount;
+                    }
+                }
+            }
+            if (vmo != null)
+            {
+                switch (input.eAlgorithmType)
+                {
+                    case HStation.Assets.eAlgorithmType.Hazen:
+                        input.MinorLoss = vmo.Hazen;
+                        return input;
+
+                    case HStation.Assets.eAlgorithmType.Manning:
+                        input.MinorLoss = vmo.Manning;
+                        return input;
+
+                    case HStation.Assets.eAlgorithmType.Darcy:
+                        input.MinorLoss = vmo.Darcy;
+                        return input;
+
+                    default:
+                        input.MinorLoss = vmo.Hazen;
+                        return input;
+                }
+            }
+            return null;
+        }
+
+        //杩斿洖涓や釜瀛楃涓蹭箣闂寸浉鍚岀殑瀛楃
+        private static int CountCommonCharacters(string baseString, string comparisonString)
+        {
+            // 灏嗗瓧绗︿覆杞崲涓哄瓧绗﹂泦鍚�
+            HashSet<char> baseChars = new HashSet<char>(baseString);
+            HashSet<char> comparisonChars = new HashSet<char>(comparisonString);
+            // 璁$畻涓や釜闆嗗悎鐨勪氦闆�
+            int commonCount = baseChars.Intersect(comparisonChars).Count();
+            return commonCount;
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ElbowsMatchingCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ElbowsMatchingCtrl.Designer.cs
index 238a92f..a5ad396 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ElbowsMatchingCtrl.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ElbowsMatchingCtrl.Designer.cs
@@ -30,18 +30,17 @@
         {
             components = new Container();
             gridControl1 = new DevExpress.XtraGrid.GridControl();
-            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             elbowsMatchingViewModelBindingSource = new BindingSource(components);
+            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             colName = new DevExpress.XtraGrid.Columns.GridColumn();
-            colDbid = new DevExpress.XtraGrid.Columns.GridColumn();
             colCode = new DevExpress.XtraGrid.Columns.GridColumn();
             colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
             colMaterial = new DevExpress.XtraGrid.Columns.GridColumn();
             colCaliber = new DevExpress.XtraGrid.Columns.GridColumn();
             colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
             ((ISupportInitialize)gridControl1).BeginInit();
-            ((ISupportInitialize)gridView1).BeginInit();
             ((ISupportInitialize)elbowsMatchingViewModelBindingSource).BeginInit();
+            ((ISupportInitialize)gridView1).BeginInit();
             SuspendLayout();
             // 
             // gridControl1
@@ -55,16 +54,16 @@
             gridControl1.TabIndex = 0;
             gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
             // 
-            // gridView1
-            // 
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colDbid, colCode, colModelType, colMaterial, colCaliber, colDbLocked });
-            gridView1.GridControl = gridControl1;
-            gridView1.Name = "gridView1";
-            gridView1.OptionsView.ShowGroupPanel = false;
-            // 
             // elbowsMatchingViewModelBindingSource
             // 
             elbowsMatchingViewModelBindingSource.DataSource = typeof(ElbowsMatchingViewModel);
+            // 
+            // gridView1
+            // 
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colCode, colModelType, colMaterial, colCaliber, colDbLocked });
+            gridView1.GridControl = gridControl1;
+            gridView1.Name = "gridView1";
+            gridView1.OptionsView.ShowGroupPanel = false;
             // 
             // colName
             // 
@@ -73,47 +72,40 @@
             colName.Visible = true;
             colName.VisibleIndex = 0;
             // 
-            // colDbid
-            // 
-            colDbid.FieldName = "Dbid";
-            colDbid.Name = "colDbid";
-            colDbid.Visible = true;
-            colDbid.VisibleIndex = 1;
-            // 
             // colCode
             // 
             colCode.FieldName = "Code";
             colCode.Name = "colCode";
             colCode.Visible = true;
-            colCode.VisibleIndex = 2;
+            colCode.VisibleIndex = 1;
             // 
             // colModelType
             // 
             colModelType.FieldName = "ModelType";
             colModelType.Name = "colModelType";
             colModelType.Visible = true;
-            colModelType.VisibleIndex = 3;
+            colModelType.VisibleIndex = 2;
             // 
             // colMaterial
             // 
             colMaterial.FieldName = "Material";
             colMaterial.Name = "colMaterial";
             colMaterial.Visible = true;
-            colMaterial.VisibleIndex = 4;
+            colMaterial.VisibleIndex = 3;
             // 
             // colCaliber
             // 
             colCaliber.FieldName = "Caliber";
             colCaliber.Name = "colCaliber";
             colCaliber.Visible = true;
-            colCaliber.VisibleIndex = 5;
+            colCaliber.VisibleIndex = 4;
             // 
             // colDbLocked
             // 
             colDbLocked.FieldName = "DbLocked";
             colDbLocked.Name = "colDbLocked";
             colDbLocked.Visible = true;
-            colDbLocked.VisibleIndex = 6;
+            colDbLocked.VisibleIndex = 5;
             // 
             // ElbowsMatchingCtrl
             // 
@@ -123,8 +115,8 @@
             Name = "ElbowsMatchingCtrl";
             Size = new Size(1035, 503);
             ((ISupportInitialize)gridControl1).EndInit();
-            ((ISupportInitialize)gridView1).EndInit();
             ((ISupportInitialize)elbowsMatchingViewModelBindingSource).EndInit();
+            ((ISupportInitialize)gridView1).EndInit();
             ResumeLayout(false);
         }
 
@@ -134,7 +126,6 @@
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private BindingSource elbowsMatchingViewModelBindingSource;
         private DevExpress.XtraGrid.Columns.GridColumn colName;
-        private DevExpress.XtraGrid.Columns.GridColumn colDbid;
         private DevExpress.XtraGrid.Columns.GridColumn colCode;
         private DevExpress.XtraGrid.Columns.GridColumn colModelType;
         private DevExpress.XtraGrid.Columns.GridColumn colMaterial;
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/FourLinkMatchingCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/FourLinkMatchingCtrl.Designer.cs
index d4a767b..5cfa1a2 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/FourLinkMatchingCtrl.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/FourLinkMatchingCtrl.Designer.cs
@@ -30,18 +30,16 @@
         {
             components = new Container();
             gridControl1 = new DevExpress.XtraGrid.GridControl();
+            fourLinkMatchingViewModelBindingSource = new BindingSource(components);
             gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             colName = new DevExpress.XtraGrid.Columns.GridColumn();
-            colDbid = new DevExpress.XtraGrid.Columns.GridColumn();
             colCode = new DevExpress.XtraGrid.Columns.GridColumn();
-            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
             colMaterial = new DevExpress.XtraGrid.Columns.GridColumn();
             colCaliber = new DevExpress.XtraGrid.Columns.GridColumn();
             colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
-            fourLinkMatchingViewModelBindingSource = new BindingSource(components);
             ((ISupportInitialize)gridControl1).BeginInit();
-            ((ISupportInitialize)gridView1).BeginInit();
             ((ISupportInitialize)fourLinkMatchingViewModelBindingSource).BeginInit();
+            ((ISupportInitialize)gridView1).BeginInit();
             SuspendLayout();
             // 
             // gridControl1
@@ -55,9 +53,13 @@
             gridControl1.TabIndex = 0;
             gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
             // 
+            // fourLinkMatchingViewModelBindingSource
+            // 
+            fourLinkMatchingViewModelBindingSource.DataSource = typeof(FourLinkMatchingViewModel);
+            // 
             // gridView1
             // 
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colDbid, colCode, colModelType, colMaterial, colCaliber, colDbLocked });
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colCode, colMaterial, colCaliber, colDbLocked });
             gridView1.GridControl = gridControl1;
             gridView1.Name = "gridView1";
             gridView1.OptionsView.ShowGroupPanel = false;
@@ -69,51 +71,33 @@
             colName.Visible = true;
             colName.VisibleIndex = 0;
             // 
-            // colDbid
-            // 
-            colDbid.FieldName = "Dbid";
-            colDbid.Name = "colDbid";
-            colDbid.Visible = true;
-            colDbid.VisibleIndex = 1;
-            // 
             // colCode
             // 
             colCode.FieldName = "Code";
             colCode.Name = "colCode";
             colCode.Visible = true;
-            colCode.VisibleIndex = 2;
-            // 
-            // colModelType
-            // 
-            colModelType.FieldName = "ModelType";
-            colModelType.Name = "colModelType";
-            colModelType.Visible = true;
-            colModelType.VisibleIndex = 3;
+            colCode.VisibleIndex = 1;
             // 
             // colMaterial
             // 
             colMaterial.FieldName = "Material";
             colMaterial.Name = "colMaterial";
             colMaterial.Visible = true;
-            colMaterial.VisibleIndex = 4;
+            colMaterial.VisibleIndex = 2;
             // 
             // colCaliber
             // 
             colCaliber.FieldName = "Caliber";
             colCaliber.Name = "colCaliber";
             colCaliber.Visible = true;
-            colCaliber.VisibleIndex = 5;
+            colCaliber.VisibleIndex = 3;
             // 
             // colDbLocked
             // 
             colDbLocked.FieldName = "DbLocked";
             colDbLocked.Name = "colDbLocked";
             colDbLocked.Visible = true;
-            colDbLocked.VisibleIndex = 6;
-            // 
-            // fourLinkMatchingViewModelBindingSource
-            // 
-            fourLinkMatchingViewModelBindingSource.DataSource = typeof(FourLinkMatchingViewModel);
+            colDbLocked.VisibleIndex = 4;
             // 
             // FourLinkMatchingCtrl
             // 
@@ -123,8 +107,8 @@
             Name = "FourLinkMatchingCtrl";
             Size = new Size(1035, 503);
             ((ISupportInitialize)gridControl1).EndInit();
-            ((ISupportInitialize)gridView1).EndInit();
             ((ISupportInitialize)fourLinkMatchingViewModelBindingSource).EndInit();
+            ((ISupportInitialize)gridView1).EndInit();
             ResumeLayout(false);
         }
 
@@ -133,9 +117,7 @@
         private DevExpress.XtraGrid.GridControl gridControl1;
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private DevExpress.XtraGrid.Columns.GridColumn colName;
-        private DevExpress.XtraGrid.Columns.GridColumn colDbid;
         private DevExpress.XtraGrid.Columns.GridColumn colCode;
-        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
         private DevExpress.XtraGrid.Columns.GridColumn colMaterial;
         private DevExpress.XtraGrid.Columns.GridColumn colCaliber;
         private DevExpress.XtraGrid.Columns.GridColumn colDbLocked;
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.Designer.cs
index cb1be8b..1f05404 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.Designer.cs
@@ -34,7 +34,6 @@
             gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             colName = new DevExpress.XtraGrid.Columns.GridColumn();
             colCode = new DevExpress.XtraGrid.Columns.GridColumn();
-            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
             colMaterial = new DevExpress.XtraGrid.Columns.GridColumn();
             colCaliber = new DevExpress.XtraGrid.Columns.GridColumn();
             colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -61,7 +60,7 @@
             // 
             // gridView1
             // 
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colCode, colModelType, colMaterial, colCaliber, colDbLocked, colMatchingType });
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colCode, colMaterial, colCaliber, colDbLocked, colMatchingType });
             gridView1.GridControl = gridControl1;
             gridView1.Name = "gridView1";
             gridView1.OptionsView.ShowGroupPanel = false;
@@ -80,40 +79,33 @@
             colCode.Visible = true;
             colCode.VisibleIndex = 1;
             // 
-            // colModelType
-            // 
-            colModelType.FieldName = "ModelType";
-            colModelType.Name = "colModelType";
-            colModelType.Visible = true;
-            colModelType.VisibleIndex = 2;
-            // 
             // colMaterial
             // 
             colMaterial.FieldName = "Material";
             colMaterial.Name = "colMaterial";
             colMaterial.Visible = true;
-            colMaterial.VisibleIndex = 3;
+            colMaterial.VisibleIndex = 2;
             // 
             // colCaliber
             // 
             colCaliber.FieldName = "Caliber";
             colCaliber.Name = "colCaliber";
             colCaliber.Visible = true;
-            colCaliber.VisibleIndex = 4;
+            colCaliber.VisibleIndex = 3;
             // 
             // colDbLocked
             // 
             colDbLocked.FieldName = "DbLocked";
             colDbLocked.Name = "colDbLocked";
             colDbLocked.Visible = true;
-            colDbLocked.VisibleIndex = 5;
+            colDbLocked.VisibleIndex = 4;
             // 
             // colMatchingType
             // 
             colMatchingType.FieldName = "MatchingType";
             colMatchingType.Name = "colMatchingType";
             colMatchingType.Visible = true;
-            colMatchingType.VisibleIndex = 6;
+            colMatchingType.VisibleIndex = 5;
             // 
             // PipeLineMatchingCtrl
             // 
@@ -134,7 +126,6 @@
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private DevExpress.XtraGrid.Columns.GridColumn colName;
         private DevExpress.XtraGrid.Columns.GridColumn colCode;
-        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
         private DevExpress.XtraGrid.Columns.GridColumn colMaterial;
         private DevExpress.XtraGrid.Columns.GridColumn colCaliber;
         private DevExpress.XtraGrid.Columns.GridColumn colDbLocked;
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.cs
index f688acf..dc96769 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.cs
@@ -9,5 +9,27 @@
             this.gridView1.OptionsView.ShowDetailButtons = true;
             this.gridView1.OptionsView.ShowGroupPanel = false;
         }
+
+        private List<PipeLineMatchingViewModel> _allBindingList = null;
+
+        public List<PipeLineMatchingViewModel> SetBindingData(List<PipeLineMatchingViewModel> inputs, List<AdaptingManageVmo> alllist)
+        {
+            var finishList = new List<PipeLineMatchingViewModel>();
+            foreach (var item in inputs)
+            {
+                var result = AsstesAutoMatchingHelper.AutoMatching(item, alllist);
+                if (result != null)
+                {
+                    finishList.Add(result);
+                }
+                else
+                {
+                }
+            }
+            _allBindingList = finishList;
+            this.pipeLineMatchingViewModelBindingSource.DataSource = _allBindingList;
+            this.pipeLineMatchingViewModelBindingSource.ResetBindings(false);
+            return finishList;
+        }
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.Designer.cs
index 2f3cb88..8e3d2bc 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.Designer.cs
@@ -30,18 +30,17 @@
         {
             components = new Container();
             gridControl1 = new DevExpress.XtraGrid.GridControl();
-            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             pumpMatchingViewModelBindingSource = new BindingSource(components);
-            colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
-            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
+            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             colName = new DevExpress.XtraGrid.Columns.GridColumn();
             colRatedH = new DevExpress.XtraGrid.Columns.GridColumn();
             colRatedN = new DevExpress.XtraGrid.Columns.GridColumn();
             colRatedQ = new DevExpress.XtraGrid.Columns.GridColumn();
             colRatedQ1 = new DevExpress.XtraGrid.Columns.GridColumn();
+            colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
             ((ISupportInitialize)gridControl1).BeginInit();
-            ((ISupportInitialize)gridView1).BeginInit();
             ((ISupportInitialize)pumpMatchingViewModelBindingSource).BeginInit();
+            ((ISupportInitialize)gridView1).BeginInit();
             SuspendLayout();
             // 
             // gridControl1
@@ -55,30 +54,16 @@
             gridControl1.TabIndex = 0;
             gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
             // 
-            // gridView1
-            // 
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colModelType, colRatedH, colRatedN, colRatedQ, colRatedQ1, colDbLocked });
-            gridView1.GridControl = gridControl1;
-            gridView1.Name = "gridView1";
-            gridView1.OptionsView.ShowGroupPanel = false;
-            // 
             // pumpMatchingViewModelBindingSource
             // 
             pumpMatchingViewModelBindingSource.DataSource = typeof(PumpMatchingViewModel);
             // 
-            // colDbLocked
+            // gridView1
             // 
-            colDbLocked.FieldName = "DbLocked";
-            colDbLocked.Name = "colDbLocked";
-            colDbLocked.Visible = true;
-            colDbLocked.VisibleIndex = 6;
-            // 
-            // colModelType
-            // 
-            colModelType.FieldName = "ModelType";
-            colModelType.Name = "colModelType";
-            colModelType.Visible = true;
-            colModelType.VisibleIndex = 1;
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colRatedH, colRatedN, colRatedQ, colRatedQ1, colDbLocked });
+            gridView1.GridControl = gridControl1;
+            gridView1.Name = "gridView1";
+            gridView1.OptionsView.ShowGroupPanel = false;
             // 
             // colName
             // 
@@ -92,28 +77,35 @@
             colRatedH.FieldName = "RatedH";
             colRatedH.Name = "colRatedH";
             colRatedH.Visible = true;
-            colRatedH.VisibleIndex = 2;
+            colRatedH.VisibleIndex = 1;
             // 
             // colRatedN
             // 
             colRatedN.FieldName = "RatedN";
             colRatedN.Name = "colRatedN";
             colRatedN.Visible = true;
-            colRatedN.VisibleIndex = 3;
+            colRatedN.VisibleIndex = 2;
             // 
             // colRatedQ
             // 
             colRatedQ.FieldName = "RatedQ";
             colRatedQ.Name = "colRatedQ";
             colRatedQ.Visible = true;
-            colRatedQ.VisibleIndex = 4;
+            colRatedQ.VisibleIndex = 3;
             // 
             // colRatedQ1
             // 
             colRatedQ1.FieldName = "RatedQ";
             colRatedQ1.Name = "colRatedQ1";
             colRatedQ1.Visible = true;
-            colRatedQ1.VisibleIndex = 5;
+            colRatedQ1.VisibleIndex = 4;
+            // 
+            // colDbLocked
+            // 
+            colDbLocked.FieldName = "DbLocked";
+            colDbLocked.Name = "colDbLocked";
+            colDbLocked.Visible = true;
+            colDbLocked.VisibleIndex = 5;
             // 
             // PumpMatchingCtrl
             // 
@@ -123,8 +115,8 @@
             Name = "PumpMatchingCtrl";
             Size = new Size(1035, 503);
             ((ISupportInitialize)gridControl1).EndInit();
-            ((ISupportInitialize)gridView1).EndInit();
             ((ISupportInitialize)pumpMatchingViewModelBindingSource).EndInit();
+            ((ISupportInitialize)gridView1).EndInit();
             ResumeLayout(false);
         }
 
@@ -134,7 +126,6 @@
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private BindingSource pumpMatchingViewModelBindingSource;
         private DevExpress.XtraGrid.Columns.GridColumn colName;
-        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
         private DevExpress.XtraGrid.Columns.GridColumn colRatedH;
         private DevExpress.XtraGrid.Columns.GridColumn colRatedN;
         private DevExpress.XtraGrid.Columns.GridColumn colRatedQ;
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 9e00f0e..ced9648 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
@@ -11,72 +11,19 @@
         }
 
         private List<PumpMatchingViewModel> _allBindingList = null;
-        private BLL.PumpMain _pumpMainBll = null;
 
-        public List<PumpMatchingViewModel> SetBindingData(List<PumpMatchingViewModel> pumpMatchingViewModel, out List<PumpMatchingViewModel> errorList)
+        public List<PumpMatchingViewModel> SetBindingData(List<PumpMatchingViewModel> pumpMatchingViewModel, List<PumpMainVmo> pumpMainVmos, out List<PumpMatchingViewModel> errorList)
         {
-            _pumpMainBll = new BLL.PumpMain();
             errorList = null;
-            _allBindingList = new List<PumpMatchingViewModel>();
+            List<PumpMatchingViewModel> _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 item in pumpMatchingViewModel)
             {
-                foreach (var pumpMain in alllist)
-                {
-                    // 灏濊瘯缁濆鍖归厤
-                    var absoluteMatch = alllist.Where(item =>
-                        viewModel.RatedN == item.RatedSpeed &&
-                        viewModel.RatedQ == item.RatedFlow &&
-                        viewModel.RatedH == item.RatedHead &&
-                        viewModel.RatedP == item.RatedPower).ToList();
-                    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;
-                                }
-                            }
-                        }
-                    }
-                }
+                var result = AsstesAutoMatchingHelper.PumpMatching(item, pumpMainVmos);
             }
             this.pumpMatchingViewModelBindingSource.DataSource = _allBindingList;
-            return new List<PumpMatchingViewModel>();
-        }
-
-        private static int CountCommonCharacters(string baseString, string comparisonString)
-        {
-            // 灏嗗瓧绗︿覆杞崲涓哄瓧绗﹂泦鍚�
-            HashSet<char> baseChars = new HashSet<char>(baseString);
-            HashSet<char> comparisonChars = new HashSet<char>(comparisonString);
-
-            // 璁$畻涓や釜闆嗗悎鐨勪氦闆�
-            int commonCount = baseChars.Intersect(comparisonChars).Count();
-
-            return commonCount;
+            return _allBindingList;
         }
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ThreeLinkMatchingCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ThreeLinkMatchingCtrl.cs
index 01d401c..6de0b0c 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ThreeLinkMatchingCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ThreeLinkMatchingCtrl.cs
@@ -12,18 +12,16 @@
             this.gridView1.OptionsView.ShowGroupPanel = false;
         }
 
-        private BLL.AdaptingManage _adaptingBll;
-
         private List<ThreeLinkMatchingViewModel> _allBindingList = null;
 
-        public List<ThreeLinkMatchingViewModel> SetBindingData(List<ThreeLinkMatchingViewModel> inputs)
+        public List<ThreeLinkMatchingViewModel> SetBindingData(List<ThreeLinkMatchingViewModel> inputs, List<AdaptingManageVmo> alllist)
         {
+            if (inputs == null || inputs.Count == 0)
+                return null;
             var finishList = new List<ThreeLinkMatchingViewModel>();
-            _adaptingBll = new BLL.AdaptingManage();
-            var alllist = _adaptingBll.GetAll().Result;
             foreach (var item in inputs)
             {
-                var result = AdaptingAutoMatchingHelper.AutoMatching(item, alllist);
+                var result = AsstesAutoMatchingHelper.AutoMatching(item, alllist);
                 if (result != null)
                 {
                     finishList.Add(result);
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.Designer.cs
index 7a0c48e..9929416 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.Designer.cs
@@ -30,18 +30,18 @@
         {
             components = new Container();
             gridControl1 = new DevExpress.XtraGrid.GridControl();
-            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             valveMatchingViewModelBindingSource = new BindingSource(components);
+            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             colName = new DevExpress.XtraGrid.Columns.GridColumn();
             colCode = new DevExpress.XtraGrid.Columns.GridColumn();
-            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
             colMaterial = new DevExpress.XtraGrid.Columns.GridColumn();
             colCaliber = new DevExpress.XtraGrid.Columns.GridColumn();
             colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
-            colIsMatching = new DevExpress.XtraGrid.Columns.GridColumn();
+            colMatchingType = new DevExpress.XtraGrid.Columns.GridColumn();
+            colLossCoefficient = new DevExpress.XtraGrid.Columns.GridColumn();
             ((ISupportInitialize)gridControl1).BeginInit();
-            ((ISupportInitialize)gridView1).BeginInit();
             ((ISupportInitialize)valveMatchingViewModelBindingSource).BeginInit();
+            ((ISupportInitialize)gridView1).BeginInit();
             SuspendLayout();
             // 
             // gridControl1
@@ -55,16 +55,16 @@
             gridControl1.TabIndex = 0;
             gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
             // 
-            // gridView1
-            // 
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colCode, colModelType, colMaterial, colCaliber, colDbLocked, colIsMatching });
-            gridView1.GridControl = gridControl1;
-            gridView1.Name = "gridView1";
-            gridView1.OptionsView.ShowGroupPanel = false;
-            // 
             // valveMatchingViewModelBindingSource
             // 
             valveMatchingViewModelBindingSource.DataSource = typeof(ValveMatchingViewModel);
+            // 
+            // gridView1
+            // 
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colCode, colMaterial, colCaliber, colLossCoefficient, colDbLocked, colMatchingType });
+            gridView1.GridControl = gridControl1;
+            gridView1.Name = "gridView1";
+            gridView1.OptionsView.ShowGroupPanel = false;
             // 
             // colName
             // 
@@ -80,40 +80,40 @@
             colCode.Visible = true;
             colCode.VisibleIndex = 1;
             // 
-            // colModelType
-            // 
-            colModelType.FieldName = "ModelType";
-            colModelType.Name = "colModelType";
-            colModelType.Visible = true;
-            colModelType.VisibleIndex = 2;
-            // 
             // colMaterial
             // 
             colMaterial.FieldName = "Material";
             colMaterial.Name = "colMaterial";
             colMaterial.Visible = true;
-            colMaterial.VisibleIndex = 3;
+            colMaterial.VisibleIndex = 2;
             // 
             // colCaliber
             // 
             colCaliber.FieldName = "Caliber";
             colCaliber.Name = "colCaliber";
             colCaliber.Visible = true;
-            colCaliber.VisibleIndex = 4;
+            colCaliber.VisibleIndex = 3;
             // 
             // colDbLocked
             // 
             colDbLocked.FieldName = "DbLocked";
             colDbLocked.Name = "colDbLocked";
             colDbLocked.Visible = true;
-            colDbLocked.VisibleIndex = 5;
+            colDbLocked.VisibleIndex = 4;
             // 
-            // colIsMatching
+            // colMatchingType
             // 
-            colIsMatching.FieldName = "IsMatching";
-            colIsMatching.Name = "colIsMatching";
-            colIsMatching.Visible = true;
-            colIsMatching.VisibleIndex = 6;
+            colMatchingType.FieldName = "MatchingType";
+            colMatchingType.Name = "colMatchingType";
+            colMatchingType.Visible = true;
+            colMatchingType.VisibleIndex = 5;
+            // 
+            // colLossCoefficient
+            // 
+            colLossCoefficient.FieldName = "LossCoefficient";
+            colLossCoefficient.Name = "colLossCoefficient";
+            colLossCoefficient.Visible = true;
+            colLossCoefficient.VisibleIndex = 6;
             // 
             // ValveMatchingCtrl
             // 
@@ -123,8 +123,8 @@
             Name = "ValveMatchingCtrl";
             Size = new Size(1035, 503);
             ((ISupportInitialize)gridControl1).EndInit();
-            ((ISupportInitialize)gridView1).EndInit();
             ((ISupportInitialize)valveMatchingViewModelBindingSource).EndInit();
+            ((ISupportInitialize)gridView1).EndInit();
             ResumeLayout(false);
         }
 
@@ -135,10 +135,10 @@
         private BindingSource valveMatchingViewModelBindingSource;
         private DevExpress.XtraGrid.Columns.GridColumn colName;
         private DevExpress.XtraGrid.Columns.GridColumn colCode;
-        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
         private DevExpress.XtraGrid.Columns.GridColumn colMaterial;
         private DevExpress.XtraGrid.Columns.GridColumn colCaliber;
         private DevExpress.XtraGrid.Columns.GridColumn colDbLocked;
-        private DevExpress.XtraGrid.Columns.GridColumn colIsMatching;
+        private DevExpress.XtraGrid.Columns.GridColumn colLossCoefficient;
+        private DevExpress.XtraGrid.Columns.GridColumn colMatchingType;
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.cs
index d808fe5..ab4586e 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.cs
@@ -21,7 +21,7 @@
             var alllist = _adaptingBll.GetAll().Result;
             foreach (var item in inputs)
             {
-                var result = AdaptingAutoMatchingHelper.AutoMatching(item, alllist);
+                var result = AsstesAutoMatchingHelper.AutoMatching(item, alllist);
                 if (result != null)
                 {
                     finishList.Add(result);
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsAutoMatchingMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsAutoMatchingMainDlg.cs
index ef02b32..1b7cbe4 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsAutoMatchingMainDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsAutoMatchingMainDlg.cs
@@ -28,10 +28,10 @@
         }
 
         //鑷姩鍖归厤
-        private void BtnAutoMatching_Click(object sender, EventArgs e)
+        private async void BtnAutoMatching_Click(object sender, EventArgs e)
         {
             WaitFormHelper.ShowWaitForm(this);
-            _assetsAutoMatching = this.AssetsMainChoicePage.SetMatching(_assetsAutoMatching);
+            _assetsAutoMatching = await this.AssetsMainChoicePage.SetMatching(_assetsAutoMatching);
             WaitFormHelper.HideWaitForm(this);
         }
     }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsMainChoicePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsMainChoicePage.cs
index 4c71aab..a16bcda 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsMainChoicePage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsMainChoicePage.cs
@@ -7,14 +7,22 @@
             InitializeComponent();
         }
 
+        private BLL.PumpMain _pumpMain = null;
+
+        private BLL.AdaptingManage _adaptingManage = null;
+
         /// <summary>
         /// 鍒濆鍖�
         /// </summary>
-        public AssetsAutoMatchingInputViewModel SetMatching(AssetsAutoMatchingInputViewModel input)
+        public async Task<AssetsAutoMatchingInputViewModel> SetMatching(AssetsAutoMatchingInputViewModel input)
         {
+            _pumpMain = new BLL.PumpMain();
+            _adaptingManage = new BLL.AdaptingManage();
+            var allPump = await _pumpMain.GetAll();
+            var allAdapting = await _adaptingManage.GetAll();
             var assetsAutoMatching = new AssetsAutoMatchingInputViewModel();
-            var pumpMatching = this.pumpMatchingCtrl1.SetBindingData(input.PumpMatchingModels, out List<PumpMatchingViewModel> pumpErrors);
-            var threeLinkMatching = this.threeLinkMatchingCtrl1.SetBindingData(input.ThreeLinkMatchingModels);
+            var pumpMatching = this.pumpMatchingCtrl1.SetBindingData(input.PumpMatchingModels, allPump, out List<PumpMatchingViewModel> pumpErrors);
+            var threeLinkMatching = this.threeLinkMatchingCtrl1.SetBindingData(input.ThreeLinkMatchingModels, allAdapting);
 
             assetsAutoMatching.PumpMatchingModels = pumpMatching;
             assetsAutoMatching.ThreeLinkMatchingModels = threeLinkMatching;
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs
index d8a7f32..c56496b 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -261,7 +261,49 @@
         //鑷姩鍖归厤
         private void barBtnAllAutoMatching_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            var dlg = new AssetsAutoMatchingMainDlg(new AssetsAutoMatchingInputViewModel());
+            //   _hydroInfo
+            var pump = _hydroInfo.Pumps;
+            var threelinks = _hydroInfo.Threelinks;
+            var aa = new AssetsAutoMatchingInputViewModel();
+            foreach (var item in pump)
+            {
+                aa = new AssetsAutoMatchingInputViewModel
+                {
+                    PumpMatchingModels = new List<PumpMatchingViewModel>
+                    {
+             new PumpMatchingViewModel
+                {
+        RatedH = item.RatedH, // 鍋囪item宸茬粡瀹氫箟骞朵笖鍖呭惈浜哛atedH绛夊睘鎬�
+        RatedP = item.RatedP,
+        RatedQ = item.RatedQ,
+        RatedN = item.RatedN,
+        ModelType=item.ModelType,
+        DbID=item.DbId,
+        DbLocked=item.DbLocked
+                }
+                     }
+                };
+            }
+            foreach (var item in threelinks)
+            {
+                aa = new AssetsAutoMatchingInputViewModel
+                {
+                    ThreeLinkMatchingModels = new List<ThreeLinkMatchingViewModel>
+                    {
+                        new ThreeLinkMatchingViewModel
+                        {
+                            Caliber=item.Caliber,
+                            Material=item.Material,
+                            ModelType=item.ModelType,
+                            DbLocked=item.DbLocked,
+                            ID=item.ID,
+                            Code=item.Code,
+                            MinorLoss=item.MinorLoss
+                        }
+                    }
+                };
+            }
+            var dlg = new AssetsAutoMatchingMainDlg(aa);
             dlg.ShowDialog();
         }
 
@@ -285,6 +327,5 @@
             _parter = allParterList.Find(x => x.Code == obj);
             ShowProperty();
         }
-
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3