| | |
| | | { |
| | | 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; |
| | | } |
| | | } |