From c0a8df94a97281d7ed5a38550dd6fcf73e9cf0c8 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期六, 09 十一月 2024 13:53:43 +0800 Subject: [PATCH] 核心修改 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingParasHelper.cs | 197 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 157 insertions(+), 40 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingParasHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingParasHelper.cs index e169370..d3bef85 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingParasHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/00-core/AssetsMatchingParasHelper.cs @@ -1,4 +1,6 @@ -锘縩amespace HStation.WinFrmUI +锘縰sing SqlSugar; + +namespace HStation.WinFrmUI { /// <summary> /// 璧勪骇鍖归厤鍙傛暟杈呭姪绫� @@ -11,7 +13,7 @@ /// <summary> /// 鍒涘缓璧勪骇鑷姩鍖归厤ViewModel /// </summary> - public static AssetsMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, List<IHydroCalcuResult> allCalcuResultList) + public static AssetsMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuResult> allCalcuResultList) { if (hydroInfo == null) { @@ -43,7 +45,7 @@ /// <summary> /// 鍒涘缓娉佃嚜鍔ㄥ尮閰峍iewModel /// </summary> - public static PumpMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroPumpInfo pumpInfo, List<IHydroCalcuResult> allCalcuResultList) + public static PumpMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroPumpInfo pumpInfo, List<HydroCalcuResult> allCalcuResultList) { if (hydroInfo == null) { @@ -59,7 +61,7 @@ /// <summary> /// 鍒涘缓闃�闂ㄨ嚜鍔ㄥ尮閰峍iewModel /// </summary> - public static ValveMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroValveInfo valveInfo, List<IHydroCalcuResult> allCalcuResultList) + public static ValveMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroValveInfo valveInfo, List<HydroCalcuResult> allCalcuResultList) { if (hydroInfo == null) { @@ -69,25 +71,13 @@ { return default; } - return new ValveMatchingViewModel() - { - ID = valveInfo.ID, - Code = valveInfo.Code, - Name = valveInfo.Name, - DbLocked = valveInfo.DbLocked, - ModelType = valveInfo.ModelType, - DbId = valveInfo.DbId, - Diameter = valveInfo.Diameter, - Material = valveInfo.Material, - MinorLoss = valveInfo.MinorLoss, - ValveType = valveInfo.ValveType - }; + return new ValveMatchingViewModel(valveInfo, hydroInfo, allCalcuResultList); } /// <summary> /// 鍒涘缓绠¢亾鑷姩鍖归厤ViewModel /// </summary> - public static PipeMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroPipeInfo pipeInfo, List<IHydroCalcuResult> allCalcuResultList) + public static PipeMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroPipeInfo pipeInfo, List<HydroCalcuResult> allCalcuResultList) { if (hydroInfo == null) { @@ -116,7 +106,7 @@ /// <summary> /// 鍒涘缓寮ご鑷姩鍖归厤ViewModel /// </summary> - public static ElbowMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroElbowInfo elbowInfo, List<IHydroCalcuResult> allCalcuResultList) + public static ElbowMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroElbowInfo elbowInfo, List<HydroCalcuResult> allCalcuResultList) { if (hydroInfo == null) { @@ -143,7 +133,7 @@ /// <summary> /// 鍒涘缓涓夐�氳嚜鍔ㄥ尮閰峍iewModel /// </summary> - public static ThreelinkMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroThreelinkInfo threelinkInfo, List<IHydroCalcuResult> allCalcuResultList) + public static ThreelinkMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroThreelinkInfo threelinkInfo, List<HydroCalcuResult> allCalcuResultList) { if (hydroInfo == null) { @@ -170,7 +160,7 @@ /// <summary> /// 鍒涘缓鍥涢�氳嚜鍔ㄥ尮閰峍iewModel /// </summary> - public static FourlinkMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroFourlinkInfo fourlinkInfo, List<IHydroCalcuResult> allCalcuResultList) + public static FourlinkMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroFourlinkInfo fourlinkInfo, List<HydroCalcuResult> allCalcuResultList) { if (hydroInfo == null) { @@ -334,7 +324,7 @@ { curveqh = new Yw.Model.HydroCurveInfo(); curveqh.Catalog = Yw.Hydro.ParterCatalog.Curve; - curveqh.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", GetAllCodeList(hydroInfo)); + curveqh.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", hydroInfo.GetAllParterCodes()); curveqh.Name = "鍖归厤"; curveqh.ModelType = string.Empty; curveqh.DbLocked = false; @@ -352,7 +342,7 @@ { if (!curveqh.DbLocked) { - curveqh.DbId = matching.MatchingDbId; + curveqh.DbId = matching.MatchingCurveDbId; curveqh.CurveData = matching.MatchingCurveQH?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); } } @@ -363,7 +353,7 @@ { curveqp = new Yw.Model.HydroCurveInfo(); curveqp.Catalog = Yw.Hydro.ParterCatalog.Curve; - curveqp.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", GetAllCodeList(hydroInfo)); + curveqp.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", hydroInfo.GetAllParterCodes()); curveqp.Name = "鍖归厤"; curveqp.ModelType = string.Empty; curveqp.DbLocked = false; @@ -381,7 +371,7 @@ { if (!curveqp.DbLocked) { - curveqp.DbId = matching.MatchingDbId; + curveqp.DbId = matching.MatchingCurveDbId; curveqp.CurveData = matching.MatchingCurveQP?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); } } @@ -392,7 +382,7 @@ { curveqe = new Yw.Model.HydroCurveInfo(); curveqe.Catalog = Yw.Hydro.ParterCatalog.Curve; - curveqe.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", GetAllCodeList(hydroInfo)); + curveqe.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", hydroInfo.GetAllParterCodes()); curveqe.Name = "鍖归厤"; curveqe.ModelType = string.Empty; curveqe.DbLocked = false; @@ -410,7 +400,7 @@ { if (!curveqe.DbLocked) { - curveqe.DbId = matching.MatchingDbId; + curveqe.DbId = matching.MatchingCurveDbId; curveqe.CurveData = matching.MatchingCurveQE?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); } } @@ -445,42 +435,169 @@ { valve.DbLocked = matching.DbLocked; valve.ModelType = matching.ModelType; - valve.Diameter = matching.Diameter; valve.Material = matching.Material; + valve.Diameter = matching.Diameter; valve.MinorLoss = matching.MinorLoss; - valve.ValveType = matching.ValveType; - //valve.ValveSetting = matching.ValveSetting; + switch (matching.ValveType) + { + case HStation.Assets.eValveType.PBV: valve.ValveType = Yw.Hydro.ValveType.PBV; break; + case HStation.Assets.eValveType.PRV: valve.ValveType = Yw.Hydro.ValveType.PRV; break; + case HStation.Assets.eValveType.PSV: valve.ValveType = Yw.Hydro.ValveType.PSV; break; + case HStation.Assets.eValveType.TCV: valve.ValveType = Yw.Hydro.ValveType.TCV; break; + case HStation.Assets.eValveType.FCV: valve.ValveType = Yw.Hydro.ValveType.FCV; break; + case HStation.Assets.eValveType.GPV: valve.ValveType = Yw.Hydro.ValveType.GPV; break; + case HStation.Assets.eValveType.CV: valve.ValveType = Yw.Hydro.ValveType.CV; break; + default: break; + } + valve.ValveSetting = matching.ValveSetting; if (!valve.DbLocked) { - if (!string.IsNullOrEmpty(matching.MatchingModelType)) - { - valve.ModelType = matching.MatchingModelType; - } if (!string.IsNullOrEmpty(matching.MatchingDbId)) { valve.DbId = matching.MatchingDbId; } - if (matching.MatchingDiameter.HasValue) + if (!string.IsNullOrEmpty(matching.MatchingModelType)) { - valve.Diameter = matching.MatchingDiameter.Value; + valve.ModelType = matching.MatchingModelType; } if (!string.IsNullOrEmpty(matching.MatchingMaterial)) { valve.Material = matching.MatchingMaterial; } + if (matching.MatchingDiameter.HasValue) + { + valve.Diameter = matching.MatchingDiameter.Value; + } if (matching.MatchingMinorLoss.HasValue) { valve.MinorLoss = matching.MatchingMinorLoss.Value; } - if (!string.IsNullOrEmpty(matching.MatchingValveType)) + if (matching.MatchingValveType.HasValue) { - valve.ValveType = matching.MatchingValveType; + switch (matching.MatchingValveType.Value) + { + case HStation.Assets.eValveType.PBV: valve.ValveType = Yw.Hydro.ValveType.PBV; break; + case HStation.Assets.eValveType.PRV: valve.ValveType = Yw.Hydro.ValveType.PRV; break; + case HStation.Assets.eValveType.PSV: valve.ValveType = Yw.Hydro.ValveType.PSV; break; + case HStation.Assets.eValveType.TCV: valve.ValveType = Yw.Hydro.ValveType.TCV; break; + case HStation.Assets.eValveType.FCV: valve.ValveType = Yw.Hydro.ValveType.FCV; break; + case HStation.Assets.eValveType.GPV: valve.ValveType = Yw.Hydro.ValveType.GPV; break; + case HStation.Assets.eValveType.CV: valve.ValveType = Yw.Hydro.ValveType.CV; break; + default: break; + } } - if (!string.IsNullOrEmpty(matching.MatchingValveSetting)) + switch (valve.ValveType) { - valve.ValveSetting = matching.MatchingValveSetting; + case Yw.Hydro.ValveType.PSV: + { + if (!string.IsNullOrEmpty(matching.MatchingValveSetting)) + { + valve.ValveSetting = matching.MatchingValveSetting; + } + } + break; + case Yw.Hydro.ValveType.PBV: + { + if (!string.IsNullOrEmpty(matching.MatchingValveSetting)) + { + valve.ValveSetting = matching.MatchingValveSetting; + } + } + break; + case Yw.Hydro.ValveType.PRV: + { + if (!string.IsNullOrEmpty(matching.MatchingValveSetting)) + { + valve.ValveSetting = matching.MatchingValveSetting; + } + } + break; + case Yw.Hydro.ValveType.FCV: + { + if (!string.IsNullOrEmpty(matching.MatchingValveSetting)) + { + valve.ValveSetting = matching.MatchingValveSetting; + } + } + break; + case Yw.Hydro.ValveType.TCV: + { + if (!string.IsNullOrEmpty(matching.MatchingCurveDbId)) + { + //闃�闂ㄥ紑搴︽崯澶辩郴鏁版洸绾� + var curveol = hydroInfo.Curves?.Find(x => x.Code == valve.ValveSetting); + if (curveol == null) + { + curveol = new Yw.Model.HydroCurveInfo(); + curveol.Catalog = Yw.Hydro.ParterCatalog.Curve; + curveol.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", hydroInfo.GetAllParterCodes()); + curveol.Name = "鍖归厤"; + curveol.ModelType = valve.ModelType; + curveol.DbLocked = false; + curveol.DbId = matching.MatchingCurveDbId; + curveol.CurveType = Yw.WinFrmUI.HydroCurve.ValveOL; + curveol.CurveData = matching.MatchingCurveOL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); + if (hydroInfo.Curves == null) + { + hydroInfo.Curves = new List<Yw.Model.HydroCurveInfo>(); + } + hydroInfo.Curves.Add(curveol); + valve.ValveSetting = curveol.Code; + } + else + { + if (!curveol.DbLocked) + { + curveol.DbId = matching.MatchingCurveDbId; + curveol.CurveData = matching.MatchingCurveOL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); + } + } + } + } + break; + case Yw.Hydro.ValveType.GPV: + { + if (!string.IsNullOrEmpty(matching.MatchingCurveDbId)) + { + //闃�闂ㄥ紑搴︽崯澶辩郴鏁版洸绾� + var curveql = hydroInfo.Curves?.Find(x => x.Code == valve.ValveSetting); + if (curveql == null) + { + curveql = new Yw.Model.HydroCurveInfo(); + curveql.Catalog = Yw.Hydro.ParterCatalog.Curve; + curveql.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", hydroInfo.GetAllParterCodes()); + curveql.Name = "鍖归厤"; + curveql.ModelType = valve.ModelType; + curveql.DbLocked = false; + curveql.DbId = matching.MatchingCurveDbId; + curveql.CurveType = Yw.WinFrmUI.HydroCurve.ValveOL; + curveql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); + if (hydroInfo.Curves == null) + { + hydroInfo.Curves = new List<Yw.Model.HydroCurveInfo>(); + } + hydroInfo.Curves.Add(curveql); + valve.ValveSetting = curveql.Code; + } + else + { + if (!curveql.DbLocked) + { + curveql.DbId = matching.MatchingCurveDbId; + curveql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); + } + } + } + } + break; + case Yw.Hydro.ValveType.CV: + { + + } + break; } + result = true; } } -- Gitblit v1.9.3