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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
| using Yw.Untity;
|
| namespace IStation.Test
| {
| public class ScadaModelValidHelper
| {
| public static bool Analysis()
| {
| var station1 = "Pump11,Pump12,Pump13,Pump14,Pump15,Pump16,Pump17,Pump18,R3,R2,R1,SFJD1,SFJD2,SFJD3";
| var pattern_id_list1 = StringListHelper.ToList(station1);
|
| var station2 = "RPump21,SFPump21,Pump21,RPump22,SFPump22,Pump22,RPump23,SFPump23,Pump23,RPump24,SFPump24,Pump24,RPump25,SFPump25,Pump25,RPump26,SFPump26,Pump26,RPump27,SFPump27,Pump27,SFDN2400,SFDN2700";
| var pattern_id_list2 = StringListHelper.ToList(station2);
|
| var pattern_id_list = new List<string>();
| pattern_id_list.AddRange(pattern_id_list1);
| pattern_id_list.AddRange(pattern_id_list2);
|
| var pressure_id_mapping_dict1 = new Dictionary<string, string>()
| {
| {"Jjd1","SPJD1"},
| {"Jjd2","SPJD2"},
| {"Jjd3","SPJD3"},
| {"Jpump11","SPPump11" },
| {"Jpump12","SPPump12" },
| {"Jpump13","SPPump13" },
| {"Jpump14","SPPump14" },
| {"Jpump15","SPPump15" },
| {"Jpump16","SPPump16" },
| {"Jpump17","SPPump17" },
| {"Jpump18","SPPump18" }
| };
|
|
| var pressure_id_mapping_dict2 = new Dictionary<string, string>()
| {
| {"Jdn2400","SPDN2400"},
| {"Jdn2700","SPDN2700"},
| {"Jpump21","SPPump21"},
| {"Jpump22","SPPump22"},
| {"Jpump23","SPPump23"},
| {"Jpump24","SPPump24"},
| {"Jpump25","SPPump25"},
| {"Jpump26","SPPump26"},
| {"Jpump27","SPPump27"}
| };
|
| var flow_id_mapping_dict1 = new Dictionary<string, string>()
| {
| {"Pjd1","SFJD1"},
| {"Pjd2","SFJD2"},
| {"Pjd3","SFJD3"}
| };
|
| var flow_id_mapping_dict2 = new Dictionary<string, string>()
| {
| {"Pdn2400","SFDN2400"},
| {"Pdn2700","SFDN2700"},
| {"Ppump21","SFPump21"},
| {"Ppump22","SFPump22"},
| {"Ppump23","SFPump23"},
| {"Ppump24","SFPump24"},
| {"Ppump25","SFPump25"},
| {"Ppump26","SFPump26"},
| {"Ppump27","SFPump27"}
| };
|
|
| var pressure_id_mapping_dict = new Dictionary<string, string>();
| foreach (var item in pressure_id_mapping_dict1)
| {
| pressure_id_mapping_dict.Add(item.Key, item.Value);
| }
| foreach (var item in pressure_id_mapping_dict2)
| {
| pressure_id_mapping_dict.Add(item.Key, item.Value);
| }
|
| var flow_id_mapping_dict = new Dictionary<string, string>();
| foreach (var item in flow_id_mapping_dict1)
| {
| flow_id_mapping_dict.Add(item.Key, item.Value);
| }
| foreach (var item in flow_id_mapping_dict2)
| {
| flow_id_mapping_dict.Add(item.Key, item.Value);
| }
|
|
| var verify_id = Yw.YitIdHelper.NextId();
| var file_path = $"{AppDomain.CurrentDomain.BaseDirectory}Data\\HydraulicModel.inp";
|
| var day_value_list = IStation.Test.DayValueHelper.GetDayValues();
| if (day_value_list == null || !day_value_list.Any())
| return false;
| foreach (var day_value in day_value_list)
| {
| var patternList = new List<IStation.Hydraulic.Pattern>();
| foreach (var pattern_id in pattern_id_list)
| {
| var pattern = new IStation.Hydraulic.Pattern
| {
| Id = pattern_id,
| FactorList = new List<float>()
| };
| patternList.Add(pattern);
| }
|
| var timeValueList = day_value.TimeValueList.OrderBy(x => x.Time).ToList();
| foreach (var timeValue in timeValueList)
| {
| var time = timeValue.Time;
| var value_dict = timeValue.Value;
| foreach (var item in value_dict)
| {
| var scada_id = item.Key;
| var scada_value = item.Value;
| var pattern = patternList.Find(x => x.Id == scada_id);
| if (pattern != null)
| {
| pattern.FactorList.Add((float)scada_value);
| }
| }
| }
|
| day_value.PatternList = patternList;
| }
|
| var hydraulic_model_validation = new IStation.Model.HydraulicModelValidation();
| hydraulic_model_validation.ID = verify_id;
| hydraulic_model_validation.Time = DateTime.Now;
| hydraulic_model_validation.Config = "模型验证";
|
| var bol = new IStation.Service.HydraulicModelValidation().Insert(hydraulic_model_validation) > 0;
| if (!bol)
| {
| return false;
| }
|
| var hydraulic_model_record_list = IStation.Hydraulic.ModeVerifyHelper.Verify(verify_id, file_path, flow_id_mapping_dict, pressure_id_mapping_dict, day_value_list);
| bol = new IStation.Service.HydraulicModelRecord().BulkInserts(hydraulic_model_record_list);
| return bol;
| }
|
|
| }
| }
|
|