lixiaojun
2024-09-26 30e078df2eae453b8ea39680816d5abbf5c51b25
Xhs匹配改造,有错误
已删除9个文件
已重命名32个文件
已复制4个文件
已修改5个文件
已添加5个文件
2774 ■■■■ 文件已修改
WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingHelper.cs 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingParasHelper.cs 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/eMatchingStatus.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/AdaptingViewModel.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ElbowsMatchingViewModel.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/FourLinkMatchingViewModel.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PipeLineMatchingViewModel.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PumpMatchingViewModel.cs 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ValveMatchingViewModel.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/FourLinkFormViewModel.cs 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/ThreeLinkFormViewModel.cs 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/AssetsAutoMatchingViewModel.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/AssetsAutoMatchingMainDlg.Designer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/AssetsAutoMatchingMainDlg.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/AssetsAutoMatchingMainDlg.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/PumpMainChoieViewModel.cs 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/XhsProjectSimulationMatchingListCtrl.Designer.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/XhsProjectSimulationMatchingListCtrl.cs 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/XhsProjectSimulationMatchingListCtrl.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/AssetsMatchingViewModel.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/CurvePointMatchingViewModel.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/ElbowsMatchingViewModel.cs 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/FourlinkMatchingViewModel.cs 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/PipeMatchingViewModel.cs 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/PumpMatchingViewModel.cs 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/ThreelinkMatchingViewModel.cs 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/ValveMatchingViewModel.cs 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/02-pump/XhsProjectSimulationPumpMatchingListCtrl.Designer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/02-pump/XhsProjectSimulationPumpMatchingListCtrl.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/02-pump/XhsProjectSimulationPumpMatchingListCtrl.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/02-pump/XhsProjectSimulationPumpMatchingViewModel.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingListCtrl.Designer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingListCtrl.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingListCtrl.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingViewModel.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/04-pipe/XhsProjectSimulationPipeMatchingListCtrl.Designer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/04-pipe/XhsProjectSimulationPipeMatchingListCtrl.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/04-pipe/XhsProjectSimulationPipeMatchingListCtrl.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/04-pipe/XhsProjectSimulationPipeMatchingViewModel.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingListCtrl.Designer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingListCtrl.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingListCtrl.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingViewModel.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/06-threelink/XhsProjectSimulationThreelinkMatchingListCtrl.Designer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/06-threelink/XhsProjectSimulationThreelinkMatchingListCtrl.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/06-threelink/XhsProjectSimulationThreelinkMatchingListCtrl.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/06-threelink/XhsProjectSimulationThreelinkMatchingViewModel.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/07-fourlink/XhsProjectSimulationFourlinkMatchingListCtrl.Designer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/07-fourlink/XhsProjectSimulationFourlinkMatchingListCtrl.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/07-fourlink/XhsProjectSimulationFourlinkMatchingListCtrl.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/07-fourlink/XhsProjectSimulationFourlinkMatchingViewModel.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingHelper.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/02-AsstesFormCtrl/AssetsMatchingHelper.cs ÐÞ¸Ä
@@ -10,7 +10,7 @@
        private const double _powerTolerance = 0.05;
        //资产自动匹配
        public static async Task<AssetsAutoMatchingViewModel> AssetsMatching(AssetsAutoMatchingViewModel assetsAutoMatchingView)
        public static async Task<AssetsMatchingViewModel> Matching(AssetsMatchingViewModel assetsAutoMatchingView)
        {
            var pumpMain = new BLL.PumpMain();
            var adaptingManage = new BLL.AdaptingManage();
@@ -20,49 +20,49 @@
            var allAdapting = await adaptingManage.GetAll();
            var allPipeLine = await pipeLineManage.GetAll();
            var allValve = await valveMain.GetAll();
            var assetsAutoMatching = new AssetsAutoMatchingViewModel();
            var assetsAutoMatching = new AssetsMatchingViewModel();
            var pumpMatchingList = new List<PumpMatchingViewModel>();
            var threeLinkMatchingList = new List<ThreeLinkMatchingViewModel>();
            var fourLinkMatchingList = new List<FourLinkMatchingViewModel>();
            var pipeLineMatchingList = new List<PipeLineMatchingViewModel>();
            var threeLinkMatchingList = new List<ThreelinkMatchingViewModel>();
            var fourLinkMatchingList = new List<FourlinkMatchingViewModel>();
            var pipeLineMatchingList = new List<PipeMatchingViewModel>();
            var valveMatchingList = new List<ValveMatchingViewModel>();
            var elbowsMatchingList = new List<ElbowsMatchingViewModel>();
            //泵匹配
            foreach (var item in assetsAutoMatchingView.PumpMatchingModels)
            foreach (var item in assetsAutoMatchingView.PumpMatchingList)
            {
                pumpMatchingList.Add(await MatchingPumps(item, allPump));
            }
            //三通匹配
            foreach (var item in assetsAutoMatchingView.ThreeLinkMatchingModels)
            foreach (var item in assetsAutoMatchingView.ThreelinkMatchingList)
            {
                threeLinkMatchingList.Add(MatchingThreeLink(item, allAdapting));
            }
            //四通匹配
            foreach (var item in assetsAutoMatchingView.FourLinkMatchingModels)
            foreach (var item in assetsAutoMatchingView.FourlinkMatchingList)
            {
                fourLinkMatchingList.Add(MatchingFourLink(item, allAdapting));
            }
            //管道匹配
            foreach (var item in assetsAutoMatchingView.PipeLineMatchingModels)
            foreach (var item in assetsAutoMatchingView.PipeMatchingList)
            {
                pipeLineMatchingList.Add(MatchingPipes(item, allPipeLine));
            }
            //阀门匹配
            foreach (var item in assetsAutoMatchingView.ValveMatchingModels)
            foreach (var item in assetsAutoMatchingView.ValveMatchingList)
            {
                valveMatchingList.Add(MatchingValves(item, allValve));
            }
            //弯头匹配
            foreach (var item in assetsAutoMatchingView.ElbowsMatchingModels)
            foreach (var item in assetsAutoMatchingView.ElbowsMatchingList)
            {
                elbowsMatchingList.Add(MatchingElbows(item, allAdapting));
            }
            assetsAutoMatching.PumpMatchingModels = pumpMatchingList;
            assetsAutoMatching.ThreeLinkMatchingModels = threeLinkMatchingList;
            assetsAutoMatching.FourLinkMatchingModels = fourLinkMatchingList;
            assetsAutoMatching.ElbowsMatchingModels = elbowsMatchingList;
            assetsAutoMatching.PipeLineMatchingModels = pipeLineMatchingList;
            assetsAutoMatching.ValveMatchingModels = valveMatchingList;
            assetsAutoMatching.PumpMatchingList = pumpMatchingList;
            assetsAutoMatching.ThreelinkMatchingList = threeLinkMatchingList;
            assetsAutoMatching.FourlinkMatchingList = fourLinkMatchingList;
            assetsAutoMatching.ElbowsMatchingList = elbowsMatchingList;
            assetsAutoMatching.PipeMatchingList = pipeLineMatchingList;
            assetsAutoMatching.ValveMatchingList = valveMatchingList;
            return assetsAutoMatching;
        }
@@ -163,7 +163,7 @@
        }
        //四通匹配
        public static FourLinkMatchingViewModel MatchingFourLink(FourLinkMatchingViewModel input, List<Vmo.AdaptingManageVmo> adaptingManageVmos)
        public static FourlinkMatchingViewModel MatchingFourLink(FourlinkMatchingViewModel input, List<Vmo.AdaptingManageVmo> adaptingManageVmos)
        {
            Vmo.AdaptingManageVmo vmo = null;
            int firstCount = 0;
@@ -259,7 +259,7 @@
        }
        //三通匹配
        public static ThreeLinkMatchingViewModel MatchingThreeLink(ThreeLinkMatchingViewModel input, List<Vmo.AdaptingManageVmo> adaptingManageVmos)
        public static ThreelinkMatchingViewModel MatchingThreeLink(ThreelinkMatchingViewModel input, List<Vmo.AdaptingManageVmo> adaptingManageVmos)
        {
            Vmo.AdaptingManageVmo vmo = null;
            int firstCount = 0;
@@ -362,7 +362,7 @@
            //口径最小差值
            // ç»å¯¹åŒ¹é…
            var absoluteMatch = adaptingManageVmos.Where(i =>
              ((input.Caliber == null && i.Caliber == null) || i.Caliber == input.Caliber) &&
              ((input.Diameter == null && i.Caliber == null) || i.Caliber == input.Diameter) &&
               ((input.Material == null && i.Material == "默认") || i.Material == input.Material)).ToList();
            if (absoluteMatch.Any())
            {
@@ -381,9 +381,9 @@
                //区间匹配
                var rangeMatch = adaptingManageVmos.Where(item =>
                {
                    if (item.Caliber != null && input.Caliber != null)
                    if (item.Caliber != null && input.Diameter != null)
                    {
                        return Math.Abs(Convert.ToInt64(item.Caliber - input.Caliber)) <= _caliberTolerance;
                        return Math.Abs(Convert.ToInt64(item.Caliber - input.Diameter)) <= _caliberTolerance;
                    }
                    else
                    {
@@ -513,18 +513,18 @@
                viewModel.MatchingRatedN = vmo.RatedSpeed;
                viewModel.MatchingRatedQ = vmo.RatedFlow;
                viewModel.MatchingRatedP = vmo.RatedPower;
                viewModel.MatchingDbID = vmo.ID.ToString();
                viewModel.MatchingDbId = vmo.ID.ToString();
                var list = await new BLL.XhsPumpMainPhartMappingExtensions().GetByPumpMainID(vmo.ID);
                if (list != null && list.Count > 0)
                {
                    viewModel.MatchingChartDbID = list.First().ID;
                    viewModel.MatchingCurveDbId = list.First().ID;
                }
            }
            return null;
        }
        //管道匹配
        public static PipeLineMatchingViewModel MatchingPipes(PipeLineMatchingViewModel input, List<Vmo.PipeLineManageVmo> pipeLineManageVmos)
        public static PipeMatchingViewModel MatchingPipes(PipeMatchingViewModel input, List<Vmo.PipeLineManageVmo> pipeLineManageVmos)
        {
            Vmo.PipeLineManageVmo vmo = null;
            int StartCount = 0;
@@ -612,7 +612,7 @@
        private static int CountCommonCharacters(string baseString, string compareString)
        {
            // å°†å­—符串转换为字符集合
            if (baseString == string.Empty||baseString==null || compareString == string.Empty||compareString==null)
            if (baseString == string.Empty || baseString == null || compareString == string.Empty || compareString == null)
            {
                return 0;
            }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingParasHelper.cs
@@ -1,4 +1,5 @@
using System;
using StackExchange.Profiling.Internal;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -13,35 +14,73 @@
    {
        //创建资产自动匹配ViewModel
        public static AssetsAutoMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo)
        public static AssetsMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo)
        {
            var input = new AssetsAutoMatchingViewModel();
            input.PumpMatchingModels = hydroInfo.Pumps?.Select(x => new PumpMatchingViewModel()
            var input = new AssetsMatchingViewModel();
            //æ°´æ³µ
            input.PumpMatchingList = hydroInfo.Pumps?.Select(x => new PumpMatchingViewModel()
            {
                ID = x.ID,
                Code = x.Code,
                Name = x.Name,
                DbId = x.DbId,
                DbLocked = x.DbLocked,
                ChartDbID = hydroInfo.Curves?.Find(t => t.Code == x.CurveQH)?.DbId,
                ModelType = x.ModelType,
                DbId = x.DbId,
                CurveDbId = hydroInfo.Curves?.Find(t => t.Code == x.CurveQH)?.DbId,
                RatedP = x.RatedP,
                RatedH = x.RatedH,
                RatedN = x.RatedN,
                RatedQ = x.RatedQ,
            }).ToList();
            input.ElbowsMatchingModels = hydroInfo.Elbows?.Select(x => new ElbowsMatchingViewModel()
            //阀门
            input.ValveMatchingList = hydroInfo.Valves?.Select(x => new ValveMatchingViewModel()
            {
                ID = x.ID,
                Name = x.Name,
                Code = x.Code,
                Dbid = x.DbId,
                Name = x.Name,
                DbLocked = x.DbLocked,
                ModelType = x.ModelType,
                Caliber = x.Caliber,
                Material = x.Material
                DbId = x.DbId,
                Diameter = x.Diameter,
                Material = x.Material,
                MinorLoss = x.MinorLoss,
                ValveType = x.ValveType
            }).ToList();
            input.ThreeLinkMatchingModels = hydroInfo.Threelinks?.Select(x => new ThreeLinkMatchingViewModel()
            //管道
            input.PipeMatchingList = hydroInfo.Pipes?.Select(x => new PipeMatchingViewModel()
            {
                ID = x.ID,
                Code = x.Code,
                Name = x.Name,
                DbLocked = x.DbLocked,
                ModelType = x.ModelType,
                DbId = x.DbId,
                Diameter = x.Diameter,
                Material = x.Material,
                Roughness = x.Roughness,
                MinorLoss = x.MinorLoss,
                eAlgorithmType = HStation.Assets.eAlgorithmType.Hazen
            }).ToList();
            //弯头
            input.ElbowsMatchingList = hydroInfo.Elbows?.Select(x => new ElbowsMatchingViewModel()
            {
                ID = x.ID,
                Code = x.Code,
                Name = x.Name,
                DbLocked = x.DbLocked,
                ModelType = x.ModelType,
                DbId = x.DbId,
                Caliber = x.Caliber,
                Material = x.Material,
                MinorLoss = x.MinorLoss
            }).ToList();
            //三通
            input.ThreelinkMatchingList = hydroInfo.Threelinks?.Select(x => new ThreelinkMatchingViewModel()
            {
                ID = x.ID,
                Name = x.Name,
@@ -52,46 +91,338 @@
                Caliber = x.Caliber,
                Material = x.Material
            }).ToList();
            input.FourLinkMatchingModels = hydroInfo.Fourlinks?.Select(x => new FourLinkMatchingViewModel()
            //四通
            input.FourlinkMatchingList = hydroInfo.Fourlinks?.Select(x => new FourlinkMatchingViewModel()
            {
                ID = x.ID,
                Name = x.Name,
                Code = x.Code,
                Dbid = x.DbId,
                DbId = x.DbId,
                DbLocked = x.DbLocked,
                ModelType = x.ModelType,
                Caliber = x.Caliber,
                Material = x.Material
            }).ToList();
            input.PipeLineMatchingModels = hydroInfo.Pipes?.Select(x => new PipeLineMatchingViewModel()
            {
                ID = x.ID,
                Name = x.Name,
                Code = x.Code,
                DbId = x.DbId,
                DbLocked = x.DbLocked,
                ModelType = x.ModelType,
                Caliber = x.Diameter,//这里是数值
                Material = x.Material
            }).ToList();
            input.ValveMatchingModels = hydroInfo.Pipes?.Select(x => new ValveMatchingViewModel()
            {
                ID = x.ID,
                Name = x.Name,
                Code = x.Code,
                DbId = x.DbId,
                DbLocked = x.DbLocked,
                ModelType = x.ModelType,
                Caliber = x.Diameter,//这里是数值
                Material = x.Material//怎么没有阀门类型
            }).ToList();
            return input;
        }
        //应用资产自动匹配ViewModel
        public static void Apply(Yw.Model.HydroModelInfo hydroInfo, AssetsAutoMatchingViewModel output)
        public static bool Apply(Yw.Model.HydroModelInfo hydroInfo, AssetsMatchingViewModel output)
        {
            if (hydroInfo == null)
            {
                return false;
            }
            if (output == null)
            {
                return false;
            }
            bool result = false;
            //æ°´æ³µ
            if (output.PumpMatchingList != null && output.PumpMatchingList.Count > 0)
            {
                if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0)
                {
                    foreach (var pumpMatching in output.PumpMatchingList)
                    {
                        var pump = hydroInfo.Pumps.Find(x => x.Code == pumpMatching.Code);
                        if (pump != null)
                        {
                            pump.DbLocked = pumpMatching.DbLocked;
                            pump.ModelType = pumpMatching.ModelType;
                            pump.RatedP = pumpMatching.RatedP;
                            pump.RatedQ = pumpMatching.RatedQ;
                            pump.RatedH = pumpMatching.RatedH;
                            pump.RatedN = pumpMatching.RatedN;
                            if (!pump.DbLocked)
                            {
                                if (!string.IsNullOrEmpty(pumpMatching.MatchingModelType))
                                {
                                    pump.ModelType = pumpMatching.MatchingModelType;
                                }
                                if (!string.IsNullOrEmpty(pumpMatching.MatchingDbId))
                                {
                                    pump.DbId = pumpMatching.MatchingDbId;
                                }
                                if (pumpMatching.MatchingRatedP.HasValue)
                                {
                                    pump.RatedP = pumpMatching.MatchingRatedP.Value;
                                }
                                if (pumpMatching.MatchingRatedQ.HasValue)
                                {
                                    pump.RatedQ = pumpMatching.MatchingRatedQ.Value;
                                }
                                if (pumpMatching.MatchingRatedH.HasValue)
                                {
                                    pump.RatedH = pumpMatching.MatchingRatedH.Value;
                                }
                                if (pumpMatching.MatchingRatedN.HasValue)
                                {
                                    pump.RatedN = pumpMatching.MatchingRatedN.Value;
                                }
                                if (!string.IsNullOrEmpty(pumpMatching.MatchingCurveDbId))
                                {
                                }
                            }
                        }
                    }
                }
            }
            //阀门
            if (output.ValveMatchingList != null && output.PumpMatchingList.Count > 0)
            {
                if (hydroInfo.Valves != null && hydroInfo.Valves.Count > 0)
                {
                    foreach (var valveMatching in output.ValveMatchingList)
                    {
                        var valve = hydroInfo.Valves.Find(x => x.Code == valveMatching.Code);
                        if (valve != null)
                        {
                            valve.DbLocked = valveMatching.DbLocked;
                            valve.ModelType = valveMatching.ModelType;
                            valve.Diameter = valveMatching.Diameter;
                            valve.Material = valveMatching.Material;
                            valve.MinorLoss = valveMatching.MinorLoss;
                            valve.ValveType = valveMatching.ValveType;
                            valve.ValveSetting = valveMatching.ValveSetting;
                            if (!valve.DbLocked)
                            {
                                if (!string.IsNullOrEmpty(valveMatching.MatchingModelType))
                                {
                                    valve.ModelType = valveMatching.MatchingModelType;
                                }
                                if (!string.IsNullOrEmpty(valveMatching.MatchingDbId))
                                {
                                    valve.DbId = valveMatching.MatchingDbId;
                                }
                                if (valveMatching.MatchingDiameter.HasValue)
                                {
                                    valve.Diameter = valveMatching.MatchingDiameter.Value;
                                }
                                if (!string.IsNullOrEmpty(valveMatching.MatchingMaterial))
                                {
                                    valve.Material = valveMatching.MatchingMaterial;
                                }
                                if (valveMatching.MatchingMinorLoss.HasValue)
                                {
                                    valve.MinorLoss = valveMatching.MatchingMinorLoss.Value;
                                }
                                if (!string.IsNullOrEmpty(valveMatching.MatchingValveType))
                                {
                                    valve.ValveType = valveMatching.MatchingValveType;
                                }
                                if (!string.IsNullOrEmpty(valveMatching.MatchingValveSetting))
                                {
                                    valve.ValveSetting = valveMatching.MatchingValveSetting;
                                }
                                result = true;
                            }
                        }
                    }
                }
            }
            //管道
            if (output.PipeMatchingList != null && output.PipeMatchingList.Count > 0)
            {
                if (hydroInfo.Pipes != null && hydroInfo.Pipes.Count > 0)
                {
                    foreach (var pipeMatching in output.PipeMatchingList)
                    {
                        var pipe = hydroInfo.Pipes.Find(x => x.Code == pipeMatching.Code);
                        if (pipe != null)
                        {
                            pipe.DbLocked = pipeMatching.DbLocked;
                            pipe.ModelType = pipeMatching.ModelType;
                            pipe.Diameter = pipeMatching.Diameter;
                            pipe.Material = pipeMatching.Material;
                            pipe.Roughness = pipeMatching.Roughness;
                            pipe.MinorLoss = pipeMatching.MinorLoss;
                            if (!pipe.DbLocked)
                            {
                                if (!string.IsNullOrEmpty(pipeMatching.MatchingModelType))
                                {
                                    pipe.ModelType = pipeMatching.MatchingModelType;
                                }
                                if (!string.IsNullOrEmpty(pipeMatching.MatchingDbId))
                                {
                                    pipe.DbId = pipeMatching.MatchingDbId;
                                }
                                if (pipeMatching.MatchingDiameter.HasValue)
                                {
                                    pipe.Diameter = pipeMatching.MatchingDiameter.Value;
                                }
                                if (!string.IsNullOrEmpty(pipeMatching.MatchingMaterial))
                                {
                                    pipe.Material = pipeMatching.MatchingMaterial;
                                }
                                if (pipeMatching.MatchingRoughness.HasValue)
                                {
                                    pipe.Roughness = pipeMatching.MatchingRoughness.Value;
                                }
                                if (pipeMatching.MatchingMinorLoss.HasValue)
                                {
                                    pipe.MinorLoss = pipeMatching.MatchingMinorLoss.Value;
                                }
                                result = true;
                            }
                        }
                    }
                }
            }
            //弯头
            if (output.ElbowsMatchingList != null && output.ElbowsMatchingList.Count > 0)
            {
                if (hydroInfo.Elbows != null && hydroInfo.Elbows.Count > 0)
                {
                    foreach (var elbowsMatching in output.ElbowsMatchingList)
                    {
                        var elbows = hydroInfo.Elbows.Find(x => x.Code == elbowsMatching.Code);
                        if (elbows != null)
                        {
                            elbows.DbLocked = elbowsMatching.DbLocked;
                            elbows.ModelType = elbowsMatching.ModelType;
                            elbows.Caliber = elbowsMatching.Caliber;
                            elbows.Material = elbowsMatching.Material;
                            elbows.MinorLoss = elbowsMatching.MinorLoss;
                            if (!elbows.DbLocked)
                            {
                                if (!string.IsNullOrEmpty(elbowsMatching.MatchingModelType))
                                {
                                    elbows.ModelType = elbowsMatching.MatchingModelType;
                                }
                                if (!string.IsNullOrEmpty(elbowsMatching.MatchingDbId))
                                {
                                    elbows.DbId = elbowsMatching.MatchingDbId;
                                }
                                if (elbowsMatching.MatchingCaliber.HasValue)
                                {
                                    elbows.Caliber = elbowsMatching.MatchingCaliber.Value;
                                }
                                if (!string.IsNullOrEmpty(elbowsMatching.MatchingMaterial))
                                {
                                    elbows.Material = elbowsMatching.MatchingMaterial;
                                }
                                if (elbowsMatching.MatchingMinorLoss.HasValue)
                                {
                                    elbows.MinorLoss = elbowsMatching.MatchingMinorLoss.Value;
                                }
                                result = true;
                            }
                        }
                    }
                }
            }
            //三通
            if (output.ThreelinkMatchingList != null && output.ThreelinkMatchingList.Count > 0)
            {
                if (hydroInfo.Threelinks != null && hydroInfo.Threelinks.Count > 0)
                {
                    foreach (var threelinkMatching in output.ThreelinkMatchingList)
                    {
                        var threelink = hydroInfo.Threelinks.Find(x => x.Code == threelinkMatching.Code);
                        if (threelink != null)
                        {
                            threelink.DbLocked = threelinkMatching.DbLocked;
                            threelink.ModelType = threelinkMatching.ModelType;
                            threelink.Caliber = threelinkMatching.Caliber;
                            threelink.Material = threelinkMatching.Material;
                            threelink.MinorLoss = threelinkMatching.MinorLoss;
                            if (!threelink.DbLocked)
                            {
                                if (!string.IsNullOrEmpty(threelinkMatching.MatchingModelType))
                                {
                                    threelink.ModelType = threelinkMatching.MatchingModelType;
                                }
                                if (!string.IsNullOrEmpty(threelinkMatching.MatchingDbId))
                                {
                                    threelink.DbId = threelinkMatching.MatchingDbId;
                                }
                                if (threelinkMatching.MatchingCaliber.HasValue)
                                {
                                    threelink.Caliber = threelinkMatching.MatchingCaliber.Value;
                                }
                                if (!string.IsNullOrEmpty(threelinkMatching.MatchingMaterial))
                                {
                                    threelink.Material = threelinkMatching.MatchingMaterial;
                                }
                                if (threelinkMatching.MatchingMinorLoss.HasValue)
                                {
                                    threelink.MinorLoss = threelinkMatching.MatchingMinorLoss.Value;
                                }
                                result = true;
                            }
                        }
                    }
                }
            }
            //四通
            if (output.FourlinkMatchingList != null && output.FourlinkMatchingList.Count > 0)
            {
                if (hydroInfo.Fourlinks != null && hydroInfo.Fourlinks.Count > 0)
                {
                    foreach (var fourlinkMatching in output.FourlinkMatchingList)
                    {
                        var fourlink = hydroInfo.Fourlinks.Find(x => x.Code == fourlinkMatching.Code);
                        if (fourlink != null)
                        {
                            fourlink.DbLocked = fourlinkMatching.DbLocked;
                            fourlink.ModelType = fourlinkMatching.ModelType;
                            fourlink.Caliber = fourlinkMatching.Caliber;
                            fourlink.Material = fourlinkMatching.Material;
                            fourlink.MinorLoss = fourlinkMatching.MinorLoss;
                            if (!fourlink.DbLocked)
                            {
                                if (!string.IsNullOrEmpty(fourlinkMatching.MatchingModelType))
                                {
                                    fourlink.ModelType = fourlinkMatching.MatchingModelType;
                                }
                                if (!string.IsNullOrEmpty(fourlinkMatching.MatchingDbId))
                                {
                                    fourlink.DbId = fourlinkMatching.MatchingDbId;
                                }
                                if (fourlinkMatching.MatchingCaliber.HasValue)
                                {
                                    fourlink.Caliber = fourlinkMatching.MatchingCaliber.Value;
                                }
                                if (!string.IsNullOrEmpty(fourlinkMatching.MatchingMaterial))
                                {
                                    fourlink.Material = fourlinkMatching.MatchingMaterial;
                                }
                                if (fourlinkMatching.MatchingMinorLoss.HasValue)
                                {
                                    fourlink.MinorLoss = fourlinkMatching.MatchingMinorLoss.Value;
                                }
                                result = true;
                            }
                        }
                    }
                }
            }
            return result;
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/eMatchingStatus.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/eMatchingType.cs ÐÞ¸Ä
@@ -1,18 +1,20 @@
namespace HStation.WinFrmUI.Xhs
{
    //匹配状态
    public enum eMatchingType
    /// <summary>
    /// åŒ¹é…çŠ¶æ€
    /// </summary>
    public enum eMatchingStatus
    {
        /// <summary>
        ///匹配成功
        /// </summary>
        [Display(Name = "匹配成功")]
        Success = 0,
        Succeed = 0,
        /// <summary>
        ///匹配失败
        /// </summary>
        [Display(Name = "匹配失败")]
        Error = 1,
        Failed = 1,
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/AdaptingViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ElbowsMatchingViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/FourLinkMatchingViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PipeLineMatchingViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/PumpMatchingViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ValveMatchingViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/FourLinkFormViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/ThreeLinkFormViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/AssetsAutoMatchingViewModel.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/AssetsAutoMatchingMainDlg.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsAutoMatchingMainDlg.Designer.cs ÐÞ¸Ä
@@ -31,7 +31,7 @@
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            navigationFrame1 = new DevExpress.XtraBars.Navigation.NavigationFrame();
            navigationPage1 = new DevExpress.XtraBars.Navigation.NavigationPage();
            AssetsMainChoicePage = new AssetsMainChoicePage();
            AssetsMainChoicePage = new XhsProjectSimulationMatchingListCtrl();
            navigationPage2 = new DevExpress.XtraBars.Navigation.NavigationPage();
            BtnAutoMatching = new SimpleButton();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
@@ -158,7 +158,7 @@
        private DevExpress.XtraBars.Navigation.NavigationPage navigationPage1;
        private DevExpress.XtraBars.Navigation.NavigationPage navigationPage2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private AssetsMainChoicePage AssetsMainChoicePage;
        private XhsProjectSimulationMatchingListCtrl AssetsMainChoicePage;
        private SimpleButton BtnAutoMatching;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
    }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/AssetsAutoMatchingMainDlg.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsAutoMatchingMainDlg.cs ÐÞ¸Ä
@@ -13,13 +13,13 @@
            AssetsMatchingClickEvent.Invoke(code);
        }
        public event Func<AssetsAutoMatchingViewModel, bool> RelaodEvent = null;
        public event Func<AssetsMatchingViewModel, bool> RelaodEvent = null;
        public event Action<string> AssetsMatchingClickEvent = null;
        private AssetsAutoMatchingViewModel _assetsAutoMatching = null;
        private AssetsMatchingViewModel _assetsAutoMatching = null;
        public void SetBindingData(AssetsAutoMatchingViewModel assetsAutoMatchingInputViewModel)
        public void SetBindingData(AssetsMatchingViewModel assetsAutoMatchingInputViewModel)
        {
            _assetsAutoMatching = assetsAutoMatchingInputViewModel;
            this.AssetsMainChoicePage.SetBindingData(_assetsAutoMatching);
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/AssetsAutoMatchingMainDlg.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/PumpMainChoieViewModel.cs
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/XhsProjectSimulationMatchingListCtrl.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsMainChoicePage.Designer.cs ÐÞ¸Ä
@@ -1,7 +1,7 @@

namespace HStation.WinFrmUI.Xhs
{
    partial class AssetsMainChoicePage
    partial class XhsProjectSimulationMatchingListCtrl
    {
        /// <summary> 
        /// Required designer variable.
@@ -29,23 +29,23 @@
        /// </summary>
        private void InitializeComponent()
        {
            ComponentResourceManager resources = new ComponentResourceManager(typeof(AssetsMainChoicePage));
            ComponentResourceManager resources = new ComponentResourceManager(typeof(XhsProjectSimulationMatchingListCtrl));
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            BtnOK = new SimpleButton();
            tabPane1 = new DevExpress.XtraBars.Navigation.TabPane();
            tabNavigationPage1 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            tabNavigationPage2 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            pumpMatchingCtrl1 = new PumpMatchingCtrl();
            pumpMatchingCtrl1 = new XhsProjectSimulationPumpMatchingListCtrl();
            tabNavigationPage3 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            valveMatchingCtrl1 = new ValveMatchingCtrl();
            valveMatchingCtrl1 = new XhsProjectSimulationValveMatchingListCtrl();
            tabNavigationPage4 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            pipeLineMatchingCtrl1 = new PipeLineMatchingCtrl();
            pipeLineMatchingCtrl1 = new XhsProjectSimulationPipeMatchingListCtrl();
            tabNavigationPage5 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            threeLinkMatchingCtrl1 = new ThreeLinkMatchingCtrl();
            threeLinkMatchingCtrl1 = new XhsProjectSimulationThreelinkMatchingListCtrl();
            tabNavigationPage6 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            fourLinkMatchingCtrl1 = new FourLinkMatchingCtrl();
            fourLinkMatchingCtrl1 = new XhsProjectSimulationFourlinkMatchingListCtrl();
            tabNavigationPage7 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            elbowsMatchingCtrl1 = new ElbowsMatchingCtrl();
            elbowsMatchingCtrl1 = new XhsProjectSimulationElbowsMatchingListCtrl();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
@@ -288,17 +288,17 @@
        private DevExpress.XtraBars.Navigation.TabPane tabPane1;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage1;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage2;
        private PumpMatchingCtrl pumpMatchingCtrl1;
        private XhsProjectSimulationPumpMatchingListCtrl pumpMatchingCtrl1;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage3;
        private ValveMatchingCtrl valveMatchingCtrl1;
        private XhsProjectSimulationValveMatchingListCtrl valveMatchingCtrl1;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage4;
        private PipeLineMatchingCtrl pipeLineMatchingCtrl1;
        private XhsProjectSimulationPipeMatchingListCtrl pipeLineMatchingCtrl1;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage5;
        private ThreeLinkMatchingCtrl threeLinkMatchingCtrl1;
        private XhsProjectSimulationThreelinkMatchingListCtrl threeLinkMatchingCtrl1;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage6;
        private FourLinkMatchingCtrl fourLinkMatchingCtrl1;
        private XhsProjectSimulationFourlinkMatchingListCtrl fourLinkMatchingCtrl1;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage7;
        private ElbowsMatchingCtrl elbowsMatchingCtrl1;
        private XhsProjectSimulationElbowsMatchingListCtrl elbowsMatchingCtrl1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/XhsProjectSimulationMatchingListCtrl.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsMainChoicePage.cs ÐÞ¸Ä
@@ -1,8 +1,8 @@
namespace HStation.WinFrmUI.Xhs
{
    public partial class AssetsMainChoicePage : DevExpress.XtraEditors.XtraUserControl
    public partial class XhsProjectSimulationMatchingListCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public AssetsMainChoicePage()
        public XhsProjectSimulationMatchingListCtrl()
        {
            InitializeComponent();
            this.elbowsMatchingCtrl1.RowClickEvent += RowClickEvent;
@@ -20,7 +20,7 @@
        public event Action<string> FormRowClickEvent = null;
        public event Func<AssetsAutoMatchingViewModel, bool> RelaodEvent = null;
        public event Func<AssetsMatchingViewModel, bool> RelaodEvent = null;
        private BLL.PumpMain _pumpMain = null;
@@ -30,24 +30,24 @@
        private BLL.ValveMain _valveMain = null;
        private AssetsAutoMatchingViewModel _assetsAutoMatching = null;
        private AssetsMatchingViewModel _assetsAutoMatching = null;
        public async void SetBindingData(AssetsAutoMatchingViewModel inputViewModel)
        public async void SetBindingData(AssetsMatchingViewModel inputViewModel)
        {
            _assetsAutoMatching = inputViewModel;
            this.elbowsMatchingCtrl1.SetBindingData(inputViewModel.ElbowsMatchingModels);
            this.pipeLineMatchingCtrl1.SetBindingData(inputViewModel.PipeLineMatchingModels);
            this.pumpMatchingCtrl1.SetBindingData(inputViewModel.PumpMatchingModels);
            this.threeLinkMatchingCtrl1.SetBindingData(inputViewModel.ThreeLinkMatchingModels);
            this.fourLinkMatchingCtrl1.SetBindingData(inputViewModel.FourLinkMatchingModels);
            this.valveMatchingCtrl1.SetBindingData(inputViewModel.ValveMatchingModels);
            this.elbowsMatchingCtrl1.SetBindingData(inputViewModel.ElbowsMatchingList);
            this.pipeLineMatchingCtrl1.SetBindingData(inputViewModel.PipeMatchingList);
            this.pumpMatchingCtrl1.SetBindingData(inputViewModel.PumpMatchingList);
            this.threeLinkMatchingCtrl1.SetBindingData(inputViewModel.ThreelinkMatchingList);
            this.fourLinkMatchingCtrl1.SetBindingData(inputViewModel.FourlinkMatchingList);
            this.valveMatchingCtrl1.SetBindingData(inputViewModel.ValveMatchingList);
            await SetMatching(inputViewModel);
        }
        /// <summary>
        /// è‡ªåŠ¨åŒ¹é…
        /// </summary>
        public async Task<AssetsAutoMatchingViewModel> SetMatching(AssetsAutoMatchingViewModel input)
        public async Task<AssetsMatchingViewModel> SetMatching(AssetsMatchingViewModel input)
        {
            if (input == null)
                return null;
@@ -59,26 +59,26 @@
            var allAdapting = await _adaptingManage.GetAll();
            var allPipeLine = await _pipeLineManage.GetAll();
            var allValve = await _valveMain.GetAll();
            var assetsAutoMatching = new AssetsAutoMatchingViewModel();
            var assetsAutoMatching = new AssetsMatchingViewModel();
            //泵匹配
            var pumpMatching = await this.pumpMatchingCtrl1.SetMatching(input.PumpMatchingModels, allPump);
            var pumpMatching = await this.pumpMatchingCtrl1.SetMatching(input.PumpMatchingList, allPump);
            //三通匹配
            var threeLinkMatching = this.threeLinkMatchingCtrl1.SetMatching(input.ThreeLinkMatchingModels, allAdapting);
            var threeLinkMatching = this.threeLinkMatchingCtrl1.SetMatching(input.ThreelinkMatchingList, allAdapting);
            //四通匹配
            var fourLinkMatching = this.fourLinkMatchingCtrl1.SetMatching(input.FourLinkMatchingModels, allAdapting);
            var fourLinkMatching = this.fourLinkMatchingCtrl1.SetMatching(input.FourlinkMatchingList, allAdapting);
            //管道匹配
            var pipeLineMatching = this.pipeLineMatchingCtrl1.SetMatching(input.PipeLineMatchingModels, allPipeLine);
            var pipeLineMatching = this.pipeLineMatchingCtrl1.SetMatching(input.PipeMatchingList, allPipeLine);
            //阀门匹配
            var valveMatching = this.valveMatchingCtrl1.SetMatching(input.ValveMatchingModels, allValve);
            var valveMatching = this.valveMatchingCtrl1.SetMatching(input.ValveMatchingList, allValve);
            //弯头匹配
            var elbowsMatching = this.elbowsMatchingCtrl1.SetMatching(input.ElbowsMatchingModels, allAdapting);
            var elbowsMatching = this.elbowsMatchingCtrl1.SetMatching(input.ElbowsMatchingList, allAdapting);
            assetsAutoMatching.PumpMatchingModels = pumpMatching;
            assetsAutoMatching.ThreeLinkMatchingModels = threeLinkMatching;
            assetsAutoMatching.FourLinkMatchingModels = fourLinkMatching;
            assetsAutoMatching.ElbowsMatchingModels = elbowsMatching;
            assetsAutoMatching.PipeLineMatchingModels = pipeLineMatching;
            assetsAutoMatching.ValveMatchingModels = valveMatching;
            assetsAutoMatching.PumpMatchingList = pumpMatching;
            assetsAutoMatching.ThreelinkMatchingList = threeLinkMatching;
            assetsAutoMatching.FourlinkMatchingList = fourLinkMatching;
            assetsAutoMatching.ElbowsMatchingList = elbowsMatching;
            assetsAutoMatching.PipeMatchingList = pipeLineMatching;
            assetsAutoMatching.ValveMatchingList = valveMatching;
            return assetsAutoMatching;
        }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/00-core/XhsProjectSimulationMatchingListCtrl.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/AssetsMatchingViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    /// èµ„产匹配ViewModel
    /// </summary>
    public class AssetsMatchingViewModel
    {
        /// <summary>
        /// æ°´æ³µåˆ—表
        /// </summary>
        public List<PumpMatchingViewModel> PumpMatchingList { get; set; }
        /// <summary>
        /// é˜€é—¨åˆ—表
        /// </summary>
        public List<ValveMatchingViewModel> ValveMatchingList { get; set; }
        /// <summary>
        /// ç®¡é“列表
        /// </summary>
        public List<PipeMatchingViewModel> PipeMatchingList { get; set; }
        /// <summary>
        /// å¼¯å¤´åˆ—表
        /// </summary>
        public List<ElbowsMatchingViewModel> ElbowsMatchingList { get; set; }
        /// <summary>
        /// ä¸‰é€šåˆ—表
        /// </summary>
        public List<ThreelinkMatchingViewModel> ThreelinkMatchingList { get; set; }
        /// <summary>
        /// å››é€šåˆ—表
        /// </summary>
        public List<FourlinkMatchingViewModel> FourlinkMatchingList { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/CurvePointMatchingViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    /// æ›²çº¿ç‚¹ViewModel
    /// </summary>
    public class CurvePointMatchingViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public CurvePointMatchingViewModel() { }
        /// <summary>
        ///
        /// </summary>
        public CurvePointMatchingViewModel(double x, double y)
        {
            this.X = x;
            this.Y = y;
        }
        /// <summary>
        /// X
        /// </summary>
        public double X { get; set; }
        /// <summary>
        /// Y
        /// </summary>
        public double Y { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/ElbowsMatchingViewModel.cs
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ThreeLinkMatchingViewModel.cs copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/ElbowsMatchingViewModel.cs
Îļþ´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ThreeLinkMatchingViewModel.cs ¸´ÖÆ
@@ -1,21 +1,10 @@
namespace HStation.WinFrmUI
{
    public class ThreeLinkMatchingViewModel
    /// <summary>
    /// å¼¯å¤´åŒ¹é…ViewModel
    /// </summary>
    public class ElbowsMatchingViewModel
    {
        public ThreeLinkMatchingViewModel()
        {
        }
        public ThreeLinkMatchingViewModel(ThreeLinkMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbLocked = rhs.DbLocked;
            this.Material = rhs.Material;
            this.Caliber = rhs.Caliber;
            this.Code = rhs.Code;
            this.DbId = rhs.DbId;
            this.ModelType = rhs.ModelType;
        }
        /// <summary>
        /// ID
@@ -25,27 +14,6 @@
        public long ID { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        ///修改前Dbid
        /// </summary>
        [DisplayName("Dbid")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        ///修改后Dbid
        /// </summary>
        [DisplayName("MatchingDbid")]
        [Browsable(false)]
        public long? MatchingDbid { get; set; }
        /// <summary>
        /// ç¼–码
        /// </summary>
        [DisplayName("编码")]
@@ -53,11 +21,32 @@
        public string Code { get; set; }
        /// <summary>
        /// åž‹å·å
        /// åç§°
        /// </summary>
        [DisplayName("型号名")]
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// åž‹å·
        /// </summary>
        [DisplayName("型号")]
        [Browsable(true)]
        public string ModelType { get; set; }
        /// <summary>
        /// DbId
        /// </summary>
        [DisplayName("DbId")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        /// æè´¨
@@ -67,32 +56,11 @@
        public string Material { get; set; }
        /// <summary>
        ///修改后材质
        /// </summary>
        [DisplayName("修改后材质")]
        [Browsable(true)]
        public string MatchingMaterial { get; set; }
        /// <summary>
        /// å£å¾„
        /// </summary>
        [DisplayName("口径")]
        [Browsable(true)]
        public double? Caliber { get; set; }
        /// <summary>
        ///修改后口径
        /// </summary>
        [DisplayName("修改后口径")]
        [Browsable(true)]
        public string MatchingCaliber { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("是否锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// æŸå¤±ç³»æ•°
@@ -101,10 +69,42 @@
        [Browsable(true)]
        public double? MinorLoss { get; set; }
        /// <summary>
        ///修改后损失系数
        /// åŒ¹é…åž‹å·
        /// </summary>
        [DisplayName("修改后损失系数")]
        [DisplayName("匹配型号")]
        [Browsable(true)]
        public string MatchingModelType { get; set; }
        /// <summary>
        /// åŒ¹é…Dbid
        /// </summary>
        [DisplayName("MatchingDbId")]
        [Browsable(false)]
        public string MatchingDbId { get; set; }
        /// <summary>
        /// åŒ¹é…æè´¨
        /// </summary>
        [DisplayName("匹配材质")]
        [Browsable(true)]
        public string MatchingMaterial { get; set; }
        /// <summary>
        /// åŒ¹é…å£å¾„
        /// </summary>
        [DisplayName("匹配口径")]
        [Browsable(true)]
        public double? MatchingCaliber { get; set; }
        /// <summary>
        /// åŒ¹é…æŸå¤±ç³»æ•°
        /// </summary>
        [DisplayName("匹配损失系数")]
        [Browsable(true)]
        public double? MatchingMinorLoss { get; set; }
    }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/FourlinkMatchingViewModel.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ThreeLinkMatchingViewModel.cs ÐÞ¸Ä
@@ -1,21 +1,10 @@
namespace HStation.WinFrmUI
{
    public class ThreeLinkMatchingViewModel
    /// <summary>
    /// å››é€šåŒ¹é…ViewModel
    /// </summary>
    public class FourlinkMatchingViewModel
    {
        public ThreeLinkMatchingViewModel()
        {
        }
        public ThreeLinkMatchingViewModel(ThreeLinkMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbLocked = rhs.DbLocked;
            this.Material = rhs.Material;
            this.Caliber = rhs.Caliber;
            this.Code = rhs.Code;
            this.DbId = rhs.DbId;
            this.ModelType = rhs.ModelType;
        }
        /// <summary>
        /// ID
@@ -25,27 +14,6 @@
        public long ID { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        ///修改前Dbid
        /// </summary>
        [DisplayName("Dbid")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        ///修改后Dbid
        /// </summary>
        [DisplayName("MatchingDbid")]
        [Browsable(false)]
        public long? MatchingDbid { get; set; }
        /// <summary>
        /// ç¼–码
        /// </summary>
        [DisplayName("编码")]
@@ -53,11 +21,32 @@
        public string Code { get; set; }
        /// <summary>
        /// åž‹å·å
        /// åç§°
        /// </summary>
        [DisplayName("型号名")]
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// åž‹å·
        /// </summary>
        [DisplayName("型号")]
        [Browsable(true)]
        public string ModelType { get; set; }
        /// <summary>
        /// DbId
        /// </summary>
        [DisplayName("DbId")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        /// æè´¨
@@ -67,32 +56,11 @@
        public string Material { get; set; }
        /// <summary>
        ///修改后材质
        /// </summary>
        [DisplayName("修改后材质")]
        [Browsable(true)]
        public string MatchingMaterial { get; set; }
        /// <summary>
        /// å£å¾„
        /// </summary>
        [DisplayName("口径")]
        [Browsable(true)]
        public double? Caliber { get; set; }
        /// <summary>
        ///修改后口径
        /// </summary>
        [DisplayName("修改后口径")]
        [Browsable(true)]
        public string MatchingCaliber { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("是否锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// æŸå¤±ç³»æ•°
@@ -101,10 +69,42 @@
        [Browsable(true)]
        public double? MinorLoss { get; set; }
        /// <summary>
        ///修改后损失系数
        /// åŒ¹é…åž‹å·
        /// </summary>
        [DisplayName("修改后损失系数")]
        [DisplayName("匹配型号")]
        [Browsable(true)]
        public string MatchingModelType { get; set; }
        /// <summary>
        /// åŒ¹é…Dbid
        /// </summary>
        [DisplayName("MatchingDbId")]
        [Browsable(false)]
        public string MatchingDbId { get; set; }
        /// <summary>
        /// åŒ¹é…æè´¨
        /// </summary>
        [DisplayName("匹配材质")]
        [Browsable(true)]
        public string MatchingMaterial { get; set; }
        /// <summary>
        /// åŒ¹é…å£å¾„
        /// </summary>
        [DisplayName("匹配口径")]
        [Browsable(true)]
        public double? MatchingCaliber { get; set; }
        /// <summary>
        /// åŒ¹é…æŸå¤±ç³»æ•°
        /// </summary>
        [DisplayName("匹配损失系数")]
        [Browsable(true)]
        public double? MatchingMinorLoss { get; set; }
    }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/PipeMatchingViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,132 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    /// ç®¡é“匹配ViewModel
    /// </summary>
    public class PipeMatchingViewModel
    {
        /// <summary>
        /// ID
        /// </summary>
        [DisplayName("ID")]
        [Browsable(false)]
        public long ID { get; set; }
        /// <summary>
        /// ç¼–码
        /// </summary>
        [DisplayName("编码")]
        [Browsable(true)]
        public string Code { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("是否锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// åž‹å·
        /// </summary>
        [DisplayName("型号")]
        [Browsable(true)]
        public string ModelType { get; set; }
        /// <summary>
        ///修改前Dbid
        /// </summary>
        [DisplayName("Dbid")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        /// ç›´å¾„
        /// </summary>
        [DisplayName("直径")]
        [Browsable(true)]
        public double Diameter { get; set; }
        /// <summary>
        /// æè´¨
        /// </summary>
        [DisplayName("材质")]
        [Browsable(true)]
        public string Material { get; set; }
        /// <summary>
        /// ç²—糙系数
        /// </summary>
        [DisplayName("粗糙系数")]
        [Browsable(true)]
        public double Roughness { get; set; }
        /// <summary>
        /// æŸå¤±ç³»æ•°
        /// </summary>
        [DisplayName("损失系数")]
        [Browsable(true)]
        public double MinorLoss { get; set; }
        /// <summary>
        /// ç®—法类型
        /// </summary>
        [DisplayName("算法类型")]
        [Browsable(false)]
        public HStation.Assets.eAlgorithmType eAlgorithmType { get; set; }
        /// <summary>
        /// åŒ¹é…åž‹å·
        /// </summary>
        [DisplayName("匹配型号")]
        [Browsable(true)]
        public string MatchingModelType { get; set; }
        /// <summary>
        /// åŒ¹é…Dbid
        /// </summary>
        [DisplayName("MatchingDbId")]
        [Browsable(false)]
        public string MatchingDbId { get; set; }
        /// <summary>
        /// åŒ¹é…ç›´å¾„
        /// </summary>
        [DisplayName("匹配直径")]
        [Browsable(true)]
        public double? MatchingDiameter { get; set; }
        /// <summary>
        /// åŒ¹é…æè´¨
        /// </summary>
        [DisplayName("匹配材质")]
        [Browsable(true)]
        public string MatchingMaterial { get; set; }
        /// <summary>
        /// åŒ¹é…ç²—糙系数
        /// </summary>
        [DisplayName("匹配粗糙系数")]
        [Browsable(true)]
        public double? MatchingRoughness { get; set; }
        /// <summary>
        /// åŒ¹é…æŸå¤±ç³»æ•°
        /// </summary>
        [DisplayName("匹配损失系数")]
        [Browsable(true)]
        public double? MatchingMinorLoss { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/PumpMatchingViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,159 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    /// æ°´æ³µåŒ¹é…ViewModel
    /// </summary>
    public class PumpMatchingViewModel
    {
        /// <summary>
        /// ID
        /// </summary>
        [DisplayName("ID")]
        [Browsable(false)]
        public long ID { get; set; }
        /// <summary>
        /// ç¼–码
        /// </summary>
        [DisplayName("编码")]
        [Browsable(true)]
        public string Code { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// åž‹å·
        /// </summary>
        [DisplayName("型号")]
        [Browsable(true)]
        public string ModelType { get; set; }
        /// <summary>
        /// DbId
        /// </summary>
        [DisplayName("DbId")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        /// CurveDbId
        /// </summary>
        [DisplayName("CurveDbId")]
        [Browsable(false)]
        public string CurveDbId { get; set; }
        /// <summary>
        /// é¢å®šåŠŸçŽ‡
        /// </summary>
        [DisplayName("额定功率")]
        [Browsable(true)]
        public double RatedP { get; set; }
        /// <summary>
        ///  é¢å®šæµé‡
        /// </summary>
        [DisplayName("额定流量")]
        [Browsable(true)]
        public double? RatedQ { get; set; }
        /// <summary>
        /// é¢å®šæ‰¬ç¨‹
        /// </summary>
        [DisplayName("额定扬程")]
        [Browsable(true)]
        public double? RatedH { get; set; }
        /// <summary>
        /// é¢å®šè½¬é€Ÿ
        /// </summary>
        [DisplayName("额定转速")]
        [Browsable(true)]
        public double? RatedN { get; set; }
        /// <summary>
        /// åŒ¹é…åž‹å·
        /// </summary>
        [DisplayName("匹配型号")]
        [Browsable(true)]
        public string MatchingModelType { get; set; }
        /// <summary>
        /// åŒ¹é…DbId
        /// </summary>
        [DisplayName("匹配DbId")]
        [Browsable(false)]
        public string MatchingDbId { get; set; }
        /// <summary>
        /// åŒ¹é…CurveDbId
        /// </summary>
        [DisplayName("匹配CurveDbId")]
        [Browsable(false)]
        public string MatchingCurveDbId { get; set; }
        /// <summary>
        /// åŒ¹é…é¢å®šåŠŸçŽ‡
        /// </summary>
        [DisplayName("匹配额定功率")]
        [Browsable(true)]
        public double? MatchingRatedP { get; set; }
        /// <summary>
        ///  åŒ¹é…é¢å®šæµé‡
        /// </summary>
        [DisplayName("匹配额定流量")]
        [Browsable(true)]
        public double? MatchingRatedQ { get; set; }
        /// <summary>
        /// åŒ¹é…é¢å®šæ‰¬ç¨‹
        /// </summary>
        [DisplayName("匹配额定扬程")]
        [Browsable(true)]
        public double? MatchingRatedH { get; set; }
        /// <summary>
        /// åŒ¹é…é¢å®šè½¬é€Ÿ
        /// </summary>
        [DisplayName("匹配额定转速")]
        [Browsable(true)]
        public double? MatchingRatedN { get; set; }
        /// <summary>
        /// åŒ¹é…æµé‡æ‰¬ç¨‹æ›²çº¿
        /// </summary>
        [DisplayName("匹配流量扬程曲线")]
        [Browsable(false)]
        public List<CurvePointMatchingViewModel> MatchingCurveQH { get; set; }
        /// <summary>
        /// åŒ¹é…æµé‡åŠŸçŽ‡æ›²çº¿
        /// </summary>
        [DisplayName("匹配流量功率曲线")]
        [Browsable(false)]
        public List<CurvePointMatchingViewModel> MatchingCurveQP { get; set; }
        /// <summary>
        /// åŒ¹é…æµé‡æ•ˆçŽ‡æ›²çº¿
        /// </summary>
        [DisplayName("匹配流量效率曲线")]
        [Browsable(false)]
        public List<CurvePointMatchingViewModel> MatchingCurveQE { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/ThreelinkMatchingViewModel.cs
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ThreeLinkMatchingViewModel.cs copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/ThreelinkMatchingViewModel.cs
Îļþ´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/01-ViewModel/ThreeLinkMatchingViewModel.cs ¸´ÖÆ
@@ -1,21 +1,10 @@
namespace HStation.WinFrmUI
{
    public class ThreeLinkMatchingViewModel
    /// <summary>
    /// ä¸‰é€šåŒ¹é…ViewModel
    /// </summary>
    public class ThreelinkMatchingViewModel
    {
        public ThreeLinkMatchingViewModel()
        {
        }
        public ThreeLinkMatchingViewModel(ThreeLinkMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbLocked = rhs.DbLocked;
            this.Material = rhs.Material;
            this.Caliber = rhs.Caliber;
            this.Code = rhs.Code;
            this.DbId = rhs.DbId;
            this.ModelType = rhs.ModelType;
        }
        /// <summary>
        /// ID
@@ -25,27 +14,6 @@
        public long ID { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        ///修改前Dbid
        /// </summary>
        [DisplayName("Dbid")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        ///修改后Dbid
        /// </summary>
        [DisplayName("MatchingDbid")]
        [Browsable(false)]
        public long? MatchingDbid { get; set; }
        /// <summary>
        /// ç¼–码
        /// </summary>
        [DisplayName("编码")]
@@ -53,11 +21,32 @@
        public string Code { get; set; }
        /// <summary>
        /// åž‹å·å
        /// åç§°
        /// </summary>
        [DisplayName("型号名")]
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// åž‹å·
        /// </summary>
        [DisplayName("型号")]
        [Browsable(true)]
        public string ModelType { get; set; }
        /// <summary>
        /// DbId
        /// </summary>
        [DisplayName("DbId")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        /// æè´¨
@@ -67,32 +56,11 @@
        public string Material { get; set; }
        /// <summary>
        ///修改后材质
        /// </summary>
        [DisplayName("修改后材质")]
        [Browsable(true)]
        public string MatchingMaterial { get; set; }
        /// <summary>
        /// å£å¾„
        /// </summary>
        [DisplayName("口径")]
        [Browsable(true)]
        public double? Caliber { get; set; }
        /// <summary>
        ///修改后口径
        /// </summary>
        [DisplayName("修改后口径")]
        [Browsable(true)]
        public string MatchingCaliber { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("是否锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// æŸå¤±ç³»æ•°
@@ -101,10 +69,42 @@
        [Browsable(true)]
        public double? MinorLoss { get; set; }
        /// <summary>
        ///修改后损失系数
        /// åŒ¹é…åž‹å·
        /// </summary>
        [DisplayName("修改后损失系数")]
        [DisplayName("匹配型号")]
        [Browsable(true)]
        public string MatchingModelType { get; set; }
        /// <summary>
        /// åŒ¹é…Dbid
        /// </summary>
        [DisplayName("MatchingDbId")]
        [Browsable(false)]
        public string MatchingDbId { get; set; }
        /// <summary>
        /// åŒ¹é…æè´¨
        /// </summary>
        [DisplayName("匹配材质")]
        [Browsable(true)]
        public string MatchingMaterial { get; set; }
        /// <summary>
        /// åŒ¹é…å£å¾„
        /// </summary>
        [DisplayName("匹配口径")]
        [Browsable(true)]
        public double? MatchingCaliber { get; set; }
        /// <summary>
        /// åŒ¹é…æŸå¤±ç³»æ•°
        /// </summary>
        [DisplayName("匹配损失系数")]
        [Browsable(true)]
        public double? MatchingMinorLoss { get; set; }
    }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/01-viewmodel/ValveMatchingViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,144 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    /// é˜€é—¨åŒ¹é…ViewModel
    /// </summary>
    public class ValveMatchingViewModel
    {
        /// <summary>
        /// ID
        /// </summary>
        [DisplayName("ID")]
        [Browsable(false)]
        public long ID { get; set; }
        /// <summary>
        /// ç¼–码
        /// </summary>
        [DisplayName("编码")]
        [Browsable(true)]
        public string Code { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// Db锁定
        /// </summary>
        [DisplayName("锁定")]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        /// <summary>
        /// åž‹å·
        /// </summary>
        [DisplayName("型号")]
        [Browsable(true)]
        public string ModelType { get; set; }
        /// <summary>
        /// DbId
        /// </summary>
        [DisplayName("DbId")]
        [Browsable(false)]
        public string DbId { get; set; }
        /// <summary>
        /// ç›´å¾„
        /// </summary>
        [DisplayName("直径")]
        [Browsable(true)]
        public double Diameter { get; set; }
        /// <summary>
        /// æè´¨
        /// </summary>
        [DisplayName("材质")]
        [Browsable(true)]
        public string Material { get; set; }
        /// <summary>
        /// æŸå¤±ç³»æ•°
        /// </summary>
        [DisplayName("损失系数")]
        [Browsable(true)]
        public double MinorLoss { get; set; }
        /// <summary>
        /// é˜€é—¨ç±»åž‹
        /// </summary>
        [DisplayName("阀门类型")]
        [Browsable(true)]
        public string ValveType { get; set; }
        /// <summary>
        /// é˜€é—¨è®¾ç½®
        /// </summary>
        [DisplayName("阀门设置")]
        [Browsable(true)]
        public string ValveSetting { get; set; }
        /// <summary>
        /// åŒ¹é…åž‹å·
        /// </summary>
        [DisplayName("匹配型号")]
        [Browsable(true)]
        public string MatchingModelType { get; set; }
        /// <summary>
        /// åŒ¹é…Dbid
        /// </summary>
        [DisplayName("MatchingDbId")]
        [Browsable(false)]
        public string MatchingDbId { get; set; }
        /// <summary>
        /// åŒ¹é…ç›´å¾„
        /// </summary>
        [DisplayName("匹配直径")]
        [Browsable(true)]
        public double? MatchingDiameter { get; set; }
        /// <summary>
        /// åŒ¹é…æè´¨
        /// </summary>
        [DisplayName("匹配材质")]
        [Browsable(true)]
        public string MatchingMaterial { get; set; }
        /// <summary>
        /// åŒ¹é…æŸå¤±ç³»æ•°
        /// </summary>
        [DisplayName("匹配损失系数")]
        [Browsable(true)]
        public double? MatchingMinorLoss { get; set; }
        /// <summary>
        /// åŒ¹é…é˜€é—¨ç±»åž‹
        /// </summary>
        [DisplayName("匹配阀门类型")]
        [Browsable(true)]
        public string MatchingValveType { get; set; }
        /// <summary>
        /// åŒ¹é…é˜€é—¨è®¾ç½®
        /// </summary>
        [DisplayName("匹配阀门设置")]
        [Browsable(true)]
        public string MatchingValveSetting { get; set; }
        /// <summary>
        /// åŒ¹é…æ°´å¤´æŸå¤±æ›²çº¿
        /// </summary>
        [DisplayName("匹配水头损失曲线")]
        [Browsable(false)]
        public List<CurvePointMatchingViewModel> MatchingCurveQL { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/02-pump/XhsProjectSimulationPumpMatchingListCtrl.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class PumpMatchingCtrl
    partial class XhsProjectSimulationPumpMatchingListCtrl
    {
        /// <summary> 
        /// Required designer variable.
@@ -63,7 +63,7 @@
            // 
            // pumpFormViewModelBindingSource
            // 
            pumpFormViewModelBindingSource.DataSource = typeof(PumpFormViewModel);
            pumpFormViewModelBindingSource.DataSource = typeof(XhsProjectSimulationPumpMatchingViewModel);
            // 
            // gridView1
            // 
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/02-pump/XhsProjectSimulationPumpMatchingListCtrl.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PumpMatchingCtrl.cs ÐÞ¸Ä
@@ -1,8 +1,8 @@
namespace HStation.WinFrmUI
{
    public partial class PumpMatchingCtrl : DevExpress.XtraEditors.XtraUserControl
    public partial class XhsProjectSimulationPumpMatchingListCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public PumpMatchingCtrl()
        public XhsProjectSimulationPumpMatchingListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
@@ -10,7 +10,7 @@
            this.gridView1.OptionsView.ShowGroupPanel = false;
        }
        private List<PumpFormViewModel> _allBindingList = new List<PumpFormViewModel>();
        private List<XhsProjectSimulationPumpMatchingViewModel> _allBindingList = new List<XhsProjectSimulationPumpMatchingViewModel>();
        /// <summary>
        /// ç‚¹å‡»äº‹ä»¶
@@ -23,7 +23,7 @@
            {
                foreach (var item in pumpMatchingViewModel)
                {
                    _allBindingList.Add(new PumpFormViewModel(item));
                    _allBindingList.Add(new XhsProjectSimulationPumpMatchingViewModel(item));
                }
            }
            this.pumpFormViewModelBindingSource.DataSource = _allBindingList;
@@ -49,7 +49,7 @@
            _allBindingList.Clear();
            foreach (var item in finishList)
            {
                _allBindingList.Add(new PumpFormViewModel(item));
                _allBindingList.Add(new XhsProjectSimulationPumpMatchingViewModel(item));
            }
            this.pumpFormViewModelBindingSource.ResetBindings(false);
            return finishList;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/02-pump/XhsProjectSimulationPumpMatchingListCtrl.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/02-pump/XhsProjectSimulationPumpMatchingViewModel.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/PumpFormViewModel.cs ÐÞ¸Ä
@@ -2,12 +2,12 @@
namespace HStation.WinFrmUI
{
    public class PumpFormViewModel
    public class XhsProjectSimulationPumpMatchingViewModel
    {
        public PumpFormViewModel()
        public XhsProjectSimulationPumpMatchingViewModel()
        { }
        public PumpFormViewModel(PumpMatchingViewModel rhs)
        public XhsProjectSimulationPumpMatchingViewModel(PumpMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbID = rhs.DbId;
@@ -18,19 +18,19 @@
            this.RatedP = rhs.RatedP;
            this.RatedQ = rhs.RatedQ;
            this.MatchingRatedP = rhs.MatchingRatedP;
            this.MatchingDbID = rhs.MatchingDbID;
            this.MatchingChartDbID = rhs.MatchingChartDbID;
            this.MatchingDbID = rhs.MatchingDbId;
            this.MatchingChartDbID = rhs.MatchingCurveDbId;
            this.MatchingRatedH = rhs.MatchingRatedH;
            this.MatchingRatedN = rhs.MatchingRatedN;
            this.MatchingRatedP = rhs.MatchingRatedP;
            this.MatchingRatedQ = rhs.MatchingRatedQ;
            if (rhs.DbId == null)
            {
                MatchingType = eMatchingType.Error;
                MatchingType = eMatchingStatus.Failed;
            }
            else
            {
                MatchingType = eMatchingType.Success;
                MatchingType = eMatchingStatus.Succeed;
            }
        }
@@ -143,6 +143,6 @@
        /// </summary>
        [DisplayName("是否匹配成功")]
        [Browsable(true)]
        public eMatchingType MatchingType { get; set; }
        public eMatchingStatus MatchingType { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingListCtrl.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class ValveMatchingCtrl
    partial class XhsProjectSimulationValveMatchingListCtrl
    {
        /// <summary> 
        /// Required designer variable.
@@ -61,7 +61,7 @@
            // 
            // valveFormViewModelBindingSource
            // 
            valveFormViewModelBindingSource.DataSource = typeof(ValveFormViewModel);
            valveFormViewModelBindingSource.DataSource = typeof(XhsProjectSimulationValveMatchingViewModel);
            // 
            // gridView1
            // 
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingListCtrl.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ValveMatchingCtrl.cs ÐÞ¸Ä
@@ -1,8 +1,8 @@
namespace HStation.WinFrmUI
{
    public partial class ValveMatchingCtrl : DevExpress.XtraEditors.XtraUserControl
    public partial class XhsProjectSimulationValveMatchingListCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public ValveMatchingCtrl()
        public XhsProjectSimulationValveMatchingListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
@@ -10,7 +10,7 @@
            this.gridView1.OptionsView.ShowGroupPanel = false;
        }
        private List<ValveFormViewModel> _allBindingList = new List<ValveFormViewModel>();
        private List<XhsProjectSimulationValveMatchingViewModel> _allBindingList = new List<XhsProjectSimulationValveMatchingViewModel>();
        /// <summary>
        /// ç‚¹å‡»äº‹ä»¶
@@ -23,7 +23,7 @@
            {
                foreach (var item in valveMatchingViewModels)
                {
                    _allBindingList.Add(new ValveFormViewModel(item));
                    _allBindingList.Add(new XhsProjectSimulationValveMatchingViewModel(item));
                }
                this.valveFormViewModelBindingSource.DataSource = _allBindingList;
            }
@@ -49,7 +49,7 @@
            _allBindingList.Clear();
            foreach (var item in finishList)
            {
                _allBindingList.Add(new ValveFormViewModel(item));
                _allBindingList.Add(new XhsProjectSimulationValveMatchingViewModel(item));
            }
            this.valveFormViewModelBindingSource.ResetBindings(false);
            return finishList;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingListCtrl.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingViewModel.cs
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/ValveFormViewModel.cs copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/03-valve/XhsProjectSimulationValveMatchingViewModel.cs
Îļþ´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/ValveFormViewModel.cs ¸´ÖÆ
@@ -2,32 +2,32 @@
namespace HStation.WinFrmUI
{
    public class ValveFormViewModel
    public class XhsProjectSimulationValveMatchingViewModel
    {
        public ValveFormViewModel()
        public XhsProjectSimulationValveMatchingViewModel()
        {
        }
        public ValveFormViewModel(ValveMatchingViewModel rhs)
        public XhsProjectSimulationValveMatchingViewModel(ValveMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbLocked = rhs.DbLocked;
            this.Material = rhs.Material;
            this.Caliber = rhs.Caliber;
            this.Caliber = rhs.Diameter;
            this.Code = rhs.Code;
            this.DbId = rhs.DbId;
            this.ModelType = rhs.ModelType;
            this.MatchingCaliber = rhs.MatchingCaliber;
            this.MatchingCaliber = rhs.MatchingDiameter;
            this.MatchingMinorLoss = rhs.MatchingMinorLoss;
            this.MatchingDbid = rhs.MatchingDbid;
            this.MatchingDbid = rhs.MatchingDbId;
            this.MatchingMaterial = rhs.MatchingMaterial;
            if (rhs.DbId == null)
            {
                MatchingType = eMatchingType.Error;
                MatchingType = eMatchingStatus.Failed;
            }
            else
            {
                MatchingType = eMatchingType.Success;
                MatchingType = eMatchingStatus.Succeed;
            }
        }
@@ -127,6 +127,6 @@
        /// </summary>
        [DisplayName("是否匹配成功")]
        [Browsable(true)]
        public eMatchingType MatchingType { get; set; }
        public eMatchingStatus MatchingType { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/04-pipe/XhsProjectSimulationPipeMatchingListCtrl.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class PipeLineMatchingCtrl
    partial class XhsProjectSimulationPipeMatchingListCtrl
    {
        /// <summary> 
        /// Required designer variable.
@@ -61,7 +61,7 @@
            // 
            // pipeLineFormViewModelBindingSource
            // 
            pipeLineFormViewModelBindingSource.DataSource = typeof(PipeLineFormViewModel);
            pipeLineFormViewModelBindingSource.DataSource = typeof(XhsProjectSimulationPipeMatchingViewModel);
            // 
            // gridView1
            // 
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/04-pipe/XhsProjectSimulationPipeMatchingListCtrl.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/PipeLineMatchingCtrl.cs ÐÞ¸Ä
@@ -1,8 +1,8 @@
namespace HStation.WinFrmUI
{
    public partial class PipeLineMatchingCtrl : DevExpress.XtraEditors.XtraUserControl
    public partial class XhsProjectSimulationPipeMatchingListCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public PipeLineMatchingCtrl()
        public XhsProjectSimulationPipeMatchingListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
@@ -10,32 +10,32 @@
            this.gridView1.OptionsView.ShowGroupPanel = false;
        }
        private List<PipeLineFormViewModel> _allBindingList = new List<PipeLineFormViewModel>();
        private List<XhsProjectSimulationPipeMatchingViewModel> _allBindingList = new List<XhsProjectSimulationPipeMatchingViewModel>();
        /// <summary>
        /// ç‚¹å‡»äº‹ä»¶
        /// </summary>
        public event Action<string> RowClickEvent;
        public void SetBindingData(List<PipeLineMatchingViewModel> pipeLineMatchingViewModels)
        public void SetBindingData(List<PipeMatchingViewModel> pipeLineMatchingViewModels)
        {
            if (pipeLineMatchingViewModels != null)
            {
                foreach (var item in pipeLineMatchingViewModels)
                {
                    _allBindingList.Add(new PipeLineFormViewModel(item));
                    _allBindingList.Add(new XhsProjectSimulationPipeMatchingViewModel(item));
                }
                this.pipeLineFormViewModelBindingSource.DataSource = _allBindingList;
            }
        }
        public List<PipeLineMatchingViewModel> SetMatching(List<PipeLineMatchingViewModel> inputs, List<PipeLineManageVmo> alllist)
        public List<PipeMatchingViewModel> SetMatching(List<PipeMatchingViewModel> inputs, List<PipeLineManageVmo> alllist)
        {
            if (inputs == null)
            {
                return null;
            }
            var finishList = new List<PipeLineMatchingViewModel>();
            var finishList = new List<PipeMatchingViewModel>();
            foreach (var item in inputs)
            {
                var result = AssetsMatchingHelper.MatchingPipes(item, alllist);
@@ -51,7 +51,7 @@
            _allBindingList.Clear();
            foreach (var item in finishList)
            {
                _allBindingList.Add(new PipeLineFormViewModel(item));
                _allBindingList.Add(new XhsProjectSimulationPipeMatchingViewModel(item));
            }
            this.pipeLineFormViewModelBindingSource.ResetBindings(false);
            return finishList;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/04-pipe/XhsProjectSimulationPipeMatchingListCtrl.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/04-pipe/XhsProjectSimulationPipeMatchingViewModel.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/PipeLineFormViewModel.cs ÐÞ¸Ä
@@ -2,13 +2,13 @@
namespace HStation.WinFrmUI
{
    public class PipeLineFormViewModel
    public class XhsProjectSimulationPipeMatchingViewModel
    {
        public PipeLineFormViewModel()
        public XhsProjectSimulationPipeMatchingViewModel()
        {
        }
        public PipeLineFormViewModel(PipeLineMatchingViewModel rhs)
        public XhsProjectSimulationPipeMatchingViewModel(PipeMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbLocked = rhs.DbLocked;
@@ -25,11 +25,11 @@
            if (rhs.DbId == null)
            {
                MatchingType = eMatchingType.Error;
                MatchingType = eMatchingStatus.Failed;
            }
            else
            {
                MatchingType = eMatchingType.Success;
                MatchingType = eMatchingStatus.Succeed;
            }
        }
@@ -129,7 +129,7 @@
        /// </summary>
        [DisplayName("是否匹配成功")]
        [Browsable(true)]
        public eMatchingType MatchingType { get; set; }
        public eMatchingStatus MatchingType { get; set; }
        /// <summary>
        /// ç®—法类型
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingListCtrl.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ElbowsMatchingCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class ElbowsMatchingCtrl
    partial class XhsProjectSimulationElbowsMatchingListCtrl
    {
        /// <summary> 
        /// Required designer variable.
@@ -61,7 +61,7 @@
            // 
            // elbowsFormViewModelBindingSource
            // 
            elbowsFormViewModelBindingSource.DataSource = typeof(ElbowsFormViewModel);
            elbowsFormViewModelBindingSource.DataSource = typeof(XhsProjectSimulationElbowsMatchingViewModel);
            // 
            // gridView1
            // 
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingListCtrl.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ElbowsMatchingCtrl.cs ÐÞ¸Ä
@@ -1,8 +1,8 @@
namespace HStation.WinFrmUI
{
    public partial class ElbowsMatchingCtrl : DevExpress.XtraEditors.XtraUserControl
    public partial class XhsProjectSimulationElbowsMatchingListCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public ElbowsMatchingCtrl()
        public XhsProjectSimulationElbowsMatchingListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
@@ -10,7 +10,7 @@
            this.gridView1.OptionsView.ShowGroupPanel = false;
        }
        private List<ElbowsFormViewModel> _allBindingList = new List<ElbowsFormViewModel>();
        private List<XhsProjectSimulationElbowsMatchingViewModel> _allBindingList = new List<XhsProjectSimulationElbowsMatchingViewModel>();
        /// <summary>
        /// ç‚¹å‡»äº‹ä»¶
@@ -23,7 +23,7 @@
            {
                foreach (var item in elbowsMatchingViewModels)
                {
                    _allBindingList.Add(new ElbowsFormViewModel(item));
                    _allBindingList.Add(new XhsProjectSimulationElbowsMatchingViewModel(item));
                }
                this.elbowsFormViewModelBindingSource.DataSource = _allBindingList;
            }
@@ -49,7 +49,7 @@
            _allBindingList.Clear();
            foreach (var item in resultList)
            {
                _allBindingList.Add(new ElbowsFormViewModel(item));
                _allBindingList.Add(new XhsProjectSimulationElbowsMatchingViewModel(item));
            }
            this.elbowsFormViewModelBindingSource.ResetBindings(false);
            return resultList;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingListCtrl.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingViewModel.cs
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/ValveFormViewModel.cs copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/05-elbows/XhsProjectSimulationElbowsMatchingViewModel.cs
Îļþ´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/ValveFormViewModel.cs ¸´ÖÆ
@@ -2,32 +2,33 @@
namespace HStation.WinFrmUI
{
    public class ValveFormViewModel
    public class XhsProjectSimulationElbowsMatchingViewModel
    {
        public ValveFormViewModel()
        public XhsProjectSimulationElbowsMatchingViewModel()
        {
        }
        public ValveFormViewModel(ValveMatchingViewModel rhs)
        public XhsProjectSimulationElbowsMatchingViewModel(ElbowsMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbLocked = rhs.DbLocked;
            this.Material = rhs.Material;
            this.Caliber = rhs.Caliber;
            this.Code = rhs.Code;
            this.DbId = rhs.DbId;
            this.Dbid = rhs.DbId;
            this.ModelType = rhs.ModelType;
            this.MatchingCaliber = rhs.MatchingCaliber;
            this.MatchingMinorLoss = rhs.MatchingMinorLoss;
            this.MatchingDbid = rhs.MatchingDbid;
            this.MatchingDbid = rhs.MatchingDbId;
            this.MatchingMaterial = rhs.MatchingMaterial;
            if (rhs.DbId == null)
            {
                MatchingType = eMatchingType.Error;
                MatchingType = eMatchingStatus.Failed;
            }
            else
            {
                MatchingType = eMatchingType.Success;
                MatchingType = eMatchingStatus.Succeed;
            }
        }
@@ -50,7 +51,7 @@
        /// </summary>
        [DisplayName("Dbid")]
        [Browsable(false)]
        public string DbId { get; set; }
        public string Dbid { get; set; }
        /// <summary>
        ///修改后Dbid
@@ -127,6 +128,6 @@
        /// </summary>
        [DisplayName("是否匹配成功")]
        [Browsable(true)]
        public eMatchingType MatchingType { get; set; }
        public eMatchingStatus MatchingType { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/06-threelink/XhsProjectSimulationThreelinkMatchingListCtrl.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ThreeLinkMatchingCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class ThreeLinkMatchingCtrl
    partial class XhsProjectSimulationThreelinkMatchingListCtrl
    {
        /// <summary> 
        /// Required designer variable.
@@ -61,7 +61,7 @@
            // 
            // threeLinkFormViewModelBindingSource
            // 
            threeLinkFormViewModelBindingSource.DataSource = typeof(ThreeLinkFormViewModel);
            threeLinkFormViewModelBindingSource.DataSource = typeof(XhsProjectSimulationThreelinkMatchingViewModel);
            // 
            // gridView1
            // 
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/06-threelink/XhsProjectSimulationThreelinkMatchingListCtrl.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/ThreeLinkMatchingCtrl.cs ÐÞ¸Ä
@@ -2,9 +2,9 @@
namespace HStation.WinFrmUI
{
    public partial class ThreeLinkMatchingCtrl : DevExpress.XtraEditors.XtraUserControl
    public partial class XhsProjectSimulationThreelinkMatchingListCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public ThreeLinkMatchingCtrl()
        public XhsProjectSimulationThreelinkMatchingListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
@@ -12,30 +12,30 @@
            this.gridView1.OptionsView.ShowGroupPanel = false;
        }
        private List<ThreeLinkFormViewModel> _allBindingList = new List<ThreeLinkFormViewModel>();
        private List<XhsProjectSimulationThreelinkMatchingViewModel> _allBindingList = new List<XhsProjectSimulationThreelinkMatchingViewModel>();
        /// <summary>
        /// ç‚¹å‡»äº‹ä»¶
        /// </summary>
        public event Action<string> RowClickEvent;
        public void SetBindingData(List<ThreeLinkMatchingViewModel> threeLinkMatchingViewModels)
        public void SetBindingData(List<ThreelinkMatchingViewModel> threeLinkMatchingViewModels)
        {
            if (threeLinkMatchingViewModels != null)
            {
                foreach (var item in threeLinkMatchingViewModels)
                {
                    _allBindingList.Add(new ThreeLinkFormViewModel(item));
                    _allBindingList.Add(new XhsProjectSimulationThreelinkMatchingViewModel(item));
                }
                this.threeLinkFormViewModelBindingSource.DataSource = _allBindingList;
            }
        }
        public List<ThreeLinkMatchingViewModel> SetMatching(List<ThreeLinkMatchingViewModel> inputs, List<AdaptingManageVmo> alllist)
        public List<ThreelinkMatchingViewModel> SetMatching(List<ThreelinkMatchingViewModel> inputs, List<AdaptingManageVmo> alllist)
        {
            if (inputs == null || inputs.Count == 0)
                return null;
            var resultList = new List<ThreeLinkMatchingViewModel>();
            var resultList = new List<ThreelinkMatchingViewModel>();
            foreach (var item in inputs)
            {
                var result = AssetsMatchingHelper.MatchingThreeLink(item, alllist);
@@ -51,7 +51,7 @@
            _allBindingList.Clear();
            foreach (var item in resultList)
            {
                _allBindingList.Add(new ThreeLinkFormViewModel(item));
                _allBindingList.Add(new XhsProjectSimulationThreelinkMatchingViewModel(item));
            }
            this.threeLinkFormViewModelBindingSource.ResetBindings(false);
            return resultList;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/06-threelink/XhsProjectSimulationThreelinkMatchingListCtrl.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/06-threelink/XhsProjectSimulationThreelinkMatchingViewModel.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/ValveFormViewModel.cs ÐÞ¸Ä
@@ -2,13 +2,13 @@
namespace HStation.WinFrmUI
{
    public class ValveFormViewModel
    public class XhsProjectSimulationThreelinkMatchingViewModel
    {
        public ValveFormViewModel()
        public XhsProjectSimulationThreelinkMatchingViewModel()
        {
        }
        public ValveFormViewModel(ValveMatchingViewModel rhs)
        public XhsProjectSimulationThreelinkMatchingViewModel(ThreelinkMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbLocked = rhs.DbLocked;
@@ -23,11 +23,11 @@
            this.MatchingMaterial = rhs.MatchingMaterial;
            if (rhs.DbId == null)
            {
                MatchingType = eMatchingType.Error;
                MatchingType = eMatchingStatus.Failed;
            }
            else
            {
                MatchingType = eMatchingType.Success;
                MatchingType = eMatchingStatus.Succeed;
            }
        }
@@ -127,6 +127,6 @@
        /// </summary>
        [DisplayName("是否匹配成功")]
        [Browsable(true)]
        public eMatchingType MatchingType { get; set; }
        public eMatchingStatus MatchingType { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/07-fourlink/XhsProjectSimulationFourlinkMatchingListCtrl.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/FourLinkMatchingCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class FourLinkMatchingCtrl
    partial class XhsProjectSimulationFourlinkMatchingListCtrl
    {
        /// <summary> 
        /// Required designer variable.
@@ -61,7 +61,7 @@
            // 
            // fourLinkFormViewModelBindingSource
            // 
            fourLinkFormViewModelBindingSource.DataSource = typeof(FourLinkFormViewModel);
            fourLinkFormViewModelBindingSource.DataSource = typeof(XhsProjectSimulationFourlinkMatchingViewModel);
            // 
            // gridView1
            // 
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/07-fourlink/XhsProjectSimulationFourlinkMatchingListCtrl.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/02-AsstesFormCtrl/FourLinkMatchingCtrl.cs ÐÞ¸Ä
@@ -1,8 +1,8 @@
namespace HStation.WinFrmUI
{
    public partial class FourLinkMatchingCtrl : DevExpress.XtraEditors.XtraUserControl
    public partial class XhsProjectSimulationFourlinkMatchingListCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public FourLinkMatchingCtrl()
        public XhsProjectSimulationFourlinkMatchingListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
@@ -10,30 +10,30 @@
            this.gridView1.OptionsView.ShowGroupPanel = false;
        }
        private List<FourLinkFormViewModel> _allBindingList = new List<FourLinkFormViewModel>();
        private List<XhsProjectSimulationFourlinkMatchingViewModel> _allBindingList = new List<XhsProjectSimulationFourlinkMatchingViewModel>();
        /// <summary>
        /// ç‚¹å‡»äº‹ä»¶
        /// </summary>
        public event Action<string> RowClickEvent;
        public void SetBindingData(List<FourLinkMatchingViewModel> fourLinkMatchingViewModels)
        public void SetBindingData(List<FourlinkMatchingViewModel> fourLinkMatchingViewModels)
        {
            if (fourLinkMatchingViewModels != null)
            {
                foreach (var item in fourLinkMatchingViewModels)
                {
                    _allBindingList.Add(new FourLinkFormViewModel(item));
                    _allBindingList.Add(new XhsProjectSimulationFourlinkMatchingViewModel(item));
                }
                this.fourLinkFormViewModelBindingSource.ResetBindings(false);
            }
        }
        public List<FourLinkMatchingViewModel> SetMatching(List<FourLinkMatchingViewModel> inputs, List<AdaptingManageVmo> alllist)
        public List<FourlinkMatchingViewModel> SetMatching(List<FourlinkMatchingViewModel> inputs, List<AdaptingManageVmo> alllist)
        {
            if (inputs == null || inputs.Count == 0)
                return null;
            var resultList = new List<FourLinkMatchingViewModel>();
            var resultList = new List<FourlinkMatchingViewModel>();
            foreach (var item in inputs)
            {
                var result = AssetsMatchingHelper.MatchingFourLink(item, alllist);
@@ -49,7 +49,7 @@
            _allBindingList.Clear();
            foreach (var item in resultList)
            {
                _allBindingList.Add(new FourLinkFormViewModel(item));
                _allBindingList.Add(new XhsProjectSimulationFourlinkMatchingViewModel(item));
            }
            this.fourLinkFormViewModelBindingSource.ResetBindings(false);
            return resultList;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/07-fourlink/XhsProjectSimulationFourlinkMatchingListCtrl.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-matching/07-fourlink/XhsProjectSimulationFourlinkMatchingViewModel.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-autoMatching/03-FormViewModel/ElbowsFormViewModel.cs ÐÞ¸Ä
@@ -2,13 +2,13 @@
namespace HStation.WinFrmUI
{
    public class ElbowsFormViewModel
    public class XhsProjectSimulationFourlinkMatchingViewModel
    {
        public ElbowsFormViewModel()
        public XhsProjectSimulationFourlinkMatchingViewModel()
        {
        }
        public ElbowsFormViewModel(ElbowsMatchingViewModel rhs)
        public XhsProjectSimulationFourlinkMatchingViewModel(FourlinkMatchingViewModel rhs)
        {
            this.ID = rhs.ID;
            this.DbLocked = rhs.DbLocked;
@@ -24,11 +24,11 @@
            if (rhs.Dbid == null)
            {
                MatchingType = eMatchingType.Error;
                MatchingType = eMatchingStatus.Failed;
            }
            else
            {
                MatchingType = eMatchingType.Success;
                MatchingType = eMatchingStatus.Succeed;
            }
        }
@@ -128,6 +128,6 @@
        /// </summary>
        [DisplayName("是否匹配成功")]
        [Browsable(true)]
        public eMatchingType MatchingType { get; set; }
        public eMatchingStatus MatchingType { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs
@@ -37,7 +37,7 @@
            barBtnSave = new DevExpress.XtraBars.BarButtonItem();
            barBtnHydroParterList = new DevExpress.XtraBars.BarButtonItem();
            barBtnShowHide = new DevExpress.XtraBars.BarButtonItem();
            barBtnAutoMatching = new DevExpress.XtraBars.BarButtonItem();
            barBtnMatching = new DevExpress.XtraBars.BarButtonItem();
            barBtnSingleMatching = new DevExpress.XtraBars.BarSubItem();
            barBtnPumpMatching = new DevExpress.XtraBars.BarButtonItem();
            barBtnValveMatching = new DevExpress.XtraBars.BarButtonItem();
@@ -51,51 +51,35 @@
            ribbonPageGroup4 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
            tabPane1 = new DevExpress.XtraBars.Navigation.TabPane();
            pageBimface = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            xhsProjectSimulationBimfaceCtrl1 = new XhsProjectSimulationBimfaceCtrl();
            pageQ3d = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            xhsProjectSimulationQ3dCtrl1 = new XhsProjectSimulationQ3dCtrl();
            tabPageL3d = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            xhsProjectSimulationL3dCtrl1 = new XhsProjectSimulationL3dCtrl();
            dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
            docPnlProperty = new DevExpress.XtraBars.Docking.DockPanel();
            dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
            xhsProjectSimulationPropertyCtrl1 = new XhsProjectSimulationPropertyCtrl();
            docPnlMatchingList = new DevExpress.XtraBars.Docking.DockPanel();
            controlContainer5 = new DevExpress.XtraBars.Docking.ControlContainer();
            assetsMainChoicePage1 = new Xhs.AssetsMainChoicePage();
            docPnlHydroParterList = new DevExpress.XtraBars.Docking.DockPanel();
            controlContainer3 = new DevExpress.XtraBars.Docking.ControlContainer();
            hydroParterListCtrl1 = new HydroParterListCtrl();
            docPnlHydroCalcu = new DevExpress.XtraBars.Docking.DockPanel();
            controlContainer2 = new DevExpress.XtraBars.Docking.ControlContainer();
            xhsProjectSimulationHydroCalcuFailedCtrl1 = new XhsProjectSimulationHydroCalcuFailedCtrl();
            docPnlHydroCheck = new DevExpress.XtraBars.Docking.DockPanel();
            controlContainer1 = new DevExpress.XtraBars.Docking.ControlContainer();
            xhsProjectSimulationHydroCheckFailedCtrl1 = new XhsProjectSimulationHydroCheckFailedCtrl();
            docPnlUnMatchingList = new DevExpress.XtraBars.Docking.DockPanel();
            controlContainer4 = new DevExpress.XtraBars.Docking.ControlContainer();
            xhsProjectSimulationUnMatchingListCtrl1 = new XhsProjectSimulationUnMatchingListCtrl();
            svgImg32 = new DevExpress.Utils.SvgImageCollection(components);
            radialMenu1 = new DevExpress.XtraBars.Ribbon.RadialMenu(components);
            ((ISupportInitialize)ribbonControl1).BeginInit();
            ((ISupportInitialize)tabPane1).BeginInit();
            tabPane1.SuspendLayout();
            pageBimface.SuspendLayout();
            pageQ3d.SuspendLayout();
            tabPageL3d.SuspendLayout();
            ((ISupportInitialize)dockManager1).BeginInit();
            docPnlProperty.SuspendLayout();
            dockPanel1_Container.SuspendLayout();
            docPnlMatchingList.SuspendLayout();
            controlContainer5.SuspendLayout();
            docPnlHydroParterList.SuspendLayout();
            controlContainer3.SuspendLayout();
            docPnlHydroCalcu.SuspendLayout();
            controlContainer2.SuspendLayout();
            docPnlHydroCheck.SuspendLayout();
            controlContainer1.SuspendLayout();
            docPnlUnMatchingList.SuspendLayout();
            controlContainer4.SuspendLayout();
            ((ISupportInitialize)svgImg32).BeginInit();
            ((ISupportInitialize)radialMenu1).BeginInit();
            SuspendLayout();
@@ -104,7 +88,7 @@
            // 
            ribbonControl1.ExpandCollapseItem.Id = 0;
            ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnHydroCheck, barBtnHydroCalcu, barBtnHydroExportInp, barBtnSave, barBtnHydroParterList, barBtnShowHide, barBtnAutoMatching, barBtnSingleMatching, barBtnPumpMatching, barBtnValveMatching, barBtnPipeMatching, barBtn, barBtnUnMatchingList });
            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnHydroCheck, barBtnHydroCalcu, barBtnHydroExportInp, barBtnSave, barBtnHydroParterList, barBtnShowHide, barBtnMatching, barBtnSingleMatching, barBtnPumpMatching, barBtnValveMatching, barBtnPipeMatching, barBtn, barBtnUnMatchingList });
            ribbonControl1.Location = new Point(0, 0);
            ribbonControl1.MaxItemId = 21;
            ribbonControl1.Name = "ribbonControl1";
@@ -163,13 +147,13 @@
            barBtnShowHide.Name = "barBtnShowHide";
            barBtnShowHide.ItemClick += barBtnShowHide_ItemClick;
            // 
            // barBtnAutoMatching
            // barBtnMatching
            // 
            barBtnAutoMatching.Caption = "自动匹配";
            barBtnAutoMatching.Id = 10;
            barBtnAutoMatching.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnAutoMatching.ImageOptions.SvgImage");
            barBtnAutoMatching.Name = "barBtnAutoMatching";
            barBtnAutoMatching.ItemClick += barBtnAutoMatching_ItemClick;
            barBtnMatching.Caption = "自动匹配";
            barBtnMatching.Id = 10;
            barBtnMatching.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnAutoMatching.ImageOptions.SvgImage");
            barBtnMatching.Name = "barBtnMatching";
            barBtnMatching.ItemClick += barBtnMatching_ItemClick;
            // 
            // barBtnSingleMatching
            // 
@@ -223,7 +207,7 @@
            // 
            // ribbonPageGroup1
            // 
            ribbonPageGroup1.ItemLinks.Add(barBtnAutoMatching);
            ribbonPageGroup1.ItemLinks.Add(barBtnMatching);
            ribbonPageGroup1.ItemLinks.Add(barBtnUnMatchingList);
            ribbonPageGroup1.ItemLinks.Add(barBtnSingleMatching);
            ribbonPageGroup1.ItemLinks.Add(barBtnShowHide);
@@ -268,49 +252,20 @@
            // pageBimface
            // 
            pageBimface.Caption = "三维模型";
            pageBimface.Controls.Add(xhsProjectSimulationBimfaceCtrl1);
            pageBimface.Name = "pageBimface";
            pageBimface.Size = new Size(886, 185);
            //
            // xhsProjectSimulationBimfaceCtrl1
            //
            xhsProjectSimulationBimfaceCtrl1.Dock = DockStyle.Fill;
            xhsProjectSimulationBimfaceCtrl1.Location = new Point(0, 0);
            xhsProjectSimulationBimfaceCtrl1.Name = "xhsProjectSimulationBimfaceCtrl1";
            xhsProjectSimulationBimfaceCtrl1.Size = new Size(886, 185);
            xhsProjectSimulationBimfaceCtrl1.TabIndex = 0;
            xhsProjectSimulationBimfaceCtrl1.HydroClickEvent += xhsProjectSimulationBimfaceCtrl1_HydroClickEvent;
            xhsProjectSimulationBimfaceCtrl1.LoadCompletedEvent += xhsProjectSimulationBimfaceCtrl1_LoadCompletedEvent;
            // 
            // pageQ3d
            // 
            pageQ3d.Caption = "水力模型";
            pageQ3d.Controls.Add(xhsProjectSimulationQ3dCtrl1);
            pageQ3d.Name = "pageQ3d";
            pageQ3d.Size = new Size(886, 185);
            //
            // xhsProjectSimulationQ3dCtrl1
            //
            xhsProjectSimulationQ3dCtrl1.Dock = DockStyle.Fill;
            xhsProjectSimulationQ3dCtrl1.Location = new Point(0, 0);
            xhsProjectSimulationQ3dCtrl1.Name = "xhsProjectSimulationQ3dCtrl1";
            xhsProjectSimulationQ3dCtrl1.Size = new Size(886, 185);
            xhsProjectSimulationQ3dCtrl1.TabIndex = 0;
            // 
            // tabPageL3d
            // 
            tabPageL3d.Caption = "L3d";
            tabPageL3d.Controls.Add(xhsProjectSimulationL3dCtrl1);
            tabPageL3d.Name = "tabPageL3d";
            tabPageL3d.Size = new Size(886, 185);
            //
            // xhsProjectSimulationL3dCtrl1
            //
            xhsProjectSimulationL3dCtrl1.Dock = DockStyle.Fill;
            xhsProjectSimulationL3dCtrl1.Location = new Point(0, 0);
            xhsProjectSimulationL3dCtrl1.Name = "xhsProjectSimulationL3dCtrl1";
            xhsProjectSimulationL3dCtrl1.Size = new Size(886, 185);
            xhsProjectSimulationL3dCtrl1.TabIndex = 0;
            // 
            // dockManager1
            // 
@@ -331,20 +286,10 @@
            // 
            // dockPanel1_Container
            // 
            dockPanel1_Container.Controls.Add(xhsProjectSimulationPropertyCtrl1);
            dockPanel1_Container.Location = new Point(4, 26);
            dockPanel1_Container.Name = "dockPanel1_Container";
            dockPanel1_Container.Size = new Size(268, 582);
            dockPanel1_Container.TabIndex = 0;
            //
            // xhsProjectSimulationPropertyCtrl1
            //
            xhsProjectSimulationPropertyCtrl1.Dock = DockStyle.Fill;
            xhsProjectSimulationPropertyCtrl1.Location = new Point(0, 0);
            xhsProjectSimulationPropertyCtrl1.Name = "xhsProjectSimulationPropertyCtrl1";
            xhsProjectSimulationPropertyCtrl1.Size = new Size(268, 582);
            xhsProjectSimulationPropertyCtrl1.TabIndex = 0;
            xhsProjectSimulationPropertyCtrl1.GetHydroInfoEvent += xhsProjectSimulationPropertyCtrl1_GetHydroInfoEvent;
            // 
            // docPnlMatchingList
            // 
@@ -360,19 +305,10 @@
            // 
            // controlContainer5
            // 
            controlContainer5.Controls.Add(assetsMainChoicePage1);
            controlContainer5.Location = new Point(3, 27);
            controlContainer5.Name = "controlContainer5";
            controlContainer5.Size = new Size(880, 29);
            controlContainer5.TabIndex = 0;
            //
            // assetsMainChoicePage1
            //
            assetsMainChoicePage1.Dock = DockStyle.Fill;
            assetsMainChoicePage1.Location = new Point(0, 0);
            assetsMainChoicePage1.Name = "assetsMainChoicePage1";
            assetsMainChoicePage1.Size = new Size(880, 29);
            assetsMainChoicePage1.TabIndex = 0;
            // 
            // docPnlHydroParterList
            // 
@@ -418,19 +354,10 @@
            // 
            // controlContainer2
            // 
            controlContainer2.Controls.Add(xhsProjectSimulationHydroCalcuFailedCtrl1);
            controlContainer2.Location = new Point(3, 27);
            controlContainer2.Name = "controlContainer2";
            controlContainer2.Size = new Size(880, 54);
            controlContainer2.TabIndex = 0;
            //
            // xhsProjectSimulationHydroCalcuFailedCtrl1
            //
            xhsProjectSimulationHydroCalcuFailedCtrl1.Dock = DockStyle.Fill;
            xhsProjectSimulationHydroCalcuFailedCtrl1.Location = new Point(0, 0);
            xhsProjectSimulationHydroCalcuFailedCtrl1.Name = "xhsProjectSimulationHydroCalcuFailedCtrl1";
            xhsProjectSimulationHydroCalcuFailedCtrl1.Size = new Size(880, 54);
            xhsProjectSimulationHydroCalcuFailedCtrl1.TabIndex = 0;
            // 
            // docPnlHydroCheck
            // 
@@ -447,20 +374,10 @@
            // 
            // controlContainer1
            // 
            controlContainer1.Controls.Add(xhsProjectSimulationHydroCheckFailedCtrl1);
            controlContainer1.Location = new Point(3, 27);
            controlContainer1.Name = "controlContainer1";
            controlContainer1.Size = new Size(880, 58);
            controlContainer1.TabIndex = 0;
            //
            // xhsProjectSimulationHydroCheckFailedCtrl1
            //
            xhsProjectSimulationHydroCheckFailedCtrl1.Dock = DockStyle.Fill;
            xhsProjectSimulationHydroCheckFailedCtrl1.Location = new Point(0, 0);
            xhsProjectSimulationHydroCheckFailedCtrl1.Name = "xhsProjectSimulationHydroCheckFailedCtrl1";
            xhsProjectSimulationHydroCheckFailedCtrl1.Size = new Size(880, 58);
            xhsProjectSimulationHydroCheckFailedCtrl1.TabIndex = 0;
            xhsProjectSimulationHydroCheckFailedCtrl1.HydroClickEvent += xhsProjectSimulationHydroCheckFailedCtrl1_HydroClickEvent;
            // 
            // docPnlUnMatchingList
            // 
@@ -475,22 +392,10 @@
            // 
            // controlContainer4
            // 
            controlContainer4.Controls.Add(xhsProjectSimulationUnMatchingListCtrl1);
            controlContainer4.Location = new Point(3, 27);
            controlContainer4.Name = "controlContainer4";
            controlContainer4.Size = new Size(880, 53);
            controlContainer4.TabIndex = 0;
            //
            // xhsProjectSimulationUnMatchingListCtrl1
            //
            xhsProjectSimulationUnMatchingListCtrl1.Dock = DockStyle.Fill;
            xhsProjectSimulationUnMatchingListCtrl1.HidePageWhenListIsNull = true;
            xhsProjectSimulationUnMatchingListCtrl1.Location = new Point(0, 0);
            xhsProjectSimulationUnMatchingListCtrl1.Name = "xhsProjectSimulationUnMatchingListCtrl1";
            xhsProjectSimulationUnMatchingListCtrl1.Size = new Size(880, 53);
            xhsProjectSimulationUnMatchingListCtrl1.TabIndex = 0;
            xhsProjectSimulationUnMatchingListCtrl1.HydroClickEvent += xhsProjectSimulationUnMatchingListCtrl1_HydroClickEvent;
            xhsProjectSimulationUnMatchingListCtrl1.ViewModelEvent += xhsProjectSimulationUnMatchingListCtrl1_ViewModelEvent;
            // 
            // svgImg32
            // 
@@ -522,22 +427,14 @@
            ((ISupportInitialize)ribbonControl1).EndInit();
            ((ISupportInitialize)tabPane1).EndInit();
            tabPane1.ResumeLayout(false);
            pageBimface.ResumeLayout(false);
            pageQ3d.ResumeLayout(false);
            tabPageL3d.ResumeLayout(false);
            ((ISupportInitialize)dockManager1).EndInit();
            docPnlProperty.ResumeLayout(false);
            dockPanel1_Container.ResumeLayout(false);
            docPnlMatchingList.ResumeLayout(false);
            controlContainer5.ResumeLayout(false);
            docPnlHydroParterList.ResumeLayout(false);
            controlContainer3.ResumeLayout(false);
            docPnlHydroCalcu.ResumeLayout(false);
            controlContainer2.ResumeLayout(false);
            docPnlHydroCheck.ResumeLayout(false);
            controlContainer1.ResumeLayout(false);
            docPnlUnMatchingList.ResumeLayout(false);
            controlContainer4.ResumeLayout(false);
            ((ISupportInitialize)svgImg32).EndInit();
            ((ISupportInitialize)radialMenu1).EndInit();
            ResumeLayout(false);
@@ -558,7 +455,7 @@
        private DevExpress.XtraBars.BarButtonItem barBtnShowHide;
        private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup4;
        private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup3;
        private DevExpress.XtraBars.BarButtonItem barBtnAutoMatching;
        private DevExpress.XtraBars.BarButtonItem barBtnMatching;
        private DevExpress.XtraBars.BarSubItem barBtnSingleMatching;
        private DevExpress.XtraBars.BarButtonItem barBtnPumpMatching;
        private DevExpress.XtraBars.BarButtonItem barBtnValveMatching;
@@ -589,7 +486,7 @@
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabPageL3d;
        private DevExpress.XtraBars.Docking.DockPanel docPnlMatchingList;
        private DevExpress.XtraBars.Docking.ControlContainer controlContainer5;
        private Xhs.AssetsMainChoicePage assetsMainChoicePage1;
        private Xhs.XhsProjectSimulationMatchingListCtrl assetsMainChoicePage1;
        private XhsProjectSimulationUnMatchingListCtrl xhsProjectSimulationUnMatchingListCtrl1;
        private XhsProjectSimulationL3dCtrl xhsProjectSimulationL3dCtrl1;
        private DevExpress.XtraBars.Ribbon.RadialMenu radialMenu1;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -224,7 +224,7 @@
        #region è‡ªåŠ¨åŒ¹é…
        //自动匹配
        private void barBtnAutoMatching_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        private void barBtnMatching_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_hydroInfo == null)
            {
@@ -240,9 +240,7 @@
            this.assetsMainChoicePage1.SetBindingData(input);
            this.assetsMainChoicePage1.RelaodEvent += (output) =>
            {
                AssetsMatchingParasHelper.Apply(_hydroInfo, output);
                return true;
                return AssetsMatchingParasHelper.Apply(_hydroInfo, output);
            };
            this.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible;
            this.docPnlMatchingList.Height = 350;
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
@@ -31,7 +31,6 @@
    <Compile Remove="03-scheme\03-hydraulic-simulation\01-PumpMainCurveChoice\PumpMainChoicePage.Designer.cs" />
    <Compile Remove="03-scheme\03-hydraulic-simulation\01-PumpMainCurveChoice\PumpMainForm-bak.cs" />
    <Compile Remove="03-scheme\03-hydraulic-simulation\01-PumpMainCurveChoice\PumpMainForm-bak.Designer.cs" />
    <Compile Remove="04-simulation\06-simulation\01-autoMatching\01-ViewModel\AdaptingViewModel.cs" />
  </ItemGroup>
  <ItemGroup>
@@ -139,19 +138,19 @@
    <Compile Update="04-simulation\03-q3d\XhsProjectSimulationQ3dCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-autoMatching\02-AsstesFormCtrl\PipeLineMatchingCtrl.cs">
    <Compile Update="04-simulation\06-simulation\01-matching\04-pipe\XhsProjectSimulationPipeMatchingListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-autoMatching\02-AsstesFormCtrl\ValveMatchingCtrl.cs">
    <Compile Update="04-simulation\06-simulation\01-matching\03-valve\XhsProjectSimulationValveMatchingListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-autoMatching\02-AsstesFormCtrl\PumpMatchingCtrl.cs">
    <Compile Update="04-simulation\06-simulation\01-matching\02-pump\XhsProjectSimulationPumpMatchingListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-autoMatching\02-AsstesFormCtrl\ThreeLinkMatchingCtrl.cs">
    <Compile Update="04-simulation\06-simulation\01-matching\06-threelink\XhsProjectSimulationThreelinkMatchingListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-autoMatching\02-AsstesFormCtrl\FourLinkMatchingCtrl.cs">
    <Compile Update="04-simulation\06-simulation\01-matching\07-fourlink\XhsProjectSimulationFourlinkMatchingListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\04-unmatching\00-core\XhsProjectSimulationUnMatchingListCtrl.cs">
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
@@ -61,16 +61,16 @@
    <Compile Update="03-scheme\02-asset-mgr\PumpMain_Wizrad\AddPumpMainDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-autoMatching\02-AsstesFormCtrl\ElbowsMatchingCtrl.cs">
    <Compile Update="04-simulation\06-simulation\01-matching\05-elbows\XhsProjectSimulationElbowsMatchingListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-autoMatching\AssetsAutoMatchingMainDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="03-scheme\02-asset-mgr\PumpMain_Wizrad\PumpMainForm.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-autoMatching\AssetsMainChoicePage.cs">
    <Compile Update="04-simulation\06-simulation\01-matching\00-core\AssetsAutoMatchingMainDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="04-simulation\06-simulation\01-matching\00-core\XhsProjectSimulationMatchingListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="03-scheme\02-asset-mgr\XhsProjectAssetsBimfaceCtrl.cs">