@enervance/insight-cim-model 0.0.25 → 0.0.27

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 +58 -0
  2. package/dist/analysis/analysis-neplan/digi-ons.js +361 -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/westnetz-neplan/callbacks/cb-connectivitynode.js +1 -1
  8. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  9. package/dist/config/westnetz-neplan/neplan-load.config.d.ts +1 -0
  10. package/dist/config/westnetz-neplan/neplan-load.config.js +37 -1
  11. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  12. package/dist/constants/cim-class-definition.js +12 -0
  13. package/dist/constants/cim-class-definition.js.map +1 -1
  14. package/dist/constants/cim-class-names.d.ts +8 -0
  15. package/dist/constants/cim-class-names.js +8 -0
  16. package/dist/constants/cim-class-names.js.map +1 -1
  17. package/dist/constants/init-data/JENA_SPARQL.js +1 -1
  18. package/dist/constants/init-data/xml/settings.d.ts +1 -0
  19. package/dist/constants/init-data/xml/settings.js +70 -0
  20. package/dist/constants/init-data/xml/settings.js.map +1 -0
  21. package/dist/constants/rdf-xml.d.ts +7 -2
  22. package/dist/constants/rdf-xml.js +7 -2
  23. package/dist/constants/rdf-xml.js.map +1 -1
  24. package/dist/converter/cgmes-validator.js +2 -0
  25. package/dist/converter/cgmes-validator.js.map +1 -1
  26. package/dist/converter/integral7/ConverterIntegral7.d.ts +51 -21
  27. package/dist/converter/integral7/ConverterIntegral7.js +1097 -1385
  28. package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
  29. package/dist/converter/integral7/converter-i7.d.ts +175 -0
  30. package/dist/converter/integral7/converter-i7.js +3175 -0
  31. package/dist/converter/integral7/converter-i7.js.map +1 -0
  32. package/dist/converter/integral7/interface-i7/IDefaultValuesConfig.d.ts +207 -157
  33. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.d.ts +8 -0
  34. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js +3 -0
  35. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js.map +1 -0
  36. package/dist/converter/integral7/interface-i7/IUkzExportConfig.d.ts +5 -0
  37. package/dist/converter/integral7/interface-i7/{db-config.js → IUkzExportConfig.js} +1 -1
  38. package/dist/converter/integral7/interface-i7/IUkzExportConfig.js.map +1 -0
  39. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +34 -0
  40. package/dist/converter/integral7/interface-i7/data-structures-i7.js +3 -0
  41. package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -0
  42. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +20 -0
  43. package/dist/converter/integral7/interface-i7/export-frame-i7.js +185 -0
  44. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -0
  45. package/dist/converter/integral7/model/interfaces.d.ts +30 -7
  46. package/dist/converter/integral7/sql/integral.sql.d.ts +3 -1
  47. package/dist/converter/integral7/sql/integral.sql.js +236 -2
  48. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  49. package/dist/converter/integral7/utils-cgmes-export.d.ts +15 -0
  50. package/dist/converter/integral7/utils-cgmes-export.js +119 -0
  51. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -0
  52. package/dist/converter/integral7/utils.d.ts +33 -6
  53. package/dist/converter/integral7/utils.js +352 -66
  54. package/dist/converter/integral7/utils.js.map +1 -1
  55. package/dist/data-structures/Settings.d.ts +16 -0
  56. package/dist/data-structures/Settings.js +74 -0
  57. package/dist/data-structures/Settings.js.map +1 -0
  58. package/dist/data-structures/graph/GraphObject.d.ts +4 -2
  59. package/dist/data-structures/graph/GraphObject.js +3 -1
  60. package/dist/data-structures/graph/GraphObject.js.map +1 -1
  61. package/dist/data-structures/graph/Types.d.ts +2 -1
  62. package/dist/data-structures/graph/Types.js +1 -0
  63. package/dist/data-structures/graph/Types.js.map +1 -1
  64. package/dist/data-structures/graph/edges/GraphEdge.d.ts +2 -1
  65. package/dist/data-structures/graph/edges/GraphEdge.js +2 -2
  66. package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
  67. package/dist/data-structures/graph/graph.js +3 -3
  68. package/dist/data-structures/graph/graph.js.map +1 -1
  69. package/dist/data-structures/graph/nodes/GraphNode.d.ts +2 -1
  70. package/dist/data-structures/graph/nodes/GraphNode.js +2 -2
  71. package/dist/data-structures/graph/nodes/GraphNode.js.map +1 -1
  72. package/dist/data-structures/tree/GraphTree.js +3 -3
  73. package/dist/data-structures/tree/GraphTree.js.map +1 -1
  74. package/dist/data-structures/tree/GraphTreeEdge.d.ts +1 -1
  75. package/dist/data-structures/tree/GraphTreeEdge.js +2 -2
  76. package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -1
  77. package/dist/data-structures/tree/GraphTreeNode.d.ts +1 -1
  78. package/dist/data-structures/tree/GraphTreeNode.js +2 -2
  79. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
  80. package/dist/data-structures/tree/GraphTreeObject.d.ts +2 -1
  81. package/dist/data-structures/tree/GraphTreeObject.js +2 -1
  82. package/dist/data-structures/tree/GraphTreeObject.js.map +1 -1
  83. package/dist/etl/etl-neplan/etl-neplan-csv.js +70 -63
  84. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  85. package/dist/etl/etl-neplan/etl-neplan-feederline.d.ts +20 -0
  86. package/dist/etl/etl-neplan/etl-neplan-feederline.js +83 -2
  87. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  88. package/dist/etl/etl-neplan/etl-neplan-geo.d.ts +5 -0
  89. package/dist/etl/etl-neplan/etl-neplan-geo.js +221 -1
  90. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  91. package/dist/etl/etl-neplan/etl-neplan.js +4 -1
  92. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  93. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +4 -4
  94. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  95. package/dist/index.d.ts +6 -4
  96. package/dist/index.js +22 -0
  97. package/dist/index.js.map +1 -1
  98. package/dist/interfaces/ILogger.d.ts +2 -0
  99. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +3 -1
  100. package/dist/model/assetinfo/PowerTransformerInfo.js +2 -2
  101. package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
  102. package/dist/model/assetinfo/TapChangerInfo.js +17 -15
  103. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  104. package/dist/model/assetinfo/TransformerEndInfo.js +7 -5
  105. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  106. package/dist/model/assetinfo/WireInfo.js +4 -3
  107. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  108. package/dist/model/assets/Structure.d.ts +6 -0
  109. package/dist/model/assets/Structure.js +11 -0
  110. package/dist/model/assets/Structure.js.map +1 -0
  111. package/dist/model/assets/TowerConstructionKind.d.ts +4 -0
  112. package/dist/model/assets/TowerConstructionKind.js +9 -0
  113. package/dist/model/assets/TowerConstructionKind.js.map +1 -0
  114. package/dist/model/common/CoordinateSystem.js +4 -2
  115. package/dist/model/common/CoordinateSystem.js.map +1 -1
  116. package/dist/model/common/Location.js +4 -3
  117. package/dist/model/common/Location.js.map +1 -1
  118. package/dist/model/common/PositionPoint.js +6 -5
  119. package/dist/model/common/PositionPoint.js.map +1 -1
  120. package/dist/model/core/ACDCTerminal.d.ts +3 -1
  121. package/dist/model/core/ACDCTerminal.js +9 -4
  122. package/dist/model/core/ACDCTerminal.js.map +1 -1
  123. package/dist/model/core/BaseVoltage.js +5 -4
  124. package/dist/model/core/BaseVoltage.js.map +1 -1
  125. package/dist/model/core/Bay.d.ts +1 -0
  126. package/dist/model/core/Bay.js +13 -8
  127. package/dist/model/core/Bay.js.map +1 -1
  128. package/dist/model/core/ConductingEquipment.js +2 -1
  129. package/dist/model/core/ConductingEquipment.js.map +1 -1
  130. package/dist/model/core/ConnectivityNode.d.ts +8 -1
  131. package/dist/model/core/ConnectivityNode.js +22 -6
  132. package/dist/model/core/ConnectivityNode.js.map +1 -1
  133. package/dist/model/core/Curve.js +5 -5
  134. package/dist/model/core/Curve.js.map +1 -1
  135. package/dist/model/core/CurveData.js +8 -7
  136. package/dist/model/core/CurveData.js.map +1 -1
  137. package/dist/model/core/Equipment.js +7 -9
  138. package/dist/model/core/Equipment.js.map +1 -1
  139. package/dist/model/core/Feeder.js +4 -3
  140. package/dist/model/core/Feeder.js.map +1 -1
  141. package/dist/model/core/GeographicalRegion.js +3 -3
  142. package/dist/model/core/GeographicalRegion.js.map +1 -1
  143. package/dist/model/core/IdentifiedObject.d.ts +5 -3
  144. package/dist/model/core/IdentifiedObject.js +18 -9
  145. package/dist/model/core/IdentifiedObject.js.map +1 -1
  146. package/dist/model/core/PSRType.js +2 -2
  147. package/dist/model/core/PSRType.js.map +1 -1
  148. package/dist/model/core/PowerSystemResource.js +2 -1
  149. package/dist/model/core/PowerSystemResource.js.map +1 -1
  150. package/dist/model/core/SubGeographicalRegion.js +5 -5
  151. package/dist/model/core/SubGeographicalRegion.js.map +1 -1
  152. package/dist/model/core/Substation.d.ts +1 -0
  153. package/dist/model/core/Substation.js +7 -4
  154. package/dist/model/core/Substation.js.map +1 -1
  155. package/dist/model/core/Terminal.d.ts +7 -3
  156. package/dist/model/core/Terminal.js +31 -13
  157. package/dist/model/core/Terminal.js.map +1 -1
  158. package/dist/model/core/VoltageLevel.js +10 -14
  159. package/dist/model/core/VoltageLevel.js.map +1 -1
  160. package/dist/model/dc/ACDCConverter.js +22 -21
  161. package/dist/model/dc/ACDCConverter.js.map +1 -1
  162. package/dist/model/dc/ACDCConverterDCTerminal.js +4 -4
  163. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  164. package/dist/model/dc/CsConverter.js +18 -18
  165. package/dist/model/dc/CsConverter.js.map +1 -1
  166. package/dist/model/dc/DCBaseTerminal.js +3 -3
  167. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  168. package/dist/model/dc/DCConverterUnit.js +4 -4
  169. package/dist/model/dc/DCConverterUnit.js.map +1 -1
  170. package/dist/model/dc/DCLine.js +2 -2
  171. package/dist/model/dc/DCLine.js.map +1 -1
  172. package/dist/model/dc/DCLineSegment.js +6 -6
  173. package/dist/model/dc/DCLineSegment.js.map +1 -1
  174. package/dist/model/dc/DCNode.js +3 -3
  175. package/dist/model/dc/DCNode.js.map +1 -1
  176. package/dist/model/dc/DCTerminal.js +3 -3
  177. package/dist/model/dc/DCTerminal.js.map +1 -1
  178. package/dist/model/dc/VsConverter.js +17 -17
  179. package/dist/model/dc/VsConverter.js.map +1 -1
  180. package/dist/model/diagram/Diagram.js +4 -4
  181. package/dist/model/diagram/Diagram.js.map +1 -1
  182. package/dist/model/diagram/DiagramObject.d.ts +4 -3
  183. package/dist/model/diagram/DiagramObject.js +22 -9
  184. package/dist/model/diagram/DiagramObject.js.map +1 -1
  185. package/dist/model/diagram/DiagramObjectPoint.d.ts +6 -5
  186. package/dist/model/diagram/DiagramObjectPoint.js +22 -9
  187. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  188. package/dist/model/diagram/DiagramStyle.js +4 -3
  189. package/dist/model/diagram/DiagramStyle.js.map +1 -1
  190. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.d.ts +16 -0
  191. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.js +23 -0
  192. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.js.map +1 -0
  193. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.d.ts +8 -0
  194. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +22 -0
  195. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -0
  196. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.d.ts +9 -0
  197. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js +8 -0
  198. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js.map +1 -0
  199. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.d.ts +8 -0
  200. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js +8 -0
  201. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js.map +1 -0
  202. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.d.ts +7 -0
  203. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +16 -0
  204. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -0
  205. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.d.ts +25 -0
  206. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +61 -0
  207. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -0
  208. package/dist/model/equivalents/EquivalentBranch.js +19 -17
  209. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  210. package/dist/model/equivalents/EquivalentInjection.d.ts +25 -0
  211. package/dist/model/equivalents/EquivalentInjection.js +93 -0
  212. package/dist/model/equivalents/EquivalentInjection.js.map +1 -0
  213. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.d.ts +22 -0
  214. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +90 -0
  215. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -0
  216. package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +25 -0
  217. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +98 -0
  218. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -0
  219. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.d.ts +27 -0
  220. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +99 -0
  221. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -0
  222. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.d.ts +9 -0
  223. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.js +14 -0
  224. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.js.map +1 -0
  225. package/dist/model/extensions/amprion/assets/AMPRIONTower.d.ts +34 -0
  226. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +103 -0
  227. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -0
  228. package/dist/model/extensions/amprion/assets/AMPRIONWire.d.ts +38 -0
  229. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +120 -0
  230. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -0
  231. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.d.ts +5 -0
  232. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.js +10 -0
  233. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.js.map +1 -0
  234. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.d.ts +11 -0
  235. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.js +16 -0
  236. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.js.map +1 -0
  237. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.d.ts +6 -0
  238. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.js +11 -0
  239. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.js.map +1 -0
  240. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.d.ts +10 -0
  241. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js +15 -0
  242. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js.map +1 -0
  243. package/dist/model/extensions/amprion/core/AMPRIONBay.js +5 -4
  244. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  245. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +5 -5
  246. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  247. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +5 -0
  248. package/dist/model/extensions/amprion/core/AMPRIONLine.js +33 -0
  249. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -0
  250. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +15 -0
  251. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +93 -0
  252. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -0
  253. package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +22 -2
  254. package/dist/model/extensions/amprion/model/AMPRIONModel.js +57 -3
  255. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -1
  256. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.d.ts +2 -0
  257. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +2 -2
  258. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  259. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +30 -30
  260. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  261. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +13 -0
  262. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +80 -0
  263. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -0
  264. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js +4 -4
  265. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
  266. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +9 -8
  267. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
  268. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +9 -8
  269. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
  270. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +14 -13
  271. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
  272. package/dist/model/extensions/enervance/assets/EVWireObject.d.ts +1 -1
  273. package/dist/model/extensions/enervance/assets/EVWireObject.js +10 -5
  274. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
  275. package/dist/model/extensions/enervance/core/EVTerminal.d.ts +3 -0
  276. package/dist/model/extensions/enervance/core/EVTerminal.js +19 -0
  277. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  278. package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +1 -1
  279. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +3 -3
  280. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  281. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  282. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +1 -1
  283. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +22 -2
  284. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  285. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.d.ts +5 -0
  286. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +14 -0
  287. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -0
  288. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +3 -2
  289. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
  290. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +10 -3
  291. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +147 -98
  292. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  293. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +8 -2
  294. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +80 -9
  295. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  296. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +5 -4
  297. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +114 -45
  298. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  299. package/dist/model/generation/FossilFuel.js +4 -4
  300. package/dist/model/generation/FossilFuel.js.map +1 -1
  301. package/dist/model/generation/GeneratingUnit.js +7 -6
  302. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  303. package/dist/model/generation/HydroGeneratingUnit.d.ts +3 -0
  304. package/dist/model/generation/HydroGeneratingUnit.js +21 -0
  305. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  306. package/dist/model/generation/SolarGeneratingUnit.d.ts +2 -0
  307. package/dist/model/generation/SolarGeneratingUnit.js +13 -0
  308. package/dist/model/generation/SolarGeneratingUnit.js.map +1 -1
  309. package/dist/model/generation/ThermalGeneratingUnit.js +2 -2
  310. package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
  311. package/dist/model/generation/WindGeneratingUnit.js +3 -3
  312. package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
  313. package/dist/model/loadmodel/ConformLoad.js +3 -3
  314. package/dist/model/loadmodel/ConformLoad.js.map +1 -1
  315. package/dist/model/loadmodel/ConformLoadGroup.js +2 -2
  316. package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
  317. package/dist/model/loadmodel/LoadArea.js +2 -2
  318. package/dist/model/loadmodel/LoadArea.js.map +1 -1
  319. package/dist/model/loadmodel/LoadGroup.js +2 -2
  320. package/dist/model/loadmodel/LoadGroup.js.map +1 -1
  321. package/dist/model/loadmodel/SubLoadArea.js +3 -3
  322. package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
  323. package/dist/model/model/Model.d.ts +34 -2
  324. package/dist/model/model/Model.js +86 -12
  325. package/dist/model/model/Model.js.map +1 -1
  326. package/dist/model/operationallimits/CurrentLimit.js +3 -2
  327. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  328. package/dist/model/operationallimits/OperationalLimit.js +7 -14
  329. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  330. package/dist/model/operationallimits/OperationalLimitSet.js +5 -8
  331. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  332. package/dist/model/operationallimits/OperationalLimitType.js +4 -4
  333. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  334. package/dist/model/operationallimits/VoltageLimit.d.ts +9 -0
  335. package/dist/model/operationallimits/VoltageLimit.js +38 -0
  336. package/dist/model/operationallimits/VoltageLimit.js.map +1 -0
  337. package/dist/model/statevariables/SvPowerFlow.js +5 -5
  338. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  339. package/dist/model/statevariables/SvStatus.js +5 -5
  340. package/dist/model/statevariables/SvStatus.js.map +1 -1
  341. package/dist/model/statevariables/SvTapStep.js +5 -5
  342. package/dist/model/statevariables/SvTapStep.js.map +1 -1
  343. package/dist/model/topology/TopologicalNode.js +5 -4
  344. package/dist/model/topology/TopologicalNode.js.map +1 -1
  345. package/dist/model/wires/ACLineSegment.js +12 -11
  346. package/dist/model/wires/ACLineSegment.js.map +1 -1
  347. package/dist/model/wires/AsynchronousMachine.js +20 -20
  348. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  349. package/dist/model/wires/Breaker.js +2 -2
  350. package/dist/model/wires/Breaker.js.map +1 -1
  351. package/dist/model/wires/BusbarSection.js +3 -3
  352. package/dist/model/wires/BusbarSection.js.map +1 -1
  353. package/dist/model/wires/Conductor.js +8 -2
  354. package/dist/model/wires/Conductor.js.map +1 -1
  355. package/dist/model/wires/Disconnector.js +2 -2
  356. package/dist/model/wires/Disconnector.js.map +1 -1
  357. package/dist/model/wires/EarthFaultCompensator.js +2 -1
  358. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  359. package/dist/model/wires/EnergyConsumer.js +10 -9
  360. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  361. package/dist/model/wires/EnergySource.js +13 -12
  362. package/dist/model/wires/EnergySource.js.map +1 -1
  363. package/dist/model/wires/ExternalNetworkInjection.js +20 -19
  364. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  365. package/dist/model/wires/GroundingImpedance.js +3 -3
  366. package/dist/model/wires/GroundingImpedance.js.map +1 -1
  367. package/dist/model/wires/Junction.js +3 -3
  368. package/dist/model/wires/Junction.js.map +1 -1
  369. package/dist/model/wires/Line.d.ts +3 -0
  370. package/dist/model/wires/Line.js +20 -5
  371. package/dist/model/wires/Line.js.map +1 -1
  372. package/dist/model/wires/LinearShuntCompensator.js +6 -6
  373. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  374. package/dist/model/wires/PetersenCoil.js +9 -9
  375. package/dist/model/wires/PetersenCoil.js.map +1 -1
  376. package/dist/model/wires/PhaseTapChanger.d.ts +9 -0
  377. package/dist/model/wires/PhaseTapChanger.js +27 -0
  378. package/dist/model/wires/PhaseTapChanger.js.map +1 -0
  379. package/dist/model/wires/PhaseTapChangerAsymmetrical.d.ts +10 -0
  380. package/dist/model/wires/PhaseTapChangerAsymmetrical.js +41 -0
  381. package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -0
  382. package/dist/model/wires/PhaseTapChangerLinear.d.ts +12 -0
  383. package/dist/model/wires/PhaseTapChangerLinear.js +51 -0
  384. package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -0
  385. package/dist/model/wires/PhaseTapChangerNonLinear.d.ts +10 -0
  386. package/dist/model/wires/PhaseTapChangerNonLinear.js +37 -0
  387. package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -0
  388. package/dist/model/wires/PhaseTapChangerSymmetrical.d.ts +6 -0
  389. package/dist/model/wires/PhaseTapChangerSymmetrical.js +24 -0
  390. package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -0
  391. package/dist/model/wires/PhaseTapChangerTable.d.ts +14 -0
  392. package/dist/model/wires/PhaseTapChangerTable.js +44 -0
  393. package/dist/model/wires/PhaseTapChangerTable.js.map +1 -0
  394. package/dist/model/wires/PhaseTapChangerTablePoint.d.ts +15 -0
  395. package/dist/model/wires/PhaseTapChangerTablePoint.js +54 -0
  396. package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -0
  397. package/dist/model/wires/PhaseTapChangerTabular.d.ts +10 -0
  398. package/dist/model/wires/PhaseTapChangerTabular.js +38 -0
  399. package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -0
  400. package/dist/model/wires/PowerTransformer.js +3 -2
  401. package/dist/model/wires/PowerTransformer.js.map +1 -1
  402. package/dist/model/wires/PowerTransformerEnd.js +21 -21
  403. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  404. package/dist/model/wires/RatioTapChanger.d.ts +2 -0
  405. package/dist/model/wires/RatioTapChanger.js +21 -24
  406. package/dist/model/wires/RatioTapChanger.js.map +1 -1
  407. package/dist/model/wires/RatioTapChangerTable.d.ts +3 -0
  408. package/dist/model/wires/RatioTapChangerTable.js +16 -2
  409. package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
  410. package/dist/model/wires/RatioTapChangerTablePoint.js +4 -4
  411. package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
  412. package/dist/model/wires/ReactiveCapabilityCurve.js +2 -2
  413. package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
  414. package/dist/model/wires/RegulatingCondEq.js +3 -2
  415. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  416. package/dist/model/wires/RegulatingControl.js +9 -8
  417. package/dist/model/wires/RegulatingControl.js.map +1 -1
  418. package/dist/model/wires/RotatingMachine.d.ts +1 -0
  419. package/dist/model/wires/RotatingMachine.js +21 -7
  420. package/dist/model/wires/RotatingMachine.js.map +1 -1
  421. package/dist/model/wires/SeriesCompensator.js +9 -8
  422. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  423. package/dist/model/wires/ShuntCompensator.js +15 -15
  424. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  425. package/dist/model/wires/StaticVarCompensator.js +14 -14
  426. package/dist/model/wires/StaticVarCompensator.js.map +1 -1
  427. package/dist/model/wires/Switch.js +4 -3
  428. package/dist/model/wires/Switch.js.map +1 -1
  429. package/dist/model/wires/SynchronousMachine.d.ts +2 -0
  430. package/dist/model/wires/SynchronousMachine.js +28 -31
  431. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  432. package/dist/model/wires/TapChanger.d.ts +2 -0
  433. package/dist/model/wires/TapChanger.js +15 -15
  434. package/dist/model/wires/TapChanger.js.map +1 -1
  435. package/dist/model/wires/TapChangerControl.js +3 -3
  436. package/dist/model/wires/TapChangerControl.js.map +1 -1
  437. package/dist/model/wires/TapChangerTablePoint.d.ts +3 -0
  438. package/dist/model/wires/TapChangerTablePoint.js +34 -7
  439. package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
  440. package/dist/model/wires/TransformerEnd.d.ts +3 -0
  441. package/dist/model/wires/TransformerEnd.js +12 -19
  442. package/dist/model/wires/TransformerEnd.js.map +1 -1
  443. package/dist/util/collection/util-dot.d.ts +2 -0
  444. package/dist/util/collection/util-dot.js +71 -0
  445. package/dist/util/collection/util-dot.js.map +1 -0
  446. package/dist/util/collection/util-excel.d.ts +10 -0
  447. package/dist/util/collection/util-excel.js +58 -0
  448. package/dist/util/collection/util-excel.js.map +1 -0
  449. package/dist/util/collection/util-graph.d.ts +7 -0
  450. package/dist/util/collection/util-graph.js +168 -0
  451. package/dist/util/collection/util-graph.js.map +1 -0
  452. package/dist/util/collection/util-graph2tree.d.ts +39 -0
  453. package/dist/util/collection/util-graph2tree.js +172 -0
  454. package/dist/util/collection/util-graph2tree.js.map +1 -0
  455. package/dist/util/collection/util-tree.d.ts +65 -0
  456. package/dist/util/collection/util-tree.js +236 -0
  457. package/dist/util/collection/util-tree.js.map +1 -0
  458. package/dist/util/database/mysql-controller.d.ts +16 -0
  459. package/dist/util/database/mysql-controller.js +45 -0
  460. package/dist/util/database/mysql-controller.js.map +1 -0
  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-test.d.ts +18 -0
  468. package/dist/util/util-test.js +300 -0
  469. package/dist/util/util-test.js.map +1 -0
  470. package/dist/util/util-topology.js +0 -2
  471. package/dist/util/util-topology.js.map +1 -1
  472. package/dist/util/utils.d.ts +0 -12
  473. package/dist/util/utils.js +17 -33
  474. package/dist/util/utils.js.map +1 -1
  475. package/dist/util/xml/xml.serializer.d.ts +12 -0
  476. package/dist/util/xml/xml.serializer.js +33 -3
  477. package/dist/util/xml/xml.serializer.js.map +1 -1
  478. package/package.json +11 -5
  479. package/dist/converter/integral7/interface-i7/db-config.d.ts +0 -13
  480. package/dist/converter/integral7/interface-i7/db-config.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"));
@@ -11,24 +11,17 @@ const utils_trafo3w_1 = require("./utils-trafo3w");
11
11
  const integral_sql_1 = require("./sql/integral.sql");
12
12
  const path_1 = tslib_1.__importDefault(require("path"));
13
13
  const fs_1 = tslib_1.__importDefault(require("fs"));
14
- const jszip_1 = tslib_1.__importDefault(require("jszip"));
15
14
  const Standort_1 = require("./model/integral/Standort");
16
15
  const Schaltanlage_1 = require("./model/integral/Schaltanlage");
17
16
  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
17
  const Schaltfeld_1 = require("./model/integral/Schaltfeld");
24
- const SchaltfeldNsg_1 = require("./model/integral/SchaltfeldNsg");
25
18
  const KnotenSo_1 = require("./model/integral/KnotenSo");
26
- const KnotenSoNsg_1 = require("./model/integral/KnotenSoNsg");
27
19
  const Leitung_1 = require("./model/integral/Leitung");
28
20
  const TapChangerInfo_1 = require("../../model/assetinfo/TapChangerInfo");
29
21
  const AMPRIONBay_1 = require("../../model/extensions/amprion/core/AMPRIONBay");
30
22
  const AMPRIONConnectivityNode_1 = require("../../model/extensions/amprion/core/AMPRIONConnectivityNode");
31
23
  const AMPRIONSeriesCompensator_1 = require("../../model/extensions/amprion/wires/AMPRIONSeriesCompensator");
24
+ const AMPRIONSubstation_1 = require("../../model/extensions/amprion/core/AMPRIONSubstation");
32
25
  const CsConverter_1 = require("../../model/dc/CsConverter");
33
26
  const DCConverterUnit_1 = require("../../model/dc/DCConverterUnit");
34
27
  const DCNode_1 = require("../../model/dc/DCNode");
@@ -55,12 +48,17 @@ const EVPowerTransformerEndInfo_1 = require("../../model/extensions/enervance/as
55
48
  const util_create_1 = require("../../util/util-create");
56
49
  const EVPowerTransformerInfo_1 = require("../../model/extensions/enervance/assetinfo/EVPowerTransformerInfo");
57
50
  const EVWireInfo_1 = require("../../model/extensions/enervance/assetinfo/EVWireInfo");
51
+ const SynchronousMachineTimeConstantReactance_1 = require("../../model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance");
52
+ const EquivalentInjection_1 = require("../../model/equivalents/EquivalentInjection");
53
+ const xml_serializer_1 = require("../../util/xml/xml.serializer");
58
54
  class ConverterIntegral7 {
59
55
  constructor() {
60
56
  this.limit = 100;
57
+ this.i7SchemaID2UUID = new Map();
61
58
  this.integralID2UUID = new Map();
62
- this.UUID2IntegralID = new Map();
59
+ this.UUID2Integral7ID_ = new Map();
63
60
  this.statcomRegulatingControls = new Map();
61
+ this.integralID2Type = new Map();
64
62
  this.schaltfeldIDs = [];
65
63
  this.querkupplungIDs = [];
66
64
  this.laengskupplungIDs = [];
@@ -68,6 +66,9 @@ class ConverterIntegral7 {
68
66
  this.knotenSfIDs = [];
69
67
  this.leitungsIDs = [];
70
68
  this.kdrosseltypen = new Map();
69
+ this.schemaIDSchemastandort = new Map();
70
+ this.schemaIDSchaltanlage = new Map();
71
+ this.schemaIDSchaltanlagenabschnitt = new Map();
71
72
  this.integralStandorte = new Map();
72
73
  this.integralSchaltanlagen = new Map();
73
74
  this.integralSchaltanlagenAbschnitte = new Map();
@@ -91,12 +92,13 @@ class ConverterIntegral7 {
91
92
  connectivityNodes: new Map(),
92
93
  terminals: new Map()
93
94
  };
95
+ this.knotenSpannungsband = new Map();
94
96
  this.knotenSpannung = new Map();
95
97
  this.substationVoltagelevels = new Map();
96
98
  this.eqSpannungsBander = new Map();
97
99
  this.substationNames = new Map();
98
100
  this.coordinateSystemName = 'EPSG:4326';
99
- this.cimModel = new __1.Model();
101
+ this.cimModelDefaultValues = new __1.Model();
100
102
  this.availableTableNames = [];
101
103
  }
102
104
  init(mySqlConfig, logger) {
@@ -115,7 +117,9 @@ class ConverterIntegral7 {
115
117
  this.laengskondensatorAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
116
118
  this.trafo2WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO2W);
117
119
  this.trafo3WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO3W);
120
+ this.ukzDbNodes = yield this.queryFunctionWrapper(`SELECT DISTINCT ukz as name FROM (select DISTINCT ukz FROM netz_leitung UNION SELECT DISTINCT ukz FROM netz_standort) tab;`);
118
121
  yield this.queryAnschlussIDs();
122
+ yield this.querySpGeregelteKnoten();
119
123
  resolve({ status: 'successful', message: 'ok' });
120
124
  }
121
125
  catch (e) {
@@ -124,531 +128,16 @@ class ConverterIntegral7 {
124
128
  }));
125
129
  });
126
130
  }
127
- convert(defaultValuesConfig, energyTypesConfig, tempDirPath, gridName) {
128
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
129
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
130
- try {
131
- const eqProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_eq.xml`);
132
- this.writeHeaderStart(eqProfileExportObjects.xmlWriter);
133
- const modelEQUUID = __1.generateUUID();
134
- const profilesEQ = [__1.RDF_XML.EQ_CORE_PROFILE_URI, __1.RDF_XML.EQ_SC_PROFILE_URI, __1.RDF_XML.EQ_OPER_PROFILE_URI];
135
- this.cimModel.toCIMXML(eqProfileExportObjects.xmlWriter, modelEQUUID, profilesEQ, undefined, __1.RDF_XML.AMP_MAS);
136
- const dlProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_dl.xml`);
137
- this.writeHeaderStart(dlProfileExportObjects.xmlWriter);
138
- const modelDLUUID = __1.generateUUID();
139
- const profilesDl = [__1.RDF_XML.DL_OPER_PROFILE_URI];
140
- this.cimModel.toCIMXML(dlProfileExportObjects.xmlWriter, modelDLUUID, profilesDl, [modelEQUUID], __1.RDF_XML.AMP_MAS);
141
- const glProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_gl.xml`);
142
- this.writeHeaderStart(glProfileExportObjects.xmlWriter);
143
- const modelGLUUID = __1.generateUUID();
144
- const profilesGl = [__1.RDF_XML.GL_OPER_PROFILE_URI];
145
- this.cimModel.toCIMXML(glProfileExportObjects.xmlWriter, modelGLUUID, profilesGl, [modelEQUUID], __1.RDF_XML.AMP_MAS);
146
- const sshProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_ssh.xml`);
147
- this.writeHeaderStart(sshProfileExportObjects.xmlWriter);
148
- const modelSSHUUID = __1.generateUUID();
149
- const profilesSSH = [__1.RDF_XML.SSH_OPER_PROFILE_URI];
150
- this.cimModel.toCIMXML(sshProfileExportObjects.xmlWriter, modelSSHUUID, profilesSSH, [modelEQUUID], __1.RDF_XML.AMP_MAS);
151
- const svProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_sv.xml`);
152
- this.writeHeaderStart(svProfileExportObjects.xmlWriter);
153
- const modelSVUUID = __1.generateUUID();
154
- const profilesSV = [__1.RDF_XML.SV_OPER_PROFILE_URI];
155
- this.cimModel.toCIMXML(svProfileExportObjects.xmlWriter, modelSVUUID, profilesSV, [modelEQUUID, modelSSHUUID], __1.RDF_XML.AMP_MAS);
156
- const ampI7ProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_nonstandard.xml`);
157
- this.writeHeaderStart(ampI7ProfileExportObjects.xmlWriter, __1.RDF_XML.AMP_I7_PROFILE_URI);
158
- const modelAmpI7UUID = __1.generateUUID();
159
- const profilesAmpI7UUID = [__1.RDF_XML.AMP_I7_PROFILE_URI];
160
- this.cimModel.toCIMXML(ampI7ProfileExportObjects.xmlWriter, modelAmpI7UUID, profilesAmpI7UUID, [modelEQUUID], __1.RDF_XML.AMP_MAS);
161
- this.addDefaultObjects(defaultValuesConfig);
162
- yield this.convertGeoRegionen(defaultValuesConfig);
163
- yield this.convertSubGeoRegionen(defaultValuesConfig);
164
- yield this.convertStromkreise();
165
- yield this.convertBetriebsmitteltypenLeitung();
166
- yield this.convertBetriebsmitteltypenTrafo();
167
- yield this.convertBetriebsmitteltypenKdrossel();
168
- yield this.convertNetzvarianten();
169
- this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.coordinateSystems, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
170
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.geographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
171
- 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
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.loadAreas, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
174
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subLoadAreas, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
175
- 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);
178
- const restCount = this.standortAnzahl < this.limit ? this.standortAnzahl : (this.standortAnzahl % this.limit);
179
- const intervalCount = (this.standortAnzahl - restCount) / this.limit;
180
- const numberOfIntervals = restCount > 0 ? intervalCount + 1 : intervalCount;
181
- for (let i = 0; i < numberOfIntervals; i++) {
182
- const offset = i * this.limit;
183
- const currentLimit = (i + 1 === numberOfIntervals && restCount > 0) ? restCount : this.limit;
184
- yield this.convertStandorte(currentLimit, offset, defaultValuesConfig);
185
- const standortIDs = [...this.integralStandorte.keys()];
186
- yield this.covertSchaltanlagen(standortIDs, defaultValuesConfig);
187
- const schaltanlagenIDs = [...this.integralSchaltanlagen.keys()];
188
- if (schaltanlagenIDs.length > 0) {
189
- yield this.convertSchaltanlagenAbschnitte(schaltanlagenIDs);
190
- }
191
- const schaltanlagenAbschnittIDs = [...this.integralSchaltanlagenAbschnitte.keys()];
192
- if (schaltanlagenAbschnittIDs.length > 0) {
193
- yield this.convertSchaltfelder(schaltanlagenAbschnittIDs);
194
- }
195
- this.schaltfeldIDs = [...this.integralSchaltfelder.keys()];
196
- const stpSchieneID = yield this.convertSternpunktSchienen(standortIDs);
197
- yield this.convertKdrossel(stpSchieneID);
198
- yield this.convertStpSchaltelemente(stpSchieneID);
199
- if (schaltanlagenAbschnittIDs.length > 0) {
200
- yield this.convertQuerkupplungen(schaltanlagenAbschnittIDs);
201
- }
202
- if (schaltanlagenIDs.length > 0) {
203
- yield this.convertLaegskupplungen(schaltanlagenIDs);
204
- }
205
- yield this.convertKnotenSo(standortIDs, defaultValuesConfig);
206
- const knotenSoIDs = [...this.integralKnotenSo.keys()];
207
- if (this.schaltfeldIDs.length > 0) {
208
- yield this.convertKnotenSf(this.schaltfeldIDs);
209
- }
210
- if (this.querkupplungIDs.length > 0) {
211
- yield this.convertKnotenKf(this.querkupplungIDs);
212
- }
213
- if (this.laengskupplungIDs.length > 0) {
214
- yield this.convertKnotenLk(this.laengskupplungIDs);
215
- }
216
- if (knotenSoIDs.length > 0) {
217
- yield this.convertSchlaufen(knotenSoIDs);
218
- }
219
- if (schaltanlagenAbschnittIDs.length > 0) {
220
- yield this.convertSammelschienenAbschnitte(schaltanlagenAbschnittIDs);
221
- }
222
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
223
- const querZweigID2ErgebnisLflID = yield this.convertBelastungen([...knotenSoIDs, ...this.knotenSfIDs], defaultValuesConfig, false);
224
- yield this.convertQuerzweigErgebnisData(querZweigID2ErgebnisLflID, 1, 0);
225
- }
226
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
227
- yield this.convertEinspeisungen([...knotenSoIDs, ...this.knotenSfIDs]);
228
- }
229
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
230
- yield this.convertGeneratoren([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
231
- }
232
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
233
- yield this.convertKraftwerksbloecke([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
234
- }
235
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
236
- yield this.convertErsatzQuerweige([...knotenSoIDs, ...this.knotenSfIDs]);
237
- }
238
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
239
- yield this.convertBoundaryInjections([...knotenSoIDs, ...this.knotenSfIDs]);
240
- }
241
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
242
- yield this.convertAsynchronmotor([...knotenSoIDs, ...this.knotenSfIDs]);
243
- }
244
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
245
- yield this.convertKompensationsdrossel([...knotenSoIDs, ...this.knotenSfIDs]);
246
- }
247
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
248
- yield this.convertKompensationskondensatoren([...knotenSoIDs, ...this.knotenSfIDs]);
249
- }
250
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
251
- yield this.convertStatcom([...knotenSoIDs, ...this.knotenSfIDs]);
252
- }
253
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
254
- yield this.convertSVC([...knotenSoIDs, ...this.knotenSfIDs]);
255
- }
256
- const containerStarreVerbindungen = [...this.schaltfeldIDs, ...this.querkupplungIDs, ...this.laengskupplungIDs];
257
- if (containerStarreVerbindungen.length > 0) {
258
- yield this.convertStarreVerbindungen(containerStarreVerbindungen);
259
- }
260
- if (containerStarreVerbindungen.length > 0) {
261
- yield this.convertTrenner3f(containerStarreVerbindungen);
262
- }
263
- if (containerStarreVerbindungen.length > 0) {
264
- yield this.convertTrennerFi3f(containerStarreVerbindungen);
265
- }
266
- if (containerStarreVerbindungen.length > 0) {
267
- yield this.convertLeistungsschalter(containerStarreVerbindungen);
268
- }
269
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
270
- yield this.convertCsConverterDC([...knotenSoIDs, ...this.knotenSfIDs]);
271
- }
272
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
273
- yield this.convertVsConverterDC([...knotenSoIDs, ...this.knotenSfIDs]);
274
- }
275
- yield this.convertSchemaStandorte(standortIDs);
276
- if (knotenSoIDs.length > 0) {
277
- yield this.convertSchemaKnotenSo(knotenSoIDs);
278
- }
279
- if (schaltanlagenIDs.length > 0) {
280
- yield this.convertSchemaSchaltanlage(schaltanlagenIDs);
281
- }
282
- if (schaltanlagenAbschnittIDs.length > 0) {
283
- yield this.convertSchemaSchaltanlagenAbschnitte(schaltanlagenAbschnittIDs);
284
- }
285
- yield this.convertSchemaSammelschienenAbschnitte();
286
- if (this.schaltfeldIDs.length > 0) {
287
- yield this.convertSchemaSchaltfelder(this.schaltfeldIDs);
288
- }
289
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.substations, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
290
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.voltageLevels, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
291
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
292
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.busbarSections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
293
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.junctions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
294
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
295
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
296
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
297
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.externalNetworkInjections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
298
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
299
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
300
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.synchronousMachine, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
301
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.asynchronousMachine, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
302
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.generatingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
303
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.thermalGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
304
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.nuclearGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
305
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.hydroGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
306
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.windGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
307
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.solarGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
308
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.linearShuntCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
309
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
310
- validateRegulatingControls(this.cimModel.regulatingControl, this.logger, 'Allgemein');
311
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
312
- this.objectArrayToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.fossilFuel, __1.RDF_XML.PROFILE_EQ);
313
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.reactiveCapabilityCurve, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
314
- this.objectArrayToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.curveData, __1.RDF_XML.PROFILE_EQ);
315
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
316
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
317
- 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);
321
- this.objectToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagramObjects, __1.RDF_XML.PROFILE_DL, defaultValuesConfig);
322
- this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.locations, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
323
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
324
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
325
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
326
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
327
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
328
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
329
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
330
- this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svStatus, __1.RDF_XML.PROFILE_SV);
331
- this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svPowerFlow, __1.RDF_XML.PROFILE_SV);
332
- this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svTapSteps, __1.RDF_XML.PROFILE_SV);
333
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
334
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
335
- this.cimModel.substations.clear();
336
- this.cimModel.voltageLevels.clear();
337
- this.cimModel.bays.clear();
338
- this.cimModel.busbarSections.clear();
339
- this.cimModel.disconnectors.clear();
340
- this.cimModel.breakers.clear();
341
- this.cimModel.energyConsumers.clear();
342
- this.cimModel.conformLoads.clear();
343
- this.cimModel.energySources.clear();
344
- this.cimModel.externalNetworkInjections.clear();
345
- this.cimModel.synchronousMachine.clear();
346
- this.cimModel.asynchronousMachine.clear();
347
- this.cimModel.generatingUnit.clear();
348
- this.cimModel.thermalGeneratingUnit.clear();
349
- this.cimModel.nuclearGeneratingUnit.clear();
350
- this.cimModel.hydroGeneratingUnit.clear();
351
- this.cimModel.windGeneratingUnit.clear();
352
- this.cimModel.solarGeneratingUnit.clear();
353
- this.cimModel.linearShuntCompensators.clear();
354
- this.cimModel.staticVarCompensator.clear();
355
- this.cimModel.regulatingControl.clear();
356
- this.cimModel.reactiveCapabilityCurve.clear();
357
- this.cimModel.junctions.clear();
358
- this.cimModel.curveData.length = 0;
359
- this.cimModel.fossilFuel.length = 0;
360
- this.cimModel.connectivityNodes.clear();
361
- this.cimModel.terminals.clear();
362
- this.cimModel.diagramObjects.clear();
363
- this.cimModel.locations.clear();
364
- this.cimModel.objects.clear();
365
- this.cimModel.svStatus.length = 0;
366
- this.cimModel.svTapSteps.length = 0;
367
- this.querkupplungIDs.length = 0;
368
- this.laengskupplungIDs.length = 0;
369
- this.knotenSoIDs.length = 0;
370
- this.knotenSfIDs.length = 0;
371
- this.knotenSfIDs.length = 0;
372
- this.integralStandorte.clear();
373
- this.integralSchaltanlagen.clear();
374
- this.integralSchaltanlagenAbschnitte.clear();
375
- this.integralSchaltfelder.clear();
376
- this.integralKnotenSo.clear();
377
- this.integralNsgStandort.clear();
378
- this.integralNsgSchaltanlage.clear();
379
- this.integralNsgSchaltanlagenabschnitt.clear();
380
- this.integralNsgSchaltfelder.clear();
381
- this.integralNsgKnotenSo.clear();
382
- this.eqSpannungsBander.clear();
383
- this.logger.info(`Offset ${offset} done`);
384
- }
385
- const restCountELZ = this.ersatzlaengszweigAnzahl < this.limit ? this.ersatzlaengszweigAnzahl : (this.ersatzlaengszweigAnzahl % this.limit);
386
- const intervalCountELZ = (this.ersatzlaengszweigAnzahl - restCountELZ) / this.limit;
387
- const numberOfIntervalsELZ = restCountELZ > 0 ? intervalCountELZ + 1 : intervalCountELZ;
388
- this.logger.info('Convert Ersatzlaengszweige ' + this.ersatzlaengszweigAnzahl);
389
- for (let i = 0; i < numberOfIntervalsELZ; i++) {
390
- const offset = i * this.limit;
391
- const currentLimit = (i + 1 === numberOfIntervalsELZ && restCountELZ > 0) ? restCountELZ : this.limit;
392
- yield this.convertErsatzLaengszweige(currentLimit, offset, defaultValuesConfig);
393
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.equivalentBranches, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
394
- 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);
397
- this.cimModel.equivalentBranches.clear();
398
- this.cimModel.connectivityNodes.clear();
399
- this.cimModel.terminals.clear();
400
- this.cimModel.objects.clear();
401
- }
402
- const restCountLeitung = this.leitungsAnzahl < this.limit ? this.leitungsAnzahl : (this.leitungsAnzahl % this.limit);
403
- const intervalCountLeitung = (this.leitungsAnzahl - restCountLeitung) / this.limit;
404
- const numberOfIntervalsLeitung = restCountLeitung > 0 ? intervalCountLeitung + 1 : intervalCountLeitung;
405
- this.logger.info('Convert ACLineSegments ' + this.leitungsAnzahl);
406
- for (let i = 0; i < numberOfIntervalsLeitung; i++) {
407
- const offset = i * this.limit;
408
- 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);
413
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
414
- 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);
417
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
418
- this.cimModel.acLineSegments.clear();
419
- this.cimModel.connectivityNodes.clear();
420
- this.cimModel.terminals.clear();
421
- this.cimModel.diagramObjects.clear();
422
- this.cimModel.objects.clear();
423
- this.integralLeitungen.clear();
424
- this.leitungsIDs.length = 0;
425
- }
426
- const restCountHgueLeitung = this.hgueLeitungsAnzahl < this.limit ? this.hgueLeitungsAnzahl : (this.hgueLeitungsAnzahl % this.limit);
427
- const intervalCountHgueLeitung = (this.hgueLeitungsAnzahl - restCountHgueLeitung) / this.limit;
428
- const numberOfIntervalsHgueLeitung = restCountHgueLeitung > 0 ? intervalCountHgueLeitung + 1 : intervalCountHgueLeitung;
429
- this.logger.info('Convert ACLineSegments ' + this.hgueLeitungsAnzahl);
430
- for (let i = 0; i < numberOfIntervalsHgueLeitung; i++) {
431
- const offset = i * this.limit;
432
- const currentLimit = (i + 1 === numberOfIntervalsHgueLeitung && restCountHgueLeitung > 0) ? restCountHgueLeitung : this.limit;
433
- yield this.convertDCLines(currentLimit, offset);
434
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcLines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
435
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcLineSegment, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
436
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
437
- this.cimModel.dcLines.clear();
438
- this.cimModel.dcLineSegment.clear();
439
- this.cimModel.dcTerminals.clear();
440
- }
441
- const restCountLD = this.laengsdrosselAnzahl < this.limit ? this.laengsdrosselAnzahl : (this.laengsdrosselAnzahl % this.limit);
442
- const intervalCountLD = (this.laengsdrosselAnzahl - restCountLD) / this.limit;
443
- const numberOfIntervalsLD = restCountLD > 0 ? intervalCountLD + 1 : intervalCountLD;
444
- this.logger.info('Convert Längsdrossel ' + this.laengsdrosselAnzahl);
445
- for (let i = 0; i < numberOfIntervalsLD; i++) {
446
- const offset = i * this.limit;
447
- const currentLimit = (i + 1 === numberOfIntervalsLD && restCountLD > 0) ? restCountLD : this.limit;
448
- yield this.convertLaengsdrosseln(currentLimit, offset, defaultValuesConfig);
449
- this.logger.info('Export Längsdrossel ' + this.cimModel.seriesCompensators.size);
450
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
451
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
452
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
453
- 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);
456
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
457
- this.cimModel.seriesCompensators.clear();
458
- this.cimModel.operationalLimitSets.clear();
459
- this.cimModel.currentLimits.clear();
460
- this.cimModel.terminals.clear();
461
- this.cimModel.objects.clear();
462
- }
463
- const restCountLK = this.laengskondensatorAnzahl < this.limit ? this.laengskondensatorAnzahl : (this.laengskondensatorAnzahl % this.limit);
464
- const intervalCountLK = (this.laengskondensatorAnzahl - restCountLK) / this.limit;
465
- const numberOfIntervalsLK = restCountLK > 0 ? intervalCountLK + 1 : intervalCountLK;
466
- this.logger.info('Convert Längskondensator ' + this.laengskondensatorAnzahl);
467
- for (let i = 0; i < numberOfIntervalsLK; i++) {
468
- const offset = i * this.limit;
469
- const currentLimit = (i + 1 === numberOfIntervalsLK && restCountLK > 0) ? restCountLK : this.limit;
470
- yield this.convertLaengskondensatoren(currentLimit, offset, defaultValuesConfig);
471
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
472
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
473
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
474
- 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);
477
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
478
- this.cimModel.seriesCompensators.clear();
479
- this.cimModel.operationalLimitSets.clear();
480
- this.cimModel.currentLimits.clear();
481
- this.cimModel.terminals.clear();
482
- this.cimModel.objects.clear();
483
- }
484
- const restCountTrafo2W = this.trafo2WAnzahl < this.limit ? this.trafo2WAnzahl : (this.trafo2WAnzahl % this.limit);
485
- const intervalCountTrafo2W = (this.trafo2WAnzahl - restCountTrafo2W) / this.limit;
486
- const numberOfIntervalsTrafo2W = restCountTrafo2W > 0 ? intervalCountTrafo2W + 1 : intervalCountTrafo2W;
487
- this.logger.info('Convert Transformers');
488
- for (let i = 0; i < numberOfIntervalsTrafo2W; i++) {
489
- const offset = i * this.limit;
490
- const currentLimit = (i + 1 === numberOfIntervalsTrafo2W && restCountTrafo2W > 0) ? restCountTrafo2W : this.limit;
491
- yield this.convertTrafo2W(currentLimit, offset);
492
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
493
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
494
- 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);
498
- 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);
502
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
503
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
504
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
505
- this.cimModel.powerTransformer.clear();
506
- this.cimModel.powerTransformerEnds.clear();
507
- this.cimModel.currentLimits.clear();
508
- this.cimModel.operationalLimitSets.clear();
509
- this.cimModel.regulatingControl.clear();
510
- this.cimModel.tapChangerControls.clear();
511
- this.cimModel.ratioTapChangers.clear();
512
- for (const table of this.cimModel.ratioTapChangerTables.values()) {
513
- table.ratioTapChangerTablePoints = [];
514
- }
515
- this.cimModel.ratioTapChangerTables.clear();
516
- this.cimModel.svTapSteps.length = 0;
517
- this.cimModel.terminals.clear();
518
- this.cimModel.objects.clear();
519
- }
520
- const restCountTrafo3W = this.trafo2WAnzahl < this.limit ? this.trafo3WAnzahl : (this.trafo3WAnzahl % this.limit);
521
- const intervalCountTrafo3W = (this.trafo3WAnzahl - restCountTrafo3W) / this.limit;
522
- const numberOfIntervalsTrafo3W = restCountTrafo3W > 0 ? intervalCountTrafo3W + 1 : intervalCountTrafo3W;
523
- this.logger.info('Convert Transformers3W');
524
- for (let i = 0; i < numberOfIntervalsTrafo3W; i++) {
525
- const offset = i * this.limit;
526
- const currentLimit = (i + 1 === numberOfIntervalsTrafo3W && restCountTrafo3W > 0) ? restCountTrafo3W : this.limit;
527
- yield this.convertTrafo3W(currentLimit, offset);
528
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
529
- this.cimModel.powerTransformer.clear();
530
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
531
- this.cimModel.powerTransformerEnds.clear();
532
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
533
- this.cimModel.currentLimits.clear();
534
- 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);
537
- this.cimModel.terminals.clear();
538
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.tapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
539
- this.cimModel.tapChangerControls.clear();
540
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
541
- this.cimModel.ratioTapChangers.clear();
542
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
543
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
544
- validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '3W Trafo');
545
- 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);
547
- this.cimModel.regulatingControl.clear();
548
- this.cimModel.operationalLimitSets.clear();
549
- for (const table of this.cimModel.ratioTapChangerTables.values()) {
550
- table.ratioTapChangerTablePoints = [];
551
- }
552
- this.cimModel.ratioTapChangerTables.clear();
553
- this.cimModel.svTapSteps.length = 0;
554
- this.cimModel.objects.clear();
555
- }
556
- const memoryTerminals = validateInMemoryObjects(this.inmemoryObjects);
557
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitTypes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
558
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.baseVoltages, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
559
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, memoryTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
560
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, memoryTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
561
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcConverterUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
562
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.vsConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
563
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.csConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
564
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acDCConverterDCTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
565
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
566
- for (const junction of this.stpImpModel.junctions.values()) {
567
- if (junction.baseVoltageUUID && junction.equipmentContainerUUID) {
568
- this.cimModel.addJunction(junction);
569
- }
570
- }
571
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.junctions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
572
- this.stpImpModel.junctions.clear();
573
- this.cimModel.junctions.clear();
574
- for (const cn of this.stpImpModel.connectivityNodes.values()) {
575
- if (cn.connectivityNodeContainerUUID) {
576
- this.cimModel.addConnectivityNode(cn);
577
- }
578
- }
579
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
580
- this.stpImpModel.connectivityNodes.clear();
581
- this.cimModel.connectivityNodes.clear();
582
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.stpImpModel.petersenCoils, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
583
- this.stpImpModel.petersenCoils.clear();
584
- for (const groundingImpedance of this.stpImpModel.groundingImpedances.values()) {
585
- if (groundingImpedance.baseVoltageUUID && groundingImpedance.equipmentContainerUUID) {
586
- this.cimModel.addGroundingImpedance(groundingImpedance);
587
- }
588
- }
589
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.groundingImpedances, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
590
- this.stpImpModel.groundingImpedances.clear();
591
- this.cimModel.groundingImpedances.clear();
592
- this.cimModel.dcConverterUnit.clear();
593
- this.cimModel.vsConverter.clear();
594
- this.cimModel.csConverter.clear();
595
- this.cimModel.acDCConverterDCTerminals.clear();
596
- this.cimModel.dcNodes.clear();
597
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.psrTypes, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
598
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.evWireInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
599
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.cableInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
600
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.overheadWireInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
601
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.evPowerTransformerInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
602
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.evPowerTransformerEndInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
603
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.evTapChangerInfo, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
604
- this.cimModel.operationalLimitTypes.clear();
605
- this.cimModel.baseVoltages.clear();
606
- memoryTerminals.clear();
607
- this.writeHeaderEnd(eqProfileExportObjects.xmlWriter);
608
- this.writeHeaderEnd(dlProfileExportObjects.xmlWriter);
609
- this.writeHeaderEnd(glProfileExportObjects.xmlWriter);
610
- this.writeHeaderEnd(sshProfileExportObjects.xmlWriter);
611
- this.writeHeaderEnd(svProfileExportObjects.xmlWriter);
612
- this.writeHeaderEnd(ampI7ProfileExportObjects.xmlWriter);
613
- yield Promise.all([
614
- utils_2.createWriteStreamPromise(eqProfileExportObjects.writeStream),
615
- utils_2.createWriteStreamPromise(dlProfileExportObjects.writeStream),
616
- utils_2.createWriteStreamPromise(glProfileExportObjects.writeStream),
617
- utils_2.createWriteStreamPromise(sshProfileExportObjects.writeStream),
618
- utils_2.createWriteStreamPromise(svProfileExportObjects.writeStream),
619
- utils_2.createWriteStreamPromise(ampI7ProfileExportObjects.writeStream),
620
- ]);
621
- const zip = new jszip_1.default();
622
- const readStreamEq = fs_1.default.createReadStream(eqProfileExportObjects.filePath);
623
- zip.file(`${gridName}_eq.xml`, readStreamEq);
624
- const readStreamDl = fs_1.default.createReadStream(dlProfileExportObjects.filePath);
625
- zip.file(`${gridName}_dl.xml`, readStreamDl);
626
- const readStreamGl = fs_1.default.createReadStream(glProfileExportObjects.filePath);
627
- zip.file(`${gridName}_gl.xml`, readStreamGl);
628
- const readStreamSSH = fs_1.default.createReadStream(sshProfileExportObjects.filePath);
629
- zip.file(`${gridName}_ssh.xml`, readStreamSSH);
630
- const readStreamSV = fs_1.default.createReadStream(svProfileExportObjects.filePath);
631
- zip.file(`${gridName}_sv.xml`, readStreamSV);
632
- const readStreamAmpI7 = fs_1.default.createReadStream(ampI7ProfileExportObjects.filePath);
633
- zip.file('nonstandard.xml', readStreamAmpI7);
634
- resolve(yield utils_2.generateNodeStream(zip));
635
- }
636
- catch (e) {
637
- reject({ status: 'error', message: e.toString() });
638
- }
639
- }));
640
- });
641
- }
642
131
  release(tempDirPath) {
643
132
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
644
133
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
645
134
  try {
646
135
  this.closeConnection();
647
- this.cimModel.purgeData();
136
+ this.cimModelDefaultValues.purgeData();
648
137
  if (tempDirPath) {
649
138
  try {
650
139
  fs_1.default.rmdirSync(tempDirPath, { recursive: true });
651
- this.logger.info(`${path_1.default} is deleted!`);
140
+ this.logger.debug(`${path_1.default} is deleted!`);
652
141
  }
653
142
  catch (err) {
654
143
  console.error(`Error while deleting ${path_1.default}.`);
@@ -679,7 +168,8 @@ class ConverterIntegral7 {
679
168
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
680
169
  return new Promise((resolve, reject) => {
681
170
  if (this.isTableAvailable(tableName)) {
682
- this.queryFunctionWrapper(`SELECT COUNT(id) FROM ${tableName}`).then(results => {
171
+ this.queryFunctionWrapper(`SELECT COUNT(id)
172
+ FROM ${tableName}`).then(results => {
683
173
  try {
684
174
  for (const result of results) {
685
175
  return resolve(Number(result[`COUNT(id)`]));
@@ -699,37 +189,44 @@ class ConverterIntegral7 {
699
189
  queryAnschlussIDs() {
700
190
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
701
191
  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]}`) : [];
192
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
193
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
703
194
  for (const result of results) {
704
195
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
705
196
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
706
197
  }
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]}`) : [];
198
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT anetzobjekt, enetzobjekt
199
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
708
200
  for (const result of results) {
709
201
  this.leitungAnschlussKnotenIDs.add(result[`anetzobjekt`]);
710
202
  this.leitungAnschlussKnotenIDs.add(result[`enetzobjekt`]);
711
203
  }
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]}`) : [];
204
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
205
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
713
206
  for (const result of results) {
714
207
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
715
208
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
716
209
  }
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]}`) : [];
210
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
211
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
718
212
  for (const result of results) {
719
213
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
720
214
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
721
215
  }
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]}`) : [];
216
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
217
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
723
218
  for (const result of results) {
724
219
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
725
220
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
726
221
  }
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]}`) : [];
222
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
223
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
728
224
  for (const result of results) {
729
225
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
730
226
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
731
227
  }
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]}`) : [];
228
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
229
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
733
230
  for (const result of results) {
734
231
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
735
232
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
@@ -740,20 +237,31 @@ class ConverterIntegral7 {
740
237
  }
741
238
  });
742
239
  }
240
+ querySpGeregelteKnoten() {
241
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
242
+ try {
243
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT spgreg_knoten
244
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
245
+ }
246
+ catch (e) {
247
+ console.error("ERROR:" + e);
248
+ }
249
+ });
250
+ }
743
251
  convertGeoRegionen(defaultValuesConfig) {
744
252
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
745
253
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.REGION)) {
746
254
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.REGION, 0, 0, []));
747
255
  for (const i7Data of result) {
748
256
  const region = new __1.GeographicalRegion(__1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname);
749
- this.cimModel.addGeographicalRegion(region);
750
- this.integralID2UUID.set(i7Data.id, region.mrid);
257
+ this.cimModelDefaultValues.addGeographicalRegion(region);
258
+ this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
751
259
  }
752
260
  }
753
261
  else {
754
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.REGION} ist nicht vorhanden.`);
755
- this.logger.info(`Erstelle Standard Georegion ${defaultValuesConfig.GeographicalRegion.name} .`);
756
- __1.createGeoregion(__1.generateUUID(), defaultValuesConfig.GeographicalRegion.name, undefined, defaultValuesConfig.GeographicalRegion.description, this.cimModel);
262
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.REGION} ist nicht vorhanden.`);
263
+ this.logger.debug(`Erstelle Standard Georegion ${defaultValuesConfig.GeographicalRegion.name} .`);
264
+ __1.createGeoregion(__1.generateUUID(), defaultValuesConfig.GeographicalRegion.name, undefined, defaultValuesConfig.GeographicalRegion.description, this.cimModelDefaultValues);
757
265
  }
758
266
  });
759
267
  }
@@ -763,21 +271,21 @@ class ConverterIntegral7 {
763
271
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SUBREGION, 0, 0, []));
764
272
  for (const i7Data of result) {
765
273
  const subregion = new __1.SubGeographicalRegion(__1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname);
766
- let region = this.cimModel.getGeographicalRegion(this.integralID2UUID.get(i7Data.georegion));
274
+ let region = this.cimModelDefaultValues.getGeographicalRegion(this.integralID2UUID.get(i7Data.georegion));
767
275
  if (!region) {
768
- region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
276
+ region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.GeographicalRegion.name);
769
277
  }
770
278
  subregion.region = region;
771
279
  region.addSubGeographicalRegion(subregion);
772
- this.cimModel.addSubGeographicalRegion(subregion);
773
- this.integralID2UUID.set(i7Data.id, subregion.mrid);
280
+ this.cimModelDefaultValues.addSubGeographicalRegion(subregion);
281
+ this.addIdMapping(i7Data.id, subregion.mrid, integral_sql_1.Integral7TableNames.SUBREGION);
774
282
  }
775
283
  }
776
284
  else {
777
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SUBREGION} ist nicht vorhanden.`);
778
- this.logger.info(`Erstelle Standard SubGeographicalRegion ${defaultValuesConfig.SubGeographicalRegion.name}.`);
779
- const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
780
- const subRegion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
285
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SUBREGION} ist nicht vorhanden.`);
286
+ this.logger.debug(`Erstelle Standard SubGeographicalRegion ${defaultValuesConfig.SubGeographicalRegion.name}.`);
287
+ const region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.GeographicalRegion.name);
288
+ const subRegion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.SubGeographicalRegion.name, region);
781
289
  subRegion.shortName = defaultValuesConfig.SubGeographicalRegion.shortName;
782
290
  subRegion.description = defaultValuesConfig.SubGeographicalRegion.description;
783
291
  }
@@ -792,17 +300,17 @@ class ConverterIntegral7 {
792
300
  utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
793
301
  integral_prefix_1.MITTIGER_PUNKT +
794
302
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
795
- const substation = new __1.Substation(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Schluessel);
303
+ const substation = new AMPRIONSubstation_1.AMPRIONSubstation(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Schluessel, i7Data.stationsnummer);
796
304
  this.substationNames.set(substation.mrid, substation.name);
797
- let subregion = this.cimModel.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
305
+ let subregion = this.cimModelDefaultValues.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
798
306
  if (!subregion) {
799
- const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
800
- subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
307
+ const region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.GeographicalRegion.name);
308
+ subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.SubGeographicalRegion.name, region);
801
309
  }
802
310
  substation.subGeographicalRegionUUID = subregion.mrid;
803
311
  const coor = getGeoCoordinates(i7Data);
804
312
  if ((coor === null || coor === void 0 ? void 0 : coor.length) === 2) {
805
- const coordinateSystem = this.cimModel.getCoordinateSystemByName(this.coordinateSystemName);
313
+ const coordinateSystem = this.cimModelDefaultValues.getCoordinateSystemByName(this.coordinateSystemName);
806
314
  const location = new __1.Location(__1.generateUUID(), `Location of ${substation.name}`);
807
315
  location.addPowerSystemResource(substation);
808
316
  substation.location = location;
@@ -812,18 +320,60 @@ class ConverterIntegral7 {
812
320
  positionPoint.yPosition = coor[1];
813
321
  positionPoint.location = location;
814
322
  location.addPositionPoint(positionPoint);
815
- this.cimModel.addLocation(location);
323
+ this.cimModelDefaultValues.addLocation(location);
816
324
  }
817
325
  this.substationVoltagelevels.set(i7Data.id, []);
818
- this.cimModel.addSubstation(substation);
819
- this.integralID2UUID.set(i7Data.id, substation.mrid);
820
- utils_2.putUUIDtoI7Ids(substation.mrid, i7Data.id, this.UUID2IntegralID);
326
+ this.cimModelDefaultValues.addSubstation(substation);
327
+ this.addIdMapping(i7Data.id, substation.mrid, integral_sql_1.Integral7TableNames.STANDORT);
328
+ this.addUUIDMapping(i7Data.id, substation.mrid);
329
+ const standort = new Standort_1.StandortImpl(i7Data);
330
+ this.integralStandorte.set(i7Data.id, standort);
331
+ }
332
+ }
333
+ else {
334
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
335
+ }
336
+ });
337
+ }
338
+ convertGrenzknoten(ukzNames, defaultValuesConfig) {
339
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
340
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STANDORT)) {
341
+ const result = yield this.queryFunctionWrapper(`SELECT * FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.STANDORT]} WHERE ${integral_sql_1.getWhereIDs('ukz', ukzNames).join(' OR ')};`);
342
+ for (const i7Data of result) {
343
+ const i7Schluessel = integral_prefix_1.STANDORT_PRAEFIX +
344
+ utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
345
+ integral_prefix_1.MITTIGER_PUNKT +
346
+ utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
347
+ const line = new __1.Line(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Schluessel);
348
+ let subregion = this.cimModelDefaultValues.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
349
+ if (!subregion) {
350
+ const region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.GeographicalRegion.name);
351
+ subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.SubGeographicalRegion.name, region);
352
+ }
353
+ line.subGeographicalRegion = subregion;
354
+ const coor = getGeoCoordinates(i7Data);
355
+ if ((coor === null || coor === void 0 ? void 0 : coor.length) === 2) {
356
+ const coordinateSystem = this.cimModelDefaultValues.getCoordinateSystemByName(this.coordinateSystemName);
357
+ const location = new __1.Location(__1.generateUUID(), `Location of ${line.name}`);
358
+ location.addPowerSystemResource(line);
359
+ line.location = location;
360
+ location.coordinateSystem = coordinateSystem;
361
+ const positionPoint = new __1.PositionPoint(__1.generateUUID());
362
+ positionPoint.xPosition = coor[0];
363
+ positionPoint.yPosition = coor[1];
364
+ positionPoint.location = location;
365
+ location.addPositionPoint(positionPoint);
366
+ this.cimModelDefaultValues.addLocation(location);
367
+ }
368
+ this.cimModelDefaultValues.addLine(line);
369
+ this.addIdMapping(i7Data.id, line.mrid, integral_sql_1.Integral7TableNames.STANDORT);
370
+ this.addUUIDMapping(i7Data.id, line.mrid);
821
371
  const standort = new Standort_1.StandortImpl(i7Data);
822
372
  this.integralStandorte.set(i7Data.id, standort);
823
373
  }
824
374
  }
825
375
  else {
826
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
376
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
827
377
  }
828
378
  });
829
379
  }
@@ -835,7 +385,7 @@ class ConverterIntegral7 {
835
385
  const object = new KnotenSo_1.KnotenSoImpl(i7Data);
836
386
  this.integralKnotenSo.set(i7Data.id, object);
837
387
  object.standort = this.integralStandorte.get(object.standortid);
838
- const substation = this.cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
388
+ const substation = this.cimModelDefaultValues.getSubstation(this.integralID2UUID.get(i7Data.standort));
839
389
  const substationName = this.substationNames.get(substation.mrid);
840
390
  const vl = new __1.VoltageLevel(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.kurzname);
841
391
  const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(__1.generateUUID(), 'Abzweig', String(i7Data.id));
@@ -843,8 +393,17 @@ class ConverterIntegral7 {
843
393
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
844
394
  vl.addConnectivityNode(connectivityNode);
845
395
  const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
846
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
396
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, un);
847
397
  vl.baseVoltage = baseVoltage;
398
+ if (utils_2.isNumericI7(i7Data.usoll) || (utils_2.isNumericI7(i7Data.umin)) && utils_2.isNumericI7(i7Data.umax)) {
399
+ this.knotenSpannungsband.set(i7Data.id, {
400
+ usoll: i7Data.usoll,
401
+ umin: i7Data.umin,
402
+ umax: i7Data.umax,
403
+ cnUUID: connectivityNode.mrid,
404
+ terminals: []
405
+ });
406
+ }
848
407
  this.eqSpannungsBander.set(vl.mrid, [
849
408
  {
850
409
  usoll: i7Data.usoll,
@@ -864,20 +423,21 @@ class ConverterIntegral7 {
864
423
  connectivityNode.description = i7Schluessel;
865
424
  }
866
425
  else {
867
- this.logger.info(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
426
+ this.logger.debug(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
868
427
  }
869
- const psrType = utils_2.getPSRType(this.cimModel, 'Abzweigmast');
428
+ const psrType = utils_2.getPSRType(this.cimModelDefaultValues, 'Abzweigmast');
870
429
  vl.psrTypeUUID = psrType === null || psrType === void 0 ? void 0 : psrType.mrid;
871
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
430
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SO);
431
+ this.addUUIDMapping(i7Data.id, connectivityNode.mrid);
872
432
  this.knotenSoIDs.push(i7Data.id);
873
- this.cimModel.addVoltageLevel(vl);
874
- this.cimModel.addConnectivityNode(connectivityNode);
433
+ this.cimModelDefaultValues.addVoltageLevel(vl);
434
+ this.cimModelDefaultValues.addConnectivityNode(connectivityNode);
875
435
  this.knotenSpannung.set(connectivityNode.mrid, baseVoltage);
876
436
  this.checkMemoryObject(i7Data.id, connectivityNode);
877
437
  }
878
438
  }
879
439
  else {
880
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
440
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
881
441
  }
882
442
  });
883
443
  }
@@ -891,20 +451,20 @@ class ConverterIntegral7 {
891
451
  stpSchieneIDs.push(i7DataSchiene.id);
892
452
  const connectivityNode = new __1.ConnectivityNode(__1.generateUUID(), utils_2.getName(i7DataSchiene), `StpSchiene_${i7DataSchiene.id}`);
893
453
  const junction = new __1.Junction(__1.generateUUID(), `StpSchiene/${i7DataSchiene.id}`, `${i7DataSchiene.bezeichner}`);
894
- const terminal = __1.createConnection(this.cimModel, junction, connectivityNode, __1.PhaseCode.N);
454
+ const terminal = __1.createConnection(this.cimModelDefaultValues, junction, connectivityNode, __1.PhaseCode.N);
895
455
  this.stpImpModel.connectivityNodes.set(connectivityNode.mrid, connectivityNode);
896
456
  this.stpImpModel.junctions.set(junction.mrid, junction);
897
457
  this.stpImpModel.stpSchieneJunctionUUIDs.set(i7DataSchiene.id, junction.mrid);
898
- this.integralID2UUID.set(i7DataSchiene.id, connectivityNode.mrid);
458
+ this.addIdMapping(i7DataSchiene.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE);
899
459
  this.stpImpModel.stpSchieneTerminal.set(i7DataSchiene.id, terminal);
900
460
  }
901
461
  catch (e) {
902
- this.logger.info(e);
462
+ this.logger.debug(e);
903
463
  }
904
464
  }
905
465
  }
906
466
  else {
907
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE} ist nicht vorhanden.`);
467
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE} ist nicht vorhanden.`);
908
468
  }
909
469
  resolve(stpSchieneIDs);
910
470
  }));
@@ -925,31 +485,33 @@ class ConverterIntegral7 {
925
485
  if (imax && imin) {
926
486
  const petersenCoil = new PetersenCoil_1.PetersenCoil(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
927
487
  if (connectivityNode)
928
- __1.createConnection(this.cimModel, petersenCoil, connectivityNode, __1.PhaseCode.N);
488
+ __1.createConnection(this.cimModelDefaultValues, petersenCoil, connectivityNode, __1.PhaseCode.N);
929
489
  this.stpImpModel.petersenCoils.set(petersenCoil.mrid, petersenCoil);
930
490
  this.stpImpModel.junctionUUIDstpImp.set(junctionUUID, petersenCoil);
491
+ this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
931
492
  }
932
493
  else {
933
494
  const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
934
495
  groundingImpedance.r = utils_2.isNumericI7(i7Data.rne) ? i7Data.rne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? kdType === null || kdType === void 0 ? void 0 : kdType.rne : undefined);
935
496
  groundingImpedance.x = utils_2.isNumericI7(i7Data.xne) ? i7Data.xne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
936
497
  if (connectivityNode)
937
- __1.createConnection(this.cimModel, groundingImpedance, connectivityNode, __1.PhaseCode.N);
498
+ __1.createConnection(this.cimModelDefaultValues, groundingImpedance, connectivityNode, __1.PhaseCode.N);
938
499
  this.stpImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
939
500
  this.stpImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
501
+ this.addIdMapping(i7Data.id, groundingImpedance.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
940
502
  }
941
503
  }
942
504
  }
943
505
  else {
944
- this.logger.info(`Kdrossel Keine Sternpunktschienen vorhanden.`);
506
+ this.logger.debug(`Kdrossel Keine Sternpunktschienen vorhanden.`);
945
507
  }
946
508
  }
947
509
  else {
948
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ} ist nicht vorhanden.`);
510
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ} ist nicht vorhanden.`);
949
511
  }
950
512
  }
951
513
  catch (e) {
952
- this.logger.info(e);
514
+ this.logger.debug(e);
953
515
  }
954
516
  finally {
955
517
  resolve('');
@@ -973,15 +535,15 @@ class ConverterIntegral7 {
973
535
  }
974
536
  }
975
537
  else {
976
- this.logger.info(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
538
+ this.logger.debug(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
977
539
  }
978
540
  }
979
541
  else {
980
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
542
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
981
543
  }
982
544
  }
983
545
  catch (e) {
984
- this.logger.info(e);
546
+ this.logger.debug(e);
985
547
  }
986
548
  finally {
987
549
  resolve('');
@@ -993,15 +555,16 @@ class ConverterIntegral7 {
993
555
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGE)) {
994
556
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SCHALTANLAGE, 0, 0, standortIDs));
995
557
  for (const i7Data of result) {
996
- const substation = this.cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
558
+ const substation = this.cimModelDefaultValues.getSubstation(this.integralID2UUID.get(i7Data.standort));
997
559
  const substationName = this.substationNames.get(substation.mrid);
998
560
  const vl = new __1.VoltageLevel(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.kurzname);
999
561
  const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
1000
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
562
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, un);
1001
563
  vl.baseVoltageUUID = baseVoltage.mrid;
1002
- this.cimModel.addVoltageLevel(vl);
1003
- this.integralID2UUID.set(i7Data.id, vl.mrid);
1004
- utils_2.putUUIDtoI7Ids(vl.mrid, i7Data.id, this.UUID2IntegralID);
564
+ vl.baseVoltage = baseVoltage;
565
+ this.cimModelDefaultValues.addVoltageLevel(vl);
566
+ this.addIdMapping(i7Data.id, vl.mrid, integral_sql_1.Integral7TableNames.SCHALTANLAGE);
567
+ this.addUUIDMapping(i7Data.id, vl.mrid);
1005
568
  this.eqSpannungsBander.set(vl.mrid, []);
1006
569
  if (substation) {
1007
570
  vl.substationUUID = substation.mrid;
@@ -1022,12 +585,12 @@ class ConverterIntegral7 {
1022
585
  });
1023
586
  }
1024
587
  else {
1025
- this.logger.info(`VoltageLevel ${i7Data.id} ${vl.mrid} besitzt keine Umspannanlage.`);
588
+ this.logger.debug(`VoltageLevel ${i7Data.id} ${vl.mrid} besitzt keine Umspannanlage.`);
1026
589
  }
1027
590
  }
1028
591
  }
1029
592
  else {
1030
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGE} ist nicht vorhanden.`);
593
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGE} ist nicht vorhanden.`);
1031
594
  }
1032
595
  });
1033
596
  }
@@ -1036,16 +599,16 @@ class ConverterIntegral7 {
1036
599
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT)) {
1037
600
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenIDs));
1038
601
  for (const i7Data of result) {
1039
- 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);
602
+ const voltageLevel = this.cimModelDefaultValues.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
603
+ this.addIdMapping(i7Data.id, voltageLevel.mrid, integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT);
604
+ this.addUUIDMapping(i7Data.id, voltageLevel.mrid);
1042
605
  const schaltanlagenabschnitt = new Schaltanlagenabschnitt_1.SchaltanlagenabschnittImpl(i7Data);
1043
606
  schaltanlagenabschnitt.addSchaltanlage(this.integralSchaltanlagen.get(schaltanlagenabschnitt.schaltanlageid));
1044
607
  this.integralSchaltanlagenAbschnitte.set(i7Data.id, schaltanlagenabschnitt);
1045
608
  }
1046
609
  }
1047
610
  else {
1048
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
611
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
1049
612
  }
1050
613
  });
1051
614
  }
@@ -1058,8 +621,8 @@ class ConverterIntegral7 {
1058
621
  busbarSection.ipMax = i7Data.limit_ip;
1059
622
  busbarSection.aggregate = false;
1060
623
  const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(__1.generateUUID(), 'ssab cn');
1061
- __1.createConnection(this.cimModel, busbarSection, connectivityNode, __1.PhaseCode.ABC, 1);
1062
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
624
+ const terminal = __1.createConnection(this.cimModelDefaultValues, busbarSection, connectivityNode, __1.PhaseCode.ABC, 1);
625
+ const voltageLevel = this.cimModelDefaultValues.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1063
626
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
1064
627
  if (voltageLevel) {
1065
628
  busbarSection.equipmentContainerUUID = voltageLevel.mrid;
@@ -1073,6 +636,15 @@ class ConverterIntegral7 {
1073
636
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
1074
637
  busbarSection.description = i7Schluessel;
1075
638
  connectivityNode.description = i7Schluessel;
639
+ if (utils_2.isNumericI7(i7Data.usoll) || (utils_2.isNumericI7(i7Data.umin)) && utils_2.isNumericI7(i7Data.umax)) {
640
+ this.knotenSpannungsband.set(i7Data.id, {
641
+ usoll: i7Data.usoll,
642
+ umin: i7Data.umin,
643
+ umax: i7Data.umax,
644
+ cnUUID: connectivityNode.mrid,
645
+ terminals: [{ uuid: terminal.mrid, connected: terminal.connected }]
646
+ });
647
+ }
1076
648
  const usollValues = this.eqSpannungsBander.get(voltageLevel.mrid);
1077
649
  if (usollValues) {
1078
650
  usollValues.push({
@@ -1082,23 +654,23 @@ class ConverterIntegral7 {
1082
654
  });
1083
655
  }
1084
656
  else {
1085
- this.logger.info('Sammelschiene ' + i7Data.id + ' besitzt kein Objekt für Sollspannungen.');
657
+ this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt kein Objekt für Sollspannungen.');
1086
658
  }
1087
659
  }
1088
660
  else {
1089
- this.logger.info('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
661
+ this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
1090
662
  }
1091
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1092
- utils_2.putUUIDtoI7Ids(busbarSection.mrid, i7Data.id, this.UUID2IntegralID);
1093
- this.cimModel.addConnectivityNode(connectivityNode);
1094
- this.cimModel.addBusbarSection(busbarSection);
663
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.SAMMELSCHIENE);
664
+ this.addUUIDMapping(i7Data.id, busbarSection.mrid);
665
+ this.cimModelDefaultValues.addConnectivityNode(connectivityNode);
666
+ this.cimModelDefaultValues.addBusbarSection(busbarSection);
1095
667
  if (this.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
1096
668
  this.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt).ssab.push(i7Data);
1097
669
  }
1098
670
  }
1099
671
  }
1100
672
  else {
1101
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SAMMELSCHIENE} ist nicht vorhanden.`);
673
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SAMMELSCHIENE} ist nicht vorhanden.`);
1102
674
  }
1103
675
  });
1104
676
  }
@@ -1117,25 +689,25 @@ class ConverterIntegral7 {
1117
689
  sfImpl.saabschnitt.schaltfelder.push(sfImpl);
1118
690
  }
1119
691
  else {
1120
- this.logger.info(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
692
+ this.logger.debug(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1121
693
  }
1122
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
694
+ const voltageLevel = this.cimModelDefaultValues.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1123
695
  if (voltageLevel) {
1124
- bay.voltageLevelUUID = voltageLevel.mrid;
696
+ bay.voltageLevel = voltageLevel;
1125
697
  const i7Schluessel = voltageLevel.description +
1126
698
  integral_prefix_1.SCHALTFELD_PRAEFIX +
1127
699
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
1128
700
  bay.description = i7Schluessel;
1129
701
  }
1130
702
  else {
1131
- this.logger.info(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
703
+ this.logger.debug(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1132
704
  }
1133
- this.cimModel.addBay(bay);
1134
- this.integralID2UUID.set(i7Data.id, bay.mrid);
705
+ this.cimModelDefaultValues.addBay(bay);
706
+ this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.SCHALTFELD);
1135
707
  }
1136
708
  }
1137
709
  else {
1138
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTFELD} ist nicht vorhanden.`);
710
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTFELD} ist nicht vorhanden.`);
1139
711
  }
1140
712
  });
1141
713
  }
@@ -1147,24 +719,24 @@ class ConverterIntegral7 {
1147
719
  const bay = new AMPRIONBay_1.AMPRIONBay(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), 'Querkupplung');
1148
720
  bay.number = i7Data.feldnummer;
1149
721
  bay.locationID = i7Data.ips_folder_id;
1150
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
722
+ const voltageLevel = this.cimModelDefaultValues.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1151
723
  if (voltageLevel) {
1152
- bay.voltageLevelUUID = voltageLevel.mrid;
724
+ bay.voltageLevel = voltageLevel;
1153
725
  const i7Schluessel = voltageLevel.description +
1154
726
  '/QK-' +
1155
727
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
1156
728
  bay.description = i7Schluessel;
1157
729
  }
1158
730
  else {
1159
- this.logger.info(`Querkupplung ${i7Data.id} besitzt keine Anlage.`);
731
+ this.logger.debug(`Querkupplung ${i7Data.id} besitzt keine Anlage.`);
1160
732
  }
1161
733
  this.querkupplungIDs.push(i7Data.id);
1162
- this.cimModel.addBay(bay);
1163
- this.integralID2UUID.set(i7Data.id, bay.mrid);
734
+ this.cimModelDefaultValues.addBay(bay);
735
+ this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.QUERKUPPLUNG);
1164
736
  }
1165
737
  }
1166
738
  else {
1167
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.QUERKUPPLUNG} ist nicht vorhanden.`);
739
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.QUERKUPPLUNG} ist nicht vorhanden.`);
1168
740
  }
1169
741
  });
1170
742
  }
@@ -1174,49 +746,49 @@ class ConverterIntegral7 {
1174
746
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LAENGSKUPPLUNG, 0, 0, schaltanlagenIDs));
1175
747
  for (const i7Data of result) {
1176
748
  const bay = new AMPRIONBay_1.AMPRIONBay(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, 'Laengskupplung');
1177
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
749
+ const voltageLevel = this.cimModelDefaultValues.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
1178
750
  bay.number = i7Data.feldnummer;
1179
751
  bay.locationID = i7Data.ips_folder_id;
1180
752
  if (voltageLevel) {
1181
- bay.voltageLevelUUID = voltageLevel.mrid;
753
+ bay.voltageLevel = voltageLevel;
1182
754
  const i7Schluessel = voltageLevel.description +
1183
755
  '/LK-' +
1184
756
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
1185
757
  bay.description = i7Schluessel;
1186
758
  }
1187
759
  else {
1188
- this.logger.info(`Laengskupplung ${i7Data.id} besitzt keine Anlage.`);
760
+ this.logger.debug(`Laengskupplung ${i7Data.id} besitzt keine Anlage.`);
1189
761
  }
1190
762
  this.laengskupplungIDs.push(i7Data.id);
1191
- this.integralID2UUID.set(i7Data.id, bay.mrid);
1192
- this.cimModel.addBay(bay);
763
+ this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG);
764
+ this.cimModelDefaultValues.addBay(bay);
1193
765
  }
1194
766
  }
1195
767
  else {
1196
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG} ist nicht vorhanden.`);
768
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG} ist nicht vorhanden.`);
1197
769
  }
1198
770
  });
1199
771
  }
1200
- convertBelastungen(knotenSfIDs, defaultValuesConfig, conformLoadMapping) {
772
+ convertBelastungen(knotenSfIDs, defaultValuesConfig, targetClass) {
1201
773
  return new Promise((resolve) => {
1202
774
  const querZweigID2LflID = new Map();
1203
775
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
1204
776
  this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.BELASTUNG, 0, 0, knotenSfIDs)).then((result) => {
1205
777
  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) {
1208
- const conformLoadGroup = this.cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, __1.CIM_CLASS_NAMES.ConformLoadGroup);
778
+ 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));
779
+ if (targetClass === __1.CIM_CLASS_NAMES.ConformLoad) {
780
+ const conformLoadGroup = this.cimModelDefaultValues.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, __1.CIM_CLASS_NAMES.ConformLoadGroup);
1209
781
  conformLoad.loadGroupUUID = conformLoadGroup.mrid;
1210
782
  }
1211
783
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1212
- __1.createSvStatus(this.cimModel, inBetrieb, conformLoad);
784
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, conformLoad);
1213
785
  const powerData = utils_2.getActiveReactivePower(i7Data);
1214
786
  conformLoad.p = powerData[0];
1215
787
  conformLoad.q = powerData[1];
1216
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
788
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1217
789
  if (connectivityNode) {
1218
- __1.createConnection(this.cimModel, conformLoad, connectivityNode, __1.PhaseCode.ABC);
1219
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
790
+ const terminal = __1.createConnection(this.cimModelDefaultValues, conformLoad, connectivityNode, __1.PhaseCode.ABC);
791
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1220
792
  if (equipmentContainer) {
1221
793
  conformLoad.equipmentContainerUUID = equipmentContainer.mrid;
1222
794
  const i7Schluesel = utils_2.getDescription(equipmentContainer.getSubstation()) +
@@ -1224,19 +796,19 @@ class ConverterIntegral7 {
1224
796
  conformLoad.description = i7Schluesel;
1225
797
  }
1226
798
  else {
1227
- this.logger.info(`EnergyConsumer ${i7Data.id} besitzt keinen EquipmentContainer.`);
799
+ this.logger.debug(`EnergyConsumer ${i7Data.id} besitzt keinen EquipmentContainer.`);
1228
800
  }
1229
801
  }
1230
802
  else {
1231
- this.logger.info(`EnergyConsumer ${i7Data.id} besitzt keinen ConnectivityNode.`);
803
+ this.logger.debug(`EnergyConsumer ${i7Data.id} besitzt keinen ConnectivityNode.`);
1232
804
  }
1233
- if (conformLoadMapping) {
1234
- this.cimModel.addConformLoad(conformLoad);
805
+ if (targetClass === __1.CIM_CLASS_NAMES.ConformLoad) {
806
+ this.cimModelDefaultValues.addConformLoad(conformLoad);
1235
807
  }
1236
808
  else {
1237
- this.cimModel.addEnergyConsumer(conformLoad);
809
+ this.cimModelDefaultValues.addEnergyConsumer(conformLoad);
1238
810
  }
1239
- this.integralID2UUID.set(i7Data.id, conformLoad.mrid);
811
+ this.addIdMapping(i7Data.id, conformLoad.mrid, integral_sql_1.Integral7TableNames.BELASTUNG);
1240
812
  querZweigID2LflID.set(i7Data.flussinfo3p, i7Data.id);
1241
813
  }
1242
814
  resolve(querZweigID2LflID);
@@ -1253,9 +825,9 @@ class ConverterIntegral7 {
1253
825
  .then((result) => {
1254
826
  for (const i7Data of result) {
1255
827
  const conductingEquipmentUUID = this.integralID2UUID.get(pfResultID2querZweigID.get(i7Data.id));
1256
- const conductingEquipment = this.cimModel.getObject(conductingEquipmentUUID);
828
+ const conductingEquipment = this.cimModelDefaultValues.getObject(conductingEquipmentUUID);
1257
829
  if (conductingEquipment.terminalsUUIDs.length) {
1258
- util_create_1.createSvPowerFlow(this.cimModel, i7Data.p, i7Data.q, conductingEquipment.terminalsUUIDs[0]);
830
+ util_create_1.createSvPowerFlow(this.cimModelDefaultValues, i7Data.p, i7Data.q, conductingEquipment.terminalsUUIDs[0]);
1259
831
  }
1260
832
  }
1261
833
  pfResultID2querZweigID.clear();
@@ -1266,45 +838,151 @@ class ConverterIntegral7 {
1266
838
  resolve();
1267
839
  });
1268
840
  }
1269
- convertEinspeisungen(knotenSfIDs) {
1270
- var _a, _b, _c;
841
+ convertEinspeisungen(knotenSfIDs, targetClass) {
1271
842
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1272
843
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.EINSPEISUNG)) {
1273
844
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.EINSPEISUNG, 0, 0, knotenSfIDs));
845
+ switch (targetClass) {
846
+ case __1.CIM_CLASS_NAMES.EquivalentInjection: {
847
+ yield this.convertEinspeisungen2EquivalentInjection(result);
848
+ break;
849
+ }
850
+ case __1.CIM_CLASS_NAMES.ExternalNetworkInjection: {
851
+ yield this.convertEinspeisungen2ExternalNetworkInjection(result);
852
+ break;
853
+ }
854
+ default: {
855
+ yield this.convertEinspeisungen2EnergySource(result);
856
+ }
857
+ }
858
+ }
859
+ else {
860
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
861
+ }
862
+ });
863
+ }
864
+ convertEinspeisungen2EnergySource(result) {
865
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
866
+ return new Promise((resolve) => {
867
+ var _a, _b, _c;
1274
868
  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;
869
+ try {
870
+ const energySource = new __1.EnergySource(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
871
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
872
+ const prio = i7Data.einspprio;
873
+ const usoll = i7Data.usoll;
874
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, energySource);
875
+ const spannungsgeregelt = utils_2.convertToBooleanI7(i7Data.spannungsgeregelt);
876
+ const powerData = utils_2.getActiveReactivePower(i7Data);
877
+ energySource.activePower = powerData[0];
878
+ energySource.reactivePower = powerData[1];
879
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
880
+ if (connectivityNode) {
881
+ __1.createConnection(this.cimModelDefaultValues, energySource, connectivityNode, __1.PhaseCode.ABC);
882
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
883
+ if (equipmentContainer) {
884
+ 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;
885
+ energySource.equipmentContainerUUID = equipmentContainer.mrid;
886
+ const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
887
+ energySource.description = i7Schluesel;
888
+ }
889
+ else {
890
+ this.logger.debug(`EnergySource ${i7Data.id} besitzt keinen EquipmentContainer.`);
891
+ }
1293
892
  }
1294
893
  else {
1295
- this.logger.info(`EnergySource ${i7Data.id} besitzt keinen EquipmentContainer.`);
894
+ this.logger.debug(`EnergySource ${i7Data.id} besitzt keinen ConnectivityNode.`);
1296
895
  }
896
+ this.cimModelDefaultValues.addEnergySource(energySource);
897
+ this.addIdMapping(i7Data.id, energySource.mrid, integral_sql_1.Integral7TableNames.EINSPEISUNG);
1297
898
  }
1298
- else {
1299
- this.logger.info(`EnergySource ${i7Data.id} besitzt keinen ConnectivityNode.`);
899
+ catch (err) {
900
+ this.logger.error(`Err convertEinspeisungen2EnergySource ${i7Data.id} ${err}`);
1300
901
  }
1301
- this.cimModel.addEnergySource(energySource);
1302
- this.integralID2UUID.set(i7Data.id, energySource.mrid);
1303
902
  }
1304
- }
1305
- else {
1306
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1307
- }
903
+ resolve();
904
+ });
905
+ });
906
+ }
907
+ convertEinspeisungen2EquivalentInjection(result) {
908
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
909
+ return new Promise((resolve) => {
910
+ for (const i7Data of result) {
911
+ try {
912
+ const equivalentInjection = new EquivalentInjection_1.EquivalentInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
913
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
914
+ const prio = i7Data.einspprio;
915
+ const usoll = i7Data.usoll;
916
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, equivalentInjection);
917
+ const powerData = utils_2.getActiveReactivePower(i7Data);
918
+ equivalentInjection.p = powerData[0];
919
+ equivalentInjection.q = powerData[1];
920
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
921
+ if (connectivityNode) {
922
+ __1.createConnection(this.cimModelDefaultValues, equivalentInjection, connectivityNode, __1.PhaseCode.ABC);
923
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
924
+ if (equipmentContainer) {
925
+ equivalentInjection.equipmentContainerUUID = equipmentContainer.mrid;
926
+ const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
927
+ equivalentInjection.description = i7Schluesel;
928
+ }
929
+ else {
930
+ this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
931
+ }
932
+ }
933
+ else {
934
+ this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
935
+ }
936
+ this.cimModelDefaultValues.addEquivalentInjection(equivalentInjection);
937
+ this.addIdMapping(i7Data.id, equivalentInjection.mrid, integral_sql_1.Integral7TableNames.EINSPEISUNG);
938
+ }
939
+ catch (err) {
940
+ this.logger.error(`Err convertEinspeisungen2EquivalentInjection ${i7Data.id} ${err}`);
941
+ }
942
+ }
943
+ resolve();
944
+ });
945
+ });
946
+ }
947
+ convertEinspeisungen2ExternalNetworkInjection(result) {
948
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
949
+ return new Promise((resolve) => {
950
+ for (const i7Data of result) {
951
+ try {
952
+ const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
953
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
954
+ const prio = i7Data.einspprio;
955
+ externalNetworkInjection.referencePriority = prio;
956
+ const usoll = i7Data.usoll;
957
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, externalNetworkInjection);
958
+ const powerData = utils_2.getActiveReactivePower(i7Data);
959
+ externalNetworkInjection.p = powerData[0];
960
+ externalNetworkInjection.q = powerData[1];
961
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
962
+ if (connectivityNode) {
963
+ __1.createConnection(this.cimModelDefaultValues, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
964
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
965
+ if (equipmentContainer) {
966
+ externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
967
+ const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
968
+ externalNetworkInjection.description = i7Schluesel;
969
+ }
970
+ else {
971
+ this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
972
+ }
973
+ }
974
+ else {
975
+ this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
976
+ }
977
+ this.cimModelDefaultValues.addExternalNetworkInjection(externalNetworkInjection);
978
+ this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
979
+ }
980
+ catch (err) {
981
+ this.logger.error(`Err convertEinspeisungen2EquivalentInjection ${i7Data.id} ${err}`);
982
+ }
983
+ }
984
+ resolve();
985
+ });
1308
986
  });
1309
987
  }
1310
988
  convertGeneratoren(knotenSfIDs, energyTypesConfig) {
@@ -1312,21 +990,38 @@ class ConverterIntegral7 {
1312
990
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.GENERATOR)) {
1313
991
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.GENERATOR, 0, 0, knotenSfIDs));
1314
992
  for (const i7Data of result) {
1315
- const synchronousMachine = new __1.SynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
993
+ const synchronousMachine = new __1.SynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Data.nameprimaertyp);
1316
994
  synchronousMachine.type = __1.SynchronousMachineKind.generator;
1317
995
  synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1318
996
  synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
997
+ const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
1319
998
  const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
1320
999
  const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
1321
1000
  const maxQvonPmax = utils_2.isNumericI7(i7Data.qmax_von_pmax) ? utils_2.convertToNumberI7(i7Data.qmax_von_pmax) : undefined;
1322
1001
  const minQvonPmin = utils_2.isNumericI7(i7Data.qmin_von_pmin) ? utils_2.convertToNumberI7(i7Data.qmin_von_pmin) : undefined;
1323
1002
  synchronousMachine.maxQ = maxQ ? maxQ : maxQvonPmax;
1324
1003
  synchronousMachine.minQ = minQ ? minQ : minQvonPmin;
1004
+ const powerData = utils_2.getActiveReactivePower(i7Data);
1005
+ const p = powerData[0];
1006
+ const q = powerData[1];
1007
+ synchronousMachine.p = p;
1008
+ synchronousMachine.q = q;
1325
1009
  const sr = utils_2.isNumericI7(i7Data.sr) ? utils_2.convertToNumberI7(i7Data.sr) : undefined;
1326
- synchronousMachine.ratedS = sr;
1010
+ if (sr && sr >= 0) {
1011
+ synchronousMachine.ratedS = sr;
1012
+ }
1013
+ else {
1014
+ synchronousMachine.ratedS = Math.sqrt(Math.pow(maxP, 2) + Math.pow(maxQvonPmax, 2));
1015
+ }
1016
+ if (!utils_2.isNumericI7(synchronousMachine.ratedS)) {
1017
+ console.log();
1018
+ }
1327
1019
  const ur = utils_2.isNumericI7(i7Data.ur) ? utils_2.convertToNumberI7(i7Data.ur) : undefined;
1328
- synchronousMachine.ratedU = ur;
1020
+ const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
1021
+ synchronousMachine.ratedU = usoll ? usoll : ur;
1329
1022
  synchronousMachine.aggregate = true;
1023
+ synchronousMachine.ratedPowerFactor = utils_2.isNumericI7(i7Data.cosphir) ? utils_2.convertToNumberI7(i7Data.cosphir) : undefined;
1024
+ synchronousMachine.r = utils_2.isNumericI7(i7Data.rg) ? utils_2.convertToNumberI7(i7Data.rg) : undefined;
1330
1025
  const reactiveCapabilityCurve = new __1.ReactiveCapabilityCurve(__1.generateUUID(), 'CurveData');
1331
1026
  reactiveCapabilityCurve.curveStyle = __1.CurveStyle.straightLineYValues;
1332
1027
  reactiveCapabilityCurve.xUnit = __1.UnitSymbol.W;
@@ -1337,25 +1032,27 @@ class ConverterIntegral7 {
1337
1032
  curveData1.xvalue = i7Data.p_min;
1338
1033
  curveData1.y1value = i7Data.qmin_von_pmin;
1339
1034
  curveData1.y2value = i7Data.qmax_von_pmin;
1340
- this.cimModel.addCurveData(curveData1);
1035
+ this.cimModelDefaultValues.addCurveData(curveData1);
1341
1036
  const curveData2 = new __1.CurveData(__1.generateUUID());
1342
1037
  curveData2.curve = reactiveCapabilityCurve;
1343
1038
  curveData2.xvalue = i7Data.p_max;
1344
1039
  curveData2.y1value = i7Data.qmin_von_pmax;
1345
1040
  curveData2.y2value = i7Data.qmax_von_pmax;
1346
- this.cimModel.addCurveData(curveData2);
1347
- this.cimModel.addReactiveCapabilityCurve(reactiveCapabilityCurve);
1041
+ this.cimModelDefaultValues.addCurveData(curveData2);
1042
+ this.cimModelDefaultValues.addReactiveCapabilityCurve(reactiveCapabilityCurve);
1348
1043
  synchronousMachine.initialReactiveCapabilityCurveUUID = reactiveCapabilityCurve.mrid;
1349
1044
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1350
- __1.createSvStatus(this.cimModel, inBetrieb, synchronousMachine);
1351
- const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Gen ${i7Data.id}`);
1045
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, synchronousMachine);
1046
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Gen_${i7Data.id}`);
1047
+ regulatingControl.enabled = inBetrieb;
1048
+ regulatingControl.targetValue = usoll;
1352
1049
  switch (i7Data.spannungsgeregelt) {
1353
1050
  case 1: {
1354
1051
  regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1355
1052
  break;
1356
1053
  }
1357
1054
  default: {
1358
- regulatingControl.mode = __1.RegulatingControlModeKind.timeScheduled;
1055
+ regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1359
1056
  }
1360
1057
  }
1361
1058
  synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
@@ -1366,7 +1063,7 @@ class ConverterIntegral7 {
1366
1063
  case 'ThermalGeneratingUnit': {
1367
1064
  generatingUnit = new __1.ThermalGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1368
1065
  if (generatingUnitConfig.fuelType) {
1369
- utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, this.cimModel);
1066
+ utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, this.cimModelDefaultValues);
1370
1067
  }
1371
1068
  break;
1372
1069
  }
@@ -1396,6 +1093,11 @@ class ConverterIntegral7 {
1396
1093
  generatingUnit = new __1.NuclearGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1397
1094
  break;
1398
1095
  }
1096
+ case 'HydroGeneratingUnit': {
1097
+ generatingUnit = new __1.HydroGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1098
+ generatingUnit.energyConversionCapability = __1.HydroEnergyConversionKind.pumpAndGenerator;
1099
+ break;
1100
+ }
1399
1101
  }
1400
1102
  }
1401
1103
  if (!generatingUnit) {
@@ -1405,14 +1107,18 @@ class ConverterIntegral7 {
1405
1107
  generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
1406
1108
  generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
1407
1109
  generatingUnit.minOperatingP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
1408
- generatingUnit.nominalP = synchronousMachine.ratedS;
1110
+ generatingUnit.nominalP = generatingUnit.maxOperatingP;
1111
+ const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
1112
+ const fn = 50;
1113
+ const pn = generatingUnit.maxOperatingP;
1114
+ generatingUnit.governorSCD = (utils_2.isNumericI7(kr) && utils_2.isNumericI7(generatingUnit.nominalP)) ? utils_2.calculateSigma(fn, pn, kr) : undefined;
1409
1115
  generatingUnit.addRotatingMachine(synchronousMachine);
1410
1116
  synchronousMachine.generatingUnitUUID = generatingUnit.mrid;
1411
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1117
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1412
1118
  if (connectivityNode) {
1413
- const terminal = __1.createConnection(this.cimModel, synchronousMachine, connectivityNode, __1.PhaseCode.ABC);
1119
+ const terminal = __1.createConnection(this.cimModelDefaultValues, synchronousMachine, connectivityNode, __1.PhaseCode.ABC);
1414
1120
  regulatingControl.terminalUUID = terminal.mrid;
1415
- const equipmentContainerEquip = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1121
+ const equipmentContainerEquip = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1416
1122
  if (equipmentContainerEquip) {
1417
1123
  synchronousMachine.equipmentContainerUUID = equipmentContainerEquip.mrid;
1418
1124
  const i7Schluesel = integral_prefix_1.GENERATOR_PRAEFIX + i7Data.bezeichner;
@@ -1423,20 +1129,35 @@ class ConverterIntegral7 {
1423
1129
  generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
1424
1130
  }
1425
1131
  else {
1426
- this.logger.info(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1132
+ this.logger.debug(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1427
1133
  }
1428
1134
  }
1429
1135
  else {
1430
- this.logger.info(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1136
+ this.logger.debug(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1431
1137
  }
1432
1138
  }
1433
1139
  else {
1434
- this.logger.info(`Generator ${i7Data.id} besitzt keinen ConnectivityNode/Terminal Instanz.`);
1140
+ this.logger.debug(`Generator ${i7Data.id} besitzt keinen ConnectivityNode/Terminal Instanz.`);
1435
1141
  }
1436
- this.cimModel.addRegulatingControl(regulatingControl);
1437
- this.cimModel.addGeneratingUnit(generatingUnit);
1438
- this.cimModel.addSynchronousMachine(synchronousMachine);
1439
- this.integralID2UUID.set(i7Data.id, synchronousMachine.mrid);
1142
+ const smtcr = new SynchronousMachineTimeConstantReactance_1.SynchronousMachineTimeConstantReactance(__1.generateUUID(), `smtcr_${synchronousMachine.name}`);
1143
+ smtcr.enabled = utils_2.convertToBooleanI7(i7Data.betrieb);
1144
+ smtcr.tpdo = utils_2.isNumericI7(i7Data.td1s) ? utils_2.convertToNumberI7(i7Data.td1s) : undefined;
1145
+ smtcr.tppdo = utils_2.isNumericI7(i7Data.td2s) ? utils_2.convertToNumberI7(i7Data.td2s) : undefined;
1146
+ smtcr.tpqo = utils_2.isNumericI7(i7Data.tq1s) ? utils_2.convertToNumberI7(i7Data.tq1s) : undefined;
1147
+ smtcr.tppqo = utils_2.isNumericI7(i7Data.tq2s) ? utils_2.convertToNumberI7(i7Data.tq2s) : undefined;
1148
+ smtcr.xDirectSync = utils_2.isNumericI7(i7Data.xdu) ? utils_2.convertToNumberI7(i7Data.xdu) : undefined;
1149
+ smtcr.xDirectTrans = utils_2.isNumericI7(i7Data.xdu1s) ? utils_2.convertToNumberI7(i7Data.xdu1s) : undefined;
1150
+ smtcr.xDirectSubtrans = utils_2.isNumericI7(i7Data.xdu2s) ? utils_2.convertToNumberI7(i7Data.xdu2s) : undefined;
1151
+ smtcr.xQuadSync = utils_2.isNumericI7(i7Data.xqu) ? utils_2.convertToNumberI7(i7Data.xqu) : undefined;
1152
+ smtcr.xQuadTrans = utils_2.isNumericI7(i7Data.xqu1s) ? utils_2.convertToNumberI7(i7Data.xqu1s) : undefined;
1153
+ smtcr.xQuadSubtrans = utils_2.isNumericI7(i7Data.xqu2s) ? utils_2.convertToNumberI7(i7Data.xqu2s) : undefined;
1154
+ smtcr.synchronousMachine = synchronousMachine;
1155
+ synchronousMachine.synchronousMachineDynamics = smtcr;
1156
+ this.cimModelDefaultValues.addRegulatingControl(regulatingControl);
1157
+ this.cimModelDefaultValues.addGeneratingUnit(generatingUnit);
1158
+ this.cimModelDefaultValues.addSynchronousMachine(synchronousMachine);
1159
+ this.cimModelDefaultValues.addSynchronousMachineTimeConstantReactance(smtcr);
1160
+ this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.GENERATOR);
1440
1161
  }
1441
1162
  }
1442
1163
  });
@@ -1450,6 +1171,7 @@ class ConverterIntegral7 {
1450
1171
  synchronousMachine.type = __1.SynchronousMachineKind.generator;
1451
1172
  synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1452
1173
  synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
1174
+ const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
1453
1175
  const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
1454
1176
  const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
1455
1177
  synchronousMachine.maxQ = maxQ;
@@ -1460,7 +1182,7 @@ class ConverterIntegral7 {
1460
1182
  synchronousMachine.ratedU = ur;
1461
1183
  synchronousMachine.aggregate = true;
1462
1184
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1463
- __1.createSvStatus(this.cimModel, inBetrieb, synchronousMachine);
1185
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, synchronousMachine);
1464
1186
  const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_KWBlock ${i7Data.id}`);
1465
1187
  switch (i7Data.spannungsgeregelt) {
1466
1188
  case 1: {
@@ -1479,7 +1201,7 @@ class ConverterIntegral7 {
1479
1201
  case 'ThermalGeneratingUnit': {
1480
1202
  generatingUnit = new __1.ThermalGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1481
1203
  if (generatingUnitConfig.fuelType) {
1482
- utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, this.cimModel);
1204
+ utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, this.cimModelDefaultValues);
1483
1205
  }
1484
1206
  break;
1485
1207
  }
@@ -1518,14 +1240,18 @@ class ConverterIntegral7 {
1518
1240
  generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
1519
1241
  generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
1520
1242
  generatingUnit.minOperatingP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
1521
- generatingUnit.nominalP = synchronousMachine.ratedS;
1243
+ generatingUnit.nominalP = generatingUnit.maxOperatingP;
1244
+ const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
1245
+ const fn = 50;
1246
+ const pn = generatingUnit.maxOperatingP;
1247
+ generatingUnit.governorSCD = (utils_2.isNumericI7(kr) && utils_2.isNumericI7(generatingUnit.nominalP)) ? utils_2.calculateSigma(fn, pn, kr) : undefined;
1522
1248
  generatingUnit.addRotatingMachine(synchronousMachine);
1523
1249
  synchronousMachine.generatingUnitUUID = generatingUnit.mrid;
1524
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1250
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1525
1251
  if (connectivityNode) {
1526
- const terminal = __1.createConnection(this.cimModel, synchronousMachine, connectivityNode, __1.PhaseCode.ABC);
1252
+ const terminal = __1.createConnection(this.cimModelDefaultValues, synchronousMachine, connectivityNode, __1.PhaseCode.ABC);
1527
1253
  regulatingControl.terminalUUID = terminal.mrid;
1528
- const equipmentContainerEquip = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1254
+ const equipmentContainerEquip = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1529
1255
  if (equipmentContainerEquip) {
1530
1256
  synchronousMachine.equipmentContainerUUID = equipmentContainerEquip.mrid;
1531
1257
  const i7Schluesel = integral_prefix_1.GENERATOR_PRAEFIX + i7Data.bezeichner;
@@ -1536,20 +1262,20 @@ class ConverterIntegral7 {
1536
1262
  generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
1537
1263
  }
1538
1264
  else {
1539
- this.logger.info(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1265
+ this.logger.debug(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1540
1266
  }
1541
1267
  }
1542
1268
  else {
1543
- this.logger.info(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1269
+ this.logger.debug(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1544
1270
  }
1545
1271
  }
1546
1272
  else {
1547
- this.logger.info(`Kraftwerksblock/SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode/Terminal`);
1273
+ this.logger.debug(`Kraftwerksblock/SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode/Terminal`);
1548
1274
  }
1549
- this.cimModel.addRegulatingControl(regulatingControl);
1550
- this.cimModel.addGeneratingUnit(generatingUnit);
1551
- this.cimModel.addSynchronousMachine(synchronousMachine);
1552
- this.integralID2UUID.set(i7Data.id, synchronousMachine.mrid);
1275
+ this.cimModelDefaultValues.addRegulatingControl(regulatingControl);
1276
+ this.cimModelDefaultValues.addGeneratingUnit(generatingUnit);
1277
+ this.cimModelDefaultValues.addSynchronousMachine(synchronousMachine);
1278
+ this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.KWBLOCK);
1553
1279
  }
1554
1280
  }
1555
1281
  });
@@ -1561,36 +1287,36 @@ class ConverterIntegral7 {
1561
1287
  for (const i7Data of result) {
1562
1288
  const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1563
1289
  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;
1290
+ const kr = 0;
1565
1291
  externalNetworkInjection.governorSCD = kr;
1566
1292
  const prio = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
1567
1293
  externalNetworkInjection.referencePriority = prio;
1568
1294
  externalNetworkInjection.aggregate = true;
1569
1295
  externalNetworkInjection.ikSecond = true;
1570
1296
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1571
- __1.createSvStatus(this.cimModel, inBetrieb, externalNetworkInjection);
1572
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1297
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, externalNetworkInjection);
1298
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1573
1299
  if (connectivityNode) {
1574
- __1.createConnection(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
1575
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1300
+ __1.createConnection(this.cimModelDefaultValues, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
1301
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1576
1302
  if (equipmentContainer) {
1577
1303
  externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
1578
1304
  const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
1579
1305
  externalNetworkInjection.description = i7Schluesel;
1580
1306
  }
1581
1307
  else {
1582
- this.logger.info(`ExternalNetworkInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1308
+ this.logger.debug(`ExternalNetworkInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1583
1309
  }
1584
1310
  }
1585
1311
  else {
1586
- this.logger.info(`ExternalNetworkInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1312
+ this.logger.debug(`ExternalNetworkInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1587
1313
  }
1588
- this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
1589
- this.integralID2UUID.set(i7Data.id, externalNetworkInjection.mrid);
1314
+ this.cimModelDefaultValues.addExternalNetworkInjection(externalNetworkInjection);
1315
+ this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG);
1590
1316
  }
1591
1317
  }
1592
1318
  else {
1593
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1319
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1594
1320
  }
1595
1321
  });
1596
1322
  }
@@ -1601,44 +1327,44 @@ class ConverterIntegral7 {
1601
1327
  for (const i7Data of result) {
1602
1328
  const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1603
1329
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1604
- __1.createSvStatus(this.cimModel, inBetrieb, statVarCom);
1605
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1330
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, statVarCom);
1331
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1606
1332
  let terminal;
1607
1333
  if (connectivityNode) {
1608
- terminal = __1.createConnection(this.cimModel, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1609
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1334
+ terminal = __1.createConnection(this.cimModelDefaultValues, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1335
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1610
1336
  if (equipmentContainer) {
1611
1337
  statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1612
1338
  }
1613
1339
  else {
1614
- this.logger.info(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
1340
+ this.logger.debug(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
1615
1341
  }
1616
1342
  }
1617
1343
  else {
1618
- this.logger.info(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
1344
+ this.logger.debug(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
1619
1345
  }
1620
- const regulatingControl = utils_2.createRegulatingControl(`RG_Statcom ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1346
+ const regulatingControl = utils_2.createRegulatingControl(`RG_Statcom ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModelDefaultValues, statVarCom);
1621
1347
  const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1622
1348
  regulatingControl.targetValue = uref;
1623
1349
  statVarCom.voltageSetPoint = uref;
1624
1350
  const flagOS = utils_2.convertToBooleanI7(i7Data.flag_os);
1625
1351
  if (flagOS && i7Data.trafo) {
1626
1352
  this.statcomRegulatingControls.set(i7Data.trafo, regulatingControl);
1627
- this.cimModel.regulatingControl.delete(regulatingControl.mrid);
1353
+ this.cimModelDefaultValues.regulatingControl.delete(regulatingControl.mrid);
1628
1354
  }
1629
1355
  else if (terminal) {
1630
1356
  regulatingControl.terminalUUID = terminal.mrid;
1631
1357
  }
1632
1358
  else {
1633
- this.logger.info(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1634
- this.logger.info(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1359
+ this.logger.debug(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1360
+ this.logger.debug(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1635
1361
  }
1636
- this.cimModel.addStaticVarCompensator(statVarCom);
1637
- this.integralID2UUID.set(i7Data.id, statVarCom.mrid);
1362
+ this.cimModelDefaultValues.addStaticVarCompensator(statVarCom);
1363
+ this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.STATCOM);
1638
1364
  }
1639
1365
  }
1640
1366
  else {
1641
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1367
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1642
1368
  }
1643
1369
  });
1644
1370
  }
@@ -1649,68 +1375,68 @@ class ConverterIntegral7 {
1649
1375
  for (const i7Data of result) {
1650
1376
  const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1651
1377
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1652
- __1.createSvStatus(this.cimModel, inBetrieb, statVarCom);
1653
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1378
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, statVarCom);
1379
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1654
1380
  let terminal;
1655
1381
  if (connectivityNode) {
1656
- terminal = __1.createConnection(this.cimModel, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1657
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1382
+ terminal = __1.createConnection(this.cimModelDefaultValues, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1383
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1658
1384
  if (equipmentContainer) {
1659
1385
  statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1660
1386
  }
1661
1387
  else {
1662
- this.logger.info(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
1388
+ this.logger.debug(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
1663
1389
  }
1664
1390
  }
1665
1391
  else {
1666
- this.logger.info(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
1392
+ this.logger.debug(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
1667
1393
  }
1668
- const regulatingControl = utils_2.createRegulatingControl(`RG_SVC ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1394
+ const regulatingControl = utils_2.createRegulatingControl(`RG_SVC ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModelDefaultValues, statVarCom);
1669
1395
  const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1670
1396
  regulatingControl.targetValue = uref;
1671
1397
  statVarCom.voltageSetPoint = uref;
1672
1398
  const flagOS = utils_2.convertToBooleanI7(i7Data.flag_os);
1673
1399
  if (flagOS && i7Data.trafo) {
1674
1400
  this.statcomRegulatingControls.set(i7Data.trafo, regulatingControl);
1675
- this.cimModel.regulatingControl.delete(regulatingControl.mrid);
1401
+ this.cimModelDefaultValues.regulatingControl.delete(regulatingControl.mrid);
1676
1402
  }
1677
1403
  else if (terminal) {
1678
1404
  regulatingControl.terminalUUID = terminal.mrid;
1679
1405
  }
1680
1406
  else {
1681
- this.logger.info(`SVC RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1407
+ this.logger.debug(`SVC RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1682
1408
  }
1683
- this.cimModel.addStaticVarCompensator(statVarCom);
1684
- this.integralID2UUID.set(i7Data.id, statVarCom.mrid);
1409
+ this.cimModelDefaultValues.addStaticVarCompensator(statVarCom);
1410
+ this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.SVC);
1685
1411
  }
1686
1412
  }
1687
1413
  else {
1688
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1414
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1689
1415
  }
1690
1416
  });
1691
1417
  }
1692
1418
  addTerminal2StatcomRegulatingControl(i7TrafoID, powerTransformer) {
1693
- var _a;
1419
+ var _a, _b;
1694
1420
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1695
1421
  if (this.statcomRegulatingControls.has(i7TrafoID)) {
1696
- if (powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds.length) {
1422
+ if ((_a = powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds) === null || _a === void 0 ? void 0 : _a.length) {
1697
1423
  let voltage = 0;
1698
1424
  let powertransfomerEnd = powerTransformer.powerTransformerEnds[0];
1699
1425
  for (const pEnd of powerTransformer.powerTransformerEnds) {
1700
- const baseVoltage = this.cimModel.baseVoltages.get(pEnd.getBaseVoltageUUID());
1426
+ const baseVoltage = this.cimModelDefaultValues.baseVoltages.get(pEnd.getBaseVoltageUUID());
1701
1427
  if (!baseVoltage)
1702
1428
  continue;
1703
- const v = (_a = baseVoltage.nominalVoltage) === null || _a === void 0 ? void 0 : _a.value;
1429
+ const v = (_b = baseVoltage.nominalVoltage) === null || _b === void 0 ? void 0 : _b.value;
1704
1430
  if (v > voltage) {
1705
1431
  voltage = v;
1706
1432
  powertransfomerEnd = pEnd;
1707
1433
  }
1708
1434
  }
1709
- const terminalUUID = powertransfomerEnd.terminalUUID;
1435
+ const terminalUUID = powertransfomerEnd.getTerminalUUID();
1710
1436
  const regulatingControl = this.statcomRegulatingControls.get(i7TrafoID);
1711
1437
  regulatingControl.terminalUUID = terminalUUID;
1712
1438
  this.statcomRegulatingControls.delete(i7TrafoID);
1713
- this.cimModel.addRegulatingControl(regulatingControl);
1439
+ this.cimModelDefaultValues.addRegulatingControl(regulatingControl);
1714
1440
  }
1715
1441
  }
1716
1442
  });
@@ -1722,37 +1448,40 @@ class ConverterIntegral7 {
1722
1448
  for (const i7Data of result) {
1723
1449
  const connectivityNode = new __1.ConnectivityNode(__1.getUUID(i7Data.guid), 'knotensf cn', 'knotensf');
1724
1450
  const isInmemory = this.checkMemoryObject(i7Data.id, connectivityNode);
1725
- const bay = this.cimModel.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
1451
+ const bay = this.cimModelDefaultValues.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
1726
1452
  if (bay) {
1727
1453
  if (isInmemory) {
1728
- connectivityNode.connectivityNodeContainerUUID = bay.voltageLevelUUID;
1454
+ connectivityNode.connectivityNodeContainerUUID = bay.getVoltageLevelUUID();
1729
1455
  }
1730
1456
  else {
1731
1457
  connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1732
1458
  }
1733
1459
  }
1734
1460
  else {
1735
- this.logger.info(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
1461
+ this.logger.debug(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
1736
1462
  }
1737
1463
  this.knotenSfIDs.push(i7Data.id);
1738
- this.cimModel.addConnectivityNode(connectivityNode);
1739
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1740
- const connectivityNodeContainer = this.cimModel.getObject(connectivityNode.connectivityNodeContainerUUID);
1464
+ this.cimModelDefaultValues.addConnectivityNode(connectivityNode);
1465
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SF);
1466
+ const connectivityNodeContainer = this.cimModelDefaultValues.getObject(connectivityNode.connectivityNodeContainerUUID);
1741
1467
  if (connectivityNodeContainer) {
1742
1468
  let baseVoltage;
1743
1469
  if (connectivityNodeContainer instanceof __1.VoltageLevel) {
1744
- baseVoltage = this.cimModel.getObject(connectivityNodeContainer.baseVoltageUUID);
1470
+ baseVoltage = (connectivityNodeContainer === null || connectivityNodeContainer === void 0 ? void 0 : connectivityNodeContainer.baseVoltage) ? connectivityNodeContainer.baseVoltage : this.cimModelDefaultValues.getObject(connectivityNodeContainer.baseVoltageUUID);
1745
1471
  }
1746
1472
  else if (connectivityNodeContainer instanceof __1.Bay) {
1747
- const vl = this.cimModel.getObject(connectivityNodeContainer.voltageLevelUUID);
1748
- baseVoltage = this.cimModel.getObject(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
1473
+ const vl = this.cimModelDefaultValues.getObject(connectivityNodeContainer.getVoltageLevelUUID());
1474
+ baseVoltage = (vl === null || vl === void 0 ? void 0 : vl.baseVoltage) ? vl.baseVoltage : this.cimModelDefaultValues.getObject(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
1749
1475
  }
1750
1476
  this.knotenSpannung.set(connectivityNode.mrid, baseVoltage);
1751
1477
  }
1478
+ else {
1479
+ console.log();
1480
+ }
1752
1481
  }
1753
1482
  }
1754
1483
  else {
1755
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SF} ist nicht vorhanden.`);
1484
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SF} ist nicht vorhanden.`);
1756
1485
  }
1757
1486
  });
1758
1487
  }
@@ -1762,19 +1491,19 @@ class ConverterIntegral7 {
1762
1491
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KNOTEN_KF, 0, 0, querkupplungIDs));
1763
1492
  for (const i7Data of result) {
1764
1493
  const connectivityNode = new __1.ConnectivityNode(__1.getUUID(i7Data.guid), 'knotenkf cn', 'knotenkf');
1765
- const bay = this.cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
1494
+ const bay = this.cimModelDefaultValues.getBay(this.integralID2UUID.get(i7Data.kpfeld));
1766
1495
  if (bay) {
1767
1496
  connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1768
1497
  }
1769
1498
  else {
1770
- this.logger.info(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
1499
+ this.logger.debug(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
1771
1500
  }
1772
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1773
- this.cimModel.addConnectivityNode(connectivityNode);
1501
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_KF);
1502
+ this.cimModelDefaultValues.addConnectivityNode(connectivityNode);
1774
1503
  }
1775
1504
  }
1776
1505
  else {
1777
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
1506
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
1778
1507
  }
1779
1508
  });
1780
1509
  }
@@ -1784,19 +1513,19 @@ class ConverterIntegral7 {
1784
1513
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KNOTEN_LK, 0, 0, laengskupplungIDs));
1785
1514
  for (const i7Data of result) {
1786
1515
  const connectivityNode = new __1.ConnectivityNode(__1.generateUUID(), utils_2.getName(i7Data), 'KnotenLk');
1787
- const bay = this.cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
1516
+ const bay = this.cimModelDefaultValues.getBay(this.integralID2UUID.get(i7Data.lkupplung));
1788
1517
  if (bay) {
1789
1518
  connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1790
1519
  }
1791
1520
  else {
1792
- this.logger.info(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
1521
+ this.logger.debug(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
1793
1522
  }
1794
- this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1795
- this.cimModel.addConnectivityNode(connectivityNode);
1523
+ this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_LK);
1524
+ this.cimModelDefaultValues.addConnectivityNode(connectivityNode);
1796
1525
  }
1797
1526
  }
1798
1527
  else {
1799
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_LK} ist nicht vorhanden.`);
1528
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_LK} ist nicht vorhanden.`);
1800
1529
  }
1801
1530
  });
1802
1531
  }
@@ -1808,23 +1537,23 @@ class ConverterIntegral7 {
1808
1537
  const terminal = new __1.Terminal(__1.generateUUID(), 'T_Schlaufe', String(i7Data.id));
1809
1538
  terminal.connected = utils_2.convertToBooleanI7(i7Data.schaltzustand);
1810
1539
  terminal.phases = __1.PhaseCode.ABC;
1811
- this.integralID2UUID.set(i7Data.id, terminal.mrid);
1812
- this.integralID2UUID.set(i7Data.knotenzw, terminal.mrid);
1540
+ this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
1541
+ this.addIdMapping(i7Data.knotenzw, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
1813
1542
  this.inmemoryObjects.set(i7Data.id, terminal);
1814
1543
  this.inmemoryObjects.set(i7Data.knotenzw, terminal);
1815
1544
  const eknotenUUID = this.integralID2UUID.get(i7Data.eknoten);
1816
1545
  if (eknotenUUID) {
1817
1546
  terminal.connectivityNodeUUID = eknotenUUID;
1818
- const connectivityNode = this.cimModel.getConnectivityNode(eknotenUUID);
1547
+ const connectivityNode = this.cimModelDefaultValues.getConnectivityNode(eknotenUUID);
1819
1548
  this.knotenSpannung.set(connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.mrid, connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getBaseVoltage());
1820
1549
  }
1821
1550
  else {
1822
- this.logger.info(`Schlaufe ${i7Data.id} besitzt kein KnotenSO).`);
1551
+ this.logger.debug(`Schlaufe ${i7Data.id} besitzt kein KnotenSO).`);
1823
1552
  }
1824
1553
  }
1825
1554
  }
1826
1555
  else {
1827
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHLAUFE} ist nicht vorhanden.`);
1556
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHLAUFE} ist nicht vorhanden.`);
1828
1557
  }
1829
1558
  });
1830
1559
  }
@@ -1833,19 +1562,19 @@ class ConverterIntegral7 {
1833
1562
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT)) {
1834
1563
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_STANDORT, 0, 0, standortIDs));
1835
1564
  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
- }
1565
+ const schema = {
1566
+ netzId: i7Data.standort,
1567
+ variantenNr: i7Data.variantennr,
1568
+ schemaId: i7Data.id,
1569
+ schemaIdParent: undefined,
1570
+ x: i7Data.xrel,
1571
+ y: i7Data.yrel
1572
+ };
1573
+ this.schemaIDSchemastandort.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
1845
1574
  }
1846
1575
  }
1847
1576
  else {
1848
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
1577
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
1849
1578
  }
1850
1579
  });
1851
1580
  }
@@ -1854,42 +1583,36 @@ class ConverterIntegral7 {
1854
1583
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO)) {
1855
1584
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_KNOTEN_SO, 0, 0, knotenSoIDs));
1856
1585
  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');
1864
- 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
- }
1586
+ const diagramUUID = this.i7SchemaID2UUID.get(i7Data.variantennr);
1587
+ const schemaStandordObject = utils_2.getSchemaValue(i7Data.variantennr, i7Data.nsgso, this.schemaIDSchemastandort);
1588
+ if (!diagramUUID || !schemaStandordObject) {
1589
+ continue;
1590
+ }
1591
+ const diagramObject = new __1.DiagramObject(__1.generateUUID(), 'Abzweig');
1592
+ diagramObject.diagramUUID = diagramUUID;
1593
+ if (!this.cimModelDefaultValues.diagrams.has(diagramUUID)) {
1594
+ const d = this.cimModelDefaultValues.getObject(diagramUUID);
1595
+ console.log();
1596
+ }
1597
+ diagramObject.setDiagram(this.cimModelDefaultValues.getDiagram(diagramUUID));
1598
+ const diagramObjectPoint = new __1.DiagramObjectPoint(schemaStandordObject.x + i7Data.xrel, schemaStandordObject.y + i7Data.yrel);
1599
+ diagramObjectPoint.mrid = __1.generateUUID();
1600
+ diagramObjectPoint.diagramObject = diagramObject;
1601
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1602
+ this.cimModelDefaultValues.addDiagramObject(diagramObject);
1603
+ this.cimModelDefaultValues.addDiagramObjectPoint(diagramObjectPoint);
1604
+ const cnUUID = this.integralID2UUID.get(i7Data.knotenso);
1605
+ const cn = this.cimModelDefaultValues.getObject(cnUUID);
1606
+ if (cn) {
1607
+ diagramObject.identifiedObjectUUID = cn.mrid;
1886
1608
  }
1887
1609
  else {
1610
+ this.logger.debug(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
1888
1611
  }
1889
1612
  }
1890
1613
  }
1891
1614
  else {
1892
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1615
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1893
1616
  }
1894
1617
  });
1895
1618
  }
@@ -1898,26 +1621,19 @@ class ConverterIntegral7 {
1898
1621
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE)) {
1899
1622
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, 0, 0, saIDs));
1900
1623
  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
- }
1624
+ const schema = {
1625
+ netzId: i7Data.schaltanlage,
1626
+ variantenNr: i7Data.variantennr,
1627
+ schemaId: i7Data.id,
1628
+ schemaIdParent: i7Data.nsgso,
1629
+ x: i7Data.xrel,
1630
+ y: i7Data.yrel
1631
+ };
1632
+ this.schemaIDSchaltanlage.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
1917
1633
  }
1918
1634
  }
1919
1635
  else {
1920
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1636
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
1921
1637
  }
1922
1638
  });
1923
1639
  }
@@ -1926,160 +1642,19 @@ class ConverterIntegral7 {
1926
1642
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT)) {
1927
1643
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenabschnittIDs));
1928
1644
  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
- }
1645
+ const schema = {
1646
+ netzId: i7Data.saabschnitt,
1647
+ variantenNr: i7Data.variantennr,
1648
+ schemaId: i7Data.id,
1649
+ schemaIdParent: i7Data.nsgsa,
1650
+ x: i7Data.xrel,
1651
+ y: i7Data.yrel
1652
+ };
1653
+ this.schemaIDSchaltanlagenabschnitt.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
2079
1654
  }
2080
1655
  }
2081
1656
  else {
2082
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1657
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
2083
1658
  }
2084
1659
  });
2085
1660
  }
@@ -2090,43 +1665,43 @@ class ConverterIntegral7 {
2090
1665
  for (const i7Data of result) {
2091
1666
  const junction = new __1.Junction(__1.getUUID(i7Data.guid), `${i7Data.bezeichner}/${i7Data.id}`, 'JNCT', 'starre Verbindung');
2092
1667
  const schaltzustand = utils_2.convertToBooleanI7(i7Data.schaltzustand);
2093
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(this.integralID2UUID.get(i7Data.seliste)));
2094
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2095
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
1668
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(this.integralID2UUID.get(i7Data.seliste)));
1669
+ const cnStart = this.cimModelDefaultValues.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
1670
+ const cnZiel = this.cimModelDefaultValues.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2096
1671
  if (equipmentContainer) {
2097
1672
  junction.equipmentContainerUUID = equipmentContainer.mrid;
2098
1673
  }
2099
1674
  else {
2100
- this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
1675
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
2101
1676
  }
2102
1677
  if (cnStart) {
2103
- const terminal = __1.createConnection(this.cimModel, junction, cnStart, __1.PhaseCode.ABC, 1);
1678
+ const terminal = __1.createConnection(this.cimModelDefaultValues, junction, cnStart, __1.PhaseCode.ABC, 1);
2104
1679
  if (schaltzustand === false) {
2105
1680
  terminal.connected = schaltzustand;
2106
1681
  }
2107
1682
  }
2108
1683
  else {
2109
- this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
1684
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
2110
1685
  }
2111
1686
  if (cnZiel) {
2112
- const terminal = __1.createConnection(this.cimModel, junction, cnZiel, __1.PhaseCode.ABC, 2);
1687
+ const terminal = __1.createConnection(this.cimModelDefaultValues, junction, cnZiel, __1.PhaseCode.ABC, 2);
2113
1688
  if (schaltzustand === false) {
2114
1689
  terminal.connected = schaltzustand;
2115
1690
  }
2116
1691
  }
2117
1692
  else {
2118
- this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
1693
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
2119
1694
  }
2120
- const baseVoltage = utils_2.getTerminalUn(this.cimModel, junction);
1695
+ const baseVoltage = utils_2.getTerminalUn(this.cimModelDefaultValues, junction);
2121
1696
  if (baseVoltage) {
2122
1697
  junction.baseVoltageUUID = baseVoltage.mrid;
2123
1698
  }
2124
- this.integralID2UUID.set(i7Data.id, junction.mrid);
2125
- this.cimModel.addJunction(junction);
1699
+ this.addIdMapping(i7Data.id, junction.mrid, integral_sql_1.Integral7TableNames.KNOTEN_STARR);
1700
+ this.cimModelDefaultValues.addJunction(junction);
2126
1701
  }
2127
1702
  }
2128
1703
  else {
2129
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_STARR} ist nicht vorhanden.`);
1704
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_STARR} ist nicht vorhanden.`);
2130
1705
  }
2131
1706
  });
2132
1707
  }
@@ -2146,8 +1721,8 @@ class ConverterIntegral7 {
2146
1721
  const equivalentBranch = new __1.EquivalentBranch(__1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
2147
1722
  const ur1 = utils_2.getU(i7Data.ur1, defaultValuesConfig.DefaultVoltage);
2148
1723
  const ur2 = utils_2.getU(i7Data.ur2, defaultValuesConfig.DefaultVoltage);
2149
- const baseVoltageUr1 = __1.createBaseVoltageIfNotExists(this.cimModel, ur1);
2150
- const baseVoltageUr2 = __1.createBaseVoltageIfNotExists(this.cimModel, ur2);
1724
+ const baseVoltageUr1 = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, ur1);
1725
+ const baseVoltageUr2 = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, ur2);
2151
1726
  if (baseVoltageUr1) {
2152
1727
  equivalentBranch.baseVoltage = baseVoltageUr1;
2153
1728
  }
@@ -2156,53 +1731,24 @@ class ConverterIntegral7 {
2156
1731
  }
2157
1732
  const start = this.inmemoryObjects.get(i7Data.aknoten);
2158
1733
  if (start) {
2159
- __1.createConnection(this.cimModel, equivalentBranch, start, __1.PhaseCode.ABC, 1);
1734
+ __1.createConnection(this.cimModelDefaultValues, equivalentBranch, start, __1.PhaseCode.ABC, 1);
2160
1735
  }
2161
1736
  else {
2162
- this.logger.info(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
1737
+ this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2163
1738
  }
2164
1739
  const target = this.inmemoryObjects.get(i7Data.eknoten);
2165
1740
  if (target) {
2166
- __1.createConnection(this.cimModel, equivalentBranch, target, __1.PhaseCode.ABC, 2);
1741
+ __1.createConnection(this.cimModelDefaultValues, equivalentBranch, target, __1.PhaseCode.ABC, 2);
2167
1742
  }
2168
1743
  else {
2169
- this.logger.info(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
1744
+ this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
2170
1745
  }
2171
- this.cimModel.addEquivalentBranch(equivalentBranch);
2172
- this.integralID2UUID.set(i7Data.id, equivalentBranch.mrid);
1746
+ this.cimModelDefaultValues.addEquivalentBranch(equivalentBranch);
1747
+ this.addIdMapping(i7Data.id, equivalentBranch.mrid, integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
2173
1748
  }
2174
1749
  }
2175
1750
  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.`);
1751
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG} ist nicht vorhanden.`);
2206
1752
  }
2207
1753
  });
2208
1754
  }
@@ -2213,30 +1759,35 @@ class ConverterIntegral7 {
2213
1759
  for (const i7Data of result) {
2214
1760
  const typ = new EVWireInfo_1.EVWireInfo(__1.generateUUID(), i7Data.name);
2215
1761
  this.setWireInfoProperties(typ, i7Data, 'Freileitung');
2216
- this.cimModel.addEVWireInfo(typ);
1762
+ this.cimModelDefaultValues.addEVWireInfo(typ);
2217
1763
  }
2218
1764
  }
2219
1765
  else {
2220
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
1766
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2221
1767
  }
2222
1768
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KABEL)) {
2223
1769
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_KABEL, 0, 0, []));
2224
1770
  for (const i7Data of result) {
2225
1771
  const typ = new EVWireInfo_1.EVWireInfo(__1.generateUUID(), i7Data.name);
2226
1772
  this.setWireInfoProperties(typ, i7Data, 'Kabel');
2227
- this.cimModel.addEVWireInfo(typ);
1773
+ this.cimModelDefaultValues.addEVWireInfo(typ);
2228
1774
  }
2229
1775
  }
2230
1776
  else {
2231
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
1777
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
2232
1778
  }
2233
1779
  });
2234
1780
  }
2235
- convertLeitungen(limit, offset) {
1781
+ convertLeitungen(limit, offset, defaultValuesConfig) {
2236
1782
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2237
1783
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG)) {
2238
1784
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LEITUNG, limit, offset, []));
1785
+ const leitungIDs = result.map(elem => elem.id);
1786
+ const leitungStromkreisabschnitt = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STROMKREISABSCHNITT, limit, offset, leitungIDs));
2239
1787
  for (const i7Data of result) {
1788
+ const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
1789
+ if (!(stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length))
1790
+ continue;
2240
1791
  const leitung = new Leitung_1.LeitungImpl(i7Data);
2241
1792
  this.integralLeitungen.set(i7Data.id, leitung);
2242
1793
  const i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
@@ -2253,42 +1804,79 @@ class ConverterIntegral7 {
2253
1804
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2254
1805
  integral_prefix_1.MITTIGER_PUNKT +
2255
1806
  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) {
1807
+ const line = new __1.Line(__1.getUUID(i7Data.guid), name);
1808
+ const region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.GeographicalRegion.name);
1809
+ const subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.SubGeographicalRegion.name, region);
1810
+ line.regionUUID = subregion.mrid;
1811
+ const acLineSegments = [];
1812
+ for (const stk of stromkreisabschnitte) {
1813
+ const acLineSegment = new __1.ACLineSegment(__1.generateUUID(), name, i7Data.stkabname, i7Schluessel);
1814
+ this.setACLineSegmentProperties(acLineSegment, stk, stk.nametyp, defaultValuesConfig);
1815
+ acLineSegment.description = stk.nametyp;
2261
1816
  acLineSegment.equipmentContainerUUID = line.mrid;
2262
- }
2263
- else {
2264
- this.logger.info(`Leitung ${i7Data.id} besitzt keinen Stromkreis.`);
1817
+ line.equipmentsUUIDS.push(acLineSegment.mrid);
1818
+ acLineSegments.push(acLineSegment);
1819
+ this.addIdMapping(stk.id, acLineSegment.mrid, integral_sql_1.Integral7TableNames.LEITUNG);
1820
+ this.cimModelDefaultValues.addACLineSegment(acLineSegment);
1821
+ }
1822
+ this.cimModelDefaultValues.addLine(line);
1823
+ const anzahl = acLineSegments.length;
1824
+ for (let i = 0; i < anzahl - 1; i++) {
1825
+ const cn = new __1.ConnectivityNode(__1.generateUUID(), 'CN_Lt');
1826
+ const acLineSegment1 = acLineSegments[i];
1827
+ const t1 = __1.createConnection(this.cimModelDefaultValues, acLineSegment1, cn, __1.PhaseCode.ABC);
1828
+ this.setACLineSegmentCurrentLimt(acLineSegment1, acLineSegment1.description, t1.mrid);
1829
+ const acLineSegment2 = acLineSegments[i + 1];
1830
+ const t2 = __1.createConnection(this.cimModelDefaultValues, acLineSegment2, cn, __1.PhaseCode.ABC);
1831
+ this.setACLineSegmentCurrentLimt(acLineSegment2, acLineSegment2.description, t2.mrid);
1832
+ cn.connectivityNodeContainerUUID = acLineSegment1.equipmentContainerUUID;
1833
+ this.cimModelDefaultValues.addConnectivityNode(cn);
2265
1834
  }
2266
1835
  const start = this.inmemoryObjects.get(i7Data.aknoten);
1836
+ const acLineSegmentStart = acLineSegments[0];
2267
1837
  if (start) {
2268
- const terminal = __1.createConnection(this.cimModel, acLineSegment, start, __1.PhaseCode.ABC, 1);
2269
- if (!acLineSegment.baseVoltage) {
1838
+ const terminal = __1.createConnection(this.cimModelDefaultValues, acLineSegmentStart, start, __1.PhaseCode.ABC, acLineSegmentStart.terminalsUUIDs.length + 1);
1839
+ this.setACLineSegmentCurrentLimt(acLineSegmentStart, acLineSegmentStart.description, terminal.mrid);
1840
+ if (!acLineSegmentStart.baseVoltage) {
2270
1841
  const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2271
- acLineSegment.baseVoltage = baseVoltage;
1842
+ acLineSegmentStart.baseVoltage = baseVoltage;
2272
1843
  }
2273
1844
  }
2274
1845
  else {
2275
- this.logger.info(`Leitung ${i7Data.id} ${acLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
1846
+ this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2276
1847
  }
2277
1848
  const target = this.inmemoryObjects.get(i7Data.eknoten);
1849
+ const acLineSegmentZiel = acLineSegments[anzahl - 1];
2278
1850
  if (target) {
2279
- const terminal = __1.createConnection(this.cimModel, acLineSegment, target, __1.PhaseCode.ABC, 2);
2280
- if (!acLineSegment.baseVoltage) {
1851
+ const terminal = __1.createConnection(this.cimModelDefaultValues, acLineSegmentZiel, target, __1.PhaseCode.ABC, acLineSegmentStart.terminalsUUIDs.length + 2);
1852
+ this.setACLineSegmentCurrentLimt(acLineSegmentZiel, acLineSegmentZiel.description, terminal.mrid);
1853
+ if (!acLineSegmentZiel.baseVoltage) {
2281
1854
  const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2282
- acLineSegment.baseVoltage = baseVoltage;
1855
+ acLineSegmentZiel.baseVoltage = baseVoltage;
2283
1856
  }
2284
1857
  }
2285
1858
  else {
2286
- this.logger.info(`Leitung ${i7Data.id} ${acLineSegment.mrid} besitzt keinen Zielknoten.`);
1859
+ this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentZiel.mrid} besitzt keinen Zielknoten.`);
1860
+ }
1861
+ const stkBaseVoltage = acLineSegments.find(elem => elem.baseVoltage !== undefined);
1862
+ if (!stkBaseVoltage) {
1863
+ this.logger.error(`Leitung ${i7Data.id}: Spannung konnte nicht bestimmt werden.`);
1864
+ continue;
1865
+ }
1866
+ for (const acLineSegment of acLineSegments) {
1867
+ acLineSegment.baseVoltage = stkBaseVoltage.baseVoltage;
1868
+ for (let i = 0; i < acLineSegment.terminalsUUIDs.length; i++) {
1869
+ let terminal = this.cimModelDefaultValues.getTerminal(acLineSegment.terminalsUUIDs[i]);
1870
+ if (!terminal)
1871
+ terminal = this.inmemoryObjects.get(i7Data.aknoten);
1872
+ if (terminal)
1873
+ terminal.sequenceNumber = i + 1;
1874
+ }
2287
1875
  }
2288
1876
  }
2289
1877
  }
2290
1878
  else {
2291
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
1879
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2292
1880
  }
2293
1881
  });
2294
1882
  }
@@ -2297,32 +1885,32 @@ class ConverterIntegral7 {
2297
1885
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG)) {
2298
1886
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.FREILEITUNG, 0, 0, leitungsIDs));
2299
1887
  for (const i7Data of result) {
2300
- const acLineSegment = this.cimModel.getACLineSegment(this.integralID2UUID.get(i7Data.leitung));
1888
+ const acLineSegment = this.cimModelDefaultValues.getACLineSegment(this.integralID2UUID.get(i7Data.leitung));
2301
1889
  if (acLineSegment) {
2302
1890
  this.setACLineSegmentProperties(acLineSegment, i7Data, 'Freileitung', defaultValuesConfig);
2303
1891
  }
2304
1892
  else {
2305
- this.logger.info(`Freileitung ${i7Data.id} besitzt kein Leitungsobjekt.`);
1893
+ this.logger.debug(`Freileitung ${i7Data.id} besitzt kein Leitungsobjekt.`);
2306
1894
  }
2307
1895
  }
2308
1896
  }
2309
1897
  else {
2310
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
1898
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2311
1899
  }
2312
1900
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL)) {
2313
1901
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KABEL, 0, 0, leitungsIDs));
2314
1902
  for (const i7Data of result) {
2315
- const acLineSegment = this.cimModel.getACLineSegment(this.integralID2UUID.get(i7Data.leitung));
1903
+ const acLineSegment = this.cimModelDefaultValues.getACLineSegment(this.integralID2UUID.get(i7Data.leitung));
2316
1904
  if (acLineSegment) {
2317
1905
  this.setACLineSegmentProperties(acLineSegment, i7Data, 'Kabel', defaultValuesConfig);
2318
1906
  }
2319
1907
  else {
2320
- this.logger.info(`Kabel ${i7Data.id} besitzt kein Leitungsobjekt.`);
1908
+ this.logger.debug(`Kabel ${i7Data.id} besitzt kein Leitungsobjekt.`);
2321
1909
  }
2322
1910
  }
2323
1911
  }
2324
1912
  else {
2325
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
1913
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2326
1914
  }
2327
1915
  });
2328
1916
  }
@@ -2346,13 +1934,13 @@ class ConverterIntegral7 {
2346
1934
  this.setTransformerEndInfoProperties(typWicklung2, i7Data, 2);
2347
1935
  typWicklung2.powerTransformerInfo = typTrafo;
2348
1936
  typTrafo.addTransformerEndInfo(typWicklung2);
2349
- this.cimModel.addEvPowerTransformerInfo(typTrafo);
2350
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung1);
2351
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung2);
1937
+ this.cimModelDefaultValues.addEvPowerTransformerInfo(typTrafo);
1938
+ this.cimModelDefaultValues.addEvPowerTransformerEndInfo(typWicklung1);
1939
+ this.cimModelDefaultValues.addEvPowerTransformerEndInfo(typWicklung2);
2352
1940
  }
2353
1941
  }
2354
1942
  else {
2355
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
1943
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
2356
1944
  }
2357
1945
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO3W)) {
2358
1946
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_TRAFO3W, 0, 0, []));
@@ -2381,18 +1969,18 @@ class ConverterIntegral7 {
2381
1969
  this.setTransformerEndInfoProperties(typWicklung3, i7Data, 3);
2382
1970
  typWicklung3.powerTransformerInfo = typTrafo;
2383
1971
  typTrafo.addTransformerEndInfo(typWicklung3);
2384
- this.cimModel.addEvPowerTransformerInfo(typTrafo);
2385
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung1);
2386
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung2);
2387
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung3);
1972
+ this.cimModelDefaultValues.addEvPowerTransformerInfo(typTrafo);
1973
+ this.cimModelDefaultValues.addEvPowerTransformerEndInfo(typWicklung1);
1974
+ this.cimModelDefaultValues.addEvPowerTransformerEndInfo(typWicklung2);
1975
+ this.cimModelDefaultValues.addEvPowerTransformerEndInfo(typWicklung3);
2388
1976
  }
2389
1977
  }
2390
1978
  else {
2391
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
1979
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
2392
1980
  }
2393
1981
  });
2394
1982
  }
2395
- convertTrafo2W(limit, offset) {
1983
+ convertTrafo2W(limit, offset, defaultValuesConfig) {
2396
1984
  var _a;
2397
1985
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2398
1986
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W)) {
@@ -2411,33 +1999,21 @@ class ConverterIntegral7 {
2411
1999
  for (const i7Data of result) {
2412
2000
  const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2413
2001
  const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2414
- 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
- }
2002
+ const powerTransformerInfo = this.cimModelDefaultValues.getPowerTransformerInfoByName(i7Data.nametyp);
2003
+ const startTerminal = util_create_1.getConnectedTerminal(this.cimModelDefaultValues, powerTransformer, this.inmemoryObjects.get(i7Data.aknoten), __1.PhaseCode.ABC, 1);
2004
+ if (!startTerminal)
2005
+ this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2006
+ const targetTerminal = util_create_1.getConnectedTerminal(this.cimModelDefaultValues, powerTransformer, this.inmemoryObjects.get(i7Data.eknoten), __1.PhaseCode.ABC, 2);
2007
+ if (!targetTerminal)
2008
+ this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
2431
2009
  const schaltgruppe = i7Data.schaltgr;
2432
2010
  const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1${powerTransformer.name}`);
2433
2011
  powerTransformerEnd1.endNumber = 1;
2434
- powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber);
2435
- powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
2436
2012
  const pkr = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '');
2437
2013
  const ukr = utils_2.getUkrTrafo(i7Data, powerTransformerInfo, '') / 100;
2438
2014
  const sr = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
2439
2015
  const ur = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber);
2440
- const ir1 = (sr * Math.pow(10, 6) / ur * 1000) / Math.sqrt(3);
2016
+ const ir1 = sr * 1000000 / (ur * 1000 * Math.sqrt(3));
2441
2017
  const p0 = utils_2.isNumericI7(i7Data.p_leer) ? utils_2.convertToNumberI7(i7Data.p_leer) : 0;
2442
2018
  const iLeer = utils_2.isNumericI7(i7Data.i_leer) ? utils_2.convertToNumberI7(i7Data.i_leer) : 0;
2443
2019
  powerTransformerEnd1.r = utils_2.calculateR(ur, pkr, sr);
@@ -2447,36 +2023,30 @@ class ConverterIntegral7 {
2447
2023
  powerTransformerEnd1.ratedU = ur;
2448
2024
  powerTransformerEnd1.ratedS = sr;
2449
2025
  if (powerTransformerEnd1.ratedU) {
2450
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd1.ratedU);
2451
- if (!baseVoltage) {
2452
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd1.ratedU);
2453
- }
2026
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, powerTransformerEnd1.ratedU);
2454
2027
  powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
2455
2028
  }
2456
2029
  else {
2457
- this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2030
+ this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2458
2031
  }
2459
2032
  const terminal = startTerminal;
2460
- if (terminal) {
2461
- powerTransformerEnd1.terminalUUID = terminal.mrid;
2462
- this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, terminal.mrid, ir1);
2033
+ if (startTerminal) {
2034
+ powerTransformerEnd1.terminalUUID = startTerminal.mrid;
2035
+ this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, startTerminal.mrid, ir1);
2463
2036
  if (sternpunktKnotenMap.has(i7Data.id)) {
2464
2037
  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);
2038
+ this.convertTrafoGrounding(i7Data.id, powerTransformerEnd1, startTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.aknknoten1p), i7Data.standort, defaultValuesConfig);
2466
2039
  }
2467
2040
  }
2468
2041
  }
2469
2042
  else {
2470
- this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2043
+ this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2471
2044
  }
2472
2045
  powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2473
2046
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
2474
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
2475
- utils_2.createTapChanger(i7Data, powerTransformerEnd1, this.cimModel, powerTransformerEnd1.ratedU);
2047
+ this.cimModelDefaultValues.addPowerTransformerEnd(powerTransformerEnd1);
2476
2048
  const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2${powerTransformer.name}`);
2477
2049
  powerTransformerEnd2.endNumber = 2;
2478
- powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber);
2479
- powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
2480
2050
  const sr2 = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber, false);
2481
2051
  const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber);
2482
2052
  powerTransformerEnd2.r = 0;
@@ -2485,55 +2055,80 @@ class ConverterIntegral7 {
2485
2055
  powerTransformerEnd2.ratedU = ur2;
2486
2056
  const ir2 = (sr * Math.pow(10, 6) / ur * 1000) / Math.sqrt(3);
2487
2057
  if (powerTransformerEnd2.ratedU) {
2488
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd2.ratedU);
2489
- if (!baseVoltage) {
2490
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd2.ratedU);
2491
- }
2058
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, powerTransformerEnd2.ratedU);
2492
2059
  powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
2493
2060
  }
2494
2061
  else {
2495
- this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2062
+ this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2496
2063
  }
2497
- const terminal2 = targetTerminal;
2498
- if (terminal2) {
2499
- powerTransformerEnd2.terminalUUID = terminal2.mrid;
2500
- this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal.mrid, ir2);
2064
+ if (targetTerminal) {
2065
+ powerTransformerEnd2.terminalUUID = targetTerminal.mrid;
2066
+ this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, targetTerminal.mrid, ir2);
2501
2067
  if (sternpunktKnotenMap.has(i7Data.id)) {
2502
2068
  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);
2069
+ this.convertTrafoGrounding(i7Data.id, powerTransformerEnd2, targetTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.eknknoten1p), i7Data.standort, defaultValuesConfig);
2504
2070
  }
2505
2071
  }
2506
2072
  }
2507
2073
  else {
2508
- this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2509
- this.logger.info(`TargetTerminal created ` + (targetTerminal === undefined));
2074
+ this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2510
2075
  }
2511
2076
  powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2512
2077
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
2513
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
2078
+ this.cimModelDefaultValues.addPowerTransformerEnd(powerTransformerEnd2);
2079
+ powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
2080
+ powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
2081
+ powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
2082
+ powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
2514
2083
  powerTransformer.sortTransformerEnd('ratedU', 'desc');
2084
+ const wicklungen = [1, 2];
2085
+ const terminals = [startTerminal, targetTerminal];
2086
+ const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
2087
+ for (const wicklung of wicklungen) {
2088
+ const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
2089
+ const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${wicklung}`]);
2090
+ switch (i7Data.trafo_spezial) {
2091
+ case (1): {
2092
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModelDefaultValues, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2093
+ break;
2094
+ }
2095
+ case (2): {
2096
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModelDefaultValues, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2097
+ break;
2098
+ }
2099
+ default: {
2100
+ if (winkel !== 0) {
2101
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModelDefaultValues, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2102
+ }
2103
+ else {
2104
+ utils_2.createRatioTapChanger(i7Data, powerTransformerEnd, this.cimModelDefaultValues, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2105
+ }
2106
+ break;
2107
+ }
2108
+ }
2109
+ }
2515
2110
  for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2516
- powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
2111
+ const powerTransformerEnd = powerTransformer.powerTransformerEnds[i];
2112
+ powerTransformerEnd.endNumber = i + 1;
2517
2113
  }
2518
- utils_2.createTapChanger(i7Data, powerTransformerEnd2, this.cimModel, powerTransformerEnd2.ratedU);
2519
2114
  const substationUUID = this.integralID2UUID.get(i7Data.standort);
2520
2115
  if (substationUUID) {
2521
2116
  powerTransformer.equipmentContainerUUID = substationUUID;
2522
2117
  }
2523
2118
  else {
2524
- this.logger.info(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2119
+ this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2525
2120
  }
2526
- this.cimModel.addPowerTransformer(powerTransformer);
2527
- this.integralID2UUID.set(i7Data.id, powerTransformer.mrid);
2121
+ this.cimModelDefaultValues.addPowerTransformer(powerTransformer);
2122
+ this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO2W);
2528
2123
  this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
2529
2124
  }
2530
2125
  }
2531
2126
  else {
2532
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
2127
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
2533
2128
  }
2534
2129
  });
2535
2130
  }
2536
- convertTrafo3W(limit, offset) {
2131
+ convertTrafo3W(limit, offset, defaultValuesConfig) {
2537
2132
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2538
2133
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3W)) {
2539
2134
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRAFO3W, limit, offset, []));
@@ -2548,7 +2143,7 @@ class ConverterIntegral7 {
2548
2143
  }
2549
2144
  }
2550
2145
  else {
2551
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2146
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2552
2147
  }
2553
2148
  const sternpunktKnotenMap = new Map();
2554
2149
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoWicklungIDs.length) {
@@ -2560,7 +2155,7 @@ class ConverterIntegral7 {
2560
2155
  for (const i7Data of result) {
2561
2156
  const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2562
2157
  const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2563
- const powerTransformerInfo = this.cimModel.getPowerTransformerInfoByName(i7Data.nametyp);
2158
+ const powerTransformerInfo = this.cimModelDefaultValues.getPowerTransformerInfoByName(i7Data.nametyp);
2564
2159
  const schaltgruppe = i7Data.schaltgr;
2565
2160
  const pkr12 = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '12');
2566
2161
  const pkr13 = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '13');
@@ -2574,9 +2169,9 @@ class ConverterIntegral7 {
2574
2169
  const ur1 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 1);
2575
2170
  const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 2);
2576
2171
  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);
2172
+ const ir1 = sr1 * 1000000 / ((ur1 * 1000) * Math.sqrt(3));
2173
+ const ir2 = sr2 * 1000000 / ((ur2 * 1000) * Math.sqrt(3));
2174
+ const ir3 = sr3 * 1000000 / ((ur3 * 1000) * Math.sqrt(3));
2580
2175
  const pLeer = utils_2.getTrafoPleer(i7Data, powerTransformerInfo);
2581
2176
  const iLeer = utils_2.getTrafoIleer(i7Data, powerTransformerInfo);
2582
2177
  const impedanzW1 = utils_trafo3w_1.calculateImpedanzenTrafo3W(1, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, pLeer, iLeer);
@@ -2587,19 +2182,17 @@ class ConverterIntegral7 {
2587
2182
  if (wicklung1) {
2588
2183
  const start = this.inmemoryObjects.get(wicklung1.aknoten);
2589
2184
  if (start) {
2590
- terminal1 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 1);
2185
+ terminal1 = __1.createConnection(this.cimModelDefaultValues, powerTransformer, start, __1.PhaseCode.ABC, 1);
2591
2186
  }
2592
2187
  else {
2593
- this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2188
+ this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2594
2189
  }
2595
2190
  }
2596
2191
  else {
2597
- this.logger.info(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
2192
+ this.logger.debug(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
2598
2193
  }
2599
2194
  const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1 ${powerTransformer.name}`);
2600
2195
  powerTransformerEnd1.endNumber = 1;
2601
- powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber);
2602
- powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
2603
2196
  powerTransformerEnd1.r = impedanzW1.r;
2604
2197
  powerTransformerEnd1.x = impedanzW1.x;
2605
2198
  powerTransformerEnd1.g = impedanzW1.g * 1000000;
@@ -2607,45 +2200,43 @@ class ConverterIntegral7 {
2607
2200
  powerTransformerEnd1.ratedU = ur1;
2608
2201
  powerTransformerEnd1.ratedS = sr1;
2609
2202
  if (powerTransformerEnd1.ratedU) {
2610
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd1.ratedU);
2203
+ let baseVoltage = this.cimModelDefaultValues.getBaseVoltage(powerTransformerEnd1.ratedU);
2611
2204
  if (!baseVoltage) {
2612
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd1.ratedU);
2205
+ baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, powerTransformerEnd1.ratedU);
2613
2206
  }
2614
2207
  powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
2615
2208
  }
2616
2209
  else {
2617
- this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2210
+ this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2618
2211
  }
2619
2212
  powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2620
2213
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
2621
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
2214
+ this.cimModelDefaultValues.addPowerTransformerEnd(powerTransformerEnd1);
2622
2215
  if (terminal1) {
2623
2216
  powerTransformerEnd1.terminalUUID = terminal1.mrid;
2624
2217
  this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, terminal1.mrid, ir1);
2625
2218
  if (sternpunktKnotenMap.has(wicklung1.id)) {
2626
- this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, terminal1.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung1.id), i7Data.standort);
2219
+ this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, terminal1.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung1.id), i7Data.standort, defaultValuesConfig);
2627
2220
  }
2628
2221
  }
2629
2222
  else {
2630
- this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2223
+ this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2631
2224
  }
2632
2225
  const wicklung2 = trafoWicklungen.get(i7Data.trafowicklung3w2);
2633
2226
  if (wicklung2) {
2634
2227
  const start = this.inmemoryObjects.get(wicklung2.aknoten);
2635
2228
  if (start) {
2636
- terminal2 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 2);
2229
+ terminal2 = __1.createConnection(this.cimModelDefaultValues, powerTransformer, start, __1.PhaseCode.ABC, 2);
2637
2230
  }
2638
2231
  else {
2639
- this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2232
+ this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2640
2233
  }
2641
2234
  }
2642
2235
  else {
2643
- this.logger.info(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2236
+ this.logger.debug(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2644
2237
  }
2645
2238
  const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2 ${powerTransformer.name}`);
2646
2239
  powerTransformerEnd2.endNumber = 2;
2647
- powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber);
2648
- powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
2649
2240
  powerTransformerEnd2.r = impedanzW2.r;
2650
2241
  powerTransformerEnd2.x = impedanzW2.x;
2651
2242
  powerTransformerEnd2.g = impedanzW2.g * 1000000;
@@ -2653,77 +2244,105 @@ class ConverterIntegral7 {
2653
2244
  powerTransformerEnd2.ratedS = sr2;
2654
2245
  powerTransformerEnd2.ratedU = ur2;
2655
2246
  if (powerTransformerEnd2.ratedU) {
2656
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd2.ratedU);
2247
+ let baseVoltage = this.cimModelDefaultValues.getBaseVoltage(powerTransformerEnd2.ratedU);
2657
2248
  if (!baseVoltage) {
2658
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd2.ratedU);
2249
+ baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, powerTransformerEnd2.ratedU);
2659
2250
  }
2660
2251
  powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
2661
2252
  }
2662
2253
  else {
2663
- this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2254
+ this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2664
2255
  }
2665
2256
  powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2666
2257
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
2667
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
2258
+ this.cimModelDefaultValues.addPowerTransformerEnd(powerTransformerEnd2);
2668
2259
  if (terminal2) {
2669
2260
  powerTransformerEnd2.terminalUUID = terminal2.mrid;
2670
2261
  this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal2.mrid, ir2);
2671
2262
  if (sternpunktKnotenMap.has(wicklung2.id)) {
2672
- this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung2.id), i7Data.standort);
2263
+ this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung2.id), i7Data.standort, defaultValuesConfig);
2673
2264
  }
2674
2265
  }
2675
2266
  else {
2676
- this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2267
+ this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2677
2268
  }
2678
2269
  const wicklung3 = trafoWicklungen.get(i7Data.trafowicklung3w3);
2679
2270
  if (wicklung3) {
2680
2271
  const start = this.inmemoryObjects.get(wicklung3.aknoten);
2681
2272
  if (start) {
2682
- terminal3 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 3);
2273
+ terminal3 = __1.createConnection(this.cimModelDefaultValues, powerTransformer, start, __1.PhaseCode.ABC, 3);
2683
2274
  }
2684
2275
  else {
2685
- this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2276
+ this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2686
2277
  }
2687
2278
  }
2688
2279
  else {
2689
- this.logger.info(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2280
+ this.logger.debug(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2690
2281
  }
2691
2282
  const powerTransformerEnd3 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w3), `Wicklung 3 ${powerTransformer.name}`);
2692
2283
  powerTransformerEnd3.endNumber = 3;
2693
- powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd3.endNumber);
2694
- powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd3.endNumber);
2695
2284
  powerTransformerEnd3.r = impedanzW3.r;
2696
2285
  powerTransformerEnd3.x = impedanzW3.x;
2697
2286
  powerTransformerEnd2.g = impedanzW3.g * 1000000;
2698
- ;
2699
2287
  powerTransformerEnd2.b = impedanzW3.b * 1000000;
2700
- ;
2701
2288
  powerTransformerEnd3.ratedS = sr3;
2702
2289
  powerTransformerEnd3.ratedU = ur3;
2703
2290
  if (powerTransformerEnd3.ratedU) {
2704
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd3.ratedU);
2291
+ let baseVoltage = this.cimModelDefaultValues.getBaseVoltage(powerTransformerEnd3.ratedU);
2705
2292
  if (!baseVoltage) {
2706
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd3.ratedU);
2293
+ baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, powerTransformerEnd3.ratedU);
2707
2294
  }
2708
2295
  powerTransformerEnd3.baseVoltageUUID = baseVoltage.mrid;
2709
2296
  }
2710
2297
  else {
2711
- this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
2298
+ this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
2712
2299
  }
2713
2300
  powerTransformerEnd3.powerTransformerUUID = powerTransformer.mrid;
2714
2301
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd3);
2715
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd3);
2302
+ this.cimModelDefaultValues.addPowerTransformerEnd(powerTransformerEnd3);
2716
2303
  if (terminal3) {
2717
2304
  powerTransformerEnd3.terminalUUID = terminal3.mrid;
2718
2305
  this.setConductingEquipmentCurrentLimit('W3 ' + powerTransformer.name, terminal3.mrid, ir3);
2719
2306
  if (sternpunktKnotenMap.has(wicklung3.id)) {
2720
- this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, terminal3.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung3.id), i7Data.standort);
2307
+ this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, terminal3.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung3.id), i7Data.standort, defaultValuesConfig);
2721
2308
  }
2722
2309
  }
2723
2310
  else {
2724
- this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
2311
+ this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
2725
2312
  }
2313
+ powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2314
+ powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2315
+ powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2316
+ powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2317
+ powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2318
+ powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
2726
2319
  powerTransformer.sortTransformerEnd('ratedU', 'desc');
2320
+ const wicklungen = powerTransformer.powerTransformerEnds.map(elem => elem.endNumber);
2321
+ const terminals = [terminal1, terminal2, terminal3];
2322
+ const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
2323
+ for (const wicklung of wicklungen) {
2324
+ const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
2325
+ const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${wicklung}`]);
2326
+ switch (i7Data.trafo_spezial) {
2327
+ case (1): {
2328
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModelDefaultValues, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2329
+ break;
2330
+ }
2331
+ case (2): {
2332
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModelDefaultValues, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2333
+ break;
2334
+ }
2335
+ default: {
2336
+ if (winkel !== 0) {
2337
+ utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModelDefaultValues, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2338
+ }
2339
+ else {
2340
+ utils_2.createRatioTapChanger(i7Data, powerTransformerEnd, this.cimModelDefaultValues, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2341
+ }
2342
+ break;
2343
+ }
2344
+ }
2345
+ }
2727
2346
  for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2728
2347
  powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
2729
2348
  }
@@ -2735,22 +2354,81 @@ class ConverterIntegral7 {
2735
2354
  powerTransformer.description = i7Schluessel;
2736
2355
  }
2737
2356
  else {
2738
- this.logger.info(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2357
+ this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2739
2358
  }
2740
- this.cimModel.addPowerTransformer(powerTransformer);
2741
- this.integralID2UUID.set(i7Data.id, powerTransformer.mrid);
2359
+ this.cimModelDefaultValues.addPowerTransformer(powerTransformer);
2360
+ this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO3W);
2742
2361
  this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
2743
2362
  }
2744
2363
  }
2745
2364
  else {
2746
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
2365
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
2747
2366
  }
2748
2367
  });
2749
2368
  }
2750
- convertTrafoGrounding(trafoObjektID, powerTransformerEnd, cnUUID, stpKnoten, standortID) {
2369
+ getSpannungsbandTrafo2W(i7Data) {
2370
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
2371
+ return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
2372
+ let minMaxSollResult;
2373
+ const spgKnotenId = i7Data.spgreg_knoten;
2374
+ let tempKnotenId = i7Data.spgreg_anschluss === 0 ? i7Data.aknoten :
2375
+ (i7Data.spgreg_anschluss === 1 ? i7Data.eknoten : undefined);
2376
+ if (tempKnotenId !== undefined) {
2377
+ let queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]} WHERE id = ${tempKnotenId};`);
2378
+ if (queryResult.length === 1) {
2379
+ const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
2380
+ const tabName_NetzSchaltfeld = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHALTFELD];
2381
+ const tabName_NetzKnotenSf = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF];
2382
+ const sqlStatement = `SELECT ${tabName_NetzSSAB}.id, ${tabName_NetzSSAB}.umin, ${tabName_NetzSSAB}.umax, ${tabName_NetzSSAB}.usoll
2383
+ FROM ${tabName_NetzSSAB}
2384
+ LEFT JOIN ${tabName_NetzSchaltfeld} ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
2385
+ LEFT JOIN ${tabName_NetzKnotenSf} ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
2386
+ WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
2387
+ minMaxSollResult = yield this.queryFunctionWrapper(sqlStatement);
2388
+ }
2389
+ else {
2390
+ queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]} WHERE id = ${tempKnotenId};`);
2391
+ if (queryResult.length === 1) {
2392
+ const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
2393
+ const tabName_NetzSchlaufe = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHLAUFE];
2394
+ const tabName_NetzKnotenZw = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW];
2395
+ minMaxSollResult = yield this.queryFunctionWrapper(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
2396
+ FROM ${tabName_NetzKnotenZw}
2397
+ LEFT JOIN ${tabName_NetzSchlaufe} ON
2398
+ ${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
2399
+ LEFT JOIN ${tabName_NetzSo} ON
2400
+ ${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
2401
+ WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
2402
+ }
2403
+ else {
2404
+ minMaxSollResult = yield this.queryFunctionWrapper(`SELECT id, umin, umax, usoll FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]} where id = ${tempKnotenId};`);
2405
+ }
2406
+ }
2407
+ }
2408
+ else if (spgKnotenId !== undefined) {
2409
+ const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
2410
+ const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
2411
+ const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
2412
+ FROM (
2413
+ SELECT id, umin, umax, usoll FROM ${tabName_NetzSo} WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
2414
+ UNION
2415
+ SELECT id, umin, umax, usoll FROM ${tabName_NetzSSAB} WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
2416
+ minMaxSollResult = yield this.queryFunctionWrapper(query);
2417
+ }
2418
+ if (minMaxSollResult && minMaxSollResult.length) {
2419
+ resolve(minMaxSollResult[0]);
2420
+ }
2421
+ else {
2422
+ resolve({ id: 0, usoll: 0, umin: 0, umax: 0 });
2423
+ }
2424
+ }));
2425
+ });
2426
+ }
2427
+ convertTrafoGrounding(trafoObjektID, powerTransformerEnd, cnUUID, stpKnoten, standortID, defaultValuesConfig) {
2751
2428
  if (stpKnoten) {
2752
2429
  const junctionUUID = this.stpImpModel.stpSchieneJunctionUUIDs.get(stpKnoten.schaltelement1pelem);
2753
2430
  powerTransformerEnd.grounded = true;
2431
+ powerTransformerEnd.rground = defaultValuesConfig.TransformerEnd.rground;
2754
2432
  if (!junctionUUID) {
2755
2433
  }
2756
2434
  else {
@@ -2759,7 +2437,7 @@ class ConverterIntegral7 {
2759
2437
  terminal.conductingEquipmentUUID = junctionUUID;
2760
2438
  terminal.connected = true;
2761
2439
  terminal.phases = __1.PhaseCode.N;
2762
- this.cimModel.addTerminal(terminal);
2440
+ this.cimModelDefaultValues.addTerminal(terminal);
2763
2441
  const junction = this.stpImpModel.junctions.get(junctionUUID);
2764
2442
  if (junction)
2765
2443
  junction.name = (junction === null || junction === void 0 ? void 0 : junction.name) + '/Trafo';
@@ -2767,21 +2445,21 @@ class ConverterIntegral7 {
2767
2445
  const subVlData = this.substationVoltagelevels.get(standortID);
2768
2446
  const vlObject = getVoltageLevelByVoltage(subVlData, powerTransformerEnd.ratedU);
2769
2447
  if (!vlObject) {
2770
- this.logger.info(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
2448
+ this.logger.debug(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
2771
2449
  }
2772
2450
  if (junction) {
2773
2451
  junction.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
2774
2452
  junction.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
2775
2453
  }
2776
2454
  else {
2777
- this.logger.info(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
2455
+ this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
2778
2456
  }
2779
2457
  if (pSpuleGroundImpedance) {
2780
2458
  pSpuleGroundImpedance.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
2781
2459
  pSpuleGroundImpedance.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
2782
2460
  }
2783
2461
  else {
2784
- this.logger.info(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
2462
+ this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
2785
2463
  }
2786
2464
  }
2787
2465
  }
@@ -2795,7 +2473,7 @@ class ConverterIntegral7 {
2795
2473
  }
2796
2474
  }
2797
2475
  else {
2798
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2476
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2799
2477
  }
2800
2478
  });
2801
2479
  }
@@ -2808,21 +2486,21 @@ class ConverterIntegral7 {
2808
2486
  const start = this.inmemoryObjects.get(i7Data.aknoten);
2809
2487
  let startTerminal;
2810
2488
  if (start) {
2811
- startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2489
+ startTerminal = __1.createConnection(this.cimModelDefaultValues, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2812
2490
  }
2813
2491
  else {
2814
- this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2492
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2815
2493
  }
2816
2494
  const target = this.inmemoryObjects.get(i7Data.eknoten);
2817
2495
  let targetTerminal;
2818
2496
  if (target) {
2819
- targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2497
+ targetTerminal = __1.createConnection(this.cimModelDefaultValues, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2820
2498
  }
2821
2499
  else {
2822
- this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2500
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2823
2501
  }
2824
2502
  const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2825
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
2503
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, ur);
2826
2504
  const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : defaultValuesConfig.SeriesCompensator.varistorRatedCurrent;
2827
2505
  const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : 0;
2828
2506
  if (i > 0 && ukr > 0) {
@@ -2836,7 +2514,7 @@ class ConverterIntegral7 {
2836
2514
  this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
2837
2515
  }
2838
2516
  else {
2839
- this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2517
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2840
2518
  }
2841
2519
  const subVlData = this.substationVoltagelevels.get(i7Data.standort);
2842
2520
  const vlObject = getVoltageLevelByVoltage(subVlData, ur);
@@ -2845,16 +2523,16 @@ class ConverterIntegral7 {
2845
2523
  seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
2846
2524
  }
2847
2525
  else {
2848
- this.logger.info(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2526
+ this.logger.debug(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2849
2527
  }
2850
- const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längsdrossel');
2528
+ const psrType = utils_1.createIfNotExitsPSRType(this.cimModelDefaultValues, 'Längsdrossel');
2851
2529
  seriesCompensator.psrTypeUUID = psrType.mrid;
2852
- this.cimModel.addSeriesCompensator(seriesCompensator);
2853
- this.integralID2UUID.set(i7Data.id, seriesCompensator.mrid);
2530
+ this.cimModelDefaultValues.addSeriesCompensator(seriesCompensator);
2531
+ this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSDROSSEL);
2854
2532
  }
2855
2533
  }
2856
2534
  else {
2857
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
2535
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
2858
2536
  }
2859
2537
  });
2860
2538
  }
@@ -2867,21 +2545,21 @@ class ConverterIntegral7 {
2867
2545
  const start = this.inmemoryObjects.get(i7Data.aknoten);
2868
2546
  let startTerminal;
2869
2547
  if (start) {
2870
- startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2548
+ startTerminal = __1.createConnection(this.cimModelDefaultValues, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2871
2549
  }
2872
2550
  else {
2873
- this.logger.info(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2551
+ this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2874
2552
  }
2875
2553
  const target = this.inmemoryObjects.get(i7Data.eknoten);
2876
2554
  let targetTerminal;
2877
2555
  if (target) {
2878
- targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2556
+ targetTerminal = __1.createConnection(this.cimModelDefaultValues, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2879
2557
  }
2880
2558
  else {
2881
- this.logger.info(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2559
+ this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2882
2560
  }
2883
2561
  const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2884
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
2562
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, ur);
2885
2563
  const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : undefined;
2886
2564
  const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : undefined;
2887
2565
  if (i > 0 && ukr > 0) {
@@ -2895,7 +2573,7 @@ class ConverterIntegral7 {
2895
2573
  this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
2896
2574
  }
2897
2575
  else {
2898
- this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2576
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2899
2577
  }
2900
2578
  const substationUUID = this.integralID2UUID.get(i7Data.standort);
2901
2579
  const subVlData = this.substationVoltagelevels.get(i7Data.standort);
@@ -2905,16 +2583,16 @@ class ConverterIntegral7 {
2905
2583
  seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
2906
2584
  }
2907
2585
  else {
2908
- this.logger.info(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2586
+ this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2909
2587
  }
2910
- const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längskondensator');
2588
+ const psrType = utils_1.createIfNotExitsPSRType(this.cimModelDefaultValues, 'Längskondensator');
2911
2589
  seriesCompensator.psrTypeUUID = psrType.mrid;
2912
- this.cimModel.addSeriesCompensator(seriesCompensator);
2913
- this.integralID2UUID.set(i7Data.id, seriesCompensator.mrid);
2590
+ this.cimModelDefaultValues.addSeriesCompensator(seriesCompensator);
2591
+ this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
2914
2592
  }
2915
2593
  }
2916
2594
  else {
2917
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
2595
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
2918
2596
  }
2919
2597
  });
2920
2598
  }
@@ -2927,38 +2605,38 @@ class ConverterIntegral7 {
2927
2605
  const disconnector = new __1.Disconnector(__1.getUUID(i7Data.guid), i7Data.bezeichner);
2928
2606
  disconnector.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2929
2607
  disconnector.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2930
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2931
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2932
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2608
+ const equipmentContainer = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.seliste));
2609
+ const cnStart = this.cimModelDefaultValues.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2610
+ const cnZiel = this.cimModelDefaultValues.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2933
2611
  if (equipmentContainer) {
2934
2612
  disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2935
2613
  }
2936
2614
  else {
2937
- this.logger.info(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
2615
+ this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
2938
2616
  }
2939
2617
  if (cnStart) {
2940
- __1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2618
+ __1.createConnection(this.cimModelDefaultValues, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2941
2619
  }
2942
2620
  else {
2943
- this.logger.info(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
2621
+ this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
2944
2622
  }
2945
2623
  if (cnZiel) {
2946
- __1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2624
+ __1.createConnection(this.cimModelDefaultValues, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2947
2625
  }
2948
2626
  else {
2949
- this.logger.info(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
2627
+ this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
2950
2628
  }
2951
- const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
2952
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2629
+ const vl = this.cimModelDefaultValues.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.getVoltageLevelUUID());
2630
+ const baseVoltage = this.cimModelDefaultValues.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2953
2631
  if (baseVoltage) {
2954
2632
  disconnector.baseVoltageUUID = baseVoltage.mrid;
2955
2633
  }
2956
- this.cimModel.addDisconnector(disconnector);
2957
- this.integralID2UUID.set(i7Data.id, disconnector.mrid);
2634
+ this.cimModelDefaultValues.addDisconnector(disconnector);
2635
+ this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNER_3P);
2958
2636
  }
2959
2637
  }
2960
2638
  else {
2961
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} ist nicht vorhanden.`);
2639
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} ist nicht vorhanden.`);
2962
2640
  }
2963
2641
  });
2964
2642
  }
@@ -2971,38 +2649,38 @@ class ConverterIntegral7 {
2971
2649
  const disconnector = new __1.Disconnector(__1.generateUUID(), i7Data.bezeichner);
2972
2650
  disconnector.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2973
2651
  disconnector.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2974
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2975
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2976
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2652
+ const equipmentContainer = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.seliste));
2653
+ const cnStart = this.cimModelDefaultValues.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2654
+ const cnZiel = this.cimModelDefaultValues.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2977
2655
  if (equipmentContainer) {
2978
2656
  disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2979
2657
  }
2980
2658
  else {
2981
- this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
2659
+ this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
2982
2660
  }
2983
2661
  if (cnStart) {
2984
- __1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2662
+ __1.createConnection(this.cimModelDefaultValues, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2985
2663
  }
2986
2664
  else {
2987
- this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
2665
+ this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
2988
2666
  }
2989
2667
  if (cnZiel) {
2990
- __1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2668
+ __1.createConnection(this.cimModelDefaultValues, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2991
2669
  }
2992
2670
  else {
2993
- this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
2671
+ this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
2994
2672
  }
2995
- const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
2996
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2673
+ const vl = this.cimModelDefaultValues.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.getVoltageLevelUUID());
2674
+ const baseVoltage = this.cimModelDefaultValues.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2997
2675
  if (baseVoltage) {
2998
2676
  disconnector.baseVoltageUUID = baseVoltage.mrid;
2999
2677
  }
3000
- this.cimModel.addDisconnector(disconnector);
3001
- this.integralID2UUID.set(i7Data.id, disconnector.mrid);
2678
+ this.cimModelDefaultValues.addDisconnector(disconnector);
2679
+ this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNERFI_3P);
3002
2680
  }
3003
2681
  }
3004
2682
  else {
3005
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
2683
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
3006
2684
  }
3007
2685
  });
3008
2686
  }
@@ -3015,38 +2693,38 @@ class ConverterIntegral7 {
3015
2693
  const breaker = new __1.Breaker(__1.generateUUID(), i7Data.bezeichner);
3016
2694
  breaker.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
3017
2695
  breaker.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
3018
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
3019
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
3020
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2696
+ const equipmentContainer = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.seliste));
2697
+ const cnStart = this.cimModelDefaultValues.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2698
+ const cnZiel = this.cimModelDefaultValues.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
3021
2699
  if (equipmentContainer) {
3022
2700
  breaker.equipmentContainerUUID = equipmentContainer.mrid;
3023
2701
  }
3024
2702
  else {
3025
- this.logger.info(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
2703
+ this.logger.debug(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
3026
2704
  }
3027
2705
  if (cnStart) {
3028
- __1.createConnection(this.cimModel, breaker, cnStart, __1.PhaseCode.ABC, 1);
2706
+ __1.createConnection(this.cimModelDefaultValues, breaker, cnStart, __1.PhaseCode.ABC, 1);
3029
2707
  }
3030
2708
  else {
3031
- this.logger.info(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
2709
+ this.logger.debug(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
3032
2710
  }
3033
2711
  if (cnZiel) {
3034
- __1.createConnection(this.cimModel, breaker, cnZiel, __1.PhaseCode.ABC, 2);
2712
+ __1.createConnection(this.cimModelDefaultValues, breaker, cnZiel, __1.PhaseCode.ABC, 2);
3035
2713
  }
3036
2714
  else {
3037
- this.logger.info(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
2715
+ this.logger.debug(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
3038
2716
  }
3039
- const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
3040
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2717
+ const vl = this.cimModelDefaultValues.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.getVoltageLevelUUID());
2718
+ const baseVoltage = this.cimModelDefaultValues.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
3041
2719
  if (baseVoltage) {
3042
2720
  breaker.baseVoltageUUID = baseVoltage.mrid;
3043
2721
  }
3044
- this.cimModel.addBreaker(breaker);
3045
- this.integralID2UUID.set(i7Data.id, breaker.mrid);
2722
+ this.cimModelDefaultValues.addBreaker(breaker);
2723
+ this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
3046
2724
  }
3047
2725
  }
3048
2726
  else {
3049
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
2727
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
3050
2728
  }
3051
2729
  });
3052
2730
  }
@@ -3056,19 +2734,19 @@ class ConverterIntegral7 {
3056
2734
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, 0, 0, knotenSfIDs));
3057
2735
  for (const i7Data of result) {
3058
2736
  const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(__1.generateUUID(), 'DCConverterUnit');
3059
- const acConnectivityNode = this.cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
2737
+ const acConnectivityNode = this.cimModelDefaultValues.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
3060
2738
  if (acConnectivityNode) {
3061
- const equipmentContainer = utils_2.determineEquipmentContainer('Substation', this.cimModel, this.cimModel.getObject(acConnectivityNode.getConnectivityNodeContainerUUID()));
2739
+ const equipmentContainer = utils_2.determineEquipmentContainer('Substation', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(acConnectivityNode.getConnectivityNodeContainerUUID()));
3062
2740
  if (equipmentContainer) {
3063
2741
  dcConverterUnit.name = `DCConverterUnit ${equipmentContainer.name}`;
3064
2742
  dcConverterUnit.setSubstation(equipmentContainer);
3065
2743
  }
3066
2744
  else {
3067
- this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
2745
+ this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
3068
2746
  }
3069
2747
  }
3070
2748
  else {
3071
- this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
2749
+ this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
3072
2750
  }
3073
2751
  const csConverter = new CsConverter_1.CsConverter(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
3074
2752
  csConverter.equipmentContainer = dcConverterUnit;
@@ -3092,12 +2770,12 @@ class ConverterIntegral7 {
3092
2770
  csConverter.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.rectifier;
3093
2771
  }
3094
2772
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3095
- __1.createSvStatus(this.cimModel, inBetrieb, csConverter);
2773
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, csConverter);
3096
2774
  if (acConnectivityNode) {
3097
- __1.createConnection(this.cimModel, csConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
2775
+ __1.createConnection(this.cimModelDefaultValues, csConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
3098
2776
  }
3099
2777
  else {
3100
- this.logger.info(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
2778
+ this.logger.debug(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
3101
2779
  }
3102
2780
  const dcNode = new DCNode_1.DCNode(__1.generateUUID(), 'DCNode');
3103
2781
  dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
@@ -3106,11 +2784,11 @@ class ConverterIntegral7 {
3106
2784
  acDCConverterDCTerminal.dCConductingEquipmentUUID = csConverter.mrid;
3107
2785
  acDCConverterDCTerminal.dcNodeUUID = dcNode.mrid;
3108
2786
  this.checkMemoryObject(i7Data.id, dcNode);
3109
- this.cimModel.addDCConverterUnit(dcConverterUnit);
3110
- this.cimModel.addCSConverter(csConverter);
3111
- this.cimModel.addDCNode(dcNode);
3112
- this.cimModel.addACDCConverterDCTerminal(acDCConverterDCTerminal);
3113
- this.integralID2UUID.set(i7Data.id, csConverter.mrid);
2787
+ this.cimModelDefaultValues.addDCConverterUnit(dcConverterUnit);
2788
+ this.cimModelDefaultValues.addCSConverter(csConverter);
2789
+ this.cimModelDefaultValues.addDCNode(dcNode);
2790
+ this.cimModelDefaultValues.addACDCConverterDCTerminal(acDCConverterDCTerminal);
2791
+ this.addIdMapping(i7Data.id, csConverter.mrid, integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH);
3114
2792
  }
3115
2793
  }
3116
2794
  });
@@ -3121,19 +2799,19 @@ class ConverterIntegral7 {
3121
2799
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, 0, 0, knotenSfIDs));
3122
2800
  for (const i7Data of result) {
3123
2801
  const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(__1.generateUUID(), 'DCConverterUnit');
3124
- const acConnectivityNode = this.cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
2802
+ const acConnectivityNode = this.cimModelDefaultValues.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
3125
2803
  if (acConnectivityNode) {
3126
- const equipmentContainer = utils_2.determineEquipmentContainer('Substation', this.cimModel, this.cimModel.getObject(acConnectivityNode.getConnectivityNodeContainerUUID()));
2804
+ const equipmentContainer = utils_2.determineEquipmentContainer('Substation', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(acConnectivityNode.getConnectivityNodeContainerUUID()));
3127
2805
  if (equipmentContainer) {
3128
2806
  dcConverterUnit.name = `DCConverterUnit ${equipmentContainer.name}`;
3129
2807
  dcConverterUnit.setSubstation(equipmentContainer);
3130
2808
  }
3131
2809
  else {
3132
- this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
2810
+ this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
3133
2811
  }
3134
2812
  }
3135
2813
  else {
3136
- this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
2814
+ this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
3137
2815
  }
3138
2816
  const vsConverter = new VsConverter_1.VsConverter(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
3139
2817
  vsConverter.equipmentContainer = dcConverterUnit;
@@ -3160,12 +2838,12 @@ class ConverterIntegral7 {
3160
2838
  vsConverter.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
3161
2839
  }
3162
2840
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3163
- __1.createSvStatus(this.cimModel, inBetrieb, vsConverter);
2841
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, vsConverter);
3164
2842
  if (acConnectivityNode) {
3165
- __1.createConnection(this.cimModel, vsConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
2843
+ __1.createConnection(this.cimModelDefaultValues, vsConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
3166
2844
  }
3167
2845
  else {
3168
- this.logger.info(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
2846
+ this.logger.debug(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
3169
2847
  }
3170
2848
  const dcNode = new DCNode_1.DCNode(__1.generateUUID(), 'DCNode');
3171
2849
  dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
@@ -3174,11 +2852,11 @@ class ConverterIntegral7 {
3174
2852
  acDCConverterDCTerminal.dCConductingEquipmentUUID = vsConverter.mrid;
3175
2853
  acDCConverterDCTerminal.dcNodeUUID = dcNode.mrid;
3176
2854
  this.checkMemoryObject(i7Data.id, dcNode);
3177
- this.cimModel.addDCConverterUnit(dcConverterUnit);
3178
- this.cimModel.addVSConverter(vsConverter);
3179
- this.cimModel.addDCNode(dcNode);
3180
- this.cimModel.addACDCConverterDCTerminal(acDCConverterDCTerminal);
3181
- this.integralID2UUID.set(i7Data.id, vsConverter.mrid);
2855
+ this.cimModelDefaultValues.addDCConverterUnit(dcConverterUnit);
2856
+ this.cimModelDefaultValues.addVSConverter(vsConverter);
2857
+ this.cimModelDefaultValues.addDCNode(dcNode);
2858
+ this.cimModelDefaultValues.addACDCConverterDCTerminal(acDCConverterDCTerminal);
2859
+ this.addIdMapping(i7Data.id, vsConverter.mrid, integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC);
3182
2860
  }
3183
2861
  }
3184
2862
  });
@@ -3200,8 +2878,8 @@ class ConverterIntegral7 {
3200
2878
  dcLineSegment.resistance = i7Data.rdc;
3201
2879
  dcLineSegment.equipmentContainerUUID = dcLine.mrid;
3202
2880
  const bipol = utils_2.convertToBooleanI7(i7Data.bipol);
3203
- const acDCConverterStart = this.cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt));
3204
- const acDCConverterTarget = this.cimModel.getObject(this.integralID2UUID.get(i7Data.enetzobjekt));
2881
+ const acDCConverterStart = this.cimModelDefaultValues.getObject(this.integralID2UUID.get(i7Data.anetzobjekt));
2882
+ const acDCConverterTarget = this.cimModelDefaultValues.getObject(this.integralID2UUID.get(i7Data.enetzobjekt));
3205
2883
  const converterUnitStart = (_a = acDCConverterStart) === null || _a === void 0 ? void 0 : _a.equipmentContainer;
3206
2884
  const converterUnitTarget = (_b = acDCConverterTarget) === null || _b === void 0 ? void 0 : _b.equipmentContainer;
3207
2885
  switch (bipol) {
@@ -3217,32 +2895,34 @@ class ConverterIntegral7 {
3217
2895
  const startDCNode = this.inmemoryObjects.get(i7Data.anetzobjekt);
3218
2896
  if (startDCNode) {
3219
2897
  const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
3220
- dcTerminal.sequenceNumber = 2;
2898
+ dcTerminal.connected = true;
2899
+ dcTerminal.sequenceNumber = 1;
3221
2900
  dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
3222
2901
  dcTerminal.dcNodeUUID = startDCNode.mrid;
3223
- this.cimModel.addDCTerminal(dcTerminal);
2902
+ this.cimModelDefaultValues.addDCTerminal(dcTerminal);
3224
2903
  }
3225
2904
  else {
3226
- this.logger.info(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
2905
+ this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
3227
2906
  }
3228
2907
  const tartgetDCNode = this.inmemoryObjects.get(i7Data.enetzobjekt);
3229
2908
  if (tartgetDCNode) {
3230
2909
  const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
2910
+ dcTerminal.connected = true;
3231
2911
  dcTerminal.sequenceNumber = 2;
3232
2912
  dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
3233
2913
  dcTerminal.dcNodeUUID = tartgetDCNode.mrid;
3234
- this.cimModel.addDCTerminal(dcTerminal);
2914
+ this.cimModelDefaultValues.addDCTerminal(dcTerminal);
3235
2915
  }
3236
2916
  else {
3237
- this.logger.info(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
2917
+ this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
3238
2918
  }
3239
- this.cimModel.addDCLine(dcLine);
3240
- this.cimModel.addDCLineSegment(dcLineSegment);
3241
- this.integralID2UUID.set(i7Data.id, dcLineSegment.mrid);
2919
+ this.cimModelDefaultValues.addDCLine(dcLine);
2920
+ this.cimModelDefaultValues.addDCLineSegment(dcLineSegment);
2921
+ this.addIdMapping(i7Data.id, dcLineSegment.mrid, integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
3242
2922
  }
3243
2923
  }
3244
2924
  else {
3245
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
2925
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
3246
2926
  }
3247
2927
  });
3248
2928
  }
@@ -3253,11 +2933,12 @@ class ConverterIntegral7 {
3253
2933
  for (const i7Data of result) {
3254
2934
  const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
3255
2935
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3256
- __1.createSvStatus(this.cimModel, inBetrieb, externalNetworkInjection);
2936
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, externalNetworkInjection);
3257
2937
  const einspeisePrio = utils_2.convertToNumberI7(i7Data.einspprio);
3258
2938
  externalNetworkInjection.p = utils_2.convertToNumberI7(i7Data.p_ersatznetz) + utils_2.convertToNumberI7(i7Data.p_restnetz);
3259
2939
  externalNetworkInjection.q = utils_2.convertToNumberI7(i7Data.q_ersatznetz) + utils_2.convertToNumberI7(i7Data.q_restnetz);
3260
- externalNetworkInjection.governorSCD = utils_2.convertToNumberI7(i7Data.kr);
2940
+ const kr = 0;
2941
+ externalNetworkInjection.governorSCD = kr;
3261
2942
  externalNetworkInjection.referencePriority = einspeisePrio;
3262
2943
  externalNetworkInjection.maxZ0ToZ1Ratio = utils_2.convertToNumberI7(i7Data.z0_z1);
3263
2944
  const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_BI_${i7Data.id}`);
@@ -3266,12 +2947,12 @@ class ConverterIntegral7 {
3266
2947
  regulatingControl.enabled = inBetrieb;
3267
2948
  regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
3268
2949
  externalNetworkInjection.regulatingControl = regulatingControl;
3269
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2950
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3270
2951
  if (connectivityNode) {
3271
- const terminal = __1.createConnection(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
2952
+ const terminal = __1.createConnection(this.cimModelDefaultValues, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
3272
2953
  regulatingControl.terminal = terminal;
3273
2954
  terminal.addRegulatingControl(regulatingControl);
3274
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
2955
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3275
2956
  if (equipmentContainer) {
3276
2957
  externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
3277
2958
  const sollSpanungen = this.eqSpannungsBander.get(equipmentContainer.mrid);
@@ -3289,19 +2970,19 @@ class ConverterIntegral7 {
3289
2970
  }
3290
2971
  }
3291
2972
  else {
3292
- this.logger.info(`BoundaryInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
2973
+ this.logger.debug(`BoundaryInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
3293
2974
  }
3294
2975
  }
3295
2976
  else {
3296
- this.logger.info(`BoundaryInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
2977
+ this.logger.debug(`BoundaryInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
3297
2978
  }
3298
- this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
3299
- this.cimModel.addRegulatingControl(regulatingControl);
3300
- this.integralID2UUID.set(i7Data.id, externalNetworkInjection.mrid);
2979
+ this.cimModelDefaultValues.addExternalNetworkInjection(externalNetworkInjection);
2980
+ this.cimModelDefaultValues.addRegulatingControl(regulatingControl);
2981
+ this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.BOUNDARYINJECTION);
3301
2982
  }
3302
2983
  }
3303
2984
  else {
3304
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
2985
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
3305
2986
  }
3306
2987
  });
3307
2988
  }
@@ -3322,27 +3003,27 @@ class ConverterIntegral7 {
3322
3003
  asynchronousMachine.q = i7Data.flag_ind === 1 ? i7Data.q0_ind : i7Data.q0_kap;
3323
3004
  asynchronousMachine.controlEnabled = false;
3324
3005
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3325
- __1.createSvStatus(this.cimModel, inBetrieb, asynchronousMachine);
3326
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3006
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, asynchronousMachine);
3007
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3327
3008
  if (connectivityNode) {
3328
- __1.createConnection(this.cimModel, asynchronousMachine, connectivityNode, __1.PhaseCode.ABC);
3329
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3009
+ __1.createConnection(this.cimModelDefaultValues, asynchronousMachine, connectivityNode, __1.PhaseCode.ABC);
3010
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3330
3011
  if (equipmentContainer) {
3331
3012
  asynchronousMachine.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
3332
- this.cimModel.addAsynchronousMachine(asynchronousMachine);
3333
- this.integralID2UUID.set(i7Data.id, asynchronousMachine.mrid);
3013
+ this.cimModelDefaultValues.addAsynchronousMachine(asynchronousMachine);
3014
+ this.addIdMapping(i7Data.id, asynchronousMachine.mrid, integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR);
3334
3015
  }
3335
3016
  else {
3336
- this.logger.info(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
3017
+ this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
3337
3018
  }
3338
3019
  }
3339
3020
  else {
3340
- this.logger.info(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
3021
+ this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
3341
3022
  }
3342
3023
  }
3343
3024
  }
3344
3025
  else {
3345
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
3026
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
3346
3027
  }
3347
3028
  });
3348
3029
  }
@@ -3352,9 +3033,15 @@ class ConverterIntegral7 {
3352
3033
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, 0, 0, knotenIDs));
3353
3034
  for (const i7Data of result) {
3354
3035
  const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Data.kommentar);
3036
+ if (shunt.mrid === '2e35adfe3cd04707b24e4c1df705c086') {
3037
+ console.log();
3038
+ }
3355
3039
  shunt.normalSections = i7Data.aktstufe;
3356
3040
  shunt.maximumSections = i7Data.maxstufe;
3357
3041
  shunt.nomU = i7Data.ur;
3042
+ shunt.gPerSection = i7Data.pr / Math.pow(i7Data.ur, 2);
3043
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3044
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, shunt);
3358
3045
  const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
3359
3046
  const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
3360
3047
  if (spannungsregelungLokal || spannungsregelungRemote) {
@@ -3363,34 +3050,33 @@ class ConverterIntegral7 {
3363
3050
  regulatingControl.discrete = true;
3364
3051
  regulatingControl.targetDeadband = i7Data.uband;
3365
3052
  regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
3053
+ regulatingControl.enabled = inBetrieb;
3366
3054
  shunt.regulatingControl = regulatingControl;
3367
3055
  }
3368
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3369
- __1.createSvStatus(this.cimModel, inBetrieb, shunt);
3370
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3056
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3371
3057
  if (connectivityNode) {
3372
- const terminal = __1.createConnection(this.cimModel, shunt, connectivityNode, __1.PhaseCode.ABC);
3058
+ const terminal = __1.createConnection(this.cimModelDefaultValues, shunt, connectivityNode, __1.PhaseCode.ABC);
3373
3059
  if (shunt.regulatingControl && (spannungsregelungLokal || spannungsregelungRemote)) {
3374
3060
  shunt.regulatingControl.terminalUUID = terminal.mrid;
3375
- this.cimModel.addRegulatingControl(shunt.regulatingControl);
3061
+ this.cimModelDefaultValues.addRegulatingControl(shunt.regulatingControl);
3376
3062
  }
3377
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3063
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3378
3064
  if (equipmentContainer) {
3379
3065
  shunt.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
3380
- this.cimModel.addLinearShuntCompensator(shunt);
3381
- this.integralID2UUID.set(i7Data.id, shunt.mrid);
3066
+ this.cimModelDefaultValues.addLinearShuntCompensator(shunt);
3067
+ this.addIdMapping(i7Data.id, shunt.mrid, integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL);
3382
3068
  }
3383
3069
  else {
3384
- this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3070
+ this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3385
3071
  }
3386
3072
  }
3387
3073
  else {
3388
- this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3074
+ this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3389
3075
  }
3390
3076
  }
3391
3077
  }
3392
3078
  else {
3393
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3079
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3394
3080
  }
3395
3081
  });
3396
3082
  }
@@ -3403,39 +3089,44 @@ class ConverterIntegral7 {
3403
3089
  shunt.normalSections = i7Data.aktstufe;
3404
3090
  shunt.maximumSections = i7Data.maxstufe;
3405
3091
  shunt.nomU = i7Data.ur;
3092
+ shunt.gPerSection = i7Data.pr / Math.pow(i7Data.ur, 2);
3093
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3094
+ __1.createSvStatus(this.cimModelDefaultValues, inBetrieb, shunt);
3406
3095
  const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
3407
3096
  const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
3408
3097
  if (spannungsregelungLokal || spannungsregelungRemote) {
3409
- const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Kompkons ${i7Data.id}`);
3098
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Kompkond ${i7Data.id}`);
3410
3099
  regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
3100
+ regulatingControl.discrete = true;
3101
+ regulatingControl.enabled = inBetrieb;
3102
+ regulatingControl.targetDeadband = i7Data.uband;
3103
+ regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
3411
3104
  shunt.regulatingControl = regulatingControl;
3412
- this.cimModel.addRegulatingControl(shunt.regulatingControl);
3105
+ this.cimModelDefaultValues.addRegulatingControl(shunt.regulatingControl);
3413
3106
  }
3414
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3415
- __1.createSvStatus(this.cimModel, inBetrieb, shunt);
3416
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3107
+ const connectivityNode = this.cimModelDefaultValues.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3417
3108
  if (connectivityNode) {
3418
- const terminal = __1.createConnection(this.cimModel, shunt, connectivityNode, __1.PhaseCode.ABC);
3109
+ const terminal = __1.createConnection(this.cimModelDefaultValues, shunt, connectivityNode, __1.PhaseCode.ABC);
3419
3110
  if (shunt.regulatingControl && (spannungsregelungLokal || spannungsregelungRemote)) {
3420
3111
  shunt.regulatingControl.terminalUUID = terminal.mrid;
3421
3112
  }
3422
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3113
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModelDefaultValues, this.cimModelDefaultValues.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3423
3114
  if (equipmentContainer) {
3424
3115
  shunt.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
3425
- this.cimModel.addLinearShuntCompensator(shunt);
3426
- this.integralID2UUID.set(i7Data.id, shunt.mrid);
3116
+ this.cimModelDefaultValues.addLinearShuntCompensator(shunt);
3117
+ this.addIdMapping(i7Data.id, shunt.mrid, integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL);
3427
3118
  }
3428
3119
  else {
3429
- this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3120
+ this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3430
3121
  }
3431
3122
  }
3432
3123
  else {
3433
- this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3124
+ this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3434
3125
  }
3435
3126
  }
3436
3127
  }
3437
3128
  else {
3438
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3129
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3439
3130
  }
3440
3131
  });
3441
3132
  }
@@ -3447,14 +3138,14 @@ class ConverterIntegral7 {
3447
3138
  if (i7Data.art === 2) {
3448
3139
  const diagram = new __1.Diagram(__1.getUUID(i7Data.guid), i7Data.name, String(i7Data.id));
3449
3140
  diagram.orientation = __1.OrientationKind.negative;
3450
- diagram.diagramStyle = this.cimModel.getDiagramStyle(__1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
3451
- this.cimModel.addDiagram(diagram);
3452
- this.integralID2UUID.set(i7Data.id, diagram.mrid);
3141
+ diagram.diagramStyle = this.cimModelDefaultValues.getDiagramStyle(__1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
3142
+ this.cimModelDefaultValues.addDiagram(diagram);
3143
+ this.i7SchemaID2UUID.set(i7Data.id, diagram.mrid);
3453
3144
  }
3454
3145
  }
3455
3146
  }
3456
3147
  else {
3457
- this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
3148
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
3458
3149
  }
3459
3150
  });
3460
3151
  }
@@ -3470,18 +3161,31 @@ class ConverterIntegral7 {
3470
3161
  object.c0 = +data.c0;
3471
3162
  object.ratedCurrent = +data.ir;
3472
3163
  }
3164
+ queryFunctionWrapper(query) {
3165
+ return new Promise((resolve, reject) => {
3166
+ this.queryFunction(query, (successResponse) => {
3167
+ resolve(successResponse);
3168
+ }, (errorResponse) => {
3169
+ reject(errorResponse);
3170
+ });
3171
+ });
3172
+ }
3473
3173
  setACLineSegmentProperties(acLineSegment, data, psrTypeName, defaultValuesConfig) {
3174
+ const assetType = this.cimModelDefaultValues.getWireInfoByName(data.nametyp);
3175
+ let voltage = defaultValuesConfig.DefaultVoltage;
3474
3176
  if (!acLineSegment.baseVoltage) {
3475
- const un = utils_2.getU(data.un, defaultValuesConfig.DefaultVoltage);
3476
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
3177
+ if (data.un && data.un > 0) {
3178
+ voltage = data.un;
3179
+ }
3180
+ else if (assetType === null || assetType === void 0 ? void 0 : assetType.voltage) {
3181
+ voltage = assetType.voltage;
3182
+ }
3183
+ const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModelDefaultValues, voltage);
3477
3184
  acLineSegment.baseVoltage = baseVoltage;
3478
3185
  }
3479
3186
  if (data.laenge) {
3480
3187
  acLineSegment.length = data.laenge;
3481
3188
  }
3482
- else {
3483
- }
3484
- const assetType = this.cimModel.getWireInfoByName(data.nametyp);
3485
3189
  if (data.r0 && data.r0 !== 0) {
3486
3190
  acLineSegment.r0 = data.laenge <= 0 ? data.r0 : data.r0;
3487
3191
  }
@@ -3521,30 +3225,34 @@ class ConverterIntegral7 {
3521
3225
  else if (assetType && assetType.ratedCurrent && assetType.ratedCurrent !== 0) {
3522
3226
  this.setConductingEquipmentCurrentLimit(acLineSegment.name, terminalUUID, assetType.ratedCurrent);
3523
3227
  }
3524
- else {
3525
- }
3526
3228
  }
3527
- const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, psrTypeName);
3229
+ const psrType = utils_1.createIfNotExitsPSRType(this.cimModelDefaultValues, data.typ);
3528
3230
  acLineSegment.psrTypeUUID = psrType.mrid;
3529
3231
  }
3232
+ setACLineSegmentCurrentLimt(acLineSegment, nametyp, terminalUUID) {
3233
+ const assetType = this.cimModelDefaultValues.getWireInfoByName(nametyp);
3234
+ if (assetType && assetType.ratedCurrent && assetType.ratedCurrent !== 0) {
3235
+ this.setConductingEquipmentCurrentLimit(acLineSegment.name, terminalUUID, assetType.ratedCurrent);
3236
+ }
3237
+ }
3530
3238
  setConductingEquipmentCurrentLimit(name, terminalUUID, ir) {
3531
3239
  const currentLimit = new __1.CurrentLimit(__1.generateUUID(), `${name}`);
3532
- this.cimModel.addCurrentLimit(currentLimit);
3240
+ this.cimModelDefaultValues.addCurrentLimit(currentLimit);
3533
3241
  currentLimit.value = new __1.CurrentFlow(ir, __1.UnitMultiplier.none, __1.UnitSymbol.A);
3534
3242
  const operationalLimitSet = new __1.OperationalLimitSet(__1.generateUUID(), `${name}`);
3535
- this.cimModel.addOperationalLimitSet(operationalLimitSet);
3243
+ this.cimModelDefaultValues.addOperationalLimitSet(operationalLimitSet);
3536
3244
  currentLimit.operationalLimitSetUUID = operationalLimitSet.mrid;
3537
3245
  const operationalLimitType = this.getOperationalLimitType('patl');
3538
3246
  currentLimit.operationalLimitTypeUUID = operationalLimitType.mrid;
3539
3247
  operationalLimitSet.terminalUUID = terminalUUID;
3540
3248
  }
3541
3249
  getOperationalLimitType(name) {
3542
- let operationalLimitType = this.cimModel.getOperationalLimitTypeByName(name);
3250
+ let operationalLimitType = this.cimModelDefaultValues.getOperationalLimitTypeByName(name);
3543
3251
  if (!operationalLimitType) {
3544
3252
  operationalLimitType = new __1.OperationalLimitType(__1.generateUUID(), name);
3545
3253
  operationalLimitType.direction = __1.OperationalLimitDirectionKind.absoluteValue;
3546
3254
  operationalLimitType.limitType = __1.LimitTypeKind.patl;
3547
- this.cimModel.addOperationalLimitType(operationalLimitType);
3255
+ this.cimModelDefaultValues.addOperationalLimitType(operationalLimitType);
3548
3256
  }
3549
3257
  return operationalLimitType;
3550
3258
  }
@@ -3566,59 +3274,28 @@ class ConverterIntegral7 {
3566
3274
  wicklung.uMax = data[umax];
3567
3275
  wicklung.uMin = data[umin];
3568
3276
  }
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
3277
  writeHeaderStart(xmlWriter, profileURI) {
3601
3278
  xmlWriter.startDocument('1.0', 'UTF-8');
3602
3279
  xmlWriter.startElementNS(__1.RDF_XML.RDF_NS_PREFIX, 'RDF', __1.RDF_XML.RDF_NS);
3603
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.RDF_NS_PREFIX}`, __1.RDF_XML.RDF_NS);
3604
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.CIM_NS_PREFIX}`, __1.RDF_XML.CIM_NS_16);
3605
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.ENTSOE_NS_PREFIX}`, __1.RDF_XML.ENTSOE_NS);
3606
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.MD_NS_PREFIX}`, __1.RDF_XML.MD_NS);
3280
+ xml_serializer_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.RDF_NS_PREFIX}`, __1.RDF_XML.RDF_NS);
3281
+ xml_serializer_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.CIM_NS_PREFIX}`, __1.RDF_XML.CIM_NS_16);
3282
+ xml_serializer_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.ENTSOE_NS_PREFIX}`, __1.RDF_XML.ENTSOE_NS);
3283
+ xml_serializer_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.MD_NS_PREFIX}`, __1.RDF_XML.MD_NS);
3607
3284
  if (profileURI === __1.RDF_XML.AMP_I7_PROFILE_URI) {
3608
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.AMPRION_NS_PREFIX}`, __1.RDF_XML.AMPRION_NS);
3609
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.IPS_NS_PREFIX}`, __1.RDF_XML.IPS_NS);
3610
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.CAPE_NS_PREFIX}`, __1.RDF_XML.CAPE_NS);
3611
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.EV_NS_PREFIX}`, __1.RDF_XML.ENERVANCE_NS);
3285
+ xml_serializer_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.AMPRION_NS_PREFIX}`, __1.RDF_XML.AMPRION_NS);
3286
+ xml_serializer_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.IPS_NS_PREFIX}`, __1.RDF_XML.IPS_NS);
3287
+ xml_serializer_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.CAPE_NS_PREFIX}`, __1.RDF_XML.CAPE_NS);
3288
+ xml_serializer_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.EV_NS_PREFIX}`, __1.RDF_XML.ENERVANCE_NS);
3612
3289
  }
3613
3290
  }
3614
3291
  writeHeaderEnd(xmlWriter) {
3615
3292
  xmlWriter.endElement();
3616
3293
  xmlWriter.endDocument();
3617
3294
  }
3618
- objectToCIMXML(xmlWriter, values, profileName, defaultValuesConfig) {
3295
+ objectToCIMXML(xmlWriter, values, profileName, defaultValuesConfig, logger) {
3619
3296
  cgmes_validator_1.validateCGMESData(values, defaultValuesConfig);
3620
3297
  for (const object of values.values()) {
3621
- object.toCIMXML(xmlWriter, profileName);
3298
+ object.toCIMXML(xmlWriter, profileName, logger);
3622
3299
  }
3623
3300
  }
3624
3301
  objectArrayToCIMXML(xmlWriter, values, profileName) {
@@ -3633,15 +3310,6 @@ class ConverterIntegral7 {
3633
3310
  }
3634
3311
  return false;
3635
3312
  }
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
3313
  queryFunction(query, successCallback, errorCallback) {
3646
3314
  this.mysqlConnection.query(query, (error, results, fields) => {
3647
3315
  if (error)
@@ -3649,6 +3317,9 @@ class ConverterIntegral7 {
3649
3317
  successCallback(results);
3650
3318
  });
3651
3319
  }
3320
+ openConnection() {
3321
+ this.mysqlConnection.connect();
3322
+ }
3652
3323
  isTableAvailable(tableName) {
3653
3324
  return this.availableTableNames.indexOf(tableName) > -1 ? true : false;
3654
3325
  }
@@ -3661,25 +3332,55 @@ class ConverterIntegral7 {
3661
3332
  password: mySqlConfig.password,
3662
3333
  });
3663
3334
  }
3664
- openConnection() {
3665
- this.mysqlConnection.connect();
3666
- }
3667
3335
  closeConnection() {
3668
3336
  this.mysqlConnection.end();
3669
3337
  }
3338
+ checkRegelungsknotenTerminals(schlaufenTerminals) {
3339
+ for (const terminal of schlaufenTerminals) {
3340
+ const cnI7IDs = this.UUID2Integral7ID_.get(terminal.connectivityNodeUUID);
3341
+ if (!cnI7IDs)
3342
+ continue;
3343
+ const spData = this.knotenSpannungsband.get(cnI7IDs.find(elem => elem));
3344
+ if (spData) {
3345
+ spData.terminals.push({ uuid: terminal.mrid, connected: terminal.connected });
3346
+ }
3347
+ }
3348
+ }
3670
3349
  addDefaultObjects(defaultValuesConfig) {
3350
+ const region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.GeographicalRegion.name);
3351
+ region.description = defaultValuesConfig.GeographicalRegion.description;
3352
+ const subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModelDefaultValues, defaultValuesConfig.SubGeographicalRegion.name, region);
3353
+ subregion.shortName = defaultValuesConfig.SubGeographicalRegion.shortName;
3354
+ subregion.description = defaultValuesConfig.SubGeographicalRegion.description;
3671
3355
  const loadArea = new LoadArea_1.LoadArea(__1.generateUUID(), defaultValuesConfig.LoadArea.name);
3672
- this.cimModel.addLoadArea(loadArea);
3356
+ this.cimModelDefaultValues.addLoadArea(loadArea);
3673
3357
  const subLoadArea = new SubLoadArea_1.SubLoadArea(__1.generateUUID(), defaultValuesConfig.SubLoadArea.name);
3674
3358
  subLoadArea.loadArea = loadArea;
3675
- this.cimModel.addSubLoadArea(subLoadArea);
3359
+ this.cimModelDefaultValues.addSubLoadArea(subLoadArea);
3676
3360
  const conformLoadGroup = new ConformLoadGroup_1.ConformLoadGroup(__1.generateUUID(), defaultValuesConfig.ConformLoadGroup.name);
3677
3361
  conformLoadGroup.subLoadArea = subLoadArea;
3678
- this.cimModel.addConformLoadGroup(conformLoadGroup);
3362
+ this.cimModelDefaultValues.addConformLoadGroup(conformLoadGroup);
3679
3363
  const crsUrn = 'urn:ogc:def:crs:EPSG::4326';
3680
3364
  const coordinateSystem = new __1.CoordinateSystem(__1.generateUUID(), this.coordinateSystemName);
3681
3365
  coordinateSystem.crsUrn = crsUrn;
3682
- this.cimModel.addCoordinateSystem(coordinateSystem);
3366
+ this.cimModelDefaultValues.addCoordinateSystem(coordinateSystem);
3367
+ }
3368
+ addIdMapping(i7ID, uuid, type) {
3369
+ if (this.integralID2UUID.has(i7ID)) {
3370
+ console.log(`ID ${i7ID} existiert bereits. Typ ${this.integralID2Type.get(i7ID)} neuer Typ ${type}`);
3371
+ }
3372
+ else {
3373
+ this.integralID2UUID.set(i7ID, uuid);
3374
+ this.integralID2Type.set(i7ID, type);
3375
+ }
3376
+ }
3377
+ addUUIDMapping(i7ID, uuid) {
3378
+ if (this.UUID2Integral7ID_.has(uuid)) {
3379
+ this.UUID2Integral7ID_.get(uuid).push(i7ID);
3380
+ }
3381
+ else {
3382
+ this.UUID2Integral7ID_.set(uuid, [i7ID]);
3383
+ }
3683
3384
  }
3684
3385
  }
3685
3386
  exports.ConverterIntegral7 = ConverterIntegral7;
@@ -3701,20 +3402,21 @@ exports.getVoltageLevelByVoltage = getVoltageLevelByVoltage;
3701
3402
  function validateRegulatingControls(regulatingControls, logger, type) {
3702
3403
  for (const rg of regulatingControls.values()) {
3703
3404
  if (!rg.name)
3704
- logger.info(`RegulatingControl ohne Namen | ${type}`);
3405
+ logger.debug(`RegulatingControl ohne Namen | ${type}`);
3705
3406
  const terminalUUID = rg.terminal ? rg.terminal.mrid : rg.terminalUUID;
3706
3407
  if (!terminalUUID)
3707
- logger.info(`RegulatingControl ohne Terminal ${rg.name} | ${type}`);
3408
+ logger.debug(`RegulatingControl ohne Terminal ${rg.name} | ${type}`);
3708
3409
  }
3709
3410
  }
3710
3411
  function getGeoCoordinates(i7Data) {
3711
- if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s) {
3412
+ if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s &&
3413
+ i7Data.geokoor_pl_laenge_h && i7Data.geokoor_pl_laenge_m && i7Data.geokoor_pl_laenge_s) {
3712
3414
  const lon = (((i7Data.geokoor_pl_laenge_s / 60) + i7Data.geokoor_pl_laenge_m) / 60) + i7Data.geokoor_pl_laenge_h;
3713
3415
  const lat = (((i7Data.geokoor_pl_breite_s / 60) + i7Data.geokoor_pl_breite_m) / 60) + i7Data.geokoor_pl_breite_h;
3714
3416
  return [String(lon), String(lat)];
3715
3417
  }
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)];
3418
+ if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_laenge_h) {
3419
+ return [String(i7Data.geokoor_pl_laenge_h), String(i7Data.geokoor_pl_breite_h)];
3718
3420
  }
3719
3421
  return undefined;
3720
3422
  }
@@ -3736,7 +3438,17 @@ function getValidTerminals(objects, inMemoryObjects) {
3736
3438
  return exportTerminals;
3737
3439
  }
3738
3440
  exports.getValidTerminals = getValidTerminals;
3739
- function validateInMemoryObjects(objects) {
3441
+ function getValidTapChangerControls(objects) {
3442
+ const exportInstances = new Map();
3443
+ for (const value of objects.values()) {
3444
+ if (value.terminal || value.terminalUUID) {
3445
+ exportInstances.set(value.mrid, value);
3446
+ }
3447
+ }
3448
+ return exportInstances;
3449
+ }
3450
+ exports.getValidTapChangerControls = getValidTapChangerControls;
3451
+ function validateInMemoryObjects(objects, logger) {
3740
3452
  const exportTerminals = new Map();
3741
3453
  for (const entry of objects.entries()) {
3742
3454
  const value = entry[1];
@@ -3746,11 +3458,11 @@ function validateInMemoryObjects(objects) {
3746
3458
  (terminal.connectivityNode || terminal.connectivityNodeUUID)) {
3747
3459
  exportTerminals.set(value.mrid, value);
3748
3460
  }
3749
- if (terminal.conductingEquipment && terminal.conductingEquipmentUUID) {
3750
- this.logger.info(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3461
+ if (!terminal.conductingEquipment && !terminal.conductingEquipmentUUID) {
3462
+ logger.debug(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3751
3463
  }
3752
- if (terminal.connectivityNode && terminal.connectivityNodeUUID) {
3753
- this.logger.info(`Terminal ohne connectivityNode UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3464
+ if (!terminal.connectivityNode && !terminal.connectivityNodeUUID) {
3465
+ logger.debug(`Terminal ohne connectivityNode UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3754
3466
  }
3755
3467
  }
3756
3468
  }