@enervance/insight-cim-model 0.0.62 → 0.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1105) hide show
  1. package/dist/analysis/analysis-neplan/digi-ons.d.ts +55 -3
  2. package/dist/analysis/analysis-neplan/digi-ons.js +101 -22
  3. package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -1
  4. package/dist/config/load.confings.d.ts +11 -0
  5. package/dist/config/load.confings.js +362 -0
  6. package/dist/config/load.confings.js.map +1 -0
  7. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.d.ts +9 -9
  8. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +3 -36
  9. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  10. package/dist/config/westnetz-neplan/callbacks/cb-psr.d.ts +3 -3
  11. package/dist/config/westnetz-neplan/callbacks/cb-psr.js +7 -4
  12. package/dist/config/westnetz-neplan/callbacks/cb-psr.js.map +1 -1
  13. package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.d.ts +2 -2
  14. package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.js +2 -0
  15. package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.js.map +1 -1
  16. package/dist/config/westnetz-neplan/property-handler-westenergy.config.d.ts +19 -19
  17. package/dist/constants/cim-asset-types.d.ts +20 -0
  18. package/dist/constants/cim-asset-types.js +36 -14
  19. package/dist/constants/cim-asset-types.js.map +1 -1
  20. package/dist/constants/cim-class-names.d.ts +28 -4
  21. package/dist/constants/cim-class-names.js +192 -133
  22. package/dist/constants/cim-class-names.js.map +1 -1
  23. package/dist/constants/cim-constants.js +3 -3
  24. package/dist/constants/cim-constants.js.map +1 -1
  25. package/dist/constants/rdf-xml.js +59 -59
  26. package/dist/constants/rdf-xml.js.map +1 -1
  27. package/dist/converter/PSDM/ConverterPowerSystemDataModel.d.ts +47 -3
  28. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js +94 -15
  29. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js.map +1 -1
  30. package/dist/converter/PSDM/model/FixedFeedIn.d.ts +9 -0
  31. package/dist/converter/PSDM/model/Line.d.ts +12 -0
  32. package/dist/converter/PSDM/model/LineType.d.ts +11 -0
  33. package/dist/converter/PSDM/model/Load.d.ts +12 -0
  34. package/dist/converter/PSDM/model/TimeSeriesMapping.d.ts +6 -0
  35. package/dist/converter/PSDM/model/Transformer.d.ts +11 -0
  36. package/dist/converter/PSDM/model/TransformerType.d.ts +18 -0
  37. package/dist/converter/PSDM/model/geo/GeoPosition.d.ts +1 -1
  38. package/dist/converter/integral7/converter.integral7.d.ts +207 -0
  39. package/dist/converter/integral7/converter.integral7.js +5530 -0
  40. package/dist/converter/integral7/converter.integral7.js.map +1 -0
  41. package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +15 -0
  42. package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +14 -5
  43. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +1074 -927
  44. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
  45. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +10 -0
  46. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +15 -2
  47. package/dist/converter/integral7/interface-i7/export-frame-i7.js +132 -53
  48. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  49. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.d.ts +6 -0
  50. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js +11 -0
  51. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js.map +1 -1
  52. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.d.ts +11 -0
  53. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js +22 -0
  54. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js.map +1 -1
  55. package/dist/converter/integral7/model/dl-utils/constants.d.ts +8 -0
  56. package/dist/converter/integral7/model/dl-utils/constants.js +66 -58
  57. package/dist/converter/integral7/model/dl-utils/constants.js.map +1 -1
  58. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +18 -5
  59. package/dist/converter/integral7/model/dl-utils/util-functions.js +210 -11
  60. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  61. package/dist/converter/integral7/model/integral/BaseClass.js +8 -0
  62. package/dist/converter/integral7/model/integral/BaseClass.js.map +1 -1
  63. package/dist/converter/integral7/model/integral/BaseClassNsg.js +7 -0
  64. package/dist/converter/integral7/model/integral/BaseClassNsg.js.map +1 -1
  65. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.d.ts +4 -0
  66. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js +6 -0
  67. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js.map +1 -1
  68. package/dist/converter/integral7/model/integral/KnotenSo.js +6 -0
  69. package/dist/converter/integral7/model/integral/KnotenSo.js.map +1 -1
  70. package/dist/converter/integral7/model/integral/KnotenSoNsg.js +6 -0
  71. package/dist/converter/integral7/model/integral/KnotenSoNsg.js.map +1 -1
  72. package/dist/converter/integral7/model/integral/Laengskupplung.js +6 -0
  73. package/dist/converter/integral7/model/integral/Laengskupplung.js.map +1 -1
  74. package/dist/converter/integral7/model/integral/Leitung.js +9 -0
  75. package/dist/converter/integral7/model/integral/Leitung.js.map +1 -1
  76. package/dist/converter/integral7/model/integral/LeitungNsg.js +10 -0
  77. package/dist/converter/integral7/model/integral/LeitungNsg.js.map +1 -1
  78. package/dist/converter/integral7/model/integral/Point.d.ts +7 -0
  79. package/dist/converter/integral7/model/integral/Point.js +10 -1
  80. package/dist/converter/integral7/model/integral/Point.js.map +1 -1
  81. package/dist/converter/integral7/model/integral/Schaltanlage.js +8 -3
  82. package/dist/converter/integral7/model/integral/Schaltanlage.js.map +1 -1
  83. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js +8 -1
  84. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js.map +1 -1
  85. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js +7 -2
  86. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js.map +1 -1
  87. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js +8 -0
  88. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js.map +1 -1
  89. package/dist/converter/integral7/model/integral/Schaltfeld.js +9 -4
  90. package/dist/converter/integral7/model/integral/Schaltfeld.js.map +1 -1
  91. package/dist/converter/integral7/model/integral/SchaltfeldNsg.d.ts +8 -0
  92. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js +17 -0
  93. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js.map +1 -1
  94. package/dist/converter/integral7/model/integral/Standort.js +15 -1
  95. package/dist/converter/integral7/model/integral/Standort.js.map +1 -1
  96. package/dist/converter/integral7/model/integral/StandortNsg.js +4 -1
  97. package/dist/converter/integral7/model/integral/StandortNsg.js.map +1 -1
  98. package/dist/converter/integral7/model/integral/Trafo2w.js +6 -0
  99. package/dist/converter/integral7/model/integral/Trafo2w.js.map +1 -1
  100. package/dist/converter/integral7/model/integral/Trafo2wNsg.js +5 -0
  101. package/dist/converter/integral7/model/integral/Trafo2wNsg.js.map +1 -1
  102. package/dist/converter/integral7/model/integral/Trafo3w.js +5 -0
  103. package/dist/converter/integral7/model/integral/Trafo3w.js.map +1 -1
  104. package/dist/converter/integral7/model/integral/Trafo3wNsg.d.ts +4 -0
  105. package/dist/converter/integral7/model/integral/Trafo3wNsg.js +12 -0
  106. package/dist/converter/integral7/model/integral/Trafo3wNsg.js.map +1 -1
  107. package/dist/converter/integral7/model/interfaces.d.ts +30 -0
  108. package/dist/converter/integral7/sql/integral.sql.d.ts +5 -0
  109. package/dist/converter/integral7/sql/integral.sql.js +276 -255
  110. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  111. package/dist/converter/integral7/utils-cgmes-export.d.ts +10 -10
  112. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  113. package/dist/converter/integral7/utils-schema.js +1 -2
  114. package/dist/converter/integral7/utils-schema.js.map +1 -1
  115. package/dist/converter/integral7/utils-trafo3w.d.ts +66 -0
  116. package/dist/converter/integral7/utils-trafo3w.js +70 -3
  117. package/dist/converter/integral7/utils-trafo3w.js.map +1 -1
  118. package/dist/converter/integral7/utils.d.ts +53 -11
  119. package/dist/converter/integral7/utils.js +262 -47
  120. package/dist/converter/integral7/utils.js.map +1 -1
  121. package/dist/data-structures/Settings.js +6 -2
  122. package/dist/data-structures/Settings.js.map +1 -1
  123. package/dist/data-structures/graph/GraphObject.js +8 -3
  124. package/dist/data-structures/graph/GraphObject.js.map +1 -1
  125. package/dist/data-structures/graph/Types.js.map +1 -1
  126. package/dist/data-structures/graph/connections/connection.js +5 -1
  127. package/dist/data-structures/graph/connections/connection.js.map +1 -1
  128. package/dist/data-structures/graph/edges/GraphEdge.js +2 -0
  129. package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
  130. package/dist/data-structures/graph/graph-interfaces.d.ts +3 -0
  131. package/dist/data-structures/graph/graph-util.d.ts +4 -0
  132. package/dist/data-structures/graph/graph-util.js +29 -2
  133. package/dist/data-structures/graph/graph-util.js.map +1 -1
  134. package/dist/data-structures/graph/graph.d.ts +9 -3
  135. package/dist/data-structures/graph/graph.js +19 -3
  136. package/dist/data-structures/graph/graph.js.map +1 -1
  137. package/dist/data-structures/tree/GraphTree.d.ts +2 -0
  138. package/dist/data-structures/tree/GraphTree.js +13 -10
  139. package/dist/data-structures/tree/GraphTree.js.map +1 -1
  140. package/dist/data-structures/tree/GraphTreeEdge.js +6 -3
  141. package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -1
  142. package/dist/data-structures/tree/GraphTreeNode.d.ts +1 -0
  143. package/dist/data-structures/tree/GraphTreeNode.js +17 -8
  144. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
  145. package/dist/data-structures/tree/GraphTreeObject.d.ts +2 -0
  146. package/dist/data-structures/tree/GraphTreeObject.js +6 -1
  147. package/dist/data-structures/tree/GraphTreeObject.js.map +1 -1
  148. package/dist/etl/etl-neplan/et-neplan-regex.d.ts +3 -0
  149. package/dist/etl/etl-neplan/et-neplan-regex.js +3 -0
  150. package/dist/etl/etl-neplan/et-neplan-regex.js.map +1 -1
  151. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.d.ts +2 -2
  152. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js +52 -4
  153. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
  154. package/dist/etl/etl-neplan/etl-neplan-csv.d.ts +31 -14
  155. package/dist/etl/etl-neplan/etl-neplan-csv.js +886 -400
  156. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  157. package/dist/etl/etl-neplan/etl-neplan-feederline.d.ts +30 -4
  158. package/dist/etl/etl-neplan/etl-neplan-feederline.js +136 -18
  159. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  160. package/dist/etl/etl-neplan/etl-neplan-geo.d.ts +8 -7
  161. package/dist/etl/etl-neplan/etl-neplan-geo.js +77 -78
  162. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  163. package/dist/etl/etl-neplan/etl-neplan-geo_depr.d.ts +169 -0
  164. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js +226 -0
  165. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js.map +1 -1
  166. package/dist/etl/etl-neplan/etl-neplan-util.js +10 -7
  167. package/dist/etl/etl-neplan/etl-neplan-util.js.map +1 -1
  168. package/dist/etl/etl-neplan/etl-neplan.d.ts +38 -5
  169. package/dist/etl/etl-neplan/etl-neplan.js +350 -99
  170. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  171. package/dist/etl/etl-neplan/neplan-contingency-analysis.d.ts +3 -2
  172. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +191 -43
  173. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  174. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.d.ts +3 -2
  175. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js +5 -2
  176. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js.map +1 -1
  177. package/dist/factory/factory-interfaces.d.ts +8 -5
  178. package/dist/factory/object-factory.js +13 -4
  179. package/dist/factory/object-factory.js.map +1 -1
  180. package/dist/factory/sparql-factory.js +7 -0
  181. package/dist/factory/sparql-factory.js.map +1 -1
  182. package/dist/grid-validation/grid-validation.js +8 -4
  183. package/dist/grid-validation/grid-validation.js.map +1 -1
  184. package/dist/index.d.ts +44 -23
  185. package/dist/index.js +107 -66
  186. package/dist/index.js.map +1 -1
  187. package/dist/interfaces/IUUIDObject.d.ts +8 -0
  188. package/dist/interfaces/IUUIDObject.js +3 -0
  189. package/dist/interfaces/IUUIDObject.js.map +1 -0
  190. package/dist/interfaces/model/assets/IActivityRecord.d.ts +8 -0
  191. package/dist/interfaces/model/assets/IActivityRecord.js +3 -0
  192. package/dist/interfaces/model/assets/IActivityRecord.js.map +1 -0
  193. package/dist/interfaces/model/core/IFeeder.d.ts +3 -0
  194. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +25 -7
  195. package/dist/interfaces/model/core/ITerminal.d.ts +1 -0
  196. package/dist/interfaces/model/operations/IOutage.d.ts +3 -0
  197. package/dist/interfaces/model/operations/ISwitchingPlan.d.ts +8 -0
  198. package/dist/interfaces/persistence.interfaces.d.ts +1 -0
  199. package/dist/interfaces/persistence.interfaces.js +16 -0
  200. package/dist/interfaces/persistence.interfaces.js.map +1 -1
  201. package/dist/interfaces/schema-settings/ShapeInfos.js +12 -0
  202. package/dist/interfaces/schema-settings/ShapeInfos.js.map +1 -1
  203. package/dist/model/alternate-models/AlternateModel.js +2 -0
  204. package/dist/model/alternate-models/AlternateModel.js.map +1 -1
  205. package/dist/model/alternate-models/AlternateModelGroup.js +1 -1
  206. package/dist/model/alternate-models/AlternateModelGroup.js.map +1 -1
  207. package/dist/model/assetinfo/AssetInfo.js +5 -4
  208. package/dist/model/assetinfo/AssetInfo.js.map +1 -1
  209. package/dist/model/assetinfo/PowerTransformerInfo.d.ts +1 -0
  210. package/dist/model/assetinfo/PowerTransformerInfo.js +1 -0
  211. package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
  212. package/dist/model/assetinfo/SwitchInfo.d.ts +4 -4
  213. package/dist/model/assetinfo/SwitchInfo.js +21 -22
  214. package/dist/model/assetinfo/SwitchInfo.js.map +1 -1
  215. package/dist/model/assetinfo/TapChangerInfo.d.ts +20 -1
  216. package/dist/model/assetinfo/TapChangerInfo.js +69 -28
  217. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  218. package/dist/model/assetinfo/TransformerEndInfo.d.ts +2 -1
  219. package/dist/model/assetinfo/TransformerEndInfo.js +9 -3
  220. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  221. package/dist/model/assetinfo/WireInfo.d.ts +1 -1
  222. package/dist/model/assetinfo/WireInfo.js +3 -0
  223. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  224. package/dist/model/assets/AggregateScore.d.ts +7 -0
  225. package/dist/model/assets/AggregateScore.js +43 -0
  226. package/dist/model/assets/AggregateScore.js.map +1 -1
  227. package/dist/model/assets/Analytic.d.ts +4 -4
  228. package/dist/model/assets/Analytic.js +33 -28
  229. package/dist/model/assets/Analytic.js.map +1 -1
  230. package/dist/model/assets/AnalyticScore.d.ts +9 -3
  231. package/dist/model/assets/AnalyticScore.js +20 -0
  232. package/dist/model/assets/AnalyticScore.js.map +1 -1
  233. package/dist/model/assets/Asset.d.ts +17 -11
  234. package/dist/model/assets/Asset.js +107 -81
  235. package/dist/model/assets/Asset.js.map +1 -1
  236. package/dist/model/assets/AssetContainer.js +2 -2
  237. package/dist/model/assets/AssetContainer.js.map +1 -1
  238. package/dist/model/assets/AssetDeployment.d.ts +9 -4
  239. package/dist/model/assets/AssetDeployment.js +38 -26
  240. package/dist/model/assets/AssetDeployment.js.map +1 -1
  241. package/dist/model/assets/AssetHealthEvent.d.ts +5 -4
  242. package/dist/model/assets/AssetHealthEvent.js +28 -28
  243. package/dist/model/assets/AssetHealthEvent.js.map +1 -1
  244. package/dist/model/assets/AssetOrganisationRole.d.ts +3 -3
  245. package/dist/model/assets/AssetOrganisationRole.js +6 -2
  246. package/dist/model/assets/AssetOrganisationRole.js.map +1 -1
  247. package/dist/model/assets/AssetOwner.d.ts +5 -2
  248. package/dist/model/assets/AssetOwner.js +19 -17
  249. package/dist/model/assets/AssetOwner.js.map +1 -1
  250. package/dist/model/assets/AssetUser.d.ts +5 -2
  251. package/dist/model/assets/AssetUser.js +19 -17
  252. package/dist/model/assets/AssetUser.js.map +1 -1
  253. package/dist/model/assets/DeploymentDate.js +5 -0
  254. package/dist/model/assets/DeploymentDate.js.map +1 -1
  255. package/dist/model/assets/Facility.d.ts +3 -3
  256. package/dist/model/assets/Facility.js +23 -23
  257. package/dist/model/assets/Facility.js.map +1 -1
  258. package/dist/model/assets/HealthScore.d.ts +2 -2
  259. package/dist/model/assets/HealthScore.js +22 -23
  260. package/dist/model/assets/HealthScore.js.map +1 -1
  261. package/dist/model/assets/LifecycleDate.js +13 -0
  262. package/dist/model/assets/LifecycleDate.js.map +1 -1
  263. package/dist/model/assets/Structure.js +1 -0
  264. package/dist/model/assets/Structure.js.map +1 -1
  265. package/dist/model/common/ActivityRecord.d.ts +6 -5
  266. package/dist/model/common/ActivityRecord.js +10 -1
  267. package/dist/model/common/ActivityRecord.js.map +1 -1
  268. package/dist/model/common/CoordinateSystem.d.ts +6 -4
  269. package/dist/model/common/CoordinateSystem.js +19 -17
  270. package/dist/model/common/CoordinateSystem.js.map +1 -1
  271. package/dist/model/common/Document.js +1 -0
  272. package/dist/model/common/Document.js.map +1 -1
  273. package/dist/model/common/Location.d.ts +14 -4
  274. package/dist/model/common/Location.js +75 -30
  275. package/dist/model/common/Location.js.map +1 -1
  276. package/dist/model/common/Organisation.d.ts +2 -2
  277. package/dist/model/common/Organisation.js +21 -22
  278. package/dist/model/common/Organisation.js.map +1 -1
  279. package/dist/model/common/OrganisationRole.d.ts +3 -3
  280. package/dist/model/common/OrganisationRole.js +3 -2
  281. package/dist/model/common/OrganisationRole.js.map +1 -1
  282. package/dist/model/common/PositionPoint.d.ts +6 -4
  283. package/dist/model/common/PositionPoint.js +41 -27
  284. package/dist/model/common/PositionPoint.js.map +1 -1
  285. package/dist/model/common/Status.js +4 -0
  286. package/dist/model/common/Status.js.map +1 -1
  287. package/dist/model/core/ACDCTerminal.d.ts +3 -3
  288. package/dist/model/core/ACDCTerminal.js +5 -3
  289. package/dist/model/core/ACDCTerminal.js.map +1 -1
  290. package/dist/model/core/BaseVoltage.d.ts +7 -5
  291. package/dist/model/core/BaseVoltage.js +28 -26
  292. package/dist/model/core/BaseVoltage.js.map +1 -1
  293. package/dist/model/core/Bay.d.ts +5 -4
  294. package/dist/model/core/Bay.js +32 -27
  295. package/dist/model/core/Bay.js.map +1 -1
  296. package/dist/model/core/ConductingEquipment.d.ts +7 -3
  297. package/dist/model/core/ConductingEquipment.js +27 -1
  298. package/dist/model/core/ConductingEquipment.js.map +1 -1
  299. package/dist/model/core/ConnectivityNode.d.ts +6 -3
  300. package/dist/model/core/ConnectivityNode.js +70 -33
  301. package/dist/model/core/ConnectivityNode.js.map +1 -1
  302. package/dist/model/core/ConnectivityNodeContainer.js +2 -0
  303. package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
  304. package/dist/model/core/Curve.js +13 -1
  305. package/dist/model/core/Curve.js.map +1 -1
  306. package/dist/model/core/CurveData.d.ts +6 -0
  307. package/dist/model/core/CurveData.js +13 -0
  308. package/dist/model/core/CurveData.js.map +1 -1
  309. package/dist/model/core/Equipment.d.ts +5 -3
  310. package/dist/model/core/Equipment.js +14 -2
  311. package/dist/model/core/Equipment.js.map +1 -1
  312. package/dist/model/core/EquipmentContainer.d.ts +1 -0
  313. package/dist/model/core/EquipmentContainer.js +4 -1
  314. package/dist/model/core/EquipmentContainer.js.map +1 -1
  315. package/dist/model/core/Feeder.d.ts +19 -5
  316. package/dist/model/core/Feeder.js +31 -9
  317. package/dist/model/core/Feeder.js.map +1 -1
  318. package/dist/model/core/GeographicalRegion.d.ts +1 -0
  319. package/dist/model/core/GeographicalRegion.js +2 -1
  320. package/dist/model/core/GeographicalRegion.js.map +1 -1
  321. package/dist/model/core/IdentifiedObject.d.ts +64 -6
  322. package/dist/model/core/IdentifiedObject.js +112 -11
  323. package/dist/model/core/IdentifiedObject.js.map +1 -1
  324. package/dist/model/core/PSRType.d.ts +19 -4
  325. package/dist/model/core/PSRType.js +50 -19
  326. package/dist/model/core/PSRType.js.map +1 -1
  327. package/dist/model/core/PowerSystemResource.d.ts +5 -3
  328. package/dist/model/core/PowerSystemResource.js +24 -10
  329. package/dist/model/core/PowerSystemResource.js.map +1 -1
  330. package/dist/model/core/SubGeographicalRegion.d.ts +1 -0
  331. package/dist/model/core/SubGeographicalRegion.js +4 -2
  332. package/dist/model/core/SubGeographicalRegion.js.map +1 -1
  333. package/dist/model/core/Substation.d.ts +11 -4
  334. package/dist/model/core/Substation.js +49 -33
  335. package/dist/model/core/Substation.js.map +1 -1
  336. package/dist/model/core/Terminal.d.ts +19 -5
  337. package/dist/model/core/Terminal.js +92 -40
  338. package/dist/model/core/Terminal.js.map +1 -1
  339. package/dist/model/core/VoltageLevel.d.ts +6 -4
  340. package/dist/model/core/VoltageLevel.js +39 -27
  341. package/dist/model/core/VoltageLevel.js.map +1 -1
  342. package/dist/model/dc/ACDCConverter.d.ts +11 -0
  343. package/dist/model/dc/ACDCConverter.js +28 -4
  344. package/dist/model/dc/ACDCConverter.js.map +1 -1
  345. package/dist/model/dc/ACDCConverterDCTerminal.d.ts +1 -0
  346. package/dist/model/dc/ACDCConverterDCTerminal.js +4 -0
  347. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  348. package/dist/model/dc/CsConverter.d.ts +8 -0
  349. package/dist/model/dc/CsConverter.js +21 -0
  350. package/dist/model/dc/CsConverter.js.map +1 -1
  351. package/dist/model/dc/CsOperatingModeKind.js +1 -1
  352. package/dist/model/dc/CsOperatingModeKind.js.map +1 -1
  353. package/dist/model/dc/DCBaseTerminal.js +2 -0
  354. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  355. package/dist/model/dc/DCConductingEquipment.js +1 -4
  356. package/dist/model/dc/DCConductingEquipment.js.map +1 -1
  357. package/dist/model/dc/DCConverterUnit.d.ts +1 -0
  358. package/dist/model/dc/DCConverterUnit.js +4 -0
  359. package/dist/model/dc/DCConverterUnit.js.map +1 -1
  360. package/dist/model/dc/DCEquipmentContainer.js +1 -4
  361. package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
  362. package/dist/model/dc/DCLine.js +20 -18
  363. package/dist/model/dc/DCLine.js.map +1 -1
  364. package/dist/model/dc/DCLineSegment.d.ts +5 -0
  365. package/dist/model/dc/DCLineSegment.js +35 -26
  366. package/dist/model/dc/DCLineSegment.js.map +1 -1
  367. package/dist/model/dc/DCNode.d.ts +2 -0
  368. package/dist/model/dc/DCNode.js +5 -1
  369. package/dist/model/dc/DCNode.js.map +1 -1
  370. package/dist/model/dc/DCTerminal.d.ts +1 -0
  371. package/dist/model/dc/DCTerminal.js +3 -0
  372. package/dist/model/dc/DCTerminal.js.map +1 -1
  373. package/dist/model/dc/VsConverter.d.ts +3 -0
  374. package/dist/model/dc/VsConverter.js +12 -0
  375. package/dist/model/dc/VsConverter.js.map +1 -1
  376. package/dist/model/diagram/Diagram.d.ts +5 -4
  377. package/dist/model/diagram/Diagram.js +36 -24
  378. package/dist/model/diagram/Diagram.js.map +1 -1
  379. package/dist/model/diagram/DiagramObject.d.ts +6 -4
  380. package/dist/model/diagram/DiagramObject.js +58 -31
  381. package/dist/model/diagram/DiagramObject.js.map +1 -1
  382. package/dist/model/diagram/DiagramObjectPoint.d.ts +5 -5
  383. package/dist/model/diagram/DiagramObjectPoint.js +53 -48
  384. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  385. package/dist/model/diagram/DiagramStyle.d.ts +1 -0
  386. package/dist/model/diagram/DiagramStyle.js +2 -1
  387. package/dist/model/diagram/DiagramStyle.js.map +1 -1
  388. package/dist/model/domain/ActivePower.js +3 -0
  389. package/dist/model/domain/ActivePower.js.map +1 -1
  390. package/dist/model/domain/AngleDegrees.js +3 -0
  391. package/dist/model/domain/AngleDegrees.js.map +1 -1
  392. package/dist/model/domain/ApparentPower.js +3 -0
  393. package/dist/model/domain/ApparentPower.js.map +1 -1
  394. package/dist/model/domain/Capacitance.js +3 -0
  395. package/dist/model/domain/Capacitance.js.map +1 -1
  396. package/dist/model/domain/CapacitancePerLength.js +3 -0
  397. package/dist/model/domain/CapacitancePerLength.js.map +1 -1
  398. package/dist/model/domain/ConductancePerLength.js +3 -0
  399. package/dist/model/domain/ConductancePerLength.js.map +1 -1
  400. package/dist/model/domain/CurrentFlow.js +3 -0
  401. package/dist/model/domain/CurrentFlow.js.map +1 -1
  402. package/dist/model/domain/Reactance.js +3 -0
  403. package/dist/model/domain/Reactance.js.map +1 -1
  404. package/dist/model/domain/ReactancePerLength.js +3 -0
  405. package/dist/model/domain/ReactancePerLength.js.map +1 -1
  406. package/dist/model/domain/ReactivePower.js +3 -0
  407. package/dist/model/domain/ReactivePower.js.map +1 -1
  408. package/dist/model/domain/Resistance.js +3 -0
  409. package/dist/model/domain/Resistance.js.map +1 -1
  410. package/dist/model/domain/ResistancePerLength.js +3 -0
  411. package/dist/model/domain/ResistancePerLength.js.map +1 -1
  412. package/dist/model/domain/Voltage.js +3 -0
  413. package/dist/model/domain/Voltage.js.map +1 -1
  414. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +1 -0
  415. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -1
  416. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js +6 -0
  417. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js.map +1 -1
  418. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js +4 -0
  419. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js.map +1 -1
  420. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +1 -0
  421. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -1
  422. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.d.ts +61 -0
  423. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +75 -0
  424. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -1
  425. package/dist/model/equivalents/EquivalentBranch.d.ts +10 -4
  426. package/dist/model/equivalents/EquivalentBranch.js +69 -47
  427. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  428. package/dist/model/equivalents/EquivalentInjection.d.ts +1 -0
  429. package/dist/model/equivalents/EquivalentInjection.js +16 -0
  430. package/dist/model/equivalents/EquivalentInjection.js.map +1 -1
  431. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.d.ts +5 -2
  432. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +19 -17
  433. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js.map +1 -1
  434. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.d.ts +5 -2
  435. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +19 -17
  436. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js.map +1 -1
  437. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.d.ts +5 -2
  438. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +19 -17
  439. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js.map +1 -1
  440. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.d.ts +5 -2
  441. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +19 -17
  442. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js.map +1 -1
  443. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.d.ts +8 -3
  444. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +21 -6
  445. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -1
  446. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.d.ts +5 -2
  447. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +19 -17
  448. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js.map +1 -1
  449. package/dist/model/extensions/amprion/assets/AMPRIONCountry.d.ts +5 -2
  450. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js +23 -21
  451. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js.map +1 -1
  452. package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +8 -3
  453. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +27 -5
  454. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -1
  455. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.d.ts +5 -2
  456. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +19 -17
  457. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js.map +1 -1
  458. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.d.ts +5 -2
  459. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +19 -17
  460. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js.map +1 -1
  461. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.d.ts +5 -2
  462. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +19 -17
  463. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js.map +1 -1
  464. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.d.ts +8 -3
  465. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +33 -5
  466. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -1
  467. package/dist/model/extensions/amprion/assets/AMPRIONState.d.ts +7 -4
  468. package/dist/model/extensions/amprion/assets/AMPRIONState.js +29 -26
  469. package/dist/model/extensions/amprion/assets/AMPRIONState.js.map +1 -1
  470. package/dist/model/extensions/amprion/assets/AMPRIONTeam.d.ts +5 -2
  471. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js +20 -18
  472. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js.map +1 -1
  473. package/dist/model/extensions/amprion/assets/AMPRIONTower.d.ts +8 -3
  474. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +40 -10
  475. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -1
  476. package/dist/model/extensions/amprion/assets/AMPRIONWire.d.ts +8 -3
  477. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +42 -5
  478. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -1
  479. package/dist/model/extensions/amprion/core/AMPRIONBay.d.ts +7 -3
  480. package/dist/model/extensions/amprion/core/AMPRIONBay.js +10 -5
  481. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  482. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.d.ts +4 -0
  483. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +6 -0
  484. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  485. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +5 -3
  486. package/dist/model/extensions/amprion/core/AMPRIONLine.js +8 -5
  487. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
  488. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +8 -3
  489. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +12 -5
  490. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -1
  491. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.d.ts +2 -2
  492. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js +19 -20
  493. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js.map +1 -1
  494. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.d.ts +2 -2
  495. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js +19 -20
  496. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js.map +1 -1
  497. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.d.ts +2 -2
  498. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js +19 -20
  499. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js.map +1 -1
  500. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.d.ts +2 -2
  501. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js +19 -20
  502. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js.map +1 -1
  503. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.d.ts +3 -3
  504. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +31 -9
  505. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  506. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.d.ts +3 -3
  507. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js +9 -8
  508. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js.map +1 -1
  509. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.d.ts +2 -2
  510. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js +6 -7
  511. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js.map +1 -1
  512. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js +2 -0
  513. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js.map +1 -1
  514. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.d.ts +3 -3
  515. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +13 -7
  516. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  517. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js +8 -1
  518. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
  519. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +9 -4
  520. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +12 -7
  521. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -1
  522. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.d.ts +7 -3
  523. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js +37 -31
  524. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js.map +1 -1
  525. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.d.ts +4 -0
  526. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js +5 -0
  527. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
  528. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.d.ts +9 -4
  529. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +46 -33
  530. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
  531. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.d.ts +4 -3
  532. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +53 -26
  533. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
  534. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.d.ts +7 -3
  535. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js +34 -28
  536. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js.map +1 -1
  537. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.d.ts +5 -4
  538. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js +25 -22
  539. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js.map +1 -1
  540. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.d.ts +8 -3
  541. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +56 -40
  542. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
  543. package/dist/model/extensions/enervance/assets/EVAnalytic.d.ts +3 -3
  544. package/dist/model/extensions/enervance/assets/EVAnalytic.js +15 -15
  545. package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -1
  546. package/dist/model/extensions/enervance/assets/EVImportanceKind.d.ts +7 -0
  547. package/dist/model/extensions/enervance/assets/EVImportanceKind.js +12 -0
  548. package/dist/model/extensions/enervance/assets/EVImportanceKind.js.map +1 -0
  549. package/dist/model/extensions/enervance/assets/EVImportanceScore.d.ts +2 -2
  550. package/dist/model/extensions/enervance/assets/EVImportanceScore.js +22 -23
  551. package/dist/model/extensions/enervance/assets/EVImportanceScore.js.map +1 -1
  552. package/dist/model/extensions/enervance/assets/EVIndicator.d.ts +3 -3
  553. package/dist/model/extensions/enervance/assets/EVIndicator.js +25 -24
  554. package/dist/model/extensions/enervance/assets/EVIndicator.js.map +1 -1
  555. package/dist/model/extensions/enervance/assets/EVPriorityKind.d.ts +7 -0
  556. package/dist/model/extensions/enervance/assets/EVPriorityKind.js +12 -0
  557. package/dist/model/extensions/enervance/assets/EVPriorityKind.js.map +1 -0
  558. package/dist/model/extensions/enervance/assets/EVWireObject.d.ts +19 -5
  559. package/dist/model/extensions/enervance/assets/EVWireObject.js +111 -60
  560. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
  561. package/dist/model/extensions/enervance/core/EVTerminal.d.ts +2 -2
  562. package/dist/model/extensions/enervance/core/EVTerminal.js +6 -6
  563. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  564. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.d.ts +34 -0
  565. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.js +114 -0
  566. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.js.map +1 -0
  567. package/dist/model/extensions/enervance/operations/EVTerminalAction.d.ts +6 -4
  568. package/dist/model/extensions/enervance/operations/EVTerminalAction.js +31 -16
  569. package/dist/model/extensions/enervance/operations/EVTerminalAction.js.map +1 -1
  570. package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +7 -4
  571. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +44 -42
  572. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  573. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.d.ts +5 -4
  574. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +39 -35
  575. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  576. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.d.ts +4 -0
  577. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js +9 -0
  578. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js.map +1 -1
  579. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.d.ts +1 -0
  580. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js +3 -0
  581. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js.map +1 -1
  582. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.d.ts +1 -0
  583. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js +4 -0
  584. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js.map +1 -1
  585. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.d.ts +1 -0
  586. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +2 -0
  587. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
  588. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.d.ts +1 -0
  589. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js +5 -0
  590. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js.map +1 -1
  591. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.d.ts +1 -0
  592. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js +5 -0
  593. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js.map +1 -1
  594. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.d.ts +1 -0
  595. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +5 -0
  596. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
  597. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +17 -7
  598. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +70 -18
  599. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  600. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +2 -3
  601. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -1
  602. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.d.ts +7 -3
  603. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +43 -33
  604. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
  605. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.d.ts +12 -0
  606. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js +60 -0
  607. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js.map +1 -0
  608. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.d.ts +11 -0
  609. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js +55 -0
  610. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js.map +1 -0
  611. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.d.ts +12 -0
  612. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js +60 -0
  613. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js.map +1 -0
  614. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.d.ts +7 -0
  615. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js +12 -0
  616. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js.map +1 -0
  617. package/dist/model/extensions/neplan-westnetz/common/WNLocation.d.ts +10 -4
  618. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js +35 -28
  619. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -1
  620. package/dist/model/extensions/neplan-westnetz/core/WNBay.d.ts +5 -4
  621. package/dist/model/extensions/neplan-westnetz/core/WNBay.js +33 -30
  622. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -1
  623. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +22 -5
  624. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +227 -98
  625. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  626. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +16 -4
  627. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +85 -30
  628. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  629. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js +1 -1
  630. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js.map +1 -1
  631. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.d.ts +5 -3
  632. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js +21 -17
  633. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -1
  634. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.d.ts +7 -4
  635. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js +17 -12
  636. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -1
  637. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.d.ts +4 -4
  638. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +50 -47
  639. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
  640. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +34 -3
  641. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +192 -116
  642. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  643. package/dist/model/faults/Fault.d.ts +4 -2
  644. package/dist/model/faults/Fault.js +5 -0
  645. package/dist/model/faults/Fault.js.map +1 -1
  646. package/dist/model/generation/FossilFuel.d.ts +1 -0
  647. package/dist/model/generation/FossilFuel.js +4 -0
  648. package/dist/model/generation/FossilFuel.js.map +1 -1
  649. package/dist/model/generation/GeneratingUnit.d.ts +12 -4
  650. package/dist/model/generation/GeneratingUnit.js +63 -40
  651. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  652. package/dist/model/generation/HydroGeneratingUnit.d.ts +1 -0
  653. package/dist/model/generation/HydroGeneratingUnit.js +3 -0
  654. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  655. package/dist/model/generation/HydroPowerPlant.js +2 -2
  656. package/dist/model/generation/HydroPowerPlant.js.map +1 -1
  657. package/dist/model/generation/HydroPump.js +2 -0
  658. package/dist/model/generation/HydroPump.js.map +1 -1
  659. package/dist/model/generation/SolarGeneratingUnit.d.ts +1 -0
  660. package/dist/model/generation/SolarGeneratingUnit.js +1 -0
  661. package/dist/model/generation/SolarGeneratingUnit.js.map +1 -1
  662. package/dist/model/generation/ThermalGeneratingUnit.d.ts +1 -0
  663. package/dist/model/generation/ThermalGeneratingUnit.js +2 -1
  664. package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
  665. package/dist/model/generation/WindGeneratingUnit.d.ts +3 -0
  666. package/dist/model/generation/WindGeneratingUnit.js +13 -9
  667. package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
  668. package/dist/model/generic-data-set/ChangeSet.d.ts +9 -1
  669. package/dist/model/generic-data-set/ChangeSet.js +58 -2
  670. package/dist/model/generic-data-set/ChangeSet.js.map +1 -1
  671. package/dist/model/generic-data-set/ChangeSetMember.d.ts +34 -4
  672. package/dist/model/generic-data-set/ChangeSetMember.js +73 -4
  673. package/dist/model/generic-data-set/ChangeSetMember.js.map +1 -1
  674. package/dist/model/generic-data-set/DataSet.d.ts +10 -1
  675. package/dist/model/generic-data-set/DataSet.js +19 -0
  676. package/dist/model/generic-data-set/DataSet.js.map +1 -1
  677. package/dist/model/generic-data-set/InstanceSet.js +2 -2
  678. package/dist/model/generic-data-set/InstanceSet.js.map +1 -1
  679. package/dist/model/generic-data-set/ObjectCreation.d.ts +7 -1
  680. package/dist/model/generic-data-set/ObjectCreation.js +50 -6
  681. package/dist/model/generic-data-set/ObjectCreation.js.map +1 -1
  682. package/dist/model/generic-data-set/ObjectDeletion.d.ts +7 -1
  683. package/dist/model/generic-data-set/ObjectDeletion.js +50 -6
  684. package/dist/model/generic-data-set/ObjectDeletion.js.map +1 -1
  685. package/dist/model/generic-data-set/ObjectModification.d.ts +8 -1
  686. package/dist/model/generic-data-set/ObjectModification.js +58 -2
  687. package/dist/model/generic-data-set/ObjectModification.js.map +1 -1
  688. package/dist/model/generic-data-set/ObjectReverseModification.d.ts +8 -1
  689. package/dist/model/generic-data-set/ObjectReverseModification.js +52 -2
  690. package/dist/model/generic-data-set/ObjectReverseModification.js.map +1 -1
  691. package/dist/model/loadmodel/ConformLoad.d.ts +1 -0
  692. package/dist/model/loadmodel/ConformLoad.js +6 -3
  693. package/dist/model/loadmodel/ConformLoad.js.map +1 -1
  694. package/dist/model/loadmodel/ConformLoadGroup.js +3 -3
  695. package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
  696. package/dist/model/loadmodel/EnergyArea.d.ts +5 -0
  697. package/dist/model/loadmodel/EnergyArea.js +5 -0
  698. package/dist/model/loadmodel/EnergyArea.js.map +1 -1
  699. package/dist/model/loadmodel/LoadArea.d.ts +6 -0
  700. package/dist/model/loadmodel/LoadArea.js +10 -4
  701. package/dist/model/loadmodel/LoadArea.js.map +1 -1
  702. package/dist/model/loadmodel/LoadGroup.js +2 -0
  703. package/dist/model/loadmodel/LoadGroup.js.map +1 -1
  704. package/dist/model/loadmodel/SubLoadArea.d.ts +7 -0
  705. package/dist/model/loadmodel/SubLoadArea.js +13 -4
  706. package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
  707. package/dist/model/meas/Analog.js +4 -0
  708. package/dist/model/meas/Analog.js.map +1 -1
  709. package/dist/model/meas/Measurement.js +4 -0
  710. package/dist/model/meas/Measurement.js.map +1 -1
  711. package/dist/model/model-description/FullModel.d.ts +7 -0
  712. package/dist/model/model-description/FullModel.js +24 -0
  713. package/dist/model/model-description/FullModel.js.map +1 -0
  714. package/dist/model/model-description/Model.d.ts +23 -0
  715. package/dist/model/model-description/Model.js +86 -0
  716. package/dist/model/model-description/Model.js.map +1 -0
  717. package/dist/model/model-operations/DatasetArg.d.ts +1 -1
  718. package/dist/model/model-operations/DatasetArg.js +3 -2
  719. package/dist/model/model-operations/DatasetArg.js.map +1 -1
  720. package/dist/model/model-operations/IncrementalDatasetArg.d.ts +9 -1
  721. package/dist/model/model-operations/IncrementalDatasetArg.js +59 -2
  722. package/dist/model/model-operations/IncrementalDatasetArg.js.map +1 -1
  723. package/dist/model/model-operations/IncrementalDatasetArgDescription.d.ts +5 -0
  724. package/dist/model/model-operations/IncrementalDatasetArgDescription.js +37 -1
  725. package/dist/model/model-operations/IncrementalDatasetArgDescription.js.map +1 -1
  726. package/dist/model/model-operations/ModelOperation.d.ts +14 -2
  727. package/dist/model/model-operations/ModelOperation.js +70 -1
  728. package/dist/model/model-operations/ModelOperation.js.map +1 -1
  729. package/dist/model/model-operations/ModelOperationArg.d.ts +7 -1
  730. package/dist/model/model-operations/ModelOperationArg.js +17 -1
  731. package/dist/model/model-operations/ModelOperationArg.js.map +1 -1
  732. package/dist/model/model-operations/ModelOperationArgDescription.d.ts +4 -0
  733. package/dist/model/model-operations/ModelOperationArgDescription.js +15 -0
  734. package/dist/model/model-operations/ModelOperationArgDescription.js.map +1 -1
  735. package/dist/model/model-operations/ModelOperationDescription.d.ts +10 -2
  736. package/dist/model/model-operations/ModelOperationDescription.js +56 -17
  737. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -1
  738. package/dist/model/operationallimits/CurrentLimit.d.ts +5 -4
  739. package/dist/model/operationallimits/CurrentLimit.js +23 -22
  740. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  741. package/dist/model/operationallimits/OperationalLimit.d.ts +3 -3
  742. package/dist/model/operationallimits/OperationalLimit.js +5 -0
  743. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  744. package/dist/model/operationallimits/OperationalLimitSet.d.ts +5 -4
  745. package/dist/model/operationallimits/OperationalLimitSet.js +28 -21
  746. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  747. package/dist/model/operationallimits/OperationalLimitType.d.ts +3 -2
  748. package/dist/model/operationallimits/OperationalLimitType.js +25 -19
  749. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  750. package/dist/model/operationallimits/VoltageLimit.d.ts +1 -0
  751. package/dist/model/operationallimits/VoltageLimit.js +3 -0
  752. package/dist/model/operationallimits/VoltageLimit.js.map +1 -1
  753. package/dist/model/operations/ControlArea.d.ts +1 -0
  754. package/dist/model/operations/ControlArea.js +5 -4
  755. package/dist/model/operations/ControlArea.js.map +1 -1
  756. package/dist/model/operations/Outage.d.ts +6 -3
  757. package/dist/model/operations/Outage.js +8 -0
  758. package/dist/model/operations/Outage.js.map +1 -1
  759. package/dist/model/operations/SwitchAction.d.ts +6 -4
  760. package/dist/model/operations/SwitchAction.js +20 -15
  761. package/dist/model/operations/SwitchAction.js.map +1 -1
  762. package/dist/model/operations/SwitchingAction.d.ts +2 -2
  763. package/dist/model/operations/SwitchingAction.js +3 -0
  764. package/dist/model/operations/SwitchingAction.js.map +1 -1
  765. package/dist/model/operations/SwitchingPlan.d.ts +14 -3
  766. package/dist/model/operations/SwitchingPlan.js +24 -5
  767. package/dist/model/operations/SwitchingPlan.js.map +1 -1
  768. package/dist/model/statevariables/StateVariable.js +1 -0
  769. package/dist/model/statevariables/StateVariable.js.map +1 -1
  770. package/dist/model/statevariables/SvPowerFlow.d.ts +5 -4
  771. package/dist/model/statevariables/SvPowerFlow.js +29 -23
  772. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  773. package/dist/model/statevariables/SvStatus.d.ts +1 -0
  774. package/dist/model/statevariables/SvStatus.js +4 -1
  775. package/dist/model/statevariables/SvStatus.js.map +1 -1
  776. package/dist/model/statevariables/SvTapStep.d.ts +1 -0
  777. package/dist/model/statevariables/SvTapStep.js +4 -0
  778. package/dist/model/statevariables/SvTapStep.js.map +1 -1
  779. package/dist/model/statevariables/SvVoltage.d.ts +4 -4
  780. package/dist/model/statevariables/SvVoltage.js +27 -23
  781. package/dist/model/statevariables/SvVoltage.js.map +1 -1
  782. package/dist/model/topology/TopologicalIsland.js +22 -20
  783. package/dist/model/topology/TopologicalIsland.js.map +1 -1
  784. package/dist/model/topology/TopologicalNode.d.ts +5 -4
  785. package/dist/model/topology/TopologicalNode.js +45 -29
  786. package/dist/model/topology/TopologicalNode.js.map +1 -1
  787. package/dist/model/wires/ACLineSegment.d.ts +9 -4
  788. package/dist/model/wires/ACLineSegment.js +61 -46
  789. package/dist/model/wires/ACLineSegment.js.map +1 -1
  790. package/dist/model/wires/AsynchronousMachine.d.ts +1 -0
  791. package/dist/model/wires/AsynchronousMachine.js +11 -0
  792. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  793. package/dist/model/wires/Breaker.d.ts +5 -4
  794. package/dist/model/wires/Breaker.js +34 -34
  795. package/dist/model/wires/Breaker.js.map +1 -1
  796. package/dist/model/wires/BusbarSection.d.ts +5 -4
  797. package/dist/model/wires/BusbarSection.js +25 -23
  798. package/dist/model/wires/BusbarSection.js.map +1 -1
  799. package/dist/model/wires/Clamp.js +9 -9
  800. package/dist/model/wires/Clamp.js.map +1 -1
  801. package/dist/model/wires/CompositeSwitch.js +1 -0
  802. package/dist/model/wires/CompositeSwitch.js.map +1 -1
  803. package/dist/model/wires/Conductor.d.ts +4 -3
  804. package/dist/model/wires/Conductor.js +3 -1
  805. package/dist/model/wires/Conductor.js.map +1 -1
  806. package/dist/model/wires/Disconnector.d.ts +5 -4
  807. package/dist/model/wires/Disconnector.js +35 -34
  808. package/dist/model/wires/Disconnector.js.map +1 -1
  809. package/dist/model/wires/EarthFaultCompensator.d.ts +1 -1
  810. package/dist/model/wires/EarthFaultCompensator.js +1 -0
  811. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  812. package/dist/model/wires/EnergyConsumer.d.ts +9 -5
  813. package/dist/model/wires/EnergyConsumer.js +60 -37
  814. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  815. package/dist/model/wires/EnergySource.d.ts +10 -5
  816. package/dist/model/wires/EnergySource.js +24 -7
  817. package/dist/model/wires/EnergySource.js.map +1 -1
  818. package/dist/model/wires/ExternalNetworkInjection.d.ts +5 -4
  819. package/dist/model/wires/ExternalNetworkInjection.js +84 -59
  820. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  821. package/dist/model/wires/Ground.js +13 -12
  822. package/dist/model/wires/Ground.js.map +1 -1
  823. package/dist/model/wires/GroundDisconnector.js +16 -12
  824. package/dist/model/wires/GroundDisconnector.js.map +1 -1
  825. package/dist/model/wires/GroundingImpedance.d.ts +1 -0
  826. package/dist/model/wires/GroundingImpedance.js +2 -0
  827. package/dist/model/wires/GroundingImpedance.js.map +1 -1
  828. package/dist/model/wires/Junction.d.ts +3 -2
  829. package/dist/model/wires/Junction.js +24 -23
  830. package/dist/model/wires/Junction.js.map +1 -1
  831. package/dist/model/wires/Line.d.ts +5 -4
  832. package/dist/model/wires/Line.js +30 -29
  833. package/dist/model/wires/Line.js.map +1 -1
  834. package/dist/model/wires/LinearShuntCompensator.d.ts +1 -0
  835. package/dist/model/wires/LinearShuntCompensator.js +8 -3
  836. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  837. package/dist/model/wires/LoadBreakSwitch.d.ts +4 -4
  838. package/dist/model/wires/LoadBreakSwitch.js +34 -34
  839. package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
  840. package/dist/model/wires/PetersenCoil.d.ts +4 -3
  841. package/dist/model/wires/PetersenCoil.js +41 -31
  842. package/dist/model/wires/PetersenCoil.js.map +1 -1
  843. package/dist/model/wires/PhaseTapChanger.js +2 -0
  844. package/dist/model/wires/PhaseTapChanger.js.map +1 -1
  845. package/dist/model/wires/PhaseTapChangerAsymmetrical.d.ts +1 -0
  846. package/dist/model/wires/PhaseTapChangerAsymmetrical.js +2 -0
  847. package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -1
  848. package/dist/model/wires/PhaseTapChangerLinear.d.ts +1 -0
  849. package/dist/model/wires/PhaseTapChangerLinear.js +4 -0
  850. package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -1
  851. package/dist/model/wires/PhaseTapChangerNonLinear.js +3 -0
  852. package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -1
  853. package/dist/model/wires/PhaseTapChangerSymmetrical.d.ts +1 -0
  854. package/dist/model/wires/PhaseTapChangerSymmetrical.js +1 -0
  855. package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -1
  856. package/dist/model/wires/PhaseTapChangerTable.d.ts +1 -0
  857. package/dist/model/wires/PhaseTapChangerTable.js +4 -1
  858. package/dist/model/wires/PhaseTapChangerTable.js.map +1 -1
  859. package/dist/model/wires/PhaseTapChangerTablePoint.d.ts +1 -0
  860. package/dist/model/wires/PhaseTapChangerTablePoint.js +4 -0
  861. package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -1
  862. package/dist/model/wires/PhaseTapChangerTabular.d.ts +1 -0
  863. package/dist/model/wires/PhaseTapChangerTabular.js +3 -0
  864. package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -1
  865. package/dist/model/wires/Plant.js +1 -1
  866. package/dist/model/wires/Plant.js.map +1 -1
  867. package/dist/model/wires/PowerTransformer.d.ts +7 -5
  868. package/dist/model/wires/PowerTransformer.js +46 -45
  869. package/dist/model/wires/PowerTransformer.js.map +1 -1
  870. package/dist/model/wires/PowerTransformerEnd.d.ts +5 -4
  871. package/dist/model/wires/PowerTransformerEnd.js +50 -45
  872. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  873. package/dist/model/wires/RatioTapChanger.d.ts +22 -0
  874. package/dist/model/wires/RatioTapChanger.js +30 -0
  875. package/dist/model/wires/RatioTapChanger.js.map +1 -1
  876. package/dist/model/wires/RatioTapChangerTable.d.ts +1 -0
  877. package/dist/model/wires/RatioTapChangerTable.js +4 -1
  878. package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
  879. package/dist/model/wires/RatioTapChangerTablePoint.d.ts +1 -0
  880. package/dist/model/wires/RatioTapChangerTablePoint.js +3 -0
  881. package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
  882. package/dist/model/wires/ReactiveCapabilityCurve.d.ts +1 -0
  883. package/dist/model/wires/ReactiveCapabilityCurve.js +2 -1
  884. package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
  885. package/dist/model/wires/Recloser.js +9 -9
  886. package/dist/model/wires/Recloser.js.map +1 -1
  887. package/dist/model/wires/RegulatingCondEq.d.ts +3 -3
  888. package/dist/model/wires/RegulatingCondEq.js +5 -0
  889. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  890. package/dist/model/wires/RegulatingControl.d.ts +6 -4
  891. package/dist/model/wires/RegulatingControl.js +57 -35
  892. package/dist/model/wires/RegulatingControl.js.map +1 -1
  893. package/dist/model/wires/RotatingMachine.d.ts +3 -3
  894. package/dist/model/wires/RotatingMachine.js +18 -1
  895. package/dist/model/wires/RotatingMachine.js.map +1 -1
  896. package/dist/model/wires/SeriesCompensator.d.ts +5 -4
  897. package/dist/model/wires/SeriesCompensator.js +46 -39
  898. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  899. package/dist/model/wires/ShuntCompensator.js +9 -0
  900. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  901. package/dist/model/wires/StaticVarCompensator.d.ts +1 -0
  902. package/dist/model/wires/StaticVarCompensator.js +7 -0
  903. package/dist/model/wires/StaticVarCompensator.js.map +1 -1
  904. package/dist/model/wires/Switch.d.ts +6 -4
  905. package/dist/model/wires/Switch.js +58 -39
  906. package/dist/model/wires/Switch.js.map +1 -1
  907. package/dist/model/wires/SynchronousMachine.d.ts +5 -4
  908. package/dist/model/wires/SynchronousMachine.js +91 -60
  909. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  910. package/dist/model/wires/TapChanger.js +16 -0
  911. package/dist/model/wires/TapChanger.js.map +1 -1
  912. package/dist/model/wires/TapChangerControl.js +1 -1
  913. package/dist/model/wires/TapChangerControl.js.map +1 -1
  914. package/dist/model/wires/TapChangerTablePoint.js +7 -0
  915. package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
  916. package/dist/model/wires/TransformerEnd.d.ts +3 -3
  917. package/dist/model/wires/TransformerEnd.js +19 -0
  918. package/dist/model/wires/TransformerEnd.js.map +1 -1
  919. package/dist/model-container/enum/EVModelTypeKind.d.ts +4 -0
  920. package/dist/model-container/enum/EVModelTypeKind.js +9 -0
  921. package/dist/model-container/enum/EVModelTypeKind.js.map +1 -0
  922. package/dist/model-container/enum/EVObjectTypeKind.d.ts +143 -0
  923. package/dist/model-container/enum/EVObjectTypeKind.js +177 -0
  924. package/dist/model-container/enum/EVObjectTypeKind.js.map +1 -0
  925. package/dist/model-container/enum/EVOperationType.d.ts +4 -0
  926. package/dist/model-container/enum/EVOperationType.js +9 -0
  927. package/dist/model-container/enum/EVOperationType.js.map +1 -0
  928. package/dist/model-container/enum/EVSourceSystemKind.d.ts +8 -0
  929. package/dist/model-container/enum/EVSourceSystemKind.js +13 -0
  930. package/dist/model-container/enum/EVSourceSystemKind.js.map +1 -0
  931. package/dist/{model/extensions/amprion/model/AMPRIONModel.d.ts → model-container/model/AMPRIONModelContainer.d.ts} +35 -30
  932. package/dist/{model/extensions/amprion/model/AMPRIONModel.js → model-container/model/AMPRIONModelContainer.js} +49 -34
  933. package/dist/model-container/model/AMPRIONModelContainer.js.map +1 -0
  934. package/dist/model-container/model/EVModelContainer.d.ts +9 -0
  935. package/dist/model-container/model/EVModelContainer.js +29 -0
  936. package/dist/model-container/model/EVModelContainer.js.map +1 -0
  937. package/dist/model-container/model/EVModelsContainer.d.ts +51 -0
  938. package/dist/model-container/model/EVModelsContainer.js +268 -0
  939. package/dist/model-container/model/EVModelsContainer.js.map +1 -0
  940. package/dist/model-container/model/INTEGRALModelContainer.d.ts +14 -0
  941. package/dist/model-container/model/INTEGRALModelContainer.js +42 -0
  942. package/dist/model-container/model/INTEGRALModelContainer.js.map +1 -0
  943. package/dist/{model/model/Model.d.ts → model-container/model/ModelContainer.d.ts} +186 -94
  944. package/dist/model-container/model/ModelContainer.js +2254 -0
  945. package/dist/model-container/model/ModelContainer.js.map +1 -0
  946. package/dist/model-container/model/WNModelContainer.d.ts +12 -0
  947. package/dist/model-container/model/WNModelContainer.js +50 -0
  948. package/dist/model-container/model/WNModelContainer.js.map +1 -0
  949. package/dist/rdf/RdfBase.d.ts +10 -0
  950. package/dist/rdf/RdfBase.js +23 -0
  951. package/dist/rdf/RdfBase.js.map +1 -0
  952. package/dist/rdf/RdfClass.d.ts +20 -0
  953. package/dist/rdf/RdfClass.js +78 -0
  954. package/dist/rdf/RdfClass.js.map +1 -0
  955. package/dist/rdf/RdfEnum.d.ts +13 -0
  956. package/dist/rdf/RdfEnum.js +60 -0
  957. package/dist/rdf/RdfEnum.js.map +1 -0
  958. package/dist/rdf/RdfModel.d.ts +19 -0
  959. package/dist/rdf/RdfModel.js +64 -0
  960. package/dist/rdf/RdfModel.js.map +1 -0
  961. package/dist/rdf/RdfProperty.d.ts +20 -0
  962. package/dist/rdf/RdfProperty.js +84 -0
  963. package/dist/rdf/RdfProperty.js.map +1 -0
  964. package/dist/rdf/rdf-enums.d.ts +18 -0
  965. package/dist/rdf/rdf-enums.js +25 -0
  966. package/dist/rdf/rdf-enums.js.map +1 -0
  967. package/dist/rdf/rdf-interfaces.d.ts +4 -0
  968. package/dist/rdf/rdf-interfaces.js +3 -0
  969. package/dist/rdf/rdf-interfaces.js.map +1 -0
  970. package/dist/types/cim.types.d.ts +9 -0
  971. package/dist/types/cim.types.js +3 -0
  972. package/dist/types/cim.types.js.map +1 -0
  973. package/dist/util/collection/util-dot.js +1 -0
  974. package/dist/util/collection/util-dot.js.map +1 -1
  975. package/dist/util/collection/util-excel.d.ts +12 -0
  976. package/dist/util/collection/util-excel.js +20 -6
  977. package/dist/util/collection/util-excel.js.map +1 -1
  978. package/dist/util/collection/util-graph.d.ts +30 -0
  979. package/dist/util/collection/util-graph.js +51 -0
  980. package/dist/util/collection/util-graph.js.map +1 -1
  981. package/dist/util/collection/util-graph2tree.d.ts +21 -0
  982. package/dist/util/collection/util-graph2tree.js +87 -17
  983. package/dist/util/collection/util-graph2tree.js.map +1 -1
  984. package/dist/util/collection/util-tree.d.ts +13 -0
  985. package/dist/util/collection/util-tree.js +13 -0
  986. package/dist/util/collection/util-tree.js.map +1 -1
  987. package/dist/util/database/mysql-controller.js +7 -9
  988. package/dist/util/database/mysql-controller.js.map +1 -1
  989. package/dist/util/sparql/sparql-utils.d.ts +21 -0
  990. package/dist/util/sparql/sparql-utils.js +34 -10
  991. package/dist/util/sparql/sparql-utils.js.map +1 -1
  992. package/dist/util/util-create.d.ts +19 -12
  993. package/dist/util/util-create.js +17 -0
  994. package/dist/util/util-create.js.map +1 -1
  995. package/dist/util/util-search.d.ts +1 -0
  996. package/dist/util/util-search.js +15 -1
  997. package/dist/util/util-search.js.map +1 -1
  998. package/dist/util/util-test.d.ts +11 -9
  999. package/dist/util/util-test.js +171 -175
  1000. package/dist/util/util-test.js.map +1 -1
  1001. package/dist/util/util-topology.d.ts +16 -6
  1002. package/dist/util/util-topology.js +25 -0
  1003. package/dist/util/util-topology.js.map +1 -1
  1004. package/dist/util/utils.d.ts +24 -6
  1005. package/dist/util/utils.js +56 -21
  1006. package/dist/util/utils.js.map +1 -1
  1007. package/dist/util/xml/utils.parser.js +2 -2
  1008. package/dist/util/xml/utils.parser.js.map +1 -1
  1009. package/dist/util/xml/xml.parser.d.ts +2 -2
  1010. package/dist/util/xml/xml.parser.js +9 -3
  1011. package/dist/util/xml/xml.parser.js.map +1 -1
  1012. package/dist/util/xml/xml.serializer.d.ts +5 -5
  1013. package/dist/util/xml/xml.serializer.js +112 -14
  1014. package/dist/util/xml/xml.serializer.js.map +1 -1
  1015. package/dist/utils2/cim-to-db.d.ts +11 -0
  1016. package/dist/utils2/cim-to-db.js +46 -0
  1017. package/dist/utils2/cim-to-db.js.map +1 -0
  1018. package/dist/utils2/cim.model.utils.d.ts +25 -0
  1019. package/dist/utils2/cim.model.utils.js +428 -0
  1020. package/dist/utils2/cim.model.utils.js.map +1 -0
  1021. package/dist/utils2/common.utils.d.ts +33 -0
  1022. package/dist/utils2/common.utils.js +89 -0
  1023. package/dist/utils2/common.utils.js.map +1 -0
  1024. package/dist/utils2/fuseki.utils.d.ts +43 -0
  1025. package/dist/utils2/fuseki.utils.js +66 -0
  1026. package/dist/utils2/fuseki.utils.js.map +1 -0
  1027. package/dist/utils2/import.utils.d.ts +7 -0
  1028. package/dist/utils2/import.utils.js +40 -0
  1029. package/dist/utils2/import.utils.js.map +1 -0
  1030. package/dist/utils2/model.modification.utils.d.ts +139 -0
  1031. package/dist/utils2/model.modification.utils.js +545 -0
  1032. package/dist/utils2/model.modification.utils.js.map +1 -0
  1033. package/dist/utils2/parser.utils.d.ts +15 -0
  1034. package/dist/utils2/parser.utils.js +141 -0
  1035. package/dist/utils2/parser.utils.js.map +1 -0
  1036. package/dist/utils2/rdf.model.utils.d.ts +7 -0
  1037. package/dist/utils2/rdf.model.utils.js +33 -0
  1038. package/dist/utils2/rdf.model.utils.js.map +1 -0
  1039. package/dist/utils2/sparql.utils.d.ts +40 -0
  1040. package/dist/utils2/sparql.utils.js +330 -0
  1041. package/dist/utils2/sparql.utils.js.map +1 -0
  1042. package/package.json +24 -29
  1043. package/dist/config/config.utils.d.ts +0 -1
  1044. package/dist/config/config.utils.js +0 -38
  1045. package/dist/config/config.utils.js.map +0 -1
  1046. package/dist/config/default/default-load.config.d.ts +0 -1
  1047. package/dist/config/default/default-load.config.js +0 -43
  1048. package/dist/config/default/default-load.config.js.map +0 -1
  1049. package/dist/config/lew-sincal/lew-sincal-load.config.d.ts +0 -1
  1050. package/dist/config/lew-sincal/lew-sincal-load.config.js +0 -46
  1051. package/dist/config/lew-sincal/lew-sincal-load.config.js.map +0 -1
  1052. package/dist/config/power-system-datamodel/psdm-load.config.d.ts +0 -1
  1053. package/dist/config/power-system-datamodel/psdm-load.config.js +0 -48
  1054. package/dist/config/power-system-datamodel/psdm-load.config.js.map +0 -1
  1055. package/dist/config/westnetz-integral7/integral7-load.config.d.ts +0 -1
  1056. package/dist/config/westnetz-integral7/integral7-load.config.js +0 -47
  1057. package/dist/config/westnetz-integral7/integral7-load.config.js.map +0 -1
  1058. package/dist/config/westnetz-neplan/neplan-load.config.d.ts +0 -2
  1059. package/dist/config/westnetz-neplan/neplan-load.config.js +0 -98
  1060. package/dist/config/westnetz-neplan/neplan-load.config.js.map +0 -1
  1061. package/dist/constants/cim-class-definition.d.ts +0 -1
  1062. package/dist/constants/cim-class-definition.js +0 -220
  1063. package/dist/constants/cim-class-definition.js.map +0 -1
  1064. package/dist/constants/cim.sourcesystem.d.ts +0 -6
  1065. package/dist/constants/cim.sourcesystem.js +0 -11
  1066. package/dist/constants/cim.sourcesystem.js.map +0 -1
  1067. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.d.ts +0 -1
  1068. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.js +0 -59
  1069. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.js.map +0 -1
  1070. package/dist/constants/init-data/ASSSET_OWNER.d.ts +0 -1
  1071. package/dist/constants/init-data/ASSSET_OWNER.js +0 -24
  1072. package/dist/constants/init-data/ASSSET_OWNER.js.map +0 -1
  1073. package/dist/constants/init-data/JENA_SPARQL.d.ts +0 -11
  1074. package/dist/constants/init-data/JENA_SPARQL.js +0 -328
  1075. package/dist/constants/init-data/JENA_SPARQL.js.map +0 -1
  1076. package/dist/constants/init-data/PSR_TYPES.d.ts +0 -1
  1077. package/dist/constants/init-data/PSR_TYPES.js +0 -103
  1078. package/dist/constants/init-data/PSR_TYPES.js.map +0 -1
  1079. package/dist/constants/init-data/RZ.d.ts +0 -1
  1080. package/dist/constants/init-data/RZ.js +0 -61
  1081. package/dist/constants/init-data/RZ.js.map +0 -1
  1082. package/dist/constants/init-data/xml/settings.d.ts +0 -1
  1083. package/dist/constants/init-data/xml/settings.js +0 -70
  1084. package/dist/constants/init-data/xml/settings.js.map +0 -1
  1085. package/dist/constants/util-init.d.ts +0 -1
  1086. package/dist/constants/util-init.js +0 -17
  1087. package/dist/constants/util-init.js.map +0 -1
  1088. package/dist/converter/integral7/ConverterIntegral7.d.ts +0 -200
  1089. package/dist/converter/integral7/ConverterIntegral7.js +0 -4096
  1090. package/dist/converter/integral7/ConverterIntegral7.js.map +0 -1
  1091. package/dist/converter/integral7/converter-i7.d.ts +0 -165
  1092. package/dist/converter/integral7/converter-i7.js +0 -4632
  1093. package/dist/converter/integral7/converter-i7.js.map +0 -1
  1094. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +0 -1
  1095. package/dist/model/extensions/enervance/model/EVModel.d.ts +0 -11
  1096. package/dist/model/extensions/enervance/model/EVModel.js +0 -45
  1097. package/dist/model/extensions/enervance/model/EVModel.js.map +0 -1
  1098. package/dist/model/extensions/integral/model/INTEGRALModel.d.ts +0 -8
  1099. package/dist/model/extensions/integral/model/INTEGRALModel.js +0 -19
  1100. package/dist/model/extensions/integral/model/INTEGRALModel.js.map +0 -1
  1101. package/dist/model/model/Model.js +0 -1216
  1102. package/dist/model/model/Model.js.map +0 -1
  1103. package/dist/util/cim.model.util.d.ts +0 -4
  1104. package/dist/util/cim.model.util.js +0 -257
  1105. package/dist/util/cim.model.util.js.map +0 -1
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DLConverterI7 = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const integral_sql_1 = require("../sql/integral.sql");
6
5
  const Diagram_1 = require("../../../model/diagram/Diagram");
7
6
  const utils_1 = require("../../../util/utils");
@@ -15,12 +14,36 @@ const DiagramObject_1 = require("../../../model/diagram/DiagramObject");
15
14
  const DiagramObjectPoint_1 = require("../../../model/diagram/DiagramObjectPoint");
16
15
  const utils_schema_1 = require("../utils-schema");
17
16
  const data_types_1 = require("./db/data.types");
18
- const Model_1 = require("../../../model/model/Model");
19
17
  const ConnectivityNode_1 = require("../../../model/core/ConnectivityNode");
20
18
  const ConductingEquipment_1 = require("../../../model/core/ConductingEquipment");
21
19
  const BusbarSection_1 = require("../../../model/wires/BusbarSection");
22
20
  const ACLineSegment_1 = require("../../../model/wires/ACLineSegment");
21
+ const ModelContainer_1 = require("../../../model-container/model/ModelContainer");
23
22
  class DLConverterI7 {
23
+ /** key: VariantenNr (integral7) | value: corresponding diagram */
24
+ static variantenNr2Diagram = new Map();
25
+ /** key: Data-Type | value: Array of JSON-stringified I7SchemaKeyObjects */
26
+ static type2i7IDs = new Map();
27
+ /** key: JSON-stringified I7SchemaKeyObject | value: CimUUIDsEntry */
28
+ static i7ID2cimUUIDs = new Map();
29
+ /** key: JSON-stringified I7SchemaKeyObject | value: Data-Type */
30
+ static i7ID2Type = new Map();
31
+ /** key: JSON-stringified I7SchemaKeyObject | value: schema database object (integral) */
32
+ static i7ID2DbNsgObject = new Map();
33
+ /** key: uuid of cim-net object or diagram object | value: JSON-stringified I7SchemaKeyObject */
34
+ static cimUUID2i7ID = new Map();
35
+ static cimUUID2Object = new Map();
36
+ static cimUUID2DiagramObject = new Map();
37
+ i7TableName2Table;
38
+ mysqlController;
39
+ logger;
40
+ activeDiagram;
41
+ inputArgs;
42
+ /** key: JSON-stringified I7SchemaKeyObject | value: schema database object (integral) */
43
+ static i7ID2DbNsgObjectInFrame = new Map();
44
+ /** this flag is being used for testings, so that the data is not being purged and can be simply checked afterwards */
45
+ static purgeData = true;
46
+ static cimModelObjects = new ModelContainer_1.ModelContainer();
24
47
  constructor() {
25
48
  }
26
49
  static addCimObjects(...objs) {
@@ -71,8 +94,12 @@ class DLConverterI7 {
71
94
  cleanUp() {
72
95
  DLConverterI7.i7ID2DbNsgObjectInFrame.clear();
73
96
  DLConverterI7.variantenNr2Diagram.clear();
97
+ // TODO cleanup every relevant map
74
98
  if (!DLConverterI7.purgeData)
75
99
  return;
100
+ // i7ID2cimUUIDs no clear cause of: lines
101
+ // i7ID2DbNsgObject no clear cause of: lines
102
+ // i7ID2Type no clear cause of: lines
76
103
  DLConverterI7.type2i7IDs.clear();
77
104
  DLConverterI7.cimUUID2i7ID.clear();
78
105
  DLConverterI7.cimUUID2Object.clear();
@@ -99,61 +126,58 @@ class DLConverterI7 {
99
126
  }
100
127
  }
101
128
  }
102
- convert(availableTablesWithColumnNames, onlyEingeblendet, args) {
103
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
- this.inputArgs = args;
105
- this.inputArgs.objects.forEach((value, key) => DLConverterI7.cimModelObjects.objects.set(key, value));
106
- this.i7TableName2Table = new Map();
107
- availableTablesWithColumnNames.forEach((value, key) => {
108
- this.i7TableName2Table.set(key, { tableName: key, columnNames: value });
109
- });
110
- yield this.runAndLogPerformance(this.convertNsgVarianten);
111
- let a = 0;
112
- for (const entry of DLConverterI7.variantenNr2Diagram.entries()) {
113
- ++a;
114
- const variantenNr = entry[0];
115
- this.activeDiagram = entry[1];
116
- this.logger.debug(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
117
- console.log(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
118
- const startTime = perf_hooks_1.performance.now();
119
- const ret_val = yield this.convertSchemaStandorte(variantenNr, onlyEingeblendet, args.standortIDs);
120
- this.logger.debug(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
121
- console.log(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
122
- if (ret_val) {
123
- yield this.runAndLogPerformance(this.convertSchemaStandorte, variantenNr, onlyEingeblendet, args.standortIDs);
124
- yield this.runAndLogPerformance(this.convertSchemaKnotenSo, variantenNr, onlyEingeblendet, args.knotenSoIDs);
125
- yield this.runAndLogPerformance(this.convertSchemaSchaltanlage, variantenNr, onlyEingeblendet, args.schaltanlagenIDs);
126
- yield this.runAndLogPerformance(this.convertSchemaSchaltanlagenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
127
- yield this.runAndLogPerformance(this.convertSchemaSammelschienenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
128
- yield this.runAndLogPerformance(this.convertSchemaSchaltfeldElemente, variantenNr, onlyEingeblendet, args.schaltfeldIDs);
129
- yield this.runAndLogPerformance(this.convertSchemaQuerkupplungen, variantenNr, onlyEingeblendet, args.querkupplungIDs);
130
- yield this.runAndLogPerformance(this.convertSchemaLaengskupplungen, variantenNr, onlyEingeblendet, args.laengskupplungIDs);
131
- yield this.runAndLogPerformance(this.convertSchemaTransformatoren2W, variantenNr, onlyEingeblendet, args.powerTransformers);
132
- yield this.runAndLogPerformance(this.convertSchemaTransformatoren3W, variantenNr, onlyEingeblendet, args.powerTransformers);
133
- yield this.runAndLogPerformance(this.convertSchemaLeitungen, variantenNr, onlyEingeblendet);
134
- yield this.runAndLogPerformance(this.convertSchemaQuerzweige, variantenNr, onlyEingeblendet);
135
- yield this.runAndLogPerformance(this.convertSchemaTerminals);
136
- }
137
- }
129
+ async convert(availableTablesWithColumnNames, onlyEingeblendet, args) {
130
+ this.inputArgs = args;
131
+ this.inputArgs.objects.forEach((value, key) => DLConverterI7.cimModelObjects.objects.set(key, value));
132
+ this.i7TableName2Table = new Map();
133
+ availableTablesWithColumnNames.forEach((value, key) => {
134
+ this.i7TableName2Table.set(key, { tableName: key, columnNames: value });
138
135
  });
139
- }
140
- convertNsgVarianten() {
141
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
142
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
143
- const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZVARIANTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZVARIANTEN), [2]));
144
- for (const i7Data of result) {
145
- const diagram = new Diagram_1.Diagram((0, utils_1.getUUID)(i7Data.guid), i7Data.name, String(i7Data.id));
146
- diagram.orientation = OrientationKind_1.OrientationKind.negative;
147
- diagram.diagramStyle = new DiagramStyle_1.DiagramStyle((0, utils_1.generateUUID)(), cim_constants_1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
148
- DLConverterI7.addCimObjects(diagram);
149
- DLConverterI7.variantenNr2Diagram.set(i7Data.id, diagram);
150
- }
136
+ await this.runAndLogPerformance(this.convertNsgVarianten);
137
+ let a = 0;
138
+ for (const entry of DLConverterI7.variantenNr2Diagram.entries()) {
139
+ ++a;
140
+ const variantenNr = entry[0];
141
+ this.activeDiagram = entry[1];
142
+ this.logger.debug(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
143
+ console.log(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
144
+ const startTime = perf_hooks_1.performance.now();
145
+ const ret_val = await this.convertSchemaStandorte(variantenNr, onlyEingeblendet, args.standortIDs);
146
+ this.logger.debug(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
147
+ console.log(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
148
+ if (ret_val) {
149
+ await this.runAndLogPerformance(this.convertSchemaStandorte, variantenNr, onlyEingeblendet, args.standortIDs);
150
+ await this.runAndLogPerformance(this.convertSchemaKnotenSo, variantenNr, onlyEingeblendet, args.knotenSoIDs);
151
+ await this.runAndLogPerformance(this.convertSchemaSchaltanlage, variantenNr, onlyEingeblendet, args.schaltanlagenIDs);
152
+ await this.runAndLogPerformance(this.convertSchemaSchaltanlagenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
153
+ await this.runAndLogPerformance(this.convertSchemaSammelschienenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
154
+ await this.runAndLogPerformance(this.convertSchemaSchaltfeldElemente, variantenNr, onlyEingeblendet, args.schaltfeldIDs);
155
+ await this.runAndLogPerformance(this.convertSchemaQuerkupplungen, variantenNr, onlyEingeblendet, args.querkupplungIDs);
156
+ await this.runAndLogPerformance(this.convertSchemaLaengskupplungen, variantenNr, onlyEingeblendet, args.laengskupplungIDs);
157
+ await this.runAndLogPerformance(this.convertSchemaTransformatoren2W, variantenNr, onlyEingeblendet, args.powerTransformers);
158
+ await this.runAndLogPerformance(this.convertSchemaTransformatoren3W, variantenNr, onlyEingeblendet, args.powerTransformers);
159
+ await this.runAndLogPerformance(this.convertSchemaLeitungen, variantenNr, onlyEingeblendet);
160
+ await this.runAndLogPerformance(this.convertSchemaQuerzweige, variantenNr, onlyEingeblendet);
161
+ await this.runAndLogPerformance(this.convertSchemaTerminals);
151
162
  }
152
- else {
153
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
163
+ }
164
+ }
165
+ async convertNsgVarianten() {
166
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
167
+ const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZVARIANTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZVARIANTEN), [2]));
168
+ for (const i7Data of result) {
169
+ const diagram = new Diagram_1.Diagram((0, utils_1.getUUID)(i7Data.guid), i7Data.name, String(i7Data.id));
170
+ diagram.orientation = OrientationKind_1.OrientationKind.negative;
171
+ diagram.diagramStyle = new DiagramStyle_1.DiagramStyle((0, utils_1.generateUUID)(), cim_constants_1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
172
+ DLConverterI7.addCimObjects(diagram);
173
+ DLConverterI7.variantenNr2Diagram.set(i7Data.id, diagram);
154
174
  }
155
- });
175
+ }
176
+ else {
177
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
178
+ }
156
179
  }
180
+ /** Register the NsgObject and perform a type mapping. Returns a SchemaKeyObject*/
157
181
  static registerNsgObjectAndGetSchemaKay(i7Data, type, keyObject) {
158
182
  const schemaObjKey = DLConverterI7.createSchemaKeyObject(keyObject === undefined ?
159
183
  { i7ID: i7Data.id, variantenNr: i7Data.variantennr }
@@ -162,119 +186,119 @@ class DLConverterI7 {
162
186
  DLConverterI7.addID2DbNsgObjectMapping(schemaObjKey, i7Data);
163
187
  return schemaObjKey;
164
188
  }
165
- convertSchemaStandorte(variantenNr, onlyEingeblendet, standortIDs) {
166
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
167
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
168
- const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_STANDORT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_STANDORT), standortIDs));
169
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
170
- for (const i7Data of filteredResults) {
171
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_STANDORT);
172
- }
173
- return filteredResults.length > 0;
189
+ async convertSchemaStandorte(variantenNr, onlyEingeblendet, standortIDs) {
190
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
191
+ const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_STANDORT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_STANDORT), standortIDs));
192
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
193
+ for (const i7Data of filteredResults) {
194
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_STANDORT);
174
195
  }
175
- return false;
176
- });
196
+ return filteredResults.length > 0;
197
+ }
198
+ return false;
177
199
  }
178
- convertSchemaKnotenSo(variantenNr, onlyEingeblendet, knotenSoIDs) {
179
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
180
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
181
- const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_KNOTEN_SO, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO), knotenSoIDs));
182
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
183
- for (const i7Data of filteredResults) {
184
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
185
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
186
- const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
187
- if (nsgStandort === undefined) {
188
- continue;
189
- }
190
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.knotenso);
191
- const width = constants_1.NsgConstants.KNOTENSO_WIDTH;
192
- const height = constants_1.NsgConstants.KNOTENSO_HEIGHT;
193
- const xParentRel = nsgStandort.xrel;
194
- const yParentRel = nsgStandort.yrel;
195
- const diagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
196
- xPosition: xParentRel + i7Data.xrel + (width / 2),
197
- yPosition: yParentRel + i7Data.yrel + (height / 2),
198
- diagramObjectName: 'Abzweig',
199
- identifiedObjectUUID: cimObjectUUID,
200
- diagramUUID: this.activeDiagram.getUUID()
201
- });
202
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
203
- identifiedObjectUUID: cimObjectUUID,
204
- diagramObjectUUID: diagramObject.getUUID()
205
- });
206
- DLConverterI7.addCimObjects(diagramObject);
200
+ async convertSchemaKnotenSo(variantenNr, onlyEingeblendet, knotenSoIDs) {
201
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
202
+ const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_KNOTEN_SO, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO), knotenSoIDs));
203
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
204
+ for (const i7Data of filteredResults) {
205
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
206
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
207
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
208
+ if (nsgStandort === undefined) {
209
+ continue;
207
210
  }
211
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.knotenso);
212
+ const width = constants_1.NsgConstants.KNOTENSO_WIDTH;
213
+ const height = constants_1.NsgConstants.KNOTENSO_HEIGHT;
214
+ const xParentRel = nsgStandort.xrel;
215
+ const yParentRel = nsgStandort.yrel;
216
+ const diagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
217
+ xPosition: xParentRel + i7Data.xrel + (width / 2),
218
+ yPosition: yParentRel + i7Data.yrel + (height / 2),
219
+ diagramObjectName: 'Abzweig',
220
+ identifiedObjectUUID: cimObjectUUID,
221
+ diagramUUID: this.activeDiagram.getUUID()
222
+ });
223
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
224
+ identifiedObjectUUID: cimObjectUUID,
225
+ diagramObjectUUID: diagramObject.getUUID()
226
+ });
227
+ DLConverterI7.addCimObjects(diagramObject);
208
228
  }
209
- else {
210
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
211
- }
212
- });
229
+ }
230
+ else {
231
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
232
+ }
213
233
  }
214
- convertSchemaSchaltanlage(variantenNr, onlyEingeblendet, schaltanlagenIDs) {
215
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
216
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && schaltanlagenIDs.length > 0) {
217
- const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE), schaltanlagenIDs));
218
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
219
- for (const i7Data of filteredResults) {
220
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
221
- }
222
- }
223
- else {
224
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
234
+ async convertSchemaSchaltanlage(variantenNr, onlyEingeblendet, schaltanlagenIDs) {
235
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && schaltanlagenIDs.length > 0) {
236
+ const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE), schaltanlagenIDs));
237
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
238
+ for (const i7Data of filteredResults) {
239
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
225
240
  }
226
- });
241
+ }
242
+ else {
243
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
244
+ }
227
245
  }
228
- convertSchemaSchaltanlagenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
229
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
230
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
231
- const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT), schaltanlagenabschnittIDs));
232
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
233
- for (const i7Data of filteredResults) {
234
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
235
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
236
- const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
237
- if (nsgSchaltanlage) {
238
- if (nsgSchaltanlage.saabschnittIDs === undefined) {
239
- nsgSchaltanlage.saabschnittIDs = [];
240
- }
241
- nsgSchaltanlage.saabschnittIDs.push(schemaObjKey);
242
- if (nsgSchaltanlage.nsgSaabs === undefined) {
243
- nsgSchaltanlage.nsgSaabs = [];
244
- }
245
- nsgSchaltanlage.nsgSaabs.push(i7Data);
246
+ async convertSchemaSchaltanlagenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
247
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
248
+ const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT), schaltanlagenabschnittIDs));
249
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
250
+ for (const i7Data of filteredResults) {
251
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
252
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
253
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
254
+ if (nsgSchaltanlage) {
255
+ if (nsgSchaltanlage.saabschnittIDs === undefined) {
256
+ nsgSchaltanlage.saabschnittIDs = [];
257
+ }
258
+ nsgSchaltanlage.saabschnittIDs.push(schemaObjKey);
259
+ if (nsgSchaltanlage.nsgSaabs === undefined) {
260
+ nsgSchaltanlage.nsgSaabs = [];
246
261
  }
262
+ nsgSchaltanlage.nsgSaabs.push(i7Data);
247
263
  }
248
264
  }
249
- else {
250
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
251
- }
252
- });
265
+ }
266
+ else {
267
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
268
+ }
253
269
  }
254
- convertSchemaSammelschienenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
255
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
256
- if (schaltanlagenabschnittIDs.length <= 0)
257
- return;
258
- const isEingeblendet = 1;
259
- let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
270
+ async convertSchemaSammelschienenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
271
+ if (schaltanlagenabschnittIDs.length <= 0)
272
+ return;
273
+ /* Hinweis: => eingeblendet - ausgeblendet
274
+ Die wahre Länge eines SSAbschnitts steht nicht in dem Längenattribut 'nsg_nsgsaab.laenge'
275
+ sondern muss über die nsg_nsgschaltfeld-Tabelle ermittelt werden.
276
+ Der Längen-Wert von 'nsg_nsgsaab.laenge' bezieht sich auf die Länge mit allen eingeblendeten Attributen
277
+ */
278
+ const isEingeblendet = 1;
279
+ /* BEGIN: Select-Statement zum ermitteln der maximalen Slotnummer bezogen auf spezifische Schaltanlagen und Schaltfelder */
280
+ let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
260
281
  FROM nsg_nsgschaltfeld
261
282
  WHERE ((${(0, integral_sql_1.getWhereIDs)('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
262
- if (onlyEingeblendet) {
263
- sqlSelectGroupedMaxSlotSf += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
264
- }
265
- sqlSelectGroupedMaxSlotSf += ` GROUP BY nsgsaa`;
266
- const resultsMaxSlotsSf = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotSf);
267
- const mappedResultsMaxSlotsSf = new Map(resultsMaxSlotsSf.map(value => [value.nsgsaa, value.laenge]));
268
- let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
283
+ if (onlyEingeblendet) {
284
+ sqlSelectGroupedMaxSlotSf += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
285
+ }
286
+ sqlSelectGroupedMaxSlotSf += ` GROUP BY nsgsaa`;
287
+ const resultsMaxSlotsSf = await this.mysqlController.execQuery(sqlSelectGroupedMaxSlotSf);
288
+ const mappedResultsMaxSlotsSf = new Map(resultsMaxSlotsSf.map(value => [value.nsgsaa, value.laenge]));
289
+ /* END: Schaltfelder-SQL (max slotnummer) */
290
+ /* BEGIN: Select-Statement zum ermitteln der maximalen Slotnummer bezogen auf spezifische Schaltanlagen und Kuppelfelder */
291
+ let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
269
292
  FROM nsg_nsgkpfeld
270
293
  WHERE ((${(0, integral_sql_1.getWhereIDs)('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
271
- if (onlyEingeblendet) {
272
- sqlSelectGroupedMaxSlotKpF += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
273
- }
274
- sqlSelectGroupedMaxSlotKpF += ` GROUP BY nsgsaa`;
275
- const resultsMaxSlotsKpF = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotKpF);
276
- const mappedResultsMaxSlotsKpF = new Map(resultsMaxSlotsKpF.map(value => [value.nsgsaa, value.laenge]));
277
- const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
294
+ if (onlyEingeblendet) {
295
+ sqlSelectGroupedMaxSlotKpF += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
296
+ }
297
+ sqlSelectGroupedMaxSlotKpF += ` GROUP BY nsgsaa`;
298
+ const resultsMaxSlotsKpF = await this.mysqlController.execQuery(sqlSelectGroupedMaxSlotKpF);
299
+ const mappedResultsMaxSlotsKpF = new Map(resultsMaxSlotsKpF.map(value => [value.nsgsaa, value.laenge]));
300
+ /* END: Kuppelfelder-SQL (max slotnummer) */
301
+ const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
278
302
  nsg_nsgsaab.id,
279
303
  nsg_nsgsaab.laenge AS laenge,
280
304
  nsg_nsgsaab.nslots,
@@ -288,830 +312,954 @@ class DLConverterI7 {
288
312
  FROM netz_ssab
289
313
  LEFT JOIN nsg_nsgsaabschnitt AS nsg_nsgsaab ON nsg_nsgsaab.saabschnitt = netz_ssab.saabschnitt
290
314
  WHERE (${(0, integral_sql_1.getWhereIDs)('nsg_nsgsaab.saabschnitt', schaltanlagenabschnittIDs).join(' OR ')});`;
291
- const queryResults = yield this.mysqlController.execQuery(sqlStatement);
292
- queryResults.forEach(value => {
293
- value.laenge = Math.max((mappedResultsMaxSlotsSf.get(value.id) || 0), (mappedResultsMaxSlotsKpF.get(value.id) || 0), value.laenge);
315
+ const queryResults = await this.mysqlController.execQuery(sqlStatement);
316
+ queryResults.forEach(value => {
317
+ value.laenge = Math.max((mappedResultsMaxSlotsSf.get(value.id) || 0), (mappedResultsMaxSlotsKpF.get(value.id) || 0), value.laenge);
318
+ });
319
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(queryResults, variantenNr, onlyEingeblendet);
320
+ for (const i7Data of filteredResults) {
321
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_SSAB, { i7ID: i7Data.idSSAB, variantenNr, additionalIDs: [i7Data.nsgsa] });
322
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
323
+ const nsgSa = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
324
+ if (nsgSa === undefined)
325
+ continue;
326
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSa.nsgso, variantenNr });
327
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
328
+ // Standort ist vermutlich ausgeblendet und daher undefined. Exportiere deshalb die Sammelschienen bezogen auf die Schaltanlage auch nicht
329
+ if (nsgSo === undefined)
330
+ continue;
331
+ // Sammelschienen sind in einem Grid angeordnet basierend auf den Positionswerten in
332
+ // der Netz-Abschnitts- und -Sammelschienentabelle
333
+ const leftOffset = i7Data.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
334
+ const topOffset = i7Data.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
335
+ const ssabLength = i7Data.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
336
+ let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
337
+ let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
338
+ // let pointTopLeft = new DiagramObjectPoint(0, topOffset, 1);
339
+ // let pointBottomRight = new DiagramObjectPoint(ssabLength, topOffset, 2);
340
+ let saabShiftOffset = 0;
341
+ for (const tempNsgSaab of nsgSa.nsgSaabs) {
342
+ saabShiftOffset = saabShiftOffset < (tempNsgSaab.nslots + tempNsgSaab.laenge) ? (tempNsgSaab.nslots + tempNsgSaab.laenge) : saabShiftOffset;
343
+ }
344
+ // Extrahiere Punkte
345
+ const points = [];
346
+ points.push(pointTopLeft, pointBottomRight);
347
+ // Variablen für das eventuelle Shiften basierend auf SA-Ausrichtung
348
+ for (const p of points) {
349
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
350
+ p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
351
+ p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
352
+ }
353
+ // Erstelle CIM-Objekte
354
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.idSSAB);
355
+ const diagramObject = new DiagramObject_1.DiagramObject((0, utils_1.generateUUID)(), 'SSAB Diagram');
356
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
357
+ diagramObject.identifiedObjectUUID = cimObjectUUID;
358
+ diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
359
+ (0, utils_schema_1.copyDiagramObjectPoints)(diagramObject, points);
360
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
361
+ identifiedObjectUUID: cimObjectUUID,
362
+ diagramObjectUUID: diagramObject.getUUID()
294
363
  });
295
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(queryResults, variantenNr, onlyEingeblendet);
296
- for (const i7Data of filteredResults) {
297
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_SSAB, { i7ID: i7Data.idSSAB, variantenNr, additionalIDs: [i7Data.nsgsa] });
298
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
299
- const nsgSa = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
300
- if (nsgSa === undefined)
364
+ DLConverterI7.addCimObjects(diagramObject);
365
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
366
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
367
+ if (nsgSAAB.nsgSsabs === undefined) {
368
+ nsgSAAB.nsgSsabs = [];
369
+ }
370
+ nsgSAAB.nsgSsabs.push(i7Data);
371
+ }
372
+ }
373
+ async convertSchemaSchaltfeldElemente(variantenNr, onlyEingeblendet, schaltfeldIDs) {
374
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) && schaltfeldIDs.length > 0) {
375
+ /* Pruefe anhand der Tabellennamen, ob die relevanten Tabellen verfuegbar sind */
376
+ const i7relevantTables = [
377
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
378
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
379
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
380
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
381
+ ];
382
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
383
+ const i7knotenBeziehungen = await this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, schaltfeldIDs));
384
+ const queryStr = (0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD), schaltfeldIDs);
385
+ const resultsNsgSchaltfeld = await this.mysqlController.execQuery(queryStr);
386
+ const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
387
+ for (const i7Data of filteredResultsNsgSchaltfeld) {
388
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
389
+ // Es kann vorkommen, dass der Standort einer Sammelschiene bzw. einer Schaltanlage nicht eingeblendet ist.
390
+ // Dadurch wird die Sammelschiene bzw. die Schaltanlage nicht exportiert und deshalb existiert das Referenz-Objekt nsgSSAB nicht
391
+ // Das Schaltfeld kann somit ebenfalls nicht exportiert werden und wird übersprungen
392
+ const nsgSaabObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
393
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSaabObjKey);
394
+ if (nsgSAAB === undefined)
301
395
  continue;
302
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSa.nsgso, variantenNr });
303
- const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
304
- if (nsgSo === undefined)
396
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
397
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
398
+ if (nsgSchaltanlage === undefined)
305
399
  continue;
306
- const leftOffset = i7Data.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
307
- const topOffset = i7Data.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
308
- const ssabLength = i7Data.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
309
- let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
310
- let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
311
- let saabShiftOffset = 0;
312
- for (const tempNsgSaab of nsgSa.nsgSaabs) {
313
- saabShiftOffset = saabShiftOffset < (tempNsgSaab.nslots + tempNsgSaab.laenge) ? (tempNsgSaab.nslots + tempNsgSaab.laenge) : saabShiftOffset;
314
- }
315
- const points = [];
316
- points.push(pointTopLeft, pointBottomRight);
317
- for (const p of points) {
318
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
319
- p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
320
- p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
321
- }
322
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.idSSAB);
323
- const diagramObject = new DiagramObject_1.DiagramObject((0, utils_1.generateUUID)(), 'SSAB Diagram');
324
- diagramObject.diagramUUID = this.activeDiagram.getUUID();
325
- diagramObject.identifiedObjectUUID = cimObjectUUID;
326
- diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
327
- (0, utils_schema_1.copyDiagramObjectPoints)(diagramObject, points);
328
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
329
- identifiedObjectUUID: cimObjectUUID,
330
- diagramObjectUUID: diagramObject.getUUID()
331
- });
332
- DLConverterI7.addCimObjects(diagramObject);
333
- const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
334
- const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
335
- if (nsgSAAB.nsgSsabs === undefined) {
336
- nsgSAAB.nsgSsabs = [];
400
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
401
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
402
+ if (nsgStandort === undefined)
403
+ continue;
404
+ // Sammlung der Knoten anhand der i7IDs mit deren Punkten
405
+ const nodePointMap = new Map();
406
+ const schaltfeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
407
+ /*
408
+ Deltaausrichtung steht in Beziehung zur Schaltanlagen-Ausrichtung gemäß:
409
+ -> Schaltanlagen-Ausrichtung = 0 => Schaltanlage ist horizontal nach rechts platziert
410
+ => Deltaausrichtung = 0 => Schaltfeld ist nach oben ausgerichtet
411
+ => Deltaausrichtung = 1 => Schaltfeld ist nach unten ausgerichten
412
+
413
+ Schaltfelder werden mit der Schaltanlagen-Ausrichtungen gedreht
414
+ */
415
+ const schaltfeldDeltaausrichtung = i7Data.deltaausrichtung;
416
+ // Extrahiere nur die relevanten Knoten, die sich in dem aktuellen Schaltfeld befinden
417
+ const schaltfeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.schaltfeld);
418
+ let shiftFromBusbar = false;
419
+ if (schaltfeldI7KnotenBeziehungen.length == 1) {
420
+ shiftFromBusbar = true;
337
421
  }
338
- nsgSAAB.nsgSsabs.push(i7Data);
339
- }
340
- });
341
- }
342
- convertSchemaSchaltfeldElemente(variantenNr, onlyEingeblendet, schaltfeldIDs) {
343
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
344
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) && schaltfeldIDs.length > 0) {
345
- const i7relevantTables = [
346
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
347
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
348
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
349
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
350
- ];
351
- const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
352
- const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, schaltfeldIDs));
353
- const queryStr = (0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD), schaltfeldIDs);
354
- const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(queryStr);
355
- const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
356
- for (const i7Data of filteredResultsNsgSchaltfeld) {
357
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
358
- const nsgSaabObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
359
- const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSaabObjKey);
360
- if (nsgSAAB === undefined)
361
- continue;
362
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
363
- const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
364
- if (nsgSchaltanlage === undefined)
365
- continue;
366
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
367
- const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
368
- if (nsgStandort === undefined)
369
- continue;
370
- const nodePointMap = new Map();
371
- const schaltfeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
372
- const schaltfeldDeltaausrichtung = i7Data.deltaausrichtung;
373
- const schaltfeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.schaltfeld);
374
- let shiftFromBusbar = false;
375
- if (schaltfeldI7KnotenBeziehungen.length == 1) {
376
- shiftFromBusbar = true;
377
- }
378
- const ssabs = this.inputArgs.integralSchaltfelder.get(i7Data.schaltfeld).saabschnitt.ssab;
379
- const maxSSabPos = Math.max(...ssabs.map(ssab => ssab.pos));
380
- const onSSabNodes = schaltfeldI7KnotenBeziehungen.filter(elem => ssabs.find(ssab => ssab.id === elem.aknoten) !== undefined);
381
- const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
382
- let lastNode = undefined;
383
- for (const node of onSSabNodes) {
384
- const nsgSSABObjKey = DLConverterI7.createSchemaKeyObject({
385
- i7ID: node.aknoten,
386
- variantenNr,
387
- additionalIDs: [nsgSAAB.nsgsa]
388
- });
389
- const nsgSsab = DLConverterI7.getDbNsgObjectByID(nsgSSABObjKey);
390
- const ssabYPos = nsgSsab.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
391
- let yStackPos = 1;
392
- let prevNode = null;
393
- let crtNode = node;
394
- while (crtNode) {
395
- if (nodePointMap.get(crtNode.id) === undefined) {
396
- let yPos = ssabYPos;
397
- if (crtNode === node) {
398
- yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
422
+ const ssabs = this.inputArgs.integralSchaltfelder.get(i7Data.schaltfeld).saabschnitt.ssab;
423
+ const maxSSabPos = Math.max(...ssabs.map(ssab => ssab.pos));
424
+ const onSSabNodes = schaltfeldI7KnotenBeziehungen.filter(elem => ssabs.find(ssab => ssab.id === elem.aknoten) !== undefined);
425
+ const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
426
+ let lastNode = undefined;
427
+ for (const node of onSSabNodes) {
428
+ const nsgSSABObjKey = DLConverterI7.createSchemaKeyObject({
429
+ i7ID: node.aknoten,
430
+ variantenNr,
431
+ additionalIDs: [nsgSAAB.nsgsa]
432
+ });
433
+ const nsgSsab = DLConverterI7.getDbNsgObjectByID(nsgSSABObjKey);
434
+ const ssabYPos = nsgSsab.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
435
+ // Starte yStackPos bei 1 und ssabOffset daher bei 0, wenn schaltfeldDeltaausrichtung = 0
436
+ let yStackPos = 1;
437
+ let prevNode = null;
438
+ let crtNode = node;
439
+ while (crtNode) {
440
+ if (nodePointMap.get(crtNode.id) === undefined) {
441
+ // Initiale Werte sind: x => Schaltfeld Position; y => Sammelschienen Position
442
+ // let xPos = schaltfeldLeftOffset + (NsgConstants.HORIZONTAL_OFFSET / 2);
443
+ let yPos = ssabYPos;
444
+ // Falls der Knoten ein initialer Knoten ist, hängt er mit einer Sammelschiene zusammen und muss anders platziert werden
445
+ if (crtNode === node) {
446
+ yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
447
+ }
448
+ else {
449
+ const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
450
+ yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
451
+ yStackPos += 1;
452
+ }
453
+ nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
454
+ // BEGIN: ConnectivityNode-Support
455
+ // Platziere die ConnectivityNodes (abgesehen von denjenigen, die auf eine Sammelschiene verweisen)
456
+ const aKnotenUUID = this.inputArgs.integralID2UUID.get(crtNode.aknoten);
457
+ if (!DLConverterI7.cimUUID2Object.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
458
+ let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
459
+ let yPosAKnoten;
460
+ if (prevNode === node) {
461
+ yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
399
462
  }
400
463
  else {
401
- const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
402
- yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
403
- yStackPos += 1;
404
- }
405
- nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
406
- const aKnotenUUID = this.inputArgs.integralID2UUID.get(crtNode.aknoten);
407
- if (!DLConverterI7.cimUUID2Object.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
408
- let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
409
- let yPosAKnoten;
410
- if (prevNode === node) {
411
- yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
412
- }
413
- else {
414
- yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
415
- }
416
- nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
464
+ yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
417
465
  }
466
+ nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
418
467
  }
419
- lastNode = crtNode;
420
- prevNode = crtNode;
421
- crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
468
+ // END: ConnectivityNode-Support
422
469
  }
470
+ lastNode = crtNode;
471
+ prevNode = crtNode;
472
+ crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
423
473
  }
424
- const lastEKnotenUUID = this.inputArgs.integralID2UUID.get(lastNode.eknoten);
425
- if (!DLConverterI7.cimUUID2Object.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
426
- const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
427
- const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
428
- nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
429
- }
430
- i7Data.lastNodeID = lastNode.eknoten;
431
- i7Data.lastNodeCimUUID = lastEKnotenUUID;
432
- i7Data.orientation = nsgSchaltanlage.ausrichtung;
433
- if (i7Data.deltaausrichtung === 1) {
434
- i7Data.orientation = (i7Data.orientation + 2) % 4;
435
- }
436
- for (const nodePointEntry of nodePointMap.entries()) {
437
- const i7ID = nodePointEntry[0];
438
- const diagramObject = nodePointEntry[1];
439
- if (DLConverterI7.cimUUID2Object.has(diagramObject.getUUID()))
440
- continue;
441
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7ID);
442
- diagramObject.identifiedObjectUUID = cimObjectUUID;
443
- diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSaNsgSf(nsgSchaltanlage.ausrichtung, schaltfeldDeltaausrichtung);
444
- diagramObject.diagramUUID = this.activeDiagram.getUUID();
445
- const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID, variantenNr, additionalIDs: [i7Data.id] });
446
- DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
447
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
448
- identifiedObjectUUID: cimObjectUUID,
449
- diagramObjectUUID: diagramObject.getUUID()
450
- });
451
- DLConverterI7.addCimObjects(diagramObject);
452
- }
453
- util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
454
474
  }
475
+ // BEGIN: ConnectivityNode-Support
476
+ // Exportiere das ConnectivityNode/den Endpunkt des Schaltfeldes
477
+ const lastEKnotenUUID = this.inputArgs.integralID2UUID.get(lastNode.eknoten);
478
+ if (!DLConverterI7.cimUUID2Object.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
479
+ const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
480
+ const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
481
+ nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
482
+ }
483
+ i7Data.lastNodeID = lastNode.eknoten;
484
+ i7Data.lastNodeCimUUID = lastEKnotenUUID;
485
+ i7Data.orientation = nsgSchaltanlage.ausrichtung;
486
+ if (i7Data.deltaausrichtung === 1) {
487
+ i7Data.orientation = (i7Data.orientation + 2) % 4;
488
+ }
489
+ // END: ConnectivityNode-Support
490
+ // BEGIN: Terminal-Support
491
+ // for (const node of onSSabNodes) {
492
+ // let crtNode = node;
493
+ // while (crtNode) {
494
+ // let aKnotenPos: DiagramObjectPoint = undefined;
495
+ // if (crtNode === node) {
496
+ // const nsgSSABObjKey = DLConverterI7.createSchemaKeyObject(node.aknoten, variantenNr, nsgSaab.nsgsa);
497
+ // const nsgSsab: NsgSSAB = DLConverterI7.requestDbNsgObjectByID(nsgSSABObjKey);
498
+ // aKnotenPos = new DiagramObjectPoint(xPos, nsgSsab.posSSAB * NsgConstants.VERTICAL_OFFSET);
499
+ // }
500
+ // DLUtilFunctions.exportTerminals(crtNode, nodePointMap, uuidPointsMap, cimModel, this.integralID2UUID, aKnotenPos);
501
+ //
502
+ // crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
503
+ // }
504
+ // }
505
+ // END: Terminal-Support
506
+ // 0 1 2 3 (clockwise rotation)
507
+ for (const nodePointEntry of nodePointMap.entries()) {
508
+ const i7ID = nodePointEntry[0];
509
+ const diagramObject = nodePointEntry[1];
510
+ if (DLConverterI7.cimUUID2Object.has(diagramObject.getUUID()))
511
+ continue;
512
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7ID);
513
+ diagramObject.identifiedObjectUUID = cimObjectUUID;
514
+ diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSaNsgSf(nsgSchaltanlage.ausrichtung, schaltfeldDeltaausrichtung);
515
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
516
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID, variantenNr, additionalIDs: [i7Data.id] });
517
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
518
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
519
+ identifiedObjectUUID: cimObjectUUID,
520
+ diagramObjectUUID: diagramObject.getUUID()
521
+ });
522
+ DLConverterI7.addCimObjects(diagramObject);
523
+ }
524
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
455
525
  }
456
- });
526
+ }
457
527
  }
458
- convertSchemaQuerkupplungen(variantenNr, onlyEingeblendet, querkupplungIDs) {
459
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
460
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG) && querkupplungIDs.length > 0) {
461
- const i7relevantTables = [
462
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
463
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
464
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
465
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
466
- ];
467
- const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
468
- const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, querkupplungIDs));
469
- const resultsNsgKpFeld = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG), querkupplungIDs));
470
- const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
471
- for (const i7Data of filteredResultsNsgKpFeld) {
472
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
473
- const kpFeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
474
- const kpFeldDeltaausrichtung = i7Data.deltaausrichtung;
475
- const kpFeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.kpfeld);
476
- const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
477
- const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
478
- if (nsgSAAB === undefined)
479
- continue;
480
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
481
- const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
482
- if (nsgSchaltanlage === undefined)
483
- continue;
484
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
485
- const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
486
- if (nsgStandort === undefined)
528
+ async convertSchemaQuerkupplungen(variantenNr, onlyEingeblendet, querkupplungIDs) {
529
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG) && querkupplungIDs.length > 0) {
530
+ const i7relevantTables = [
531
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
532
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
533
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
534
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
535
+ ];
536
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
537
+ const i7knotenBeziehungen = await this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, querkupplungIDs));
538
+ const resultsNsgKpFeld = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG), querkupplungIDs));
539
+ const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
540
+ for (const i7Data of filteredResultsNsgKpFeld) {
541
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
542
+ const kpFeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
543
+ const kpFeldDeltaausrichtung = i7Data.deltaausrichtung;
544
+ // Extrahiere nur die relevanten Knoten, die sich in der aktuellen Querkupplung befinden
545
+ const kpFeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.kpfeld);
546
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
547
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
548
+ if (nsgSAAB === undefined)
549
+ continue;
550
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
551
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
552
+ if (nsgSchaltanlage === undefined)
553
+ continue;
554
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
555
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
556
+ if (nsgStandort === undefined)
557
+ continue;
558
+ // Ermittle die relevanten SSabIDs
559
+ const relevantSSabIDs = new Set();
560
+ nsgSAAB.nsgSsabs.forEach(arg => relevantSSabIDs.add(arg.idSSAB));
561
+ const ssabKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_SSAB);
562
+ const nsgSSABs = new Map();
563
+ for (const ssabKeyID of ssabKeyIDs) {
564
+ const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID);
565
+ nsgSSABs.set(nsgSSAB.idSSAB, nsgSSAB);
566
+ }
567
+ const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
568
+ const nodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, relevantSSabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, kpFeldDeltaausrichtung, kpFeldLeftOffset, false, this.inputArgs.objects);
569
+ for (const nodePointEntry of nodePointMap.entries()) {
570
+ const key = nodePointEntry[0];
571
+ const value = nodePointEntry[1];
572
+ if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
487
573
  continue;
488
- const relevantSSabIDs = new Set();
489
- nsgSAAB.nsgSsabs.forEach(arg => relevantSSabIDs.add(arg.idSSAB));
490
- const ssabKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_SSAB);
491
- const nsgSSABs = new Map();
492
- for (const ssabKeyID of ssabKeyIDs) {
493
- const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID);
494
- nsgSSABs.set(nsgSSAB.idSSAB, nsgSSAB);
495
- }
496
- const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
497
- const nodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, relevantSSabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, kpFeldDeltaausrichtung, kpFeldLeftOffset, false, this.inputArgs.objects);
498
- for (const nodePointEntry of nodePointMap.entries()) {
499
- const key = nodePointEntry[0];
500
- const value = nodePointEntry[1];
501
- if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
502
- continue;
503
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
504
- value.identifiedObjectUUID = cimObjectUUID;
505
- value.rotation += (util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung) - 90 + 720);
506
- value.rotation = value.rotation % 360;
507
- value.diagramUUID = this.activeDiagram.getUUID();
508
- const schemaObjKey = DLConverterI7.createSchemaKeyObject({
509
- i7ID: key,
510
- variantenNr,
511
- additionalIDs: [i7Data.id]
512
- });
513
- DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
514
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
515
- identifiedObjectUUID: cimObjectUUID,
516
- diagramObjectUUID: value.getUUID()
517
- });
518
- DLConverterI7.addCimObjects(value);
519
- }
520
- util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
574
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
575
+ value.identifiedObjectUUID = cimObjectUUID;
576
+ value.rotation += (util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung) - 90 + 720);
577
+ value.rotation = value.rotation % 360;
578
+ value.diagramUUID = this.activeDiagram.getUUID();
579
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({
580
+ i7ID: key,
581
+ variantenNr,
582
+ additionalIDs: [i7Data.id]
583
+ });
584
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
585
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
586
+ identifiedObjectUUID: cimObjectUUID,
587
+ diagramObjectUUID: value.getUUID()
588
+ });
589
+ DLConverterI7.addCimObjects(value);
521
590
  }
591
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
522
592
  }
523
- });
593
+ }
524
594
  }
525
- convertSchemaLaengskupplungen(variantenNr, onlyEingeblendet, laengskupplungIDs) {
526
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
527
- const saabKeyIDs = DLConverterI7.type2i7IDs.get(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
528
- if (saabKeyIDs === undefined) {
529
- return;
530
- }
531
- const nsgSAABIDs = new Set();
532
- for (const saabKeyID of saabKeyIDs) {
533
- const nsgSAAB = DLConverterI7.i7ID2DbNsgObject.get(saabKeyID);
534
- nsgSAABIDs.add(nsgSAAB.id);
535
- }
536
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && laengskupplungIDs.length > 0 && saabKeyIDs.length > 0) {
537
- const i7relevantTables = [
538
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
539
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
540
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
541
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
542
- ];
543
- const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
544
- const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, laengskupplungIDs));
545
- const resultsNsgLKupplung = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG), [...nsgSAABIDs.values()]));
546
- const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
547
- for (const i7Data of filteredResultsNsgLKupplung) {
548
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
549
- const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
550
- const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
551
- if (nsgSAAB === undefined)
552
- continue;
553
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
554
- const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
555
- if (nsgSchaltanlage === undefined)
556
- continue;
557
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
558
- const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
559
- if (nsgStandort === undefined)
595
+ async convertSchemaLaengskupplungen(variantenNr, onlyEingeblendet, laengskupplungIDs) {
596
+ // const ssabKeyIDs = DLConverterI7.type2i7IDs.get(DataTypes.NSG_SSAB);
597
+ // if (ssabKeyIDs === undefined) {
598
+ // return;
599
+ // }
600
+ //
601
+ // const nsgSSABIDs = new Set<number>();
602
+ // for (const ssabKeyID of ssabKeyIDs) {
603
+ // const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID) as NsgSSAB;
604
+ // nsgSSABIDs.add(nsgSSAB.idSSAB);
605
+ // }
606
+ const saabKeyIDs = DLConverterI7.type2i7IDs.get(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
607
+ if (saabKeyIDs === undefined) {
608
+ return;
609
+ }
610
+ const nsgSAABIDs = new Set();
611
+ for (const saabKeyID of saabKeyIDs) {
612
+ const nsgSAAB = DLConverterI7.i7ID2DbNsgObject.get(saabKeyID);
613
+ nsgSAABIDs.add(nsgSAAB.id);
614
+ }
615
+ // Die Längskupplungen werden primär mittels der Netz-Tabelle (netz_lkupplung) exportiert und nicht über die NSG-Tabelle (nsg_nsglkupplung)
616
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && laengskupplungIDs.length > 0 && saabKeyIDs.length > 0) {
617
+ const i7relevantTables = [
618
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
619
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
620
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
621
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
622
+ ];
623
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
624
+ const i7knotenBeziehungen = await this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, laengskupplungIDs));
625
+ const resultsNsgLKupplung = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG), [...nsgSAABIDs.values()]));
626
+ const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
627
+ for (const i7Data of filteredResultsNsgLKupplung) {
628
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
629
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
630
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
631
+ if (nsgSAAB === undefined)
632
+ continue;
633
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
634
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
635
+ if (nsgSchaltanlage === undefined)
636
+ continue;
637
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
638
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
639
+ if (nsgStandort === undefined)
640
+ continue;
641
+ // Sammlung der Knoten, um die CIM-UUID auf die zugehörigen Punkte zu referenzieren
642
+ // const uuidPointsMap: Map<string, DiagramObject> = new Map();
643
+ const nodePointMap = new Map();
644
+ // Einer NSG-Längskupplung können mehrere Netz-Längskupplungen zugeordnet sein
645
+ const netzLaengskupplungsObjs = [...this.inputArgs.integralLaengskupplungen.values()].filter(elem => elem.schaltanlagenID === nsgSchaltanlage.schaltanlage);
646
+ for (const netzLaengskupplungObj of netzLaengskupplungsObjs) {
647
+ const lKupplungI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === netzLaengskupplungObj.id);
648
+ const relevantSsabIDs = new Set();
649
+ const nsgSSABs = new Map();
650
+ nsgSchaltanlage.nsgSaabs.forEach(iNsgSAAB => iNsgSAAB.nsgSsabs.forEach(iNsgSsab => {
651
+ relevantSsabIDs.add(iNsgSsab.idSSAB);
652
+ nsgSSABs.set(iNsgSsab.idSSAB, iNsgSsab);
653
+ }));
654
+ // nsgSAAB.nsgSsabs.forEach(arg => relevantSSabIDs.add(arg.idSSAB));
655
+ // const ssabKeyIDs = DLConverterI7.type2i7IDs.get(DataTypes.NSG_SSAB);
656
+ // const nsgSSABs = new Map<number, NsgSSAB>();
657
+ // for (const ssabKeyID of ssabKeyIDs) {
658
+ // const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID) as NsgSSAB;
659
+ // nsgSSABs.set(nsgSSAB.idSSAB, nsgSSAB);
660
+ // }
661
+ const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
662
+ const tempNodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, relevantSsabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, 0, 0, true, this.inputArgs.objects);
663
+ tempNodePointMap.forEach((value, key) => nodePointMap.set(key, value));
664
+ }
665
+ for (const nodePointEntry of nodePointMap.entries()) {
666
+ const key = nodePointEntry[0];
667
+ const value = nodePointEntry[1];
668
+ if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
560
669
  continue;
561
- const nodePointMap = new Map();
562
- const netzLaengskupplungsObjs = [...this.inputArgs.integralLaengskupplungen.values()].filter(elem => elem.schaltanlagenID === nsgSchaltanlage.schaltanlage);
563
- for (const netzLaengskupplungObj of netzLaengskupplungsObjs) {
564
- const lKupplungI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === netzLaengskupplungObj.id);
565
- const relevantSsabIDs = new Set();
566
- const nsgSSABs = new Map();
567
- nsgSchaltanlage.nsgSaabs.forEach(iNsgSAAB => iNsgSAAB.nsgSsabs.forEach(iNsgSsab => {
568
- relevantSsabIDs.add(iNsgSsab.idSSAB);
569
- nsgSSABs.set(iNsgSsab.idSSAB, iNsgSsab);
570
- }));
571
- const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
572
- const tempNodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, relevantSsabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, 0, 0, true, this.inputArgs.objects);
573
- tempNodePointMap.forEach((value, key) => nodePointMap.set(key, value));
670
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
671
+ value.identifiedObjectUUID = cimObjectUUID;
672
+ if (value.rotation === undefined) {
673
+ value.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
574
674
  }
575
- for (const nodePointEntry of nodePointMap.entries()) {
576
- const key = nodePointEntry[0];
577
- const value = nodePointEntry[1];
578
- if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
579
- continue;
580
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
581
- value.identifiedObjectUUID = cimObjectUUID;
582
- if (value.rotation === undefined) {
583
- value.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
584
- }
585
- else {
586
- value.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
587
- }
588
- value.diagramUUID = this.activeDiagram.getUUID();
589
- const schemaObjKey = DLConverterI7.createSchemaKeyObject({
590
- i7ID: key,
591
- variantenNr,
592
- additionalIDs: [i7Data.id]
593
- });
594
- DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
595
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
596
- identifiedObjectUUID: cimObjectUUID,
597
- diagramObjectUUID: value.getUUID()
598
- });
599
- DLConverterI7.addCimObjects(value);
675
+ else {
676
+ value.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
600
677
  }
601
- util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()]);
678
+ value.diagramUUID = this.activeDiagram.getUUID();
679
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({
680
+ i7ID: key,
681
+ variantenNr,
682
+ additionalIDs: [i7Data.id]
683
+ });
684
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
685
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
686
+ identifiedObjectUUID: cimObjectUUID,
687
+ diagramObjectUUID: value.getUUID()
688
+ });
689
+ DLConverterI7.addCimObjects(value);
602
690
  }
691
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()]);
692
+ //
693
+ // uuidPointsMap.forEach((entryDiagramObject, key) => {
694
+ // if (entryDiagramObject.rotation === undefined) {
695
+ // entryDiagramObject.rotation = DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
696
+ // } else {
697
+ // entryDiagramObject.rotation += DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
698
+ // }
699
+ // });
700
+ //
701
+ // DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap);
702
+ /*
703
+ // for testing
704
+ for (const entry of uuidPointsMap.entries()) {
705
+ const i7IDs = this.UUID2Integral7ID.get(entry[0]);
706
+ if (i7IDs && i7IDs.filter(value => {
707
+ return value === 1235 || value === 1236 || value === 1239
708
+ }).length > 0) {
709
+ console.log(i7IDs)
710
+ }
711
+ }
712
+ */
603
713
  }
604
- });
714
+ }
605
715
  }
606
- convertSchemaTransformatoren2W(variantenNr, onlyEingeblendet, powerTransformers) {
607
- var _a, _b;
608
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
609
- const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
610
- if (nsgStandortKeyIDs === undefined) {
611
- return;
612
- }
613
- const nsgStandortIDs = new Set();
614
- for (const nsgStandortKeyID of nsgStandortKeyIDs) {
615
- const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
616
- nsgStandortIDs.add(nsgStandort.id);
617
- }
618
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.size > 0) {
619
- const results = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO2W), [...nsgStandortIDs.values()]));
620
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
621
- for (const i7Data of filteredResults) {
622
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO2W);
623
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
624
- const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
625
- if (nsgSo === undefined)
626
- continue;
627
- const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo2w);
628
- const powerTransformer = powerTransformers.get(powerTransformerUUID);
629
- if (powerTransformer === undefined)
630
- continue;
631
- const terminal1 = (_a = powerTransformer.powerTransformerEnds[0]) === null || _a === void 0 ? void 0 : _a.terminal;
632
- const terminal2 = (_b = powerTransformer.powerTransformerEnds[1]) === null || _b === void 0 ? void 0 : _b.terminal;
633
- const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
634
- xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH / 2,
716
+ async convertSchemaTransformatoren2W(variantenNr, onlyEingeblendet, powerTransformers) {
717
+ const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
718
+ if (nsgStandortKeyIDs === undefined) {
719
+ return;
720
+ }
721
+ const nsgStandortIDs = new Set();
722
+ for (const nsgStandortKeyID of nsgStandortKeyIDs) {
723
+ const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
724
+ nsgStandortIDs.add(nsgStandort.id);
725
+ }
726
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.size > 0) {
727
+ // Da TrafoIDs nicht im Integral7Model hinterlegt werden, Trafos auf Basis der NsgSO-IDs ermitteln (äuqivalent zu Netz-Trafo2W)
728
+ const results = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO2W), [...nsgStandortIDs.values()]));
729
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
730
+ for (const i7Data of filteredResults) {
731
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO2W);
732
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
733
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
734
+ if (nsgSo === undefined)
735
+ continue;
736
+ // es wird davon ausgegangen, dass das Terminal 1 = anschlussanf zugeordnet ist
737
+ // und Terminal 2 = anschlussend zugeordnet ist
738
+ const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo2w);
739
+ const powerTransformer = powerTransformers.get(powerTransformerUUID);
740
+ if (powerTransformer === undefined)
741
+ continue;
742
+ const terminal1 = powerTransformer.powerTransformerEnd[0]?.terminal;
743
+ const terminal2 = powerTransformer.powerTransformerEnd[1]?.terminal;
744
+ const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
745
+ xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH / 2,
746
+ yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
747
+ rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(i7Data.ausrichtung),
748
+ diagramObjectName: 'DiagramObject',
749
+ identifiedObjectUUID: powerTransformerUUID,
750
+ diagramUUID: this.activeDiagram.getUUID()
751
+ });
752
+ const createdDiagramObjects = [];
753
+ createdDiagramObjects.push(powerTransformerDiagramObject);
754
+ let terminal1DiagramObject;
755
+ if (terminal1 !== undefined) {
756
+ terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
757
+ xPosition: 0,
635
758
  yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
636
- rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(i7Data.ausrichtung),
637
759
  diagramObjectName: 'DiagramObject',
638
- identifiedObjectUUID: powerTransformerUUID,
760
+ identifiedObjectUUID: terminal1.getUUID(),
639
761
  diagramUUID: this.activeDiagram.getUUID()
640
762
  });
641
- const createdDiagramObjects = [];
642
- createdDiagramObjects.push(powerTransformerDiagramObject);
643
- let terminal1DiagramObject;
644
- if (terminal1 !== undefined) {
645
- terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
646
- xPosition: 0,
647
- yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
648
- diagramObjectName: 'DiagramObject',
649
- identifiedObjectUUID: terminal1.getUUID(),
650
- diagramUUID: this.activeDiagram.getUUID()
651
- });
652
- createdDiagramObjects.push(terminal1DiagramObject);
763
+ createdDiagramObjects.push(terminal1DiagramObject);
764
+ }
765
+ let terminal2DiagramObject;
766
+ if (terminal2 !== undefined) {
767
+ terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
768
+ xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH,
769
+ yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
770
+ diagramObjectName: 'DiagramObject',
771
+ identifiedObjectUUID: terminal2.getUUID(),
772
+ diagramUUID: this.activeDiagram.getUUID()
773
+ });
774
+ createdDiagramObjects.push(terminal2DiagramObject);
775
+ }
776
+ for (const diagramObject of createdDiagramObjects) {
777
+ for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
778
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(diagramObjectPoint, 90 * i7Data.ausrichtung);
779
+ // cause of i7 uses the top-left corner as the default (0,0), the points need to be adjusted after the
780
+ // rotation (if negative coordinates occur, they can be flipped into the positive side)
781
+ diagramObjectPoint.xPosition = Math.abs(diagramObjectPoint.xPosition);
782
+ diagramObjectPoint.yPosition = Math.abs(diagramObjectPoint.yPosition);
783
+ diagramObjectPoint.xPosition += i7Data.xrel;
784
+ diagramObjectPoint.yPosition += i7Data.yrel;
785
+ diagramObjectPoint.xPosition += nsgSo.xrel;
786
+ diagramObjectPoint.yPosition += nsgSo.yrel;
653
787
  }
654
- let terminal2DiagramObject;
655
- if (terminal2 !== undefined) {
656
- terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
657
- xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH,
658
- yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
659
- diagramObjectName: 'DiagramObject',
660
- identifiedObjectUUID: terminal2.getUUID(),
661
- diagramUUID: this.activeDiagram.getUUID()
662
- });
663
- createdDiagramObjects.push(terminal2DiagramObject);
788
+ }
789
+ // add the second DiagramObjectPoints to the DiagramObjects of the terminals (this will then result in the
790
+ // connection between the PowerTransformerEnd and the ConnectivityNode)
791
+ if (terminal1 !== undefined) {
792
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal1.getConnectivityNodeUUID());
793
+ if (connectivityNodeDiagramObject !== undefined) {
794
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
664
795
  }
665
- for (const diagramObject of createdDiagramObjects) {
666
- for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
667
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(diagramObjectPoint, 90 * i7Data.ausrichtung);
668
- diagramObjectPoint.xPosition = Math.abs(diagramObjectPoint.xPosition);
669
- diagramObjectPoint.yPosition = Math.abs(diagramObjectPoint.yPosition);
670
- diagramObjectPoint.xPosition += i7Data.xrel;
671
- diagramObjectPoint.yPosition += i7Data.yrel;
672
- diagramObjectPoint.xPosition += nsgSo.xrel;
673
- diagramObjectPoint.yPosition += nsgSo.yrel;
674
- }
796
+ }
797
+ if (terminal2 !== undefined) {
798
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal2.getConnectivityNodeUUID());
799
+ if (connectivityNodeDiagramObject !== undefined) {
800
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
675
801
  }
676
- if (terminal1 !== undefined) {
677
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal1.getConnectivityNodeUUID());
678
- if (connectivityNodeDiagramObject !== undefined) {
679
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
680
- }
802
+ }
803
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
804
+ identifiedObjectUUID: powerTransformerUUID,
805
+ diagramObjectUUID: powerTransformerDiagramObject.getUUID()
806
+ });
807
+ DLConverterI7.addCimObjects(powerTransformerDiagramObject);
808
+ }
809
+ }
810
+ else {
811
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
812
+ }
813
+ }
814
+ async convertSchemaTransformatoren3W(variantenNr, onlyEingeblendet, powerTransformers) {
815
+ const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
816
+ if (nsgStandortKeyIDs === undefined) {
817
+ return;
818
+ }
819
+ const nsgStandortIDs = new Set();
820
+ const netzStandortIDs = new Set();
821
+ for (const nsgStandortKeyID of nsgStandortKeyIDs) {
822
+ const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
823
+ nsgStandortIDs.add(nsgStandort.id);
824
+ netzStandortIDs.add(nsgStandort.standort);
825
+ }
826
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.size > 0) {
827
+ // Da TrafoIDs nicht im Integral7Model hinterlegt werden, Trafos auf Basis der NsgSO-IDs ermitteln (äuqivalent zu Netz-Trafo2W)
828
+ const results = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO3W), [...nsgStandortIDs.values()]));
829
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
830
+ const netzTrafoResults = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), [...netzStandortIDs.values()]));
831
+ const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
832
+ for (const i7Data of filteredResults) {
833
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO3W);
834
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
835
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
836
+ if (nsgSo === undefined)
837
+ continue;
838
+ const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo3w);
839
+ const powerTransformer = powerTransformers.get(powerTransformerUUID);
840
+ if (powerTransformer === undefined)
841
+ continue;
842
+ // Ermittle die default-Zuordnung der Enden zu den Terminals der PowerTransformerEnds
843
+ const trafo3wNetz = netzTrafos.get(i7Data.trafo3w);
844
+ if (trafo3wNetz === undefined)
845
+ continue;
846
+ const pteW1 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w1));
847
+ const pteW2 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w2));
848
+ const pteW3 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w3));
849
+ // Der relative Punkt des Transformators ist die linke obere Ecke bezogen auf die Umrandungs-Bounding-Box
850
+ const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO3W_WIDTH / 2, constants_1.NsgConstants.TRAFO3W_HEIGHT / 2);
851
+ const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
852
+ xPosition: trafoDiagramObject.diagramObjectPoints[0].xPosition,
853
+ yPosition: trafoDiagramObject.diagramObjectPoints[0].yPosition,
854
+ rotation: (360 - (constants_1.NsgConstants.TAFO3W_RotationOrder.indexOf(i7Data.ausrichtung) * 30 + 180) % 360) % 360,
855
+ diagramObjectName: 'DiagramObject',
856
+ identifiedObjectUUID: powerTransformerUUID,
857
+ diagramUUID: this.activeDiagram.getUUID()
858
+ });
859
+ // Ermittle die Auswechslung der Enden
860
+ const exchangeGroups = constants_1.NsgConstants.TRAFO3W_ExchangeGroups;
861
+ let exchangeGroup = undefined;
862
+ for (const key of Object.keys(exchangeGroups)) {
863
+ if (exchangeGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
864
+ exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
865
+ break;
681
866
  }
682
- if (terminal2 !== undefined) {
683
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal2.getConnectivityNodeUUID());
684
- if (connectivityNodeDiagramObject !== undefined) {
685
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
686
- }
867
+ }
868
+ // Ermittle die 'default'-Positionen der Enden ohne Berücksichtigung der Auswechslungen
869
+ const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
870
+ let rotationenGroup = undefined;
871
+ for (const key of Object.keys(rotationenGroups)) {
872
+ if (rotationenGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
873
+ rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
874
+ break;
687
875
  }
688
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
689
- identifiedObjectUUID: powerTransformerUUID,
690
- diagramObjectUUID: powerTransformerDiagramObject.getUUID()
876
+ }
877
+ // Falls eine x-Spiegelung vorliegt, tausche die Werte der Enden 2 und 3 miteinander
878
+ const xMirroring = i7Data.orientierung_cw === 1;
879
+ const createdDiagramObjects = [];
880
+ createdDiagramObjects.push(powerTransformerDiagramObject);
881
+ let terminal1DiagramObject;
882
+ if (pteW1?.terminal !== undefined) {
883
+ const coords = rotationenGroup[exchangeGroup[1]];
884
+ terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
885
+ xPosition: coords[0],
886
+ yPosition: coords[1],
887
+ diagramObjectName: 'DiagramObject',
888
+ identifiedObjectUUID: pteW1.terminal.getUUID(),
889
+ diagramUUID: this.activeDiagram.getUUID()
691
890
  });
692
- DLConverterI7.addCimObjects(powerTransformerDiagramObject);
891
+ createdDiagramObjects.push(terminal1DiagramObject);
693
892
  }
694
- }
695
- else {
696
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
697
- }
698
- });
699
- }
700
- convertSchemaTransformatoren3W(variantenNr, onlyEingeblendet, powerTransformers) {
701
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
702
- const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
703
- if (nsgStandortKeyIDs === undefined) {
704
- return;
705
- }
706
- const nsgStandortIDs = new Set();
707
- const netzStandortIDs = new Set();
708
- for (const nsgStandortKeyID of nsgStandortKeyIDs) {
709
- const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
710
- nsgStandortIDs.add(nsgStandort.id);
711
- netzStandortIDs.add(nsgStandort.standort);
712
- }
713
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.size > 0) {
714
- const results = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO3W), [...nsgStandortIDs.values()]));
715
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
716
- const netzTrafoResults = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), [...netzStandortIDs.values()]));
717
- const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
718
- for (const i7Data of filteredResults) {
719
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO3W);
720
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
721
- const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
722
- if (nsgSo === undefined)
723
- continue;
724
- const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo3w);
725
- const powerTransformer = powerTransformers.get(powerTransformerUUID);
726
- if (powerTransformer === undefined)
727
- continue;
728
- const trafo3wNetz = netzTrafos.get(i7Data.trafo3w);
729
- if (trafo3wNetz === undefined)
730
- continue;
731
- const pteW1 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w1));
732
- const pteW2 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w2));
733
- const pteW3 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w3));
734
- const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO3W_WIDTH / 2, constants_1.NsgConstants.TRAFO3W_HEIGHT / 2);
735
- const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
736
- xPosition: trafoDiagramObject.diagramObjectPoints[0].xPosition,
737
- yPosition: trafoDiagramObject.diagramObjectPoints[0].yPosition,
738
- rotation: (360 - (constants_1.NsgConstants.TAFO3W_RotationOrder.indexOf(i7Data.ausrichtung) * 30 + 180) % 360) % 360,
893
+ let terminal2DiagramObject;
894
+ if (pteW2?.terminal !== undefined) {
895
+ const coords = rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]];
896
+ terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
897
+ xPosition: coords[0],
898
+ yPosition: coords[1],
739
899
  diagramObjectName: 'DiagramObject',
740
- identifiedObjectUUID: powerTransformerUUID,
900
+ identifiedObjectUUID: pteW2.terminal.getUUID(),
741
901
  diagramUUID: this.activeDiagram.getUUID()
742
902
  });
743
- const exchangeGroups = constants_1.NsgConstants.TRAFO3W_ExchangeGroups;
744
- let exchangeGroup = undefined;
745
- for (const key of Object.keys(exchangeGroups)) {
746
- if (exchangeGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
747
- exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
748
- break;
749
- }
750
- }
751
- const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
752
- let rotationenGroup = undefined;
753
- for (const key of Object.keys(rotationenGroups)) {
754
- if (rotationenGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
755
- rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
756
- break;
757
- }
903
+ createdDiagramObjects.push(terminal2DiagramObject);
904
+ }
905
+ let terminal3DiagramObject;
906
+ if (pteW3?.terminal !== undefined) {
907
+ const coords = rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]];
908
+ terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
909
+ xPosition: coords[0],
910
+ yPosition: coords[1],
911
+ diagramObjectName: 'DiagramObject',
912
+ identifiedObjectUUID: pteW3.terminal.getUUID(),
913
+ diagramUUID: this.activeDiagram.getUUID()
914
+ });
915
+ createdDiagramObjects.push(terminal3DiagramObject);
916
+ }
917
+ for (const diagramObject of createdDiagramObjects) {
918
+ for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
919
+ diagramObjectPoint.xPosition += i7Data.xrel;
920
+ diagramObjectPoint.yPosition += i7Data.yrel;
921
+ diagramObjectPoint.xPosition += nsgSo.xrel;
922
+ diagramObjectPoint.yPosition += nsgSo.yrel;
758
923
  }
759
- const xMirroring = i7Data.orientierung_cw === 1;
760
- const createdDiagramObjects = [];
761
- createdDiagramObjects.push(powerTransformerDiagramObject);
762
- let terminal1DiagramObject;
763
- if ((pteW1 === null || pteW1 === void 0 ? void 0 : pteW1.terminal) !== undefined) {
764
- const coords = rotationenGroup[exchangeGroup[1]];
765
- terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
766
- xPosition: coords[0],
767
- yPosition: coords[1],
768
- diagramObjectName: 'DiagramObject',
769
- identifiedObjectUUID: pteW1.terminal.getUUID(),
770
- diagramUUID: this.activeDiagram.getUUID()
771
- });
772
- createdDiagramObjects.push(terminal1DiagramObject);
924
+ }
925
+ if (pteW1?.terminal !== undefined) {
926
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW1.terminal.getConnectivityNodeUUID());
927
+ if (connectivityNodeDiagramObject !== undefined) {
928
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
773
929
  }
774
- let terminal2DiagramObject;
775
- if ((pteW2 === null || pteW2 === void 0 ? void 0 : pteW2.terminal) !== undefined) {
776
- const coords = rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]];
777
- terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
778
- xPosition: coords[0],
779
- yPosition: coords[1],
780
- diagramObjectName: 'DiagramObject',
781
- identifiedObjectUUID: pteW2.terminal.getUUID(),
782
- diagramUUID: this.activeDiagram.getUUID()
783
- });
784
- createdDiagramObjects.push(terminal2DiagramObject);
930
+ }
931
+ if (pteW2?.terminal !== undefined) {
932
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW2.terminal.getConnectivityNodeUUID());
933
+ if (connectivityNodeDiagramObject !== undefined) {
934
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
785
935
  }
786
- let terminal3DiagramObject;
787
- if ((pteW3 === null || pteW3 === void 0 ? void 0 : pteW3.terminal) !== undefined) {
788
- const coords = rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]];
789
- terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
790
- xPosition: coords[0],
791
- yPosition: coords[1],
792
- diagramObjectName: 'DiagramObject',
793
- identifiedObjectUUID: pteW3.terminal.getUUID(),
794
- diagramUUID: this.activeDiagram.getUUID()
795
- });
796
- createdDiagramObjects.push(terminal3DiagramObject);
936
+ }
937
+ if (pteW3?.terminal !== undefined) {
938
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW3.terminal.getConnectivityNodeUUID());
939
+ if (connectivityNodeDiagramObject !== undefined) {
940
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal3DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
797
941
  }
798
- for (const diagramObject of createdDiagramObjects) {
799
- for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
800
- diagramObjectPoint.xPosition += i7Data.xrel;
801
- diagramObjectPoint.yPosition += i7Data.yrel;
802
- diagramObjectPoint.xPosition += nsgSo.xrel;
803
- diagramObjectPoint.yPosition += nsgSo.yrel;
942
+ }
943
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
944
+ identifiedObjectUUID: powerTransformerUUID,
945
+ diagramObjectUUID: powerTransformerDiagramObject.getUUID()
946
+ });
947
+ DLConverterI7.addCimObjects(powerTransformerDiagramObject);
948
+ }
949
+ }
950
+ else {
951
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO3W} ist nicht vorhanden.`);
952
+ }
953
+ }
954
+ async convertSchemaLeitungen(variantenNr, onlyEingeblendet) {
955
+ if (this.inputArgs.integralLeitungen === undefined) {
956
+ this.inputArgs.integralLeitungen = new Map();
957
+ }
958
+ if (this.inputArgs.integralHgueLeitungen === undefined) {
959
+ this.inputArgs.integralHgueLeitungen = new Map();
960
+ }
961
+ const leitungIDs = [...this.inputArgs.integralLeitungen.keys(), ...this.inputArgs.integralHgueLeitungen.keys()];
962
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT) && leitungIDs.length > 0) {
963
+ const leitungResults = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNG), leitungIDs));
964
+ let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
965
+ const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
966
+ if (nsgLeitungIDs.length > 0) {
967
+ const leitungspktResults = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT), nsgLeitungIDs));
968
+ let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
969
+ for (const i7Data of filteredLeitungResults) {
970
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
971
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_LEITUNG);
972
+ const isACLine = this.inputArgs.integralLeitungen.get(i7Data.leitung);
973
+ const isErsatzlaengszweig = false;
974
+ let netzLeitungsObject;
975
+ if (isACLine) {
976
+ const netzLeitung = this.inputArgs.integralLeitungen.get(i7Data.leitung);
977
+ if (netzLeitung !== undefined) {
978
+ netzLeitungsObject = {
979
+ id: netzLeitung.id,
980
+ aknotenid: netzLeitung.aknotenid,
981
+ eknotenid: netzLeitung.eknotenid
982
+ };
804
983
  }
805
984
  }
806
- if ((pteW1 === null || pteW1 === void 0 ? void 0 : pteW1.terminal) !== undefined) {
807
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW1.terminal.getConnectivityNodeUUID());
808
- if (connectivityNodeDiagramObject !== undefined) {
809
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
985
+ else {
986
+ const netzHgueLeitung = this.inputArgs.integralHgueLeitungen.get(i7Data.leitung);
987
+ if (netzHgueLeitung !== undefined) {
988
+ netzLeitungsObject = {
989
+ id: netzHgueLeitung.id,
990
+ aknotenid: netzHgueLeitung.anetzobjekt,
991
+ eknotenid: netzHgueLeitung.enetzobjekt
992
+ };
810
993
  }
811
994
  }
812
- if ((pteW2 === null || pteW2 === void 0 ? void 0 : pteW2.terminal) !== undefined) {
813
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW2.terminal.getConnectivityNodeUUID());
814
- if (connectivityNodeDiagramObject !== undefined) {
815
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
816
- }
995
+ if (netzLeitungsObject === undefined)
996
+ continue;
997
+ const anfSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussanf, variantenNr });
998
+ let anfNsgObject = DLConverterI7.getDbNsgObjectByID(anfSchemaTypeObjKey);
999
+ let anfSchemaType = DLConverterI7.i7ID2Type.get(anfSchemaTypeObjKey);
1000
+ let anfDiagramObject;
1001
+ if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1002
+ const nsgSchaltfeld = anfNsgObject;
1003
+ if (nsgSchaltfeld === undefined)
1004
+ continue;
1005
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
817
1006
  }
818
- if ((pteW3 === null || pteW3 === void 0 ? void 0 : pteW3.terminal) !== undefined) {
819
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW3.terminal.getConnectivityNodeUUID());
820
- if (connectivityNodeDiagramObject !== undefined) {
821
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal3DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
822
- }
1007
+ else if (anfSchemaType === data_types_1.DataTypes.NSG_NODE) {
1008
+ const aKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.aknotenid);
1009
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(aKnotenCimObjectUUID);
823
1010
  }
824
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
825
- identifiedObjectUUID: powerTransformerUUID,
826
- diagramObjectUUID: powerTransformerDiagramObject.getUUID()
827
- });
828
- DLConverterI7.addCimObjects(powerTransformerDiagramObject);
829
- }
830
- }
831
- else {
832
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO3W} ist nicht vorhanden.`);
833
- }
834
- });
835
- }
836
- convertSchemaLeitungen(variantenNr, onlyEingeblendet) {
837
- var _a;
838
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
839
- if (this.inputArgs.integralLeitungen === undefined) {
840
- this.inputArgs.integralLeitungen = new Map();
841
- }
842
- if (this.inputArgs.integralHgueLeitungen === undefined) {
843
- this.inputArgs.integralHgueLeitungen = new Map();
844
- }
845
- const leitungIDs = [...this.inputArgs.integralLeitungen.keys(), ...this.inputArgs.integralHgueLeitungen.keys()];
846
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT) && leitungIDs.length > 0) {
847
- const leitungResults = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNG), leitungIDs));
848
- let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
849
- const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
850
- if (nsgLeitungIDs.length > 0) {
851
- const leitungspktResults = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT), nsgLeitungIDs));
852
- let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
853
- for (const i7Data of filteredLeitungResults) {
854
- const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
855
- DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_LEITUNG);
856
- const isACLine = this.inputArgs.integralLeitungen.get(i7Data.leitung);
857
- const isErsatzlaengszweig = false;
858
- let netzLeitungsObject;
859
- if (isACLine) {
860
- const netzLeitung = this.inputArgs.integralLeitungen.get(i7Data.leitung);
861
- if (netzLeitung !== undefined) {
862
- netzLeitungsObject = {
863
- id: netzLeitung.id,
864
- aknotenid: netzLeitung.aknotenid,
865
- eknotenid: netzLeitung.eknotenid
866
- };
867
- }
868
- }
869
- else {
870
- const netzHgueLeitung = this.inputArgs.integralHgueLeitungen.get(i7Data.leitung);
871
- if (netzHgueLeitung !== undefined) {
872
- netzLeitungsObject = {
873
- id: netzHgueLeitung.id,
874
- aknotenid: netzHgueLeitung.anetzobjekt,
875
- eknotenid: netzHgueLeitung.enetzobjekt
876
- };
877
- }
878
- }
879
- if (netzLeitungsObject === undefined)
1011
+ else {
1012
+ let anfUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(anfSchemaTypeObjKey);
1013
+ if (anfUUIDEntry === undefined)
1014
+ continue;
1015
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(anfUUIDEntry.identifiedObjectUUID);
1016
+ }
1017
+ const endSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussend, variantenNr });
1018
+ let endNsgObject = DLConverterI7.getDbNsgObjectByID(endSchemaTypeObjKey);
1019
+ let endSchemaType = DLConverterI7.i7ID2Type.get(endSchemaTypeObjKey);
1020
+ let endDiagramObject;
1021
+ if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1022
+ const nsgSchaltfeld = endNsgObject;
1023
+ if (nsgSchaltfeld === undefined)
880
1024
  continue;
881
- const anfSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussanf, variantenNr });
882
- let anfNsgObject = DLConverterI7.getDbNsgObjectByID(anfSchemaTypeObjKey);
883
- let anfSchemaType = DLConverterI7.i7ID2Type.get(anfSchemaTypeObjKey);
884
- let anfDiagramObject;
885
- if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
886
- const nsgSchaltfeld = anfNsgObject;
887
- if (nsgSchaltfeld === undefined)
888
- continue;
889
- anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1025
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1026
+ }
1027
+ else if (endSchemaType === data_types_1.DataTypes.NSG_NODE) {
1028
+ const eKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.eknotenid);
1029
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(eKnotenCimObjectUUID);
1030
+ }
1031
+ else {
1032
+ let endUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(endSchemaTypeObjKey);
1033
+ if (endUUIDEntry === undefined)
1034
+ continue;
1035
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(endUUIDEntry.identifiedObjectUUID);
1036
+ }
1037
+ let tempDiagramObjectPoints = [];
1038
+ let tempAnfDiagramObject = anfDiagramObject;
1039
+ let tempEndDiagramObject = endDiagramObject;
1040
+ // Ausschließlich dann exportieren, wenn Anfang und Ende innerhalb des aktuellen Frames liegen
1041
+ if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1042
+ continue;
1043
+ tempDiagramObjectPoints.push({
1044
+ xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
1045
+ yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
1046
+ });
1047
+ // Ermittle nur die Leitungspunkte, die mit der aktuell im Kontext befindlichen Leitung verknüpft sind
1048
+ const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
1049
+ for (let a = 0; a < relevantLeitungspkts.length; a++) {
1050
+ const nsgLeitungspkt = relevantLeitungspkts[a];
1051
+ if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
1052
+ const tempDiagramObjectPoint = {
1053
+ xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
1054
+ yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
1055
+ };
1056
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, anfNsgObject, i7Data.anschlussanf, nsgLeitungspkt);
1057
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1058
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1059
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
890
1060
  }
891
- else if (anfSchemaType === data_types_1.DataTypes.NSG_NODE) {
892
- const aKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.aknotenid);
893
- anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(aKnotenCimObjectUUID);
1061
+ else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
1062
+ const tempDiagramObjectPoint = {
1063
+ xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
1064
+ yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
1065
+ };
1066
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, endNsgObject, i7Data.anschlussend, nsgLeitungspkt);
1067
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1068
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1069
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
894
1070
  }
895
1071
  else {
896
- let anfUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(anfSchemaTypeObjKey);
897
- if (anfUUIDEntry === undefined)
898
- continue;
899
- anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(anfUUIDEntry.identifiedObjectUUID);
1072
+ tempDiagramObjectPoints.push({ xPosition: nsgLeitungspkt.xrel, yPosition: nsgLeitungspkt.yrel });
900
1073
  }
901
- const endSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussend, variantenNr });
902
- let endNsgObject = DLConverterI7.getDbNsgObjectByID(endSchemaTypeObjKey);
903
- let endSchemaType = DLConverterI7.i7ID2Type.get(endSchemaTypeObjKey);
904
- let endDiagramObject;
905
- if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
906
- const nsgSchaltfeld = endNsgObject;
907
- if (nsgSchaltfeld === undefined)
908
- continue;
909
- endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1074
+ }
1075
+ tempDiagramObjectPoints.push({
1076
+ xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
1077
+ yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
1078
+ });
1079
+ // Zuweisung
1080
+ if (isACLine) {
1081
+ const netzLeitungCimObj = this.inputArgs.lines.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
1082
+ // Teile die komplette Leitung auf die ACLineSegmente auf [es kann sein, dass die Leitung sich aus mehreren ACLineSegments
1083
+ // zusammensetzt und dann soll prozentual die komplette Leitung auf die ACLineSegmente aufgeteilt werden (ggfs. werden dabei
1084
+ // neue DiagramObjectPoints erzeugt)
1085
+ const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1086
+ const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1087
+ let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1088
+ if (cableAvailable && overheadAvailable) {
1089
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
910
1090
  }
911
- else if (endSchemaType === data_types_1.DataTypes.NSG_NODE) {
912
- const eKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.eknotenid);
913
- endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(eKnotenCimObjectUUID);
1091
+ else if (cableAvailable) {
1092
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
914
1093
  }
915
- else {
916
- let endUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(endSchemaTypeObjKey);
917
- if (endUUIDEntry === undefined)
918
- continue;
919
- endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(endUUIDEntry.identifiedObjectUUID);
1094
+ else if (overheadAvailable) {
1095
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
920
1096
  }
921
- let tempDiagramObjectPoints = [];
922
- let tempAnfDiagramObject = anfDiagramObject;
923
- let tempEndDiagramObject = endDiagramObject;
924
- if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
925
- continue;
926
- tempDiagramObjectPoints.push({
927
- xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
928
- yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
929
- });
930
- const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
931
- for (let a = 0; a < relevantLeitungspkts.length; a++) {
932
- const nsgLeitungspkt = relevantLeitungspkts[a];
933
- if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
934
- const tempDiagramObjectPoint = {
935
- xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
936
- yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
937
- };
938
- const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, anfNsgObject, i7Data.anschlussanf, nsgLeitungspkt);
939
- tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
940
- tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
941
- tempDiagramObjectPoints.push(tempDiagramObjectPoint);
942
- }
943
- else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
944
- const tempDiagramObjectPoint = {
945
- xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
946
- yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
947
- };
948
- const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, endNsgObject, i7Data.anschlussend, nsgLeitungspkt);
949
- tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
950
- tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
951
- tempDiagramObjectPoints.push(tempDiagramObjectPoint);
952
- }
953
- else {
954
- tempDiagramObjectPoints.push({ xPosition: nsgLeitungspkt.xrel, yPosition: nsgLeitungspkt.yrel });
955
- }
1097
+ // TODO quickfix for parameter 'availableColumnNames'
1098
+ const leitungStromkreisabschnitt = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(type, ['leitung', 'laenge', 'pos', 'typ'], [netzLeitungsObject.id]));
1099
+ leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1100
+ const acSegmentPercentages = [];
1101
+ let completeLength = 0;
1102
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1103
+ completeLength += leitungStromkreisabschnitt[a].laenge;
956
1104
  }
957
- tempDiagramObjectPoints.push({
958
- xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
959
- yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
960
- });
961
- if (isACLine) {
962
- const netzLeitungCimObj = this.inputArgs.lines.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
963
- const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
964
- const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
965
- let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
966
- if (cableAvailable && overheadAvailable) {
967
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
968
- }
969
- else if (cableAvailable) {
970
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
971
- }
972
- else if (overheadAvailable) {
973
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
974
- }
975
- const leitungStromkreisabschnitt = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(type, ['leitung', 'laenge', 'pos', 'typ'], [netzLeitungsObject.id]));
976
- leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
977
- const acSegmentPercentages = [];
978
- let completeLength = 0;
979
- for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
980
- completeLength += leitungStromkreisabschnitt[a].laenge;
981
- }
982
- let crtLength = 0;
983
- for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
984
- crtLength += leitungStromkreisabschnitt[a].laenge;
985
- acSegmentPercentages.push(crtLength / completeLength);
986
- }
987
- const eqUUIDs = netzLeitungCimObj.equipments.map(value => value.getUUID());
988
- const resultingDiagramObjects = util_functions_1.DLUtilFunctions.convertACLineSegment(completeLength, acSegmentPercentages, eqUUIDs, tempDiagramObjectPoints);
989
- for (const diagramObject of resultingDiagramObjects) {
990
- diagramObject.diagramUUID = this.activeDiagram.getUUID();
991
- }
992
- DLConverterI7.addCimObjects(...resultingDiagramObjects);
1105
+ let crtLength = 0;
1106
+ // Berechne die Prozent-Anteile eines Leitungsabschnittes bezogen auf die Gesamtlänge
1107
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1108
+ crtLength += leitungStromkreisabschnitt[a].laenge;
1109
+ acSegmentPercentages.push(crtLength / completeLength);
993
1110
  }
994
- else if (isErsatzlaengszweig) {
1111
+ const eqUUIDs = netzLeitungCimObj.equipments.map(value => value.getUUID());
1112
+ const resultingDiagramObjects = util_functions_1.DLUtilFunctions.convertACLineSegment(completeLength, acSegmentPercentages, eqUUIDs, tempDiagramObjectPoints);
1113
+ for (const diagramObject of resultingDiagramObjects) {
1114
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
1115
+ }
1116
+ // DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1117
+ // identifiedObjectUUID: querzweigObjectUUID,
1118
+ // diagramObjectUUID: querzweigDiagramObject.getUUID()
1119
+ // });
1120
+ DLConverterI7.addCimObjects(...resultingDiagramObjects);
1121
+ // DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1122
+ // identifiedObjectUUID: querzweigObjectUUID,
1123
+ // diagramObjectUUID: querzweigDiagramObject.getUUID()
1124
+ // });
1125
+ // DLConverterI7.addCimObjects(querzweigDiagramObject);
1126
+ }
1127
+ else if (isErsatzlaengszweig) {
1128
+ }
1129
+ else {
1130
+ const netzLeitungCimObj = this.inputArgs.objects.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
1131
+ const diagramObject = new DiagramObject_1.DiagramObject((0, utils_1.generateUUID)());
1132
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
1133
+ diagramObject.identifiedObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.id);
1134
+ // diagramObject.setDiagram(diagram);
1135
+ // diagram.addDiagramObject(diagramObject);
1136
+ // diagramObject.setIdentifiedObjectUUID();
1137
+ if (netzLeitungCimObj !== undefined) {
1138
+ diagramObject.name = 'DiagramObj ' + (netzLeitungCimObj.shortName ?? '');
995
1139
  }
996
1140
  else {
997
- const netzLeitungCimObj = this.inputArgs.objects.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
998
- const diagramObject = new DiagramObject_1.DiagramObject((0, utils_1.generateUUID)());
999
- diagramObject.diagramUUID = this.activeDiagram.getUUID();
1000
- diagramObject.identifiedObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.id);
1001
- if (netzLeitungCimObj !== undefined) {
1002
- diagramObject.name = 'DiagramObj ' + ((_a = netzLeitungCimObj.shortName) !== null && _a !== void 0 ? _a : '');
1003
- }
1004
- else {
1005
- diagramObject.name = 'DiagramObj HGUE-Leitung';
1006
- }
1007
- for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
1008
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
1009
- diagramObjectPoint.mrid = (0, utils_1.generateUUID)();
1010
- diagramObjectPoint.diagramObject = diagramObject;
1011
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1012
- }
1013
- DLConverterI7.addCimObjects(diagramObject);
1141
+ diagramObject.name = 'DiagramObj HGUE-Leitung';
1142
+ }
1143
+ for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
1144
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
1145
+ diagramObjectPoint.mrid = (0, utils_1.generateUUID)();
1146
+ diagramObjectPoint.diagramObject = diagramObject;
1147
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1148
+ // this.activeDiagram.addDiagramObject(diagramObject);
1014
1149
  }
1015
- const clonedAnfDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(anfDiagramObject);
1016
- clonedAnfDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1017
- const clonedEndDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(endDiagramObject);
1018
- clonedEndDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1019
- DLConverterI7.addCimObjects(clonedAnfDiagramObject, clonedEndDiagramObject);
1150
+ DLConverterI7.addCimObjects(diagramObject);
1020
1151
  }
1152
+ const clonedAnfDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(anfDiagramObject);
1153
+ clonedAnfDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1154
+ const clonedEndDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(endDiagramObject);
1155
+ clonedEndDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1156
+ DLConverterI7.addCimObjects(clonedAnfDiagramObject, clonedEndDiagramObject);
1021
1157
  }
1022
1158
  }
1023
- else {
1024
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_LEITUNG} oder ${integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT} ist nicht vorhanden.`);
1025
- }
1026
- });
1159
+ }
1160
+ else {
1161
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_LEITUNG} oder ${integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT} ist nicht vorhanden.`);
1162
+ }
1027
1163
  }
1028
- convertSchemaQuerzweige(variantenNr, onlyEingeblendet) {
1029
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1030
- const whereIDs = [...DLConverterI7.i7ID2DbNsgObjectInFrame.keys()].map(arg => DLConverterI7.parseSchemaKeyObject(arg).i7ID);
1031
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
1032
- const results = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_QUERZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG), whereIDs));
1033
- let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1034
- for (const i7Data of filteredResults) {
1035
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_QUERZWEIG);
1036
- const referenceObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.bezugsobjekt, variantenNr });
1037
- const referenceObjType = DLConverterI7.i7ID2Type.get(referenceObjKey);
1038
- const referenceObj = DLConverterI7.getDbNsgObjectByID(referenceObjKey);
1039
- let refXPos = 0;
1040
- let refYPos = 0;
1041
- let xPos = i7Data.xrel;
1042
- let yPos = i7Data.yrel;
1043
- let refCNNodeUUID = undefined;
1044
- let nsgQuerzweigWidth;
1045
- let nsgQuerzweigHeight;
1046
- nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1047
- nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1048
- if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1049
- const nsgSchaltfeld = referenceObj;
1050
- refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1051
- const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1052
- if (referenceDiagramObject === undefined)
1053
- continue;
1054
- refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1055
- refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1056
- xPos += refXPos;
1057
- yPos += refYPos;
1058
- switch (nsgSchaltfeld.orientation) {
1059
- case 3:
1060
- xPos += nsgQuerzweigWidth / 2;
1061
- yPos -= nsgQuerzweigHeight / 2;
1062
- break;
1063
- case 0:
1064
- xPos -= nsgQuerzweigWidth / 2;
1065
- yPos += nsgQuerzweigHeight / 2;
1066
- break;
1067
- case 1:
1068
- xPos += nsgQuerzweigWidth / 2;
1069
- yPos -= nsgQuerzweigHeight / 2;
1070
- xPos -= nsgSchaltfeld.hoehe;
1071
- break;
1072
- case 2:
1073
- xPos -= nsgQuerzweigWidth / 2;
1074
- yPos += nsgQuerzweigHeight / 2;
1075
- yPos -= nsgSchaltfeld.hoehe;
1076
- break;
1077
- }
1078
- }
1079
- else if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1080
- refCNNodeUUID = DLConverterI7.i7ID2cimUUIDs.get(referenceObjKey).identifiedObjectUUID;
1081
- const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(refCNNodeUUID);
1082
- if (referenceDiagramObject === undefined)
1083
- continue;
1084
- refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1085
- refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1086
- xPos += refXPos;
1087
- yPos += refYPos;
1088
- xPos -= nsgQuerzweigWidth / 2;
1089
- yPos -= nsgQuerzweigHeight / 2;
1090
- }
1091
- else {
1092
- this.logger.info(`unhandled reference type '${referenceObjType}' for id ${i7Data.bezugsobjekt} (nsg_nsgquerzweig.id ${i7Data.id})!`);
1164
+ async convertSchemaQuerzweige(variantenNr, onlyEingeblendet) {
1165
+ const whereIDs = [...DLConverterI7.i7ID2DbNsgObjectInFrame.keys()].map(arg => DLConverterI7.parseSchemaKeyObject(arg).i7ID);
1166
+ // const whereIDs = [...integral7.i7SchemaID2Type.keys()].map(value => DLUtilFunctions.parseSchemaKey(value).id);
1167
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
1168
+ const results = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_QUERZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG), whereIDs));
1169
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1170
+ for (const i7Data of filteredResults) {
1171
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_QUERZWEIG);
1172
+ const referenceObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.bezugsobjekt, variantenNr });
1173
+ const referenceObjType = DLConverterI7.i7ID2Type.get(referenceObjKey);
1174
+ const referenceObj = DLConverterI7.getDbNsgObjectByID(referenceObjKey);
1175
+ let refXPos = 0;
1176
+ let refYPos = 0;
1177
+ let xPos = i7Data.xrel;
1178
+ let yPos = i7Data.yrel;
1179
+ let refCNNodeUUID = undefined;
1180
+ // const querzweigType = this.inputArgs.integralID2Type.get(i7Data.querzweig);
1181
+ // if (querzweigType === undefined) {
1182
+ // continue; //ignore Querzweig if querzweigType is not defined.
1183
+ // }
1184
+ let nsgQuerzweigWidth;
1185
+ let nsgQuerzweigHeight;
1186
+ // if (querzweigType === Integral7TableNames.HGUE_KOPFSTATION_VSC || querzweigType === Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH) {
1187
+ // nsgQuerzweigWidth = NsgConstants.HGUE_QUERZWEIG_OBJ_WIDTH;
1188
+ // nsgQuerzweigHeight = NsgConstants.HGUE_QUERZWEIG_OBJ_HEIGHT;
1189
+ // } else {
1190
+ nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1191
+ nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1192
+ // }
1193
+ if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1194
+ const nsgSchaltfeld = referenceObj;
1195
+ refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1196
+ const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1197
+ if (referenceDiagramObject === undefined)
1093
1198
  continue;
1199
+ refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1200
+ refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1201
+ xPos += refXPos;
1202
+ yPos += refYPos;
1203
+ // additional positioning needed based on the orientation of the bay
1204
+ switch (nsgSchaltfeld.orientation) {
1205
+ case 3: // Left-Direction
1206
+ xPos += nsgQuerzweigWidth / 2;
1207
+ yPos -= nsgQuerzweigHeight / 2;
1208
+ break;
1209
+ case 0: // Top-Direction
1210
+ xPos -= nsgQuerzweigWidth / 2;
1211
+ yPos += nsgQuerzweigHeight / 2;
1212
+ break;
1213
+ case 1: // Right-Direction
1214
+ xPos += nsgQuerzweigWidth / 2;
1215
+ yPos -= nsgQuerzweigHeight / 2;
1216
+ // subtract width of bay from x coordinate
1217
+ xPos -= nsgSchaltfeld.hoehe;
1218
+ break;
1219
+ case 2: // Bottom-Direction
1220
+ xPos -= nsgQuerzweigWidth / 2;
1221
+ yPos += nsgQuerzweigHeight / 2;
1222
+ // subtract width from y coordinate
1223
+ yPos -= nsgSchaltfeld.hoehe;
1224
+ break;
1094
1225
  }
1095
- const querzweigObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.querzweig);
1096
- const querzweigDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
1097
- xPosition: xPos,
1098
- yPosition: yPos,
1099
- rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(i7Data.ausrichtung),
1100
- diagramObjectName: 'DiagramObject',
1101
- identifiedObjectUUID: querzweigObjectUUID,
1102
- diagramUUID: this.activeDiagram.getUUID()
1103
- });
1104
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1105
- identifiedObjectUUID: querzweigObjectUUID,
1106
- diagramObjectUUID: querzweigDiagramObject.getUUID()
1107
- });
1108
- DLConverterI7.addCimObjects(querzweigDiagramObject);
1109
1226
  }
1227
+ else if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1228
+ // xrel and yrel points to the bottom right of the element
1229
+ refCNNodeUUID = DLConverterI7.i7ID2cimUUIDs.get(referenceObjKey).identifiedObjectUUID;
1230
+ const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(refCNNodeUUID);
1231
+ if (referenceDiagramObject === undefined)
1232
+ continue;
1233
+ refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1234
+ refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1235
+ xPos += refXPos;
1236
+ yPos += refYPos;
1237
+ xPos -= nsgQuerzweigWidth / 2;
1238
+ yPos -= nsgQuerzweigHeight / 2;
1239
+ }
1240
+ else {
1241
+ this.logger.info(`unhandled reference type '${referenceObjType}' for id ${i7Data.bezugsobjekt} (nsg_nsgquerzweig.id ${i7Data.id})!`);
1242
+ continue;
1243
+ }
1244
+ const querzweigObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.querzweig);
1245
+ const querzweigDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
1246
+ xPosition: xPos,
1247
+ yPosition: yPos,
1248
+ rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(i7Data.ausrichtung),
1249
+ diagramObjectName: 'DiagramObject',
1250
+ identifiedObjectUUID: querzweigObjectUUID,
1251
+ diagramUUID: this.activeDiagram.getUUID()
1252
+ });
1253
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1254
+ identifiedObjectUUID: querzweigObjectUUID,
1255
+ diagramObjectUUID: querzweigDiagramObject.getUUID()
1256
+ });
1257
+ DLConverterI7.addCimObjects(querzweigDiagramObject);
1110
1258
  }
1111
- else {
1112
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_QUERZWEIG} ist nicht vorhanden.`);
1113
- }
1114
- });
1259
+ }
1260
+ else {
1261
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_QUERZWEIG} ist nicht vorhanden.`);
1262
+ }
1115
1263
  }
1116
1264
  convertSchemaTerminals() {
1117
1265
  const exportedTerminals = new Set();
@@ -1135,8 +1283,8 @@ class DLConverterI7 {
1135
1283
  const conductingEquipment = this.inputArgs.objects.get(conductingEquipmentUUID);
1136
1284
  if (connectivityNode === undefined || conductingEquipment === undefined)
1137
1285
  return;
1138
- const cnDiagramObject = DLConverterI7.getDiagramObjectByUUID(connectivityNodeUUID);
1139
- const ceDiagramObject = DLConverterI7.getDiagramObjectByUUID(conductingEquipmentUUID);
1286
+ const cnDiagramObject = DLConverterI7.getDiagramObjectByUUID(connectivityNodeUUID); //connectivityNode.getDiagramObjects()?.filter(arg => arg.diagramUUID === this.activeDiagram.getUUID())[0];
1287
+ const ceDiagramObject = DLConverterI7.getDiagramObjectByUUID(conductingEquipmentUUID); //conductingEquipment.getDiagramObjects()?.filter(arg => arg.diagramUUID === this.activeDiagram.getUUID())[0];
1140
1288
  if (cnDiagramObject === undefined || ceDiagramObject === undefined)
1141
1289
  return;
1142
1290
  const terminalDiagramObject = new DiagramObject_1.DiagramObject((0, utils_1.generateUUID)());
@@ -1150,10 +1298,14 @@ class DLConverterI7 {
1150
1298
  isBusbarSectionConnectivityNode = true;
1151
1299
  }
1152
1300
  }
1301
+ /* BEGIN: check whether ConductingEquipment needs a specific pre-extraction of a single DiagramObjectPoint */
1153
1302
  const ceDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
1154
1303
  ceDiagramObjectPoint.mrid = (0, utils_1.generateUUID)();
1155
1304
  if (conductingEquipment instanceof ACLineSegment_1.ACLineSegment) {
1305
+ // in case of a BusbarSection, the DiagramObject of a ConnectivityNode contains multiple DiagramObjectPoints
1306
+ // therefore use the center-point of the BusbarSection as a reference point
1156
1307
  const cnCenterPoint = util_functions_1.DLUtilFunctions.getCenterOfPoints(cnDiagramObject.diagramObjectPoints);
1308
+ // determine the nearest ACLineSegment-DiagramObjectPoint to the ConnectivityNode-DiagramObjectPoint
1157
1309
  let closestDiagramObjectPoint = ceDiagramObject.diagramObjectPoints[0];
1158
1310
  let dist = util_functions_1.DLUtilFunctions.lengthOfVector([
1159
1311
  closestDiagramObjectPoint.xPosition - cnCenterPoint[0],
@@ -1176,10 +1328,13 @@ class DLConverterI7 {
1176
1328
  ceDiagramObjectPoint.xPosition = ceDiagramObject.diagramObjectPoints[0].xPosition;
1177
1329
  ceDiagramObjectPoint.yPosition = ceDiagramObject.diagramObjectPoints[0].yPosition;
1178
1330
  }
1331
+ /* END: check whether ConductingEquipment needs a specific pre-extraction of a single DiagramObjectPoint */
1179
1332
  if (isBusbarSectionConnectivityNode) {
1333
+ // special case for busbarSections
1180
1334
  this.convertBusbarSectionCNTerminal(terminalDiagramObject, cnDiagramObject, ceDiagramObjectPoint);
1181
1335
  }
1182
1336
  else {
1337
+ // default case:
1183
1338
  ceDiagramObjectPoint.diagramObject = terminalDiagramObject;
1184
1339
  terminalDiagramObject.diagramObjectPoints.push(ceDiagramObjectPoint);
1185
1340
  const diagramObjectPoint2 = new DiagramObjectPoint_1.DiagramObjectPoint();
@@ -1195,6 +1350,8 @@ class DLConverterI7 {
1195
1350
  DLConverterI7.addCimObjects(terminalDiagramObject);
1196
1351
  }
1197
1352
  convertBusbarSectionCNTerminal(terminalDiagramObject, cnDiagramObject, ceDiagramObjectPoint) {
1353
+ // determine the point, which fits best
1354
+ // the one of three possible points will be taken that has the shortest vector
1198
1355
  const dopCE = ceDiagramObjectPoint;
1199
1356
  const dop1BusbarSection = new DiagramObjectPoint_1.DiagramObjectPoint();
1200
1357
  dop1BusbarSection.mrid = (0, utils_1.generateUUID)();
@@ -1210,10 +1367,12 @@ class DLConverterI7 {
1210
1367
  terminalDiagramObject.diagramObjectPoints.push(dopCE);
1211
1368
  dopCE.diagramObject = terminalDiagramObject;
1212
1369
  if (util_functions_1.DLUtilFunctions.isNegativeOrZero(dist1) === util_functions_1.DLUtilFunctions.isNegativeOrZero(dist2)) {
1370
+ // choice 1 or 2: dopCE is left or right in relation to the BusbarSection-line
1213
1371
  const distDopCEdop1BS = util_functions_1.DLUtilFunctions.lengthOfVector([dopCE.xPosition - dop1BusbarSection.xPosition, dopCE.yPosition - dop1BusbarSection.yPosition]);
1214
1372
  const distDopCEdop2BS = util_functions_1.DLUtilFunctions.lengthOfVector([dopCE.xPosition - dop2BusbarSection.xPosition, dopCE.yPosition - dop2BusbarSection.yPosition]);
1215
1373
  const distDop1BSdop2BS = util_functions_1.DLUtilFunctions.lengthOfVector([dop1BusbarSection.xPosition - dop2BusbarSection.xPosition, dop1BusbarSection.yPosition - dop2BusbarSection.yPosition]);
1216
1374
  if (Math.abs(distDopCEdop1BS + distDopCEdop2BS - distDop1BSdop2BS) < util_functions_1.DLUtilFunctions.EPSILON) {
1375
+ // dopCE is on busbar line
1217
1376
  const dopIntersection = new DiagramObjectPoint_1.DiagramObjectPoint();
1218
1377
  dopIntersection.mrid = (0, utils_1.generateUUID)();
1219
1378
  dopIntersection.xPosition = dopCE.xPosition;
@@ -1233,6 +1392,7 @@ class DLConverterI7 {
1233
1392
  }
1234
1393
  }
1235
1394
  else {
1395
+ // choice 3: the intersection of the busbar and the perpendicular vector to the conductingEquipment
1236
1396
  const dopIntersection = new DiagramObjectPoint_1.DiagramObjectPoint();
1237
1397
  dopIntersection.mrid = (0, utils_1.generateUUID)();
1238
1398
  dopIntersection.xPosition = tempVec[0];
@@ -1256,25 +1416,12 @@ class DLConverterI7 {
1256
1416
  getAvailableColumnNames(tableName) {
1257
1417
  return this.i7TableName2Table.get(tableName).columnNames;
1258
1418
  }
1259
- runAndLogPerformance(func, ...args) {
1260
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1261
- const startTime = perf_hooks_1.performance.now();
1262
- yield func.apply(this, args);
1263
- this.logger.debug(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1264
- console.log(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1265
- });
1419
+ async runAndLogPerformance(func, ...args) {
1420
+ const startTime = perf_hooks_1.performance.now();
1421
+ await func.apply(this, args);
1422
+ this.logger.debug(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1423
+ console.log(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1266
1424
  }
1267
1425
  }
1268
1426
  exports.DLConverterI7 = DLConverterI7;
1269
- DLConverterI7.variantenNr2Diagram = new Map();
1270
- DLConverterI7.type2i7IDs = new Map();
1271
- DLConverterI7.i7ID2cimUUIDs = new Map();
1272
- DLConverterI7.i7ID2Type = new Map();
1273
- DLConverterI7.i7ID2DbNsgObject = new Map();
1274
- DLConverterI7.cimUUID2i7ID = new Map();
1275
- DLConverterI7.cimUUID2Object = new Map();
1276
- DLConverterI7.cimUUID2DiagramObject = new Map();
1277
- DLConverterI7.i7ID2DbNsgObjectInFrame = new Map();
1278
- DLConverterI7.purgeData = true;
1279
- DLConverterI7.cimModelObjects = new Model_1.Model();
1280
1427
  //# sourceMappingURL=dl-converter-i7.js.map