@enervance/insight-cim-model 0.0.21 → 0.0.23

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 (356) hide show
  1. package/dist/config/default/default-load.config.d.ts +1 -0
  2. package/dist/config/default/default-load.config.js +43 -0
  3. package/dist/config/default/default-load.config.js.map +1 -0
  4. package/dist/config/power-system-datamodel/psdm-load.config.js +5 -0
  5. package/dist/config/power-system-datamodel/psdm-load.config.js.map +1 -1
  6. package/dist/config/westnetz-integral7/integral7-load.config.js +4 -1
  7. package/dist/config/westnetz-integral7/integral7-load.config.js.map +1 -1
  8. package/dist/config/westnetz-neplan/neplan-load.config.js +5 -3
  9. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  10. package/dist/constants/cim-asset-types.d.ts +15 -0
  11. package/dist/constants/cim-asset-types.js +20 -0
  12. package/dist/constants/cim-asset-types.js.map +1 -0
  13. package/dist/constants/cim-class-definition.js +13 -0
  14. package/dist/constants/cim-class-definition.js.map +1 -1
  15. package/dist/constants/cim-class-names.d.ts +8 -0
  16. package/dist/constants/cim-class-names.js +8 -0
  17. package/dist/constants/cim-class-names.js.map +1 -1
  18. package/dist/constants/init-data/ASSSET_OWNER.d.ts +1 -1
  19. package/dist/constants/init-data/ASSSET_OWNER.js +20 -11
  20. package/dist/constants/init-data/ASSSET_OWNER.js.map +1 -1
  21. package/dist/constants/rdf-xml.d.ts +14 -0
  22. package/dist/constants/rdf-xml.js +15 -0
  23. package/dist/constants/rdf-xml.js.map +1 -1
  24. package/dist/constants/util-init.d.ts +1 -0
  25. package/dist/constants/util-init.js +17 -0
  26. package/dist/constants/util-init.js.map +1 -0
  27. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js +83 -48
  28. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js.map +1 -1
  29. package/dist/converter/cgmes-validator.d.ts +1 -1
  30. package/dist/converter/integral7/ConverterIntegral7.d.ts +34 -13
  31. package/dist/converter/integral7/ConverterIntegral7.js +643 -354
  32. package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
  33. package/dist/{interfaces/default-values-config.d.ts → converter/integral7/interface-i7/IDefaultValuesConfig.d.ts} +4 -0
  34. package/dist/{interfaces/default-values-config.js → converter/integral7/interface-i7/IDefaultValuesConfig.js} +1 -1
  35. package/dist/converter/integral7/interface-i7/IDefaultValuesConfig.js.map +1 -0
  36. package/dist/converter/integral7/interface-i7/IIntegral7ConverterConfig.d.ts +3 -0
  37. package/dist/converter/integral7/interface-i7/IIntegral7ConverterConfig.js +3 -0
  38. package/dist/converter/integral7/interface-i7/IIntegral7ConverterConfig.js.map +1 -0
  39. package/dist/converter/integral7/interface-i7/db-config.js.map +1 -0
  40. package/dist/converter/integral7/model/interfaces.d.ts +4 -0
  41. package/dist/converter/integral7/sql/integral.sql.d.ts +5 -0
  42. package/dist/converter/integral7/sql/integral.sql.js +12 -2
  43. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  44. package/dist/converter/integral7/utils-trafo3w.js +18 -18
  45. package/dist/converter/integral7/utils-trafo3w.js.map +1 -1
  46. package/dist/converter/integral7/utils.d.ts +4 -3
  47. package/dist/converter/integral7/utils.js +11 -8
  48. package/dist/converter/integral7/utils.js.map +1 -1
  49. package/dist/etl/etl-neplan/et-neplan-regex.d.ts +3 -0
  50. package/dist/etl/etl-neplan/et-neplan-regex.js +7 -0
  51. package/dist/etl/etl-neplan/et-neplan-regex.js.map +1 -0
  52. package/dist/{etl-neplan → etl/etl-neplan}/etl-neplan-contingency-analysis.d.ts +5 -5
  53. package/dist/{etl-neplan → etl/etl-neplan}/etl-neplan-contingency-analysis.js +10 -10
  54. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -0
  55. package/dist/etl/etl-neplan/etl-neplan-csv.d.ts +77 -0
  56. package/dist/etl/etl-neplan/etl-neplan-csv.js +521 -0
  57. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -0
  58. package/dist/{etl-neplan → etl/etl-neplan}/etl-neplan-feederline.d.ts +4 -4
  59. package/dist/{etl-neplan → etl/etl-neplan}/etl-neplan-feederline.js +46 -23
  60. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -0
  61. package/dist/etl/etl-neplan/etl-neplan-geo.d.ts +29 -0
  62. package/dist/etl/etl-neplan/etl-neplan-geo.js +221 -0
  63. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -0
  64. package/dist/etl/etl-neplan/etl-neplan-geo_depr.d.ts +1 -0
  65. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js +3 -0
  66. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js.map +1 -0
  67. package/dist/etl/etl-neplan/etl-neplan-util.d.ts +4 -0
  68. package/dist/etl/etl-neplan/etl-neplan-util.js +61 -0
  69. package/dist/etl/etl-neplan/etl-neplan-util.js.map +1 -0
  70. package/dist/{etl-neplan → etl/etl-neplan}/etl-neplan.d.ts +9 -5
  71. package/dist/{etl-neplan → etl/etl-neplan}/etl-neplan.js +70 -78
  72. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -0
  73. package/dist/{etl-neplan → etl/etl-neplan}/neplan-contingency-analysis.d.ts +9 -9
  74. package/dist/{etl-neplan → etl/etl-neplan}/neplan-contingency-analysis.js +39 -29
  75. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -0
  76. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.d.ts +2 -0
  77. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js +36 -0
  78. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js.map +1 -0
  79. package/dist/grid-validation/grid-validation.d.ts +16 -0
  80. package/dist/grid-validation/grid-validation.js +100 -0
  81. package/dist/grid-validation/grid-validation.js.map +1 -0
  82. package/dist/index.d.ts +25 -16
  83. package/dist/index.js +41 -24
  84. package/dist/index.js.map +1 -1
  85. package/dist/interfaces/ILogger.d.ts +5 -0
  86. package/dist/interfaces/ILogger.js +3 -0
  87. package/dist/interfaces/ILogger.js.map +1 -0
  88. package/dist/interfaces/model/common/ILocation.d.ts +2 -0
  89. package/dist/interfaces/model/core/IConductingEquipment.d.ts +4 -0
  90. package/dist/interfaces/model/core/IEquipment.d.ts +2 -0
  91. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +1 -1
  92. package/dist/interfaces/model/core/IPowerSystemResource.d.ts +2 -0
  93. package/dist/interfaces/model/core/ITerminal.d.ts +1 -0
  94. package/dist/interfaces/model/wires/IEnergyConsumer.d.ts +1 -0
  95. package/dist/model/assetinfo/AssetInfo.d.ts +3 -1
  96. package/dist/model/assetinfo/AssetInfo.js +4 -0
  97. package/dist/model/assetinfo/AssetInfo.js.map +1 -1
  98. package/dist/model/assetinfo/PowerTransformerInfo.d.ts +4 -4
  99. package/dist/model/assetinfo/PowerTransformerInfo.js +17 -1
  100. package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
  101. package/dist/model/assetinfo/TapChangerInfo.d.ts +6 -0
  102. package/dist/model/assetinfo/TapChangerInfo.js +96 -0
  103. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  104. package/dist/model/assetinfo/TransformerEndInfo.d.ts +5 -10
  105. package/dist/model/assetinfo/TransformerEndInfo.js +30 -0
  106. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  107. package/dist/model/assetinfo/WireInfo.d.ts +6 -9
  108. package/dist/model/assetinfo/WireInfo.js +20 -0
  109. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  110. package/dist/model/assets/Analytic.js +2 -1
  111. package/dist/model/assets/Analytic.js.map +1 -1
  112. package/dist/model/assets/Asset.d.ts +10 -5
  113. package/dist/model/assets/Asset.js +35 -5
  114. package/dist/model/assets/Asset.js.map +1 -1
  115. package/dist/model/assets/AssetContainer.d.ts +1 -0
  116. package/dist/model/assets/AssetContainer.js +3 -0
  117. package/dist/model/assets/AssetContainer.js.map +1 -1
  118. package/dist/model/assets/AssetDeployment.js +2 -1
  119. package/dist/model/assets/AssetDeployment.js.map +1 -1
  120. package/dist/model/assets/AssetHealthEvent.js +2 -1
  121. package/dist/model/assets/AssetHealthEvent.js.map +1 -1
  122. package/dist/model/assets/AssetOwner.js +2 -1
  123. package/dist/model/assets/AssetOwner.js.map +1 -1
  124. package/dist/model/assets/AssetUser.js +2 -1
  125. package/dist/model/assets/AssetUser.js.map +1 -1
  126. package/dist/model/assets/Facility.js +2 -1
  127. package/dist/model/assets/Facility.js.map +1 -1
  128. package/dist/model/assets/HealthScore.js +2 -1
  129. package/dist/model/assets/HealthScore.js.map +1 -1
  130. package/dist/model/assets/LifecycleDate.d.ts +2 -1
  131. package/dist/model/assets/LifecycleDate.js +8 -6
  132. package/dist/model/assets/LifecycleDate.js.map +1 -1
  133. package/dist/model/common/CoordinateSystem.js +2 -1
  134. package/dist/model/common/CoordinateSystem.js.map +1 -1
  135. package/dist/model/common/Location.d.ts +3 -1
  136. package/dist/model/common/Location.js +6 -1
  137. package/dist/model/common/Location.js.map +1 -1
  138. package/dist/model/common/PositionPoint.js +2 -1
  139. package/dist/model/common/PositionPoint.js.map +1 -1
  140. package/dist/model/core/ACDCTerminal.d.ts +1 -1
  141. package/dist/model/core/BaseVoltage.js +2 -1
  142. package/dist/model/core/BaseVoltage.js.map +1 -1
  143. package/dist/model/core/Bay.js +4 -2
  144. package/dist/model/core/Bay.js.map +1 -1
  145. package/dist/model/core/ConductingEquipment.js +6 -7
  146. package/dist/model/core/ConductingEquipment.js.map +1 -1
  147. package/dist/model/core/ConnectivityNode.js +12 -2
  148. package/dist/model/core/ConnectivityNode.js.map +1 -1
  149. package/dist/model/core/Equipment.js +2 -1
  150. package/dist/model/core/Equipment.js.map +1 -1
  151. package/dist/model/core/Feeder.js +4 -1
  152. package/dist/model/core/Feeder.js.map +1 -1
  153. package/dist/model/core/IdentifiedObject.d.ts +2 -1
  154. package/dist/model/core/IdentifiedObject.js +7 -3
  155. package/dist/model/core/IdentifiedObject.js.map +1 -1
  156. package/dist/model/core/PSRType.js +2 -1
  157. package/dist/model/core/PSRType.js.map +1 -1
  158. package/dist/model/core/Substation.js +26 -11
  159. package/dist/model/core/Substation.js.map +1 -1
  160. package/dist/model/core/Terminal.d.ts +3 -2
  161. package/dist/model/core/Terminal.js +29 -5
  162. package/dist/model/core/Terminal.js.map +1 -1
  163. package/dist/model/core/VoltageLevel.js +2 -1
  164. package/dist/model/core/VoltageLevel.js.map +1 -1
  165. package/dist/model/dc/ACDCConverter.d.ts +1 -1
  166. package/dist/model/dc/CsConverter.d.ts +1 -1
  167. package/dist/model/dc/DCConverterUnit.d.ts +1 -1
  168. package/dist/model/dc/VsConverter.d.ts +1 -1
  169. package/dist/model/diagram/Diagram.js +2 -1
  170. package/dist/model/diagram/Diagram.js.map +1 -1
  171. package/dist/model/diagram/DiagramObject.js +2 -3
  172. package/dist/model/diagram/DiagramObject.js.map +1 -1
  173. package/dist/model/diagram/DiagramObjectPoint.js +2 -1
  174. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  175. package/dist/model/equivalents/EquivalentBranch.d.ts +1 -1
  176. package/dist/model/equivalents/EquivalentBranch.js +2 -1
  177. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  178. package/dist/model/extensions/amprion/model/AmprionModel.js.map +1 -1
  179. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +2 -1
  180. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  181. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js +2 -1
  182. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js.map +1 -1
  183. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +2 -0
  184. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  185. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.d.ts +26 -0
  186. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +114 -0
  187. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -0
  188. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.d.ts +25 -0
  189. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +94 -0
  190. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -0
  191. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.d.ts +14 -0
  192. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js +66 -0
  193. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js.map +1 -0
  194. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.d.ts +16 -0
  195. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js +72 -0
  196. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js.map +1 -0
  197. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.d.ts +29 -0
  198. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +127 -0
  199. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -0
  200. package/dist/model/extensions/enervance/assets/EVAnalytic.js +2 -1
  201. package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -1
  202. package/dist/model/extensions/enervance/assets/EVImportanceScore.js +2 -1
  203. package/dist/model/extensions/enervance/assets/EVImportanceScore.js.map +1 -1
  204. package/dist/model/extensions/enervance/assets/EVIndicator.d.ts +13 -0
  205. package/dist/model/extensions/enervance/assets/EVIndicator.js +64 -0
  206. package/dist/model/extensions/enervance/assets/EVIndicator.js.map +1 -0
  207. package/dist/model/extensions/enervance/assets/EVWireObject.d.ts +21 -0
  208. package/dist/model/extensions/enervance/assets/EVWireObject.js +165 -0
  209. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -0
  210. package/dist/model/extensions/enervance/assets/IndicatorTypeKind.d.ts +4 -0
  211. package/dist/model/extensions/enervance/assets/IndicatorTypeKind.js +9 -0
  212. package/dist/model/extensions/enervance/assets/IndicatorTypeKind.js.map +1 -0
  213. package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +1 -0
  214. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +7 -1
  215. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  216. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.d.ts +0 -4
  217. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +27 -31
  218. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  219. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +1 -0
  220. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +12 -4
  221. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  222. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.d.ts +17 -0
  223. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +95 -0
  224. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -0
  225. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js +2 -1
  226. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -1
  227. package/dist/model/extensions/neplan-westnetz/core/WNBay.d.ts +21 -0
  228. package/dist/model/extensions/neplan-westnetz/core/WNBay.js +86 -0
  229. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -0
  230. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +10 -2
  231. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +69 -22
  232. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  233. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +3 -0
  234. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +15 -4
  235. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  236. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.d.ts +5 -0
  237. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js +10 -0
  238. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js.map +1 -0
  239. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.d.ts +20 -0
  240. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +105 -0
  241. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -0
  242. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +2 -0
  243. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +27 -2
  244. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  245. package/dist/model/generation/GeneratingUnit.d.ts +1 -1
  246. package/dist/model/generation/GeneratingUnit.js +2 -1
  247. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  248. package/dist/model/loadmodel/ConformLoad.d.ts +1 -1
  249. package/dist/model/loadmodel/ConformLoad.js +7 -7
  250. package/dist/model/model/Model.d.ts +29 -13
  251. package/dist/model/model/Model.js +98 -29
  252. package/dist/model/model/Model.js.map +1 -1
  253. package/dist/model/operationallimits/CurrentLimit.js +2 -1
  254. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  255. package/dist/model/operationallimits/OperationalLimitSet.js +2 -1
  256. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  257. package/dist/model/operationallimits/OperationalLimitType.js +2 -1
  258. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  259. package/dist/model/statevariables/SvPowerFlow.d.ts +6 -0
  260. package/dist/model/statevariables/SvPowerFlow.js +44 -1
  261. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  262. package/dist/model/statevariables/SvVoltage.js +2 -1
  263. package/dist/model/statevariables/SvVoltage.js.map +1 -1
  264. package/dist/model/topology/TopologicalNode.d.ts +11 -2
  265. package/dist/model/topology/TopologicalNode.js +66 -4
  266. package/dist/model/topology/TopologicalNode.js.map +1 -1
  267. package/dist/model/wires/ACLineSegment.d.ts +1 -1
  268. package/dist/model/wires/ACLineSegment.js +24 -16
  269. package/dist/model/wires/ACLineSegment.js.map +1 -1
  270. package/dist/model/wires/AsynchronousMachine.d.ts +1 -1
  271. package/dist/model/wires/Breaker.js +3 -2
  272. package/dist/model/wires/Breaker.js.map +1 -1
  273. package/dist/model/wires/BusbarSection.js +2 -1
  274. package/dist/model/wires/BusbarSection.js.map +1 -1
  275. package/dist/model/wires/Conductor.d.ts +1 -1
  276. package/dist/model/wires/Disconnector.js +2 -1
  277. package/dist/model/wires/Disconnector.js.map +1 -1
  278. package/dist/model/wires/EnergyConsumer.d.ts +2 -1
  279. package/dist/model/wires/EnergyConsumer.js +26 -7
  280. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  281. package/dist/model/wires/EnergySource.d.ts +1 -1
  282. package/dist/model/wires/EnergySource.js +2 -1
  283. package/dist/model/wires/EnergySource.js.map +1 -1
  284. package/dist/model/wires/ExternalNetworkInjection.d.ts +1 -1
  285. package/dist/model/wires/ExternalNetworkInjection.js +2 -1
  286. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  287. package/dist/model/wires/GroundingImpedance.d.ts +1 -1
  288. package/dist/model/wires/Junction.d.ts +3 -1
  289. package/dist/model/wires/Junction.js +14 -3
  290. package/dist/model/wires/Junction.js.map +1 -1
  291. package/dist/model/wires/Line.js +2 -1
  292. package/dist/model/wires/Line.js.map +1 -1
  293. package/dist/model/wires/LinearShuntCompensator.d.ts +1 -1
  294. package/dist/model/wires/LoadBreakSwitch.js +2 -1
  295. package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
  296. package/dist/model/wires/PetersenCoil.d.ts +1 -1
  297. package/dist/model/wires/PetersenCoil.js +6 -5
  298. package/dist/model/wires/PetersenCoil.js.map +1 -1
  299. package/dist/model/wires/PowerTransformer.d.ts +2 -0
  300. package/dist/model/wires/PowerTransformer.js +23 -2
  301. package/dist/model/wires/PowerTransformer.js.map +1 -1
  302. package/dist/model/wires/PowerTransformerEnd.d.ts +1 -1
  303. package/dist/model/wires/PowerTransformerEnd.js +2 -1
  304. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  305. package/dist/model/wires/RegulatingCondEq.d.ts +1 -1
  306. package/dist/model/wires/RegulatingControl.d.ts +1 -1
  307. package/dist/model/wires/RegulatingControl.js +4 -3
  308. package/dist/model/wires/RegulatingControl.js.map +1 -1
  309. package/dist/model/wires/RotatingMachine.d.ts +1 -1
  310. package/dist/model/wires/SeriesCompensator.d.ts +1 -1
  311. package/dist/model/wires/SeriesCompensator.js +2 -1
  312. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  313. package/dist/model/wires/ShuntCompensator.d.ts +1 -1
  314. package/dist/model/wires/StaticVarCompensator.d.ts +1 -1
  315. package/dist/model/wires/Switch.js +2 -1
  316. package/dist/model/wires/Switch.js.map +1 -1
  317. package/dist/model/wires/SynchronousMachine.d.ts +1 -1
  318. package/dist/model/wires/SynchronousMachine.js +2 -1
  319. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  320. package/dist/model/wires/TransformerEnd.d.ts +1 -1
  321. package/dist/util/sparql/sparql-utils.d.ts +10 -2
  322. package/dist/util/sparql/sparql-utils.js +131 -3
  323. package/dist/util/sparql/sparql-utils.js.map +1 -1
  324. package/dist/util/util-create.d.ts +4 -1
  325. package/dist/util/util-create.js +35 -1
  326. package/dist/util/util-create.js.map +1 -1
  327. package/dist/util/utils.d.ts +1 -1
  328. package/dist/util/utils.js +18 -15
  329. package/dist/util/utils.js.map +1 -1
  330. package/dist/util/xml/xml.serializer.d.ts +1 -1
  331. package/dist/util/xml/xml.serializer.js +34 -11
  332. package/dist/util/xml/xml.serializer.js.map +1 -1
  333. package/package.json +3 -2
  334. package/dist/converter/integral7/config/db-config.js.map +0 -1
  335. package/dist/converter/integral7/config/generation-unit-fuel-types.d.ts +0 -50
  336. package/dist/converter/integral7/config/generation-unit-fuel-types.js +0 -54
  337. package/dist/converter/integral7/config/generation-unit-fuel-types.js.map +0 -1
  338. package/dist/etl-neplan/etl-neplan-contingency-analysis.js.map +0 -1
  339. package/dist/etl-neplan/etl-neplan-csv.d.ts +0 -50
  340. package/dist/etl-neplan/etl-neplan-csv.js +0 -405
  341. package/dist/etl-neplan/etl-neplan-csv.js.map +0 -1
  342. package/dist/etl-neplan/etl-neplan-feederline.js.map +0 -1
  343. package/dist/etl-neplan/etl-neplan-geo.d.ts +0 -20
  344. package/dist/etl-neplan/etl-neplan-geo.js +0 -105
  345. package/dist/etl-neplan/etl-neplan-geo.js.map +0 -1
  346. package/dist/etl-neplan/etl-neplan.js.map +0 -1
  347. package/dist/etl-neplan/neplan-contingency-analysis.js.map +0 -1
  348. package/dist/interfaces/default-values-config.js.map +0 -1
  349. package/dist/model/assetinfo/PowerTransformer2WInfo.d.ts +0 -6
  350. package/dist/model/assetinfo/PowerTransformer2WInfo.js +0 -11
  351. package/dist/model/assetinfo/PowerTransformer2WInfo.js.map +0 -1
  352. package/dist/model/assetinfo/PowerTransformer3WInfo.d.ts +0 -10
  353. package/dist/model/assetinfo/PowerTransformer3WInfo.js +0 -11
  354. package/dist/model/assetinfo/PowerTransformer3WInfo.js.map +0 -1
  355. /package/dist/converter/integral7/{config → interface-i7}/db-config.d.ts +0 -0
  356. /package/dist/converter/integral7/{config → interface-i7}/db-config.js +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVoltageLevelByVoltage = exports.ConverterIntegral7 = void 0;
3
+ exports.validateInMemoryObjects = 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"));
@@ -51,6 +51,10 @@ const SynchronousMachineOperatingMode_1 = require("../../model/wires/Synchronous
51
51
  const StaticVarCompensator_1 = require("../../model/wires/StaticVarCompensator");
52
52
  const PetersenCoil_1 = require("../../model/wires/PetersenCoil");
53
53
  const GroundingImpedance_1 = require("../../model/wires/GroundingImpedance");
54
+ const EVPowerTransformerEndInfo_1 = require("../../model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo");
55
+ const util_create_1 = require("../../util/util-create");
56
+ const EVPowerTransformerInfo_1 = require("../../model/extensions/enervance/assetinfo/EVPowerTransformerInfo");
57
+ const EVWireInfo_1 = require("../../model/extensions/enervance/assetinfo/EVWireInfo");
54
58
  class ConverterIntegral7 {
55
59
  constructor() {
56
60
  this.limit = 100;
@@ -75,7 +79,7 @@ class ConverterIntegral7 {
75
79
  this.integralNsgSchaltfelder = new Map();
76
80
  this.integralNsgKnotenSo = new Map();
77
81
  this.integralLeitungen = new Map();
78
- this.memoryObjects = new Map();
82
+ this.inmemoryObjects = new Map();
79
83
  this.leitungAnschlussKnotenIDs = new Set();
80
84
  this.stpImpModel = {
81
85
  stpSchieneJunctionUUIDs: new Map(),
@@ -89,13 +93,17 @@ class ConverterIntegral7 {
89
93
  };
90
94
  this.knotenSpannung = new Map();
91
95
  this.substationVoltagelevels = new Map();
96
+ this.eqSpannungsBander = new Map();
97
+ this.substationNames = new Map();
98
+ this.coordinateSystemName = 'EPSG:4326';
92
99
  this.cimModel = new __1.Model();
93
100
  this.availableTableNames = [];
94
101
  }
95
- init(mySqlConfig) {
102
+ init(mySqlConfig, logger) {
96
103
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
97
104
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
98
105
  try {
106
+ this.logger = logger;
99
107
  this.initDbConnection(mySqlConfig);
100
108
  this.openConnection();
101
109
  yield this.getAvailableTableNames(mySqlConfig.database);
@@ -116,31 +124,36 @@ class ConverterIntegral7 {
116
124
  }));
117
125
  });
118
126
  }
119
- convert(defaultValuesConfig, energyTypesConfig, tempDirPath) {
127
+ convert(defaultValuesConfig, energyTypesConfig, tempDirPath, gridName) {
120
128
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
121
129
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
122
130
  try {
123
- const eqProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, 'eq.xml');
131
+ const eqProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_eq.xml`);
124
132
  this.writeHeaderStart(eqProfileExportObjects.xmlWriter);
125
133
  const modelEQUUID = __1.generateUUID();
126
134
  const profilesEQ = [__1.RDF_XML.EQ_CORE_PROFILE_URI, __1.RDF_XML.EQ_SC_PROFILE_URI, __1.RDF_XML.EQ_OPER_PROFILE_URI];
127
135
  this.cimModel.toCIMXML(eqProfileExportObjects.xmlWriter, modelEQUUID, profilesEQ, undefined, __1.RDF_XML.AMP_MAS);
128
- const dlProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, 'dl.xml');
136
+ const dlProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_dl.xml`);
129
137
  this.writeHeaderStart(dlProfileExportObjects.xmlWriter);
130
138
  const modelDLUUID = __1.generateUUID();
131
139
  const profilesDl = [__1.RDF_XML.DL_OPER_PROFILE_URI];
132
140
  this.cimModel.toCIMXML(dlProfileExportObjects.xmlWriter, modelDLUUID, profilesDl, [modelEQUUID], __1.RDF_XML.AMP_MAS);
133
- const sshProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, 'ssh.xml');
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`);
134
147
  this.writeHeaderStart(sshProfileExportObjects.xmlWriter);
135
148
  const modelSSHUUID = __1.generateUUID();
136
149
  const profilesSSH = [__1.RDF_XML.SSH_OPER_PROFILE_URI];
137
150
  this.cimModel.toCIMXML(sshProfileExportObjects.xmlWriter, modelSSHUUID, profilesSSH, [modelEQUUID], __1.RDF_XML.AMP_MAS);
138
- const svProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, 'sv.xml');
151
+ const svProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_sv.xml`);
139
152
  this.writeHeaderStart(svProfileExportObjects.xmlWriter);
140
153
  const modelSVUUID = __1.generateUUID();
141
154
  const profilesSV = [__1.RDF_XML.SV_OPER_PROFILE_URI];
142
155
  this.cimModel.toCIMXML(svProfileExportObjects.xmlWriter, modelSVUUID, profilesSV, [modelEQUUID, modelSSHUUID], __1.RDF_XML.AMP_MAS);
143
- const ampI7ProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, 'amp_i7.xml');
156
+ const ampI7ProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_nonstandard.xml`);
144
157
  this.writeHeaderStart(ampI7ProfileExportObjects.xmlWriter, __1.RDF_XML.AMP_I7_PROFILE_URI);
145
158
  const modelAmpI7UUID = __1.generateUUID();
146
159
  const profilesAmpI7UUID = [__1.RDF_XML.AMP_I7_PROFILE_URI];
@@ -153,6 +166,7 @@ class ConverterIntegral7 {
153
166
  yield this.convertBetriebsmitteltypenTrafo();
154
167
  yield this.convertBetriebsmitteltypenKdrossel();
155
168
  yield this.convertNetzvarianten();
169
+ this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.coordinateSystems, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
156
170
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.geographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
157
171
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subgeographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
158
172
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.lines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -206,7 +220,8 @@ class ConverterIntegral7 {
206
220
  yield this.convertSammelschienenAbschnitte(schaltanlagenAbschnittIDs);
207
221
  }
208
222
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
209
- yield this.convertBelastungen([...knotenSoIDs, ...this.knotenSfIDs], defaultValuesConfig);
223
+ const querZweigID2ErgebnisLflID = yield this.convertBelastungen([...knotenSoIDs, ...this.knotenSfIDs], defaultValuesConfig, false);
224
+ yield this.convertQuerzweigErgebnisData(querZweigID2ErgebnisLflID, 1, 0);
210
225
  }
211
226
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
212
227
  yield this.convertEinspeisungen([...knotenSoIDs, ...this.knotenSfIDs]);
@@ -215,11 +230,14 @@ class ConverterIntegral7 {
215
230
  yield this.convertGeneratoren([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
216
231
  }
217
232
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
218
- yield this.convertKraftwerksbloeke([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
233
+ yield this.convertKraftwerksbloecke([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
219
234
  }
220
235
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
221
236
  yield this.convertErsatzQuerweige([...knotenSoIDs, ...this.knotenSfIDs]);
222
237
  }
238
+ if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
239
+ yield this.convertBoundaryInjections([...knotenSoIDs, ...this.knotenSfIDs]);
240
+ }
223
241
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
224
242
  yield this.convertAsynchronmotor([...knotenSoIDs, ...this.knotenSfIDs]);
225
243
  }
@@ -289,6 +307,7 @@ class ConverterIntegral7 {
289
307
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.solarGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
290
308
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.linearShuntCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
291
309
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
310
+ validateRegulatingControls(this.cimModel.regulatingControl, this.logger, 'Allgemein');
292
311
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
293
312
  this.objectArrayToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.fossilFuel, __1.RDF_XML.PROFILE_EQ);
294
313
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.reactiveCapabilityCurve, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -296,17 +315,20 @@ class ConverterIntegral7 {
296
315
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
297
316
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
298
317
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
299
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.terminals, __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);
300
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);
301
323
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
302
324
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
303
325
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
304
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
305
326
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
306
327
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
307
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
308
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __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);
309
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);
310
332
  this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svTapSteps, __1.RDF_XML.PROFILE_SV);
311
333
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
312
334
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
@@ -338,6 +360,7 @@ class ConverterIntegral7 {
338
360
  this.cimModel.connectivityNodes.clear();
339
361
  this.cimModel.terminals.clear();
340
362
  this.cimModel.diagramObjects.clear();
363
+ this.cimModel.locations.clear();
341
364
  this.cimModel.objects.clear();
342
365
  this.cimModel.svStatus.length = 0;
343
366
  this.cimModel.svTapSteps.length = 0;
@@ -356,19 +379,21 @@ class ConverterIntegral7 {
356
379
  this.integralNsgSchaltanlagenabschnitt.clear();
357
380
  this.integralNsgSchaltfelder.clear();
358
381
  this.integralNsgKnotenSo.clear();
359
- console.log(`Offset ${offset} done`);
382
+ this.eqSpannungsBander.clear();
383
+ this.logger.info(`Offset ${offset} done`);
360
384
  }
361
385
  const restCountELZ = this.ersatzlaengszweigAnzahl < this.limit ? this.ersatzlaengszweigAnzahl : (this.ersatzlaengszweigAnzahl % this.limit);
362
386
  const intervalCountELZ = (this.ersatzlaengszweigAnzahl - restCountELZ) / this.limit;
363
387
  const numberOfIntervalsELZ = restCountELZ > 0 ? intervalCountELZ + 1 : intervalCountELZ;
364
- console.log('Convert Ersatzlaengszweige ' + this.ersatzlaengszweigAnzahl);
388
+ this.logger.info('Convert Ersatzlaengszweige ' + this.ersatzlaengszweigAnzahl);
365
389
  for (let i = 0; i < numberOfIntervalsELZ; i++) {
366
390
  const offset = i * this.limit;
367
391
  const currentLimit = (i + 1 === numberOfIntervalsELZ && restCountELZ > 0) ? restCountELZ : this.limit;
368
392
  yield this.convertErsatzLaengszweige(currentLimit, offset, defaultValuesConfig);
369
393
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.equivalentBranches, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
370
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
371
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, 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);
372
397
  this.cimModel.equivalentBranches.clear();
373
398
  this.cimModel.connectivityNodes.clear();
374
399
  this.cimModel.terminals.clear();
@@ -377,7 +402,7 @@ class ConverterIntegral7 {
377
402
  const restCountLeitung = this.leitungsAnzahl < this.limit ? this.leitungsAnzahl : (this.leitungsAnzahl % this.limit);
378
403
  const intervalCountLeitung = (this.leitungsAnzahl - restCountLeitung) / this.limit;
379
404
  const numberOfIntervalsLeitung = restCountLeitung > 0 ? intervalCountLeitung + 1 : intervalCountLeitung;
380
- console.log('Convert ACLineSegments ' + this.leitungsAnzahl);
405
+ this.logger.info('Convert ACLineSegments ' + this.leitungsAnzahl);
381
406
  for (let i = 0; i < numberOfIntervalsLeitung; i++) {
382
407
  const offset = i * this.limit;
383
408
  const currentLimit = (i + 1 === numberOfIntervalsLeitung && restCountLeitung > 0) ? restCountLeitung : this.limit;
@@ -386,8 +411,9 @@ class ConverterIntegral7 {
386
411
  if (this.leitungsIDs.length > 0)
387
412
  yield this.determineLeitungsTypen(this.leitungsIDs, defaultValuesConfig);
388
413
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
389
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
390
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, 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);
391
417
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
392
418
  this.cimModel.acLineSegments.clear();
393
419
  this.cimModel.connectivityNodes.clear();
@@ -400,7 +426,7 @@ class ConverterIntegral7 {
400
426
  const restCountHgueLeitung = this.hgueLeitungsAnzahl < this.limit ? this.hgueLeitungsAnzahl : (this.hgueLeitungsAnzahl % this.limit);
401
427
  const intervalCountHgueLeitung = (this.hgueLeitungsAnzahl - restCountHgueLeitung) / this.limit;
402
428
  const numberOfIntervalsHgueLeitung = restCountHgueLeitung > 0 ? intervalCountHgueLeitung + 1 : intervalCountHgueLeitung;
403
- console.log('Convert ACLineSegments ' + this.hgueLeitungsAnzahl);
429
+ this.logger.info('Convert ACLineSegments ' + this.hgueLeitungsAnzahl);
404
430
  for (let i = 0; i < numberOfIntervalsHgueLeitung; i++) {
405
431
  const offset = i * this.limit;
406
432
  const currentLimit = (i + 1 === numberOfIntervalsHgueLeitung && restCountHgueLeitung > 0) ? restCountHgueLeitung : this.limit;
@@ -415,17 +441,18 @@ class ConverterIntegral7 {
415
441
  const restCountLD = this.laengsdrosselAnzahl < this.limit ? this.laengsdrosselAnzahl : (this.laengsdrosselAnzahl % this.limit);
416
442
  const intervalCountLD = (this.laengsdrosselAnzahl - restCountLD) / this.limit;
417
443
  const numberOfIntervalsLD = restCountLD > 0 ? intervalCountLD + 1 : intervalCountLD;
418
- console.log('Convert Längsdrossel ' + this.laengsdrosselAnzahl);
444
+ this.logger.info('Convert Längsdrossel ' + this.laengsdrosselAnzahl);
419
445
  for (let i = 0; i < numberOfIntervalsLD; i++) {
420
446
  const offset = i * this.limit;
421
447
  const currentLimit = (i + 1 === numberOfIntervalsLD && restCountLD > 0) ? restCountLD : this.limit;
422
448
  yield this.convertLaengsdrosseln(currentLimit, offset, defaultValuesConfig);
423
- console.log('Export Längsdrossel ' + this.cimModel.seriesCompensators.size);
449
+ this.logger.info('Export Längsdrossel ' + this.cimModel.seriesCompensators.size);
424
450
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
425
451
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
426
452
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
427
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
428
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, 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);
429
456
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
430
457
  this.cimModel.seriesCompensators.clear();
431
458
  this.cimModel.operationalLimitSets.clear();
@@ -436,7 +463,7 @@ class ConverterIntegral7 {
436
463
  const restCountLK = this.laengskondensatorAnzahl < this.limit ? this.laengskondensatorAnzahl : (this.laengskondensatorAnzahl % this.limit);
437
464
  const intervalCountLK = (this.laengskondensatorAnzahl - restCountLK) / this.limit;
438
465
  const numberOfIntervalsLK = restCountLK > 0 ? intervalCountLK + 1 : intervalCountLK;
439
- console.log('Convert Längskondensator ' + this.laengskondensatorAnzahl);
466
+ this.logger.info('Convert Längskondensator ' + this.laengskondensatorAnzahl);
440
467
  for (let i = 0; i < numberOfIntervalsLK; i++) {
441
468
  const offset = i * this.limit;
442
469
  const currentLimit = (i + 1 === numberOfIntervalsLK && restCountLK > 0) ? restCountLK : this.limit;
@@ -444,8 +471,9 @@ class ConverterIntegral7 {
444
471
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
445
472
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
446
473
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
447
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
448
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, 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);
449
477
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
450
478
  this.cimModel.seriesCompensators.clear();
451
479
  this.cimModel.operationalLimitSets.clear();
@@ -456,22 +484,24 @@ class ConverterIntegral7 {
456
484
  const restCountTrafo2W = this.trafo2WAnzahl < this.limit ? this.trafo2WAnzahl : (this.trafo2WAnzahl % this.limit);
457
485
  const intervalCountTrafo2W = (this.trafo2WAnzahl - restCountTrafo2W) / this.limit;
458
486
  const numberOfIntervalsTrafo2W = restCountTrafo2W > 0 ? intervalCountTrafo2W + 1 : intervalCountTrafo2W;
459
- console.log('Convert Transformers');
487
+ this.logger.info('Convert Transformers');
460
488
  for (let i = 0; i < numberOfIntervalsTrafo2W; i++) {
461
489
  const offset = i * this.limit;
462
490
  const currentLimit = (i + 1 === numberOfIntervalsTrafo2W && restCountTrafo2W > 0) ? restCountTrafo2W : this.limit;
463
491
  yield this.convertTrafo2W(currentLimit, offset);
464
492
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
465
493
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
466
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.terminals, __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);
467
497
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.tapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
468
498
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
469
499
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
500
+ validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '2W Trafo');
470
501
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
471
502
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
472
503
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
473
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
474
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
504
+ this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
475
505
  this.cimModel.powerTransformer.clear();
476
506
  this.cimModel.powerTransformerEnds.clear();
477
507
  this.cimModel.currentLimits.clear();
@@ -490,7 +520,7 @@ class ConverterIntegral7 {
490
520
  const restCountTrafo3W = this.trafo2WAnzahl < this.limit ? this.trafo3WAnzahl : (this.trafo3WAnzahl % this.limit);
491
521
  const intervalCountTrafo3W = (this.trafo3WAnzahl - restCountTrafo3W) / this.limit;
492
522
  const numberOfIntervalsTrafo3W = restCountTrafo3W > 0 ? intervalCountTrafo3W + 1 : intervalCountTrafo3W;
493
- console.log('Convert Transformers3W');
523
+ this.logger.info('Convert Transformers3W');
494
524
  for (let i = 0; i < numberOfIntervalsTrafo3W; i++) {
495
525
  const offset = i * this.limit;
496
526
  const currentLimit = (i + 1 === numberOfIntervalsTrafo3W && restCountTrafo3W > 0) ? restCountTrafo3W : this.limit;
@@ -501,7 +531,9 @@ class ConverterIntegral7 {
501
531
  this.cimModel.powerTransformerEnds.clear();
502
532
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
503
533
  this.cimModel.currentLimits.clear();
504
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
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);
505
537
  this.cimModel.terminals.clear();
506
538
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.tapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
507
539
  this.cimModel.tapChangerControls.clear();
@@ -509,10 +541,10 @@ class ConverterIntegral7 {
509
541
  this.cimModel.ratioTapChangers.clear();
510
542
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
511
543
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
544
+ validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '3W Trafo');
512
545
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
513
546
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
514
547
  this.cimModel.regulatingControl.clear();
515
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
516
548
  this.cimModel.operationalLimitSets.clear();
517
549
  for (const table of this.cimModel.ratioTapChangerTables.values()) {
518
550
  table.ratioTapChangerTablePoints = [];
@@ -521,19 +553,7 @@ class ConverterIntegral7 {
521
553
  this.cimModel.svTapSteps.length = 0;
522
554
  this.cimModel.objects.clear();
523
555
  }
524
- const memoryTerminals = new Map();
525
- for (const entry of this.memoryObjects.entries()) {
526
- const value = entry[1];
527
- if (value instanceof __1.Terminal) {
528
- const terminal = value;
529
- if (terminal.conductingEquipment || terminal.conductingEquipmentUUID) {
530
- memoryTerminals.set(value.mrid, value);
531
- }
532
- else {
533
- console.log(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
534
- }
535
- }
536
- }
556
+ const memoryTerminals = validateInMemoryObjects(this.inmemoryObjects);
537
557
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitTypes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
538
558
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.baseVoltages, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
539
559
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, memoryTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -543,46 +563,74 @@ class ConverterIntegral7 {
543
563
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.csConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
544
564
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acDCConverterDCTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
545
565
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
546
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.stpImpModel.connectivityNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
547
- this.stpImpModel.connectivityNodes.clear();
548
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.stpImpModel.junctions, __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);
549
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();
550
582
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.stpImpModel.petersenCoils, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
551
583
  this.stpImpModel.petersenCoils.clear();
552
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.stpImpModel.groundingImpedances, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
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);
553
590
  this.stpImpModel.groundingImpedances.clear();
591
+ this.cimModel.groundingImpedances.clear();
554
592
  this.cimModel.dcConverterUnit.clear();
555
593
  this.cimModel.vsConverter.clear();
556
594
  this.cimModel.csConverter.clear();
557
595
  this.cimModel.acDCConverterDCTerminals.clear();
558
596
  this.cimModel.dcNodes.clear();
559
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);
560
604
  this.cimModel.operationalLimitTypes.clear();
561
605
  this.cimModel.baseVoltages.clear();
562
606
  memoryTerminals.clear();
563
607
  this.writeHeaderEnd(eqProfileExportObjects.xmlWriter);
564
608
  this.writeHeaderEnd(dlProfileExportObjects.xmlWriter);
609
+ this.writeHeaderEnd(glProfileExportObjects.xmlWriter);
565
610
  this.writeHeaderEnd(sshProfileExportObjects.xmlWriter);
566
611
  this.writeHeaderEnd(svProfileExportObjects.xmlWriter);
567
612
  this.writeHeaderEnd(ampI7ProfileExportObjects.xmlWriter);
568
613
  yield Promise.all([
569
614
  utils_2.createWriteStreamPromise(eqProfileExportObjects.writeStream),
570
615
  utils_2.createWriteStreamPromise(dlProfileExportObjects.writeStream),
616
+ utils_2.createWriteStreamPromise(glProfileExportObjects.writeStream),
571
617
  utils_2.createWriteStreamPromise(sshProfileExportObjects.writeStream),
572
618
  utils_2.createWriteStreamPromise(svProfileExportObjects.writeStream),
573
619
  utils_2.createWriteStreamPromise(ampI7ProfileExportObjects.writeStream),
574
620
  ]);
575
621
  const zip = new jszip_1.default();
576
622
  const readStreamEq = fs_1.default.createReadStream(eqProfileExportObjects.filePath);
577
- zip.file('EQ.xml', readStreamEq);
623
+ zip.file(`${gridName}_eq.xml`, readStreamEq);
578
624
  const readStreamDl = fs_1.default.createReadStream(dlProfileExportObjects.filePath);
579
- zip.file('DL.xml', readStreamDl);
625
+ zip.file(`${gridName}_dl.xml`, readStreamDl);
626
+ const readStreamGl = fs_1.default.createReadStream(glProfileExportObjects.filePath);
627
+ zip.file(`${gridName}_gl.xml`, readStreamGl);
580
628
  const readStreamSSH = fs_1.default.createReadStream(sshProfileExportObjects.filePath);
581
- zip.file('SSH.xml', readStreamSSH);
629
+ zip.file(`${gridName}_ssh.xml`, readStreamSSH);
582
630
  const readStreamSV = fs_1.default.createReadStream(svProfileExportObjects.filePath);
583
- zip.file('SV.xml', readStreamSV);
631
+ zip.file(`${gridName}_sv.xml`, readStreamSV);
584
632
  const readStreamAmpI7 = fs_1.default.createReadStream(ampI7ProfileExportObjects.filePath);
585
- zip.file('AMP_I7.xml', readStreamAmpI7);
633
+ zip.file('nonstandard.xml', readStreamAmpI7);
586
634
  resolve(yield utils_2.generateNodeStream(zip));
587
635
  }
588
636
  catch (e) {
@@ -600,7 +648,7 @@ class ConverterIntegral7 {
600
648
  if (tempDirPath) {
601
649
  try {
602
650
  fs_1.default.rmdirSync(tempDirPath, { recursive: true });
603
- console.log(`${path_1.default} is deleted!`);
651
+ this.logger.info(`${path_1.default} is deleted!`);
604
652
  }
605
653
  catch (err) {
606
654
  console.error(`Error while deleting ${path_1.default}.`);
@@ -703,8 +751,8 @@ class ConverterIntegral7 {
703
751
  }
704
752
  }
705
753
  else {
706
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.REGION} ist nicht vorhanden.`);
707
- console.log(`Erstelle Standard Georegion ${defaultValuesConfig.GeographicalRegion.name} .`);
754
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.REGION} ist nicht vorhanden.`);
755
+ this.logger.info(`Erstelle Standard Georegion ${defaultValuesConfig.GeographicalRegion.name} .`);
708
756
  __1.createGeoregion(__1.generateUUID(), defaultValuesConfig.GeographicalRegion.name, undefined, defaultValuesConfig.GeographicalRegion.description, this.cimModel);
709
757
  }
710
758
  });
@@ -726,8 +774,8 @@ class ConverterIntegral7 {
726
774
  }
727
775
  }
728
776
  else {
729
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.SUBREGION} ist nicht vorhanden.`);
730
- console.log(`Erstelle Standard SubGeographicalRegion ${defaultValuesConfig.SubGeographicalRegion.name}.`);
777
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SUBREGION} ist nicht vorhanden.`);
778
+ this.logger.info(`Erstelle Standard SubGeographicalRegion ${defaultValuesConfig.SubGeographicalRegion.name}.`);
731
779
  const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
732
780
  const subRegion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
733
781
  subRegion.shortName = defaultValuesConfig.SubGeographicalRegion.shortName;
@@ -745,12 +793,27 @@ class ConverterIntegral7 {
745
793
  integral_prefix_1.MITTIGER_PUNKT +
746
794
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
747
795
  const substation = new __1.Substation(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Schluessel);
796
+ this.substationNames.set(substation.mrid, substation.name);
748
797
  let subregion = this.cimModel.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
749
798
  if (!subregion) {
750
799
  const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
751
800
  subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
752
801
  }
753
802
  substation.subGeographicalRegionUUID = subregion.mrid;
803
+ const coor = getGeoCoordinates(i7Data);
804
+ if ((coor === null || coor === void 0 ? void 0 : coor.length) === 2) {
805
+ const coordinateSystem = this.cimModel.getCoordinateSystemByName(this.coordinateSystemName);
806
+ const location = new __1.Location(__1.generateUUID(), `Location of ${substation.name}`);
807
+ location.addPowerSystemResource(substation);
808
+ substation.location = location;
809
+ location.coordinateSystem = coordinateSystem;
810
+ const positionPoint = new __1.PositionPoint(__1.generateUUID());
811
+ positionPoint.xPosition = coor[0];
812
+ positionPoint.yPosition = coor[1];
813
+ positionPoint.location = location;
814
+ location.addPositionPoint(positionPoint);
815
+ this.cimModel.addLocation(location);
816
+ }
754
817
  this.substationVoltagelevels.set(i7Data.id, []);
755
818
  this.cimModel.addSubstation(substation);
756
819
  this.integralID2UUID.set(i7Data.id, substation.mrid);
@@ -760,7 +823,7 @@ class ConverterIntegral7 {
760
823
  }
761
824
  }
762
825
  else {
763
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
826
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
764
827
  }
765
828
  });
766
829
  }
@@ -772,7 +835,9 @@ class ConverterIntegral7 {
772
835
  const object = new KnotenSo_1.KnotenSoImpl(i7Data);
773
836
  this.integralKnotenSo.set(i7Data.id, object);
774
837
  object.standort = this.integralStandorte.get(object.standortid);
775
- const vl = new __1.VoltageLevel(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
838
+ const substation = this.cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
839
+ const substationName = this.substationNames.get(substation.mrid);
840
+ const vl = new __1.VoltageLevel(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.kurzname);
776
841
  const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(__1.generateUUID(), 'Abzweig', String(i7Data.id));
777
842
  connectivityNode.connectivityNodeContainer = vl;
778
843
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
@@ -780,7 +845,13 @@ class ConverterIntegral7 {
780
845
  const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
781
846
  const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
782
847
  vl.baseVoltage = baseVoltage;
783
- const substation = this.cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
848
+ this.eqSpannungsBander.set(vl.mrid, [
849
+ {
850
+ usoll: i7Data.usoll,
851
+ umin: i7Data.umin,
852
+ umax: i7Data.umax
853
+ }
854
+ ]);
784
855
  if (substation) {
785
856
  vl.substation = substation;
786
857
  substation.addVoltageLevel(vl);
@@ -793,7 +864,7 @@ class ConverterIntegral7 {
793
864
  connectivityNode.description = i7Schluessel;
794
865
  }
795
866
  else {
796
- console.log(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
867
+ this.logger.info(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
797
868
  }
798
869
  const psrType = utils_2.getPSRType(this.cimModel, 'Abzweigmast');
799
870
  vl.psrTypeUUID = psrType === null || psrType === void 0 ? void 0 : psrType.mrid;
@@ -806,7 +877,7 @@ class ConverterIntegral7 {
806
877
  }
807
878
  }
808
879
  else {
809
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
880
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
810
881
  }
811
882
  });
812
883
  }
@@ -819,7 +890,7 @@ class ConverterIntegral7 {
819
890
  try {
820
891
  stpSchieneIDs.push(i7DataSchiene.id);
821
892
  const connectivityNode = new __1.ConnectivityNode(__1.generateUUID(), utils_2.getName(i7DataSchiene), `StpSchiene_${i7DataSchiene.id}`);
822
- const junction = new __1.Junction(__1.generateUUID(), 'StpJunction', `${i7DataSchiene.bezeichner}`);
893
+ const junction = new __1.Junction(__1.generateUUID(), `StpSchiene/${i7DataSchiene.id}`, `${i7DataSchiene.bezeichner}`);
823
894
  const terminal = __1.createConnection(this.cimModel, junction, connectivityNode, __1.PhaseCode.N);
824
895
  this.stpImpModel.connectivityNodes.set(connectivityNode.mrid, connectivityNode);
825
896
  this.stpImpModel.junctions.set(junction.mrid, junction);
@@ -828,12 +899,12 @@ class ConverterIntegral7 {
828
899
  this.stpImpModel.stpSchieneTerminal.set(i7DataSchiene.id, terminal);
829
900
  }
830
901
  catch (e) {
831
- console.log(e);
902
+ this.logger.info(e);
832
903
  }
833
904
  }
834
905
  }
835
906
  else {
836
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE} ist nicht vorhanden.`);
907
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE} ist nicht vorhanden.`);
837
908
  }
838
909
  resolve(stpSchieneIDs);
839
910
  }));
@@ -870,15 +941,15 @@ class ConverterIntegral7 {
870
941
  }
871
942
  }
872
943
  else {
873
- console.log(`Kdrossel Keine Sternpunktschienen vorhanden.`);
944
+ this.logger.info(`Kdrossel Keine Sternpunktschienen vorhanden.`);
874
945
  }
875
946
  }
876
947
  else {
877
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ} ist nicht vorhanden.`);
948
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ} ist nicht vorhanden.`);
878
949
  }
879
950
  }
880
951
  catch (e) {
881
- console.log(e);
952
+ this.logger.info(e);
882
953
  }
883
954
  finally {
884
955
  resolve('');
@@ -902,15 +973,15 @@ class ConverterIntegral7 {
902
973
  }
903
974
  }
904
975
  else {
905
- console.log(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
976
+ this.logger.info(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
906
977
  }
907
978
  }
908
979
  else {
909
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
980
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
910
981
  }
911
982
  }
912
983
  catch (e) {
913
- console.log(e);
984
+ this.logger.info(e);
914
985
  }
915
986
  finally {
916
987
  resolve('');
@@ -922,14 +993,16 @@ class ConverterIntegral7 {
922
993
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGE)) {
923
994
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SCHALTANLAGE, 0, 0, standortIDs));
924
995
  for (const i7Data of result) {
925
- const vl = new __1.VoltageLevel(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
996
+ const substation = this.cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
997
+ const substationName = this.substationNames.get(substation.mrid);
998
+ const vl = new __1.VoltageLevel(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.kurzname);
926
999
  const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
927
1000
  const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
928
1001
  vl.baseVoltageUUID = baseVoltage.mrid;
929
1002
  this.cimModel.addVoltageLevel(vl);
930
1003
  this.integralID2UUID.set(i7Data.id, vl.mrid);
931
1004
  utils_2.putUUIDtoI7Ids(vl.mrid, i7Data.id, this.UUID2IntegralID);
932
- const substation = this.cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1005
+ this.eqSpannungsBander.set(vl.mrid, []);
933
1006
  if (substation) {
934
1007
  vl.substationUUID = substation.mrid;
935
1008
  const i7Schluessel = substation.description +
@@ -945,15 +1018,16 @@ class ConverterIntegral7 {
945
1018
  subVlData.push({
946
1019
  un: i7Data.un,
947
1020
  vlUUID: vl.mrid,
1021
+ baseVoltageUUID: vl.baseVoltageUUID
948
1022
  });
949
1023
  }
950
1024
  else {
951
- console.log(`VoltageLevel ${i7Data.id} ${vl.mrid} besitzt keine Umspannanlage.`);
1025
+ this.logger.info(`VoltageLevel ${i7Data.id} ${vl.mrid} besitzt keine Umspannanlage.`);
952
1026
  }
953
1027
  }
954
1028
  }
955
1029
  else {
956
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGE} ist nicht vorhanden.`);
1030
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGE} ist nicht vorhanden.`);
957
1031
  }
958
1032
  });
959
1033
  }
@@ -971,7 +1045,7 @@ class ConverterIntegral7 {
971
1045
  }
972
1046
  }
973
1047
  else {
974
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
1048
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
975
1049
  }
976
1050
  });
977
1051
  }
@@ -989,7 +1063,9 @@ class ConverterIntegral7 {
989
1063
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
990
1064
  if (voltageLevel) {
991
1065
  busbarSection.equipmentContainerUUID = voltageLevel.mrid;
1066
+ voltageLevel.addEquipment(busbarSection);
992
1067
  connectivityNode.connectivityNodeContainerUUID = voltageLevel.mrid;
1068
+ voltageLevel.addConnectivityNode(connectivityNode);
993
1069
  voltageLevel.highVoltageLimit = i7Data.umax;
994
1070
  voltageLevel.lowVoltageLimit = i7Data.umin;
995
1071
  const i7Schluessel = voltageLevel.description +
@@ -997,9 +1073,20 @@ class ConverterIntegral7 {
997
1073
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
998
1074
  busbarSection.description = i7Schluessel;
999
1075
  connectivityNode.description = i7Schluessel;
1076
+ const usollValues = this.eqSpannungsBander.get(voltageLevel.mrid);
1077
+ if (usollValues) {
1078
+ usollValues.push({
1079
+ usoll: i7Data.usoll,
1080
+ umin: i7Data.umin,
1081
+ umax: i7Data.umax
1082
+ });
1083
+ }
1084
+ else {
1085
+ this.logger.info('Sammelschiene ' + i7Data.id + ' besitzt kein Objekt für Sollspannungen.');
1086
+ }
1000
1087
  }
1001
1088
  else {
1002
- console.log('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
1089
+ this.logger.info('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
1003
1090
  }
1004
1091
  this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1005
1092
  utils_2.putUUIDtoI7Ids(busbarSection.mrid, i7Data.id, this.UUID2IntegralID);
@@ -1011,7 +1098,7 @@ class ConverterIntegral7 {
1011
1098
  }
1012
1099
  }
1013
1100
  else {
1014
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.SAMMELSCHIENE} ist nicht vorhanden.`);
1101
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SAMMELSCHIENE} ist nicht vorhanden.`);
1015
1102
  }
1016
1103
  });
1017
1104
  }
@@ -1030,7 +1117,7 @@ class ConverterIntegral7 {
1030
1117
  sfImpl.saabschnitt.schaltfelder.push(sfImpl);
1031
1118
  }
1032
1119
  else {
1033
- console.log(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1120
+ this.logger.info(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1034
1121
  }
1035
1122
  const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1036
1123
  if (voltageLevel) {
@@ -1041,14 +1128,14 @@ class ConverterIntegral7 {
1041
1128
  bay.description = i7Schluessel;
1042
1129
  }
1043
1130
  else {
1044
- console.log(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1131
+ this.logger.info(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
1045
1132
  }
1046
1133
  this.cimModel.addBay(bay);
1047
1134
  this.integralID2UUID.set(i7Data.id, bay.mrid);
1048
1135
  }
1049
1136
  }
1050
1137
  else {
1051
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTFELD} ist nicht vorhanden.`);
1138
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTFELD} ist nicht vorhanden.`);
1052
1139
  }
1053
1140
  });
1054
1141
  }
@@ -1069,7 +1156,7 @@ class ConverterIntegral7 {
1069
1156
  bay.description = i7Schluessel;
1070
1157
  }
1071
1158
  else {
1072
- console.log(`Querkupplung ${i7Data.id} besitzt keine Anlage.`);
1159
+ this.logger.info(`Querkupplung ${i7Data.id} besitzt keine Anlage.`);
1073
1160
  }
1074
1161
  this.querkupplungIDs.push(i7Data.id);
1075
1162
  this.cimModel.addBay(bay);
@@ -1077,7 +1164,7 @@ class ConverterIntegral7 {
1077
1164
  }
1078
1165
  }
1079
1166
  else {
1080
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.QUERKUPPLUNG} ist nicht vorhanden.`);
1167
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.QUERKUPPLUNG} ist nicht vorhanden.`);
1081
1168
  }
1082
1169
  });
1083
1170
  }
@@ -1098,7 +1185,7 @@ class ConverterIntegral7 {
1098
1185
  bay.description = i7Schluessel;
1099
1186
  }
1100
1187
  else {
1101
- console.log(`Laengskupplung ${i7Data.id} besitzt keine Anlage.`);
1188
+ this.logger.info(`Laengskupplung ${i7Data.id} besitzt keine Anlage.`);
1102
1189
  }
1103
1190
  this.laengskupplungIDs.push(i7Data.id);
1104
1191
  this.integralID2UUID.set(i7Data.id, bay.mrid);
@@ -1106,47 +1193,77 @@ class ConverterIntegral7 {
1106
1193
  }
1107
1194
  }
1108
1195
  else {
1109
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG} ist nicht vorhanden.`);
1196
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG} ist nicht vorhanden.`);
1110
1197
  }
1111
1198
  });
1112
1199
  }
1113
- convertBelastungen(knotenSfIDs, defaultValuesConfig) {
1114
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1200
+ convertBelastungen(knotenSfIDs, defaultValuesConfig, conformLoadMapping) {
1201
+ return new Promise((resolve) => {
1202
+ const querZweigID2LflID = new Map();
1115
1203
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
1116
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.BELASTUNG, 0, 0, knotenSfIDs));
1117
- for (const i7Data of result) {
1118
- const conformLoad = new ConformLoad_1.ConformLoad(__1.getUUID(i7Data.guid), utils_2.getName(i7Data));
1119
- const conformLoadGroup = this.cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, __1.CIM_CLASS_NAMES.ConformLoadGroup);
1120
- conformLoad.loadGroupUUID = conformLoadGroup.mrid;
1121
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1122
- __1.createSvStatus(this.cimModel, inBetrieb, conformLoad);
1123
- const powerData = utils_2.getActiveReactivePower(i7Data);
1124
- conformLoad.p = powerData[0];
1125
- conformLoad.q = powerData[1];
1126
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1127
- if (connectivityNode) {
1128
- __1.createConnection(this.cimModel, conformLoad, connectivityNode, __1.PhaseCode.ABC);
1129
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1130
- if (equipmentContainer) {
1131
- conformLoad.equipmentContainerUUID = equipmentContainer.mrid;
1132
- const i7Schluesel = utils_2.getDescription(equipmentContainer.getSubstation()) +
1133
- integral_prefix_1.BELASTUNG_PRAEFIX + i7Data.bezeichner;
1134
- conformLoad.description = i7Schluesel;
1204
+ this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.BELASTUNG, 0, 0, knotenSfIDs)).then((result) => {
1205
+ 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);
1209
+ conformLoad.loadGroupUUID = conformLoadGroup.mrid;
1210
+ }
1211
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1212
+ __1.createSvStatus(this.cimModel, inBetrieb, conformLoad);
1213
+ const powerData = utils_2.getActiveReactivePower(i7Data);
1214
+ conformLoad.p = powerData[0];
1215
+ conformLoad.q = powerData[1];
1216
+ const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1217
+ 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()));
1220
+ if (equipmentContainer) {
1221
+ conformLoad.equipmentContainerUUID = equipmentContainer.mrid;
1222
+ const i7Schluesel = utils_2.getDescription(equipmentContainer.getSubstation()) +
1223
+ integral_prefix_1.BELASTUNG_PRAEFIX + i7Data.bezeichner;
1224
+ conformLoad.description = i7Schluesel;
1225
+ }
1226
+ else {
1227
+ this.logger.info(`EnergyConsumer ${i7Data.id} besitzt keinen EquipmentContainer.`);
1228
+ }
1135
1229
  }
1136
1230
  else {
1137
- console.log(`EnergyConsumer ${i7Data.id} besitzt keinen EquipmentContainer.`);
1231
+ this.logger.info(`EnergyConsumer ${i7Data.id} besitzt keinen ConnectivityNode.`);
1138
1232
  }
1233
+ if (conformLoadMapping) {
1234
+ this.cimModel.addConformLoad(conformLoad);
1235
+ }
1236
+ else {
1237
+ this.cimModel.addEnergyConsumer(conformLoad);
1238
+ }
1239
+ this.integralID2UUID.set(i7Data.id, conformLoad.mrid);
1240
+ querZweigID2LflID.set(i7Data.flussinfo3p, i7Data.id);
1139
1241
  }
1140
- else {
1141
- console.log(`EnergyConsumer ${i7Data.id} besitzt keinen ConnectivityNode.`);
1142
- }
1143
- this.cimModel.addConformLoad(conformLoad);
1144
- this.integralID2UUID.set(i7Data.id, conformLoad.mrid);
1145
- }
1242
+ resolve(querZweigID2LflID);
1243
+ });
1146
1244
  }
1147
- else {
1148
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.BELASTUNG} ist nicht vorhanden.`);
1245
+ });
1246
+ }
1247
+ convertQuerzweigErgebnisData(pfResultID2querZweigID, ergebnisID, teilNr) {
1248
+ return new Promise((resolve) => {
1249
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERG_LFL_ANSCHLUSS)) {
1250
+ const whereIDs = [...pfResultID2querZweigID.keys()];
1251
+ if (whereIDs.length) {
1252
+ this.queryFunctionWrapper(integral_sql_1.queryResultData(ergebnisID, teilNr, whereIDs))
1253
+ .then((result) => {
1254
+ for (const i7Data of result) {
1255
+ const conductingEquipmentUUID = this.integralID2UUID.get(pfResultID2querZweigID.get(i7Data.id));
1256
+ const conductingEquipment = this.cimModel.getObject(conductingEquipmentUUID);
1257
+ if (conductingEquipment.terminalsUUIDs.length) {
1258
+ util_create_1.createSvPowerFlow(this.cimModel, i7Data.p, i7Data.q, conductingEquipment.terminalsUUIDs[0]);
1259
+ }
1260
+ }
1261
+ pfResultID2querZweigID.clear();
1262
+ resolve();
1263
+ });
1264
+ }
1149
1265
  }
1266
+ resolve();
1150
1267
  });
1151
1268
  }
1152
1269
  convertEinspeisungen(knotenSfIDs) {
@@ -1175,18 +1292,18 @@ class ConverterIntegral7 {
1175
1292
  energySource.description = i7Schluesel;
1176
1293
  }
1177
1294
  else {
1178
- console.log(`EnergySource ${i7Data.id} besitzt keinen EquipmentContainer.`);
1295
+ this.logger.info(`EnergySource ${i7Data.id} besitzt keinen EquipmentContainer.`);
1179
1296
  }
1180
1297
  }
1181
1298
  else {
1182
- console.log(`EnergySource ${i7Data.id} besitzt keinen ConnectivityNode.`);
1299
+ this.logger.info(`EnergySource ${i7Data.id} besitzt keinen ConnectivityNode.`);
1183
1300
  }
1184
1301
  this.cimModel.addEnergySource(energySource);
1185
1302
  this.integralID2UUID.set(i7Data.id, energySource.mrid);
1186
1303
  }
1187
1304
  }
1188
1305
  else {
1189
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1306
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1190
1307
  }
1191
1308
  });
1192
1309
  }
@@ -1231,12 +1348,15 @@ class ConverterIntegral7 {
1231
1348
  synchronousMachine.initialReactiveCapabilityCurveUUID = reactiveCapabilityCurve.mrid;
1232
1349
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1233
1350
  __1.createSvStatus(this.cimModel, inBetrieb, synchronousMachine);
1234
- const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RC_${synchronousMachine.name}`);
1351
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Gen ${i7Data.id}`);
1235
1352
  switch (i7Data.spannungsgeregelt) {
1236
1353
  case 1: {
1237
1354
  regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1238
1355
  break;
1239
1356
  }
1357
+ default: {
1358
+ regulatingControl.mode = __1.RegulatingControlModeKind.timeScheduled;
1359
+ }
1240
1360
  }
1241
1361
  synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
1242
1362
  const generatingUnitConfig = energyTypesConfig[i7Data.nameprimaertyp];
@@ -1303,15 +1423,15 @@ class ConverterIntegral7 {
1303
1423
  generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
1304
1424
  }
1305
1425
  else {
1306
- console.log(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1426
+ this.logger.info(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1307
1427
  }
1308
1428
  }
1309
1429
  else {
1310
- console.log(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1430
+ this.logger.info(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1311
1431
  }
1312
1432
  }
1313
1433
  else {
1314
- console.log(`SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
1434
+ this.logger.info(`Generator ${i7Data.id} besitzt keinen ConnectivityNode/Terminal Instanz.`);
1315
1435
  }
1316
1436
  this.cimModel.addRegulatingControl(regulatingControl);
1317
1437
  this.cimModel.addGeneratingUnit(generatingUnit);
@@ -1321,7 +1441,7 @@ class ConverterIntegral7 {
1321
1441
  }
1322
1442
  });
1323
1443
  }
1324
- convertKraftwerksbloeke(knotenSfIDs, energyTypesConfig) {
1444
+ convertKraftwerksbloecke(knotenSfIDs, energyTypesConfig) {
1325
1445
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1326
1446
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KWBLOCK)) {
1327
1447
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KWBLOCK, 0, 0, knotenSfIDs));
@@ -1341,12 +1461,15 @@ class ConverterIntegral7 {
1341
1461
  synchronousMachine.aggregate = true;
1342
1462
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1343
1463
  __1.createSvStatus(this.cimModel, inBetrieb, synchronousMachine);
1344
- const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RC_${synchronousMachine.name}`);
1464
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_KWBlock ${i7Data.id}`);
1345
1465
  switch (i7Data.spannungsgeregelt) {
1346
1466
  case 1: {
1347
1467
  regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1348
1468
  break;
1349
1469
  }
1470
+ default: {
1471
+ regulatingControl.mode = __1.RegulatingControlModeKind.timeScheduled;
1472
+ }
1350
1473
  }
1351
1474
  synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
1352
1475
  const generatingUnitConfig = energyTypesConfig[i7Data.nameprimaertyp];
@@ -1413,15 +1536,15 @@ class ConverterIntegral7 {
1413
1536
  generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
1414
1537
  }
1415
1538
  else {
1416
- console.log(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1539
+ this.logger.info(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1417
1540
  }
1418
1541
  }
1419
1542
  else {
1420
- console.log(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1543
+ this.logger.info(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1421
1544
  }
1422
1545
  }
1423
1546
  else {
1424
- console.log(`SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
1547
+ this.logger.info(`Kraftwerksblock/SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode/Terminal`);
1425
1548
  }
1426
1549
  this.cimModel.addRegulatingControl(regulatingControl);
1427
1550
  this.cimModel.addGeneratingUnit(generatingUnit);
@@ -1456,18 +1579,18 @@ class ConverterIntegral7 {
1456
1579
  externalNetworkInjection.description = i7Schluesel;
1457
1580
  }
1458
1581
  else {
1459
- console.log(`ExternalNetworkInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1582
+ this.logger.info(`ExternalNetworkInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1460
1583
  }
1461
1584
  }
1462
1585
  else {
1463
- console.log(`ExternalNetworkInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1586
+ this.logger.info(`ExternalNetworkInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1464
1587
  }
1465
1588
  this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
1466
1589
  this.integralID2UUID.set(i7Data.id, externalNetworkInjection.mrid);
1467
1590
  }
1468
1591
  }
1469
1592
  else {
1470
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1593
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1471
1594
  }
1472
1595
  });
1473
1596
  }
@@ -1488,13 +1611,13 @@ class ConverterIntegral7 {
1488
1611
  statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1489
1612
  }
1490
1613
  else {
1491
- console.log(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
1614
+ this.logger.info(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
1492
1615
  }
1493
1616
  }
1494
1617
  else {
1495
- console.log(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
1618
+ this.logger.info(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
1496
1619
  }
1497
- const regulatingControl = utils_2.createRegulatingControl(`RC_${statVarCom.name}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1620
+ const regulatingControl = utils_2.createRegulatingControl(`RG_Statcom ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1498
1621
  const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1499
1622
  regulatingControl.targetValue = uref;
1500
1623
  statVarCom.voltageSetPoint = uref;
@@ -1507,14 +1630,15 @@ class ConverterIntegral7 {
1507
1630
  regulatingControl.terminalUUID = terminal.mrid;
1508
1631
  }
1509
1632
  else {
1510
- console.log(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1633
+ this.logger.info(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1634
+ this.logger.info(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1511
1635
  }
1512
1636
  this.cimModel.addStaticVarCompensator(statVarCom);
1513
1637
  this.integralID2UUID.set(i7Data.id, statVarCom.mrid);
1514
1638
  }
1515
1639
  }
1516
1640
  else {
1517
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1641
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1518
1642
  }
1519
1643
  });
1520
1644
  }
@@ -1535,13 +1659,13 @@ class ConverterIntegral7 {
1535
1659
  statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1536
1660
  }
1537
1661
  else {
1538
- console.log(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
1662
+ this.logger.info(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
1539
1663
  }
1540
1664
  }
1541
1665
  else {
1542
- console.log(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
1666
+ this.logger.info(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
1543
1667
  }
1544
- const regulatingControl = utils_2.createRegulatingControl(`SVC_${statVarCom.name}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1668
+ const regulatingControl = utils_2.createRegulatingControl(`RG_SVC ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1545
1669
  const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1546
1670
  regulatingControl.targetValue = uref;
1547
1671
  statVarCom.voltageSetPoint = uref;
@@ -1554,14 +1678,14 @@ class ConverterIntegral7 {
1554
1678
  regulatingControl.terminalUUID = terminal.mrid;
1555
1679
  }
1556
1680
  else {
1557
- console.log(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1681
+ this.logger.info(`SVC RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1558
1682
  }
1559
1683
  this.cimModel.addStaticVarCompensator(statVarCom);
1560
1684
  this.integralID2UUID.set(i7Data.id, statVarCom.mrid);
1561
1685
  }
1562
1686
  }
1563
1687
  else {
1564
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1688
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1565
1689
  }
1566
1690
  });
1567
1691
  }
@@ -1608,16 +1732,27 @@ class ConverterIntegral7 {
1608
1732
  }
1609
1733
  }
1610
1734
  else {
1611
- console.log(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
1735
+ this.logger.info(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
1612
1736
  }
1613
1737
  this.knotenSfIDs.push(i7Data.id);
1614
1738
  this.cimModel.addConnectivityNode(connectivityNode);
1615
1739
  this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1616
- this.knotenSpannung.set(connectivityNode.mrid, connectivityNode.getBaseVoltage());
1740
+ const connectivityNodeContainer = this.cimModel.getObject(connectivityNode.connectivityNodeContainerUUID);
1741
+ if (connectivityNodeContainer) {
1742
+ let baseVoltage;
1743
+ if (connectivityNodeContainer instanceof __1.VoltageLevel) {
1744
+ baseVoltage = this.cimModel.getObject(connectivityNodeContainer.baseVoltageUUID);
1745
+ }
1746
+ 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);
1749
+ }
1750
+ this.knotenSpannung.set(connectivityNode.mrid, baseVoltage);
1751
+ }
1617
1752
  }
1618
1753
  }
1619
1754
  else {
1620
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SF} ist nicht vorhanden.`);
1755
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SF} ist nicht vorhanden.`);
1621
1756
  }
1622
1757
  });
1623
1758
  }
@@ -1632,14 +1767,14 @@ class ConverterIntegral7 {
1632
1767
  connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1633
1768
  }
1634
1769
  else {
1635
- console.log(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
1770
+ this.logger.info(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
1636
1771
  }
1637
1772
  this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1638
1773
  this.cimModel.addConnectivityNode(connectivityNode);
1639
1774
  }
1640
1775
  }
1641
1776
  else {
1642
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
1777
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
1643
1778
  }
1644
1779
  });
1645
1780
  }
@@ -1654,14 +1789,14 @@ class ConverterIntegral7 {
1654
1789
  connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1655
1790
  }
1656
1791
  else {
1657
- console.log(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
1792
+ this.logger.info(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
1658
1793
  }
1659
1794
  this.integralID2UUID.set(i7Data.id, connectivityNode.mrid);
1660
1795
  this.cimModel.addConnectivityNode(connectivityNode);
1661
1796
  }
1662
1797
  }
1663
1798
  else {
1664
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_LK} ist nicht vorhanden.`);
1799
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_LK} ist nicht vorhanden.`);
1665
1800
  }
1666
1801
  });
1667
1802
  }
@@ -1675,8 +1810,8 @@ class ConverterIntegral7 {
1675
1810
  terminal.phases = __1.PhaseCode.ABC;
1676
1811
  this.integralID2UUID.set(i7Data.id, terminal.mrid);
1677
1812
  this.integralID2UUID.set(i7Data.knotenzw, terminal.mrid);
1678
- this.memoryObjects.set(i7Data.id, terminal);
1679
- this.memoryObjects.set(i7Data.knotenzw, terminal);
1813
+ this.inmemoryObjects.set(i7Data.id, terminal);
1814
+ this.inmemoryObjects.set(i7Data.knotenzw, terminal);
1680
1815
  const eknotenUUID = this.integralID2UUID.get(i7Data.eknoten);
1681
1816
  if (eknotenUUID) {
1682
1817
  terminal.connectivityNodeUUID = eknotenUUID;
@@ -1684,12 +1819,12 @@ class ConverterIntegral7 {
1684
1819
  this.knotenSpannung.set(connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.mrid, connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getBaseVoltage());
1685
1820
  }
1686
1821
  else {
1687
- console.log(`Schlaufe ${i7Data.id} besitzt kein KnotenSO).`);
1822
+ this.logger.info(`Schlaufe ${i7Data.id} besitzt kein KnotenSO).`);
1688
1823
  }
1689
1824
  }
1690
1825
  }
1691
1826
  else {
1692
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.SCHLAUFE} ist nicht vorhanden.`);
1827
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.SCHLAUFE} ist nicht vorhanden.`);
1693
1828
  }
1694
1829
  });
1695
1830
  }
@@ -1705,12 +1840,12 @@ class ConverterIntegral7 {
1705
1840
  standortNsgImpl.standort.standortNsg = standortNsgImpl;
1706
1841
  }
1707
1842
  else {
1708
- console.log(`standortNsg/DiagramObject ${standortNsgImpl.id} hat keine Standort-Instanz.`);
1843
+ this.logger.info(`standortNsg/DiagramObject ${standortNsgImpl.id} hat keine Standort-Instanz.`);
1709
1844
  }
1710
1845
  }
1711
1846
  }
1712
1847
  else {
1713
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
1848
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
1714
1849
  }
1715
1850
  });
1716
1851
  }
@@ -1725,7 +1860,7 @@ class ConverterIntegral7 {
1725
1860
  knotenSoNsgImpl.knotenso = this.integralKnotenSo.get(knotenSoNsgImpl.knotensoid);
1726
1861
  knotenSoNsgImpl.knotenso.knotenSoNsg = knotenSoNsgImpl;
1727
1862
  }
1728
- const diagramObject = new __1.DiagramObject(__1.getUUID(i7Data.guid), 'Abzweig', String(i7Data.variantennr));
1863
+ const diagramObject = new __1.DiagramObject(__1.getUUID(i7Data.guid), 'Abzweig');
1729
1864
  this.cimModel.addDiagramObject(diagramObject);
1730
1865
  const nsgStandortData = this.integralNsgStandort.get(i7Data.nsgso);
1731
1866
  if (nsgStandortData) {
@@ -1739,7 +1874,7 @@ class ConverterIntegral7 {
1739
1874
  diagramObject.identifiedObjectUUID = cn.mrid;
1740
1875
  }
1741
1876
  else {
1742
- console.log(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
1877
+ this.logger.info(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
1743
1878
  }
1744
1879
  const diagramUUID = this.integralID2UUID.get(i7Data.variantennr);
1745
1880
  const diagram = this.cimModel.getDiagram(diagramUUID);
@@ -1754,7 +1889,7 @@ class ConverterIntegral7 {
1754
1889
  }
1755
1890
  }
1756
1891
  else {
1757
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1892
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1758
1893
  }
1759
1894
  });
1760
1895
  }
@@ -1770,19 +1905,19 @@ class ConverterIntegral7 {
1770
1905
  saNsgImpl.schaltanlage.schaltanlageNsg = saNsgImpl;
1771
1906
  }
1772
1907
  else {
1773
- console.log(`SchaltanlageNSG ${i7Data.id} hat keine PSR Instanz.`);
1908
+ this.logger.info(`SchaltanlageNSG ${i7Data.id} hat keine PSR Instanz.`);
1774
1909
  }
1775
1910
  if (this.integralNsgStandort.has(saNsgImpl.nsgsoid)) {
1776
1911
  saNsgImpl.nsgso = this.integralNsgStandort.get(saNsgImpl.nsgsoid);
1777
1912
  saNsgImpl.nsgso.schaltanlagenNsg.push(saNsgImpl);
1778
1913
  }
1779
1914
  else {
1780
- console.log(`SchaltanlageNSG ${i7Data.id} hat keine standortNsg Instanz.`);
1915
+ this.logger.info(`SchaltanlageNSG ${i7Data.id} hat keine standortNsg Instanz.`);
1781
1916
  }
1782
1917
  }
1783
1918
  }
1784
1919
  else {
1785
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1920
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1786
1921
  }
1787
1922
  });
1788
1923
  }
@@ -1798,7 +1933,7 @@ class ConverterIntegral7 {
1798
1933
  saabNsgImpl.saabschnitt.schaltanlagenabschnittNsg = saabNsgImpl;
1799
1934
  }
1800
1935
  else {
1801
- console.log(`NSG Schaltanlagenabschnitt hat keinen PSR-Abschnitt`);
1936
+ this.logger.info(`NSG Schaltanlagenabschnitt hat keinen PSR-Abschnitt`);
1802
1937
  }
1803
1938
  if (saabNsgImpl.saabschnitt && saabNsgImpl.saabschnitt.schaltanlage) {
1804
1939
  if (saabNsgImpl.saabschnitt.schaltanlage.schaltanlageNsg) {
@@ -1809,7 +1944,7 @@ class ConverterIntegral7 {
1809
1944
  }
1810
1945
  }
1811
1946
  else {
1812
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1947
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1813
1948
  }
1814
1949
  });
1815
1950
  }
@@ -1830,7 +1965,7 @@ class ConverterIntegral7 {
1830
1965
  const laenge = saab.schaltanlagenabschnittNsg.laenge;
1831
1966
  const delta = sa.getDelta(saab);
1832
1967
  const hoehe = saab.ssab.length * 8;
1833
- const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'SSAB Diagram', String(sa.schaltanlageNsg.variantennr));
1968
+ const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'SSAB Diagram');
1834
1969
  const points = [];
1835
1970
  if (saAusrichtung === 0) {
1836
1971
  points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
@@ -1921,7 +2056,7 @@ class ConverterIntegral7 {
1921
2056
  points.push(new Point_1.Point(pointLinksOben.x, pointLinksOben.y));
1922
2057
  points.push(new Point_1.Point(pointLinksOben.x + 16, pointLinksOben.y));
1923
2058
  points.push(new Point_1.Point(pointLinksOben.x + 16, pointRechtsUnten.y));
1924
- const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'Schaltfeld', String(sa.schaltanlageNsg.variantennr));
2059
+ const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'Schaltfeld');
1925
2060
  const bayUUID = this.integralID2UUID.get(sf.id);
1926
2061
  const bay = this.cimModel.getBay(bayUUID);
1927
2062
  if (bay) {
@@ -1936,7 +2071,7 @@ class ConverterIntegral7 {
1936
2071
  }
1937
2072
  }
1938
2073
  else {
1939
- console.log(`DiagramObject Schaltfeld ${diagramObject.mrid} mit der VariantenNr ${sa.schaltanlageNsg.variantennr} hat kein CIM Schaltfeld ${sf.id} ${bayUUID}.`);
2074
+ this.logger.info(`DiagramObject Schaltfeld ${diagramObject.mrid} mit der VariantenNr ${sa.schaltanlageNsg.variantennr} hat kein CIM Schaltfeld ${sf.id} ${bayUUID}.`);
1940
2075
  }
1941
2076
  }
1942
2077
  }
@@ -1944,7 +2079,7 @@ class ConverterIntegral7 {
1944
2079
  }
1945
2080
  }
1946
2081
  else {
1947
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
2082
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
1948
2083
  }
1949
2084
  });
1950
2085
  }
@@ -1953,7 +2088,7 @@ class ConverterIntegral7 {
1953
2088
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
1954
2089
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KNOTEN_STARR, 0, 0, containerIDs));
1955
2090
  for (const i7Data of result) {
1956
- const junction = new __1.Junction(__1.getUUID(i7Data.guid), i7Data.bezeichner, 'JNCT', 'starre Verbindung');
2091
+ const junction = new __1.Junction(__1.getUUID(i7Data.guid), `${i7Data.bezeichner}/${i7Data.id}`, 'JNCT', 'starre Verbindung');
1957
2092
  const schaltzustand = utils_2.convertToBooleanI7(i7Data.schaltzustand);
1958
2093
  const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(this.integralID2UUID.get(i7Data.seliste)));
1959
2094
  const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
@@ -1962,7 +2097,7 @@ class ConverterIntegral7 {
1962
2097
  junction.equipmentContainerUUID = equipmentContainer.mrid;
1963
2098
  }
1964
2099
  else {
1965
- console.log(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
2100
+ this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
1966
2101
  }
1967
2102
  if (cnStart) {
1968
2103
  const terminal = __1.createConnection(this.cimModel, junction, cnStart, __1.PhaseCode.ABC, 1);
@@ -1971,7 +2106,7 @@ class ConverterIntegral7 {
1971
2106
  }
1972
2107
  }
1973
2108
  else {
1974
- console.log(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
2109
+ this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
1975
2110
  }
1976
2111
  if (cnZiel) {
1977
2112
  const terminal = __1.createConnection(this.cimModel, junction, cnZiel, __1.PhaseCode.ABC, 2);
@@ -1980,7 +2115,7 @@ class ConverterIntegral7 {
1980
2115
  }
1981
2116
  }
1982
2117
  else {
1983
- console.log(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
2118
+ this.logger.info(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
1984
2119
  }
1985
2120
  const baseVoltage = utils_2.getTerminalUn(this.cimModel, junction);
1986
2121
  if (baseVoltage) {
@@ -1991,7 +2126,7 @@ class ConverterIntegral7 {
1991
2126
  }
1992
2127
  }
1993
2128
  else {
1994
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_STARR} ist nicht vorhanden.`);
2129
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_STARR} ist nicht vorhanden.`);
1995
2130
  }
1996
2131
  });
1997
2132
  }
@@ -2019,26 +2154,26 @@ class ConverterIntegral7 {
2019
2154
  else if (baseVoltageUr2) {
2020
2155
  equivalentBranch.baseVoltage = baseVoltageUr2;
2021
2156
  }
2022
- const start = this.memoryObjects.get(i7Data.aknoten);
2157
+ const start = this.inmemoryObjects.get(i7Data.aknoten);
2023
2158
  if (start) {
2024
2159
  __1.createConnection(this.cimModel, equivalentBranch, start, __1.PhaseCode.ABC, 1);
2025
2160
  }
2026
2161
  else {
2027
- console.log(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2162
+ this.logger.info(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2028
2163
  }
2029
- const target = this.memoryObjects.get(i7Data.eknoten);
2164
+ const target = this.inmemoryObjects.get(i7Data.eknoten);
2030
2165
  if (target) {
2031
2166
  __1.createConnection(this.cimModel, equivalentBranch, target, __1.PhaseCode.ABC, 2);
2032
2167
  }
2033
2168
  else {
2034
- console.log(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
2169
+ this.logger.info(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
2035
2170
  }
2036
2171
  this.cimModel.addEquivalentBranch(equivalentBranch);
2037
2172
  this.integralID2UUID.set(i7Data.id, equivalentBranch.mrid);
2038
2173
  }
2039
2174
  }
2040
2175
  else {
2041
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG} ist nicht vorhanden.`);
2176
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG} ist nicht vorhanden.`);
2042
2177
  }
2043
2178
  });
2044
2179
  }
@@ -2067,7 +2202,7 @@ class ConverterIntegral7 {
2067
2202
  }
2068
2203
  }
2069
2204
  else {
2070
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2205
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2071
2206
  }
2072
2207
  });
2073
2208
  }
@@ -2076,24 +2211,24 @@ class ConverterIntegral7 {
2076
2211
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_FREILEITUNG)) {
2077
2212
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_FREILEITUNG, 0, 0, []));
2078
2213
  for (const i7Data of result) {
2079
- const typ = new __1.OverheadWireInfo(__1.generateUUID(), i7Data.name);
2080
- this.setWireInfoProperties(typ, i7Data);
2081
- this.cimModel.addOverheadWireInfo(typ);
2214
+ const typ = new EVWireInfo_1.EVWireInfo(__1.generateUUID(), i7Data.name);
2215
+ this.setWireInfoProperties(typ, i7Data, 'Freileitung');
2216
+ this.cimModel.addEVWireInfo(typ);
2082
2217
  }
2083
2218
  }
2084
2219
  else {
2085
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2220
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2086
2221
  }
2087
2222
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KABEL)) {
2088
2223
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_KABEL, 0, 0, []));
2089
2224
  for (const i7Data of result) {
2090
- const typ = new __1.CableInfo(__1.generateUUID(), i7Data.name);
2091
- this.setWireInfoProperties(typ, i7Data);
2092
- this.cimModel.addCableInfo(typ);
2225
+ const typ = new EVWireInfo_1.EVWireInfo(__1.generateUUID(), i7Data.name);
2226
+ this.setWireInfoProperties(typ, i7Data, 'Kabel');
2227
+ this.cimModel.addEVWireInfo(typ);
2093
2228
  }
2094
2229
  }
2095
2230
  else {
2096
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
2231
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
2097
2232
  }
2098
2233
  });
2099
2234
  }
@@ -2112,7 +2247,13 @@ class ConverterIntegral7 {
2112
2247
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2113
2248
  integral_prefix_1.MITTIGER_PUNKT +
2114
2249
  utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
2115
- const acLineSegment = new __1.ACLineSegment(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.stkabname, i7Schluessel);
2250
+ const name = integral_prefix_1.LEITUNG_PRAEFIX +
2251
+ utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
2252
+ integral_prefix_1.MITTIGER_PUNKT +
2253
+ utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2254
+ integral_prefix_1.MITTIGER_PUNKT +
2255
+ utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
2256
+ const acLineSegment = new __1.ACLineSegment(__1.getUUID(i7Data.guid), name, i7Data.stkabname, i7Schluessel);
2116
2257
  this.cimModel.addACLineSegment(acLineSegment);
2117
2258
  this.integralID2UUID.set(i7Data.id, acLineSegment.mrid);
2118
2259
  const line = utils_2.getLine(this.cimModel, i7Data.bezeichner, i7Data.kurzname);
@@ -2120,30 +2261,34 @@ class ConverterIntegral7 {
2120
2261
  acLineSegment.equipmentContainerUUID = line.mrid;
2121
2262
  }
2122
2263
  else {
2123
- console.log(`Leitung ${i7Data.id} besitzt keinen Stromkreis.`);
2264
+ this.logger.info(`Leitung ${i7Data.id} besitzt keinen Stromkreis.`);
2124
2265
  }
2125
- const start = this.memoryObjects.get(i7Data.aknoten);
2266
+ const start = this.inmemoryObjects.get(i7Data.aknoten);
2126
2267
  if (start) {
2127
2268
  const terminal = __1.createConnection(this.cimModel, acLineSegment, start, __1.PhaseCode.ABC, 1);
2128
- const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2129
- acLineSegment.baseVoltage = baseVoltage;
2269
+ if (!acLineSegment.baseVoltage) {
2270
+ const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2271
+ acLineSegment.baseVoltage = baseVoltage;
2272
+ }
2130
2273
  }
2131
2274
  else {
2132
- console.log(`Leitung ${i7Data.id} ${acLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2275
+ this.logger.info(`Leitung ${i7Data.id} ${acLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2133
2276
  }
2134
- const target = this.memoryObjects.get(i7Data.eknoten);
2277
+ const target = this.inmemoryObjects.get(i7Data.eknoten);
2135
2278
  if (target) {
2136
2279
  const terminal = __1.createConnection(this.cimModel, acLineSegment, target, __1.PhaseCode.ABC, 2);
2137
- const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2138
- acLineSegment.baseVoltage = baseVoltage;
2280
+ if (!acLineSegment.baseVoltage) {
2281
+ const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2282
+ acLineSegment.baseVoltage = baseVoltage;
2283
+ }
2139
2284
  }
2140
2285
  else {
2141
- console.log(`Leitung ${i7Data.id} ${acLineSegment.mrid} besitzt keinen Zielknoten.`);
2286
+ this.logger.info(`Leitung ${i7Data.id} ${acLineSegment.mrid} besitzt keinen Zielknoten.`);
2142
2287
  }
2143
2288
  }
2144
2289
  }
2145
2290
  else {
2146
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2291
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2147
2292
  }
2148
2293
  });
2149
2294
  }
@@ -2157,12 +2302,12 @@ class ConverterIntegral7 {
2157
2302
  this.setACLineSegmentProperties(acLineSegment, i7Data, 'Freileitung', defaultValuesConfig);
2158
2303
  }
2159
2304
  else {
2160
- console.log(`Freileitung ${i7Data.id} besitzt kein Leitungsobjekt.`);
2305
+ this.logger.info(`Freileitung ${i7Data.id} besitzt kein Leitungsobjekt.`);
2161
2306
  }
2162
2307
  }
2163
2308
  }
2164
2309
  else {
2165
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2310
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2166
2311
  }
2167
2312
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL)) {
2168
2313
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KABEL, 0, 0, leitungsIDs));
@@ -2172,12 +2317,12 @@ class ConverterIntegral7 {
2172
2317
  this.setACLineSegmentProperties(acLineSegment, i7Data, 'Kabel', defaultValuesConfig);
2173
2318
  }
2174
2319
  else {
2175
- console.log(`Kabel ${i7Data.id} besitzt kein Leitungsobjekt.`);
2320
+ this.logger.info(`Kabel ${i7Data.id} besitzt kein Leitungsobjekt.`);
2176
2321
  }
2177
2322
  }
2178
2323
  }
2179
2324
  else {
2180
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2325
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2181
2326
  }
2182
2327
  });
2183
2328
  }
@@ -2186,31 +2331,33 @@ class ConverterIntegral7 {
2186
2331
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO2W)) {
2187
2332
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_TRAFO2W, 0, 0, []));
2188
2333
  for (const i7Data of result) {
2189
- const typTrafo = new __1.PowerTransformer2WInfo(__1.generateUUID(), i7Data.name);
2190
- typTrafo.ukr = i7Data.ukr;
2191
- typTrafo.pkr = i7Data.pkr;
2334
+ const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(__1.generateUUID(), i7Data.name);
2335
+ typTrafo.ukr12 = i7Data.ukr;
2336
+ typTrafo.pkr12 = i7Data.pkr;
2192
2337
  typTrafo.pLeer = i7Data.p_leer;
2193
2338
  typTrafo.iLeer = i7Data.i_leer;
2194
- const typWicklung1 = new __1.TransformerEndInfo(__1.generateUUID());
2339
+ const typWicklung1 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2195
2340
  typWicklung1.ratedS = new __1.ApparentPower(i7Data.sr, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2196
2341
  this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
2197
2342
  typWicklung1.powerTransformerInfo = typTrafo;
2198
- typTrafo.transformerEndInfo.push(typWicklung1);
2199
- const typWicklung2 = new __1.TransformerEndInfo(__1.generateUUID());
2343
+ typTrafo.addTransformerEndInfo(typWicklung1);
2344
+ const typWicklung2 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2200
2345
  typWicklung2.ratedS = new __1.ApparentPower(i7Data.sr, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2201
2346
  this.setTransformerEndInfoProperties(typWicklung2, i7Data, 2);
2202
2347
  typWicklung2.powerTransformerInfo = typTrafo;
2203
- typTrafo.transformerEndInfo.push(typWicklung2);
2204
- this.cimModel.addPowerTransformer2WInfo(typTrafo);
2348
+ typTrafo.addTransformerEndInfo(typWicklung2);
2349
+ this.cimModel.addEvPowerTransformerInfo(typTrafo);
2350
+ this.cimModel.addEvPowerTransformerEndInfo(typWicklung1);
2351
+ this.cimModel.addEvPowerTransformerEndInfo(typWicklung2);
2205
2352
  }
2206
2353
  }
2207
2354
  else {
2208
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
2355
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
2209
2356
  }
2210
2357
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO3W)) {
2211
2358
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_TRAFO3W, 0, 0, []));
2212
2359
  for (const i7Data of result) {
2213
- const typTrafo = new __1.PowerTransformer3WInfo(__1.generateUUID(), i7Data.name);
2360
+ const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(__1.generateUUID(), i7Data.name);
2214
2361
  typTrafo.pLeer = i7Data.p_leer;
2215
2362
  typTrafo.iLeer = i7Data.i_leer;
2216
2363
  typTrafo.ukr12 = i7Data.ukr12;
@@ -2219,26 +2366,29 @@ class ConverterIntegral7 {
2219
2366
  typTrafo.pkr12 = i7Data.pkr12;
2220
2367
  typTrafo.pkr13 = i7Data.pkr13;
2221
2368
  typTrafo.pkr23 = i7Data.pkr23;
2222
- const typWicklung1 = new __1.TransformerEndInfo(__1.generateUUID());
2369
+ const typWicklung1 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2223
2370
  typWicklung1.ratedS = new __1.ApparentPower(i7Data.sr1, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2224
2371
  this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
2225
2372
  typWicklung1.powerTransformerInfo = typTrafo;
2226
- typTrafo.transformerEndInfo.push(typWicklung1);
2227
- const typWicklung2 = new __1.TransformerEndInfo(__1.generateUUID());
2373
+ typTrafo.addTransformerEndInfo(typWicklung1);
2374
+ const typWicklung2 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2228
2375
  typWicklung2.ratedS = new __1.ApparentPower(i7Data.sr2, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2229
2376
  this.setTransformerEndInfoProperties(typWicklung2, i7Data, 2);
2230
2377
  typWicklung2.powerTransformerInfo = typTrafo;
2231
- typTrafo.transformerEndInfo.push(typWicklung2);
2232
- const typWicklung3 = new __1.TransformerEndInfo(__1.generateUUID());
2378
+ typTrafo.addTransformerEndInfo(typWicklung2);
2379
+ const typWicklung3 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2233
2380
  typWicklung3.ratedS = new __1.ApparentPower(i7Data.sr3, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2234
2381
  this.setTransformerEndInfoProperties(typWicklung3, i7Data, 3);
2235
2382
  typWicklung3.powerTransformerInfo = typTrafo;
2236
- typTrafo.transformerEndInfo.push(typWicklung3);
2237
- this.cimModel.addPowerTransformer3WInfo(typTrafo);
2383
+ typTrafo.addTransformerEndInfo(typWicklung3);
2384
+ this.cimModel.addEvPowerTransformerInfo(typTrafo);
2385
+ this.cimModel.addEvPowerTransformerEndInfo(typWicklung1);
2386
+ this.cimModel.addEvPowerTransformerEndInfo(typWicklung2);
2387
+ this.cimModel.addEvPowerTransformerEndInfo(typWicklung3);
2238
2388
  }
2239
2389
  }
2240
2390
  else {
2241
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
2391
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
2242
2392
  }
2243
2393
  });
2244
2394
  }
@@ -2259,23 +2409,24 @@ class ConverterIntegral7 {
2259
2409
  }
2260
2410
  }
2261
2411
  for (const i7Data of result) {
2262
- const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2263
- const powerTransformerInfo = this.cimModel.getPowerTransformer2WInfoByName(i7Data.nametyp);
2264
- const start = this.memoryObjects.get(i7Data.aknoten);
2412
+ const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2413
+ 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);
2265
2416
  let startTerminal;
2266
2417
  if (start) {
2267
2418
  startTerminal = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 1);
2268
2419
  }
2269
2420
  else {
2270
- console.log(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2421
+ this.logger.info(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2271
2422
  }
2272
- const target = this.memoryObjects.get(i7Data.eknoten);
2423
+ const target = this.inmemoryObjects.get(i7Data.eknoten);
2273
2424
  let targetTerminal;
2274
2425
  if (target) {
2275
2426
  targetTerminal = __1.createConnection(this.cimModel, powerTransformer, target, __1.PhaseCode.ABC, 2);
2276
2427
  }
2277
2428
  else {
2278
- console.log(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
2429
+ this.logger.info(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
2279
2430
  }
2280
2431
  const schaltgruppe = i7Data.schaltgr;
2281
2432
  const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1${powerTransformer.name}`);
@@ -2287,10 +2438,12 @@ class ConverterIntegral7 {
2287
2438
  const sr = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
2288
2439
  const ur = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber);
2289
2440
  const ir1 = (sr * Math.pow(10, 6) / ur * 1000) / Math.sqrt(3);
2441
+ const p0 = utils_2.isNumericI7(i7Data.p_leer) ? utils_2.convertToNumberI7(i7Data.p_leer) : 0;
2442
+ const iLeer = utils_2.isNumericI7(i7Data.i_leer) ? utils_2.convertToNumberI7(i7Data.i_leer) : 0;
2290
2443
  powerTransformerEnd1.r = utils_2.calculateR(ur, pkr, sr);
2291
2444
  powerTransformerEnd1.x = utils_2.calculateX(ur, ukr, sr, powerTransformerEnd1.r);
2292
- powerTransformerEnd1.g = utils_2.calculateG(ur, 0);
2293
- powerTransformerEnd1.b = utils_2.calculateB(ur, sr, 0, 0);
2445
+ powerTransformerEnd1.g = utils_2.calculateG(ur, p0) * 1000000;
2446
+ powerTransformerEnd1.b = utils_2.calculateB(ur, sr, iLeer, p0) * 1000000;
2294
2447
  powerTransformerEnd1.ratedU = ur;
2295
2448
  powerTransformerEnd1.ratedS = sr;
2296
2449
  if (powerTransformerEnd1.ratedU) {
@@ -2301,7 +2454,7 @@ class ConverterIntegral7 {
2301
2454
  powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
2302
2455
  }
2303
2456
  else {
2304
- console.log(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2457
+ this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2305
2458
  }
2306
2459
  const terminal = startTerminal;
2307
2460
  if (terminal) {
@@ -2314,7 +2467,7 @@ class ConverterIntegral7 {
2314
2467
  }
2315
2468
  }
2316
2469
  else {
2317
- console.log(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2470
+ this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2318
2471
  }
2319
2472
  powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2320
2473
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
@@ -2339,7 +2492,7 @@ class ConverterIntegral7 {
2339
2492
  powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
2340
2493
  }
2341
2494
  else {
2342
- console.log(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2495
+ this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2343
2496
  }
2344
2497
  const terminal2 = targetTerminal;
2345
2498
  if (terminal2) {
@@ -2352,22 +2505,23 @@ class ConverterIntegral7 {
2352
2505
  }
2353
2506
  }
2354
2507
  else {
2355
- console.log(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2356
- console.log(`TargetTerminal created ` + (targetTerminal === undefined));
2508
+ this.logger.info(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2509
+ this.logger.info(`TargetTerminal created ` + (targetTerminal === undefined));
2357
2510
  }
2358
2511
  powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2359
2512
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
2360
2513
  this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
2514
+ powerTransformer.sortTransformerEnd('ratedU', 'desc');
2515
+ for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2516
+ powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
2517
+ }
2361
2518
  utils_2.createTapChanger(i7Data, powerTransformerEnd2, this.cimModel, powerTransformerEnd2.ratedU);
2362
2519
  const substationUUID = this.integralID2UUID.get(i7Data.standort);
2363
2520
  if (substationUUID) {
2364
2521
  powerTransformer.equipmentContainerUUID = substationUUID;
2365
- const i7Schluessel = +integral_prefix_1.TRAFO2WPRAEFIX_PRAEFIX +
2366
- i7Data.bezeichner;
2367
- powerTransformer.description = i7Schluessel;
2368
2522
  }
2369
2523
  else {
2370
- console.log(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2524
+ this.logger.info(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2371
2525
  }
2372
2526
  this.cimModel.addPowerTransformer(powerTransformer);
2373
2527
  this.integralID2UUID.set(i7Data.id, powerTransformer.mrid);
@@ -2375,7 +2529,7 @@ class ConverterIntegral7 {
2375
2529
  }
2376
2530
  }
2377
2531
  else {
2378
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
2532
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
2379
2533
  }
2380
2534
  });
2381
2535
  }
@@ -2394,7 +2548,7 @@ class ConverterIntegral7 {
2394
2548
  }
2395
2549
  }
2396
2550
  else {
2397
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2551
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2398
2552
  }
2399
2553
  const sternpunktKnotenMap = new Map();
2400
2554
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoWicklungIDs.length) {
@@ -2404,8 +2558,9 @@ class ConverterIntegral7 {
2404
2558
  }
2405
2559
  }
2406
2560
  for (const i7Data of result) {
2407
- const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2408
- const powerTransformerInfo = this.cimModel.getPowerTransformer3WInfoByName(i7Data.nametyp);
2561
+ const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2562
+ 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);
2409
2564
  const schaltgruppe = i7Data.schaltgr;
2410
2565
  const pkr12 = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '12');
2411
2566
  const pkr13 = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '13');
@@ -2430,16 +2585,16 @@ class ConverterIntegral7 {
2430
2585
  const wicklung1 = trafoWicklungen.get(i7Data.trafowicklung3w1);
2431
2586
  let terminal1, terminal2, terminal3;
2432
2587
  if (wicklung1) {
2433
- const start = this.memoryObjects.get(wicklung1.aknoten);
2588
+ const start = this.inmemoryObjects.get(wicklung1.aknoten);
2434
2589
  if (start) {
2435
2590
  terminal1 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 1);
2436
2591
  }
2437
2592
  else {
2438
- console.log(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2593
+ this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2439
2594
  }
2440
2595
  }
2441
2596
  else {
2442
- console.log(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
2597
+ this.logger.info(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
2443
2598
  }
2444
2599
  const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1 ${powerTransformer.name}`);
2445
2600
  powerTransformerEnd1.endNumber = 1;
@@ -2447,8 +2602,8 @@ class ConverterIntegral7 {
2447
2602
  powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
2448
2603
  powerTransformerEnd1.r = impedanzW1.r;
2449
2604
  powerTransformerEnd1.x = impedanzW1.x;
2450
- powerTransformerEnd1.g = impedanzW1.g;
2451
- powerTransformerEnd1.b = impedanzW1.b;
2605
+ powerTransformerEnd1.g = impedanzW1.g * 1000000;
2606
+ powerTransformerEnd1.b = impedanzW1.b * 1000000;
2452
2607
  powerTransformerEnd1.ratedU = ur1;
2453
2608
  powerTransformerEnd1.ratedS = sr1;
2454
2609
  if (powerTransformerEnd1.ratedU) {
@@ -2459,7 +2614,7 @@ class ConverterIntegral7 {
2459
2614
  powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
2460
2615
  }
2461
2616
  else {
2462
- console.log(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2617
+ this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2463
2618
  }
2464
2619
  powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2465
2620
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
@@ -2472,20 +2627,20 @@ class ConverterIntegral7 {
2472
2627
  }
2473
2628
  }
2474
2629
  else {
2475
- console.log(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2630
+ this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2476
2631
  }
2477
2632
  const wicklung2 = trafoWicklungen.get(i7Data.trafowicklung3w2);
2478
2633
  if (wicklung2) {
2479
- const start = this.memoryObjects.get(wicklung2.aknoten);
2634
+ const start = this.inmemoryObjects.get(wicklung2.aknoten);
2480
2635
  if (start) {
2481
2636
  terminal2 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 2);
2482
2637
  }
2483
2638
  else {
2484
- console.log(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2639
+ this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2485
2640
  }
2486
2641
  }
2487
2642
  else {
2488
- console.log(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2643
+ this.logger.info(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2489
2644
  }
2490
2645
  const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2 ${powerTransformer.name}`);
2491
2646
  powerTransformerEnd2.endNumber = 2;
@@ -2493,8 +2648,8 @@ class ConverterIntegral7 {
2493
2648
  powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
2494
2649
  powerTransformerEnd2.r = impedanzW2.r;
2495
2650
  powerTransformerEnd2.x = impedanzW2.x;
2496
- powerTransformerEnd2.g = impedanzW2.g;
2497
- powerTransformerEnd2.b = impedanzW2.b;
2651
+ powerTransformerEnd2.g = impedanzW2.g * 1000000;
2652
+ powerTransformerEnd2.b = impedanzW2.b * 1000000;
2498
2653
  powerTransformerEnd2.ratedS = sr2;
2499
2654
  powerTransformerEnd2.ratedU = ur2;
2500
2655
  if (powerTransformerEnd2.ratedU) {
@@ -2505,7 +2660,7 @@ class ConverterIntegral7 {
2505
2660
  powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
2506
2661
  }
2507
2662
  else {
2508
- console.log(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2663
+ this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2509
2664
  }
2510
2665
  powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2511
2666
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
@@ -2518,20 +2673,20 @@ class ConverterIntegral7 {
2518
2673
  }
2519
2674
  }
2520
2675
  else {
2521
- console.log(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2676
+ this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2522
2677
  }
2523
2678
  const wicklung3 = trafoWicklungen.get(i7Data.trafowicklung3w3);
2524
2679
  if (wicklung3) {
2525
- const start = this.memoryObjects.get(wicklung3.aknoten);
2680
+ const start = this.inmemoryObjects.get(wicklung3.aknoten);
2526
2681
  if (start) {
2527
2682
  terminal3 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 3);
2528
2683
  }
2529
2684
  else {
2530
- console.log(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2685
+ this.logger.info(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2531
2686
  }
2532
2687
  }
2533
2688
  else {
2534
- console.log(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2689
+ this.logger.info(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
2535
2690
  }
2536
2691
  const powerTransformerEnd3 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w3), `Wicklung 3 ${powerTransformer.name}`);
2537
2692
  powerTransformerEnd3.endNumber = 3;
@@ -2539,8 +2694,10 @@ class ConverterIntegral7 {
2539
2694
  powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd3.endNumber);
2540
2695
  powerTransformerEnd3.r = impedanzW3.r;
2541
2696
  powerTransformerEnd3.x = impedanzW3.x;
2542
- powerTransformerEnd2.g = impedanzW3.g;
2543
- powerTransformerEnd2.b = impedanzW3.b;
2697
+ powerTransformerEnd2.g = impedanzW3.g * 1000000;
2698
+ ;
2699
+ powerTransformerEnd2.b = impedanzW3.b * 1000000;
2700
+ ;
2544
2701
  powerTransformerEnd3.ratedS = sr3;
2545
2702
  powerTransformerEnd3.ratedU = ur3;
2546
2703
  if (powerTransformerEnd3.ratedU) {
@@ -2551,7 +2708,7 @@ class ConverterIntegral7 {
2551
2708
  powerTransformerEnd3.baseVoltageUUID = baseVoltage.mrid;
2552
2709
  }
2553
2710
  else {
2554
- console.log(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
2711
+ this.logger.info(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
2555
2712
  }
2556
2713
  powerTransformerEnd3.powerTransformerUUID = powerTransformer.mrid;
2557
2714
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd3);
@@ -2564,7 +2721,11 @@ class ConverterIntegral7 {
2564
2721
  }
2565
2722
  }
2566
2723
  else {
2567
- console.log(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
2724
+ this.logger.info(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
2725
+ }
2726
+ powerTransformer.sortTransformerEnd('ratedU', 'desc');
2727
+ for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2728
+ powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
2568
2729
  }
2569
2730
  const substationUUID = this.integralID2UUID.get(i7Data.standort);
2570
2731
  if (substationUUID) {
@@ -2574,7 +2735,7 @@ class ConverterIntegral7 {
2574
2735
  powerTransformer.description = i7Schluessel;
2575
2736
  }
2576
2737
  else {
2577
- console.log(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2738
+ this.logger.info(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2578
2739
  }
2579
2740
  this.cimModel.addPowerTransformer(powerTransformer);
2580
2741
  this.integralID2UUID.set(i7Data.id, powerTransformer.mrid);
@@ -2582,7 +2743,7 @@ class ConverterIntegral7 {
2582
2743
  }
2583
2744
  }
2584
2745
  else {
2585
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
2746
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
2586
2747
  }
2587
2748
  });
2588
2749
  }
@@ -2600,25 +2761,27 @@ class ConverterIntegral7 {
2600
2761
  terminal.phases = __1.PhaseCode.N;
2601
2762
  this.cimModel.addTerminal(terminal);
2602
2763
  const junction = this.stpImpModel.junctions.get(junctionUUID);
2764
+ if (junction)
2765
+ junction.name = (junction === null || junction === void 0 ? void 0 : junction.name) + '/Trafo';
2603
2766
  const pSpuleGroundImpedance = this.stpImpModel.junctionUUIDstpImp.get(junctionUUID);
2604
2767
  const subVlData = this.substationVoltagelevels.get(standortID);
2605
- const vlUUID = getVoltageLevelByVoltage(subVlData, powerTransformerEnd.ratedU);
2606
- if (!vlUUID) {
2607
- console.log(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
2768
+ const vlObject = getVoltageLevelByVoltage(subVlData, powerTransformerEnd.ratedU);
2769
+ if (!vlObject) {
2770
+ this.logger.info(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
2608
2771
  }
2609
2772
  if (junction) {
2610
- junction.baseVoltageUUID = powerTransformerEnd.baseVoltageUUID;
2611
- junction.equipmentContainerUUID = vlUUID;
2773
+ junction.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
2774
+ junction.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
2612
2775
  }
2613
2776
  else {
2614
- console.log(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
2777
+ this.logger.info(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
2615
2778
  }
2616
2779
  if (pSpuleGroundImpedance) {
2617
- pSpuleGroundImpedance.baseVoltageUUID = powerTransformerEnd.baseVoltageUUID;
2618
- pSpuleGroundImpedance.equipmentContainerUUID = vlUUID;
2780
+ pSpuleGroundImpedance.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
2781
+ pSpuleGroundImpedance.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
2619
2782
  }
2620
2783
  else {
2621
- console.log(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
2784
+ this.logger.info(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
2622
2785
  }
2623
2786
  }
2624
2787
  }
@@ -2632,7 +2795,7 @@ class ConverterIntegral7 {
2632
2795
  }
2633
2796
  }
2634
2797
  else {
2635
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2798
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2636
2799
  }
2637
2800
  });
2638
2801
  }
@@ -2642,26 +2805,25 @@ class ConverterIntegral7 {
2642
2805
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LAENGSDROSSEL, limit, offset, []));
2643
2806
  for (const i7Data of result) {
2644
2807
  const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2645
- const start = this.memoryObjects.get(i7Data.aknoten);
2808
+ const start = this.inmemoryObjects.get(i7Data.aknoten);
2646
2809
  let startTerminal;
2647
2810
  if (start) {
2648
2811
  startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2649
2812
  }
2650
2813
  else {
2651
- console.log(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2814
+ this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2652
2815
  }
2653
- const target = this.memoryObjects.get(i7Data.eknoten);
2816
+ const target = this.inmemoryObjects.get(i7Data.eknoten);
2654
2817
  let targetTerminal;
2655
2818
  if (target) {
2656
2819
  targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2657
2820
  }
2658
2821
  else {
2659
- console.log(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2822
+ this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2660
2823
  }
2661
2824
  const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2662
2825
  const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
2663
- seriesCompensator.baseVoltage = baseVoltage;
2664
- const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : defaultValuesConfig.SeriesCompensator.x;
2826
+ const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : defaultValuesConfig.SeriesCompensator.varistorRatedCurrent;
2665
2827
  const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : 0;
2666
2828
  if (i > 0 && ukr > 0) {
2667
2829
  const voltage = baseVoltage.nominalVoltage.value * 1000;
@@ -2674,15 +2836,16 @@ class ConverterIntegral7 {
2674
2836
  this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
2675
2837
  }
2676
2838
  else {
2677
- console.log(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2839
+ this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2678
2840
  }
2679
2841
  const subVlData = this.substationVoltagelevels.get(i7Data.standort);
2680
- const vlUUID = getVoltageLevelByVoltage(subVlData, ur);
2681
- if (vlUUID) {
2682
- seriesCompensator.equipmentContainerUUID = vlUUID;
2842
+ const vlObject = getVoltageLevelByVoltage(subVlData, ur);
2843
+ if (vlObject) {
2844
+ seriesCompensator.equipmentContainerUUID = vlObject.vlUUID;
2845
+ seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
2683
2846
  }
2684
2847
  else {
2685
- console.log(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2848
+ this.logger.info(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2686
2849
  }
2687
2850
  const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längsdrossel');
2688
2851
  seriesCompensator.psrTypeUUID = psrType.mrid;
@@ -2691,7 +2854,7 @@ class ConverterIntegral7 {
2691
2854
  }
2692
2855
  }
2693
2856
  else {
2694
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
2857
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
2695
2858
  }
2696
2859
  });
2697
2860
  }
@@ -2701,25 +2864,24 @@ class ConverterIntegral7 {
2701
2864
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LAENGSKONDENSATOR, limit, offset, []));
2702
2865
  for (const i7Data of result) {
2703
2866
  const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2704
- const start = this.memoryObjects.get(i7Data.aknoten);
2867
+ const start = this.inmemoryObjects.get(i7Data.aknoten);
2705
2868
  let startTerminal;
2706
2869
  if (start) {
2707
2870
  startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2708
2871
  }
2709
2872
  else {
2710
- console.log(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2873
+ this.logger.info(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2711
2874
  }
2712
- const target = this.memoryObjects.get(i7Data.eknoten);
2875
+ const target = this.inmemoryObjects.get(i7Data.eknoten);
2713
2876
  let targetTerminal;
2714
2877
  if (target) {
2715
2878
  targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2716
2879
  }
2717
2880
  else {
2718
- console.log(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2881
+ this.logger.info(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2719
2882
  }
2720
2883
  const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2721
2884
  const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
2722
- seriesCompensator.baseVoltage = baseVoltage;
2723
2885
  const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : undefined;
2724
2886
  const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : undefined;
2725
2887
  if (i > 0 && ukr > 0) {
@@ -2733,16 +2895,17 @@ class ConverterIntegral7 {
2733
2895
  this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
2734
2896
  }
2735
2897
  else {
2736
- console.log(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2898
+ this.logger.info(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2737
2899
  }
2738
2900
  const substationUUID = this.integralID2UUID.get(i7Data.standort);
2739
2901
  const subVlData = this.substationVoltagelevels.get(i7Data.standort);
2740
- const vlUUID = getVoltageLevelByVoltage(subVlData, ur);
2741
- if (vlUUID) {
2742
- seriesCompensator.equipmentContainerUUID = vlUUID;
2902
+ const vlObject = getVoltageLevelByVoltage(subVlData, ur);
2903
+ if (vlObject) {
2904
+ seriesCompensator.equipmentContainerUUID = vlObject.vlUUID;
2905
+ seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
2743
2906
  }
2744
2907
  else {
2745
- console.log(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2908
+ this.logger.info(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2746
2909
  }
2747
2910
  const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längskondensator');
2748
2911
  seriesCompensator.psrTypeUUID = psrType.mrid;
@@ -2751,7 +2914,7 @@ class ConverterIntegral7 {
2751
2914
  }
2752
2915
  }
2753
2916
  else {
2754
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
2917
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
2755
2918
  }
2756
2919
  });
2757
2920
  }
@@ -2762,8 +2925,8 @@ class ConverterIntegral7 {
2762
2925
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRENNER_3P, 0, 0, containerIDs));
2763
2926
  for (const i7Data of result) {
2764
2927
  const disconnector = new __1.Disconnector(__1.getUUID(i7Data.guid), i7Data.bezeichner);
2765
- disconnector.normalOpen = utils_2.convertToBooleanI7(!i7Data.schaltzustand);
2766
- disconnector.open = utils_2.convertToBooleanI7(!i7Data.schaltzustand);
2928
+ disconnector.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2929
+ disconnector.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2767
2930
  const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2768
2931
  const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2769
2932
  const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
@@ -2771,19 +2934,19 @@ class ConverterIntegral7 {
2771
2934
  disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2772
2935
  }
2773
2936
  else {
2774
- console.log(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
2937
+ this.logger.info(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
2775
2938
  }
2776
2939
  if (cnStart) {
2777
2940
  __1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2778
2941
  }
2779
2942
  else {
2780
- console.log(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
2943
+ this.logger.info(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
2781
2944
  }
2782
2945
  if (cnZiel) {
2783
2946
  __1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2784
2947
  }
2785
2948
  else {
2786
- console.log(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
2949
+ this.logger.info(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
2787
2950
  }
2788
2951
  const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
2789
2952
  const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
@@ -2795,7 +2958,7 @@ class ConverterIntegral7 {
2795
2958
  }
2796
2959
  }
2797
2960
  else {
2798
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} ist nicht vorhanden.`);
2961
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} ist nicht vorhanden.`);
2799
2962
  }
2800
2963
  });
2801
2964
  }
@@ -2806,8 +2969,8 @@ class ConverterIntegral7 {
2806
2969
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRENNERFI_3P, 0, 0, containerIDs));
2807
2970
  for (const i7Data of result) {
2808
2971
  const disconnector = new __1.Disconnector(__1.generateUUID(), i7Data.bezeichner);
2809
- disconnector.normalOpen = utils_2.convertToBooleanI7(i7Data.schaltzustand);
2810
- disconnector.open = utils_2.convertToBooleanI7(i7Data.schaltzustand);
2972
+ disconnector.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2973
+ disconnector.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2811
2974
  const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2812
2975
  const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2813
2976
  const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
@@ -2815,19 +2978,19 @@ class ConverterIntegral7 {
2815
2978
  disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2816
2979
  }
2817
2980
  else {
2818
- console.log(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
2981
+ this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
2819
2982
  }
2820
2983
  if (cnStart) {
2821
2984
  __1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2822
2985
  }
2823
2986
  else {
2824
- console.log(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
2987
+ this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
2825
2988
  }
2826
2989
  if (cnZiel) {
2827
2990
  __1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2828
2991
  }
2829
2992
  else {
2830
- console.log(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
2993
+ this.logger.info(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
2831
2994
  }
2832
2995
  const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
2833
2996
  const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
@@ -2839,7 +3002,7 @@ class ConverterIntegral7 {
2839
3002
  }
2840
3003
  }
2841
3004
  else {
2842
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
3005
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
2843
3006
  }
2844
3007
  });
2845
3008
  }
@@ -2850,8 +3013,8 @@ class ConverterIntegral7 {
2850
3013
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, 0, 0, containerIDs));
2851
3014
  for (const i7Data of result) {
2852
3015
  const breaker = new __1.Breaker(__1.generateUUID(), i7Data.bezeichner);
2853
- breaker.normalOpen = utils_2.convertToBooleanI7(i7Data.schaltzustand);
2854
- breaker.open = utils_2.convertToBooleanI7(i7Data.schaltzustand);
3016
+ breaker.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
3017
+ breaker.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2855
3018
  const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2856
3019
  const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2857
3020
  const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
@@ -2859,19 +3022,19 @@ class ConverterIntegral7 {
2859
3022
  breaker.equipmentContainerUUID = equipmentContainer.mrid;
2860
3023
  }
2861
3024
  else {
2862
- console.log(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
3025
+ this.logger.info(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
2863
3026
  }
2864
3027
  if (cnStart) {
2865
3028
  __1.createConnection(this.cimModel, breaker, cnStart, __1.PhaseCode.ABC, 1);
2866
3029
  }
2867
3030
  else {
2868
- console.log(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
3031
+ this.logger.info(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
2869
3032
  }
2870
3033
  if (cnZiel) {
2871
3034
  __1.createConnection(this.cimModel, breaker, cnZiel, __1.PhaseCode.ABC, 2);
2872
3035
  }
2873
3036
  else {
2874
- console.log(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
3037
+ this.logger.info(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
2875
3038
  }
2876
3039
  const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
2877
3040
  const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
@@ -2883,7 +3046,7 @@ class ConverterIntegral7 {
2883
3046
  }
2884
3047
  }
2885
3048
  else {
2886
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
3049
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
2887
3050
  }
2888
3051
  });
2889
3052
  }
@@ -2901,11 +3064,11 @@ class ConverterIntegral7 {
2901
3064
  dcConverterUnit.setSubstation(equipmentContainer);
2902
3065
  }
2903
3066
  else {
2904
- console.log(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
3067
+ this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
2905
3068
  }
2906
3069
  }
2907
3070
  else {
2908
- console.log(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
3071
+ this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
2909
3072
  }
2910
3073
  const csConverter = new CsConverter_1.CsConverter(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
2911
3074
  csConverter.equipmentContainer = dcConverterUnit;
@@ -2934,7 +3097,7 @@ class ConverterIntegral7 {
2934
3097
  __1.createConnection(this.cimModel, csConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
2935
3098
  }
2936
3099
  else {
2937
- console.log(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
3100
+ this.logger.info(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
2938
3101
  }
2939
3102
  const dcNode = new DCNode_1.DCNode(__1.generateUUID(), 'DCNode');
2940
3103
  dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
@@ -2966,11 +3129,11 @@ class ConverterIntegral7 {
2966
3129
  dcConverterUnit.setSubstation(equipmentContainer);
2967
3130
  }
2968
3131
  else {
2969
- console.log(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
3132
+ this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
2970
3133
  }
2971
3134
  }
2972
3135
  else {
2973
- console.log(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
3136
+ this.logger.info(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
2974
3137
  }
2975
3138
  const vsConverter = new VsConverter_1.VsConverter(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
2976
3139
  vsConverter.equipmentContainer = dcConverterUnit;
@@ -3002,7 +3165,7 @@ class ConverterIntegral7 {
3002
3165
  __1.createConnection(this.cimModel, vsConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
3003
3166
  }
3004
3167
  else {
3005
- console.log(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
3168
+ this.logger.info(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
3006
3169
  }
3007
3170
  const dcNode = new DCNode_1.DCNode(__1.generateUUID(), 'DCNode');
3008
3171
  dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
@@ -3051,7 +3214,7 @@ class ConverterIntegral7 {
3051
3214
  converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarGroundReturn;
3052
3215
  }
3053
3216
  }
3054
- const startDCNode = this.memoryObjects.get(i7Data.anetzobjekt);
3217
+ const startDCNode = this.inmemoryObjects.get(i7Data.anetzobjekt);
3055
3218
  if (startDCNode) {
3056
3219
  const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
3057
3220
  dcTerminal.sequenceNumber = 2;
@@ -3060,9 +3223,9 @@ class ConverterIntegral7 {
3060
3223
  this.cimModel.addDCTerminal(dcTerminal);
3061
3224
  }
3062
3225
  else {
3063
- console.log(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
3226
+ this.logger.info(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
3064
3227
  }
3065
- const tartgetDCNode = this.memoryObjects.get(i7Data.enetzobjekt);
3228
+ const tartgetDCNode = this.inmemoryObjects.get(i7Data.enetzobjekt);
3066
3229
  if (tartgetDCNode) {
3067
3230
  const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
3068
3231
  dcTerminal.sequenceNumber = 2;
@@ -3071,7 +3234,7 @@ class ConverterIntegral7 {
3071
3234
  this.cimModel.addDCTerminal(dcTerminal);
3072
3235
  }
3073
3236
  else {
3074
- console.log(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
3237
+ this.logger.info(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
3075
3238
  }
3076
3239
  this.cimModel.addDCLine(dcLine);
3077
3240
  this.cimModel.addDCLineSegment(dcLineSegment);
@@ -3079,7 +3242,66 @@ class ConverterIntegral7 {
3079
3242
  }
3080
3243
  }
3081
3244
  else {
3082
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
3245
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
3246
+ }
3247
+ });
3248
+ }
3249
+ convertBoundaryInjections(knotenIDs) {
3250
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
3251
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BOUNDARYINJECTION)) {
3252
+ const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.BOUNDARYINJECTION, 0, 0, knotenIDs));
3253
+ for (const i7Data of result) {
3254
+ const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
3255
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3256
+ __1.createSvStatus(this.cimModel, inBetrieb, externalNetworkInjection);
3257
+ const einspeisePrio = utils_2.convertToNumberI7(i7Data.einspprio);
3258
+ externalNetworkInjection.p = utils_2.convertToNumberI7(i7Data.p_ersatznetz) + utils_2.convertToNumberI7(i7Data.p_restnetz);
3259
+ externalNetworkInjection.q = utils_2.convertToNumberI7(i7Data.q_ersatznetz) + utils_2.convertToNumberI7(i7Data.q_restnetz);
3260
+ externalNetworkInjection.governorSCD = utils_2.convertToNumberI7(i7Data.kr);
3261
+ externalNetworkInjection.referencePriority = einspeisePrio;
3262
+ externalNetworkInjection.maxZ0ToZ1Ratio = utils_2.convertToNumberI7(i7Data.z0_z1);
3263
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_BI_${i7Data.id}`);
3264
+ regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
3265
+ regulatingControl.discrete = true;
3266
+ regulatingControl.enabled = inBetrieb;
3267
+ regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
3268
+ externalNetworkInjection.regulatingControl = regulatingControl;
3269
+ const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3270
+ if (connectivityNode) {
3271
+ const terminal = __1.createConnection(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
3272
+ regulatingControl.terminal = terminal;
3273
+ terminal.addRegulatingControl(regulatingControl);
3274
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3275
+ if (equipmentContainer) {
3276
+ externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
3277
+ const sollSpanungen = this.eqSpannungsBander.get(equipmentContainer.mrid);
3278
+ if (sollSpanungen === null || sollSpanungen === void 0 ? void 0 : sollSpanungen.length) {
3279
+ for (const spannung of sollSpanungen) {
3280
+ if (utils_2.isNumericI7(spannung.usoll)) {
3281
+ regulatingControl.targetValue = spannung.usoll;
3282
+ if (utils_2.isNumericI7(spannung.umin) && utils_2.isNumericI7(spannung.umax)) {
3283
+ const targetDealBand = utils_2.convertToNumberI7(spannung.umax) - utils_2.convertToNumberI7(spannung.usoll);
3284
+ regulatingControl.targetDeadband = targetDealBand;
3285
+ }
3286
+ break;
3287
+ }
3288
+ }
3289
+ }
3290
+ }
3291
+ else {
3292
+ this.logger.info(`BoundaryInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
3293
+ }
3294
+ }
3295
+ else {
3296
+ this.logger.info(`BoundaryInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
3297
+ }
3298
+ this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
3299
+ this.cimModel.addRegulatingControl(regulatingControl);
3300
+ this.integralID2UUID.set(i7Data.id, externalNetworkInjection.mrid);
3301
+ }
3302
+ }
3303
+ else {
3304
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
3083
3305
  }
3084
3306
  });
3085
3307
  }
@@ -3111,16 +3333,16 @@ class ConverterIntegral7 {
3111
3333
  this.integralID2UUID.set(i7Data.id, asynchronousMachine.mrid);
3112
3334
  }
3113
3335
  else {
3114
- console.log(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
3336
+ this.logger.info(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
3115
3337
  }
3116
3338
  }
3117
3339
  else {
3118
- console.log(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
3340
+ this.logger.info(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
3119
3341
  }
3120
3342
  }
3121
3343
  }
3122
3344
  else {
3123
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
3345
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
3124
3346
  }
3125
3347
  });
3126
3348
  }
@@ -3136,7 +3358,7 @@ class ConverterIntegral7 {
3136
3358
  const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
3137
3359
  const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
3138
3360
  if (spannungsregelungLokal || spannungsregelungRemote) {
3139
- const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RegulatingControl_${shunt.name}`);
3361
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Kompdrossel ${i7Data.id}`);
3140
3362
  regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
3141
3363
  regulatingControl.discrete = true;
3142
3364
  regulatingControl.targetDeadband = i7Data.uband;
@@ -3159,16 +3381,16 @@ class ConverterIntegral7 {
3159
3381
  this.integralID2UUID.set(i7Data.id, shunt.mrid);
3160
3382
  }
3161
3383
  else {
3162
- console.log(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3384
+ this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3163
3385
  }
3164
3386
  }
3165
3387
  else {
3166
- console.log(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3388
+ this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3167
3389
  }
3168
3390
  }
3169
3391
  }
3170
3392
  else {
3171
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3393
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3172
3394
  }
3173
3395
  });
3174
3396
  }
@@ -3184,7 +3406,7 @@ class ConverterIntegral7 {
3184
3406
  const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
3185
3407
  const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
3186
3408
  if (spannungsregelungLokal || spannungsregelungRemote) {
3187
- const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RegulatingControl_${shunt.name}`);
3409
+ const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Kompkons ${i7Data.id}`);
3188
3410
  regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
3189
3411
  shunt.regulatingControl = regulatingControl;
3190
3412
  this.cimModel.addRegulatingControl(shunt.regulatingControl);
@@ -3204,16 +3426,16 @@ class ConverterIntegral7 {
3204
3426
  this.integralID2UUID.set(i7Data.id, shunt.mrid);
3205
3427
  }
3206
3428
  else {
3207
- console.log(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3429
+ this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
3208
3430
  }
3209
3431
  }
3210
3432
  else {
3211
- console.log(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3433
+ this.logger.info(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
3212
3434
  }
3213
3435
  }
3214
3436
  }
3215
3437
  else {
3216
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3438
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
3217
3439
  }
3218
3440
  });
3219
3441
  }
@@ -3232,17 +3454,20 @@ class ConverterIntegral7 {
3232
3454
  }
3233
3455
  }
3234
3456
  else {
3235
- console.log(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
3457
+ this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
3236
3458
  }
3237
3459
  });
3238
3460
  }
3239
- setWireInfoProperties(object, data) {
3461
+ setWireInfoProperties(object, data, type) {
3462
+ object.name = data.name;
3463
+ object.type = type;
3464
+ object.voltage = data.un;
3240
3465
  object.r1 = +data.r1;
3241
3466
  object.x1 = +data.x1;
3242
- object.c1 = new __1.CapacitancePerLength(data.c1, __1.UnitMultiplier.micro, __1.UnitSymbol.F);
3243
- object.r0 = new __1.ResistancePerLength(data.r1, __1.UnitMultiplier.none, __1.UnitSymbol.ohm);
3244
- object.x0 = new __1.ReactancePerLength(data.x1, __1.UnitMultiplier.none, __1.UnitSymbol.ohm);
3245
- object.c0 = new __1.CapacitancePerLength(data.c1, __1.UnitMultiplier.micro, __1.UnitSymbol.F);
3467
+ object.c1 = +data.c1;
3468
+ object.r0 = +data.r0;
3469
+ object.x0 = +data.x0;
3470
+ object.c0 = +data.c0;
3246
3471
  object.ratedCurrent = +data.ir;
3247
3472
  }
3248
3473
  setACLineSegmentProperties(acLineSegment, data, psrTypeName, defaultValuesConfig) {
@@ -3262,7 +3487,7 @@ class ConverterIntegral7 {
3262
3487
  }
3263
3488
  else {
3264
3489
  if (assetType) {
3265
- acLineSegment.r0 = assetType.r0.value * acLineSegment.length;
3490
+ acLineSegment.r0 = assetType.r0 * acLineSegment.length;
3266
3491
  }
3267
3492
  }
3268
3493
  if (data.x0 && data.x0 !== 0) {
@@ -3270,7 +3495,7 @@ class ConverterIntegral7 {
3270
3495
  }
3271
3496
  else {
3272
3497
  if (assetType) {
3273
- acLineSegment.x0 = assetType.x0.value * acLineSegment.length;
3498
+ acLineSegment.x0 = assetType.x0 * acLineSegment.length;
3274
3499
  }
3275
3500
  }
3276
3501
  if (data.r1 && data.r1 !== 0) {
@@ -3333,7 +3558,7 @@ class ConverterIntegral7 {
3333
3558
  const ur = `ur${endNumber}`;
3334
3559
  wicklung.endNumber = endNumber;
3335
3560
  wicklung.ratedU = new __1.Voltage(data[ur], __1.UnitMultiplier.k, __1.UnitSymbol.V);
3336
- wicklung.tapActiv = utils_2.convertToBooleanI7(data[gestufte_seite]);
3561
+ wicklung.tapActive = utils_2.convertToBooleanI7(data[gestufte_seite]);
3337
3562
  const tapChangerInfo = new TapChangerInfo_1.TapChangerInfo(__1.generateUUID(), `TapChangerInfo_${data['id']}`);
3338
3563
  tapChangerInfo.highStep = data[maxstufe];
3339
3564
  tapChangerInfo.lowStep = data[minstufe];
@@ -3383,6 +3608,7 @@ class ConverterIntegral7 {
3383
3608
  utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.AMPRION_NS_PREFIX}`, __1.RDF_XML.AMPRION_NS);
3384
3609
  utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.IPS_NS_PREFIX}`, __1.RDF_XML.IPS_NS);
3385
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);
3386
3612
  }
3387
3613
  }
3388
3614
  writeHeaderEnd(xmlWriter) {
@@ -3402,7 +3628,7 @@ class ConverterIntegral7 {
3402
3628
  }
3403
3629
  checkMemoryObject(i7ID, cimObject) {
3404
3630
  if (this.leitungAnschlussKnotenIDs.has(i7ID)) {
3405
- this.memoryObjects.set(i7ID, cimObject);
3631
+ this.inmemoryObjects.set(i7ID, cimObject);
3406
3632
  return true;
3407
3633
  }
3408
3634
  return false;
@@ -3450,22 +3676,85 @@ class ConverterIntegral7 {
3450
3676
  const conformLoadGroup = new ConformLoadGroup_1.ConformLoadGroup(__1.generateUUID(), defaultValuesConfig.ConformLoadGroup.name);
3451
3677
  conformLoadGroup.subLoadArea = subLoadArea;
3452
3678
  this.cimModel.addConformLoadGroup(conformLoadGroup);
3679
+ const crsUrn = 'urn:ogc:def:crs:EPSG::4326';
3680
+ const coordinateSystem = new __1.CoordinateSystem(__1.generateUUID(), this.coordinateSystemName);
3681
+ coordinateSystem.crsUrn = crsUrn;
3682
+ this.cimModel.addCoordinateSystem(coordinateSystem);
3453
3683
  }
3454
3684
  }
3455
3685
  exports.ConverterIntegral7 = ConverterIntegral7;
3456
3686
  function getVoltageLevelByVoltage(subVlData, ur) {
3457
- let vlUUID;
3687
+ let vlObject;
3458
3688
  let abstand = 1000;
3459
3689
  if (subVlData && subVlData.length) {
3460
3690
  for (const vlData of subVlData) {
3461
3691
  const abstandAkt = Math.abs(vlData.un - ur);
3462
3692
  if (abstandAkt < abstand) {
3463
3693
  abstand = abstandAkt;
3464
- vlUUID = vlData.vlUUID;
3694
+ vlObject = vlData;
3465
3695
  }
3466
3696
  }
3467
3697
  }
3468
- return vlUUID;
3698
+ return vlObject;
3469
3699
  }
3470
3700
  exports.getVoltageLevelByVoltage = getVoltageLevelByVoltage;
3701
+ function validateRegulatingControls(regulatingControls, logger, type) {
3702
+ for (const rg of regulatingControls.values()) {
3703
+ if (!rg.name)
3704
+ logger.info(`RegulatingControl ohne Namen | ${type}`);
3705
+ const terminalUUID = rg.terminal ? rg.terminal.mrid : rg.terminalUUID;
3706
+ if (!terminalUUID)
3707
+ logger.info(`RegulatingControl ohne Terminal ${rg.name} | ${type}`);
3708
+ }
3709
+ }
3710
+ function getGeoCoordinates(i7Data) {
3711
+ if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s) {
3712
+ const lon = (((i7Data.geokoor_pl_laenge_s / 60) + i7Data.geokoor_pl_laenge_m) / 60) + i7Data.geokoor_pl_laenge_h;
3713
+ const lat = (((i7Data.geokoor_pl_breite_s / 60) + i7Data.geokoor_pl_breite_m) / 60) + i7Data.geokoor_pl_breite_h;
3714
+ return [String(lon), String(lat)];
3715
+ }
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)];
3718
+ }
3719
+ return undefined;
3720
+ }
3721
+ exports.getGeoCoordinates = getGeoCoordinates;
3722
+ function getValidTerminals(objects, inMemoryObjects) {
3723
+ const exportTerminals = new Map();
3724
+ for (const value of objects.values()) {
3725
+ if (value instanceof __1.Terminal) {
3726
+ const terminal = value;
3727
+ if ((terminal.conductingEquipment || terminal.conductingEquipmentUUID) &&
3728
+ (terminal.connectivityNode || terminal.connectivityNodeUUID)) {
3729
+ exportTerminals.set(value.mrid, value);
3730
+ }
3731
+ else {
3732
+ inMemoryObjects.set(value.mrid, value);
3733
+ }
3734
+ }
3735
+ }
3736
+ return exportTerminals;
3737
+ }
3738
+ exports.getValidTerminals = getValidTerminals;
3739
+ function validateInMemoryObjects(objects) {
3740
+ const exportTerminals = new Map();
3741
+ for (const entry of objects.entries()) {
3742
+ const value = entry[1];
3743
+ if (value instanceof __1.Terminal) {
3744
+ const terminal = value;
3745
+ if ((terminal.conductingEquipment || terminal.conductingEquipmentUUID) &&
3746
+ (terminal.connectivityNode || terminal.connectivityNodeUUID)) {
3747
+ exportTerminals.set(value.mrid, value);
3748
+ }
3749
+ if (terminal.conductingEquipment && terminal.conductingEquipmentUUID) {
3750
+ this.logger.info(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3751
+ }
3752
+ if (terminal.connectivityNode && terminal.connectivityNodeUUID) {
3753
+ this.logger.info(`Terminal ohne connectivityNode UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
3754
+ }
3755
+ }
3756
+ }
3757
+ return exportTerminals;
3758
+ }
3759
+ exports.validateInMemoryObjects = validateInMemoryObjects;
3471
3760
  //# sourceMappingURL=ConverterIntegral7.js.map