| | |
| | | namespace HStation.WinFrmUI |
| | | using SqlSugar; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | { |
| | | /// <summary> |
| | | /// 资产匹配参数辅助类 |
| | |
| | | /// <summary> |
| | | /// 创建资产自动匹配ViewModel |
| | | /// </summary> |
| | | public static AssetsMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuResult> allCalcuResultList) |
| | | public static AssetsMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList) |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 创建泵自动匹配ViewModel |
| | | /// </summary> |
| | | public static PumpMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroPumpInfo pumpInfo, List<HydroCalcuResult> allCalcuResultList) |
| | | public static PumpMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroPumpInfo pumpInfo, List<HydroCalcuVisualResult> allCalcuResultList) |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 创建阀门自动匹配ViewModel |
| | | /// </summary> |
| | | public static ValveMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroValveInfo valveInfo, List<HydroCalcuResult> allCalcuResultList) |
| | | public static ValveMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroValveInfo valveInfo, List<HydroCalcuVisualResult> allCalcuResultList) |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | |
| | | { |
| | | 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<HydroCalcuResult> allCalcuResultList) |
| | | public static PipeMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroPipeInfo pipeInfo, List<HydroCalcuVisualResult> allCalcuResultList) |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 创建弯头自动匹配ViewModel |
| | | /// </summary> |
| | | public static ElbowMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroElbowInfo elbowInfo, List<HydroCalcuResult> allCalcuResultList) |
| | | public static ElbowMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroElbowInfo elbowInfo, List<HydroCalcuVisualResult> allCalcuResultList) |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 创建三通自动匹配ViewModel |
| | | /// </summary> |
| | | public static ThreelinkMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroThreelinkInfo threelinkInfo, List<HydroCalcuResult> allCalcuResultList) |
| | | public static ThreelinkMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroThreelinkInfo threelinkInfo, List<HydroCalcuVisualResult> allCalcuResultList) |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 创建四通自动匹配ViewModel |
| | | /// </summary> |
| | | public static FourlinkMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroFourlinkInfo fourlinkInfo, List<HydroCalcuResult> allCalcuResultList) |
| | | public static FourlinkMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroFourlinkInfo fourlinkInfo, List<HydroCalcuVisualResult> allCalcuResultList) |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | |
| | | { |
| | | 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; |
| | | } |
| | | } |