@enervance/insight-cim-model 0.0.24 → 0.0.26

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 (480) hide show
  1. package/dist/analysis/analysis-neplan/digi-ons.d.ts +53 -0
  2. package/dist/analysis/analysis-neplan/digi-ons.js +381 -0
  3. package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -0
  4. package/dist/config/config.utils.d.ts +1 -0
  5. package/dist/config/config.utils.js +37 -0
  6. package/dist/config/config.utils.js.map +1 -0
  7. package/dist/config/default/default-load.config.js.map +1 -1
  8. package/dist/config/lew-sincal/lew-sincal-load.config.js.map +1 -1
  9. package/dist/config/power-system-datamodel/psdm-load.config.js.map +1 -1
  10. package/dist/config/westnetz-integral7/integral7-load.config.js.map +1 -1
  11. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +1 -1
  12. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  13. package/dist/config/westnetz-neplan/callbacks/cb-psr.js.map +1 -1
  14. package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.js.map +1 -1
  15. package/dist/config/westnetz-neplan/neplan-load.config.d.ts +1 -0
  16. package/dist/config/westnetz-neplan/neplan-load.config.js +37 -1
  17. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  18. package/dist/config/westnetz-neplan/property-handler-westenergy.config.js.map +1 -1
  19. package/dist/constants/cim-class-definition.js +14 -0
  20. package/dist/constants/cim-class-definition.js.map +1 -1
  21. package/dist/constants/cim-class-names.d.ts +9 -0
  22. package/dist/constants/cim-class-names.js +9 -0
  23. package/dist/constants/cim-class-names.js.map +1 -1
  24. package/dist/constants/init-data/JENA_SPARQL.js +1 -1
  25. package/dist/constants/init-data/xml/settings.d.ts +1 -0
  26. package/dist/constants/init-data/xml/settings.js +70 -0
  27. package/dist/constants/init-data/xml/settings.js.map +1 -0
  28. package/dist/constants/rdf-xml.d.ts +4 -2
  29. package/dist/constants/rdf-xml.js +4 -2
  30. package/dist/constants/rdf-xml.js.map +1 -1
  31. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js.map +1 -1
  32. package/dist/converter/cgmes-validator.js +2 -0
  33. package/dist/converter/cgmes-validator.js.map +1 -1
  34. package/dist/converter/integral7/ConverterIntegral7.d.ts +45 -17
  35. package/dist/converter/integral7/ConverterIntegral7.js +899 -681
  36. package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
  37. package/dist/converter/integral7/interface-i7/I7Schema.d.ts +13 -0
  38. package/dist/converter/integral7/interface-i7/I7Schema.js +13 -0
  39. package/dist/converter/integral7/interface-i7/I7Schema.js.map +1 -0
  40. package/dist/converter/integral7/interface-i7/IDefaultValuesConfig.d.ts +207 -157
  41. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.d.ts +8 -0
  42. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js +3 -0
  43. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js.map +1 -0
  44. package/dist/converter/integral7/model/integral/KnotenSo.js.map +1 -1
  45. package/dist/converter/integral7/model/integral/KnotenSoNsg.js.map +1 -1
  46. package/dist/converter/integral7/model/integral/Leitung.js.map +1 -1
  47. package/dist/converter/integral7/model/integral/LeitungNsg.js.map +1 -1
  48. package/dist/converter/integral7/model/integral/Schaltanlage.js.map +1 -1
  49. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js.map +1 -1
  50. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js.map +1 -1
  51. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js.map +1 -1
  52. package/dist/converter/integral7/model/integral/Schaltfeld.js.map +1 -1
  53. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js.map +1 -1
  54. package/dist/converter/integral7/model/integral/Standort.js.map +1 -1
  55. package/dist/converter/integral7/model/integral/StandortNsg.js.map +1 -1
  56. package/dist/converter/integral7/model/integral/Trafo2wNsg.js.map +1 -1
  57. package/dist/converter/integral7/model/interfaces.d.ts +24 -3
  58. package/dist/converter/integral7/sql/integral.sql.d.ts +1 -0
  59. package/dist/converter/integral7/sql/integral.sql.js +9 -0
  60. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  61. package/dist/converter/integral7/utils.d.ts +36 -5
  62. package/dist/converter/integral7/utils.js +342 -65
  63. package/dist/converter/integral7/utils.js.map +1 -1
  64. package/dist/data-structures/Settings.d.ts +16 -0
  65. package/dist/data-structures/Settings.js +74 -0
  66. package/dist/data-structures/Settings.js.map +1 -0
  67. package/dist/data-structures/graph/GraphObject.d.ts +4 -2
  68. package/dist/data-structures/graph/GraphObject.js +3 -1
  69. package/dist/data-structures/graph/GraphObject.js.map +1 -1
  70. package/dist/data-structures/graph/Types.d.ts +2 -1
  71. package/dist/data-structures/graph/Types.js +1 -0
  72. package/dist/data-structures/graph/Types.js.map +1 -1
  73. package/dist/data-structures/graph/edges/GraphEdge.d.ts +2 -1
  74. package/dist/data-structures/graph/edges/GraphEdge.js +2 -2
  75. package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
  76. package/dist/data-structures/graph/graph-util.js.map +1 -1
  77. package/dist/data-structures/graph/graph.js +3 -3
  78. package/dist/data-structures/graph/graph.js.map +1 -1
  79. package/dist/data-structures/graph/nodes/GraphNode.d.ts +2 -1
  80. package/dist/data-structures/graph/nodes/GraphNode.js +2 -2
  81. package/dist/data-structures/graph/nodes/GraphNode.js.map +1 -1
  82. package/dist/data-structures/tree/GraphTree.js +3 -3
  83. package/dist/data-structures/tree/GraphTree.js.map +1 -1
  84. package/dist/data-structures/tree/GraphTreeEdge.d.ts +1 -1
  85. package/dist/data-structures/tree/GraphTreeEdge.js +2 -2
  86. package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -1
  87. package/dist/data-structures/tree/GraphTreeNode.d.ts +1 -1
  88. package/dist/data-structures/tree/GraphTreeNode.js +2 -2
  89. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
  90. package/dist/data-structures/tree/GraphTreeObject.d.ts +2 -1
  91. package/dist/data-structures/tree/GraphTreeObject.js +2 -1
  92. package/dist/data-structures/tree/GraphTreeObject.js.map +1 -1
  93. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
  94. package/dist/etl/etl-neplan/etl-neplan-csv.js +23 -18
  95. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  96. package/dist/etl/etl-neplan/etl-neplan-feederline.d.ts +20 -0
  97. package/dist/etl/etl-neplan/etl-neplan-feederline.js +83 -2
  98. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  99. package/dist/etl/etl-neplan/etl-neplan-geo.d.ts +5 -0
  100. package/dist/etl/etl-neplan/etl-neplan-geo.js +221 -1
  101. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  102. package/dist/etl/etl-neplan/etl-neplan-geo_depr.d.ts +0 -1
  103. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js +0 -2
  104. package/dist/etl/etl-neplan/etl-neplan-util.js.map +1 -1
  105. package/dist/etl/etl-neplan/etl-neplan.js +4 -1
  106. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  107. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +4 -4
  108. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  109. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js.map +1 -1
  110. package/dist/grid-validation/grid-validation.js.map +1 -1
  111. package/dist/index.d.ts +8 -4
  112. package/dist/index.js +26 -2
  113. package/dist/index.js.map +1 -1
  114. package/dist/interfaces/ILogger.d.ts +2 -0
  115. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +3 -1
  116. package/dist/model/assetinfo/AssetInfo.js.map +1 -1
  117. package/dist/model/assetinfo/CableInfo.js.map +1 -1
  118. package/dist/model/assetinfo/OverheadWireInfo.js.map +1 -1
  119. package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
  120. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  121. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  122. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  123. package/dist/model/assets/AggregateScore.js.map +1 -1
  124. package/dist/model/assets/Analytic.js.map +1 -1
  125. package/dist/model/assets/AnalyticScore.js.map +1 -1
  126. package/dist/model/assets/Asset.js.map +1 -1
  127. package/dist/model/assets/AssetContainer.js.map +1 -1
  128. package/dist/model/assets/AssetDeployment.js.map +1 -1
  129. package/dist/model/assets/AssetHealthEvent.js.map +1 -1
  130. package/dist/model/assets/AssetOrganisationRole.js.map +1 -1
  131. package/dist/model/assets/AssetOwner.js +0 -2
  132. package/dist/model/assets/AssetOwner.js.map +1 -1
  133. package/dist/model/assets/AssetUser.js.map +1 -1
  134. package/dist/model/assets/DeploymentDate.js.map +1 -1
  135. package/dist/model/assets/Facility.js.map +1 -1
  136. package/dist/model/assets/HealthScore.js.map +1 -1
  137. package/dist/model/assets/LifecycleDate.js.map +1 -1
  138. package/dist/model/assets/RiskScore.js.map +1 -1
  139. package/dist/model/assets/Structure.d.ts +6 -0
  140. package/dist/model/assets/Structure.js +11 -0
  141. package/dist/model/assets/Structure.js.map +1 -0
  142. package/dist/model/assets/TowerConstructionKind.d.ts +4 -0
  143. package/dist/model/assets/TowerConstructionKind.js +9 -0
  144. package/dist/model/assets/TowerConstructionKind.js.map +1 -0
  145. package/dist/model/common/ActivityRecord.js.map +1 -1
  146. package/dist/model/common/CoordinateSystem.js.map +1 -1
  147. package/dist/model/common/Document.js.map +1 -1
  148. package/dist/model/common/Location.js.map +1 -1
  149. package/dist/model/common/OrganisationRole.js.map +1 -1
  150. package/dist/model/common/PositionPoint.js.map +1 -1
  151. package/dist/model/common/Status.js.map +1 -1
  152. package/dist/model/core/ACDCTerminal.d.ts +3 -1
  153. package/dist/model/core/ACDCTerminal.js +6 -2
  154. package/dist/model/core/ACDCTerminal.js.map +1 -1
  155. package/dist/model/core/BaseVoltage.js.map +1 -1
  156. package/dist/model/core/Bay.d.ts +1 -0
  157. package/dist/model/core/Bay.js +9 -0
  158. package/dist/model/core/Bay.js.map +1 -1
  159. package/dist/model/core/ConductingEquipment.js.map +1 -1
  160. package/dist/model/core/ConnectivityNode.js +7 -3
  161. package/dist/model/core/ConnectivityNode.js.map +1 -1
  162. package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
  163. package/dist/model/core/Curve.js.map +1 -1
  164. package/dist/model/core/CurveData.js.map +1 -1
  165. package/dist/model/core/Equipment.js +2 -6
  166. package/dist/model/core/Equipment.js.map +1 -1
  167. package/dist/model/core/EquipmentContainer.js.map +1 -1
  168. package/dist/model/core/Feeder.d.ts +1 -1
  169. package/dist/model/core/Feeder.js.map +1 -1
  170. package/dist/model/core/GeographicalRegion.js.map +1 -1
  171. package/dist/model/core/IdentifiedObject.d.ts +5 -3
  172. package/dist/model/core/IdentifiedObject.js +13 -5
  173. package/dist/model/core/IdentifiedObject.js.map +1 -1
  174. package/dist/model/core/PSRType.js.map +1 -1
  175. package/dist/model/core/PowerSystemResource.js.map +1 -1
  176. package/dist/model/core/SubGeographicalRegion.js.map +1 -1
  177. package/dist/model/core/Substation.d.ts +1 -0
  178. package/dist/model/core/Substation.js +4 -1
  179. package/dist/model/core/Substation.js.map +1 -1
  180. package/dist/model/core/Terminal.d.ts +7 -3
  181. package/dist/model/core/Terminal.js +24 -7
  182. package/dist/model/core/Terminal.js.map +1 -1
  183. package/dist/model/core/VoltageLevel.js +1 -7
  184. package/dist/model/core/VoltageLevel.js.map +1 -1
  185. package/dist/model/dc/ACDCConverter.js.map +1 -1
  186. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  187. package/dist/model/dc/CsConverter.js.map +1 -1
  188. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  189. package/dist/model/dc/DCConductingEquipment.js.map +1 -1
  190. package/dist/model/dc/DCConverterUnit.js.map +1 -1
  191. package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
  192. package/dist/model/dc/DCLine.js.map +1 -1
  193. package/dist/model/dc/DCLineSegment.js.map +1 -1
  194. package/dist/model/dc/DCNode.js.map +1 -1
  195. package/dist/model/dc/DCTerminal.js.map +1 -1
  196. package/dist/model/dc/VsConverter.js.map +1 -1
  197. package/dist/model/diagram/Diagram.js.map +1 -1
  198. package/dist/model/diagram/DiagramObject.d.ts +4 -3
  199. package/dist/model/diagram/DiagramObject.js +14 -3
  200. package/dist/model/diagram/DiagramObject.js.map +1 -1
  201. package/dist/model/diagram/DiagramObjectPoint.d.ts +6 -5
  202. package/dist/model/diagram/DiagramObjectPoint.js +15 -4
  203. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  204. package/dist/model/diagram/DiagramStyle.js.map +1 -1
  205. package/dist/model/domain/Capacitance.js.map +1 -1
  206. package/dist/model/domain/CapacitancePerLength.js.map +1 -1
  207. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.d.ts +16 -0
  208. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.js +23 -0
  209. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.js.map +1 -0
  210. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.d.ts +8 -0
  211. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +22 -0
  212. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -0
  213. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.d.ts +9 -0
  214. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js +8 -0
  215. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js.map +1 -0
  216. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.d.ts +8 -0
  217. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js +8 -0
  218. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js.map +1 -0
  219. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.d.ts +7 -0
  220. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +16 -0
  221. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -0
  222. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.d.ts +25 -0
  223. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +61 -0
  224. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -0
  225. package/dist/model/equivalents/EquivalentBranch.d.ts +1 -1
  226. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  227. package/dist/model/equivalents/EquivalentInjection.d.ts +25 -0
  228. package/dist/model/equivalents/EquivalentInjection.js +92 -0
  229. package/dist/model/equivalents/EquivalentInjection.js.map +1 -0
  230. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.d.ts +22 -0
  231. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +90 -0
  232. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -0
  233. package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +25 -0
  234. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +98 -0
  235. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -0
  236. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.d.ts +27 -0
  237. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +99 -0
  238. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -0
  239. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.d.ts +9 -0
  240. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.js +14 -0
  241. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.js.map +1 -0
  242. package/dist/model/extensions/amprion/assets/AMPRIONTeam.d.ts +8 -0
  243. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js +48 -0
  244. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js.map +1 -0
  245. package/dist/model/extensions/amprion/assets/AMPRIONTower.d.ts +34 -0
  246. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +103 -0
  247. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -0
  248. package/dist/model/extensions/amprion/assets/AMPRIONWire.d.ts +38 -0
  249. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +120 -0
  250. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -0
  251. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.d.ts +5 -0
  252. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.js +10 -0
  253. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.js.map +1 -0
  254. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.d.ts +11 -0
  255. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.js +16 -0
  256. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.js.map +1 -0
  257. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.d.ts +6 -0
  258. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.js +11 -0
  259. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.js.map +1 -0
  260. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.d.ts +10 -0
  261. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js +15 -0
  262. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js.map +1 -0
  263. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  264. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  265. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +5 -0
  266. package/dist/model/extensions/amprion/core/AMPRIONLine.js +33 -0
  267. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -0
  268. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +15 -0
  269. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +93 -0
  270. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -0
  271. package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +49 -0
  272. package/dist/model/extensions/amprion/model/AMPRIONModel.js +127 -0
  273. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -0
  274. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.d.ts +7 -3
  275. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +5 -4
  276. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  277. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.d.ts +3 -3
  278. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js +1 -1
  279. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js.map +1 -1
  280. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.d.ts +2 -2
  281. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js.map +1 -1
  282. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js.map +1 -1
  283. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.d.ts +3 -3
  284. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +31 -31
  285. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  286. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
  287. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +13 -0
  288. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +80 -0
  289. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -0
  290. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
  291. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
  292. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
  293. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js.map +1 -1
  294. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js.map +1 -1
  295. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
  296. package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -1
  297. package/dist/model/extensions/enervance/assets/EVImportanceScore.js.map +1 -1
  298. package/dist/model/extensions/enervance/assets/EVIndicator.js.map +1 -1
  299. package/dist/model/extensions/enervance/assets/EVWireObject.d.ts +1 -1
  300. package/dist/model/extensions/enervance/assets/EVWireObject.js +10 -5
  301. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
  302. package/dist/model/extensions/enervance/core/EVTerminal.d.ts +3 -0
  303. package/dist/model/extensions/enervance/core/EVTerminal.js +19 -0
  304. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  305. package/dist/model/extensions/enervance/operations/EVTerminalAction.js.map +1 -1
  306. package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +1 -1
  307. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +3 -3
  308. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  309. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  310. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +1 -1
  311. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +22 -2
  312. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  313. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.d.ts +5 -0
  314. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +14 -0
  315. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -0
  316. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
  317. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -1
  318. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -1
  319. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +10 -3
  320. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +148 -98
  321. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  322. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +8 -2
  323. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +80 -9
  324. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  325. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -1
  326. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -1
  327. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
  328. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +5 -4
  329. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +114 -45
  330. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  331. package/dist/model/faults/EquipmentFault.js.map +1 -1
  332. package/dist/model/faults/Fault.js.map +1 -1
  333. package/dist/model/faults/LineFault.js.map +1 -1
  334. package/dist/model/generation/FossilFuel.js.map +1 -1
  335. package/dist/model/generation/GeneratingUnit.js +1 -1
  336. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  337. package/dist/model/generation/HydroGeneratingUnit.d.ts +3 -0
  338. package/dist/model/generation/HydroGeneratingUnit.js +21 -0
  339. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  340. package/dist/model/generation/HydroPowerPlant.js.map +1 -1
  341. package/dist/model/generation/HydroPump.js.map +1 -1
  342. package/dist/model/generation/NuclearGeneratingUnit.js.map +1 -1
  343. package/dist/model/generation/SolarGeneratingUnit.d.ts +2 -0
  344. package/dist/model/generation/SolarGeneratingUnit.js +13 -0
  345. package/dist/model/generation/SolarGeneratingUnit.js.map +1 -1
  346. package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
  347. package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
  348. package/dist/model/loadmodel/ConformLoad.js.map +1 -1
  349. package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
  350. package/dist/model/loadmodel/EnergyArea.js.map +1 -1
  351. package/dist/model/loadmodel/LoadArea.js.map +1 -1
  352. package/dist/model/loadmodel/LoadGroup.js.map +1 -1
  353. package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
  354. package/dist/model/model/Model.d.ts +28 -1
  355. package/dist/model/model/Model.js +64 -2
  356. package/dist/model/model/Model.js.map +1 -1
  357. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  358. package/dist/model/operationallimits/OperationalLimit.js +4 -12
  359. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  360. package/dist/model/operationallimits/OperationalLimitSet.js +2 -6
  361. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  362. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  363. package/dist/model/operations/Outage.js.map +1 -1
  364. package/dist/model/operations/SwitchAction.js.map +1 -1
  365. package/dist/model/operations/SwitchingAction.js.map +1 -1
  366. package/dist/model/operations/SwitchingPlan.js.map +1 -1
  367. package/dist/model/operations/UnplannedOutage.js.map +1 -1
  368. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  369. package/dist/model/statevariables/SvStatus.js.map +1 -1
  370. package/dist/model/statevariables/SvTapStep.js.map +1 -1
  371. package/dist/model/statevariables/SvVoltage.js.map +1 -1
  372. package/dist/model/topology/TopologicalIsland.js.map +1 -1
  373. package/dist/model/topology/TopologicalNode.js.map +1 -1
  374. package/dist/model/wires/ACLineSegment.js.map +1 -1
  375. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  376. package/dist/model/wires/Breaker.js.map +1 -1
  377. package/dist/model/wires/BusbarSection.js.map +1 -1
  378. package/dist/model/wires/Clamp.js.map +1 -1
  379. package/dist/model/wires/Conductor.js +6 -1
  380. package/dist/model/wires/Conductor.js.map +1 -1
  381. package/dist/model/wires/Connector.js.map +1 -1
  382. package/dist/model/wires/Cut.js.map +1 -1
  383. package/dist/model/wires/Disconnector.js.map +1 -1
  384. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  385. package/dist/model/wires/EnergyConsumer.js +2 -2
  386. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  387. package/dist/model/wires/EnergySource.js.map +1 -1
  388. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  389. package/dist/model/wires/Ground.js.map +1 -1
  390. package/dist/model/wires/GroundDisconnector.js.map +1 -1
  391. package/dist/model/wires/GroundingImpedance.js.map +1 -1
  392. package/dist/model/wires/Jumper.js.map +1 -1
  393. package/dist/model/wires/Junction.js.map +1 -1
  394. package/dist/model/wires/Line.d.ts +3 -0
  395. package/dist/model/wires/Line.js +14 -0
  396. package/dist/model/wires/Line.js.map +1 -1
  397. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  398. package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
  399. package/dist/model/wires/PetersenCoil.js.map +1 -1
  400. package/dist/model/wires/PhaseTapChanger.d.ts +9 -0
  401. package/dist/model/wires/PhaseTapChanger.js +27 -0
  402. package/dist/model/wires/PhaseTapChanger.js.map +1 -0
  403. package/dist/model/wires/PhaseTapChangerAsymmetrical.d.ts +10 -0
  404. package/dist/model/wires/PhaseTapChangerAsymmetrical.js +41 -0
  405. package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -0
  406. package/dist/model/wires/PhaseTapChangerLinear.d.ts +12 -0
  407. package/dist/model/wires/PhaseTapChangerLinear.js +51 -0
  408. package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -0
  409. package/dist/model/wires/PhaseTapChangerNonLinear.d.ts +10 -0
  410. package/dist/model/wires/PhaseTapChangerNonLinear.js +37 -0
  411. package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -0
  412. package/dist/model/wires/PhaseTapChangerSymmetrical.d.ts +6 -0
  413. package/dist/model/wires/PhaseTapChangerSymmetrical.js +24 -0
  414. package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -0
  415. package/dist/model/wires/PhaseTapChangerTable.d.ts +14 -0
  416. package/dist/model/wires/PhaseTapChangerTable.js +44 -0
  417. package/dist/model/wires/PhaseTapChangerTable.js.map +1 -0
  418. package/dist/model/wires/PhaseTapChangerTablePoint.d.ts +15 -0
  419. package/dist/model/wires/PhaseTapChangerTablePoint.js +54 -0
  420. package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -0
  421. package/dist/model/wires/PhaseTapChangerTabular.d.ts +10 -0
  422. package/dist/model/wires/PhaseTapChangerTabular.js +38 -0
  423. package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -0
  424. package/dist/model/wires/Plant.js.map +1 -1
  425. package/dist/model/wires/PowerTransformer.js.map +1 -1
  426. package/dist/model/wires/PowerTransformerEnd.js +6 -7
  427. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  428. package/dist/model/wires/ProtectedSwitch.js.map +1 -1
  429. package/dist/model/wires/RatioTapChanger.d.ts +2 -0
  430. package/dist/model/wires/RatioTapChanger.js +17 -20
  431. package/dist/model/wires/RatioTapChanger.js.map +1 -1
  432. package/dist/model/wires/RatioTapChangerTable.d.ts +3 -0
  433. package/dist/model/wires/RatioTapChangerTable.js +14 -0
  434. package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
  435. package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
  436. package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
  437. package/dist/model/wires/Recloser.js.map +1 -1
  438. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  439. package/dist/model/wires/RegulatingControl.js.map +1 -1
  440. package/dist/model/wires/RotatingMachine.d.ts +1 -0
  441. package/dist/model/wires/RotatingMachine.js +13 -0
  442. package/dist/model/wires/RotatingMachine.js.map +1 -1
  443. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  444. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  445. package/dist/model/wires/StaticVarCompensator.js.map +1 -1
  446. package/dist/model/wires/Switch.js.map +1 -1
  447. package/dist/model/wires/SynchronousMachine.d.ts +3 -1
  448. package/dist/model/wires/SynchronousMachine.js +4 -8
  449. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  450. package/dist/model/wires/TapChanger.d.ts +2 -0
  451. package/dist/model/wires/TapChanger.js +7 -7
  452. package/dist/model/wires/TapChanger.js.map +1 -1
  453. package/dist/model/wires/TapChangerControl.js +1 -1
  454. package/dist/model/wires/TapChangerControl.js.map +1 -1
  455. package/dist/model/wires/TapChangerTablePoint.d.ts +3 -0
  456. package/dist/model/wires/TapChangerTablePoint.js +34 -7
  457. package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
  458. package/dist/model/wires/TransformerEnd.d.ts +3 -0
  459. package/dist/model/wires/TransformerEnd.js +5 -13
  460. package/dist/model/wires/TransformerEnd.js.map +1 -1
  461. package/dist/util/sparql/sparql-utils.d.ts +1 -0
  462. package/dist/util/sparql/sparql-utils.js +5 -1
  463. package/dist/util/sparql/sparql-utils.js.map +1 -1
  464. package/dist/util/util-create.d.ts +5 -2
  465. package/dist/util/util-create.js +18 -6
  466. package/dist/util/util-create.js.map +1 -1
  467. package/dist/util/util-search.js.map +1 -1
  468. package/dist/util/util-test.d.ts +18 -0
  469. package/dist/util/util-test.js +300 -0
  470. package/dist/util/util-test.js.map +1 -0
  471. package/dist/util/util-topology.js +0 -2
  472. package/dist/util/util-topology.js.map +1 -1
  473. package/dist/util/utils.js +16 -6
  474. package/dist/util/utils.js.map +1 -1
  475. package/dist/util/xml/xml.parser.js.map +1 -1
  476. package/dist/util/xml/xml.serializer.js.map +1 -1
  477. package/package.json +10 -5
  478. package/dist/model/extensions/amprion/model/AmprionModel.d.ts +0 -25
  479. package/dist/model/extensions/amprion/model/AmprionModel.js +0 -64
  480. package/dist/model/extensions/amprion/model/AmprionModel.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateInMemoryObjects = exports.getValidTerminals = exports.getGeoCoordinates = exports.getVoltageLevelByVoltage = exports.ConverterIntegral7 = void 0;
3
+ exports.validateInMemoryObjects = exports.getValidTapChangerControls = exports.getValidTerminals = exports.getGeoCoordinates = exports.getVoltageLevelByVoltage = exports.ConverterIntegral7 = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const __1 = require("../..");
6
6
  const mysql = tslib_1.__importStar(require("mysql"));
@@ -15,20 +15,14 @@ const jszip_1 = tslib_1.__importDefault(require("jszip"));
15
15
  const Standort_1 = require("./model/integral/Standort");
16
16
  const Schaltanlage_1 = require("./model/integral/Schaltanlage");
17
17
  const Schaltanlagenabschnitt_1 = require("./model/integral/Schaltanlagenabschnitt");
18
- const StandortNsg_1 = require("./model/integral/StandortNsg");
19
- const SchaltanlageNSG_1 = require("./model/integral/SchaltanlageNSG");
20
- const SchaltanlagenabschnittNsg_1 = require("./model/integral/SchaltanlagenabschnittNsg");
21
- const Point_1 = require("./model/integral/Point");
22
- const utils_schema_1 = require("./utils-schema");
23
18
  const Schaltfeld_1 = require("./model/integral/Schaltfeld");
24
- const SchaltfeldNsg_1 = require("./model/integral/SchaltfeldNsg");
25
19
  const KnotenSo_1 = require("./model/integral/KnotenSo");
26
- const KnotenSoNsg_1 = require("./model/integral/KnotenSoNsg");
27
20
  const Leitung_1 = require("./model/integral/Leitung");
28
21
  const TapChangerInfo_1 = require("../../model/assetinfo/TapChangerInfo");
29
22
  const AMPRIONBay_1 = require("../../model/extensions/amprion/core/AMPRIONBay");
30
23
  const AMPRIONConnectivityNode_1 = require("../../model/extensions/amprion/core/AMPRIONConnectivityNode");
31
24
  const AMPRIONSeriesCompensator_1 = require("../../model/extensions/amprion/wires/AMPRIONSeriesCompensator");
25
+ const AMPRIONSubstation_1 = require("../../model/extensions/amprion/core/AMPRIONSubstation");
32
26
  const CsConverter_1 = require("../../model/dc/CsConverter");
33
27
  const DCConverterUnit_1 = require("../../model/dc/DCConverterUnit");
34
28
  const DCNode_1 = require("../../model/dc/DCNode");
@@ -55,12 +49,17 @@ const EVPowerTransformerEndInfo_1 = require("../../model/extensions/enervance/as
55
49
  const util_create_1 = require("../../util/util-create");
56
50
  const EVPowerTransformerInfo_1 = require("../../model/extensions/enervance/assetinfo/EVPowerTransformerInfo");
57
51
  const EVWireInfo_1 = require("../../model/extensions/enervance/assetinfo/EVWireInfo");
52
+ const SynchronousMachineTimeConstantReactance_1 = require("../../model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance");
53
+ const EquivalentInjection_1 = require("../../model/equivalents/EquivalentInjection");
54
+ const I7Schema_1 = require("./interface-i7/I7Schema");
58
55
  class ConverterIntegral7 {
59
56
  constructor() {
60
57
  this.limit = 100;
58
+ this.i7SchemaID2UUID = new Map();
61
59
  this.integralID2UUID = new Map();
62
- this.UUID2IntegralID = new Map();
60
+ this.UUID2Integral7ID_ = new Map();
63
61
  this.statcomRegulatingControls = new Map();
62
+ this.integralID2Type = new Map();
64
63
  this.schaltfeldIDs = [];
65
64
  this.querkupplungIDs = [];
66
65
  this.laengskupplungIDs = [];
@@ -68,6 +67,9 @@ class ConverterIntegral7 {
68
67
  this.knotenSfIDs = [];
69
68
  this.leitungsIDs = [];
70
69
  this.kdrosseltypen = new Map();
70
+ this.schemaIDSchemastandort = new Map();
71
+ this.schemaIDSchaltanlage = new Map();
72
+ this.schemaIDSchaltanlagenabschnitt = new Map();
71
73
  this.integralStandorte = new Map();
72
74
  this.integralSchaltanlagen = new Map();
73
75
  this.integralSchaltanlagenAbschnitte = new Map();
@@ -91,6 +93,7 @@ class ConverterIntegral7 {
91
93
  connectivityNodes: new Map(),
92
94
  terminals: new Map()
93
95
  };
96
+ this.knotenSpannungsband = new Map();
94
97
  this.knotenSpannung = new Map();
95
98
  this.substationVoltagelevels = new Map();
96
99
  this.eqSpannungsBander = new Map();
@@ -116,6 +119,7 @@ class ConverterIntegral7 {
116
119
  this.trafo2WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO2W);
117
120
  this.trafo3WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO3W);
118
121
  yield this.queryAnschlussIDs();
122
+ yield this.querySpGeregelteKnoten();
119
123
  resolve({ status: 'successful', message: 'ok' });
120
124
  }
121
125
  catch (e) {
@@ -124,7 +128,7 @@ class ConverterIntegral7 {
124
128
  }));
125
129
  });
126
130
  }
127
- convert(defaultValuesConfig, energyTypesConfig, tempDirPath, gridName) {
131
+ convert(objectMappingConfig, defaultValuesConfig, energyTypesConfig, tempDirPath, gridName) {
128
132
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
129
133
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
130
134
  try {
@@ -148,6 +152,11 @@ class ConverterIntegral7 {
148
152
  const modelSSHUUID = __1.generateUUID();
149
153
  const profilesSSH = [__1.RDF_XML.SSH_OPER_PROFILE_URI];
150
154
  this.cimModel.toCIMXML(sshProfileExportObjects.xmlWriter, modelSSHUUID, profilesSSH, [modelEQUUID], __1.RDF_XML.AMP_MAS);
155
+ const dyProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_dy.xml`);
156
+ this.writeHeaderStart(dyProfileExportObjects.xmlWriter);
157
+ const modelDYUUID = __1.generateUUID();
158
+ const profilesDY = [__1.RDF_XML.DY_PROFILE_URI];
159
+ this.cimModel.toCIMXML(dyProfileExportObjects.xmlWriter, modelDYUUID, profilesDY, [modelEQUUID], __1.RDF_XML.AMP_MAS);
151
160
  const svProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_sv.xml`);
152
161
  this.writeHeaderStart(svProfileExportObjects.xmlWriter);
153
162
  const modelSVUUID = __1.generateUUID();
@@ -161,7 +170,6 @@ class ConverterIntegral7 {
161
170
  this.addDefaultObjects(defaultValuesConfig);
162
171
  yield this.convertGeoRegionen(defaultValuesConfig);
163
172
  yield this.convertSubGeoRegionen(defaultValuesConfig);
164
- yield this.convertStromkreise();
165
173
  yield this.convertBetriebsmitteltypenLeitung();
166
174
  yield this.convertBetriebsmitteltypenTrafo();
167
175
  yield this.convertBetriebsmitteltypenKdrossel();
@@ -169,18 +177,18 @@ class ConverterIntegral7 {
169
177
  this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.coordinateSystems, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
170
178
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.geographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
171
179
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subgeographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
172
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.lines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
173
180
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.loadAreas, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
174
181
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subLoadAreas, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
175
182
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.conformLoadGroups, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
176
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.diagrams, __1.RDF_XML.PROFILE_DL, defaultValuesConfig);
177
- this.objectArrayToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.diagramStyles, __1.RDF_XML.PROFILE_DL);
183
+ this.objectToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagrams, __1.RDF_XML.PROFILE_DL, defaultValuesConfig);
184
+ this.objectArrayToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagramStyles, __1.RDF_XML.PROFILE_DL);
178
185
  const restCount = this.standortAnzahl < this.limit ? this.standortAnzahl : (this.standortAnzahl % this.limit);
179
186
  const intervalCount = (this.standortAnzahl - restCount) / this.limit;
180
187
  const numberOfIntervals = restCount > 0 ? intervalCount + 1 : intervalCount;
181
188
  for (let i = 0; i < numberOfIntervals; i++) {
182
189
  const offset = i * this.limit;
183
190
  const currentLimit = (i + 1 === numberOfIntervals && restCount > 0) ? restCount : this.limit;
191
+ this.logger.debug(`offset ${offset} currentLimit ${currentLimit}`);
184
192
  yield this.convertStandorte(currentLimit, offset, defaultValuesConfig);
185
193
  const standortIDs = [...this.integralStandorte.keys()];
186
194
  yield this.covertSchaltanlagen(standortIDs, defaultValuesConfig);
@@ -220,13 +228,13 @@ class ConverterIntegral7 {
220
228
  yield this.convertSammelschienenAbschnitte(schaltanlagenAbschnittIDs);
221
229
  }
222
230
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
223
- const querZweigID2ErgebnisLflID = yield this.convertBelastungen([...knotenSoIDs, ...this.knotenSfIDs], defaultValuesConfig, false);
231
+ const querZweigID2ErgebnisLflID = yield this.convertBelastungen([...knotenSoIDs, ...this.knotenSfIDs], defaultValuesConfig, objectMappingConfig.Belastung.class);
224
232
  yield this.convertQuerzweigErgebnisData(querZweigID2ErgebnisLflID, 1, 0);
225
233
  }
226
234
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
227
- yield this.convertEinspeisungen([...knotenSoIDs, ...this.knotenSfIDs]);
235
+ yield this.convertEinspeisungen([...knotenSoIDs, ...this.knotenSfIDs], objectMappingConfig.Einspeisung.class);
228
236
  }
229
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
237
+ if (knotenSoIDs.length || this.knotenSfIDs.length > 0) {
230
238
  yield this.convertGeneratoren([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
231
239
  }
232
240
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
@@ -282,10 +290,8 @@ class ConverterIntegral7 {
282
290
  if (schaltanlagenAbschnittIDs.length > 0) {
283
291
  yield this.convertSchemaSchaltanlagenAbschnitte(schaltanlagenAbschnittIDs);
284
292
  }
285
- yield this.convertSchemaSammelschienenAbschnitte();
286
- if (this.schaltfeldIDs.length > 0) {
287
- yield this.convertSchemaSchaltfelder(this.schaltfeldIDs);
288
- }
293
+ const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
294
+ this.checkRegelungsknotenTerminals([...validTerminals.values()]);
289
295
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.substations, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
290
296
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.voltageLevels, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
291
297
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -294,6 +300,7 @@ class ConverterIntegral7 {
294
300
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
295
301
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
296
302
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
303
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.equivalentInjections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
297
304
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.externalNetworkInjections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
298
305
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
299
306
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -315,23 +322,27 @@ class ConverterIntegral7 {
315
322
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
316
323
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
317
324
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
318
- const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
319
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
320
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
325
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
326
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
321
327
  this.objectToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagramObjects, __1.RDF_XML.PROFILE_DL, defaultValuesConfig);
322
328
  this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.locations, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
323
329
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
324
330
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
325
331
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
332
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.equivalentInjections, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
326
333
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
327
334
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
335
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.synchronousMachine, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
336
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.asynchronousMachine, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
328
337
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
329
338
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
330
339
  this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svStatus, __1.RDF_XML.PROFILE_SV);
331
340
  this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svPowerFlow, __1.RDF_XML.PROFILE_SV);
332
341
  this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svTapSteps, __1.RDF_XML.PROFILE_SV);
342
+ this.objectToCIMXML(dyProfileExportObjects.xmlWriter, this.cimModel.synchronousMachineTimeConstantReactance, __1.RDF_XML.PROFILE_DY, defaultValuesConfig);
333
343
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
334
344
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
345
+ this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.substations, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
335
346
  this.cimModel.substations.clear();
336
347
  this.cimModel.voltageLevels.clear();
337
348
  this.cimModel.bays.clear();
@@ -341,8 +352,10 @@ class ConverterIntegral7 {
341
352
  this.cimModel.energyConsumers.clear();
342
353
  this.cimModel.conformLoads.clear();
343
354
  this.cimModel.energySources.clear();
355
+ this.cimModel.equivalentInjections.clear();
344
356
  this.cimModel.externalNetworkInjections.clear();
345
357
  this.cimModel.synchronousMachine.clear();
358
+ this.cimModel.synchronousMachineTimeConstantReactance.clear();
346
359
  this.cimModel.asynchronousMachine.clear();
347
360
  this.cimModel.generatingUnit.clear();
348
361
  this.cimModel.thermalGeneratingUnit.clear();
@@ -380,20 +393,21 @@ class ConverterIntegral7 {
380
393
  this.integralNsgSchaltfelder.clear();
381
394
  this.integralNsgKnotenSo.clear();
382
395
  this.eqSpannungsBander.clear();
383
- this.logger.info(`Offset ${offset} done`);
396
+ this.logger.debug(`Offset ${offset} done`);
384
397
  }
385
398
  const restCountELZ = this.ersatzlaengszweigAnzahl < this.limit ? this.ersatzlaengszweigAnzahl : (this.ersatzlaengszweigAnzahl % this.limit);
386
399
  const intervalCountELZ = (this.ersatzlaengszweigAnzahl - restCountELZ) / this.limit;
387
400
  const numberOfIntervalsELZ = restCountELZ > 0 ? intervalCountELZ + 1 : intervalCountELZ;
388
- this.logger.info('Convert Ersatzlaengszweige ' + this.ersatzlaengszweigAnzahl);
401
+ this.logger.debug('Convert Ersatzlaengszweige ' + this.ersatzlaengszweigAnzahl);
389
402
  for (let i = 0; i < numberOfIntervalsELZ; i++) {
390
403
  const offset = i * this.limit;
391
404
  const currentLimit = (i + 1 === numberOfIntervalsELZ && restCountELZ > 0) ? restCountELZ : this.limit;
392
405
  yield this.convertErsatzLaengszweige(currentLimit, offset, defaultValuesConfig);
393
406
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.equivalentBranches, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
394
407
  const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
395
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
396
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
408
+ this.checkRegelungsknotenTerminals([...validTerminals.values()]);
409
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
410
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
397
411
  this.cimModel.equivalentBranches.clear();
398
412
  this.cimModel.connectivityNodes.clear();
399
413
  this.cimModel.terminals.clear();
@@ -402,20 +416,20 @@ class ConverterIntegral7 {
402
416
  const restCountLeitung = this.leitungsAnzahl < this.limit ? this.leitungsAnzahl : (this.leitungsAnzahl % this.limit);
403
417
  const intervalCountLeitung = (this.leitungsAnzahl - restCountLeitung) / this.limit;
404
418
  const numberOfIntervalsLeitung = restCountLeitung > 0 ? intervalCountLeitung + 1 : intervalCountLeitung;
405
- this.logger.info('Convert ACLineSegments ' + this.leitungsAnzahl);
419
+ this.logger.debug('Convert ACLineSegments ' + this.leitungsAnzahl);
406
420
  for (let i = 0; i < numberOfIntervalsLeitung; i++) {
407
421
  const offset = i * this.limit;
408
422
  const currentLimit = (i + 1 === numberOfIntervalsLeitung && restCountLeitung > 0) ? restCountLeitung : this.limit;
409
- yield this.convertLeitungen(currentLimit, offset);
410
- this.leitungsIDs = [...this.integralLeitungen.keys()];
411
- if (this.leitungsIDs.length > 0)
412
- yield this.determineLeitungsTypen(this.leitungsIDs, defaultValuesConfig);
423
+ yield this.convertLeitungen(currentLimit, offset, defaultValuesConfig);
413
424
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
425
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.lines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
414
426
  const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
415
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
416
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
427
+ this.checkRegelungsknotenTerminals([...validTerminals.values()]);
428
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
429
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
417
430
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
418
431
  this.cimModel.acLineSegments.clear();
432
+ this.cimModel.lines.clear();
419
433
  this.cimModel.connectivityNodes.clear();
420
434
  this.cimModel.terminals.clear();
421
435
  this.cimModel.diagramObjects.clear();
@@ -426,7 +440,7 @@ class ConverterIntegral7 {
426
440
  const restCountHgueLeitung = this.hgueLeitungsAnzahl < this.limit ? this.hgueLeitungsAnzahl : (this.hgueLeitungsAnzahl % this.limit);
427
441
  const intervalCountHgueLeitung = (this.hgueLeitungsAnzahl - restCountHgueLeitung) / this.limit;
428
442
  const numberOfIntervalsHgueLeitung = restCountHgueLeitung > 0 ? intervalCountHgueLeitung + 1 : intervalCountHgueLeitung;
429
- this.logger.info('Convert ACLineSegments ' + this.hgueLeitungsAnzahl);
443
+ this.logger.debug('Convert ACLineSegments ' + this.hgueLeitungsAnzahl);
430
444
  for (let i = 0; i < numberOfIntervalsHgueLeitung; i++) {
431
445
  const offset = i * this.limit;
432
446
  const currentLimit = (i + 1 === numberOfIntervalsHgueLeitung && restCountHgueLeitung > 0) ? restCountHgueLeitung : this.limit;
@@ -434,6 +448,7 @@ class ConverterIntegral7 {
434
448
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcLines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
435
449
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcLineSegment, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
436
450
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
451
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.dcTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
437
452
  this.cimModel.dcLines.clear();
438
453
  this.cimModel.dcLineSegment.clear();
439
454
  this.cimModel.dcTerminals.clear();
@@ -441,18 +456,19 @@ class ConverterIntegral7 {
441
456
  const restCountLD = this.laengsdrosselAnzahl < this.limit ? this.laengsdrosselAnzahl : (this.laengsdrosselAnzahl % this.limit);
442
457
  const intervalCountLD = (this.laengsdrosselAnzahl - restCountLD) / this.limit;
443
458
  const numberOfIntervalsLD = restCountLD > 0 ? intervalCountLD + 1 : intervalCountLD;
444
- this.logger.info('Convert Längsdrossel ' + this.laengsdrosselAnzahl);
459
+ this.logger.debug('Convert Längsdrossel ' + this.laengsdrosselAnzahl);
445
460
  for (let i = 0; i < numberOfIntervalsLD; i++) {
446
461
  const offset = i * this.limit;
447
462
  const currentLimit = (i + 1 === numberOfIntervalsLD && restCountLD > 0) ? restCountLD : this.limit;
448
463
  yield this.convertLaengsdrosseln(currentLimit, offset, defaultValuesConfig);
449
- this.logger.info('Export Längsdrossel ' + this.cimModel.seriesCompensators.size);
464
+ this.logger.debug('Export Längsdrossel ' + this.cimModel.seriesCompensators.size);
450
465
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
451
466
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
452
467
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
453
468
  const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
454
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
455
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
469
+ this.checkRegelungsknotenTerminals([...validTerminals.values()]);
470
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
471
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
456
472
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
457
473
  this.cimModel.seriesCompensators.clear();
458
474
  this.cimModel.operationalLimitSets.clear();
@@ -463,7 +479,7 @@ class ConverterIntegral7 {
463
479
  const restCountLK = this.laengskondensatorAnzahl < this.limit ? this.laengskondensatorAnzahl : (this.laengskondensatorAnzahl % this.limit);
464
480
  const intervalCountLK = (this.laengskondensatorAnzahl - restCountLK) / this.limit;
465
481
  const numberOfIntervalsLK = restCountLK > 0 ? intervalCountLK + 1 : intervalCountLK;
466
- this.logger.info('Convert Längskondensator ' + this.laengskondensatorAnzahl);
482
+ this.logger.debug('Convert Längskondensator ' + this.laengskondensatorAnzahl);
467
483
  for (let i = 0; i < numberOfIntervalsLK; i++) {
468
484
  const offset = i * this.limit;
469
485
  const currentLimit = (i + 1 === numberOfIntervalsLK && restCountLK > 0) ? restCountLK : this.limit;
@@ -472,8 +488,9 @@ class ConverterIntegral7 {
472
488
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
473
489
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
474
490
  const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
475
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
476
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
491
+ this.checkRegelungsknotenTerminals([...validTerminals.values()]);
492
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
493
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
477
494
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
478
495
  this.cimModel.seriesCompensators.clear();
479
496
  this.cimModel.operationalLimitSets.clear();
@@ -484,23 +501,32 @@ class ConverterIntegral7 {
484
501
  const restCountTrafo2W = this.trafo2WAnzahl < this.limit ? this.trafo2WAnzahl : (this.trafo2WAnzahl % this.limit);
485
502
  const intervalCountTrafo2W = (this.trafo2WAnzahl - restCountTrafo2W) / this.limit;
486
503
  const numberOfIntervalsTrafo2W = restCountTrafo2W > 0 ? intervalCountTrafo2W + 1 : intervalCountTrafo2W;
487
- this.logger.info('Convert Transformers');
504
+ this.logger.debug('Convert Transformers');
488
505
  for (let i = 0; i < numberOfIntervalsTrafo2W; i++) {
489
506
  const offset = i * this.limit;
490
507
  const currentLimit = (i + 1 === numberOfIntervalsTrafo2W && restCountTrafo2W > 0) ? restCountTrafo2W : this.limit;
491
- yield this.convertTrafo2W(currentLimit, offset);
508
+ yield this.convertTrafo2W(currentLimit, offset, defaultValuesConfig);
492
509
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
493
510
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
494
511
  const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
495
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
496
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
497
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.tapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
512
+ this.checkRegelungsknotenTerminals([...validTerminals.values()]);
513
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
514
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
515
+ const validTapChangerControls = getValidTapChangerControls(this.cimModel.tapChangerControls);
516
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
517
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTapChangerControls, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
498
518
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
499
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
500
- validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '2W Trafo');
501
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
519
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
520
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
521
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
522
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
523
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
524
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
525
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
502
526
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
503
527
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
528
+ validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '2W Trafo');
529
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
504
530
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
505
531
  this.cimModel.powerTransformer.clear();
506
532
  this.cimModel.powerTransformerEnds.clear();
@@ -509,6 +535,9 @@ class ConverterIntegral7 {
509
535
  this.cimModel.regulatingControl.clear();
510
536
  this.cimModel.tapChangerControls.clear();
511
537
  this.cimModel.ratioTapChangers.clear();
538
+ this.cimModel.phaseTapChangerLinear.clear();
539
+ this.cimModel.phaseTapChangerSymmetrical.clear();
540
+ this.cimModel.phaseTapChangerAsymmetrical.clear();
512
541
  for (const table of this.cimModel.ratioTapChangerTables.values()) {
513
542
  table.ratioTapChangerTablePoints = [];
514
543
  }
@@ -517,14 +546,14 @@ class ConverterIntegral7 {
517
546
  this.cimModel.terminals.clear();
518
547
  this.cimModel.objects.clear();
519
548
  }
520
- const restCountTrafo3W = this.trafo2WAnzahl < this.limit ? this.trafo3WAnzahl : (this.trafo3WAnzahl % this.limit);
549
+ const restCountTrafo3W = this.trafo3WAnzahl < this.limit ? this.trafo3WAnzahl : (this.trafo3WAnzahl % this.limit);
521
550
  const intervalCountTrafo3W = (this.trafo3WAnzahl - restCountTrafo3W) / this.limit;
522
551
  const numberOfIntervalsTrafo3W = restCountTrafo3W > 0 ? intervalCountTrafo3W + 1 : intervalCountTrafo3W;
523
- this.logger.info('Convert Transformers3W');
552
+ this.logger.debug('Convert Transformers3W');
524
553
  for (let i = 0; i < numberOfIntervalsTrafo3W; i++) {
525
554
  const offset = i * this.limit;
526
555
  const currentLimit = (i + 1 === numberOfIntervalsTrafo3W && restCountTrafo3W > 0) ? restCountTrafo3W : this.limit;
527
- yield this.convertTrafo3W(currentLimit, offset);
556
+ yield this.convertTrafo3W(currentLimit, offset, defaultValuesConfig);
528
557
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
529
558
  this.cimModel.powerTransformer.clear();
530
559
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -532,28 +561,38 @@ class ConverterIntegral7 {
532
561
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
533
562
  this.cimModel.currentLimits.clear();
534
563
  const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
535
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
536
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
564
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
565
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
537
566
  this.cimModel.terminals.clear();
538
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.tapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
567
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, getValidTapChangerControls(this.cimModel.tapChangerControls), __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
539
568
  this.cimModel.tapChangerControls.clear();
540
569
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
570
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
571
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
572
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
573
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
574
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
575
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
576
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
541
577
  this.cimModel.ratioTapChangers.clear();
542
578
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
543
579
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
544
580
  validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '3W Trafo');
545
581
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
546
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
582
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
547
583
  this.cimModel.regulatingControl.clear();
548
584
  this.cimModel.operationalLimitSets.clear();
549
585
  for (const table of this.cimModel.ratioTapChangerTables.values()) {
550
586
  table.ratioTapChangerTablePoints = [];
551
587
  }
552
588
  this.cimModel.ratioTapChangerTables.clear();
589
+ this.cimModel.phaseTapChangerLinear.clear();
590
+ this.cimModel.phaseTapChangerSymmetrical.clear();
591
+ this.cimModel.phaseTapChangerAsymmetrical.clear();
553
592
  this.cimModel.svTapSteps.length = 0;
554
593
  this.cimModel.objects.clear();
555
594
  }
556
- const memoryTerminals = validateInMemoryObjects(this.inmemoryObjects);
595
+ const memoryTerminals = validateInMemoryObjects(this.inmemoryObjects, this.logger);
557
596
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitTypes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
558
597
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.baseVoltages, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
559
598
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, memoryTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -562,6 +601,7 @@ class ConverterIntegral7 {
562
601
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.vsConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
563
602
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.csConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
564
603
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acDCConverterDCTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
604
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.acDCConverterDCTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
565
605
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
566
606
  for (const junction of this.stpImpModel.junctions.values()) {
567
607
  if (junction.baseVoltageUUID && junction.equipmentContainerUUID) {
@@ -608,6 +648,7 @@ class ConverterIntegral7 {
608
648
  this.writeHeaderEnd(dlProfileExportObjects.xmlWriter);
609
649
  this.writeHeaderEnd(glProfileExportObjects.xmlWriter);
610
650
  this.writeHeaderEnd(sshProfileExportObjects.xmlWriter);
651
+ this.writeHeaderEnd(dyProfileExportObjects.xmlWriter);
611
652
  this.writeHeaderEnd(svProfileExportObjects.xmlWriter);
612
653
  this.writeHeaderEnd(ampI7ProfileExportObjects.xmlWriter);
613
654
  yield Promise.all([
@@ -616,6 +657,7 @@ class ConverterIntegral7 {
616
657
  utils_2.createWriteStreamPromise(glProfileExportObjects.writeStream),
617
658
  utils_2.createWriteStreamPromise(sshProfileExportObjects.writeStream),
618
659
  utils_2.createWriteStreamPromise(svProfileExportObjects.writeStream),
660
+ utils_2.createWriteStreamPromise(dyProfileExportObjects.writeStream),
619
661
  utils_2.createWriteStreamPromise(ampI7ProfileExportObjects.writeStream),
620
662
  ]);
621
663
  const zip = new jszip_1.default();
@@ -627,6 +669,8 @@ class ConverterIntegral7 {
627
669
  zip.file(`${gridName}_gl.xml`, readStreamGl);
628
670
  const readStreamSSH = fs_1.default.createReadStream(sshProfileExportObjects.filePath);
629
671
  zip.file(`${gridName}_ssh.xml`, readStreamSSH);
672
+ const readStreamDY = fs_1.default.createReadStream(dyProfileExportObjects.filePath);
673
+ zip.file(`${gridName}_dy.xml`, readStreamDY);
630
674
  const readStreamSV = fs_1.default.createReadStream(svProfileExportObjects.filePath);
631
675
  zip.file(`${gridName}_sv.xml`, readStreamSV);
632
676
  const readStreamAmpI7 = fs_1.default.createReadStream(ampI7ProfileExportObjects.filePath);
@@ -634,6 +678,7 @@ class ConverterIntegral7 {
634
678
  resolve(yield utils_2.generateNodeStream(zip));
635
679
  }
636
680
  catch (e) {
681
+ console.log(e);
637
682
  reject({ status: 'error', message: e.toString() });
638
683
  }
639
684
  }));
@@ -648,7 +693,7 @@ class ConverterIntegral7 {
648
693
  if (tempDirPath) {
649
694
  try {
650
695
  fs_1.default.rmdirSync(tempDirPath, { recursive: true });
651
- this.logger.info(`${path_1.default} is deleted!`);
696
+ this.logger.debug(`${path_1.default} is deleted!`);
652
697
  }
653
698
  catch (err) {
654
699
  console.error(`Error while deleting ${path_1.default}.`);
@@ -679,7 +724,8 @@ class ConverterIntegral7 {
679
724
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
680
725
  return new Promise((resolve, reject) => {
681
726
  if (this.isTableAvailable(tableName)) {
682
- this.queryFunctionWrapper(`SELECT COUNT(id) FROM ${tableName}`).then(results => {
727
+ this.queryFunctionWrapper(`SELECT COUNT(id)
728
+ FROM ${tableName}`).then(results => {
683
729
  try {
684
730
  for (const result of results) {
685
731
  return resolve(Number(result[`COUNT(id)`]));
@@ -699,37 +745,44 @@ class ConverterIntegral7 {
699
745
  queryAnschlussIDs() {
700
746
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
701
747
  try {
702
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
748
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
749
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
703
750
  for (const result of results) {
704
751
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
705
752
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
706
753
  }
707
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT anetzobjekt, enetzobjekt FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
754
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT anetzobjekt, enetzobjekt
755
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
708
756
  for (const result of results) {
709
757
  this.leitungAnschlussKnotenIDs.add(result[`anetzobjekt`]);
710
758
  this.leitungAnschlussKnotenIDs.add(result[`enetzobjekt`]);
711
759
  }
712
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
760
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
761
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
713
762
  for (const result of results) {
714
763
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
715
764
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
716
765
  }
717
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
766
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
767
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
718
768
  for (const result of results) {
719
769
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
720
770
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
721
771
  }
722
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
772
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
773
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
723
774
  for (const result of results) {
724
775
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
725
776
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
726
777
  }
727
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
778
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
779
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
728
780
  for (const result of results) {
729
781
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
730
782
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
731
783
  }
732
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
784
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
785
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
733
786
  for (const result of results) {
734
787
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
735
788
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
@@ -740,6 +793,17 @@ class ConverterIntegral7 {
740
793
  }
741
794
  });
742
795
  }
796
+ querySpGeregelteKnoten() {
797
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
798
+ try {
799
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT spgreg_knoten
800
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
801
+ }
802
+ catch (e) {
803
+ console.error("ERROR:" + e);
804
+ }
805
+ });
806
+ }
743
807
  convertGeoRegionen(defaultValuesConfig) {
744
808
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
745
809
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.REGION)) {
@@ -747,12 +811,12 @@ class ConverterIntegral7 {
747
811
  for (const i7Data of result) {
748
812
  const region = new __1.GeographicalRegion(__1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname);
749
813
  this.cimModel.addGeographicalRegion(region);
750
- this.integralID2UUID.set(i7Data.id, region.mrid);
814
+ this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
751
815
  }
752
816
  }
753
817
  else {
754
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.REGION} ist nicht vorhanden.`);
755
- this.logger.info(`Erstelle Standard Georegion ${defaultValuesConfig.GeographicalRegion.name} .`);
818
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.REGION} ist nicht vorhanden.`);
819
+ this.logger.debug(`Erstelle Standard Georegion ${defaultValuesConfig.GeographicalRegion.name} .`);
756
820
  __1.createGeoregion(__1.generateUUID(), defaultValuesConfig.GeographicalRegion.name, undefined, defaultValuesConfig.GeographicalRegion.description, this.cimModel);
757
821
  }
758
822
  });
@@ -770,12 +834,12 @@ class ConverterIntegral7 {
770
834
  subregion.region = region;
771
835
  region.addSubGeographicalRegion(subregion);
772
836
  this.cimModel.addSubGeographicalRegion(subregion);
773
- this.integralID2UUID.set(i7Data.id, subregion.mrid);
837
+ this.addIdMapping(i7Data.id, subregion.mrid, integral_sql_1.Integral7TableNames.SUBREGION);
774
838
  }
775
839
  }
776
840
  else {
777
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SUBREGION} ist nicht vorhanden.`);
778
- this.logger.info(`Erstelle Standard SubGeographicalRegion ${defaultValuesConfig.SubGeographicalRegion.name}.`);
841
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SUBREGION} ist nicht vorhanden.`);
842
+ this.logger.debug(`Erstelle Standard SubGeographicalRegion ${defaultValuesConfig.SubGeographicalRegion.name}.`);
779
843
  const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
780
844
  const subRegion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
781
845
  subRegion.shortName = defaultValuesConfig.SubGeographicalRegion.shortName;
@@ -792,7 +856,7 @@ class ConverterIntegral7 {
792
856
  utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
793
857
  integral_prefix_1.MITTIGER_PUNKT +
794
858
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
795
- const substation = new __1.Substation(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Schluessel);
859
+ const substation = new AMPRIONSubstation_1.AMPRIONSubstation(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Schluessel, i7Data.stationsnummer);
796
860
  this.substationNames.set(substation.mrid, substation.name);
797
861
  let subregion = this.cimModel.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
798
862
  if (!subregion) {
@@ -816,14 +880,14 @@ class ConverterIntegral7 {
816
880
  }
817
881
  this.substationVoltagelevels.set(i7Data.id, []);
818
882
  this.cimModel.addSubstation(substation);
819
- this.integralID2UUID.set(i7Data.id, substation.mrid);
820
- utils_2.putUUIDtoI7Ids(substation.mrid, i7Data.id, this.UUID2IntegralID);
883
+ this.addIdMapping(i7Data.id, substation.mrid, integral_sql_1.Integral7TableNames.STANDORT);
884
+ this.addUUIDMapping(i7Data.id, substation.mrid);
821
885
  const standort = new Standort_1.StandortImpl(i7Data);
822
886
  this.integralStandorte.set(i7Data.id, standort);
823
887
  }
824
888
  }
825
889
  else {
826
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
890
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
827
891
  }
828
892
  });
829
893
  }
@@ -845,6 +909,15 @@ class ConverterIntegral7 {
845
909
  const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
846
910
  const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
847
911
  vl.baseVoltage = baseVoltage;
912
+ if (utils_2.isNumericI7(i7Data.usoll) || (utils_2.isNumericI7(i7Data.umin)) && utils_2.isNumericI7(i7Data.umax)) {
913
+ this.knotenSpannungsband.set(i7Data.id, {
914
+ usoll: i7Data.usoll,
915
+ umin: i7Data.umin,
916
+ umax: i7Data.umax,
917
+ cnUUID: connectivityNode.mrid,
918
+ terminals: []
919
+ });
920
+ }
848
921
  this.eqSpannungsBander.set(vl.mrid, [
849
922
  {
850
923
  usoll: i7Data.usoll,
@@ -864,11 +937,12 @@ class ConverterIntegral7 {
864
937
  connectivityNode.description = i7Schluessel;
865
938
  }
866
939
  else {
867
- this.logger.info(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
940
+ this.logger.debug(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
868
941
  }
869
942
  const psrType = utils_2.getPSRType(this.cimModel, 'Abzweigmast');
870
943
  vl.psrTypeUUID = psrType === null || psrType === void 0 ? void 0 : psrType.mrid;
871
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
944
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SO);
945
+ this.addUUIDMapping(i7Data.id, connectivityNode.mrid);
872
946
  this.knotenSoIDs.push(i7Data.id);
873
947
  this.cimModel.addVoltageLevel(vl);
874
948
  this.cimModel.addConnectivityNode(connectivityNode);
@@ -877,7 +951,7 @@ class ConverterIntegral7 {
877
951
  }
878
952
  }
879
953
  else {
880
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
954
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
881
955
  }
882
956
  });
883
957
  }
@@ -895,16 +969,16 @@ class ConverterIntegral7 {
895
969
  this.stpImpModel.connectivityNodes.set(connectivityNode.mrid, connectivityNode);
896
970
  this.stpImpModel.junctions.set(junction.mrid, junction);
897
971
  this.stpImpModel.stpSchieneJunctionUUIDs.set(i7DataSchiene.id, junction.mrid);
898
- this.integralID2UUID.set(i7DataSchiene.id, connectivityNode.mrid);
972
+ this.addIdMapping(i7DataSchiene.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE);
899
973
  this.stpImpModel.stpSchieneTerminal.set(i7DataSchiene.id, terminal);
900
974
  }
901
975
  catch (e) {
902
- this.logger.info(e);
976
+ this.logger.debug(e);
903
977
  }
904
978
  }
905
979
  }
906
980
  else {
907
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE} ist nicht vorhanden.`);
981
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE} ist nicht vorhanden.`);
908
982
  }
909
983
  resolve(stpSchieneIDs);
910
984
  }));
@@ -928,6 +1002,7 @@ class ConverterIntegral7 {
928
1002
  __1.createConnection(this.cimModel, petersenCoil, connectivityNode, __1.PhaseCode.N);
929
1003
  this.stpImpModel.petersenCoils.set(petersenCoil.mrid, petersenCoil);
930
1004
  this.stpImpModel.junctionUUIDstpImp.set(junctionUUID, petersenCoil);
1005
+ this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
931
1006
  }
932
1007
  else {
933
1008
  const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
@@ -937,19 +1012,20 @@ class ConverterIntegral7 {
937
1012
  __1.createConnection(this.cimModel, groundingImpedance, connectivityNode, __1.PhaseCode.N);
938
1013
  this.stpImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
939
1014
  this.stpImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
1015
+ this.addIdMapping(i7Data.id, groundingImpedance.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
940
1016
  }
941
1017
  }
942
1018
  }
943
1019
  else {
944
- this.logger.info(`Kdrossel Keine Sternpunktschienen vorhanden.`);
1020
+ this.logger.debug(`Kdrossel Keine Sternpunktschienen vorhanden.`);
945
1021
  }
946
1022
  }
947
1023
  else {
948
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ} ist nicht vorhanden.`);
1024
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ} ist nicht vorhanden.`);
949
1025
  }
950
1026
  }
951
1027
  catch (e) {
952
- this.logger.info(e);
1028
+ this.logger.debug(e);
953
1029
  }
954
1030
  finally {
955
1031
  resolve('');
@@ -973,15 +1049,15 @@ class ConverterIntegral7 {
973
1049
  }
974
1050
  }
975
1051
  else {
976
- this.logger.info(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
1052
+ this.logger.debug(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
977
1053
  }
978
1054
  }
979
1055
  else {
980
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
1056
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
981
1057
  }
982
1058
  }
983
1059
  catch (e) {
984
- this.logger.info(e);
1060
+ this.logger.debug(e);
985
1061
  }
986
1062
  finally {
987
1063
  resolve('');
@@ -1000,8 +1076,8 @@ class ConverterIntegral7 {
1000
1076
  const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
1001
1077
  vl.baseVoltageUUID = baseVoltage.mrid;
1002
1078
  this.cimModel.addVoltageLevel(vl);
1003
- this.integralID2UUID.set(i7Data.id, vl.mrid);
1004
- utils_2.putUUIDtoI7Ids(vl.mrid, i7Data.id, this.UUID2IntegralID);
1079
+ this.addIdMapping(i7Data.id, vl.mrid, integral_sql_1.Integral7TableNames.SCHALTANLAGE);
1080
+ this.addUUIDMapping(i7Data.id, vl.mrid);
1005
1081
  this.eqSpannungsBander.set(vl.mrid, []);
1006
1082
  if (substation) {
1007
1083
  vl.substationUUID = substation.mrid;
@@ -1022,12 +1098,12 @@ class ConverterIntegral7 {
1022
1098
  });
1023
1099
  }
1024
1100
  else {
1025
- this.logger.info(`VoltageLevel ${i7Data.id} ${vl.mrid} besitzt keine Umspannanlage.`);
1101
+ this.logger.debug(`VoltageLevel ${i7Data.id} ${vl.mrid} besitzt keine Umspannanlage.`);
1026
1102
  }
1027
1103
  }
1028
1104
  }
1029
1105
  else {
1030
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGE} ist nicht vorhanden.`);
1106
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGE} ist nicht vorhanden.`);
1031
1107
  }
1032
1108
  });
1033
1109
  }
@@ -1037,15 +1113,15 @@ class ConverterIntegral7 {
1037
1113
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenIDs));
1038
1114
  for (const i7Data of result) {
1039
1115
  const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
1040
- this.integralID2UUID.set(i7Data.id, voltageLevel.mrid);
1041
- utils_2.putUUIDtoI7Ids(voltageLevel.mrid, i7Data.id, this.UUID2IntegralID);
1116
+ this.addIdMapping(i7Data.id, voltageLevel.mrid, integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT);
1117
+ this.addUUIDMapping(i7Data.id, voltageLevel.mrid);
1042
1118
  const schaltanlagenabschnitt = new Schaltanlagenabschnitt_1.SchaltanlagenabschnittImpl(i7Data);
1043
1119
  schaltanlagenabschnitt.addSchaltanlage(this.integralSchaltanlagen.get(schaltanlagenabschnitt.schaltanlageid));
1044
1120
  this.integralSchaltanlagenAbschnitte.set(i7Data.id, schaltanlagenabschnitt);
1045
1121
  }
1046
1122
  }
1047
1123
  else {
1048
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
1124
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
1049
1125
  }
1050
1126
  });
1051
1127
  }
@@ -1058,7 +1134,7 @@ class ConverterIntegral7 {
1058
1134
  busbarSection.ipMax = i7Data.limit_ip;
1059
1135
  busbarSection.aggregate = false;
1060
1136
  const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(__1.generateUUID(), 'ssab cn');
1061
- __1.createConnection(this.cimModel, busbarSection, connectivityNode, __1.PhaseCode.ABC, 1);
1137
+ const terminal = __1.createConnection(this.cimModel, busbarSection, connectivityNode, __1.PhaseCode.ABC, 1);
1062
1138
  const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1063
1139
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
1064
1140
  if (voltageLevel) {
@@ -1073,6 +1149,15 @@ class ConverterIntegral7 {
1073
1149
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
1074
1150
  busbarSection.description = i7Schluessel;
1075
1151
  connectivityNode.description = i7Schluessel;
1152
+ if (utils_2.isNumericI7(i7Data.usoll) || (utils_2.isNumericI7(i7Data.umin)) && utils_2.isNumericI7(i7Data.umax)) {
1153
+ this.knotenSpannungsband.set(i7Data.id, {
1154
+ usoll: i7Data.usoll,
1155
+ umin: i7Data.umin,
1156
+ umax: i7Data.umax,
1157
+ cnUUID: connectivityNode.mrid,
1158
+ terminals: [{ uuid: terminal.mrid, connected: terminal.connected }]
1159
+ });
1160
+ }
1076
1161
  const usollValues = this.eqSpannungsBander.get(voltageLevel.mrid);
1077
1162
  if (usollValues) {
1078
1163
  usollValues.push({
@@ -1082,14 +1167,14 @@ class ConverterIntegral7 {
1082
1167
  });
1083
1168
  }
1084
1169
  else {
1085
- this.logger.info('Sammelschiene ' + i7Data.id + ' besitzt kein Objekt für Sollspannungen.');
1170
+ this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt kein Objekt für Sollspannungen.');
1086
1171
  }
1087
1172
  }
1088
1173
  else {
1089
- this.logger.info('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
1174
+ this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
1090
1175
  }
1091
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1092
- utils_2.putUUIDtoI7Ids(busbarSection.mrid, i7Data.id, this.UUID2IntegralID);
1176
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.SAMMELSCHIENE);
1177
+ this.addUUIDMapping(i7Data.id, busbarSection.mrid);
1093
1178
  this.cimModel.addConnectivityNode(connectivityNode);
1094
1179
  this.cimModel.addBusbarSection(busbarSection);
1095
1180
  if (this.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
@@ -1098,7 +1183,7 @@ class ConverterIntegral7 {
1098
1183
  }
1099
1184
  }
1100
1185
  else {
1101
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SAMMELSCHIENE} ist nicht vorhanden.`);
1186
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SAMMELSCHIENE} ist nicht vorhanden.`);
1102
1187
  }
1103
1188
  });
1104
1189
  }
@@ -1117,7 +1202,7 @@ class ConverterIntegral7 {
1117
1202
  sfImpl.saabschnitt.schaltfelder.push(sfImpl);
1118
1203
  }
1119
1204
  else {
1120
- this.logger.info(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1205
+ this.logger.debug(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1121
1206
  }
1122
1207
  const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1123
1208
  if (voltageLevel) {
@@ -1128,14 +1213,14 @@ class ConverterIntegral7 {
1128
1213
  bay.description = i7Schluessel;
1129
1214
  }
1130
1215
  else {
1131
- this.logger.info(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1216
+ this.logger.debug(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1132
1217
  }
1133
1218
  this.cimModel.addBay(bay);
1134
- this.integralID2UUID.set(i7Data.id, bay.mrid);
1219
+ this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.SCHALTFELD);
1135
1220
  }
1136
1221
  }
1137
1222
  else {
1138
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTFELD} ist nicht vorhanden.`);
1223
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTFELD} ist nicht vorhanden.`);
1139
1224
  }
1140
1225
  });
1141
1226
  }
@@ -1156,15 +1241,15 @@ class ConverterIntegral7 {
1156
1241
  bay.description = i7Schluessel;
1157
1242
  }
1158
1243
  else {
1159
- this.logger.info(`Querkupplung ${i7Data.id} besitzt keine Anlage.`);
1244
+ this.logger.debug(`Querkupplung ${i7Data.id} besitzt keine Anlage.`);
1160
1245
  }
1161
1246
  this.querkupplungIDs.push(i7Data.id);
1162
1247
  this.cimModel.addBay(bay);
1163
- this.integralID2UUID.set(i7Data.id, bay.mrid);
1248
+ this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.QUERKUPPLUNG);
1164
1249
  }
1165
1250
  }
1166
1251
  else {
1167
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.QUERKUPPLUNG} ist nicht vorhanden.`);
1252
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.QUERKUPPLUNG} ist nicht vorhanden.`);
1168
1253
  }
1169
1254
  });
1170
1255
  }
@@ -1185,26 +1270,26 @@ class ConverterIntegral7 {
1185
1270
  bay.description = i7Schluessel;
1186
1271
  }
1187
1272
  else {
1188
- this.logger.info(`Laengskupplung ${i7Data.id} besitzt keine Anlage.`);
1273
+ this.logger.debug(`Laengskupplung ${i7Data.id} besitzt keine Anlage.`);
1189
1274
  }
1190
1275
  this.laengskupplungIDs.push(i7Data.id);
1191
- this.integralID2UUID.set(i7Data.id, bay.mrid);
1276
+ this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG);
1192
1277
  this.cimModel.addBay(bay);
1193
1278
  }
1194
1279
  }
1195
1280
  else {
1196
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG} ist nicht vorhanden.`);
1281
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG} ist nicht vorhanden.`);
1197
1282
  }
1198
1283
  });
1199
1284
  }
1200
- convertBelastungen(knotenSfIDs, defaultValuesConfig, conformLoadMapping) {
1285
+ convertBelastungen(knotenSfIDs, defaultValuesConfig, targetClass) {
1201
1286
  return new Promise((resolve) => {
1202
1287
  const querZweigID2LflID = new Map();
1203
1288
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
1204
1289
  this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.BELASTUNG, 0, 0, knotenSfIDs)).then((result) => {
1205
1290
  for (const i7Data of result) {
1206
- const conformLoad = conformLoadMapping ? new ConformLoad_1.ConformLoad(__1.getUUID(i7Data.guid), utils_2.getName(i7Data)) : new __1.EnergyConsumer(__1.getUUID(i7Data.guid), utils_2.getName(i7Data));
1207
- if (conformLoadMapping) {
1291
+ const conformLoad = targetClass === __1.CIM_CLASS_NAMES.ConformLoad ? new ConformLoad_1.ConformLoad(__1.getUUID(i7Data.guid), utils_2.getName(i7Data)) : new __1.EnergyConsumer(__1.getUUID(i7Data.guid), utils_2.getName(i7Data));
1292
+ if (targetClass === __1.CIM_CLASS_NAMES.ConformLoad) {
1208
1293
  const conformLoadGroup = this.cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, __1.CIM_CLASS_NAMES.ConformLoadGroup);
1209
1294
  conformLoad.loadGroupUUID = conformLoadGroup.mrid;
1210
1295
  }
@@ -1215,7 +1300,7 @@ class ConverterIntegral7 {
1215
1300
  conformLoad.q = powerData[1];
1216
1301
  const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1217
1302
  if (connectivityNode) {
1218
- __1.createConnection(this.cimModel, conformLoad, connectivityNode, __1.PhaseCode.ABC);
1303
+ const terminal = __1.createConnection(this.cimModel, conformLoad, connectivityNode, __1.PhaseCode.ABC);
1219
1304
  const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1220
1305
  if (equipmentContainer) {
1221
1306
  conformLoad.equipmentContainerUUID = equipmentContainer.mrid;
@@ -1224,19 +1309,19 @@ class ConverterIntegral7 {
1224
1309
  conformLoad.description = i7Schluesel;
1225
1310
  }
1226
1311
  else {
1227
- this.logger.info(`EnergyConsumer ${i7Data.id} besitzt keinen EquipmentContainer.`);
1312
+ this.logger.debug(`EnergyConsumer ${i7Data.id} besitzt keinen EquipmentContainer.`);
1228
1313
  }
1229
1314
  }
1230
1315
  else {
1231
- this.logger.info(`EnergyConsumer ${i7Data.id} besitzt keinen ConnectivityNode.`);
1316
+ this.logger.debug(`EnergyConsumer ${i7Data.id} besitzt keinen ConnectivityNode.`);
1232
1317
  }
1233
- if (conformLoadMapping) {
1318
+ if (targetClass === __1.CIM_CLASS_NAMES.ConformLoad) {
1234
1319
  this.cimModel.addConformLoad(conformLoad);
1235
1320
  }
1236
1321
  else {
1237
1322
  this.cimModel.addEnergyConsumer(conformLoad);
1238
1323
  }
1239
- this.integralID2UUID.set(i7Data.id, conformLoad.mrid);
1324
+ this.addIdMapping(i7Data.id, conformLoad.mrid, integral_sql_1.Integral7TableNames.BELASTUNG);
1240
1325
  querZweigID2LflID.set(i7Data.flussinfo3p, i7Data.id);
1241
1326
  }
1242
1327
  resolve(querZweigID2LflID);
@@ -1266,45 +1351,151 @@ class ConverterIntegral7 {
1266
1351
  resolve();
1267
1352
  });
1268
1353
  }
1269
- convertEinspeisungen(knotenSfIDs) {
1270
- var _a, _b, _c;
1354
+ convertEinspeisungen(knotenSfIDs, targetClass) {
1271
1355
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1272
1356
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.EINSPEISUNG)) {
1273
1357
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.EINSPEISUNG, 0, 0, knotenSfIDs));
1358
+ switch (targetClass) {
1359
+ case __1.CIM_CLASS_NAMES.EquivalentInjection: {
1360
+ yield this.convertEinspeisungen2EquivalentInjection(result);
1361
+ break;
1362
+ }
1363
+ case __1.CIM_CLASS_NAMES.ExternalNetworkInjection: {
1364
+ yield this.convertEinspeisungen2ExternalNetworkInjection(result);
1365
+ break;
1366
+ }
1367
+ default: {
1368
+ yield this.convertEinspeisungen2EnergySource(result);
1369
+ }
1370
+ }
1371
+ }
1372
+ else {
1373
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1374
+ }
1375
+ });
1376
+ }
1377
+ convertEinspeisungen2EnergySource(result) {
1378
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1379
+ return new Promise((resolve) => {
1380
+ var _a, _b, _c;
1274
1381
  for (const i7Data of result) {
1275
- const energySource = new __1.EnergySource(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1276
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1277
- const prio = i7Data.einspprio;
1278
- const usoll = i7Data.usoll;
1279
- __1.createSvStatus(this.cimModel, inBetrieb, energySource);
1280
- const spannungsgeregelt = utils_2.convertToBooleanI7(i7Data.spannungsgeregelt);
1281
- const powerData = utils_2.getActiveReactivePower(i7Data);
1282
- energySource.activePower = powerData[0];
1283
- energySource.reactivePower = powerData[1];
1284
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1285
- if (connectivityNode) {
1286
- __1.createConnection(this.cimModel, energySource, connectivityNode, __1.PhaseCode.ABC);
1287
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1288
- if (equipmentContainer) {
1289
- energySource.nominalVoltage = (_c = (_b = (_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.baseVoltage) === null || _b === void 0 ? void 0 : _b.nominalVoltage) === null || _c === void 0 ? void 0 : _c.value;
1290
- energySource.equipmentContainerUUID = equipmentContainer.mrid;
1291
- const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
1292
- energySource.description = i7Schluesel;
1382
+ try {
1383
+ const energySource = new __1.EnergySource(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1384
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1385
+ const prio = i7Data.einspprio;
1386
+ const usoll = i7Data.usoll;
1387
+ __1.createSvStatus(this.cimModel, inBetrieb, energySource);
1388
+ const spannungsgeregelt = utils_2.convertToBooleanI7(i7Data.spannungsgeregelt);
1389
+ const powerData = utils_2.getActiveReactivePower(i7Data);
1390
+ energySource.activePower = powerData[0];
1391
+ energySource.reactivePower = powerData[1];
1392
+ const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1393
+ if (connectivityNode) {
1394
+ __1.createConnection(this.cimModel, energySource, connectivityNode, __1.PhaseCode.ABC);
1395
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1396
+ if (equipmentContainer) {
1397
+ energySource.nominalVoltage = (_c = (_b = (_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.baseVoltage) === null || _b === void 0 ? void 0 : _b.nominalVoltage) === null || _c === void 0 ? void 0 : _c.value;
1398
+ energySource.equipmentContainerUUID = equipmentContainer.mrid;
1399
+ const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
1400
+ energySource.description = i7Schluesel;
1401
+ }
1402
+ else {
1403
+ this.logger.debug(`EnergySource ${i7Data.id} besitzt keinen EquipmentContainer.`);
1404
+ }
1293
1405
  }
1294
1406
  else {
1295
- this.logger.info(`EnergySource ${i7Data.id} besitzt keinen EquipmentContainer.`);
1407
+ this.logger.debug(`EnergySource ${i7Data.id} besitzt keinen ConnectivityNode.`);
1296
1408
  }
1409
+ this.cimModel.addEnergySource(energySource);
1410
+ this.addIdMapping(i7Data.id, energySource.mrid, integral_sql_1.Integral7TableNames.EINSPEISUNG);
1297
1411
  }
1298
- else {
1299
- this.logger.info(`EnergySource ${i7Data.id} besitzt keinen ConnectivityNode.`);
1412
+ catch (err) {
1413
+ this.logger.error(`Err convertEinspeisungen2EnergySource ${i7Data.id} ${err}`);
1300
1414
  }
1301
- this.cimModel.addEnergySource(energySource);
1302
- this.integralID2UUID.set(i7Data.id, energySource.mrid);
1303
1415
  }
1304
- }
1305
- else {
1306
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1307
- }
1416
+ resolve();
1417
+ });
1418
+ });
1419
+ }
1420
+ convertEinspeisungen2EquivalentInjection(result) {
1421
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1422
+ return new Promise((resolve) => {
1423
+ for (const i7Data of result) {
1424
+ try {
1425
+ const equivalentInjection = new EquivalentInjection_1.EquivalentInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1426
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1427
+ const prio = i7Data.einspprio;
1428
+ const usoll = i7Data.usoll;
1429
+ __1.createSvStatus(this.cimModel, inBetrieb, equivalentInjection);
1430
+ const powerData = utils_2.getActiveReactivePower(i7Data);
1431
+ equivalentInjection.p = powerData[0];
1432
+ equivalentInjection.q = powerData[1];
1433
+ const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1434
+ if (connectivityNode) {
1435
+ __1.createConnection(this.cimModel, equivalentInjection, connectivityNode, __1.PhaseCode.ABC);
1436
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1437
+ if (equipmentContainer) {
1438
+ equivalentInjection.equipmentContainerUUID = equipmentContainer.mrid;
1439
+ const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
1440
+ equivalentInjection.description = i7Schluesel;
1441
+ }
1442
+ else {
1443
+ this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1444
+ }
1445
+ }
1446
+ else {
1447
+ this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1448
+ }
1449
+ this.cimModel.addEquivalentInjection(equivalentInjection);
1450
+ this.addIdMapping(i7Data.id, equivalentInjection.mrid, integral_sql_1.Integral7TableNames.EINSPEISUNG);
1451
+ }
1452
+ catch (err) {
1453
+ this.logger.error(`Err convertEinspeisungen2EquivalentInjection ${i7Data.id} ${err}`);
1454
+ }
1455
+ }
1456
+ resolve();
1457
+ });
1458
+ });
1459
+ }
1460
+ convertEinspeisungen2ExternalNetworkInjection(result) {
1461
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1462
+ return new Promise((resolve) => {
1463
+ for (const i7Data of result) {
1464
+ try {
1465
+ const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1466
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1467
+ const prio = i7Data.einspprio;
1468
+ externalNetworkInjection.referencePriority = prio;
1469
+ const usoll = i7Data.usoll;
1470
+ __1.createSvStatus(this.cimModel, inBetrieb, externalNetworkInjection);
1471
+ const powerData = utils_2.getActiveReactivePower(i7Data);
1472
+ externalNetworkInjection.p = powerData[0];
1473
+ externalNetworkInjection.q = powerData[1];
1474
+ const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1475
+ if (connectivityNode) {
1476
+ __1.createConnection(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
1477
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1478
+ if (equipmentContainer) {
1479
+ externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
1480
+ const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
1481
+ externalNetworkInjection.description = i7Schluesel;
1482
+ }
1483
+ else {
1484
+ this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1485
+ }
1486
+ }
1487
+ else {
1488
+ this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1489
+ }
1490
+ this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
1491
+ this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
1492
+ }
1493
+ catch (err) {
1494
+ this.logger.error(`Err convertEinspeisungen2EquivalentInjection ${i7Data.id} ${err}`);
1495
+ }
1496
+ }
1497
+ resolve();
1498
+ });
1308
1499
  });
1309
1500
  }
1310
1501
  convertGeneratoren(knotenSfIDs, energyTypesConfig) {
@@ -1312,21 +1503,38 @@ class ConverterIntegral7 {
1312
1503
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.GENERATOR)) {
1313
1504
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.GENERATOR, 0, 0, knotenSfIDs));
1314
1505
  for (const i7Data of result) {
1315
- const synchronousMachine = new __1.SynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1506
+ const synchronousMachine = new __1.SynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Data.nameprimaertyp);
1316
1507
  synchronousMachine.type = __1.SynchronousMachineKind.generator;
1317
1508
  synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1318
1509
  synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
1510
+ const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
1319
1511
  const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
1320
1512
  const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
1321
1513
  const maxQvonPmax = utils_2.isNumericI7(i7Data.qmax_von_pmax) ? utils_2.convertToNumberI7(i7Data.qmax_von_pmax) : undefined;
1322
1514
  const minQvonPmin = utils_2.isNumericI7(i7Data.qmin_von_pmin) ? utils_2.convertToNumberI7(i7Data.qmin_von_pmin) : undefined;
1323
1515
  synchronousMachine.maxQ = maxQ ? maxQ : maxQvonPmax;
1324
1516
  synchronousMachine.minQ = minQ ? minQ : minQvonPmin;
1517
+ const powerData = utils_2.getActiveReactivePower(i7Data);
1518
+ const p = powerData[0];
1519
+ const q = powerData[1];
1520
+ synchronousMachine.p = p;
1521
+ synchronousMachine.q = q;
1325
1522
  const sr = utils_2.isNumericI7(i7Data.sr) ? utils_2.convertToNumberI7(i7Data.sr) : undefined;
1326
- synchronousMachine.ratedS = sr;
1523
+ if (sr && sr >= 0) {
1524
+ synchronousMachine.ratedS = sr;
1525
+ }
1526
+ else {
1527
+ synchronousMachine.ratedS = Math.sqrt(Math.pow(maxP, 2) + Math.pow(maxQvonPmax, 2));
1528
+ }
1529
+ if (!utils_2.isNumericI7(synchronousMachine.ratedS)) {
1530
+ console.log();
1531
+ }
1327
1532
  const ur = utils_2.isNumericI7(i7Data.ur) ? utils_2.convertToNumberI7(i7Data.ur) : undefined;
1328
- synchronousMachine.ratedU = ur;
1533
+ const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
1534
+ synchronousMachine.ratedU = usoll ? usoll : ur;
1329
1535
  synchronousMachine.aggregate = true;
1536
+ synchronousMachine.ratedPowerFactor = utils_2.isNumericI7(i7Data.cosphir) ? utils_2.convertToNumberI7(i7Data.cosphir) : undefined;
1537
+ synchronousMachine.r = utils_2.isNumericI7(i7Data.rg) ? utils_2.convertToNumberI7(i7Data.rg) : undefined;
1330
1538
  const reactiveCapabilityCurve = new __1.ReactiveCapabilityCurve(__1.generateUUID(), 'CurveData');
1331
1539
  reactiveCapabilityCurve.curveStyle = __1.CurveStyle.straightLineYValues;
1332
1540
  reactiveCapabilityCurve.xUnit = __1.UnitSymbol.W;
@@ -1348,14 +1556,16 @@ class ConverterIntegral7 {
1348
1556
  synchronousMachine.initialReactiveCapabilityCurveUUID = reactiveCapabilityCurve.mrid;
1349
1557
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1350
1558
  __1.createSvStatus(this.cimModel, inBetrieb, synchronousMachine);
1351
- const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Gen ${i7Data.id}`);
1559
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Gen_${i7Data.id}`);
1560
+ regulatingControl.enabled = inBetrieb;
1561
+ regulatingControl.targetValue = usoll;
1352
1562
  switch (i7Data.spannungsgeregelt) {
1353
1563
  case 1: {
1354
1564
  regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1355
1565
  break;
1356
1566
  }
1357
1567
  default: {
1358
- regulatingControl.mode = __1.RegulatingControlModeKind.timeScheduled;
1568
+ regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1359
1569
  }
1360
1570
  }
1361
1571
  synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
@@ -1396,6 +1606,11 @@ class ConverterIntegral7 {
1396
1606
  generatingUnit = new __1.NuclearGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1397
1607
  break;
1398
1608
  }
1609
+ case 'HydroGeneratingUnit': {
1610
+ generatingUnit = new __1.HydroGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1611
+ generatingUnit.energyConversionCapability = __1.HydroEnergyConversionKind.pumpAndGenerator;
1612
+ break;
1613
+ }
1399
1614
  }
1400
1615
  }
1401
1616
  if (!generatingUnit) {
@@ -1405,7 +1620,11 @@ class ConverterIntegral7 {
1405
1620
  generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
1406
1621
  generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
1407
1622
  generatingUnit.minOperatingP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
1408
- generatingUnit.nominalP = synchronousMachine.ratedS;
1623
+ generatingUnit.nominalP = generatingUnit.maxOperatingP;
1624
+ const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
1625
+ const fn = 50;
1626
+ const pn = generatingUnit.maxOperatingP;
1627
+ generatingUnit.governorSCD = (utils_2.isNumericI7(kr) && utils_2.isNumericI7(generatingUnit.nominalP)) ? utils_2.calculateSigma(fn, pn, kr) : undefined;
1409
1628
  generatingUnit.addRotatingMachine(synchronousMachine);
1410
1629
  synchronousMachine.generatingUnitUUID = generatingUnit.mrid;
1411
1630
  const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
@@ -1423,20 +1642,35 @@ class ConverterIntegral7 {
1423
1642
  generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
1424
1643
  }
1425
1644
  else {
1426
- this.logger.info(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1645
+ this.logger.debug(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1427
1646
  }
1428
1647
  }
1429
1648
  else {
1430
- this.logger.info(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1431
- }
1432
- }
1433
- else {
1434
- this.logger.info(`Generator ${i7Data.id} besitzt keinen ConnectivityNode/Terminal Instanz.`);
1435
- }
1649
+ this.logger.debug(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1650
+ }
1651
+ }
1652
+ else {
1653
+ this.logger.debug(`Generator ${i7Data.id} besitzt keinen ConnectivityNode/Terminal Instanz.`);
1654
+ }
1655
+ const smtcr = new SynchronousMachineTimeConstantReactance_1.SynchronousMachineTimeConstantReactance(__1.generateUUID(), `smtcr_${synchronousMachine.name}`);
1656
+ smtcr.enabled = utils_2.convertToBooleanI7(i7Data.betrieb);
1657
+ smtcr.tpdo = utils_2.isNumericI7(i7Data.td1s) ? utils_2.convertToNumberI7(i7Data.td1s) : undefined;
1658
+ smtcr.tppdo = utils_2.isNumericI7(i7Data.td2s) ? utils_2.convertToNumberI7(i7Data.td2s) : undefined;
1659
+ smtcr.tpqo = utils_2.isNumericI7(i7Data.tq1s) ? utils_2.convertToNumberI7(i7Data.tq1s) : undefined;
1660
+ smtcr.tppqo = utils_2.isNumericI7(i7Data.tq2s) ? utils_2.convertToNumberI7(i7Data.tq2s) : undefined;
1661
+ smtcr.xDirectSync = utils_2.isNumericI7(i7Data.xdu) ? utils_2.convertToNumberI7(i7Data.xdu) : undefined;
1662
+ smtcr.xDirectTrans = utils_2.isNumericI7(i7Data.xdu1s) ? utils_2.convertToNumberI7(i7Data.xdu1s) : undefined;
1663
+ smtcr.xDirectSubtrans = utils_2.isNumericI7(i7Data.xdu2s) ? utils_2.convertToNumberI7(i7Data.xdu2s) : undefined;
1664
+ smtcr.xQuadSync = utils_2.isNumericI7(i7Data.xqu) ? utils_2.convertToNumberI7(i7Data.xqu) : undefined;
1665
+ smtcr.xQuadTrans = utils_2.isNumericI7(i7Data.xqu1s) ? utils_2.convertToNumberI7(i7Data.xqu1s) : undefined;
1666
+ smtcr.xQuadSubtrans = utils_2.isNumericI7(i7Data.xqu2s) ? utils_2.convertToNumberI7(i7Data.xqu2s) : undefined;
1667
+ smtcr.synchronousMachine = synchronousMachine;
1668
+ synchronousMachine.synchronousMachineDynamics = smtcr;
1436
1669
  this.cimModel.addRegulatingControl(regulatingControl);
1437
1670
  this.cimModel.addGeneratingUnit(generatingUnit);
1438
1671
  this.cimModel.addSynchronousMachine(synchronousMachine);
1439
- this.integralID2UUID.set(i7Data.id, synchronousMachine.mrid);
1672
+ this.cimModel.addSynchronousMachineTimeConstantReactance(smtcr);
1673
+ this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.GENERATOR);
1440
1674
  }
1441
1675
  }
1442
1676
  });
@@ -1450,6 +1684,7 @@ class ConverterIntegral7 {
1450
1684
  synchronousMachine.type = __1.SynchronousMachineKind.generator;
1451
1685
  synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1452
1686
  synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
1687
+ const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
1453
1688
  const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
1454
1689
  const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
1455
1690
  synchronousMachine.maxQ = maxQ;
@@ -1518,7 +1753,11 @@ class ConverterIntegral7 {
1518
1753
  generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
1519
1754
  generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
1520
1755
  generatingUnit.minOperatingP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
1521
- generatingUnit.nominalP = synchronousMachine.ratedS;
1756
+ generatingUnit.nominalP = generatingUnit.maxOperatingP;
1757
+ const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
1758
+ const fn = 50;
1759
+ const pn = generatingUnit.maxOperatingP;
1760
+ generatingUnit.governorSCD = (utils_2.isNumericI7(kr) && utils_2.isNumericI7(generatingUnit.nominalP)) ? utils_2.calculateSigma(fn, pn, kr) : undefined;
1522
1761
  generatingUnit.addRotatingMachine(synchronousMachine);
1523
1762
  synchronousMachine.generatingUnitUUID = generatingUnit.mrid;
1524
1763
  const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
@@ -1536,20 +1775,20 @@ class ConverterIntegral7 {
1536
1775
  generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
1537
1776
  }
1538
1777
  else {
1539
- this.logger.info(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1778
+ this.logger.debug(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1540
1779
  }
1541
1780
  }
1542
1781
  else {
1543
- this.logger.info(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1782
+ this.logger.debug(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1544
1783
  }
1545
1784
  }
1546
1785
  else {
1547
- this.logger.info(`Kraftwerksblock/SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode/Terminal`);
1786
+ this.logger.debug(`Kraftwerksblock/SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode/Terminal`);
1548
1787
  }
1549
1788
  this.cimModel.addRegulatingControl(regulatingControl);
1550
1789
  this.cimModel.addGeneratingUnit(generatingUnit);
1551
1790
  this.cimModel.addSynchronousMachine(synchronousMachine);
1552
- this.integralID2UUID.set(i7Data.id, synchronousMachine.mrid);
1791
+ this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.KWBLOCK);
1553
1792
  }
1554
1793
  }
1555
1794
  });
@@ -1561,7 +1800,7 @@ class ConverterIntegral7 {
1561
1800
  for (const i7Data of result) {
1562
1801
  const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1563
1802
  const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
1564
- const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
1803
+ const kr = 0;
1565
1804
  externalNetworkInjection.governorSCD = kr;
1566
1805
  const prio = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
1567
1806
  externalNetworkInjection.referencePriority = prio;
@@ -1579,18 +1818,18 @@ class ConverterIntegral7 {
1579
1818
  externalNetworkInjection.description = i7Schluesel;
1580
1819
  }
1581
1820
  else {
1582
- this.logger.info(`ExternalNetworkInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1821
+ this.logger.debug(`ExternalNetworkInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1583
1822
  }
1584
1823
  }
1585
1824
  else {
1586
- this.logger.info(`ExternalNetworkInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1825
+ this.logger.debug(`ExternalNetworkInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1587
1826
  }
1588
1827
  this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
1589
- this.integralID2UUID.set(i7Data.id, externalNetworkInjection.mrid);
1828
+ this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG);
1590
1829
  }
1591
1830
  }
1592
1831
  else {
1593
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1832
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1594
1833
  }
1595
1834
  });
1596
1835
  }
@@ -1611,11 +1850,11 @@ class ConverterIntegral7 {
1611
1850
  statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1612
1851
  }
1613
1852
  else {
1614
- this.logger.info(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
1853
+ this.logger.debug(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
1615
1854
  }
1616
1855
  }
1617
1856
  else {
1618
- this.logger.info(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
1857
+ this.logger.debug(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
1619
1858
  }
1620
1859
  const regulatingControl = utils_2.createRegulatingControl(`RG_Statcom ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1621
1860
  const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
@@ -1630,15 +1869,15 @@ class ConverterIntegral7 {
1630
1869
  regulatingControl.terminalUUID = terminal.mrid;
1631
1870
  }
1632
1871
  else {
1633
- this.logger.info(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1634
- this.logger.info(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1872
+ this.logger.debug(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1873
+ this.logger.debug(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1635
1874
  }
1636
1875
  this.cimModel.addStaticVarCompensator(statVarCom);
1637
- this.integralID2UUID.set(i7Data.id, statVarCom.mrid);
1876
+ this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.STATCOM);
1638
1877
  }
1639
1878
  }
1640
1879
  else {
1641
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1880
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1642
1881
  }
1643
1882
  });
1644
1883
  }
@@ -1659,11 +1898,11 @@ class ConverterIntegral7 {
1659
1898
  statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1660
1899
  }
1661
1900
  else {
1662
- this.logger.info(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
1901
+ this.logger.debug(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
1663
1902
  }
1664
1903
  }
1665
1904
  else {
1666
- this.logger.info(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
1905
+ this.logger.debug(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
1667
1906
  }
1668
1907
  const regulatingControl = utils_2.createRegulatingControl(`RG_SVC ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1669
1908
  const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
@@ -1678,35 +1917,35 @@ class ConverterIntegral7 {
1678
1917
  regulatingControl.terminalUUID = terminal.mrid;
1679
1918
  }
1680
1919
  else {
1681
- this.logger.info(`SVC RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1920
+ this.logger.debug(`SVC RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1682
1921
  }
1683
1922
  this.cimModel.addStaticVarCompensator(statVarCom);
1684
- this.integralID2UUID.set(i7Data.id, statVarCom.mrid);
1923
+ this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.SVC);
1685
1924
  }
1686
1925
  }
1687
1926
  else {
1688
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1927
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1689
1928
  }
1690
1929
  });
1691
1930
  }
1692
1931
  addTerminal2StatcomRegulatingControl(i7TrafoID, powerTransformer) {
1693
- var _a;
1932
+ var _a, _b;
1694
1933
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1695
1934
  if (this.statcomRegulatingControls.has(i7TrafoID)) {
1696
- if (powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds.length) {
1935
+ if ((_a = powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds) === null || _a === void 0 ? void 0 : _a.length) {
1697
1936
  let voltage = 0;
1698
1937
  let powertransfomerEnd = powerTransformer.powerTransformerEnds[0];
1699
1938
  for (const pEnd of powerTransformer.powerTransformerEnds) {
1700
1939
  const baseVoltage = this.cimModel.baseVoltages.get(pEnd.getBaseVoltageUUID());
1701
1940
  if (!baseVoltage)
1702
1941
  continue;
1703
- const v = (_a = baseVoltage.nominalVoltage) === null || _a === void 0 ? void 0 : _a.value;
1942
+ const v = (_b = baseVoltage.nominalVoltage) === null || _b === void 0 ? void 0 : _b.value;
1704
1943
  if (v > voltage) {
1705
1944
  voltage = v;
1706
1945
  powertransfomerEnd = pEnd;
1707
1946
  }
1708
1947
  }
1709
- const terminalUUID = powertransfomerEnd.terminalUUID;
1948
+ const terminalUUID = powertransfomerEnd.getTerminalUUID();
1710
1949
  const regulatingControl = this.statcomRegulatingControls.get(i7TrafoID);
1711
1950
  regulatingControl.terminalUUID = terminalUUID;
1712
1951
  this.statcomRegulatingControls.delete(i7TrafoID);
@@ -1732,11 +1971,11 @@ class ConverterIntegral7 {
1732
1971
  }
1733
1972
  }
1734
1973
  else {
1735
- this.logger.info(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
1974
+ this.logger.debug(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
1736
1975
  }
1737
1976
  this.knotenSfIDs.push(i7Data.id);
1738
1977
  this.cimModel.addConnectivityNode(connectivityNode);
1739
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1978
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SF);
1740
1979
  const connectivityNodeContainer = this.cimModel.getObject(connectivityNode.connectivityNodeContainerUUID);
1741
1980
  if (connectivityNodeContainer) {
1742
1981
  let baseVoltage;
@@ -1752,7 +1991,7 @@ class ConverterIntegral7 {
1752
1991
  }
1753
1992
  }
1754
1993
  else {
1755
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SF} ist nicht vorhanden.`);
1994
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SF} ist nicht vorhanden.`);
1756
1995
  }
1757
1996
  });
1758
1997
  }
@@ -1767,14 +2006,14 @@ class ConverterIntegral7 {
1767
2006
  connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1768
2007
  }
1769
2008
  else {
1770
- this.logger.info(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
2009
+ this.logger.debug(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
1771
2010
  }
1772
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
2011
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_KF);
1773
2012
  this.cimModel.addConnectivityNode(connectivityNode);
1774
2013
  }
1775
2014
  }
1776
2015
  else {
1777
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
2016
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
1778
2017
  }
1779
2018
  });
1780
2019
  }
@@ -1789,14 +2028,14 @@ class ConverterIntegral7 {
1789
2028
  connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1790
2029
  }
1791
2030
  else {
1792
- this.logger.info(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
2031
+ this.logger.debug(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
1793
2032
  }
1794
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
2033
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_LK);
1795
2034
  this.cimModel.addConnectivityNode(connectivityNode);
1796
2035
  }
1797
2036
  }
1798
2037
  else {
1799
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_LK} ist nicht vorhanden.`);
2038
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_LK} ist nicht vorhanden.`);
1800
2039
  }
1801
2040
  });
1802
2041
  }
@@ -1808,8 +2047,8 @@ class ConverterIntegral7 {
1808
2047
  const terminal = new __1.Terminal(__1.generateUUID(), 'T_Schlaufe', String(i7Data.id));
1809
2048
  terminal.connected = utils_2.convertToBooleanI7(i7Data.schaltzustand);
1810
2049
  terminal.phases = __1.PhaseCode.ABC;
1811
- this.integralID2UUID.set(i7Data.id, terminal.mrid);
1812
- this.integralID2UUID.set(i7Data.knotenzw, terminal.mrid);
2050
+ this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
2051
+ this.addIdMapping(i7Data.knotenzw, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
1813
2052
  this.inmemoryObjects.set(i7Data.id, terminal);
1814
2053
  this.inmemoryObjects.set(i7Data.knotenzw, terminal);
1815
2054
  const eknotenUUID = this.integralID2UUID.get(i7Data.eknoten);
@@ -1819,12 +2058,12 @@ class ConverterIntegral7 {
1819
2058
  this.knotenSpannung.set(connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.mrid, connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getBaseVoltage());
1820
2059
  }
1821
2060
  else {
1822
- this.logger.info(`Schlaufe ${i7Data.id} besitzt kein KnotenSO).`);
2061
+ this.logger.debug(`Schlaufe ${i7Data.id} besitzt kein KnotenSO).`);
1823
2062
  }
1824
2063
  }
1825
2064
  }
1826
2065
  else {
1827
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHLAUFE} ist nicht vorhanden.`);
2066
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHLAUFE} ist nicht vorhanden.`);
1828
2067
  }
1829
2068
  });
1830
2069
  }
@@ -1833,19 +2072,19 @@ class ConverterIntegral7 {
1833
2072
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT)) {
1834
2073
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_STANDORT, 0, 0, standortIDs));
1835
2074
  for (const i7Data of result) {
1836
- const standortNsgImpl = new StandortNsg_1.StandortNsgImpl(i7Data);
1837
- this.integralNsgStandort.set(i7Data.id, standortNsgImpl);
1838
- if (this.integralStandorte.has(standortNsgImpl.standortid)) {
1839
- standortNsgImpl.standort = this.integralStandorte.get(standortNsgImpl.standortid);
1840
- standortNsgImpl.standort.standortNsg = standortNsgImpl;
1841
- }
1842
- else {
1843
- this.logger.info(`standortNsg/DiagramObject ${standortNsgImpl.id} hat keine Standort-Instanz.`);
1844
- }
2075
+ const schema = {
2076
+ netzId: i7Data.standort,
2077
+ variantenNr: i7Data.variantennr,
2078
+ schemaId: i7Data.id,
2079
+ schemaIdParent: undefined,
2080
+ x: i7Data.xrel,
2081
+ y: i7Data.yrel
2082
+ };
2083
+ this.schemaIDSchemastandort.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
1845
2084
  }
1846
2085
  }
1847
2086
  else {
1848
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
2087
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
1849
2088
  }
1850
2089
  });
1851
2090
  }
@@ -1854,42 +2093,36 @@ class ConverterIntegral7 {
1854
2093
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO)) {
1855
2094
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_KNOTEN_SO, 0, 0, knotenSoIDs));
1856
2095
  for (const i7Data of result) {
1857
- const knotenSoNsgImpl = new KnotenSoNsg_1.KnotenSoNsg(i7Data);
1858
- this.integralNsgKnotenSo.set(i7Data.id, knotenSoNsgImpl);
1859
- if (this.integralKnotenSo.has(knotenSoNsgImpl.knotensoid)) {
1860
- knotenSoNsgImpl.knotenso = this.integralKnotenSo.get(knotenSoNsgImpl.knotensoid);
1861
- knotenSoNsgImpl.knotenso.knotenSoNsg = knotenSoNsgImpl;
1862
- }
1863
- const diagramObject = new __1.DiagramObject(__1.getUUID(i7Data.guid), 'Abzweig');
2096
+ const diagramUUID = this.i7SchemaID2UUID.get(i7Data.variantennr);
2097
+ const schemaStandordObject = I7Schema_1.getSchemaValue(i7Data.variantennr, i7Data.nsgso, this.schemaIDSchemastandort);
2098
+ if (!diagramUUID || !schemaStandordObject) {
2099
+ continue;
2100
+ }
2101
+ const diagramObject = new __1.DiagramObject(__1.generateUUID(), 'Abzweig');
2102
+ diagramObject.diagramUUID = diagramUUID;
2103
+ if (!this.cimModel.diagrams.has(diagramUUID)) {
2104
+ const d = this.cimModel.getObject(diagramUUID);
2105
+ console.log();
2106
+ }
2107
+ diagramObject.setDiagram(this.cimModel.getDiagram(diagramUUID));
2108
+ const diagramObjectPoint = new __1.DiagramObjectPoint(schemaStandordObject.x + i7Data.xrel, schemaStandordObject.y + i7Data.yrel);
2109
+ diagramObjectPoint.mrid = __1.generateUUID();
2110
+ diagramObjectPoint.diagramObject = diagramObject;
2111
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1864
2112
  this.cimModel.addDiagramObject(diagramObject);
1865
- const nsgStandortData = this.integralNsgStandort.get(i7Data.nsgso);
1866
- if (nsgStandortData) {
1867
- const diagramObjectPoint = new __1.DiagramObjectPoint(nsgStandortData.xrel + i7Data.xrel, nsgStandortData.yrel + i7Data.yrel);
1868
- diagramObjectPoint.mrid = __1.generateUUID();
1869
- diagramObjectPoint.diagramObject = diagramObject;
1870
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1871
- const cnUUID = this.integralID2UUID.get(i7Data.knotenso);
1872
- const cn = this.cimModel.getObject(cnUUID);
1873
- if (cn) {
1874
- diagramObject.identifiedObjectUUID = cn.mrid;
1875
- }
1876
- else {
1877
- this.logger.info(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
1878
- }
1879
- const diagramUUID = this.integralID2UUID.get(i7Data.variantennr);
1880
- const diagram = this.cimModel.getDiagram(diagramUUID);
1881
- if (diagram) {
1882
- diagramObject.diagramUUID = diagram.mrid;
1883
- }
1884
- else {
1885
- }
2113
+ this.cimModel.addDiagramObjectPoint(diagramObjectPoint);
2114
+ const cnUUID = this.integralID2UUID.get(i7Data.knotenso);
2115
+ const cn = this.cimModel.getObject(cnUUID);
2116
+ if (cn) {
2117
+ diagramObject.identifiedObjectUUID = cn.mrid;
1886
2118
  }
1887
2119
  else {
2120
+ this.logger.debug(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
1888
2121
  }
1889
2122
  }
1890
2123
  }
1891
2124
  else {
1892
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
2125
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1893
2126
  }
1894
2127
  });
1895
2128
  }
@@ -1898,26 +2131,19 @@ class ConverterIntegral7 {
1898
2131
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE)) {
1899
2132
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, 0, 0, saIDs));
1900
2133
  for (const i7Data of result) {
1901
- const saNsgImpl = new SchaltanlageNSG_1.SchaltanlageNsgImpl(i7Data);
1902
- this.integralNsgSchaltanlage.set(i7Data.id, saNsgImpl);
1903
- if (this.integralSchaltanlagen.has(saNsgImpl.schaltanlageid)) {
1904
- saNsgImpl.schaltanlage = this.integralSchaltanlagen.get(saNsgImpl.schaltanlageid);
1905
- saNsgImpl.schaltanlage.schaltanlageNsg = saNsgImpl;
1906
- }
1907
- else {
1908
- this.logger.info(`SchaltanlageNSG ${i7Data.id} hat keine PSR Instanz.`);
1909
- }
1910
- if (this.integralNsgStandort.has(saNsgImpl.nsgsoid)) {
1911
- saNsgImpl.nsgso = this.integralNsgStandort.get(saNsgImpl.nsgsoid);
1912
- saNsgImpl.nsgso.schaltanlagenNsg.push(saNsgImpl);
1913
- }
1914
- else {
1915
- this.logger.info(`SchaltanlageNSG ${i7Data.id} hat keine standortNsg Instanz.`);
1916
- }
2134
+ const schema = {
2135
+ netzId: i7Data.schaltanlage,
2136
+ variantenNr: i7Data.variantennr,
2137
+ schemaId: i7Data.id,
2138
+ schemaIdParent: i7Data.nsgso,
2139
+ x: i7Data.xrel,
2140
+ y: i7Data.yrel
2141
+ };
2142
+ this.schemaIDSchaltanlage.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
1917
2143
  }
1918
2144
  }
1919
2145
  else {
1920
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
2146
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
1921
2147
  }
1922
2148
  });
1923
2149
  }
@@ -1926,160 +2152,19 @@ class ConverterIntegral7 {
1926
2152
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT)) {
1927
2153
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenabschnittIDs));
1928
2154
  for (const i7Data of result) {
1929
- const saabNsgImpl = new SchaltanlagenabschnittNsg_1.SchaltanlagenabschnittNsg(i7Data);
1930
- this.integralNsgSchaltanlagenabschnitt.set(i7Data.id, saabNsgImpl);
1931
- if (this.integralSchaltanlagenAbschnitte.has(saabNsgImpl.saabschnittid)) {
1932
- saabNsgImpl.saabschnitt = this.integralSchaltanlagenAbschnitte.get(saabNsgImpl.saabschnittid);
1933
- saabNsgImpl.saabschnitt.schaltanlagenabschnittNsg = saabNsgImpl;
1934
- }
1935
- else {
1936
- this.logger.info(`NSG Schaltanlagenabschnitt hat keinen PSR-Abschnitt`);
1937
- }
1938
- if (saabNsgImpl.saabschnitt && saabNsgImpl.saabschnitt.schaltanlage) {
1939
- if (saabNsgImpl.saabschnitt.schaltanlage.schaltanlageNsg) {
1940
- saabNsgImpl.saabschnitt.schaltanlage.schaltanlageNsg.saabNsg.push(saabNsgImpl);
1941
- saabNsgImpl.nsgsa = saabNsgImpl.saabschnitt.schaltanlage.schaltanlageNsg;
1942
- }
1943
- }
1944
- }
1945
- }
1946
- else {
1947
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1948
- }
1949
- });
1950
- }
1951
- convertSchemaSammelschienenAbschnitte() {
1952
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1953
- for (const sa of this.integralSchaltanlagen.values()) {
1954
- const totalSlots = sa.getTotalSlots();
1955
- if (sa.schaltanlageNsg) {
1956
- const saAusrichtung = sa.schaltanlageNsg.ausrichtung;
1957
- for (const saab of sa.saab) {
1958
- for (const ssab of saab.ssab) {
1959
- const cnUUID = this.integralID2UUID.get(ssab.id);
1960
- const connectivityNode = this.cimModel.getConnectivityNode(cnUUID);
1961
- const standortPoint = sa.standort.getPoint();
1962
- const saPoint = sa.getPoint();
1963
- const ssabPoint = standortPoint.translate(saPoint.x, saPoint.y);
1964
- const offset = saab.schaltanlagenabschnittNsg.nslots;
1965
- const laenge = saab.schaltanlagenabschnittNsg.laenge;
1966
- const delta = sa.getDelta(saab);
1967
- const hoehe = saab.ssab.length * 8;
1968
- const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'SSAB Diagram');
1969
- const points = [];
1970
- if (saAusrichtung === 0) {
1971
- points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
1972
- points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16) + (laenge * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
1973
- }
1974
- else if (saAusrichtung === 1) {
1975
- points.push(new Point_1.Point(ssabPoint.x + 4 - hoehe + ssab.pos * 8 + delta, ssabPoint.y - 8 + (offset * 16)));
1976
- points.push(new Point_1.Point(ssabPoint.x + 4 - hoehe + ssab.pos * 8 + delta, ssabPoint.y - 8 + (offset * 16) + (laenge * 16)));
1977
- }
1978
- else if (saAusrichtung === 2) {
1979
- points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
1980
- points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16) + (laenge * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
1981
- }
1982
- else if (saAusrichtung === 3) {
1983
- points.push(new Point_1.Point(ssabPoint.x + 4 - hoehe + ssab.pos * 8 + delta, ssabPoint.y - 8 + (totalSlots * 16) - (offset * 16)));
1984
- points.push(new Point_1.Point(ssabPoint.x + 4 - hoehe + ssab.pos * 8 + delta, ssabPoint.y - 8 + (totalSlots * 16) - (offset * 16 + laenge * 16)));
1985
- }
1986
- utils_schema_1.createDiagramObjectPoints(diagramObject, points);
1987
- diagramObject.identifiedObjectUUID = connectivityNode.mrid;
1988
- this.cimModel.addDiagramObject(diagramObject);
1989
- const diagramUUID = this.integralID2UUID.get(sa.schaltanlageNsg.variantennr);
1990
- const diagram = this.cimModel.getDiagram(diagramUUID);
1991
- if (diagram) {
1992
- diagramObject.diagramUUID = diagram.mrid;
1993
- }
1994
- else {
1995
- }
1996
- }
1997
- }
1998
- }
1999
- }
2000
- });
2001
- }
2002
- convertSchemaSchaltfelder(schaltfeldIDs) {
2003
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2004
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD)) {
2005
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTFELD, 0, 0, schaltfeldIDs));
2006
- for (const i7Data of result) {
2007
- const sfNSG = new SchaltfeldNsg_1.SchaltfeldNsgImpl(i7Data);
2008
- sfNSG.schaltfeld = this.integralSchaltfelder.get(sfNSG.schaltfeldid);
2009
- if (sfNSG.schaltfeld) {
2010
- sfNSG.schaltfeld.schaltfeldNsg = sfNSG;
2011
- }
2012
- sfNSG.nsgsaa = this.integralNsgSchaltanlagenabschnitt.get(sfNSG.nsgsaaid);
2013
- this.integralNsgSchaltfelder.set(i7Data.id, sfNSG);
2014
- const sf = sfNSG.schaltfeld;
2015
- if (sf) {
2016
- const standort = sf.getStandort();
2017
- const sa = sf.getSA();
2018
- const saab = sf.getSAAB();
2019
- if (standort && sa && saab) {
2020
- const pointSt = standort.getPoint();
2021
- const pointSaRel = sa.getPoint();
2022
- const pointSa = pointSt.translate(pointSaRel.x, pointSaRel.y);
2023
- const slotOffset = saab.getSlotOffset();
2024
- const saAusrichtung = sa.schaltanlageNsg.ausrichtung;
2025
- const deltaAusrichtung = sfNSG.deltaausrichtung;
2026
- const slotnummer = sfNSG.slotnummer;
2027
- const d = 4;
2028
- const deltaSSAB = sa.getDelta(saab);
2029
- const posSSAB = sfNSG.schaltfeld.getPosSSAB(saAusrichtung, deltaAusrichtung);
2030
- let pointLinksOben, pointRechtsUnten;
2031
- if (saAusrichtung === 0) {
2032
- const pointSf = pointSa.translate(16 * (slotnummer + slotOffset) - 16, 0);
2033
- if (deltaAusrichtung === 1) {
2034
- pointSf.y = pointSf.y + 65 + deltaSSAB;
2035
- pointRechtsUnten = pointSf.translate(32, 0);
2036
- pointLinksOben = pointSf.translate(0, -sfNSG.hoehe);
2037
- }
2038
- else {
2039
- pointSf.y = pointSf.y - sfNSG.hoehe + deltaSSAB;
2040
- pointLinksOben = pointSf.translate(0, 0);
2041
- pointRechtsUnten = pointSf.translate(32, sfNSG.hoehe);
2042
- }
2043
- }
2044
- else if (saAusrichtung === 1) {
2045
- }
2046
- else if (saAusrichtung === 2) {
2047
- }
2048
- else if (saAusrichtung === 3) {
2049
- }
2050
- if (pointLinksOben && pointRechtsUnten) {
2051
- const points = [];
2052
- points.push(new Point_1.Point(pointLinksOben.x, pointLinksOben.y));
2053
- points.push(new Point_1.Point(pointRechtsUnten.x, pointLinksOben.y));
2054
- points.push(new Point_1.Point(pointRechtsUnten.x, pointRechtsUnten.y));
2055
- points.push(new Point_1.Point(pointLinksOben.x, pointRechtsUnten.y));
2056
- points.push(new Point_1.Point(pointLinksOben.x, pointLinksOben.y));
2057
- points.push(new Point_1.Point(pointLinksOben.x + 16, pointLinksOben.y));
2058
- points.push(new Point_1.Point(pointLinksOben.x + 16, pointRechtsUnten.y));
2059
- const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'Schaltfeld');
2060
- const bayUUID = this.integralID2UUID.get(sf.id);
2061
- const bay = this.cimModel.getBay(bayUUID);
2062
- if (bay) {
2063
- utils_schema_1.createDiagramObjectPoints(diagramObject, points);
2064
- diagramObject.identifiedObjectUUID = bay.mrid;
2065
- const diagramUUID = this.integralID2UUID.get(sa.schaltanlageNsg.variantennr);
2066
- const diagram = this.cimModel.getDiagram(diagramUUID);
2067
- if (diagram) {
2068
- diagramObject.diagramUUID = diagram.mrid;
2069
- }
2070
- else {
2071
- }
2072
- }
2073
- else {
2074
- this.logger.info(`DiagramObject Schaltfeld ${diagramObject.mrid} mit der VariantenNr ${sa.schaltanlageNsg.variantennr} hat kein CIM Schaltfeld ${sf.id} ${bayUUID}.`);
2075
- }
2076
- }
2077
- }
2078
- }
2155
+ const schema = {
2156
+ netzId: i7Data.saabschnitt,
2157
+ variantenNr: i7Data.variantennr,
2158
+ schemaId: i7Data.id,
2159
+ schemaIdParent: i7Data.nsgsa,
2160
+ x: i7Data.xrel,
2161
+ y: i7Data.yrel
2162
+ };
2163
+ this.schemaIDSchaltanlagenabschnitt.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
2079
2164
  }
2080
2165
  }
2081
2166
  else {
2082
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
2167
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
2083
2168
  }
2084
2169
  });
2085
2170
  }
@@ -2097,7 +2182,7 @@ class ConverterIntegral7 {
2097
2182
  junction.equipmentContainerUUID = equipmentContainer.mrid;
2098
2183
  }
2099
2184
  else {
2100
- this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
2185
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
2101
2186
  }
2102
2187
  if (cnStart) {
2103
2188
  const terminal = __1.createConnection(this.cimModel, junction, cnStart, __1.PhaseCode.ABC, 1);
@@ -2106,7 +2191,7 @@ class ConverterIntegral7 {
2106
2191
  }
2107
2192
  }
2108
2193
  else {
2109
- this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
2194
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
2110
2195
  }
2111
2196
  if (cnZiel) {
2112
2197
  const terminal = __1.createConnection(this.cimModel, junction, cnZiel, __1.PhaseCode.ABC, 2);
@@ -2115,18 +2200,18 @@ class ConverterIntegral7 {
2115
2200
  }
2116
2201
  }
2117
2202
  else {
2118
- this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
2203
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
2119
2204
  }
2120
2205
  const baseVoltage = utils_2.getTerminalUn(this.cimModel, junction);
2121
2206
  if (baseVoltage) {
2122
2207
  junction.baseVoltageUUID = baseVoltage.mrid;
2123
2208
  }
2124
- this.integralID2UUID.set(i7Data.id, junction.mrid);
2209
+ this.addIdMapping(i7Data.id, junction.mrid, integral_sql_1.Integral7TableNames.KNOTEN_STARR);
2125
2210
  this.cimModel.addJunction(junction);
2126
2211
  }
2127
2212
  }
2128
2213
  else {
2129
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_STARR} ist nicht vorhanden.`);
2214
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_STARR} ist nicht vorhanden.`);
2130
2215
  }
2131
2216
  });
2132
2217
  }
@@ -2159,50 +2244,21 @@ class ConverterIntegral7 {
2159
2244
  __1.createConnection(this.cimModel, equivalentBranch, start, __1.PhaseCode.ABC, 1);
2160
2245
  }
2161
2246
  else {
2162
- this.logger.info(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2247
+ this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2163
2248
  }
2164
2249
  const target = this.inmemoryObjects.get(i7Data.eknoten);
2165
2250
  if (target) {
2166
2251
  __1.createConnection(this.cimModel, equivalentBranch, target, __1.PhaseCode.ABC, 2);
2167
2252
  }
2168
2253
  else {
2169
- this.logger.info(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
2254
+ this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
2170
2255
  }
2171
2256
  this.cimModel.addEquivalentBranch(equivalentBranch);
2172
- this.integralID2UUID.set(i7Data.id, equivalentBranch.mrid);
2257
+ this.addIdMapping(i7Data.id, equivalentBranch.mrid, integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
2173
2258
  }
2174
2259
  }
2175
2260
  else {
2176
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG} ist nicht vorhanden.`);
2177
- }
2178
- });
2179
- }
2180
- convertStromkreise() {
2181
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2182
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG)) {
2183
- const result = yield this.queryFunctionWrapper(`SELECT DISTINCT kurzname, bezeichner FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`);
2184
- for (const i7Data of result) {
2185
- let line = utils_2.getLineByAttribute(this.cimModel, 'name', i7Data.bezeichner);
2186
- if (!line) {
2187
- line = new __1.Line(__1.generateUUID());
2188
- line.name = i7Data.bezeichner ? i7Data.bezeichner : 'Stromkreis_' + i7Data.kurzname;
2189
- line.shortName = i7Data.kurzname;
2190
- const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, 'ENTSO-E');
2191
- const subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, 'Deutschland', region);
2192
- line.regionUUID = subregion.mrid;
2193
- const i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
2194
- utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
2195
- integral_prefix_1.MITTIGER_PUNKT +
2196
- utils_2.ueberpruefeZeichenkette(i7Data.kurzname) +
2197
- integral_prefix_1.MITTIGER_PUNKT +
2198
- utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
2199
- line.description = i7Schluessel;
2200
- this.cimModel.addLine(line);
2201
- }
2202
- }
2203
- }
2204
- else {
2205
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2261
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG} ist nicht vorhanden.`);
2206
2262
  }
2207
2263
  });
2208
2264
  }
@@ -2217,7 +2273,7 @@ class ConverterIntegral7 {
2217
2273
  }
2218
2274
  }
2219
2275
  else {
2220
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2276
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2221
2277
  }
2222
2278
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KABEL)) {
2223
2279
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_KABEL, 0, 0, []));
@@ -2228,15 +2284,20 @@ class ConverterIntegral7 {
2228
2284
  }
2229
2285
  }
2230
2286
  else {
2231
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
2287
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
2232
2288
  }
2233
2289
  });
2234
2290
  }
2235
- convertLeitungen(limit, offset) {
2291
+ convertLeitungen(limit, offset, defaultValuesConfig) {
2236
2292
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2237
2293
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG)) {
2238
2294
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LEITUNG, limit, offset, []));
2295
+ const leitungIDs = result.map(elem => elem.id);
2296
+ const leitungStromkreisabschnitt = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STROMKREISABSCHNITT, limit, offset, leitungIDs));
2239
2297
  for (const i7Data of result) {
2298
+ const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
2299
+ if (!(stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length))
2300
+ continue;
2240
2301
  const leitung = new Leitung_1.LeitungImpl(i7Data);
2241
2302
  this.integralLeitungen.set(i7Data.id, leitung);
2242
2303
  const i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
@@ -2253,42 +2314,79 @@ class ConverterIntegral7 {
2253
2314
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2254
2315
  integral_prefix_1.MITTIGER_PUNKT +
2255
2316
  utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
2256
- const acLineSegment = new __1.ACLineSegment(__1.getUUID(i7Data.guid), name, i7Data.stkabname, i7Schluessel);
2257
- this.cimModel.addACLineSegment(acLineSegment);
2258
- this.integralID2UUID.set(i7Data.id, acLineSegment.mrid);
2259
- const line = utils_2.getLine(this.cimModel, i7Data.bezeichner, i7Data.kurzname);
2260
- if (line) {
2317
+ const line = new __1.Line(__1.getUUID(i7Data.guid), name);
2318
+ const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
2319
+ const subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
2320
+ line.regionUUID = subregion.mrid;
2321
+ const acLineSegments = [];
2322
+ for (const stk of stromkreisabschnitte) {
2323
+ const acLineSegment = new __1.ACLineSegment(__1.generateUUID(), name, i7Data.stkabname, i7Schluessel);
2324
+ this.setACLineSegmentProperties(acLineSegment, stk, stk.typ, defaultValuesConfig);
2325
+ acLineSegment.description = stk.nametyp;
2261
2326
  acLineSegment.equipmentContainerUUID = line.mrid;
2262
- }
2263
- else {
2264
- this.logger.info(`Leitung ${i7Data.id} besitzt keinen Stromkreis.`);
2327
+ line.equipmentsUUIDS.push(acLineSegment.mrid);
2328
+ acLineSegments.push(acLineSegment);
2329
+ this.addIdMapping(stk.id, acLineSegment.mrid, integral_sql_1.Integral7TableNames.LEITUNG);
2330
+ this.cimModel.addACLineSegment(acLineSegment);
2331
+ }
2332
+ this.cimModel.addLine(line);
2333
+ const anzahl = acLineSegments.length;
2334
+ for (let i = 0; i < anzahl - 1; i++) {
2335
+ const cn = new __1.ConnectivityNode(__1.generateUUID(), 'CN_Lt');
2336
+ const acLineSegment1 = acLineSegments[i];
2337
+ const t1 = __1.createConnection(this.cimModel, acLineSegment1, cn, __1.PhaseCode.ABC);
2338
+ this.setACLineSegmentCurrentLimt(acLineSegment1, acLineSegment1.description, t1.mrid);
2339
+ const acLineSegment2 = acLineSegments[i + 1];
2340
+ const t2 = __1.createConnection(this.cimModel, acLineSegment2, cn, __1.PhaseCode.ABC);
2341
+ this.setACLineSegmentCurrentLimt(acLineSegment2, acLineSegment2.description, t2.mrid);
2342
+ cn.connectivityNodeContainerUUID = acLineSegment1.equipmentContainerUUID;
2343
+ this.cimModel.addConnectivityNode(cn);
2265
2344
  }
2266
2345
  const start = this.inmemoryObjects.get(i7Data.aknoten);
2346
+ const acLineSegmentStart = acLineSegments[0];
2267
2347
  if (start) {
2268
- const terminal = __1.createConnection(this.cimModel, acLineSegment, start, __1.PhaseCode.ABC, 1);
2269
- if (!acLineSegment.baseVoltage) {
2348
+ const terminal = __1.createConnection(this.cimModel, acLineSegmentStart, start, __1.PhaseCode.ABC, acLineSegmentStart.terminalsUUIDs.length + 1);
2349
+ this.setACLineSegmentCurrentLimt(acLineSegmentStart, acLineSegmentStart.description, terminal.mrid);
2350
+ if (!acLineSegmentStart.baseVoltage) {
2270
2351
  const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2271
- acLineSegment.baseVoltage = baseVoltage;
2352
+ acLineSegmentStart.baseVoltage = baseVoltage;
2272
2353
  }
2273
2354
  }
2274
2355
  else {
2275
- this.logger.info(`Leitung ${i7Data.id} ${acLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2356
+ this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2276
2357
  }
2277
2358
  const target = this.inmemoryObjects.get(i7Data.eknoten);
2359
+ const acLineSegmentZiel = acLineSegments[anzahl - 1];
2278
2360
  if (target) {
2279
- const terminal = __1.createConnection(this.cimModel, acLineSegment, target, __1.PhaseCode.ABC, 2);
2280
- if (!acLineSegment.baseVoltage) {
2361
+ const terminal = __1.createConnection(this.cimModel, acLineSegmentZiel, target, __1.PhaseCode.ABC, acLineSegmentStart.terminalsUUIDs.length + 2);
2362
+ this.setACLineSegmentCurrentLimt(acLineSegmentZiel, acLineSegmentZiel.description, terminal.mrid);
2363
+ if (!acLineSegmentZiel.baseVoltage) {
2281
2364
  const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2282
- acLineSegment.baseVoltage = baseVoltage;
2365
+ acLineSegmentZiel.baseVoltage = baseVoltage;
2283
2366
  }
2284
2367
  }
2285
2368
  else {
2286
- this.logger.info(`Leitung ${i7Data.id} ${acLineSegment.mrid} besitzt keinen Zielknoten.`);
2369
+ this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentZiel.mrid} besitzt keinen Zielknoten.`);
2370
+ }
2371
+ const stkBaseVoltage = acLineSegments.find(elem => elem.baseVoltage !== undefined);
2372
+ if (!stkBaseVoltage) {
2373
+ this.logger.error(`Leitung ${i7Data.id}: Spannung konnte nicht bestimmt werden.`);
2374
+ continue;
2375
+ }
2376
+ for (const acLineSegment of acLineSegments) {
2377
+ acLineSegment.baseVoltage = stkBaseVoltage.baseVoltage;
2378
+ for (let i = 0; i < acLineSegment.terminalsUUIDs.length; i++) {
2379
+ let terminal = this.cimModel.getTerminal(acLineSegment.terminalsUUIDs[i]);
2380
+ if (!terminal)
2381
+ terminal = this.inmemoryObjects.get(i7Data.aknoten);
2382
+ if (terminal)
2383
+ terminal.sequenceNumber = i + 1;
2384
+ }
2287
2385
  }
2288
2386
  }
2289
2387
  }
2290
2388
  else {
2291
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2389
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2292
2390
  }
2293
2391
  });
2294
2392
  }
@@ -2302,12 +2400,12 @@ class ConverterIntegral7 {
2302
2400
  this.setACLineSegmentProperties(acLineSegment, i7Data, 'Freileitung', defaultValuesConfig);
2303
2401
  }
2304
2402
  else {
2305
- this.logger.info(`Freileitung ${i7Data.id} besitzt kein Leitungsobjekt.`);
2403
+ this.logger.debug(`Freileitung ${i7Data.id} besitzt kein Leitungsobjekt.`);
2306
2404
  }
2307
2405
  }
2308
2406
  }
2309
2407
  else {
2310
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2408
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2311
2409
  }
2312
2410
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL)) {
2313
2411
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KABEL, 0, 0, leitungsIDs));
@@ -2317,12 +2415,12 @@ class ConverterIntegral7 {
2317
2415
  this.setACLineSegmentProperties(acLineSegment, i7Data, 'Kabel', defaultValuesConfig);
2318
2416
  }
2319
2417
  else {
2320
- this.logger.info(`Kabel ${i7Data.id} besitzt kein Leitungsobjekt.`);
2418
+ this.logger.debug(`Kabel ${i7Data.id} besitzt kein Leitungsobjekt.`);
2321
2419
  }
2322
2420
  }
2323
2421
  }
2324
2422
  else {
2325
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2423
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2326
2424
  }
2327
2425
  });
2328
2426
  }
@@ -2352,7 +2450,7 @@ class ConverterIntegral7 {
2352
2450
  }
2353
2451
  }
2354
2452
  else {
2355
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
2453
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
2356
2454
  }
2357
2455
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO3W)) {
2358
2456
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_TRAFO3W, 0, 0, []));
@@ -2388,11 +2486,11 @@ class ConverterIntegral7 {
2388
2486
  }
2389
2487
  }
2390
2488
  else {
2391
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
2489
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
2392
2490
  }
2393
2491
  });
2394
2492
  }
2395
- convertTrafo2W(limit, offset) {
2493
+ convertTrafo2W(limit, offset, defaultValuesConfig) {
2396
2494
  var _a;
2397
2495
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2398
2496
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W)) {
@@ -2412,32 +2510,20 @@ class ConverterIntegral7 {
2412
2510
  const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2413
2511
  const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2414
2512
  const powerTransformerInfo = this.cimModel.getPowerTransformerInfoByName(i7Data.nametyp);
2415
- const start = this.inmemoryObjects.get(i7Data.aknoten);
2416
- let startTerminal;
2417
- if (start) {
2418
- startTerminal = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 1);
2419
- }
2420
- else {
2421
- this.logger.info(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2422
- }
2423
- const target = this.inmemoryObjects.get(i7Data.eknoten);
2424
- let targetTerminal;
2425
- if (target) {
2426
- targetTerminal = __1.createConnection(this.cimModel, powerTransformer, target, __1.PhaseCode.ABC, 2);
2427
- }
2428
- else {
2429
- this.logger.info(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
2430
- }
2513
+ const startTerminal = util_create_1.getConnectedTerminal(this.cimModel, powerTransformer, this.inmemoryObjects.get(i7Data.aknoten), __1.PhaseCode.ABC, 1);
2514
+ if (!startTerminal)
2515
+ this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2516
+ const targetTerminal = util_create_1.getConnectedTerminal(this.cimModel, powerTransformer, this.inmemoryObjects.get(i7Data.eknoten), __1.PhaseCode.ABC, 2);
2517
+ if (!targetTerminal)
2518
+ this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
2431
2519
  const schaltgruppe = i7Data.schaltgr;
2432
2520
  const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1${powerTransformer.name}`);
2433
2521
  powerTransformerEnd1.endNumber = 1;
2434
- powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber);
2435
- powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
2436
2522
  const pkr = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '');
2437
2523
  const ukr = utils_2.getUkrTrafo(i7Data, powerTransformerInfo, '') / 100;
2438
2524
  const sr = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
2439
2525
  const ur = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber);
2440
- const ir1 = (sr * Math.pow(10, 6) / ur * 1000) / Math.sqrt(3);
2526
+ const ir1 = sr * 1000000 / (ur * 1000 * Math.sqrt(3));
2441
2527
  const p0 = utils_2.isNumericI7(i7Data.p_leer) ? utils_2.convertToNumberI7(i7Data.p_leer) : 0;
2442
2528
  const iLeer = utils_2.isNumericI7(i7Data.i_leer) ? utils_2.convertToNumberI7(i7Data.i_leer) : 0;
2443
2529
  powerTransformerEnd1.r = utils_2.calculateR(ur, pkr, sr);
@@ -2447,36 +2533,30 @@ class ConverterIntegral7 {
2447
2533
  powerTransformerEnd1.ratedU = ur;
2448
2534
  powerTransformerEnd1.ratedS = sr;
2449
2535
  if (powerTransformerEnd1.ratedU) {
2450
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd1.ratedU);
2451
- if (!baseVoltage) {
2452
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd1.ratedU);
2453
- }
2536
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd1.ratedU);
2454
2537
  powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
2455
2538
  }
2456
2539
  else {
2457
- this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2540
+ this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2458
2541
  }
2459
2542
  const terminal = startTerminal;
2460
- if (terminal) {
2461
- powerTransformerEnd1.terminalUUID = terminal.mrid;
2462
- this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, terminal.mrid, ir1);
2543
+ if (startTerminal) {
2544
+ powerTransformerEnd1.terminalUUID = startTerminal.mrid;
2545
+ this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, startTerminal.mrid, ir1);
2463
2546
  if (sternpunktKnotenMap.has(i7Data.id)) {
2464
2547
  if (sternpunktKnotenMap.get(i7Data.id).has(i7Data.aknknoten1p)) {
2465
- this.convertTrafoGrounding(i7Data.id, powerTransformerEnd1, terminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.aknknoten1p), i7Data.standort);
2548
+ this.convertTrafoGrounding(i7Data.id, powerTransformerEnd1, startTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.aknknoten1p), i7Data.standort, defaultValuesConfig);
2466
2549
  }
2467
2550
  }
2468
2551
  }
2469
2552
  else {
2470
- this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2553
+ this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2471
2554
  }
2472
2555
  powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2473
2556
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
2474
2557
  this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
2475
- utils_2.createTapChanger(i7Data, powerTransformerEnd1, this.cimModel, powerTransformerEnd1.ratedU);
2476
2558
  const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2${powerTransformer.name}`);
2477
2559
  powerTransformerEnd2.endNumber = 2;
2478
- powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber);
2479
- powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
2480
2560
  const sr2 = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber, false);
2481
2561
  const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber);
2482
2562
  powerTransformerEnd2.r = 0;
@@ -2485,55 +2565,80 @@ class ConverterIntegral7 {
2485
2565
  powerTransformerEnd2.ratedU = ur2;
2486
2566
  const ir2 = (sr * Math.pow(10, 6) / ur * 1000) / Math.sqrt(3);
2487
2567
  if (powerTransformerEnd2.ratedU) {
2488
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd2.ratedU);
2489
- if (!baseVoltage) {
2490
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd2.ratedU);
2491
- }
2568
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd2.ratedU);
2492
2569
  powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
2493
2570
  }
2494
2571
  else {
2495
- this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2572
+ this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2496
2573
  }
2497
- const terminal2 = targetTerminal;
2498
- if (terminal2) {
2499
- powerTransformerEnd2.terminalUUID = terminal2.mrid;
2500
- this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal.mrid, ir2);
2574
+ if (targetTerminal) {
2575
+ powerTransformerEnd2.terminalUUID = targetTerminal.mrid;
2576
+ this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, targetTerminal.mrid, ir2);
2501
2577
  if (sternpunktKnotenMap.has(i7Data.id)) {
2502
2578
  if (sternpunktKnotenMap.get(i7Data.id).has(i7Data.eknknoten1p)) {
2503
- this.convertTrafoGrounding(i7Data.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.eknknoten1p), i7Data.standort);
2579
+ this.convertTrafoGrounding(i7Data.id, powerTransformerEnd2, targetTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.eknknoten1p), i7Data.standort, defaultValuesConfig);
2504
2580
  }
2505
2581
  }
2506
2582
  }
2507
2583
  else {
2508
- this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2509
- this.logger.info(`TargetTerminal created ` + (targetTerminal === undefined));
2584
+ this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2510
2585
  }
2511
2586
  powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2512
2587
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
2513
2588
  this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
2589
+ powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
2590
+ powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
2591
+ powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
2592
+ powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
2514
2593
  powerTransformer.sortTransformerEnd('ratedU', 'desc');
2594
+ const wicklungen = [1, 2];
2595
+ const terminals = [startTerminal, targetTerminal];
2596
+ const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
2597
+ for (const wicklung of wicklungen) {
2598
+ const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
2599
+ const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${wicklung}`]);
2600
+ switch (i7Data.trafo_spezial) {
2601
+ case (1): {
2602
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2603
+ break;
2604
+ }
2605
+ case (2): {
2606
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2607
+ break;
2608
+ }
2609
+ default: {
2610
+ if (winkel !== 0) {
2611
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2612
+ }
2613
+ else {
2614
+ utils_2.createRatioTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2615
+ }
2616
+ break;
2617
+ }
2618
+ }
2619
+ }
2515
2620
  for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2516
- powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
2621
+ const powerTransformerEnd = powerTransformer.powerTransformerEnds[i];
2622
+ powerTransformerEnd.endNumber = i + 1;
2517
2623
  }
2518
- utils_2.createTapChanger(i7Data, powerTransformerEnd2, this.cimModel, powerTransformerEnd2.ratedU);
2519
2624
  const substationUUID = this.integralID2UUID.get(i7Data.standort);
2520
2625
  if (substationUUID) {
2521
2626
  powerTransformer.equipmentContainerUUID = substationUUID;
2522
2627
  }
2523
2628
  else {
2524
- this.logger.info(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2629
+ this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2525
2630
  }
2526
2631
  this.cimModel.addPowerTransformer(powerTransformer);
2527
- this.integralID2UUID.set(i7Data.id, powerTransformer.mrid);
2632
+ this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO2W);
2528
2633
  this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
2529
2634
  }
2530
2635
  }
2531
2636
  else {
2532
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
2637
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
2533
2638
  }
2534
2639
  });
2535
2640
  }
2536
- convertTrafo3W(limit, offset) {
2641
+ convertTrafo3W(limit, offset, defaultValuesConfig) {
2537
2642
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2538
2643
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3W)) {
2539
2644
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRAFO3W, limit, offset, []));
@@ -2548,7 +2653,7 @@ class ConverterIntegral7 {
2548
2653
  }
2549
2654
  }
2550
2655
  else {
2551
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2656
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2552
2657
  }
2553
2658
  const sternpunktKnotenMap = new Map();
2554
2659
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoWicklungIDs.length) {
@@ -2574,9 +2679,9 @@ class ConverterIntegral7 {
2574
2679
  const ur1 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 1);
2575
2680
  const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 2);
2576
2681
  const ur3 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 3);
2577
- const ir1 = (sr1 * Math.pow(10, 6) / ur1 * 1000) / Math.sqrt(3);
2578
- const ir2 = (sr2 * Math.pow(10, 6) / ur2 * 1000) / Math.sqrt(3);
2579
- const ir3 = (sr3 * Math.pow(10, 6) / ur3 * 1000) / Math.sqrt(3);
2682
+ const ir1 = sr1 * 1000000 / ((ur1 * 1000) * Math.sqrt(3));
2683
+ const ir2 = sr2 * 1000000 / ((ur2 * 1000) * Math.sqrt(3));
2684
+ const ir3 = sr3 * 1000000 / ((ur3 * 1000) * Math.sqrt(3));
2580
2685
  const pLeer = utils_2.getTrafoPleer(i7Data, powerTransformerInfo);
2581
2686
  const iLeer = utils_2.getTrafoIleer(i7Data, powerTransformerInfo);
2582
2687
  const impedanzW1 = utils_trafo3w_1.calculateImpedanzenTrafo3W(1, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, pLeer, iLeer);
@@ -2590,16 +2695,14 @@ class ConverterIntegral7 {
2590
2695
  terminal1 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 1);
2591
2696
  }
2592
2697
  else {
2593
- this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2698
+ this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2594
2699
  }
2595
2700
  }
2596
2701
  else {
2597
- this.logger.info(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
2702
+ this.logger.debug(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
2598
2703
  }
2599
2704
  const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1 ${powerTransformer.name}`);
2600
2705
  powerTransformerEnd1.endNumber = 1;
2601
- powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber);
2602
- powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
2603
2706
  powerTransformerEnd1.r = impedanzW1.r;
2604
2707
  powerTransformerEnd1.x = impedanzW1.x;
2605
2708
  powerTransformerEnd1.g = impedanzW1.g * 1000000;
@@ -2614,7 +2717,7 @@ class ConverterIntegral7 {
2614
2717
  powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
2615
2718
  }
2616
2719
  else {
2617
- this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2720
+ this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2618
2721
  }
2619
2722
  powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2620
2723
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
@@ -2623,11 +2726,11 @@ class ConverterIntegral7 {
2623
2726
  powerTransformerEnd1.terminalUUID = terminal1.mrid;
2624
2727
  this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, terminal1.mrid, ir1);
2625
2728
  if (sternpunktKnotenMap.has(wicklung1.id)) {
2626
- this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, terminal1.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung1.id), i7Data.standort);
2729
+ this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, terminal1.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung1.id), i7Data.standort, defaultValuesConfig);
2627
2730
  }
2628
2731
  }
2629
2732
  else {
2630
- this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2733
+ this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2631
2734
  }
2632
2735
  const wicklung2 = trafoWicklungen.get(i7Data.trafowicklung3w2);
2633
2736
  if (wicklung2) {
@@ -2636,16 +2739,14 @@ class ConverterIntegral7 {
2636
2739
  terminal2 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 2);
2637
2740
  }
2638
2741
  else {
2639
- this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2742
+ this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2640
2743
  }
2641
2744
  }
2642
2745
  else {
2643
- this.logger.info(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2746
+ this.logger.debug(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2644
2747
  }
2645
2748
  const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2 ${powerTransformer.name}`);
2646
2749
  powerTransformerEnd2.endNumber = 2;
2647
- powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber);
2648
- powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
2649
2750
  powerTransformerEnd2.r = impedanzW2.r;
2650
2751
  powerTransformerEnd2.x = impedanzW2.x;
2651
2752
  powerTransformerEnd2.g = impedanzW2.g * 1000000;
@@ -2660,7 +2761,7 @@ class ConverterIntegral7 {
2660
2761
  powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
2661
2762
  }
2662
2763
  else {
2663
- this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2764
+ this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2664
2765
  }
2665
2766
  powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2666
2767
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
@@ -2669,11 +2770,11 @@ class ConverterIntegral7 {
2669
2770
  powerTransformerEnd2.terminalUUID = terminal2.mrid;
2670
2771
  this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal2.mrid, ir2);
2671
2772
  if (sternpunktKnotenMap.has(wicklung2.id)) {
2672
- this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung2.id), i7Data.standort);
2773
+ this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung2.id), i7Data.standort, defaultValuesConfig);
2673
2774
  }
2674
2775
  }
2675
2776
  else {
2676
- this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2777
+ this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2677
2778
  }
2678
2779
  const wicklung3 = trafoWicklungen.get(i7Data.trafowicklung3w3);
2679
2780
  if (wicklung3) {
@@ -2682,22 +2783,18 @@ class ConverterIntegral7 {
2682
2783
  terminal3 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 3);
2683
2784
  }
2684
2785
  else {
2685
- this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2786
+ this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2686
2787
  }
2687
2788
  }
2688
2789
  else {
2689
- this.logger.info(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2790
+ this.logger.debug(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2690
2791
  }
2691
2792
  const powerTransformerEnd3 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w3), `Wicklung 3 ${powerTransformer.name}`);
2692
2793
  powerTransformerEnd3.endNumber = 3;
2693
- powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd3.endNumber);
2694
- powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd3.endNumber);
2695
2794
  powerTransformerEnd3.r = impedanzW3.r;
2696
2795
  powerTransformerEnd3.x = impedanzW3.x;
2697
2796
  powerTransformerEnd2.g = impedanzW3.g * 1000000;
2698
- ;
2699
2797
  powerTransformerEnd2.b = impedanzW3.b * 1000000;
2700
- ;
2701
2798
  powerTransformerEnd3.ratedS = sr3;
2702
2799
  powerTransformerEnd3.ratedU = ur3;
2703
2800
  if (powerTransformerEnd3.ratedU) {
@@ -2708,7 +2805,7 @@ class ConverterIntegral7 {
2708
2805
  powerTransformerEnd3.baseVoltageUUID = baseVoltage.mrid;
2709
2806
  }
2710
2807
  else {
2711
- this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
2808
+ this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
2712
2809
  }
2713
2810
  powerTransformerEnd3.powerTransformerUUID = powerTransformer.mrid;
2714
2811
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd3);
@@ -2717,13 +2814,45 @@ class ConverterIntegral7 {
2717
2814
  powerTransformerEnd3.terminalUUID = terminal3.mrid;
2718
2815
  this.setConductingEquipmentCurrentLimit('W3 ' + powerTransformer.name, terminal3.mrid, ir3);
2719
2816
  if (sternpunktKnotenMap.has(wicklung3.id)) {
2720
- this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, terminal3.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung3.id), i7Data.standort);
2817
+ this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, terminal3.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung3.id), i7Data.standort, defaultValuesConfig);
2721
2818
  }
2722
2819
  }
2723
2820
  else {
2724
- this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
2821
+ this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
2725
2822
  }
2823
+ powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2824
+ powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2825
+ powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2826
+ powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2827
+ powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2828
+ powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2726
2829
  powerTransformer.sortTransformerEnd('ratedU', 'desc');
2830
+ const wicklungen = powerTransformer.powerTransformerEnds.map(elem => elem.endNumber);
2831
+ const terminals = [terminal1, terminal2, terminal3];
2832
+ const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
2833
+ for (const wicklung of wicklungen) {
2834
+ const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
2835
+ const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${wicklung}`]);
2836
+ switch (i7Data.trafo_spezial) {
2837
+ case (1): {
2838
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2839
+ break;
2840
+ }
2841
+ case (2): {
2842
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2843
+ break;
2844
+ }
2845
+ default: {
2846
+ if (winkel !== 0) {
2847
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2848
+ }
2849
+ else {
2850
+ utils_2.createRatioTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2851
+ }
2852
+ break;
2853
+ }
2854
+ }
2855
+ }
2727
2856
  for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2728
2857
  powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
2729
2858
  }
@@ -2735,22 +2864,81 @@ class ConverterIntegral7 {
2735
2864
  powerTransformer.description = i7Schluessel;
2736
2865
  }
2737
2866
  else {
2738
- this.logger.info(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2867
+ this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2739
2868
  }
2740
2869
  this.cimModel.addPowerTransformer(powerTransformer);
2741
- this.integralID2UUID.set(i7Data.id, powerTransformer.mrid);
2870
+ this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO3W);
2742
2871
  this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
2743
2872
  }
2744
2873
  }
2745
2874
  else {
2746
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
2875
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
2747
2876
  }
2748
2877
  });
2749
2878
  }
2750
- convertTrafoGrounding(trafoObjektID, powerTransformerEnd, cnUUID, stpKnoten, standortID) {
2879
+ getSpannungsbandTrafo2W(i7Data) {
2880
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
2881
+ return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
2882
+ let minMaxSollResult;
2883
+ const spgKnotenId = i7Data.spgreg_knoten;
2884
+ let tempKnotenId = i7Data.spgreg_anschluss === 0 ? i7Data.aknoten :
2885
+ (i7Data.spgreg_anschluss === 1 ? i7Data.eknoten : undefined);
2886
+ if (tempKnotenId !== undefined) {
2887
+ let queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]} WHERE id = ${tempKnotenId};`);
2888
+ if (queryResult.length === 1) {
2889
+ const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
2890
+ const tabName_NetzSchaltfeld = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHALTFELD];
2891
+ const tabName_NetzKnotenSf = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF];
2892
+ const sqlStatement = `SELECT ${tabName_NetzSSAB}.id, ${tabName_NetzSSAB}.umin, ${tabName_NetzSSAB}.umax, ${tabName_NetzSSAB}.usoll
2893
+ FROM ${tabName_NetzSSAB}
2894
+ LEFT JOIN ${tabName_NetzSchaltfeld} ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
2895
+ LEFT JOIN ${tabName_NetzKnotenSf} ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
2896
+ WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
2897
+ minMaxSollResult = yield this.queryFunctionWrapper(sqlStatement);
2898
+ }
2899
+ else {
2900
+ queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]} WHERE id = ${tempKnotenId};`);
2901
+ if (queryResult.length === 1) {
2902
+ const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
2903
+ const tabName_NetzSchlaufe = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHLAUFE];
2904
+ const tabName_NetzKnotenZw = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW];
2905
+ minMaxSollResult = yield this.queryFunctionWrapper(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
2906
+ FROM ${tabName_NetzKnotenZw}
2907
+ LEFT JOIN ${tabName_NetzSchlaufe} ON
2908
+ ${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
2909
+ LEFT JOIN ${tabName_NetzSo} ON
2910
+ ${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
2911
+ WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
2912
+ }
2913
+ else {
2914
+ minMaxSollResult = yield this.queryFunctionWrapper(`SELECT id, umin, umax, usoll FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]} where id = ${tempKnotenId};`);
2915
+ }
2916
+ }
2917
+ }
2918
+ else if (spgKnotenId !== undefined) {
2919
+ const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
2920
+ const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
2921
+ const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
2922
+ FROM (
2923
+ SELECT id, umin, umax, usoll FROM ${tabName_NetzSo} WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
2924
+ UNION
2925
+ SELECT id, umin, umax, usoll FROM ${tabName_NetzSSAB} WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
2926
+ minMaxSollResult = yield this.queryFunctionWrapper(query);
2927
+ }
2928
+ if (minMaxSollResult && minMaxSollResult.length) {
2929
+ resolve(minMaxSollResult[0]);
2930
+ }
2931
+ else {
2932
+ resolve({ id: 0, usoll: 0, umin: 0, umax: 0 });
2933
+ }
2934
+ }));
2935
+ });
2936
+ }
2937
+ convertTrafoGrounding(trafoObjektID, powerTransformerEnd, cnUUID, stpKnoten, standortID, defaultValuesConfig) {
2751
2938
  if (stpKnoten) {
2752
2939
  const junctionUUID = this.stpImpModel.stpSchieneJunctionUUIDs.get(stpKnoten.schaltelement1pelem);
2753
2940
  powerTransformerEnd.grounded = true;
2941
+ powerTransformerEnd.rground = defaultValuesConfig.TransformerEnd.rground;
2754
2942
  if (!junctionUUID) {
2755
2943
  }
2756
2944
  else {
@@ -2767,21 +2955,21 @@ class ConverterIntegral7 {
2767
2955
  const subVlData = this.substationVoltagelevels.get(standortID);
2768
2956
  const vlObject = getVoltageLevelByVoltage(subVlData, powerTransformerEnd.ratedU);
2769
2957
  if (!vlObject) {
2770
- this.logger.info(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
2958
+ this.logger.debug(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
2771
2959
  }
2772
2960
  if (junction) {
2773
2961
  junction.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
2774
2962
  junction.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
2775
2963
  }
2776
2964
  else {
2777
- this.logger.info(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
2965
+ this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
2778
2966
  }
2779
2967
  if (pSpuleGroundImpedance) {
2780
2968
  pSpuleGroundImpedance.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
2781
2969
  pSpuleGroundImpedance.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
2782
2970
  }
2783
2971
  else {
2784
- this.logger.info(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
2972
+ this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
2785
2973
  }
2786
2974
  }
2787
2975
  }
@@ -2795,7 +2983,7 @@ class ConverterIntegral7 {
2795
2983
  }
2796
2984
  }
2797
2985
  else {
2798
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2986
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2799
2987
  }
2800
2988
  });
2801
2989
  }
@@ -2811,7 +2999,7 @@ class ConverterIntegral7 {
2811
2999
  startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2812
3000
  }
2813
3001
  else {
2814
- this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
3002
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2815
3003
  }
2816
3004
  const target = this.inmemoryObjects.get(i7Data.eknoten);
2817
3005
  let targetTerminal;
@@ -2819,7 +3007,7 @@ class ConverterIntegral7 {
2819
3007
  targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2820
3008
  }
2821
3009
  else {
2822
- this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
3010
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2823
3011
  }
2824
3012
  const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2825
3013
  const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
@@ -2836,7 +3024,7 @@ class ConverterIntegral7 {
2836
3024
  this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
2837
3025
  }
2838
3026
  else {
2839
- this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
3027
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2840
3028
  }
2841
3029
  const subVlData = this.substationVoltagelevels.get(i7Data.standort);
2842
3030
  const vlObject = getVoltageLevelByVoltage(subVlData, ur);
@@ -2845,16 +3033,16 @@ class ConverterIntegral7 {
2845
3033
  seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
2846
3034
  }
2847
3035
  else {
2848
- this.logger.info(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
3036
+ this.logger.debug(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2849
3037
  }
2850
3038
  const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längsdrossel');
2851
3039
  seriesCompensator.psrTypeUUID = psrType.mrid;
2852
3040
  this.cimModel.addSeriesCompensator(seriesCompensator);
2853
- this.integralID2UUID.set(i7Data.id, seriesCompensator.mrid);
3041
+ this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSDROSSEL);
2854
3042
  }
2855
3043
  }
2856
3044
  else {
2857
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
3045
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
2858
3046
  }
2859
3047
  });
2860
3048
  }
@@ -2870,7 +3058,7 @@ class ConverterIntegral7 {
2870
3058
  startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2871
3059
  }
2872
3060
  else {
2873
- this.logger.info(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
3061
+ this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2874
3062
  }
2875
3063
  const target = this.inmemoryObjects.get(i7Data.eknoten);
2876
3064
  let targetTerminal;
@@ -2878,7 +3066,7 @@ class ConverterIntegral7 {
2878
3066
  targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2879
3067
  }
2880
3068
  else {
2881
- this.logger.info(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
3069
+ this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2882
3070
  }
2883
3071
  const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2884
3072
  const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
@@ -2895,7 +3083,7 @@ class ConverterIntegral7 {
2895
3083
  this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
2896
3084
  }
2897
3085
  else {
2898
- this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
3086
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2899
3087
  }
2900
3088
  const substationUUID = this.integralID2UUID.get(i7Data.standort);
2901
3089
  const subVlData = this.substationVoltagelevels.get(i7Data.standort);
@@ -2905,16 +3093,16 @@ class ConverterIntegral7 {
2905
3093
  seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
2906
3094
  }
2907
3095
  else {
2908
- this.logger.info(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
3096
+ this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2909
3097
  }
2910
3098
  const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längskondensator');
2911
3099
  seriesCompensator.psrTypeUUID = psrType.mrid;
2912
3100
  this.cimModel.addSeriesCompensator(seriesCompensator);
2913
- this.integralID2UUID.set(i7Data.id, seriesCompensator.mrid);
3101
+ this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
2914
3102
  }
2915
3103
  }
2916
3104
  else {
2917
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
3105
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
2918
3106
  }
2919
3107
  });
2920
3108
  }
@@ -2934,19 +3122,19 @@ class ConverterIntegral7 {
2934
3122
  disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2935
3123
  }
2936
3124
  else {
2937
- this.logger.info(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
3125
+ this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
2938
3126
  }
2939
3127
  if (cnStart) {
2940
3128
  __1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2941
3129
  }
2942
3130
  else {
2943
- this.logger.info(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
3131
+ this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
2944
3132
  }
2945
3133
  if (cnZiel) {
2946
3134
  __1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2947
3135
  }
2948
3136
  else {
2949
- this.logger.info(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
3137
+ this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
2950
3138
  }
2951
3139
  const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
2952
3140
  const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
@@ -2954,11 +3142,11 @@ class ConverterIntegral7 {
2954
3142
  disconnector.baseVoltageUUID = baseVoltage.mrid;
2955
3143
  }
2956
3144
  this.cimModel.addDisconnector(disconnector);
2957
- this.integralID2UUID.set(i7Data.id, disconnector.mrid);
3145
+ this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNER_3P);
2958
3146
  }
2959
3147
  }
2960
3148
  else {
2961
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} ist nicht vorhanden.`);
3149
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} ist nicht vorhanden.`);
2962
3150
  }
2963
3151
  });
2964
3152
  }
@@ -2978,19 +3166,19 @@ class ConverterIntegral7 {
2978
3166
  disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2979
3167
  }
2980
3168
  else {
2981
- this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
3169
+ this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
2982
3170
  }
2983
3171
  if (cnStart) {
2984
3172
  __1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2985
3173
  }
2986
3174
  else {
2987
- this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
3175
+ this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
2988
3176
  }
2989
3177
  if (cnZiel) {
2990
3178
  __1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2991
3179
  }
2992
3180
  else {
2993
- this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
3181
+ this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
2994
3182
  }
2995
3183
  const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
2996
3184
  const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
@@ -2998,11 +3186,11 @@ class ConverterIntegral7 {
2998
3186
  disconnector.baseVoltageUUID = baseVoltage.mrid;
2999
3187
  }
3000
3188
  this.cimModel.addDisconnector(disconnector);
3001
- this.integralID2UUID.set(i7Data.id, disconnector.mrid);
3189
+ this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNERFI_3P);
3002
3190
  }
3003
3191
  }
3004
3192
  else {
3005
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
3193
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
3006
3194
  }
3007
3195
  });
3008
3196
  }
@@ -3022,19 +3210,19 @@ class ConverterIntegral7 {
3022
3210
  breaker.equipmentContainerUUID = equipmentContainer.mrid;
3023
3211
  }
3024
3212
  else {
3025
- this.logger.info(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
3213
+ this.logger.debug(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
3026
3214
  }
3027
3215
  if (cnStart) {
3028
3216
  __1.createConnection(this.cimModel, breaker, cnStart, __1.PhaseCode.ABC, 1);
3029
3217
  }
3030
3218
  else {
3031
- this.logger.info(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
3219
+ this.logger.debug(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
3032
3220
  }
3033
3221
  if (cnZiel) {
3034
3222
  __1.createConnection(this.cimModel, breaker, cnZiel, __1.PhaseCode.ABC, 2);
3035
3223
  }
3036
3224
  else {
3037
- this.logger.info(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
3225
+ this.logger.debug(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
3038
3226
  }
3039
3227
  const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
3040
3228
  const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
@@ -3042,11 +3230,11 @@ class ConverterIntegral7 {
3042
3230
  breaker.baseVoltageUUID = baseVoltage.mrid;
3043
3231
  }
3044
3232
  this.cimModel.addBreaker(breaker);
3045
- this.integralID2UUID.set(i7Data.id, breaker.mrid);
3233
+ this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
3046
3234
  }
3047
3235
  }
3048
3236
  else {
3049
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
3237
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
3050
3238
  }
3051
3239
  });
3052
3240
  }
@@ -3064,11 +3252,11 @@ class ConverterIntegral7 {
3064
3252
  dcConverterUnit.setSubstation(equipmentContainer);
3065
3253
  }
3066
3254
  else {
3067
- this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
3255
+ this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
3068
3256
  }
3069
3257
  }
3070
3258
  else {
3071
- this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
3259
+ this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
3072
3260
  }
3073
3261
  const csConverter = new CsConverter_1.CsConverter(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
3074
3262
  csConverter.equipmentContainer = dcConverterUnit;
@@ -3097,7 +3285,7 @@ class ConverterIntegral7 {
3097
3285
  __1.createConnection(this.cimModel, csConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
3098
3286
  }
3099
3287
  else {
3100
- this.logger.info(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
3288
+ this.logger.debug(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
3101
3289
  }
3102
3290
  const dcNode = new DCNode_1.DCNode(__1.generateUUID(), 'DCNode');
3103
3291
  dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
@@ -3110,7 +3298,7 @@ class ConverterIntegral7 {
3110
3298
  this.cimModel.addCSConverter(csConverter);
3111
3299
  this.cimModel.addDCNode(dcNode);
3112
3300
  this.cimModel.addACDCConverterDCTerminal(acDCConverterDCTerminal);
3113
- this.integralID2UUID.set(i7Data.id, csConverter.mrid);
3301
+ this.addIdMapping(i7Data.id, csConverter.mrid, integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH);
3114
3302
  }
3115
3303
  }
3116
3304
  });
@@ -3129,11 +3317,11 @@ class ConverterIntegral7 {
3129
3317
  dcConverterUnit.setSubstation(equipmentContainer);
3130
3318
  }
3131
3319
  else {
3132
- this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
3320
+ this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
3133
3321
  }
3134
3322
  }
3135
3323
  else {
3136
- this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
3324
+ this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
3137
3325
  }
3138
3326
  const vsConverter = new VsConverter_1.VsConverter(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
3139
3327
  vsConverter.equipmentContainer = dcConverterUnit;
@@ -3165,7 +3353,7 @@ class ConverterIntegral7 {
3165
3353
  __1.createConnection(this.cimModel, vsConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
3166
3354
  }
3167
3355
  else {
3168
- this.logger.info(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
3356
+ this.logger.debug(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
3169
3357
  }
3170
3358
  const dcNode = new DCNode_1.DCNode(__1.generateUUID(), 'DCNode');
3171
3359
  dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
@@ -3178,7 +3366,7 @@ class ConverterIntegral7 {
3178
3366
  this.cimModel.addVSConverter(vsConverter);
3179
3367
  this.cimModel.addDCNode(dcNode);
3180
3368
  this.cimModel.addACDCConverterDCTerminal(acDCConverterDCTerminal);
3181
- this.integralID2UUID.set(i7Data.id, vsConverter.mrid);
3369
+ this.addIdMapping(i7Data.id, vsConverter.mrid, integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC);
3182
3370
  }
3183
3371
  }
3184
3372
  });
@@ -3217,32 +3405,34 @@ class ConverterIntegral7 {
3217
3405
  const startDCNode = this.inmemoryObjects.get(i7Data.anetzobjekt);
3218
3406
  if (startDCNode) {
3219
3407
  const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
3220
- dcTerminal.sequenceNumber = 2;
3408
+ dcTerminal.connected = true;
3409
+ dcTerminal.sequenceNumber = 1;
3221
3410
  dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
3222
3411
  dcTerminal.dcNodeUUID = startDCNode.mrid;
3223
3412
  this.cimModel.addDCTerminal(dcTerminal);
3224
3413
  }
3225
3414
  else {
3226
- this.logger.info(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
3415
+ this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
3227
3416
  }
3228
3417
  const tartgetDCNode = this.inmemoryObjects.get(i7Data.enetzobjekt);
3229
3418
  if (tartgetDCNode) {
3230
3419
  const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
3420
+ dcTerminal.connected = true;
3231
3421
  dcTerminal.sequenceNumber = 2;
3232
3422
  dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
3233
3423
  dcTerminal.dcNodeUUID = tartgetDCNode.mrid;
3234
3424
  this.cimModel.addDCTerminal(dcTerminal);
3235
3425
  }
3236
3426
  else {
3237
- this.logger.info(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
3427
+ this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
3238
3428
  }
3239
3429
  this.cimModel.addDCLine(dcLine);
3240
3430
  this.cimModel.addDCLineSegment(dcLineSegment);
3241
- this.integralID2UUID.set(i7Data.id, dcLineSegment.mrid);
3431
+ this.addIdMapping(i7Data.id, dcLineSegment.mrid, integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
3242
3432
  }
3243
3433
  }
3244
3434
  else {
3245
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
3435
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
3246
3436
  }
3247
3437
  });
3248
3438
  }
@@ -3257,7 +3447,8 @@ class ConverterIntegral7 {
3257
3447
  const einspeisePrio = utils_2.convertToNumberI7(i7Data.einspprio);
3258
3448
  externalNetworkInjection.p = utils_2.convertToNumberI7(i7Data.p_ersatznetz) + utils_2.convertToNumberI7(i7Data.p_restnetz);
3259
3449
  externalNetworkInjection.q = utils_2.convertToNumberI7(i7Data.q_ersatznetz) + utils_2.convertToNumberI7(i7Data.q_restnetz);
3260
- externalNetworkInjection.governorSCD = utils_2.convertToNumberI7(i7Data.kr);
3450
+ const kr = 0;
3451
+ externalNetworkInjection.governorSCD = kr;
3261
3452
  externalNetworkInjection.referencePriority = einspeisePrio;
3262
3453
  externalNetworkInjection.maxZ0ToZ1Ratio = utils_2.convertToNumberI7(i7Data.z0_z1);
3263
3454
  const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_BI_${i7Data.id}`);
@@ -3289,19 +3480,19 @@ class ConverterIntegral7 {
3289
3480
  }
3290
3481
  }
3291
3482
  else {
3292
- this.logger.info(`BoundaryInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
3483
+ this.logger.debug(`BoundaryInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
3293
3484
  }
3294
3485
  }
3295
3486
  else {
3296
- this.logger.info(`BoundaryInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
3487
+ this.logger.debug(`BoundaryInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
3297
3488
  }
3298
3489
  this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
3299
3490
  this.cimModel.addRegulatingControl(regulatingControl);
3300
- this.integralID2UUID.set(i7Data.id, externalNetworkInjection.mrid);
3491
+ this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.BOUNDARYINJECTION);
3301
3492
  }
3302
3493
  }
3303
3494
  else {
3304
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
3495
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
3305
3496
  }
3306
3497
  });
3307
3498
  }
@@ -3330,19 +3521,19 @@ class ConverterIntegral7 {
3330
3521
  if (equipmentContainer) {
3331
3522
  asynchronousMachine.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
3332
3523
  this.cimModel.addAsynchronousMachine(asynchronousMachine);
3333
- this.integralID2UUID.set(i7Data.id, asynchronousMachine.mrid);
3524
+ this.addIdMapping(i7Data.id, asynchronousMachine.mrid, integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR);
3334
3525
  }
3335
3526
  else {
3336
- this.logger.info(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
3527
+ this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
3337
3528
  }
3338
3529
  }
3339
3530
  else {
3340
- this.logger.info(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
3531
+ this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
3341
3532
  }
3342
3533
  }
3343
3534
  }
3344
3535
  else {
3345
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
3536
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
3346
3537
  }
3347
3538
  });
3348
3539
  }
@@ -3352,9 +3543,15 @@ class ConverterIntegral7 {
3352
3543
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, 0, 0, knotenIDs));
3353
3544
  for (const i7Data of result) {
3354
3545
  const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Data.kommentar);
3546
+ if (shunt.mrid === '2e35adfe3cd04707b24e4c1df705c086') {
3547
+ console.log();
3548
+ }
3355
3549
  shunt.normalSections = i7Data.aktstufe;
3356
3550
  shunt.maximumSections = i7Data.maxstufe;
3357
3551
  shunt.nomU = i7Data.ur;
3552
+ shunt.gPerSection = i7Data.pr / Math.pow(i7Data.ur, 2);
3553
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3554
+ __1.createSvStatus(this.cimModel, inBetrieb, shunt);
3358
3555
  const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
3359
3556
  const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
3360
3557
  if (spannungsregelungLokal || spannungsregelungRemote) {
@@ -3363,10 +3560,9 @@ class ConverterIntegral7 {
3363
3560
  regulatingControl.discrete = true;
3364
3561
  regulatingControl.targetDeadband = i7Data.uband;
3365
3562
  regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
3563
+ regulatingControl.enabled = inBetrieb;
3366
3564
  shunt.regulatingControl = regulatingControl;
3367
3565
  }
3368
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3369
- __1.createSvStatus(this.cimModel, inBetrieb, shunt);
3370
3566
  const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3371
3567
  if (connectivityNode) {
3372
3568
  const terminal = __1.createConnection(this.cimModel, shunt, connectivityNode, __1.PhaseCode.ABC);
@@ -3378,19 +3574,19 @@ class ConverterIntegral7 {
3378
3574
  if (equipmentContainer) {
3379
3575
  shunt.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
3380
3576
  this.cimModel.addLinearShuntCompensator(shunt);
3381
- this.integralID2UUID.set(i7Data.id, shunt.mrid);
3577
+ this.addIdMapping(i7Data.id, shunt.mrid, integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL);
3382
3578
  }
3383
3579
  else {
3384
- this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3580
+ this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3385
3581
  }
3386
3582
  }
3387
3583
  else {
3388
- this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3584
+ this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3389
3585
  }
3390
3586
  }
3391
3587
  }
3392
3588
  else {
3393
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3589
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3394
3590
  }
3395
3591
  });
3396
3592
  }
@@ -3403,16 +3599,21 @@ class ConverterIntegral7 {
3403
3599
  shunt.normalSections = i7Data.aktstufe;
3404
3600
  shunt.maximumSections = i7Data.maxstufe;
3405
3601
  shunt.nomU = i7Data.ur;
3602
+ shunt.gPerSection = i7Data.pr / Math.pow(i7Data.ur, 2);
3603
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3604
+ __1.createSvStatus(this.cimModel, inBetrieb, shunt);
3406
3605
  const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
3407
3606
  const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
3408
3607
  if (spannungsregelungLokal || spannungsregelungRemote) {
3409
- const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Kompkons ${i7Data.id}`);
3608
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Kompkond ${i7Data.id}`);
3410
3609
  regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
3610
+ regulatingControl.discrete = true;
3611
+ regulatingControl.enabled = inBetrieb;
3612
+ regulatingControl.targetDeadband = i7Data.uband;
3613
+ regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
3411
3614
  shunt.regulatingControl = regulatingControl;
3412
3615
  this.cimModel.addRegulatingControl(shunt.regulatingControl);
3413
3616
  }
3414
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3415
- __1.createSvStatus(this.cimModel, inBetrieb, shunt);
3416
3617
  const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3417
3618
  if (connectivityNode) {
3418
3619
  const terminal = __1.createConnection(this.cimModel, shunt, connectivityNode, __1.PhaseCode.ABC);
@@ -3423,19 +3624,19 @@ class ConverterIntegral7 {
3423
3624
  if (equipmentContainer) {
3424
3625
  shunt.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
3425
3626
  this.cimModel.addLinearShuntCompensator(shunt);
3426
- this.integralID2UUID.set(i7Data.id, shunt.mrid);
3627
+ this.addIdMapping(i7Data.id, shunt.mrid, integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL);
3427
3628
  }
3428
3629
  else {
3429
- this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3630
+ this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3430
3631
  }
3431
3632
  }
3432
3633
  else {
3433
- this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3634
+ this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3434
3635
  }
3435
3636
  }
3436
3637
  }
3437
3638
  else {
3438
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3639
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3439
3640
  }
3440
3641
  });
3441
3642
  }
@@ -3449,12 +3650,12 @@ class ConverterIntegral7 {
3449
3650
  diagram.orientation = __1.OrientationKind.negative;
3450
3651
  diagram.diagramStyle = this.cimModel.getDiagramStyle(__1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
3451
3652
  this.cimModel.addDiagram(diagram);
3452
- this.integralID2UUID.set(i7Data.id, diagram.mrid);
3653
+ this.i7SchemaID2UUID.set(i7Data.id, diagram.mrid);
3453
3654
  }
3454
3655
  }
3455
3656
  }
3456
3657
  else {
3457
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
3658
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
3458
3659
  }
3459
3660
  });
3460
3661
  }
@@ -3470,6 +3671,15 @@ class ConverterIntegral7 {
3470
3671
  object.c0 = +data.c0;
3471
3672
  object.ratedCurrent = +data.ir;
3472
3673
  }
3674
+ queryFunctionWrapper(query) {
3675
+ return new Promise((resolve, reject) => {
3676
+ this.queryFunction(query, (successResponse) => {
3677
+ resolve(successResponse);
3678
+ }, (errorResponse) => {
3679
+ reject(errorResponse);
3680
+ });
3681
+ });
3682
+ }
3473
3683
  setACLineSegmentProperties(acLineSegment, data, psrTypeName, defaultValuesConfig) {
3474
3684
  if (!acLineSegment.baseVoltage) {
3475
3685
  const un = utils_2.getU(data.un, defaultValuesConfig.DefaultVoltage);
@@ -3479,8 +3689,6 @@ class ConverterIntegral7 {
3479
3689
  if (data.laenge) {
3480
3690
  acLineSegment.length = data.laenge;
3481
3691
  }
3482
- else {
3483
- }
3484
3692
  const assetType = this.cimModel.getWireInfoByName(data.nametyp);
3485
3693
  if (data.r0 && data.r0 !== 0) {
3486
3694
  acLineSegment.r0 = data.laenge <= 0 ? data.r0 : data.r0;
@@ -3524,9 +3732,15 @@ class ConverterIntegral7 {
3524
3732
  else {
3525
3733
  }
3526
3734
  }
3527
- const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, psrTypeName);
3735
+ const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, data.typ);
3528
3736
  acLineSegment.psrTypeUUID = psrType.mrid;
3529
3737
  }
3738
+ setACLineSegmentCurrentLimt(acLineSegment, nametyp, terminalUUID) {
3739
+ const assetType = this.cimModel.getWireInfoByName(nametyp);
3740
+ if (assetType && assetType.ratedCurrent && assetType.ratedCurrent !== 0) {
3741
+ this.setConductingEquipmentCurrentLimit(acLineSegment.name, terminalUUID, assetType.ratedCurrent);
3742
+ }
3743
+ }
3530
3744
  setConductingEquipmentCurrentLimit(name, terminalUUID, ir) {
3531
3745
  const currentLimit = new __1.CurrentLimit(__1.generateUUID(), `${name}`);
3532
3746
  this.cimModel.addCurrentLimit(currentLimit);
@@ -3566,37 +3780,6 @@ class ConverterIntegral7 {
3566
3780
  wicklung.uMax = data[umax];
3567
3781
  wicklung.uMin = data[umin];
3568
3782
  }
3569
- convertSchemaBayElements(bay, diagram, saAusrichtung, deltaAusrichtung) {
3570
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3571
- for (const eqiup of bay.equipments) {
3572
- if (eqiup instanceof __1.Disconnector) {
3573
- const disconnector = eqiup;
3574
- for (const terminal of disconnector.terminals.values()) {
3575
- const connectedCE = utils_schema_1.isConnectedTo(terminal.connectivityNode, 'BusbarSection');
3576
- if (connectedCE && terminal.connectivityNode.diagramObjects.length > 0) {
3577
- const diagramObjectSSAB = utils_schema_1.getDiagramObjectBelonginToDiagram(terminal.connectivityNode.diagramObjects, diagram.mrid);
3578
- const diagramObjectBay = utils_schema_1.getDiagramObjectBelonginToDiagram(bay.diagramObjects, diagram.mrid);
3579
- if (diagramObjectSSAB && diagramObjectBay) {
3580
- const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'SSAB Trenner');
3581
- if (saAusrichtung === 0) {
3582
- const x = diagramObjectBay.diagramObjectPoints[0].xPosition + 16;
3583
- const y = diagramObjectSSAB.diagramObjectPoints[0].yPosition + 0.5;
3584
- const points = [new Point_1.Point(x, y)];
3585
- utils_schema_1.createDiagramObjectPoints(diagramObject, points);
3586
- eqiup.addDiagramObject(diagramObject);
3587
- diagramObject.identifiedObject = eqiup;
3588
- diagram.addDiagramObject(diagramObject);
3589
- diagramObject.diagram = diagram;
3590
- }
3591
- }
3592
- }
3593
- else {
3594
- }
3595
- }
3596
- }
3597
- }
3598
- });
3599
- }
3600
3783
  writeHeaderStart(xmlWriter, profileURI) {
3601
3784
  xmlWriter.startDocument('1.0', 'UTF-8');
3602
3785
  xmlWriter.startElementNS(__1.RDF_XML.RDF_NS_PREFIX, 'RDF', __1.RDF_XML.RDF_NS);
@@ -3615,10 +3798,10 @@ class ConverterIntegral7 {
3615
3798
  xmlWriter.endElement();
3616
3799
  xmlWriter.endDocument();
3617
3800
  }
3618
- objectToCIMXML(xmlWriter, values, profileName, defaultValuesConfig) {
3801
+ objectToCIMXML(xmlWriter, values, profileName, defaultValuesConfig, logger) {
3619
3802
  cgmes_validator_1.validateCGMESData(values, defaultValuesConfig);
3620
3803
  for (const object of values.values()) {
3621
- object.toCIMXML(xmlWriter, profileName);
3804
+ object.toCIMXML(xmlWriter, profileName, logger);
3622
3805
  }
3623
3806
  }
3624
3807
  objectArrayToCIMXML(xmlWriter, values, profileName) {
@@ -3633,15 +3816,6 @@ class ConverterIntegral7 {
3633
3816
  }
3634
3817
  return false;
3635
3818
  }
3636
- queryFunctionWrapper(query) {
3637
- return new Promise((resolve, reject) => {
3638
- this.queryFunction(query, (successResponse) => {
3639
- resolve(successResponse);
3640
- }, (errorResponse) => {
3641
- reject(errorResponse);
3642
- });
3643
- });
3644
- }
3645
3819
  queryFunction(query, successCallback, errorCallback) {
3646
3820
  this.mysqlConnection.query(query, (error, results, fields) => {
3647
3821
  if (error)
@@ -3649,6 +3823,9 @@ class ConverterIntegral7 {
3649
3823
  successCallback(results);
3650
3824
  });
3651
3825
  }
3826
+ openConnection() {
3827
+ this.mysqlConnection.connect();
3828
+ }
3652
3829
  isTableAvailable(tableName) {
3653
3830
  return this.availableTableNames.indexOf(tableName) > -1 ? true : false;
3654
3831
  }
@@ -3661,13 +3838,26 @@ class ConverterIntegral7 {
3661
3838
  password: mySqlConfig.password,
3662
3839
  });
3663
3840
  }
3664
- openConnection() {
3665
- this.mysqlConnection.connect();
3666
- }
3667
3841
  closeConnection() {
3668
3842
  this.mysqlConnection.end();
3669
3843
  }
3844
+ checkRegelungsknotenTerminals(schlaufenTerminals) {
3845
+ for (const terminal of schlaufenTerminals) {
3846
+ const cnI7IDs = this.UUID2Integral7ID_.get(terminal.connectivityNodeUUID);
3847
+ if (!cnI7IDs)
3848
+ continue;
3849
+ const spData = this.knotenSpannungsband.get(cnI7IDs.find(elem => elem));
3850
+ if (spData) {
3851
+ spData.terminals.push({ uuid: terminal.mrid, connected: terminal.connected });
3852
+ }
3853
+ }
3854
+ }
3670
3855
  addDefaultObjects(defaultValuesConfig) {
3856
+ const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
3857
+ region.description = defaultValuesConfig.GeographicalRegion.description;
3858
+ const subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
3859
+ subregion.shortName = defaultValuesConfig.SubGeographicalRegion.shortName;
3860
+ subregion.description = defaultValuesConfig.SubGeographicalRegion.description;
3671
3861
  const loadArea = new LoadArea_1.LoadArea(__1.generateUUID(), defaultValuesConfig.LoadArea.name);
3672
3862
  this.cimModel.addLoadArea(loadArea);
3673
3863
  const subLoadArea = new SubLoadArea_1.SubLoadArea(__1.generateUUID(), defaultValuesConfig.SubLoadArea.name);
@@ -3681,6 +3871,23 @@ class ConverterIntegral7 {
3681
3871
  coordinateSystem.crsUrn = crsUrn;
3682
3872
  this.cimModel.addCoordinateSystem(coordinateSystem);
3683
3873
  }
3874
+ addIdMapping(i7ID, uuid, type) {
3875
+ if (this.integralID2UUID.has(i7ID)) {
3876
+ console.log(`ID ${i7ID} existiert bereits. Typ ${this.integralID2Type.get(i7ID)} neuer Typ ${type}`);
3877
+ }
3878
+ else {
3879
+ this.integralID2UUID.set(i7ID, uuid);
3880
+ this.integralID2Type.set(i7ID, type);
3881
+ }
3882
+ }
3883
+ addUUIDMapping(i7ID, uuid) {
3884
+ if (this.UUID2Integral7ID_.has(uuid)) {
3885
+ this.UUID2Integral7ID_.get(uuid).push(i7ID);
3886
+ }
3887
+ else {
3888
+ this.UUID2Integral7ID_.set(uuid, [i7ID]);
3889
+ }
3890
+ }
3684
3891
  }
3685
3892
  exports.ConverterIntegral7 = ConverterIntegral7;
3686
3893
  function getVoltageLevelByVoltage(subVlData, ur) {
@@ -3701,20 +3908,21 @@ exports.getVoltageLevelByVoltage = getVoltageLevelByVoltage;
3701
3908
  function validateRegulatingControls(regulatingControls, logger, type) {
3702
3909
  for (const rg of regulatingControls.values()) {
3703
3910
  if (!rg.name)
3704
- logger.info(`RegulatingControl ohne Namen | ${type}`);
3911
+ logger.debug(`RegulatingControl ohne Namen | ${type}`);
3705
3912
  const terminalUUID = rg.terminal ? rg.terminal.mrid : rg.terminalUUID;
3706
3913
  if (!terminalUUID)
3707
- logger.info(`RegulatingControl ohne Terminal ${rg.name} | ${type}`);
3914
+ logger.debug(`RegulatingControl ohne Terminal ${rg.name} | ${type}`);
3708
3915
  }
3709
3916
  }
3710
3917
  function getGeoCoordinates(i7Data) {
3711
- if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s) {
3918
+ if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s &&
3919
+ i7Data.geokoor_pl_laenge_h && i7Data.geokoor_pl_laenge_m && i7Data.geokoor_pl_laenge_s) {
3712
3920
  const lon = (((i7Data.geokoor_pl_laenge_s / 60) + i7Data.geokoor_pl_laenge_m) / 60) + i7Data.geokoor_pl_laenge_h;
3713
3921
  const lat = (((i7Data.geokoor_pl_breite_s / 60) + i7Data.geokoor_pl_breite_m) / 60) + i7Data.geokoor_pl_breite_h;
3714
3922
  return [String(lon), String(lat)];
3715
3923
  }
3716
- if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_laenge_s) {
3717
- return [String(i7Data.geokoor_pl_laenge_s), String(i7Data.geokoor_pl_breite_s)];
3924
+ if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_laenge_h) {
3925
+ return [String(i7Data.geokoor_pl_laenge_h), String(i7Data.geokoor_pl_breite_h)];
3718
3926
  }
3719
3927
  return undefined;
3720
3928
  }
@@ -3736,7 +3944,17 @@ function getValidTerminals(objects, inMemoryObjects) {
3736
3944
  return exportTerminals;
3737
3945
  }
3738
3946
  exports.getValidTerminals = getValidTerminals;
3739
- function validateInMemoryObjects(objects) {
3947
+ function getValidTapChangerControls(objects) {
3948
+ const exportInstances = new Map();
3949
+ for (const value of objects.values()) {
3950
+ if (value.terminal || value.terminalUUID) {
3951
+ exportInstances.set(value.mrid, value);
3952
+ }
3953
+ }
3954
+ return exportInstances;
3955
+ }
3956
+ exports.getValidTapChangerControls = getValidTapChangerControls;
3957
+ function validateInMemoryObjects(objects, logger) {
3740
3958
  const exportTerminals = new Map();
3741
3959
  for (const entry of objects.entries()) {
3742
3960
  const value = entry[1];
@@ -3746,11 +3964,11 @@ function validateInMemoryObjects(objects) {
3746
3964
  (terminal.connectivityNode || terminal.connectivityNodeUUID)) {
3747
3965
  exportTerminals.set(value.mrid, value);
3748
3966
  }
3749
- if (terminal.conductingEquipment && terminal.conductingEquipmentUUID) {
3750
- this.logger.info(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3967
+ if (!terminal.conductingEquipment && !terminal.conductingEquipmentUUID) {
3968
+ logger.debug(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3751
3969
  }
3752
- if (terminal.connectivityNode && terminal.connectivityNodeUUID) {
3753
- this.logger.info(`Terminal ohne connectivityNode UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3970
+ if (!terminal.connectivityNode && !terminal.connectivityNodeUUID) {
3971
+ logger.debug(`Terminal ohne connectivityNode UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3754
3972
  }
3755
3973
  }
3756
3974
  }