@enervance/insight-cim-model 0.0.16 → 0.0.19

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 (149) hide show
  1. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.d.ts +2 -0
  2. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +65 -13
  3. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  4. package/dist/config/westnetz-neplan/neplan-load.config.js +1 -0
  5. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  6. package/dist/config/westnetz-neplan/property-handler-westenergy.config.d.ts +3 -0
  7. package/dist/config/westnetz-neplan/property-handler-westenergy.config.js +3 -0
  8. package/dist/config/westnetz-neplan/property-handler-westenergy.config.js.map +1 -1
  9. package/dist/constants/cim-class-definition.js +2 -0
  10. package/dist/constants/cim-class-definition.js.map +1 -1
  11. package/dist/constants/cim-class-names.d.ts +1 -0
  12. package/dist/constants/cim-class-names.js +1 -0
  13. package/dist/constants/cim-class-names.js.map +1 -1
  14. package/dist/converter/integral7/ConverterIntegral7.d.ts +9 -1
  15. package/dist/converter/integral7/ConverterIntegral7.js +180 -0
  16. package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
  17. package/dist/converter/integral7/model/interfaces.d.ts +30 -0
  18. package/dist/converter/integral7/sql/integral.sql.d.ts +13 -2
  19. package/dist/converter/integral7/sql/integral.sql.js +30 -4
  20. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  21. package/dist/converter/integral7/utils.js +14 -8
  22. package/dist/converter/integral7/utils.js.map +1 -1
  23. package/dist/data-structures/graph/GraphObject.d.ts +8 -2
  24. package/dist/data-structures/graph/GraphObject.js +12 -3
  25. package/dist/data-structures/graph/GraphObject.js.map +1 -1
  26. package/dist/data-structures/graph/connections/connection.d.ts +2 -2
  27. package/dist/data-structures/graph/connections/connection.js +2 -2
  28. package/dist/data-structures/graph/connections/connection.js.map +1 -1
  29. package/dist/data-structures/graph/graph-interfaces.d.ts +2 -2
  30. package/dist/data-structures/graph/graph-util.js +1 -1
  31. package/dist/data-structures/graph/graph-util.js.map +1 -1
  32. package/dist/data-structures/graph/graph.d.ts +11 -8
  33. package/dist/data-structures/graph/graph.js +48 -71
  34. package/dist/data-structures/graph/graph.js.map +1 -1
  35. package/dist/data-structures/graph/nodes/GraphNode.d.ts +1 -2
  36. package/dist/data-structures/graph/nodes/GraphNode.js +2 -2
  37. package/dist/data-structures/graph/nodes/GraphNode.js.map +1 -1
  38. package/dist/data-structures/tree/GraphTree.d.ts +24 -0
  39. package/dist/data-structures/tree/GraphTree.js +81 -0
  40. package/dist/data-structures/tree/GraphTree.js.map +1 -0
  41. package/dist/data-structures/tree/GraphTreeEdge.d.ts +22 -0
  42. package/dist/data-structures/tree/{TreeEdge.js → GraphTreeEdge.js} +5 -5
  43. package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -0
  44. package/dist/data-structures/tree/GraphTreeNode.d.ts +21 -0
  45. package/dist/data-structures/tree/{TreeNode.js → GraphTreeNode.js} +11 -7
  46. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -0
  47. package/dist/data-structures/tree/GraphTreeObject.d.ts +10 -0
  48. package/dist/data-structures/tree/GraphTreeObject.js +22 -0
  49. package/dist/data-structures/tree/GraphTreeObject.js.map +1 -0
  50. package/dist/data-structures/tree/tree-interfaces.d.ts +1 -0
  51. package/dist/etl-neplan/etl-neplan-contingency-analysis.js +0 -2
  52. package/dist/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
  53. package/dist/etl-neplan/etl-neplan-csv.d.ts +10 -3
  54. package/dist/etl-neplan/etl-neplan-csv.js +170 -50
  55. package/dist/etl-neplan/etl-neplan-csv.js.map +1 -1
  56. package/dist/etl-neplan/etl-neplan-feederline.d.ts +1 -1
  57. package/dist/etl-neplan/etl-neplan-feederline.js +16 -3
  58. package/dist/etl-neplan/etl-neplan-feederline.js.map +1 -1
  59. package/dist/etl-neplan/etl-neplan.js +24 -19
  60. package/dist/etl-neplan/etl-neplan.js.map +1 -1
  61. package/dist/etl-neplan/neplan-contingency-analysis.d.ts +1 -1
  62. package/dist/etl-neplan/neplan-contingency-analysis.js +20 -12
  63. package/dist/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  64. package/dist/index.d.ts +6 -1
  65. package/dist/index.js +8 -1
  66. package/dist/index.js.map +1 -1
  67. package/dist/interfaces/default-values-config.d.ts +14 -0
  68. package/dist/interfaces/model/assets/IAnalytic.d.ts +9 -0
  69. package/dist/interfaces/model/assets/IAnalytic.js +3 -0
  70. package/dist/interfaces/model/assets/IAnalytic.js.map +1 -0
  71. package/dist/interfaces/model/assets/IDocument.d.ts +4 -0
  72. package/dist/interfaces/model/assets/IDocument.js +3 -0
  73. package/dist/interfaces/model/assets/IDocument.js.map +1 -0
  74. package/dist/model/assets/Analytic.d.ts +21 -0
  75. package/dist/model/assets/Analytic.js +85 -0
  76. package/dist/model/assets/Analytic.js.map +1 -0
  77. package/dist/model/assets/AnalyticKind.d.ts +8 -0
  78. package/dist/model/assets/AnalyticKind.js +13 -0
  79. package/dist/model/assets/AnalyticKind.js.map +1 -0
  80. package/dist/model/assets/AnalyticScore.js.map +1 -1
  81. package/dist/model/assets/Asset.d.ts +7 -0
  82. package/dist/model/assets/Asset.js +15 -0
  83. package/dist/model/assets/Asset.js.map +1 -1
  84. package/dist/model/assets/HealthScore.js.map +1 -1
  85. package/dist/model/common/ActivityRecord.js.map +1 -1
  86. package/dist/model/common/Document.d.ts +3 -1
  87. package/dist/model/common/Document.js.map +1 -1
  88. package/dist/model/core/ConnectivityNode.js +0 -2
  89. package/dist/model/core/ConnectivityNode.js.map +1 -1
  90. package/dist/model/core/IdentifiedObject.js +2 -1
  91. package/dist/model/core/IdentifiedObject.js.map +1 -1
  92. package/dist/model/diagram/DiagramObject.d.ts +1 -0
  93. package/dist/model/diagram/DiagramObject.js +37 -26
  94. package/dist/model/diagram/DiagramObject.js.map +1 -1
  95. package/dist/model/extensions/enervance/assets/EVAnalytic.d.ts +11 -0
  96. package/dist/model/extensions/enervance/assets/EVAnalytic.js +58 -0
  97. package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -0
  98. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  99. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +6 -0
  100. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  101. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +3 -1
  102. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +2 -4
  103. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  104. package/dist/model/model/Model.d.ts +8 -0
  105. package/dist/model/model/Model.js +26 -0
  106. package/dist/model/model/Model.js.map +1 -1
  107. package/dist/model/topology/TopologicalNode.js +0 -2
  108. package/dist/model/topology/TopologicalNode.js.map +1 -1
  109. package/dist/model/wires/ACLineSegment.js +8 -0
  110. package/dist/model/wires/ACLineSegment.js.map +1 -1
  111. package/dist/model/wires/Conductor.js +4 -0
  112. package/dist/model/wires/Conductor.js.map +1 -1
  113. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  114. package/dist/model/wires/EnergyConsumer.d.ts +2 -0
  115. package/dist/model/wires/EnergyConsumer.js +8 -0
  116. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  117. package/dist/model/wires/EnergySource.js.map +1 -1
  118. package/dist/model/wires/GroundingImpedance.d.ts +8 -0
  119. package/dist/model/wires/GroundingImpedance.js +32 -0
  120. package/dist/model/wires/GroundingImpedance.js.map +1 -0
  121. package/dist/model/wires/Junction.d.ts +1 -1
  122. package/dist/model/wires/PetersenCoil.d.ts +6 -0
  123. package/dist/model/wires/PetersenCoil.js +57 -0
  124. package/dist/model/wires/PetersenCoil.js.map +1 -1
  125. package/dist/model/wires/PowerTransformerEnd.d.ts +2 -0
  126. package/dist/model/wires/PowerTransformerEnd.js +6 -0
  127. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  128. package/dist/model/wires/TransformerEnd.d.ts +5 -0
  129. package/dist/model/wires/TransformerEnd.js +15 -3
  130. package/dist/model/wires/TransformerEnd.js.map +1 -1
  131. package/dist/util/sparql/sparql-utils.d.ts +5 -2
  132. package/dist/util/sparql/sparql-utils.js +14 -7
  133. package/dist/util/sparql/sparql-utils.js.map +1 -1
  134. package/dist/util/util-search.d.ts +0 -3
  135. package/dist/util/util-search.js +1 -10
  136. package/dist/util/util-search.js.map +1 -1
  137. package/dist/util/utils.js +2 -2
  138. package/dist/util/utils.js.map +1 -1
  139. package/package.json +12 -3
  140. package/dist/data-structures/tree/Tree.d.ts +0 -20
  141. package/dist/data-structures/tree/Tree.js +0 -49
  142. package/dist/data-structures/tree/Tree.js.map +0 -1
  143. package/dist/data-structures/tree/TreeEdge.d.ts +0 -22
  144. package/dist/data-structures/tree/TreeEdge.js.map +0 -1
  145. package/dist/data-structures/tree/TreeNode.d.ts +0 -20
  146. package/dist/data-structures/tree/TreeNode.js.map +0 -1
  147. package/dist/data-structures/tree/TreeObject.d.ts +0 -5
  148. package/dist/data-structures/tree/TreeObject.js +0 -11
  149. package/dist/data-structures/tree/TreeObject.js.map +0 -1
@@ -49,6 +49,8 @@ const ConformLoad_1 = require("../../model/loadmodel/ConformLoad");
49
49
  const LinearShuntCompensator_1 = require("../../model/wires/LinearShuntCompensator");
50
50
  const SynchronousMachineOperatingMode_1 = require("../../model/wires/SynchronousMachineOperatingMode");
51
51
  const StaticVarCompensator_1 = require("../../model/wires/StaticVarCompensator");
52
+ const PetersenCoil_1 = require("../../model/wires/PetersenCoil");
53
+ const GroundingImpedance_1 = require("../../model/wires/GroundingImpedance");
52
54
  class ConverterIntegral7 {
53
55
  constructor() {
54
56
  this.limit = 100;
@@ -61,6 +63,7 @@ class ConverterIntegral7 {
61
63
  this.knotenSoIDs = [];
62
64
  this.knotenSfIDs = [];
63
65
  this.leitungsIDs = [];
66
+ this.kdrosseltypen = new Map();
64
67
  this.integralStandorte = new Map();
65
68
  this.integralSchaltanlagen = new Map();
66
69
  this.integralSchaltanlagenAbschnitte = new Map();
@@ -74,6 +77,7 @@ class ConverterIntegral7 {
74
77
  this.integralLeitungen = new Map();
75
78
  this.memoryObjects = new Map();
76
79
  this.leitungAnschlussKnotenIDs = new Set();
80
+ this.stpSchieneJunctionUUIDs = new Map();
77
81
  this.knotenSpannung = new Map();
78
82
  this.substationVoltagelevels = new Map();
79
83
  this.cimModel = new __1.Model();
@@ -138,6 +142,7 @@ class ConverterIntegral7 {
138
142
  yield this.convertStromkreise();
139
143
  yield this.convertBetriebsmitteltypenLeitung();
140
144
  yield this.convertBetriebsmitteltypenTrafo();
145
+ yield this.convertBetriebsmitteltypenKdrossel();
141
146
  yield this.convertNetzvarianten();
142
147
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.geographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
143
148
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subgeographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -165,6 +170,7 @@ class ConverterIntegral7 {
165
170
  yield this.convertSchaltfelder(schaltanlagenAbschnittIDs);
166
171
  }
167
172
  this.schaltfeldIDs = [...this.integralSchaltfelder.keys()];
173
+ const stpSchieneID = yield this.convertSternpunktSchienen(standortIDs, defaultValuesConfig);
168
174
  if (schaltanlagenAbschnittIDs.length > 0) {
169
175
  yield this.convertQuerkupplungen(schaltanlagenAbschnittIDs);
170
176
  }
@@ -215,6 +221,9 @@ class ConverterIntegral7 {
215
221
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
216
222
  yield this.convertStatcom([...knotenSoIDs, ...this.knotenSfIDs]);
217
223
  }
224
+ if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
225
+ yield this.convertSVC([...knotenSoIDs, ...this.knotenSfIDs]);
226
+ }
218
227
  const containerStarreVerbindungen = [...this.schaltfeldIDs, ...this.querkupplungIDs, ...this.laengskupplungIDs];
219
228
  if (containerStarreVerbindungen.length > 0) {
220
229
  yield this.convertStarreVerbindungen(containerStarreVerbindungen);
@@ -782,6 +791,70 @@ class ConverterIntegral7 {
782
791
  }
783
792
  });
784
793
  }
794
+ convertSternpunktSchienen(standortIDs, defaultValuesConfig) {
795
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
796
+ return new Promise((reject, resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
797
+ const stpSchieneIDs = [];
798
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE)) {
799
+ const stpSchiene = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STERNPUNKT_SCHIENE, 0, 0, standortIDs));
800
+ for (const i7DataSchiene of stpSchiene) {
801
+ stpSchieneIDs.push(i7DataSchiene.id);
802
+ const connectivityNode = new __1.ConnectivityNode(__1.generateUUID(), utils_2.getName(i7DataSchiene), `StpSchiene_${i7DataSchiene.id}`);
803
+ const junction = new __1.Junction(__1.generateUUID(), 'StpJunction', `${i7DataSchiene.bezeichner}`);
804
+ __1.createConnection(this.cimModel, junction, connectivityNode, __1.PhaseCode.N);
805
+ const substation = this.cimModel.getObject(this.integralID2UUID.get(i7DataSchiene.standort));
806
+ if (substation) {
807
+ connectivityNode.connectivityNodeContainerUUID = substation.mrid;
808
+ junction.equipmentContainerUUID = substation.mrid;
809
+ }
810
+ this.cimModel.addConnectivityNode(connectivityNode);
811
+ this.cimModel.addJunction(junction);
812
+ this.stpSchieneJunctionUUIDs.set(i7DataSchiene.id, junction.mrid);
813
+ this.integralID2UUID.set(i7DataSchiene.id, connectivityNode.mrid);
814
+ }
815
+ }
816
+ else {
817
+ console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
818
+ }
819
+ resolve(stpSchieneIDs);
820
+ }));
821
+ });
822
+ }
823
+ convertKdrossel(stpScheinenID) {
824
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
825
+ return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
826
+ try {
827
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ)) {
828
+ const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, 0, 0, stpScheinenID));
829
+ for (const i7Data of result) {
830
+ const kdType = this.kdrosseltypen.get(i7Data.nametyp);
831
+ const imax = utils_2.isNumericI7(i7Data.imax) ? i7Data.imax : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.imax) ? kdType === null || kdType === void 0 ? void 0 : kdType.imax : undefined);
832
+ const imin = utils_2.isNumericI7(i7Data.imin) ? i7Data.imin : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.imin) ? kdType === null || kdType === void 0 ? void 0 : kdType.imin : undefined);
833
+ if (imax && imin) {
834
+ const petersenCoil = new PetersenCoil_1.PetersenCoil(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
835
+ this.cimModel.addPetersenCoil(petersenCoil);
836
+ }
837
+ else {
838
+ const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
839
+ groundingImpedance.r = utils_2.isNumericI7(i7Data.rne) ? i7Data.rne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? kdType === null || kdType === void 0 ? void 0 : kdType.rne : undefined);
840
+ groundingImpedance.x = utils_2.isNumericI7(i7Data.xne) ? i7Data.xne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
841
+ this.cimModel.addGroundingImpedance(groundingImpedance);
842
+ }
843
+ }
844
+ }
845
+ else {
846
+ console.log(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
847
+ }
848
+ }
849
+ catch (e) {
850
+ console.log(e);
851
+ }
852
+ finally {
853
+ resolve('');
854
+ }
855
+ }));
856
+ });
857
+ }
785
858
  covertSchaltanlagen(standortIDs, defaultValuesConfig) {
786
859
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
787
860
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGE)) {
@@ -1383,6 +1456,53 @@ class ConverterIntegral7 {
1383
1456
  }
1384
1457
  });
1385
1458
  }
1459
+ convertSVC(knotenSfIDs) {
1460
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1461
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SVC)) {
1462
+ const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SVC, 0, 0, knotenSfIDs));
1463
+ for (const i7Data of result) {
1464
+ const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1465
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1466
+ __1.createSvStatus(this.cimModel, inBetrieb, statVarCom);
1467
+ const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1468
+ let terminal;
1469
+ if (connectivityNode) {
1470
+ terminal = __1.createConnection(this.cimModel, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1471
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1472
+ if (equipmentContainer) {
1473
+ statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1474
+ }
1475
+ else {
1476
+ console.log(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
1477
+ }
1478
+ }
1479
+ else {
1480
+ console.log(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
1481
+ }
1482
+ const regulatingControl = utils_2.createRegulatingControl(`SVC_${statVarCom.name}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1483
+ const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1484
+ regulatingControl.targetValue = uref;
1485
+ statVarCom.voltageSetPoint = uref;
1486
+ const flagOS = utils_2.convertToBooleanI7(i7Data.flag_os);
1487
+ if (flagOS && i7Data.trafo) {
1488
+ this.statcomRegulatingControls.set(i7Data.trafo, regulatingControl);
1489
+ this.cimModel.regulatingControl.delete(regulatingControl.mrid);
1490
+ }
1491
+ else if (terminal) {
1492
+ regulatingControl.terminalUUID = terminal.mrid;
1493
+ }
1494
+ else {
1495
+ console.log(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1496
+ }
1497
+ this.cimModel.addStaticVarCompensator(statVarCom);
1498
+ this.integralID2UUID.set(i7Data.id, statVarCom.mrid);
1499
+ }
1500
+ }
1501
+ else {
1502
+ console.log(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1503
+ }
1504
+ });
1505
+ }
1386
1506
  addTerminal2StatcomRegulatingControl(i7TrafoID, powerTransformer) {
1387
1507
  var _a;
1388
1508
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -2176,15 +2296,49 @@ class ConverterIntegral7 {
2176
2296
  const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRAFO3W, limit, offset, []));
2177
2297
  const trafoIDs = result.map(obj => obj['id']);
2178
2298
  const trafoWicklungen = new Map();
2299
+ const trafoWicklungIDs = [];
2179
2300
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) && trafoIDs.length) {
2180
2301
  const wicklungenResult = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRAFO3_WICKLUNG, 0, 0, trafoIDs));
2181
2302
  for (const wicklung of wicklungenResult) {
2182
2303
  trafoWicklungen.set(wicklung.id, wicklung);
2304
+ trafoWicklungIDs.push(wicklung.id);
2183
2305
  }
2184
2306
  }
2185
2307
  else {
2186
2308
  console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2187
2309
  }
2310
+ const sternpunktKnotenMap = new Map();
2311
+ const sternpunktKnotenIDs = [];
2312
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoWicklungIDs.length) {
2313
+ const sternpunktKnotenResult = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, 0, 0, trafoWicklungIDs));
2314
+ for (const spKnoten of sternpunktKnotenResult) {
2315
+ sternpunktKnotenMap.set(spKnoten.netzobjekt, spKnoten);
2316
+ sternpunktKnotenIDs.push(spKnoten.id);
2317
+ }
2318
+ }
2319
+ const sternpunktSchalterMap = new Map();
2320
+ const sternpunktSchalterAnschlussIDs = [];
2321
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER) && sternpunktKnotenIDs.length) {
2322
+ const sternpunktSchalterResult = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STERNPUNKT_SCHALTER, 0, 0, sternpunktKnotenIDs));
2323
+ for (const spSchalter of sternpunktSchalterResult) {
2324
+ sternpunktSchalterMap.set(spSchalter.aknoten, spSchalter);
2325
+ sternpunktSchalterAnschlussIDs.push(spSchalter.eknoten);
2326
+ }
2327
+ }
2328
+ const sternpunktSchieneMap = new Map();
2329
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE) && sternpunktSchalterAnschlussIDs.length) {
2330
+ const sternpunktSchieneResult = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STERNPUNKT_SCHIENE, 0, 0, sternpunktSchalterAnschlussIDs));
2331
+ for (const spSchiene of sternpunktSchieneResult) {
2332
+ sternpunktSchieneMap.set(spSchiene.id, spSchiene);
2333
+ }
2334
+ }
2335
+ const sternpunktImpendanzMap = new Map();
2336
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ) && sternpunktSchalterAnschlussIDs.length) {
2337
+ const sternpunktImpedanzResult = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, 0, 0, sternpunktSchalterAnschlussIDs));
2338
+ for (const spImpedanz of sternpunktImpedanzResult) {
2339
+ sternpunktImpendanzMap.set(spImpedanz.id, spImpedanz);
2340
+ }
2341
+ }
2188
2342
  for (const i7Data of result) {
2189
2343
  const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2190
2344
  const powerTransformerInfo = this.cimModel.getPowerTransformer3WInfoByName(i7Data.nametyp);
@@ -2246,6 +2400,7 @@ class ConverterIntegral7 {
2246
2400
  powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2247
2401
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
2248
2402
  this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
2403
+ this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, sternpunktKnotenMap, sternpunktSchalterMap, sternpunktSchieneMap, sternpunktImpendanzMap);
2249
2404
  if (terminal1) {
2250
2405
  powerTransformerEnd1.terminalUUID = terminal1.mrid;
2251
2406
  this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, terminal1.mrid, ir1);
@@ -2289,6 +2444,7 @@ class ConverterIntegral7 {
2289
2444
  powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2290
2445
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
2291
2446
  this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
2447
+ this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, sternpunktKnotenMap, sternpunktSchalterMap, sternpunktSchieneMap, sternpunktImpendanzMap);
2292
2448
  if (terminal2) {
2293
2449
  powerTransformerEnd2.terminalUUID = terminal2.mrid;
2294
2450
  this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal2.mrid, ir2);
@@ -2332,6 +2488,7 @@ class ConverterIntegral7 {
2332
2488
  powerTransformerEnd3.powerTransformerUUID = powerTransformer.mrid;
2333
2489
  powerTransformer.addPowerTransformerEnd(powerTransformerEnd3);
2334
2490
  this.cimModel.addPowerTransformerEnd(powerTransformerEnd3);
2491
+ this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, sternpunktKnotenMap, sternpunktSchalterMap, sternpunktSchieneMap, sternpunktImpendanzMap);
2335
2492
  if (terminal3) {
2336
2493
  powerTransformerEnd3.terminalUUID = terminal3.mrid;
2337
2494
  this.setConductingEquipmentCurrentLimit('W3 ' + powerTransformer.name, terminal3.mrid, ir3);
@@ -2359,6 +2516,29 @@ class ConverterIntegral7 {
2359
2516
  }
2360
2517
  });
2361
2518
  }
2519
+ convertTrafoGrounding(transformerEndID, powerTransformerEnd1, sternpunktKnotenMap, sternpunktSchalterMap, sternpunktSchieneMap, sternpunktImpendanzMap) {
2520
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
2521
+ if (sternpunktKnotenMap.has(transformerEndID)) {
2522
+ const stpKnoten = sternpunktKnotenMap.get(transformerEndID);
2523
+ if (!sternpunktSchalterMap.has(stpKnoten.schaltelement1pelem)) {
2524
+ powerTransformerEnd1.grounded = true;
2525
+ }
2526
+ }
2527
+ });
2528
+ }
2529
+ convertBetriebsmitteltypenKdrossel() {
2530
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
2531
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KDROSSEL)) {
2532
+ const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_KDROSSEL, 0, 0, []));
2533
+ for (const i7Data of result) {
2534
+ this.kdrosseltypen.set(i7Data.name, i7Data);
2535
+ }
2536
+ }
2537
+ else {
2538
+ console.log(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2539
+ }
2540
+ });
2541
+ }
2362
2542
  convertLaengsdrosseln(limit, offset, defaultValuesConfig) {
2363
2543
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2364
2544
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL)) {