duheng
2025-02-07 e3ca589482a056449963e7bbbd77824ded3928bc
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/00-core/AssetsMatchingHelper.cs
@@ -1,4 +1,8 @@
namespace HStation.WinFrmUI
using DevExpress.CodeParser;
using System.Text.Json;
using Yw.Ahart;
namespace HStation.WinFrmUI
{
    public class AssetsMatchingHelper
    {
@@ -413,11 +417,6 @@
            {
                input.MatchingMinorLoss = valve.MinorLoss;
            }
            if (input.ValveSetting == null)
            {
                input.MatchingValveSetting = valve.ValveSetting;
            }
            input.MatchingValveType = eValveType.TCV;
            if (input.CurveDbId == null)
            {
                var list = Task.Run(async () =>
@@ -426,17 +425,38 @@
                {
                    var def = list.OrderByDescending(x => x.Importance).First();
                    input.MatchingCurveDbId = def.ID.ToString();
                    var curve = def.Diagram.GraphList[0].GetFeatPointList();
                    input.MatchingCurveQL = new List<HydroCurvePointViewModel>();
                    //var curve = def.Diagram.GraphList[0].GetFeatPointList();
                    //var curve1 = def.Diagram.GraphList[1].GetFeatPointList();
                    //input.MatchingCurveQL = new List<HydroCurvePointViewModel>();
                    /*   foreach (var item in curve)
                       {
                           input.MatchingCurveQL.Add(new HydroCurvePointViewModel(item.X, item.Y));
                       }*/
                    input.MatchingCurveOL = new List<HydroCurvePointViewModel>();
                    foreach (var item in curve)
                    input.MatchingCurvesQL = new List<HydroFactorCurveViewModel>();
                    for (int i = 0; i < def.Diagram.GraphList.Count; i++)
                    {
                        input.MatchingCurveOL.Add(new HydroCurvePointViewModel(item.X, item.Y));
                        var curve = def.Diagram.GraphList[i].GetFeatPointList();
                        if (def.Diagram.GraphList[i].GraphType == 11)
                        {
                            var opening = Yw.WinFrmUI.PhartGraphHelper.GetGraphParas<Yw.WinFrmUI.Phart.QLGraphParasViewModel>((Yw.Ahart.eCurveType)def.Diagram.GraphList[i].GraphType, def.Diagram.GraphList[i].GraphParas);
                            var model = new HydroFactorCurveViewModel();
                            model.CurveFactor = opening.Opening ?? 0;
                            model.CurveData = new List<HydroCurvePointViewModel>();
                            foreach (var item in curve)
                            {
                                model.CurveData.Add(new HydroCurvePointViewModel(item.X, item.Y));
                            }
                            input.MatchingCurvesQL.Add(model);
                        }
                        else if (def.Diagram.GraphList[i].GraphType == 12)
                        {
                            foreach (var item in curve)
                            {
                                input.MatchingCurveOL.Add(new HydroCurvePointViewModel(item.X, item.Y));
                            }
                        }
                    }
                }
                return true;
@@ -1706,7 +1726,7 @@
            {
                return false;
            }
            allElbowList = allElbowList.Where(x => x.Angle == 90).ToList();
            //权重字典
            var dict = new Dictionary<AssetsElbowMainVmo, double>();
            foreach (var item in allElbowList)
@@ -2033,6 +2053,7 @@
            {
                input.MatchingStartDiameter = translation.StartDiameter;
            }
            input.MatchingTranslationType = (Yw.WinFrmUI.eTranslationType)(int)translation.TranslationType;
            return true;
        }