Shuxia Ning
2024-10-08 cf4967a0aebab18c5a37137f3e4c61b2d73a54bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using Eventech.Common;
using IStation.Model;
using System.Collections.Generic;
using System.Linq;
 
namespace IStation.WinFrmUI.Basic
{
    /// <summary>
    /// 泵曲线导出
    /// </summary>
    public class PumpCurveDtoHelper
    {
 
        static string CurveKey = "Client";
 
        public static string ExportJson(Model.PumpCurve rhs)
        {
            var pumpCurve = ExportDto(rhs);
            if (pumpCurve == null)
                return default;
 
            return pumpCurve.ToJson();
        }
 
 
        public static Model.PumpCurveDto ExportDto(Model.PumpCurve rhs)
        {
            if (rhs == null)
                return default;
 
            var pumpCurve = new Model.PumpCurveDto();
            pumpCurve.Name = rhs.CurveCode;
            pumpCurve.SourceWay = rhs.SourceFrom;
            pumpCurve.CreateMethod = rhs.CreateMethod.GetDisplayText();
            pumpCurve.ReliabilityStatus = rhs.ReliabilityStatus;
            pumpCurve.InputTime = rhs.CreateTime;
            pumpCurve.Description = rhs.Description;
            pumpCurve.CoordParas = new Dictionary<string, string>();
 
            if (rhs.CoordParas != null)
            {
                var coordParas = new Model.CurveCoordinateParasDto();
                coordParas.GridNumberX = rhs.CoordParas.GridNumberX;
                coordParas.GridNumberY = rhs.CoordParas.GridNumberY;
                coordParas.CoordMinQ = rhs.CoordParas.CoordMinQ;
                coordParas.CoordSpaceQ = rhs.CoordParas.CoordSpaceQ;
                coordParas.CoordMinH = rhs.CoordParas.CoordMinH;
                coordParas.CoordSpaceH = rhs.CoordParas.CoordSpaceH;
                coordParas.StartLineNoH = rhs.CoordParas.StartLineNoH;
                coordParas.EndLineNoH = rhs.CoordParas.EndLineNoH;
                coordParas.CoordMinP = rhs.CoordParas.CoordMinP;
                coordParas.CoordSpaceP = rhs.CoordParas.CoordSpaceP;
                coordParas.StartLineNoP = rhs.CoordParas.StartLineNoP;
                coordParas.EndLineNoP = rhs.CoordParas.EndLineNoP;
                coordParas.DispPanelQP = rhs.CoordParas.DispPanelQP;
                coordParas.CoordMinE = rhs.CoordParas.CoordMinE;
                coordParas.CoordSpaceE = rhs.CoordParas.CoordSpaceE;
                coordParas.StartLineNoE = rhs.CoordParas.StartLineNoE;
                coordParas.EndLineNoE = rhs.CoordParas.EndLineNoE;
                coordParas.DispPanelQE = rhs.CoordParas.DispPanelQE;
 
                pumpCurve.CoordParas.Add(CurveKey, coordParas.ToJson());
            }
 
 
            if (rhs.CurveInfo != null)
            {
                var curveInfo = new Model.FeatCurveExpressGroupDto();
                if (rhs.CurveInfo.CurveQH != null)
                {
                    curveInfo.CurveQH = new Model.CurveExpressDto();
                    curveInfo.CurveQH.FitType = rhs.CurveInfo.CurveQH.FitType;
 
                    var definePoints = rhs.CurveInfo.CurveQH.DefinePoints;
                    if (definePoints == null)
                    {
                        definePoints = rhs.CurveInfo.CurveQH.GetFitPoints(12);
                    }
                    curveInfo.CurveQH.DefinePoints = definePoints?.Select(x => new CurvePointDto(x.X, x.Y)).ToList();
                }
 
                if (rhs.CurveInfo.CurveQE != null)
                {
                    curveInfo.CurveQE = new Model.CurveExpressDto();
                    curveInfo.CurveQE.FitType = rhs.CurveInfo.CurveQE.FitType;
 
                    var definePoints = rhs.CurveInfo.CurveQE.DefinePoints;
                    if (definePoints == null)
                    {
                        definePoints = rhs.CurveInfo.CurveQE.GetFitPoints(12);
                    }
                    curveInfo.CurveQE.DefinePoints = definePoints?.Select(x => new CurvePointDto(x.X, x.Y)).ToList();
                }
 
                if (rhs.CurveInfo.CurveQP != null)
                {
                    curveInfo.CurveQP = new Model.CurveExpressDto();
                    curveInfo.CurveQP.FitType = rhs.CurveInfo.CurveQP.FitType;
 
                    var definePoints = rhs.CurveInfo.CurveQP.DefinePoints;
                    if (definePoints == null)
                    {
                        definePoints = rhs.CurveInfo.CurveQP.GetFitPoints(12);
                    }
                    curveInfo.CurveQP.DefinePoints = definePoints?.Select(x => new CurvePointDto(x.X, x.Y)).ToList();
                }
 
                pumpCurve.CurveExpress = curveInfo;
            }
 
            return pumpCurve;
 
        }
 
    }
}