| | |
| | | |
| | | if (!string.IsNullOrEmpty(pumpMatching.MatchingCurveDbId)) |
| | | { |
| | | //流量扬程曲线 |
| | | var curveqh = hydroInfo.Curves?.Find(x => x.Code == pump.CurveQH); |
| | | if (curveqh == null) |
| | | { |
| | | var allParterList = hydroInfo.GetAllParters(); |
| | | var parterNameList = allParterList?.Select(x => x.Code).Distinct().ToList(); |
| | | curveqh.Catalog = Yw.Hydro.ParterCatalog.Curve; |
| | | curveqh.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", GetAllCodeList(hydroInfo)); |
| | | curveqh.Name = "匹配"; |
| | | curveqh.ModelType = string.Empty; |
| | | curveqh.DbLocked = false; |
| | | curveqh.DbId = pumpMatching.MatchingCurveDbId; |
| | | curveqh.CurveType = Yw.WinFrmUI.HydroCurve.PumpQH; |
| | | curveqh.CurveData = pumpMatching.MatchingCurveQH?.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(curveqh); |
| | | } |
| | | else |
| | | { |
| | | if (!curveqh.DbLocked) |
| | | { |
| | | curveqh.DbId = pumpMatching.MatchingDbId; |
| | | curveqh.CurveData = pumpMatching.MatchingCurveQH?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); |
| | | } |
| | | } |
| | | |
| | | //流量功率曲线 |
| | | var curveqp = hydroInfo.Curves?.Find(x => x.Code == pump.CurveQP); |
| | | if (curveqp == null) |
| | | { |
| | | curveqp.Catalog = Yw.Hydro.ParterCatalog.Curve; |
| | | curveqp.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", GetAllCodeList(hydroInfo)); |
| | | curveqp.Name = "匹配"; |
| | | curveqp.ModelType = string.Empty; |
| | | curveqp.DbLocked = false; |
| | | curveqp.DbId = pumpMatching.MatchingCurveDbId; |
| | | curveqp.CurveType = Yw.WinFrmUI.HydroCurve.PumpQP; |
| | | curveqp.CurveData = pumpMatching.MatchingCurveQP?.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(curveqp); |
| | | } |
| | | else |
| | | { |
| | | if (!curveqp.DbLocked) |
| | | { |
| | | curveqp.DbId = pumpMatching.MatchingDbId; |
| | | curveqp.CurveData = pumpMatching.MatchingCurveQP?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); |
| | | } |
| | | } |
| | | |
| | | //流量效率曲线 |
| | | var curveqe = hydroInfo.Curves?.Find(x => x.Code == pump.CurveQE); |
| | | if (curveqe == null) |
| | | { |
| | | curveqe.Catalog = Yw.Hydro.ParterCatalog.Curve; |
| | | curveqe.Code = Yw.Untity.UniqueHelper.CreateFromFirst("curve", GetAllCodeList(hydroInfo)); |
| | | curveqe.Name = "匹配"; |
| | | curveqe.ModelType = string.Empty; |
| | | curveqe.DbLocked = false; |
| | | curveqe.DbId = pumpMatching.MatchingCurveDbId; |
| | | curveqe.CurveType = Yw.WinFrmUI.HydroCurve.PumpQE; |
| | | curveqe.CurveData = pumpMatching.MatchingCurveQE?.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(curveqe); |
| | | } |
| | | else |
| | | { |
| | | if (!curveqe.DbLocked) |
| | | { |
| | | curveqe.DbId = pumpMatching.MatchingDbId; |
| | | curveqe.CurveData = pumpMatching.MatchingCurveQE?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | return result; |
| | | } |
| | | |
| | | //获取所有编码列表 |
| | | private static List<string> GetAllCodeList(Yw.Model.HydroModelInfo hydroInfo) |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | | return default; |
| | | } |
| | | var allParterList = hydroInfo.GetAllParters(); |
| | | return allParterList?.Select(x => x.Code).Distinct().ToList(); |
| | | } |
| | | |
| | | } |
| | | } |