@enervance/insight-cim-model 0.0.371 → 0.0.373-beta1

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 (211) hide show
  1. package/dist/analysis/analysis-neplan/contingency-analysis.neplan.westnetz.d.ts +0 -1
  2. package/dist/analysis/analysis-neplan/contingency-analysis.neplan.westnetz.js +4 -17
  3. package/dist/analysis/analysis-neplan/contingency-analysis.neplan.westnetz.js.map +1 -1
  4. package/dist/config/load.confings.js +1 -2
  5. package/dist/config/load.confings.js.map +1 -1
  6. package/dist/constants/cim-class-names.d.ts +2 -1
  7. package/dist/constants/cim-class-names.js +2 -1
  8. package/dist/constants/cim-class-names.js.map +1 -1
  9. package/dist/converter/integral7/config/integral-prefix.d.ts +6 -0
  10. package/dist/converter/integral7/config/integral-prefix.js +7 -1
  11. package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
  12. package/dist/converter/integral7/converter.integral7.d.ts +1 -0
  13. package/dist/converter/integral7/converter.integral7.js +198 -62
  14. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  15. package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +28 -0
  16. package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +11 -4
  17. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +308 -31
  18. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
  19. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.d.ts +10 -1
  20. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js +6 -0
  21. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js.map +1 -1
  22. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js +5 -12
  23. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js.map +1 -1
  24. package/dist/converter/integral7/dl-convert/executor.js +15 -3
  25. package/dist/converter/integral7/dl-convert/executor.js.map +1 -1
  26. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +3 -1
  27. package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
  28. package/dist/converter/integral7/interface-i7/default-values-config.interface.d.ts +8 -0
  29. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +3 -1
  30. package/dist/converter/integral7/interface-i7/export-frame-i7.js +3 -2
  31. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  32. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +9 -1
  33. package/dist/converter/integral7/model/dl-utils/util-functions.js +32 -3
  34. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  35. package/dist/converter/integral7/model/integral/BaseClass.d.ts +0 -2
  36. package/dist/converter/integral7/model/integral/BaseClass.js +0 -3
  37. package/dist/converter/integral7/model/integral/BaseClass.js.map +1 -1
  38. package/dist/converter/integral7/model/integral/KnotenZw.d.ts +7 -0
  39. package/dist/converter/integral7/model/integral/KnotenZw.js +13 -0
  40. package/dist/converter/integral7/model/integral/KnotenZw.js.map +1 -0
  41. package/dist/converter/integral7/model/integral/Netzbereich.d.ts +15 -0
  42. package/dist/converter/integral7/model/integral/Netzbereich.js +23 -0
  43. package/dist/converter/integral7/model/integral/Netzbereich.js.map +1 -0
  44. package/dist/converter/integral7/model/integral/NetzbereichAussen.d.ts +7 -0
  45. package/dist/converter/integral7/model/integral/NetzbereichAussen.js +12 -0
  46. package/dist/converter/integral7/model/integral/NetzbereichAussen.js.map +1 -0
  47. package/dist/converter/integral7/model/integral/NetzbereichInnen.d.ts +7 -0
  48. package/dist/converter/integral7/model/integral/NetzbereichInnen.js +12 -0
  49. package/dist/converter/integral7/model/integral/NetzbereichInnen.js.map +1 -0
  50. package/dist/converter/integral7/model/integral/NetzbereichRand.d.ts +7 -0
  51. package/dist/converter/integral7/model/integral/NetzbereichRand.js +12 -0
  52. package/dist/converter/integral7/model/integral/NetzbereichRand.js.map +1 -0
  53. package/dist/converter/integral7/sql/integral.sql.js +3 -0
  54. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  55. package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.d.ts +0 -0
  56. package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.js +2 -0
  57. package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.js.map +1 -0
  58. package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.d.ts +8 -0
  59. package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.js +13 -0
  60. package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.js.map +1 -0
  61. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.d.ts +15 -0
  62. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.js +38 -0
  63. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.js.map +1 -0
  64. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.d.ts +8 -0
  65. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.js +13 -0
  66. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.js.map +1 -0
  67. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.d.ts +8 -0
  68. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.js +13 -0
  69. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.js.map +1 -0
  70. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.d.ts +8 -0
  71. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.js +9 -0
  72. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.js.map +1 -0
  73. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.d.ts +9 -0
  74. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.js +82 -0
  75. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.js.map +1 -0
  76. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.d.ts +25 -0
  77. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.js +3 -0
  78. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.js.map +1 -0
  79. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.d.ts +23 -0
  80. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.js +244 -0
  81. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.js.map +1 -0
  82. package/dist/converter/integral7/utils-cgmes-export.js +2 -0
  83. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  84. package/dist/converter/integral7/utils.d.ts +1 -0
  85. package/dist/converter/integral7/utils.js +28 -2
  86. package/dist/converter/integral7/utils.js.map +1 -1
  87. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  88. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +1 -1
  89. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  90. package/dist/interfaces/model/core/IConnectivityNode.d.ts +6 -6
  91. package/dist/interfaces/model/core/ISubstation.d.ts +2 -2
  92. package/dist/interfaces/model/core/IVoltageLevel.d.ts +2 -0
  93. package/dist/model/assetinfo/SwitchInfo.d.ts +2 -0
  94. package/dist/model/assetinfo/SwitchInfo.js +6 -1
  95. package/dist/model/assetinfo/SwitchInfo.js.map +1 -1
  96. package/dist/model/core/BaseVoltage.d.ts +3 -0
  97. package/dist/model/core/BaseVoltage.js +6 -0
  98. package/dist/model/core/BaseVoltage.js.map +1 -1
  99. package/dist/model/core/ConnectivityNode.js +1 -2
  100. package/dist/model/core/ConnectivityNode.js.map +1 -1
  101. package/dist/model/core/ConnectivityNodeContainer.d.ts +3 -3
  102. package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
  103. package/dist/model/core/Substation.d.ts +2 -1
  104. package/dist/model/core/Substation.js +1 -2
  105. package/dist/model/core/Substation.js.map +1 -1
  106. package/dist/model/core/VoltageLevel.d.ts +9 -3
  107. package/dist/model/core/VoltageLevel.js +12 -3
  108. package/dist/model/core/VoltageLevel.js.map +1 -1
  109. package/dist/model/dc/DCNode.js +3 -3
  110. package/dist/model/dc/DCNode.js.map +1 -1
  111. package/dist/model/extensions/amprion/additionalassetvalue/AMPRIONAdditionalBayValue.js +1 -1
  112. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +1 -1
  113. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  114. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +25 -0
  115. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +114 -0
  116. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -0
  117. package/dist/model/extensions/enervance/operations/EVTerminalAction.js +1 -1
  118. package/dist/model/extensions/enervance/operations/EVTerminalAction.js.map +1 -1
  119. package/dist/model/extensions/integral/core/INTEGRALTerminal.d.ts +12 -0
  120. package/dist/model/extensions/integral/core/INTEGRALTerminal.js +37 -0
  121. package/dist/model/extensions/integral/core/INTEGRALTerminal.js.map +1 -0
  122. package/dist/model/extensions/integral/dc/DCConverterUnit.d.ts +11 -0
  123. package/dist/model/extensions/integral/dc/DCConverterUnit.js +34 -0
  124. package/dist/model/extensions/integral/dc/DCConverterUnit.js.map +1 -0
  125. package/dist/model/extensions/integral/dc/DCLineSegment.d.ts +10 -0
  126. package/dist/model/extensions/integral/dc/DCLineSegment.js +31 -0
  127. package/dist/model/extensions/integral/dc/DCLineSegment.js.map +1 -0
  128. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +30 -0
  129. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +189 -0
  130. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -0
  131. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.d.ts +12 -0
  132. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +21 -0
  133. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -0
  134. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.d.ts +21 -0
  135. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +102 -0
  136. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -0
  137. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.d.ts +12 -0
  138. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js +60 -0
  139. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js.map +1 -0
  140. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.d.ts +11 -0
  141. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js +55 -0
  142. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js.map +1 -0
  143. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.d.ts +12 -0
  144. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js +60 -0
  145. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js.map +1 -0
  146. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.d.ts +7 -0
  147. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js +12 -0
  148. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js.map +1 -0
  149. package/dist/model/extensions/neplan-westnetz/common/WNLocation.d.ts +24 -0
  150. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js +89 -0
  151. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -0
  152. package/dist/model/extensions/neplan-westnetz/core/WNBay.d.ts +22 -0
  153. package/dist/model/extensions/neplan-westnetz/core/WNBay.js +87 -0
  154. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -0
  155. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +71 -0
  156. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +570 -0
  157. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -0
  158. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +44 -0
  159. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +234 -0
  160. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -0
  161. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.d.ts +5 -0
  162. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js +10 -0
  163. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js.map +1 -0
  164. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.d.ts +22 -0
  165. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js +98 -0
  166. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -0
  167. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.d.ts +21 -0
  168. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js +100 -0
  169. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -0
  170. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.d.ts +20 -0
  171. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +105 -0
  172. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -0
  173. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +75 -0
  174. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +505 -0
  175. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -0
  176. package/dist/model/generic-data-set/ChangeSetMember.d.ts +0 -5
  177. package/dist/model/generic-data-set/ChangeSetMember.js +0 -10
  178. package/dist/model/generic-data-set/ChangeSetMember.js.map +1 -1
  179. package/dist/model/generic-data-set/ObjectCreation.js.map +1 -1
  180. package/dist/model/generic-data-set/ObjectInsertion.d.ts +10 -0
  181. package/dist/model/generic-data-set/ObjectInsertion.js +60 -0
  182. package/dist/model/generic-data-set/ObjectInsertion.js.map +1 -0
  183. package/dist/model/generic-data-set/ObjectRemoval.d.ts +10 -0
  184. package/dist/model/generic-data-set/ObjectRemoval.js +60 -0
  185. package/dist/model/generic-data-set/ObjectRemoval.js.map +1 -0
  186. package/dist/model/topology/TopologicalNode.d.ts +2 -0
  187. package/dist/model/topology/TopologicalNode.js +62 -0
  188. package/dist/model/topology/TopologicalNode.js.map +1 -1
  189. package/dist/model/wires/Breaker.js +1 -1
  190. package/dist/model/wires/Breaker.js.map +1 -1
  191. package/dist/model/wires/Disconnector.js +1 -1
  192. package/dist/model/wires/Disconnector.js.map +1 -1
  193. package/dist/model/wires/TransformerEnd.d.ts +2 -3
  194. package/dist/model/wires/TransformerEnd.js.map +1 -1
  195. package/dist/model-container/model/EVModelsContainer.d.ts +0 -2
  196. package/dist/model-container/model/EVModelsContainer.js +0 -99
  197. package/dist/model-container/model/EVModelsContainer.js.map +1 -1
  198. package/dist/model-container/model/ModelContainer.d.ts +9 -4
  199. package/dist/model-container/model/ModelContainer.js +17 -11
  200. package/dist/model-container/model/ModelContainer.js.map +1 -1
  201. package/dist/util/collection/util-graph2tree.js +2 -2
  202. package/dist/util/collection/util-graph2tree.js.map +1 -1
  203. package/dist/utils2/cim.model.utils.js +99 -6
  204. package/dist/utils2/cim.model.utils.js.map +1 -1
  205. package/dist/utils2/model.modification.utils.d.ts +13 -3
  206. package/dist/utils2/model.modification.utils.js +188 -28
  207. package/dist/utils2/model.modification.utils.js.map +1 -1
  208. package/dist/utils2/parser.utils.d.ts +0 -3
  209. package/dist/utils2/parser.utils.js +2 -5
  210. package/dist/utils2/parser.utils.js.map +1 -1
  211. package/package.json +1 -1
@@ -71,7 +71,7 @@ const LimitTypeKind_1 = require("../../model/operationallimits/LimitTypeKind.js"
71
71
  const OperationalLimitDirectionKind_1 = require("../../model/operationallimits/OperationalLimitDirectionKind.js");
72
72
  const OperationalLimitSet_1 = require("../../model/operationallimits/OperationalLimitSet.js");
73
73
  const OperationalLimitType_1 = require("../../model/operationallimits/OperationalLimitType.js");
74
- const ControlArea_1 = require("../../model/operations/ControlArea.js");
74
+ const ACLineSegment_1 = require("../../model/wires/ACLineSegment.js");
75
75
  const Breaker_1 = require("../../model/wires/Breaker.js");
76
76
  const BusbarSection_1 = require("../../model/wires/BusbarSection.js");
77
77
  const Disconnector_1 = require("../../model/wires/Disconnector.js");
@@ -128,7 +128,6 @@ const VsCapabilityCurve_1 = require("../../model/dc/VsCapabilityCurve.js");
128
128
  const INTEGRALEquivalentBranch_1 = require("../../model/extensions/amprion/equivalents/INTEGRALEquivalentBranch.js");
129
129
  const INTEGRALDCConverterUnit_1 = require("../../model/extensions/integral/dc/INTEGRALDCConverterUnit.js");
130
130
  const ApparentPowerLimit_1 = require("../../model/operationallimits/ApparentPowerLimit.js");
131
- const ControlAreaTypeKind_1 = require("../../model/operations/ControlAreaTypeKind.js");
132
131
  const AsynchronousMachine_1 = require("../../model/wires/AsynchronousMachine.js");
133
132
  const PhaseTapChangerLinear_1 = require("../../model/wires/PhaseTapChangerLinear.js");
134
133
  const RotatingMachine_1 = require("../../model/wires/RotatingMachine.js");
@@ -155,6 +154,8 @@ const SvVoltage_1 = require("../../model/statevariables/SvVoltage.js");
155
154
  const SvInjection_1 = require("../../model/statevariables/SvInjection.js");
156
155
  const SvTapStep_1 = require("../../model/statevariables/SvTapStep.js");
157
156
  const DCTopologicalNode_1 = require("../../model/dc/DCTopologicalNode.js");
157
+ const INTEGRALTerminal_1 = require("../../model/extensions/integral/core/INTEGRALTerminal.js");
158
+ const KnotenZw_1 = require("./model/integral/KnotenZw.js");
158
159
  class ConverterIntegral7 {
159
160
  set configurableDLConvertOptions(arg) {
160
161
  tslib_1.__classPrivateFieldSet(this, _ConverterIntegral7_configurableDLConvertOptions, arg, "f");
@@ -330,7 +331,7 @@ class ConverterIntegral7 {
330
331
  /** Regelzone -> ControlArea */
331
332
  let startTime = perf_hooks.performance.now();
332
333
  //await this.convertRegelzone(cimModel, defaultValuesConfig);
333
- logExecutionTime(this.logger, startTime, `convertRegelzone(${cimModel.controlArea.size})`);
334
+ //logExecutionTime(this.logger, startTime, `convertRegelzone(${cimModel.controlArea.size})`);
334
335
  const marktGebiet = this.isTableAvailable(integral_sql_1.Integral7TableNames.MARKTGEBIET) ? yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.MARKTGEBIET, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.MARKTGEBIET), [])) : new Array();
335
336
  const netzGruppe = this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZGRUPPE) ? yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZGRUPPE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZGRUPPE), [])) : new Array();
336
337
  startTime = perf_hooks.performance.now();
@@ -340,8 +341,9 @@ class ConverterIntegral7 {
340
341
  startTime = perf_hooks.performance.now();
341
342
  const standortIDs = [...integral7Modell.integralStandorte.keys()];
342
343
  /** Regelzone -> ControlArea */
343
- /**if (standortIDs.length) await this.convertRegelzone(cimModel, defaultValuesConfig, standortIDs);
344
- logExecutionTime(this.logger, startTime, `convertRegelzone(${cimModel.controlArea.size})`);*/
344
+ if (standortIDs.length)
345
+ yield this.convertRegelzone(cimModel, defaultValuesConfig, standortIDs);
346
+ logExecutionTime(this.logger, startTime, `convertRegelzone(${cimModel.controlArea.size})`);
345
347
  /** Schaltanlagen -> VoltageLevel */
346
348
  if (standortIDs.length)
347
349
  yield this.convertSchaltanlagen(cimModel, integral7Modell, standortIDs, defaultValuesConfig);
@@ -400,6 +402,12 @@ class ConverterIntegral7 {
400
402
  if (knotenSoIDs.length > 0)
401
403
  yield this.convertSchlaufen(cimModel, integral7Modell, knotenSoIDs);
402
404
  logExecutionTime(this.logger, startTime, `convertSchlaufen()`);
405
+ startTime = perf_hooks.performance.now();
406
+ const schlaufenIDs = integral7Modell.integralSchlaufen;
407
+ /** Schaltanlagenabschnitte -> mappen auf bereits erstelltes VoltageLevel-Objekt (Schaltanlage) */
408
+ if (schlaufenIDs.length > 0)
409
+ yield this.convertKnotenZw(cimModel, integral7Modell, schlaufenIDs);
410
+ logExecutionTime(this.logger, startTime, `convertKnotenZw(...)`);
403
411
  /** Sammelschienenabschnitte -> BusbarSections */
404
412
  startTime = perf_hooks.performance.now();
405
413
  if (schaltanlagenAbschnittIDs.length > 0)
@@ -669,8 +677,12 @@ class ConverterIntegral7 {
669
677
  frame.cimModel.addDiagram(resultingObject);
670
678
  while (resultingObject.diagramElements.length > 0) {
671
679
  const currentDiagramObject = resultingObject.diagramElements.pop();
680
+ if (!frame.cimModel.objectExists(currentDiagramObject.getIdentifiedObjectUUID())
681
+ && !frame.cimModel.dcObjects.has(currentDiagramObject.getIdentifiedObjectUUID())) {
682
+ continue;
683
+ }
672
684
  // const diagramObject = resultingObject as DiagramObject;
673
- const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DiagramObject, this.configUuid, currentDiagramObject.getIdentifiedObjectUUID());
685
+ const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DiagramObject, this.configUuid, `${resultingObject.getUUID()}${currentDiagramObject.getIdentifiedObjectUUID()}`);
674
686
  currentDiagramObject.mrid = uuid;
675
687
  for (let a = 0; a < currentDiagramObject.diagramObjectPoints.length; ++a) {
676
688
  const key = `${uuid}${a + 1}`;
@@ -897,8 +909,9 @@ class ConverterIntegral7 {
897
909
  /** bereits verbeitete Knoten überspringen */
898
910
  if (precessedConnectivityNodes.has(connectivityNode.getUUID()))
899
911
  continue;
912
+ const cn = connectivityNode;
900
913
  /** Zusammengeschaltete CNs bestimmen */
901
- const tpNodes = i7_graph_utils_1.I7GraphUtils.determineTopologicalNodes(cimModel, connectivityNode);
914
+ const tpNodes = i7_graph_utils_1.I7GraphUtils.determineTopologicalNodes(cimModel, cn);
902
915
  /** zusammengefasst CNs zwischenspeichern */
903
916
  tpNodes.forEach(it => precessedConnectivityNodes.add(it.getUUID()));
904
917
  /** Für Erdungsmodel (Terminal.phases = N) werden keine TopologicalNodes erstellt */
@@ -1062,21 +1075,23 @@ class ConverterIntegral7 {
1062
1075
  }
1063
1076
  convertRegelzone(cimModel, defaultValuesConfig, standortIDs) {
1064
1077
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1065
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.REGELZONE)) {
1066
- //const resultNg: Regelzone[] = await this.mysqlController.execQuery(getNetzQuery(I7Objects.NETZGRUPPE, 0, 0, standortIDs));
1067
- const resultRz = yield this.mysqlController.execQuery((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.REGELZONE, 0, 0, []));
1068
- for (const i7Data of resultRz) {
1069
- const i7Schluessel = integral_prefix_1.REGELZONE_PRAEFIX + (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
1070
- const ctrlarea = new ControlArea_1.ControlArea((0, parser_utils_1.getUUID)(i7Data.guid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner), '_RZ']), (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname), i7Schluessel);
1071
- ctrlarea.type = ControlAreaTypeKind_1.ControlAreaTypeKind.agc;
1072
- ctrlarea.netInterchange = 0;
1073
- cimModel.addControlArea(ctrlarea);
1074
- this.addIdMapping(i7Data.id, ctrlarea.mrid, integral_sql_1.Integral7TableNames.REGELZONE);
1075
- }
1076
- }
1077
- else {
1078
- this.logger.debug(`debug --- Tabelle ${integral_sql_1.Integral7TableNames.REGELZONE} ist nicht vorhanden.`);
1079
- }
1078
+ /*if (this.isTableAvailable(Integral7TableNames.REGELZONE)) {
1079
+ //const resultNg: Regelzone[] = await this.mysqlController.execQuery(getNetzQuery(I7Objects.NETZGRUPPE, 0, 0, standortIDs));
1080
+ const resultRz: Regelzone[] = await this.mysqlController.execQuery(getNetzQuery(I7Objects.REGELZONE, 0, 0, []));
1081
+ for (const i7Data of resultRz) {
1082
+ const pBezug = isNumericI7(i7Data.p_bezug) ? convertToNumberI7(i7Data.p_bezug) : undefined;
1083
+ const pLieferung = convertToNumberI7(i7Data.p_lieferung);
1084
+ const i7Schluessel = REGELZONE_PRAEFIX + ueberpruefeZeichenkette(i7Data.bezeichner);
1085
+ const ctrlarea = new ControlArea(getUUID(i7Data.guid), createNotation([ueberpruefeZeichenkette(i7Data.bezeichner), '_RZ']), ueberpruefeZeichenkette(i7Data.kurzname), i7Schluessel);
1086
+ //ctrlarea.type = ControlAreaTypeKind.agc;
1087
+ ctrlarea.type = ControlAreaTypeKind.interchange;
1088
+ ctrlarea.netInterchange = isNumericI7(pBezug) && isNumericI7(pLieferung) pBezug - pLieferung;
1089
+ cimModel.addControlArea(ctrlarea);
1090
+ this.addIdMapping(i7Data.id, ctrlarea.mrid, Integral7TableNames.REGELZONE);
1091
+ }
1092
+ } else {
1093
+ this.logger.debug(`debug --- Tabelle ${Integral7TableNames.REGELZONE} ist nicht vorhanden.`);
1094
+ }*/
1080
1095
  });
1081
1096
  }
1082
1097
  convertSubGeoRegionen(regions, defaultValuesConfig) {
@@ -1179,9 +1194,10 @@ class ConverterIntegral7 {
1179
1194
  else if (!(object instanceof Substation_1.Substation)) {
1180
1195
  continue;
1181
1196
  }
1197
+ let keyUn = (0, utils_2.getSpannungSchluessel)(String(i7Data.un));
1182
1198
  const i7Schluessel = substation.key +
1183
- integral_prefix_1.KNOTEN_STANDORT_PRAEFIX +
1184
- i7Data.un +
1199
+ integral_prefix_1.SCHALTANLAGE_PRAEFIX +
1200
+ keyUn +
1185
1201
  integral_prefix_1.MITTIGER_PUNKT +
1186
1202
  (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
1187
1203
  const vl = new VoltageLevel_1.VoltageLevel((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname);
@@ -1216,7 +1232,7 @@ class ConverterIntegral7 {
1216
1232
  for (const i7Data of result) {
1217
1233
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
1218
1234
  if (!voltageLevel) {
1219
- this.logger.warn(`Schaltanlagenabschnitt ${i7Data.id} ist keiner Schaltanlage zugeornet.`);
1235
+ this.logger.warn(`Schaltanlagenabschnitt ${i7Data.id} ist keiner Schaltanlage zugeordnet.`);
1220
1236
  continue;
1221
1237
  }
1222
1238
  else {
@@ -1242,10 +1258,13 @@ class ConverterIntegral7 {
1242
1258
  for (const i7Data of result) {
1243
1259
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1244
1260
  if (!voltageLevel) {
1245
- this.logger.warn(`Schaltfeld ${i7Data.id}/${i7Data.guid} ist keinem Schaltanlagenabschnitt zugeornet.`);
1261
+ this.logger.warn(`Schaltfeld ${i7Data.id}/${i7Data.guid} ist keinem Schaltanlagenabschnitt zugeordnet.`);
1246
1262
  continue;
1247
1263
  }
1264
+ const saabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
1248
1265
  const i7Schluessel = voltageLevel.key +
1266
+ integral_prefix_1.SCHALTANLAGENABSCHNITT_PRAEFIX +
1267
+ (0, utils_2.ueberpruefeZeichenkette)(saabschnitt.bezeichner) +
1249
1268
  integral_prefix_1.SCHALTFELD_PRAEFIX +
1250
1269
  (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
1251
1270
  const cimrdfid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
@@ -1296,11 +1315,12 @@ class ConverterIntegral7 {
1296
1315
  const key = integral_sql_1.I7Objects.KNOTEN_SO + ((_e = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _e !== void 0 ? _e : '');
1297
1316
  const junction = new Junction_1.Junction(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Junction, this.configUuid, key), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), connectivityNode.getUUID().substring(0, 8), "_J"]));
1298
1317
  junction.equipmentContainer = vl;
1299
- const terminal = this.createConnection(cimModel, junction, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
1318
+ const terminal = this.createConnection(cimModel, junction, connectivityNode, PhaseCode_1.PhaseCode.ABC, true, false, integral7);
1300
1319
  this.svProfileKnotenData.set(i7Data.id, {
1301
1320
  powerFlowResultID: i7Data.id,
1302
1321
  terminalUUID: terminal === null || terminal === void 0 ? void 0 : terminal.mrid
1303
1322
  });
1323
+ cimModel.addJunction(junction);
1304
1324
  const un = (0, utils_2.getU)(i7Data.un);
1305
1325
  const baseVoltage = (0, util_create_1.createBaseVoltageIfNotExists)(cimModel, un, this.configUuid, this.exportFramesBoundary);
1306
1326
  /** Spannungsband */
@@ -1310,12 +1330,13 @@ class ConverterIntegral7 {
1310
1330
  if (substation) {
1311
1331
  vl.substation = substation;
1312
1332
  substation.addVoltageLevel(vl);
1333
+ const keyUn = (0, utils_2.getSpannungSchluessel)(String(i7Data.un));
1313
1334
  const i7Schluessel = substation.key +
1314
1335
  integral_prefix_1.KNOTEN_STANDORT_PRAEFIX +
1315
- i7Data.un +
1336
+ keyUn +
1316
1337
  integral_prefix_1.MITTIGER_PUNKT +
1317
1338
  (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
1318
- vl.key = i7Schluessel;
1339
+ //vl.key = i7Schluessel;
1319
1340
  connectivityNode.key = i7Schluessel;
1320
1341
  }
1321
1342
  else {
@@ -1413,7 +1434,7 @@ class ConverterIntegral7 {
1413
1434
  else {
1414
1435
  this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
1415
1436
  }
1416
- const terminal = this.createConnection(cimModel, busbarSection, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
1437
+ const terminal = this.createConnection(cimModel, busbarSection, connectivityNode, PhaseCode_1.PhaseCode.ABC, true, false, integral7);
1417
1438
  this.svProfileSsabData.set(i7Data.id, {
1418
1439
  powerFlowResultID: i7Data.id,
1419
1440
  terminalUUID: terminal === null || terminal === void 0 ? void 0 : terminal.mrid
@@ -1514,6 +1535,20 @@ class ConverterIntegral7 {
1514
1535
  }
1515
1536
  });
1516
1537
  }
1538
+ convertKnotenZw(cimModel, integral7, schlaufenIDs) {
1539
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1540
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_ZW)) {
1541
+ const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.KNOTEN_ZW, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_ZW), schlaufenIDs));
1542
+ for (const i7Data of result) {
1543
+ const kZw = new KnotenZw_1.KnotenZwImpl(i7Data);
1544
+ integral7.knotenZwIDs.set(i7Data.id, kZw);
1545
+ }
1546
+ }
1547
+ else {
1548
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
1549
+ }
1550
+ });
1551
+ }
1517
1552
  convertSchlaufen(cimModel, integral7, knotenSoIDs) {
1518
1553
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1519
1554
  //Schlaufen
@@ -1522,15 +1557,17 @@ class ConverterIntegral7 {
1522
1557
  for (const i7Data of result) {
1523
1558
  const key = integral_sql_1.I7Objects.SCHLAUFE + String(i7Data.id);
1524
1559
  const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Terminal, this.configUuid, key);
1525
- const terminal = new Terminal_1.Terminal(uuid, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar);
1560
+ const guid = (0, utils_2.ueberpruefeZeichenkette)(i7Data.guid);
1561
+ const terminal = new INTEGRALTerminal_1.INTEGRALTerminal(guid.length > 0 ? guid : uuid, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar);
1526
1562
  terminal.connected = (0, parser_utils_1.convertToBooleanI7)(i7Data.schaltzustand);
1527
1563
  terminal.phases = PhaseCode_1.PhaseCode.ABC;
1528
1564
  terminal.key = integral_prefix_1.SCHLAUFE_PRAEFIX + i7Data.bezeichner;
1565
+ terminal.key_jumper = terminal.key;
1529
1566
  this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
1530
1567
  this.addIdMapping(i7Data.knotenzw, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
1531
- integral7.kontenZwIDs.push(i7Data.knotenzw);
1532
1568
  this.checkAnschlussIDs(i7Data.knotenzw, integral7);
1533
1569
  cimModel.addTerminal(terminal);
1570
+ integral7.integralSchlaufen.push(i7Data.id);
1534
1571
  const connectivityNode = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
1535
1572
  if (connectivityNode) {
1536
1573
  connectivityNode.addTerminal(terminal);
@@ -2175,7 +2212,7 @@ class ConverterIntegral7 {
2175
2212
  //EQ core profile content
2176
2213
  const connectivityNode = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2177
2214
  if (connectivityNode) {
2178
- this.createConnection(cimModel, asynchronousMachine, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
2215
+ this.createConnection(cimModel, asynchronousMachine, connectivityNode, PhaseCode_1.PhaseCode.ABC, true, false);
2179
2216
  const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
2180
2217
  if (equipmentContainer) {
2181
2218
  equipmentContainer.addEquipment(asynchronousMachine);
@@ -2659,8 +2696,8 @@ class ConverterIntegral7 {
2659
2696
  * KontenSo -> Anschluesspunkt
2660
2697
  * KnotenSf -> Schaltfeldpunkt
2661
2698
  * KnotenZw -> Netzschlaufe -> KnotenSo -> Anschlusspunkt */
2662
- const startTerminal = this.createBoundaryConnection(frame, equivalentBranch, i7Data.aknoten, PhaseCode_1.PhaseCode.ABC);
2663
- const targetTerminal = this.createBoundaryConnection(frame, equivalentBranch, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC);
2699
+ const startTerminal = this.createBoundaryConnection(frame, equivalentBranch, i7Data.aknoten, i7Data, PhaseCode_1.PhaseCode.ABC, false);
2700
+ const targetTerminal = this.createBoundaryConnection(frame, equivalentBranch, i7Data.eknoten, i7Data, PhaseCode_1.PhaseCode.ABC, false);
2664
2701
  /** SVProfile Data */
2665
2702
  if (i7Data.flakn3p) {
2666
2703
  this.svProfileZweigData.set(i7Data.flakn3p, {
@@ -3147,7 +3184,7 @@ class ConverterIntegral7 {
3147
3184
  vsConverter.p = (0, parser_utils_1.isNumericI7)(i7Data.pges) ? i7Data.pges * -1 : 0;
3148
3185
  vsConverter.q = (0, parser_utils_1.isNumericI7)(i7Data.qges) ? i7Data.qges * -1 : 0;
3149
3186
  this.setTopologyEnergySourceConsumerObject(cimModel, vsConverter, i7Data, targetVoltages);
3150
- vsConverter.droop = qdroop; //pu
3187
+ vsConverter.droop = 0;
3151
3188
  vsConverter.droopCompensation = 0; //Resistance
3152
3189
  vsConverter.qShare = 100; //PerCent
3153
3190
  /** Status */
@@ -3474,7 +3511,7 @@ class ConverterIntegral7 {
3474
3511
  isRegulatingControl = false;
3475
3512
  }
3476
3513
  if (connectivityNode) {
3477
- const cpTerminal = this.createConnection(cimModel, condEquip, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
3514
+ const cpTerminal = this.createConnection(cimModel, condEquip, connectivityNode, PhaseCode_1.PhaseCode.ABC, true, false);
3478
3515
  if (i7Data.flussinfo3p) {
3479
3516
  this.svProfileZweigData.set(i7Data.flussinfo3p, {
3480
3517
  powerFlowResultID: i7Data.flussinfo3p,
@@ -3871,6 +3908,8 @@ class ConverterIntegral7 {
3871
3908
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3872
3909
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
3873
3910
  const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.TRENNER_3P, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRENNER_3P), containerIDs));
3911
+ console.log(containerIDs.length);
3912
+ console.log(result.length);
3874
3913
  for (const i7Data of result) {
3875
3914
  const disconnector = new Disconnector_1.Disconnector((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner);
3876
3915
  disconnector.setExternalId(i7Data.guid);
@@ -3911,12 +3950,22 @@ class ConverterIntegral7 {
3911
3950
  if (equipmentContainer) {
3912
3951
  equipmentContainer.addEquipment(swtch);
3913
3952
  swtch.equipmentContainer = equipmentContainer;
3953
+ let i7Schluessel = equipmentContainer.key;
3954
+ if (swtch instanceof Breaker_1.Breaker) {
3955
+ i7Schluessel += integral_prefix_1.LEISTUNGSSCHALTER_PRAEFIX +
3956
+ (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
3957
+ }
3958
+ else if (swtch instanceof Disconnector_1.Disconnector) {
3959
+ i7Schluessel += integral_prefix_1.TRENNSCHALTER_PRAEFIX +
3960
+ (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
3961
+ }
3962
+ swtch.key = i7Schluessel;
3914
3963
  }
3915
3964
  else {
3916
3965
  this.logger.debug(`Schalter ${i7Data.id} besitzt keinen EquipmentContainer.`);
3917
3966
  }
3918
3967
  if (cnStart) {
3919
- const terminal = this.createConnection(cimModel, swtch, cnStart, PhaseCode_1.PhaseCode.ABC, true);
3968
+ const terminal = this.createConnection(cimModel, swtch, cnStart, PhaseCode_1.PhaseCode.ABC, true, false);
3920
3969
  /** I7 speichert Ergebnisse für geschlossene Schalter (Längs- und Querkupplunge)*/
3921
3970
  if (i7Data.flussinfo > 0 && i7Data.schaltzustand === 1) {
3922
3971
  this.svProfileSwitchData.set(i7Data.flussinfo, {
@@ -3929,7 +3978,7 @@ class ConverterIntegral7 {
3929
3978
  this.logger.debug(`Schalter ${i7Data.id} besitzt keinen Anfangsknoten.`);
3930
3979
  }
3931
3980
  if (cnZiel) {
3932
- this.createConnection(cimModel, swtch, cnZiel, PhaseCode_1.PhaseCode.ABC, true);
3981
+ this.createConnection(cimModel, swtch, cnZiel, PhaseCode_1.PhaseCode.ABC, true, false);
3933
3982
  }
3934
3983
  else {
3935
3984
  this.logger.debug(`Schalter ${i7Data.id} besitzt keinen Zielknoten.`);
@@ -3958,10 +4007,11 @@ class ConverterIntegral7 {
3958
4007
  * KontenSo -> Anschluesspunkt
3959
4008
  * KnotenSf -> Schaltfeldpunkt
3960
4009
  * KnotenZw -> Netzschlaufe -> KnotenSo -> Anschlusspunkt */
4010
+ //console.log(i7Data.guid);
3961
4011
  const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
3962
4012
  let startTerminal;
3963
4013
  if (start) {
3964
- startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true);
4014
+ startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true, false, integral7);
3965
4015
  }
3966
4016
  else {
3967
4017
  this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
@@ -3970,7 +4020,7 @@ class ConverterIntegral7 {
3970
4020
  const target = cimModel.objects.get(this.integralID2UUID.get(i7Data.eknoten));
3971
4021
  let targetTerminal;
3972
4022
  if (target) {
3973
- targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true);
4023
+ targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true, false, integral7);
3974
4024
  }
3975
4025
  else {
3976
4026
  this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
@@ -4049,7 +4099,7 @@ class ConverterIntegral7 {
4049
4099
  const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
4050
4100
  let startTerminal;
4051
4101
  if (start) {
4052
- startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true);
4102
+ startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true, false, integral7);
4053
4103
  }
4054
4104
  else {
4055
4105
  this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
@@ -4057,7 +4107,7 @@ class ConverterIntegral7 {
4057
4107
  const target = cimModel.getObject(this.integralID2UUID.get(i7Data.eknoten));
4058
4108
  let targetTerminal;
4059
4109
  if (target) {
4060
- targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true);
4110
+ targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true, false, integral7);
4061
4111
  }
4062
4112
  else {
4063
4113
  this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
@@ -4224,7 +4274,7 @@ class ConverterIntegral7 {
4224
4274
  }
4225
4275
  // Create connection for PetersenCoil and GroundingImpedance connected with 'Sternpunktschiene'. PetersenCoil and GroundingImpedance connected to 'Sternpunktknoten' is connected during convertTrafo2w and convertTrafo3w
4226
4276
  if (connectivityNode) {
4227
- this.createConnection(cimModel, conductingEquip, connectivityNode, PhaseCode_1.PhaseCode.N, true);
4277
+ this.createConnection(cimModel, conductingEquip, connectivityNode, PhaseCode_1.PhaseCode.N, true, false);
4228
4278
  integral7.sternPunktImpModel.stpSchieneUUIDStpImp.set(connectivityNode.getUUID(), conductingEquip);
4229
4279
  }
4230
4280
  else {
@@ -4277,7 +4327,7 @@ class ConverterIntegral7 {
4277
4327
  const uuidGroundDisconnector = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.GroundDisconnector, this.configUuid, keyGroundDisconnector);
4278
4328
  const groundDisconnector = new GroundDisconnector_1.GroundDisconnector(uuidGroundDisconnector, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar, !schaltzustand, false);
4279
4329
  //Set connection to ConnectivityNode at neutral side to GroundingImpedance or PetersenCoil
4280
- this.createConnection(cimModel, groundDisconnector, connectivityNodeN, PhaseCode_1.PhaseCode.N, true);
4330
+ this.createConnection(cimModel, groundDisconnector, connectivityNodeN, PhaseCode_1.PhaseCode.N, true, false);
4281
4331
  // cimModel.addGroundDisconnector(groundDisconnector);
4282
4332
  integral7.sternPunktImpModel.groundDisconnectors.set(groundDisconnector.getUUID(), groundDisconnector);
4283
4333
  /** SchaltelementID mit GroundDisconnector UUID verknüpfen, um Topologie des netz_knoten1pelem-Elements herstellen zu können */
@@ -4321,7 +4371,7 @@ class ConverterIntegral7 {
4321
4371
  bay.voltageLevel = voltageLevel;
4322
4372
  voltageLevel.addBay(bay);
4323
4373
  const i7Schluessel = voltageLevel.description +
4324
- '/LK-' +
4374
+ integral_prefix_1.LAENGSKUPPLUNG_PRAEFIX +
4325
4375
  (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
4326
4376
  bay.key = i7Schluessel;
4327
4377
  }
@@ -4412,7 +4462,7 @@ class ConverterIntegral7 {
4412
4462
  result_ohl = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.FREILEITUNG), leitungIDs));
4413
4463
  }
4414
4464
  for (const i7Data of result) {
4415
- let lineNames = new Map;
4465
+ let lineNames = new Map();
4416
4466
  /** Alle Stromkreisabschnitte */
4417
4467
  const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
4418
4468
  if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
@@ -4436,6 +4486,7 @@ class ConverterIntegral7 {
4436
4486
  '-' +
4437
4487
  (0, utils_2.ueberpruefeZeichenkette)(i7Data.stkabname);
4438
4488
  /** Wenn kein Stromkreisobjekt vorhanden ist, dann erstelle ein neues Objekt. */
4489
+ //TODO: take guid from model CLeitung-object
4439
4490
  const uuidString = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Line, this.configUuid, i7Schluessel);
4440
4491
  let lineName = createLineName(i7Data, uuidString, lineNames);
4441
4492
  // Line (CGMES/CIM) -> ElmBranch
@@ -4453,6 +4504,7 @@ class ConverterIntegral7 {
4453
4504
  (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner) +
4454
4505
  '-' +
4455
4506
  (0, utils_2.ueberpruefeZeichenkette)(stk.bezeichner);
4507
+ //TODO take guid from model CFreileitungAbschnitt-object, CKabelAbschnitt-object
4456
4508
  const uuid = (0, parser_utils_1.getUUID)(stk.custom_guid_0120 + stk.custom_guid_2137, this.objectMappingConfig.standardiseUuid);
4457
4509
  // acLineSegment -> ElmLne
4458
4510
  const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, line.name + '_' + stk.bezeichner, i7Data.stkabname, i7Data.kommentar); //'name', 'shortname' für alle INTEGRALACLineSegment übernehmen
@@ -4489,7 +4541,7 @@ class ConverterIntegral7 {
4489
4541
  * KnotenZw -> Netzschlaufe -> KnotenSo -> Anschlusspunkt
4490
4542
  */
4491
4543
  const acLineSegmentStart = acLineSegments[0];
4492
- const startTerminal = this.createBoundaryConnection(frame, acLineSegmentStart, i7Data.aknoten, PhaseCode_1.PhaseCode.ABC);
4544
+ const startTerminal = this.createBoundaryConnection(frame, acLineSegmentStart, i7Data.aknoten, i7Data, PhaseCode_1.PhaseCode.ABC, false);
4493
4545
  /** SVProfile Data */
4494
4546
  if (i7Data.flakn3p) {
4495
4547
  this.svProfileZweigData.set(i7Data.flakn3p, {
@@ -4531,7 +4583,7 @@ class ConverterIntegral7 {
4531
4583
  const cn = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([acLineSegment1.getUUID().substring(0, 8), '_CN'], 32, false));
4532
4584
  /**Connect end of aclinesegment i*/
4533
4585
  cn.connectivityNodeContainer = acLineSegment1.equipmentContainer;
4534
- tmp_terminal = this.createConnection(cimModel, acLineSegment1, cn, PhaseCode_1.PhaseCode.ABC, true);
4586
+ tmp_terminal = this.createConnection(cimModel, acLineSegment1, cn, PhaseCode_1.PhaseCode.ABC, true, false, integral7);
4535
4587
  //this.setACLineSegmentCurrentLimt(cimModel, acLineSegment1, acLineSegment1.description, tmp_terminal);
4536
4588
  cimModel.addACLineSegment(acLineSegment1);
4537
4589
  if (tmp_terminal) {
@@ -4540,7 +4592,7 @@ class ConverterIntegral7 {
4540
4592
  cable = result_cable.filter(elem => elem.id === stromkreisabschnitte[i].id);
4541
4593
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegments[i], stromkreisabschnitte[i], cable.length > 0, defaultValuesConfig);
4542
4594
  /**Connect end of aclinesegment i+1*/
4543
- tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true);
4595
+ tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true, false, integral7);
4544
4596
  //this.setACLineSegmentCurrentLimt(cimModel, acLineSegment2, acLineSegment2.description, tmp_terminal);
4545
4597
  cimModel.addACLineSegment(acLineSegment1);
4546
4598
  if (tmp_terminal) {
@@ -4551,7 +4603,7 @@ class ConverterIntegral7 {
4551
4603
  }
4552
4604
  /** Ende */
4553
4605
  const acLineSegmentZiel = acLineSegments[anzahl - 1];
4554
- const targetTerminal = this.createBoundaryConnection(frame, acLineSegmentZiel, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC);
4606
+ const targetTerminal = this.createBoundaryConnection(frame, acLineSegmentZiel, i7Data.eknoten, i7Data, PhaseCode_1.PhaseCode.ABC, false);
4555
4607
  /** SvProfile Data */
4556
4608
  if (i7Data.flekn3p) {
4557
4609
  this.svProfileZweigData.set(i7Data.flekn3p, {
@@ -5210,7 +5262,7 @@ class ConverterIntegral7 {
5210
5262
  * KnotenSf -> Schaltfeldpunkt
5211
5263
  * KnotenZw -> Netzschlaufe -> KnotenSo -> Anschlusspunkt
5212
5264
  * */
5213
- const startTerminal = this.createBoundaryConnection(frame, powerTransformer, i7Data.aknoten, PhaseCode_1.PhaseCode.ABC);
5265
+ const startTerminal = this.createBoundaryConnection(frame, powerTransformer, i7Data.aknoten, i7Data, PhaseCode_1.PhaseCode.ABC, false);
5214
5266
  /** SvProfile Data */
5215
5267
  if (i7Data.flakn3p) {
5216
5268
  this.svProfileZweigData.set(i7Data.flakn3p, {
@@ -5251,7 +5303,7 @@ class ConverterIntegral7 {
5251
5303
  powerTransformerEnd2.ratedU = ur2;
5252
5304
  /* const ziel = cimModel.getObject(this.integralID2UUID.get(i7Data.eknoten));
5253
5305
  const zielTerminal = ziel ? this.createConnection(cimModel, powerTransformer, ziel, PhaseCode.ABC, true, 2) : undefined;*/
5254
- const zielTerminal = this.createBoundaryConnection(frame, powerTransformer, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC);
5306
+ const zielTerminal = this.createBoundaryConnection(frame, powerTransformer, i7Data.eknoten, i7Data, PhaseCode_1.PhaseCode.ABC, false);
5255
5307
  /** SvProfile Data */
5256
5308
  if (i7Data.flekn3p) {
5257
5309
  this.svProfileZweigData.set(i7Data.flekn3p, {
@@ -5455,7 +5507,7 @@ class ConverterIntegral7 {
5455
5507
  }
5456
5508
  /* const knotenUUID = this.integralID2UUID.get(wicklung1.aknoten);
5457
5509
  const start = cimModel.getObject(knotenUUID);*/
5458
- const terminal1 = this.createBoundaryConnection(frame, powerTransformer, wicklung1.aknoten, PhaseCode_1.PhaseCode.ABC);
5510
+ const terminal1 = this.createBoundaryConnection(frame, powerTransformer, wicklung1.aknoten, wicklung1, PhaseCode_1.PhaseCode.ABC, true);
5459
5511
  /** SvProfile Data */
5460
5512
  if (wicklung1.flakn3p) {
5461
5513
  this.svProfileZweigData.set(wicklung1.flakn3p, {
@@ -5508,7 +5560,7 @@ class ConverterIntegral7 {
5508
5560
  }
5509
5561
  /* const start2 = cimModel.getObject(this.integralID2UUID.get(wicklung2.aknoten));
5510
5562
  const terminal2 = start ? this.createConnection(cimModel, powerTransformer, start2, PhaseCode.ABC, true, 2) : undefined;*/
5511
- const terminal2 = this.createBoundaryConnection(frame, powerTransformer, wicklung2.aknoten, PhaseCode_1.PhaseCode.ABC);
5563
+ const terminal2 = this.createBoundaryConnection(frame, powerTransformer, wicklung2.aknoten, wicklung2, PhaseCode_1.PhaseCode.ABC, true);
5512
5564
  if (wicklung1.flakn3p) {
5513
5565
  this.svProfileZweigData.set(wicklung2.flakn3p, {
5514
5566
  powerFlowResultID: wicklung2.flakn3p,
@@ -5562,7 +5614,7 @@ class ConverterIntegral7 {
5562
5614
  }
5563
5615
  /* const start3 = cimModel.getObject(this.integralID2UUID.get(wicklung2.aknoten));
5564
5616
  const terminal3 = start ? this.createConnection(cimModel, powerTransformer, start3, PhaseCode.ABC, true, 3) : undefined;*/
5565
- const terminal3 = this.createBoundaryConnection(frame, powerTransformer, wicklung3.aknoten, PhaseCode_1.PhaseCode.ABC);
5617
+ const terminal3 = this.createBoundaryConnection(frame, powerTransformer, wicklung3.aknoten, wicklung3, PhaseCode_1.PhaseCode.ABC, false);
5566
5618
  if (wicklung3.flakn3p) {
5567
5619
  this.svProfileZweigData.set(wicklung3.flakn3p, {
5568
5620
  powerFlowResultID: wicklung3.flakn3p,
@@ -6011,7 +6063,7 @@ class ConverterIntegral7 {
6011
6063
  }
6012
6064
  return operationalLimitType;
6013
6065
  }
6014
- createConnection(cimModel, conductingEquipment, object, phase, connected) {
6066
+ createConnection(cimModel, conductingEquipment, object, phase, connected, isTrafo3w, integral7, i7Object) {
6015
6067
  let isNameSet = false;
6016
6068
  let terminal;
6017
6069
  if (object instanceof ConnectivityNode_1.ConnectivityNode) {
@@ -6033,6 +6085,33 @@ class ConverterIntegral7 {
6033
6085
  terminal.conductingEquipment = conductingEquipment;
6034
6086
  conductingEquipment.addTerminal(terminal);
6035
6087
  terminal.connected = (terminal.connected !== undefined) ? terminal.connected : connected;
6088
+ //Complete INT7-key ('schluessel') of this CSchlaufe-object. Assumption: This is a CSchlaufe-object if key_jumper property of Terminal is not undefined.
6089
+ if (terminal.key_jumper !== undefined && integral7 !== undefined && integral7.knotenZwIDs.size > 0) {
6090
+ const schlaufeId = this.UUID2Integral7ID.get(terminal.getUUID())[0];
6091
+ const kZw = [...integral7.knotenZwIDs.values()].filter(elem => elem.schlaufe === schlaufeId)[0];
6092
+ let i7Schluessel = undefined;
6093
+ if (conductingEquipment instanceof ACLineSegment_1.ACLineSegment) {
6094
+ i7Schluessel = conductingEquipment.equipmentContainer.key +
6095
+ integral_prefix_1.KNOTEN_ZW_PRAEFIX +
6096
+ kZw.bezeichner +
6097
+ terminal.key_jumper;
6098
+ }
6099
+ else if (isTrafo3w) {
6100
+ i7Schluessel = conductingEquipment.key +
6101
+ integral_prefix_1.TRAFOWICKLUNG3W_PRAEFIX +
6102
+ i7Object.bezeichner +
6103
+ integral_prefix_1.KNOTEN_ZW_PRAEFIX +
6104
+ kZw.bezeichner +
6105
+ terminal.key_jumper;
6106
+ }
6107
+ else {
6108
+ i7Schluessel = conductingEquipment.key +
6109
+ integral_prefix_1.KNOTEN_ZW_PRAEFIX +
6110
+ kZw.bezeichner +
6111
+ terminal.key_jumper;
6112
+ }
6113
+ terminal.key_jumper = i7Schluessel;
6114
+ }
6036
6115
  if (!isNameSet) {
6037
6116
  terminal.name = (0, util_create_1.createNotation)([conductingEquipment.getUUID().substring(0, 8), '_' + terminal.name], 32, true);
6038
6117
  }
@@ -6042,15 +6121,16 @@ class ConverterIntegral7 {
6042
6121
  }
6043
6122
  return terminal;
6044
6123
  }
6045
- createBoundaryConnection(frame, conductingEquipment, i7ObjectID, phase) {
6124
+ createBoundaryConnection(frame, conductingEquipment, i7ObjectID, i7Object, phase, isTrafo3w) {
6046
6125
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
6047
6126
  const cimModel = frame.cimModel;
6127
+ const integral7 = frame.getI7Model();
6048
6128
  const anschlussUUID = this.integralID2UUID.get(i7ObjectID);
6049
6129
  let terminal = undefined;
6050
6130
  let cn = undefined;
6051
6131
  if (cimModel.objects.has(anschlussUUID)) {
6052
6132
  // Anschluss befindet sich im selben Modell
6053
- terminal = this.createConnection(cimModel, conductingEquipment, cimModel.getObject(anschlussUUID), phase, true);
6133
+ terminal = this.createConnection(cimModel, conductingEquipment, cimModel.getObject(anschlussUUID), phase, true, isTrafo3w, integral7, i7Object);
6054
6134
  }
6055
6135
  else {
6056
6136
  // Anschluss befindet sich im Boundary-Modell
@@ -6100,6 +6180,33 @@ class ConverterIntegral7 {
6100
6180
  if (terminal) {
6101
6181
  terminal.conductingEquipment = conductingEquipment;
6102
6182
  conductingEquipment.addTerminal(terminal);
6183
+ //Complete INT7-key ('schluessel') of this CSchlaufe-object. Assumption: This is a CSchlaufe-object if key_jumper property of Terminal is not undefined.
6184
+ if (terminal.key_jumper !== undefined && integral7 !== undefined && integral7.knotenZwIDs.size > 0) {
6185
+ const schlaufeId = this.UUID2Integral7ID.get(terminal.getUUID())[0];
6186
+ const kZw = [...integral7.knotenZwIDs.values(), ...frameBD.integral7Modell.knotenZwIDs.values()].filter(elem => elem.schlaufe === schlaufeId)[0];
6187
+ let i7Schluessel = undefined;
6188
+ if (conductingEquipment instanceof ACLineSegment_1.ACLineSegment) {
6189
+ i7Schluessel = conductingEquipment.equipmentContainer.key +
6190
+ integral_prefix_1.KNOTEN_ZW_PRAEFIX +
6191
+ kZw.bezeichner +
6192
+ terminal.key_jumper;
6193
+ }
6194
+ else if (isTrafo3w) {
6195
+ i7Schluessel = conductingEquipment.key +
6196
+ integral_prefix_1.TRAFOWICKLUNG3W_PRAEFIX +
6197
+ i7Object.bezeichner +
6198
+ integral_prefix_1.KNOTEN_ZW_PRAEFIX +
6199
+ kZw.bezeichner +
6200
+ terminal.key_jumper;
6201
+ }
6202
+ else {
6203
+ i7Schluessel = conductingEquipment.key +
6204
+ integral_prefix_1.KNOTEN_ZW_PRAEFIX +
6205
+ kZw.bezeichner +
6206
+ terminal.key_jumper;
6207
+ }
6208
+ terminal.key_jumper = i7Schluessel;
6209
+ }
6103
6210
  }
6104
6211
  }
6105
6212
  else {
@@ -6597,7 +6704,7 @@ class ConverterIntegral7 {
6597
6704
  }
6598
6705
  // Spannungsebene
6599
6706
  if ((_b = (_a = powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.terminal) === null || _a === void 0 ? void 0 : _a.connectivityNode) === null || _b === void 0 ? void 0 : _b.getBaseVoltage()) {
6600
- powerTransformerEnd.baseVoltage = powerTransformerEnd.terminal.connectivityNode.getBaseVoltage();
6707
+ powerTransformerEnd.baseVoltage = powerTransformerEnd.getTerminal().connectivityNode.getBaseVoltage();
6601
6708
  }
6602
6709
  else if (powerTransformerEnd.ratedU) {
6603
6710
  powerTransformerEnd.baseVoltage = (0, util_create_1.createBaseVoltageIfNotExists)(cimModel, powerTransformerEnd.ratedU, this.configUuid, this.exportFramesBoundary);
@@ -7001,13 +7108,16 @@ class ConverterIntegral7 {
7001
7108
  let connectivityNodeN = undefined;
7002
7109
  let groundDisconnector = undefined;
7003
7110
  let voltageLevel = undefined;
7111
+ if (powerTransformer.getUUID() === "57664475-b08c-484a-8ef1-d84023084cd1" && powerTransformerEnd.endNumber === 2) {
7112
+ const stop = false;
7113
+ }
7004
7114
  if (stpKnoten) {
7005
7115
  groundDisconnectorUUID = i7Modell.sternPunktImpModel.stpSchaltelementeIdGroundDisconnectorUUID.get(stpKnoten.schaltelement1pelem);
7006
7116
  connectivityNodeN = i7Modell.sternPunktImpModel.stpSchieneIdConnectivityNode.get(i7Modell.sternPunktImpModel.GroundDisconnectorUuidStpSchieneId.get(groundDisconnectorUUID));
7007
7117
  groundDisconnector = i7Modell.sternPunktImpModel.groundDisconnectors.get(groundDisconnectorUUID);
7008
7118
  if (groundDisconnector !== undefined && groundDisconnector.getTerminals().size === 1) {
7009
7119
  const cn = powerTransformerEnd.getTerminal().getConnectivityNode();
7010
- this.createConnection(cimModel, groundDisconnector, cn, PhaseCode_1.PhaseCode.ABCN, true);
7120
+ this.createConnection(cimModel, groundDisconnector, cn, PhaseCode_1.PhaseCode.ABCN, true, false);
7011
7121
  }
7012
7122
  else if (groundDisconnector !== undefined && groundDisconnector.getTerminals().size < 1) {
7013
7123
  this.logger.debug(`GroundDisconnector of PowerTransformerEnd ${powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.mrid} is not successfully connected.`);
@@ -7016,7 +7126,33 @@ class ConverterIntegral7 {
7016
7126
  this.logger.debug(`GroundDisconnector of PowerTransformerEnd ${powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.mrid} is referenced by more than two Terminal objects.`);
7017
7127
  }
7018
7128
  /** EquipmentContainer - Voltage Level*/
7019
- voltageLevel = (this.determineEquipmentContainer('VoltageLevel', cimModel, powerTransformerEnd.getTerminal().connectivityNode.connectivityNodeContainer));
7129
+ if (powerTransformerEnd.endNumber == 2 && powerTransformer.getUUID() === "57664475-b08c-484a-8ef1-d84023084cd1") {
7130
+ const stop = true;
7131
+ }
7132
+ let tmpUUID = powerTransformerEnd.getTerminal().getConnectivityNodeUUID();
7133
+ let connectivityNodes = new Map();
7134
+ let voltageLevels = new Map();
7135
+ let bays = new Map();
7136
+ for (var cn of cimModel.connectivityNodes.entries()) {
7137
+ connectivityNodes.set(cn[0], cn[1]);
7138
+ }
7139
+ for (var cnBd of this.exportFramesBoundary.values().next().value.cimModel.connectivityNodes.entries()) {
7140
+ connectivityNodes.set(cnBd[0], cnBd[1]);
7141
+ }
7142
+ for (var vl of cimModel.voltageLevels.entries()) {
7143
+ voltageLevels.set(vl[0], vl[1]);
7144
+ }
7145
+ for (var vlBd of this.exportFramesBoundary.values().next().value.cimModel.voltageLevels.entries()) {
7146
+ voltageLevels.set(vlBd[0], vlBd[1]);
7147
+ }
7148
+ for (var bay of cimModel.bays.entries()) {
7149
+ bays.set(bay[0], bay[1]);
7150
+ }
7151
+ const tmpCn = connectivityNodes.get(tmpUUID) ? connectivityNodes.get(tmpUUID) : undefined;
7152
+ tmpUUID = tmpCn.getConnectivityNodeContainerUUID();
7153
+ let equipmentContainer = voltageLevels.get(tmpUUID) ? voltageLevels.get(tmpUUID) : (bays.get(tmpUUID) ? bays.get(tmpUUID) : undefined);
7154
+ equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, equipmentContainer);
7155
+ voltageLevel = equipmentContainer ? equipmentContainer : undefined;
7020
7156
  }
7021
7157
  if (stpKnoten && groundDisconnector === undefined) { //Case 3 and Case 4
7022
7158
  const earthFaultCompensator = i7Modell.sternPunktImpModel.stpKnotenStpImp.get(stpKnoten.id);