@enervance/insight-cim-model 0.0.58 → 0.0.60

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 (158) hide show
  1. package/dist/config/westnetz-neplan/neplan-load.config.js +0 -1
  2. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  3. package/dist/constants/cim-class-definition.js +0 -10
  4. package/dist/constants/cim-class-definition.js.map +1 -1
  5. package/dist/constants/cim-class-names.d.ts +0 -5
  6. package/dist/constants/cim-class-names.js +0 -5
  7. package/dist/constants/cim-class-names.js.map +1 -1
  8. package/dist/constants/cim.sourcesystem.d.ts +5 -6
  9. package/dist/constants/cim.sourcesystem.js +8 -9
  10. package/dist/constants/cim.sourcesystem.js.map +1 -1
  11. package/dist/converter/integral7/ConverterIntegral7.js +23 -23
  12. package/dist/converter/integral7/converter-i7.d.ts +3 -5
  13. package/dist/converter/integral7/converter-i7.js +482 -475
  14. package/dist/converter/integral7/converter-i7.js.map +1 -1
  15. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +3 -2
  16. package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
  17. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +3 -2
  18. package/dist/converter/integral7/interface-i7/export-frame-i7.js +15 -13
  19. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  20. package/dist/converter/integral7/model/dl-utils/ISchemaDatabaseKey.d.ts +4 -0
  21. package/dist/converter/integral7/model/dl-utils/ISchemaDatabaseKey.js +3 -0
  22. package/dist/converter/integral7/model/dl-utils/ISchemaDatabaseKey.js.map +1 -0
  23. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +13 -1
  24. package/dist/converter/integral7/model/dl-utils/util-functions.js +50 -6
  25. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  26. package/dist/converter/integral7/model/interfaces.d.ts +0 -5
  27. package/dist/converter/integral7/model/interfaces.js.map +1 -1
  28. package/dist/converter/integral7/sql/integral.sql.d.ts +1 -87
  29. package/dist/converter/integral7/sql/integral.sql.js +8 -107
  30. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  31. package/dist/converter/integral7/utils-cgmes-export.js +0 -22
  32. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  33. package/dist/converter/integral7/utils.js +2 -5
  34. package/dist/converter/integral7/utils.js.map +1 -1
  35. package/dist/etl/etl-neplan/etl-neplan-csv.js +39 -39
  36. package/dist/etl/etl-neplan/etl-neplan-geo.js +16 -16
  37. package/dist/etl/etl-neplan/etl-neplan.js +17 -17
  38. package/dist/index.d.ts +2 -9
  39. package/dist/index.js +3 -17
  40. package/dist/index.js.map +1 -1
  41. package/dist/model/assetinfo/SwitchInfo.js +19 -19
  42. package/dist/model/assetinfo/TapChangerInfo.js +1 -1
  43. package/dist/model/assetinfo/WireInfo.js +3 -3
  44. package/dist/model/assets/Asset.js +30 -30
  45. package/dist/model/assets/AssetDeployment.js +48 -48
  46. package/dist/model/assets/AssetHealthEvent.js +1 -1
  47. package/dist/model/assets/AssetUser.js +1 -1
  48. package/dist/model/assets/Facility.js +37 -37
  49. package/dist/model/common/CoordinateSystem.js +17 -17
  50. package/dist/model/common/Location.js +22 -22
  51. package/dist/model/common/Organisation.js +1 -1
  52. package/dist/model/common/PositionPoint.js +25 -25
  53. package/dist/model/core/BaseVoltage.js +22 -22
  54. package/dist/model/core/ConnectivityNode.js +24 -24
  55. package/dist/model/core/Feeder.js +29 -29
  56. package/dist/model/core/IdentifiedObject.js +1 -1
  57. package/dist/model/core/IdentifiedObject.js.map +1 -1
  58. package/dist/model/core/PSRType.js +43 -43
  59. package/dist/model/core/Substation.js +1 -1
  60. package/dist/model/core/Terminal.js +31 -31
  61. package/dist/model/dc/DCLine.js +17 -17
  62. package/dist/model/dc/DCLineSegment.js +25 -25
  63. package/dist/model/diagram/Diagram.js +20 -20
  64. package/dist/model/diagram/DiagramObject.js +26 -26
  65. package/dist/model/diagram/DiagramObjectPoint.js +47 -47
  66. package/dist/model/equivalents/EquivalentBranch.js +44 -44
  67. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +23 -23
  68. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +23 -23
  69. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +23 -23
  70. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +23 -23
  71. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +23 -23
  72. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js +19 -19
  73. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +60 -60
  74. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +23 -23
  75. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +23 -23
  76. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +23 -23
  77. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +49 -49
  78. package/dist/model/extensions/amprion/assets/AMPRIONState.js +21 -21
  79. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +51 -51
  80. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +68 -68
  81. package/dist/model/extensions/amprion/core/AMPRIONBay.js +26 -26
  82. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +25 -25
  83. package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +0 -16
  84. package/dist/model/extensions/amprion/model/AMPRIONModel.js +0 -32
  85. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -1
  86. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +1 -1
  87. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +1 -1
  88. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +1 -1
  89. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js +1 -1
  90. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js +1 -1
  91. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +38 -38
  92. package/dist/model/extensions/enervance/assets/EVWireObject.js +1 -1
  93. package/dist/model/extensions/enervance/model/EVModel.d.ts +2 -2
  94. package/dist/model/extensions/enervance/model/EVModel.js +1 -1
  95. package/dist/model/extensions/enervance/model/EVModel.js.map +1 -1
  96. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +1 -1
  97. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +32 -32
  98. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +33 -33
  99. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +40 -40
  100. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +31 -31
  101. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +34 -34
  102. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +1 -1
  103. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +1 -1
  104. package/dist/model/generation/GeneratingUnit.js +36 -36
  105. package/dist/model/generation/WindGeneratingUnit.js +38 -38
  106. package/dist/model/loadmodel/ConformLoad.js +33 -33
  107. package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
  108. package/dist/model/loadmodel/LoadArea.js +21 -21
  109. package/dist/model/loadmodel/SubLoadArea.js +22 -22
  110. package/dist/model/model/Model.d.ts +1 -6
  111. package/dist/model/model/Model.js +0 -12
  112. package/dist/model/model/Model.js.map +1 -1
  113. package/dist/model/model-operations/ModelOperationDescription.d.ts +1 -5
  114. package/dist/model/model-operations/ModelOperationDescription.js +1 -36
  115. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -1
  116. package/dist/model/operationallimits/CurrentLimit.js +19 -19
  117. package/dist/model/operationallimits/OperationalLimitSet.js +18 -18
  118. package/dist/model/operationallimits/OperationalLimitType.js +16 -16
  119. package/dist/model/statevariables/SvPowerFlow.js +20 -20
  120. package/dist/model/statevariables/SvVoltage.js +1 -1
  121. package/dist/model/topology/TopologicalIsland.js +1 -1
  122. package/dist/model/topology/TopologicalNode.js +25 -25
  123. package/dist/model/wires/Breaker.js +34 -34
  124. package/dist/model/wires/BusbarSection.js +1 -1
  125. package/dist/model/wires/Clamp.js +1 -1
  126. package/dist/model/wires/Disconnector.js +31 -31
  127. package/dist/model/wires/EnergyConsumer.js +32 -32
  128. package/dist/model/wires/ExternalNetworkInjection.js +45 -45
  129. package/dist/model/wires/Ground.js +1 -1
  130. package/dist/model/wires/GroundDisconnector.js +1 -1
  131. package/dist/model/wires/Junction.js +20 -20
  132. package/dist/model/wires/Line.js +23 -23
  133. package/dist/model/wires/LinearShuntCompensator.js +36 -36
  134. package/dist/model/wires/LoadBreakSwitch.js +1 -1
  135. package/dist/model/wires/PetersenCoil.js +34 -34
  136. package/dist/model/wires/PowerTransformer.js +27 -27
  137. package/dist/model/wires/PowerTransformerEnd.js +31 -31
  138. package/dist/model/wires/Recloser.js +1 -1
  139. package/dist/model/wires/RegulatingControl.js +31 -31
  140. package/dist/model/wires/SeriesCompensator.js +36 -36
  141. package/dist/model/wires/Switch.js +32 -32
  142. package/dist/model/wires/SynchronousMachine.js +1 -1
  143. package/dist/package.json +16 -16
  144. package/dist/util/cim.model.util.js +4 -4
  145. package/dist/util/cim.model.util.js.map +1 -1
  146. package/package.json +94 -94
  147. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.d.ts +0 -8
  148. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js +0 -45
  149. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js.map +0 -1
  150. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.d.ts +0 -8
  151. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js +0 -45
  152. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js.map +0 -1
  153. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.d.ts +0 -8
  154. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js +0 -45
  155. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js.map +0 -1
  156. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.d.ts +0 -8
  157. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js +0 -45
  158. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js.map +0 -1
@@ -141,7 +141,7 @@ class ConverterI7 {
141
141
  this.exportFrames = new Map();
142
142
  this.exportFramesBoundary = new Map();
143
143
  this.cimModelDefault = new INTEGRALModel_1.INTEGRALModel();
144
- this.availableTableNames = new Map();
144
+ this.availableTableNames = [];
145
145
  this.integralID2Type = new Map();
146
146
  this.coordinateSystem = 'EPSG:4326';
147
147
  this.integralID2UUID = new Map();
@@ -202,8 +202,11 @@ class ConverterI7 {
202
202
  yield frame.closeXMLModel();
203
203
  let endTime = perf_hooks_1.performance.now();
204
204
  frame.cimModel.purgeData();
205
- console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
205
+ console.log(`SerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
206
+ let memoryUsed = process.memoryUsage();
207
+ console.log(`heapUsed ${Math.round(memoryUsed['heapUsed'] / 1024 / 1024 * 100) / 100} MB`);
206
208
  }
209
+ console.log('________________________________________________');
207
210
  console.log('Serialize BD Profiles');
208
211
  for (const entry of this.exportFramesBoundary.entries()) {
209
212
  const geoRegionUUID = entry[0];
@@ -396,10 +399,6 @@ class ConverterI7 {
396
399
  yield this.convertSVC(cimModel, soSfKnoten);
397
400
  logExecutionTime(this.logger, startTime, `convertSVC`);
398
401
  }
399
- startTime = perf_hooks_1.performance.now();
400
- if (standortIDs.length)
401
- yield this.convertSchaltanlagen(cimModel, integral7Modell, standortIDs, defaultValuesConfig);
402
- logExecutionTime(this.logger, startTime, `convertSchaltanlagen(${standortIDs.length})`);
403
402
  if (knotenSoIDs.length > 0 || integral7Modell.knotenSfIDs.length > 0) {
404
403
  startTime = perf_hooks_1.performance.now();
405
404
  yield this.convertCsConverterDC(cimModel, integral7Modell, soSfKnoten);
@@ -432,67 +431,39 @@ class ConverterI7 {
432
431
  logExecutionTime(this.logger, startTime, `assignment of sequence number`);
433
432
  startTime = perf_hooks_1.performance.now();
434
433
  yield this.convertNetzvarianten(cimModel, integral7Modell);
435
- logExecutionTime(this.logger, startTime, `convertNetzvarianten`);
436
434
  for (const key of integral7Modell.i7SchemaID2UUID.keys()) {
437
- startTime = perf_hooks_1.performance.now();
438
- const convertAll = yield this.convertSchemaStandorte(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
439
- logExecutionTime(this.logger, startTime, `convertSchemaStandorte`);
440
- if (convertAll) {
441
- startTime = perf_hooks_1.performance.now();
442
- yield this.convertSchemaKnotenSo(cimModel, integral7Modell, knotenSoIDs, key, constants_1.NsgConstants.onlyEingeblendet);
443
- logExecutionTime(this.logger, startTime, `convertSchemaKnotenSo`);
444
- startTime = perf_hooks_1.performance.now();
445
- logExecutionTime(this.logger, startTime, `convertSchemaHgueKnotenSo`);
446
- startTime = perf_hooks_1.performance.now();
447
- yield this.convertSchemaSchaltanlage(cimModel, integral7Modell, schaltanlagenIDs, key, constants_1.NsgConstants.onlyEingeblendet);
448
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltanlage`);
449
- startTime = perf_hooks_1.performance.now();
450
- yield this.convertSchemaSchaltanlagenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
451
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltanlagenAbschnitte`);
452
- startTime = perf_hooks_1.performance.now();
453
- yield this.convertSchemaSammelschienenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
454
- logExecutionTime(this.logger, startTime, `convertSchemaSammelschienenAbschnitte`);
455
- startTime = perf_hooks_1.performance.now();
456
- yield this.convertSchemaSchaltfeldElemente(cimModel, integral7Modell, schaltfeldIDs, key, constants_1.NsgConstants.onlyEingeblendet);
457
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltfeldElemente`);
458
- startTime = perf_hooks_1.performance.now();
459
- yield this.convertSchemaQuerkupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
460
- logExecutionTime(this.logger, startTime, `convertSchemaQuerkupplungen`);
461
- startTime = perf_hooks_1.performance.now();
462
- yield this.convertSchemaLaengskupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
463
- logExecutionTime(this.logger, startTime, `convertSchemaLaengskupplungen`);
464
- startTime = perf_hooks_1.performance.now();
465
- yield this.convertSchemaTransformatoren2W(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
466
- logExecutionTime(this.logger, startTime, `convertSchemaTransformatoren2W`);
467
- startTime = perf_hooks_1.performance.now();
468
- yield this.convertSchemaTransformatoren3W(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
469
- logExecutionTime(this.logger, startTime, `convertSchemaTransformatoren3W`);
470
- startTime = perf_hooks_1.performance.now();
471
- yield this.convertSchemaQuerzweige(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
472
- logExecutionTime(this.logger, startTime, `convertSchemaQuerzweige`);
473
- startTime = perf_hooks_1.performance.now();
474
- logExecutionTime(this.logger, startTime, `convertSchemaSternpunktSchiene`);
475
- startTime = perf_hooks_1.performance.now();
476
- logExecutionTime(this.logger, startTime, `convertSchemaSternpunktKnoten`);
477
- startTime = perf_hooks_1.performance.now();
478
- yield this.convertSchemaLeitungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
479
- logExecutionTime(this.logger, startTime, `convertSchemaLeitungen`);
480
- integral7Modell.integralLaengskupplungen.clear();
481
- integral7Modell.integralHgueLeitungen.clear();
435
+ yield this.convertSchemaStandorte(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
436
+ yield this.convertSchemaKnotenSo(cimModel, integral7Modell, knotenSoIDs, key, constants_1.NsgConstants.onlyEingeblendet);
437
+ yield this.convertSchemaSchaltanlage(cimModel, integral7Modell, schaltanlagenIDs, key, constants_1.NsgConstants.onlyEingeblendet);
438
+ yield this.convertSchemaSchaltanlagenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
439
+ yield this.convertSchemaSammelschienenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
440
+ yield this.convertSchemaSchaltfeldElemente(cimModel, integral7Modell, schaltfeldIDs, key, constants_1.NsgConstants.onlyEingeblendet);
441
+ yield this.convertSchemaQuerkupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
442
+ yield this.convertSchemaLaengskupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
443
+ yield this.convertSchemaTransformatoren2W(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
444
+ yield this.convertSchemaTransformatoren3W(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
445
+ yield this.convertSchemaQuerzweige(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
446
+ yield this.convertSchemaLeitungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
447
+ yield this.convertSchemaKnotenSo2(cimModel, integral7Modell, [...integral7Modell.integralAdditionalGrenzknotenIDs.values()], key, constants_1.NsgConstants.onlyEingeblendet);
448
+ integral7Modell.integralLaengskupplungen.clear();
449
+ integral7Modell.integralHgueLeitungen.clear();
450
+ integral7Modell.integralNSGSchaltanlage.clear();
451
+ integral7Modell.integralNSGSchaltfeld.clear();
452
+ integral7Modell.integralNSGSAAbschnitt.clear();
453
+ integral7Modell.integralNSGSsab.clear();
454
+ integral7Modell.integralNSGStpSchiene.clear();
455
+ integral7Modell.integralNSGStpKnoten.clear();
456
+ integral7Modell.integralNSGTrafos.clear();
457
+ integral7Modell.integralNSGQuerzweig.clear();
458
+ integral7Modell.integralAdditionalGrenzknotenIDs.clear();
459
+ if (!frame.boundary) {
460
+ integral7Modell.integralNSGStandorte.clear();
482
461
  integral7Modell.i7ID2UUID.clear();
483
462
  integral7Modell.i7SchemaID2Type.clear();
484
- integral7Modell.integralNSGSchaltanlage.clear();
485
- integral7Modell.integralNSGSchaltfeld.clear();
486
- integral7Modell.integralNSGSAAbschnitt.clear();
487
- integral7Modell.integralNSGSsab.clear();
488
- integral7Modell.integralNSGStpSchiene.clear();
489
- integral7Modell.integralNSGStpKnoten.clear();
490
- integral7Modell.integralNSGTrafos.clear();
491
- integral7Modell.integralNSGQuerzweig.clear();
492
- }
493
- integral7Modell.integralNSGStandorte.clear();
494
- integral7Modell.placedCIMObjectsForDLProfil.clear();
463
+ integral7Modell.placedCIMObjectsForDLProfil.clear();
464
+ }
495
465
  }
466
+ logExecutionTime(this.logger, startTime, `convertNetzvarianten`);
496
467
  });
497
468
  }
498
469
  assignTerminalSequenceNumber(cimModel) {
@@ -637,7 +608,7 @@ class ConverterI7 {
637
608
  convertNetzvarianten(cimModel, integral7) {
638
609
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
639
610
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
640
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NETZVARIANTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZVARIANTEN), [2]));
611
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NETZVARIANTEN, [2]));
641
612
  for (const i7Data of result) {
642
613
  const diagram = new Diagram_1.Diagram(utils_1.getUUID(i7Data.guid), i7Data.name, String(i7Data.id));
643
614
  diagram.orientation = OrientationKind_1.OrientationKind.negative;
@@ -653,37 +624,57 @@ class ConverterI7 {
653
624
  }
654
625
  convertSchemaStandorte(cimModel, integral7, standortIDs, variantenNr, onlyEingeblendet = true) {
655
626
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
656
- let retVal = false;
657
627
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
658
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STANDORT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_STANDORT), standortIDs));
628
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STANDORT, standortIDs));
659
629
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
660
630
  for (const i7Data of filteredResults) {
661
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_STANDORT);
631
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_STANDORT);
662
632
  const standort = integral7.integralStandorte.get(i7Data.standort);
663
633
  if (standort) {
664
634
  standort.standortNsg = new StandortNsg_1.StandortNsgImpl(i7Data);
665
635
  integral7.integralNSGStandorte.set(i7Data.id, standort.standortNsg);
666
636
  }
667
637
  }
668
- if (filteredResults.length > 0) {
669
- retVal = true;
670
- }
671
638
  }
672
639
  else {
673
640
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
674
641
  }
675
- return retVal;
676
642
  });
677
643
  }
678
644
  convertSchemaKnotenSo(cimModel, integral7, knotenSoIDs, variantenNr, onlyEingeblendet = true) {
679
645
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
680
646
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
681
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_SO, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO), knotenSoIDs));
647
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_SO, knotenSoIDs));
648
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
649
+ for (const i7Data of filteredResults) {
650
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
651
+ const cimObjectUUID = this.integralID2UUID.get(i7Data.knotenso);
652
+ const nsgStandort = integral7.integralNSGStandorte.get(i7Data.nsgso);
653
+ if (nsgStandort === undefined) {
654
+ continue;
655
+ }
656
+ util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.KNOTENSO_WIDTH, constants_1.NsgConstants.KNOTENSO_HEIGHT, nsgStandort.xrel, nsgStandort.yrel);
657
+ }
658
+ }
659
+ else {
660
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
661
+ }
662
+ });
663
+ }
664
+ convertSchemaKnotenSo2(cimModel, integral7, nsgKnotenSoIDs, variantenNr, onlyEingeblendet = true) {
665
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
666
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && nsgKnotenSoIDs.length > 0) {
667
+ const result = yield this.mysqlController.execQuery(`SELECT variantennr, id, xrel, yrel, angezeigt, eingeblendet, knotenso, nsgso FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.NSG_KNOTEN_SO]} WHERE ${integral_sql_1.getWhereIDs('id', nsgKnotenSoIDs.map(arg => util_functions_1.DLUtilFunctions.parseSchemaKey(arg).id)).join(' OR ')};`);
682
668
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
683
669
  for (const i7Data of filteredResults) {
684
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
670
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
685
671
  const cimObjectUUID = this.integralID2UUID.get(i7Data.knotenso);
686
- util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.KNOTENSO_WIDTH, constants_1.NsgConstants.KNOTENSO_HEIGHT);
672
+ const resultNsgStandort = yield this.mysqlController.execQuery(`SELECT variantennr, id, xrel, yrel, angezeigt, eingeblendet, standort FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.NSG_STANDORT]} WHERE ${integral_sql_1.getWhereIDs('id', [i7Data.nsgso]).join(' OR ')};`);
673
+ const filteredResultNsgStandort = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultNsgStandort, variantenNr, onlyEingeblendet);
674
+ if (filteredResultNsgStandort.length === 0) {
675
+ continue;
676
+ }
677
+ util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.KNOTENSO_WIDTH, constants_1.NsgConstants.KNOTENSO_HEIGHT, filteredResultNsgStandort[0].xrel, filteredResultNsgStandort[0].yrel);
687
678
  }
688
679
  }
689
680
  else {
@@ -695,12 +686,16 @@ class ConverterI7 {
695
686
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
696
687
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
697
688
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) && nsgStandortIDs.length > 0) {
698
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_HGUE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE), nsgStandortIDs));
689
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_HGUE, nsgStandortIDs));
699
690
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
700
691
  for (const i7Data of filteredResults) {
701
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE);
692
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE);
702
693
  const cimObjectUUID = this.integralID2UUID.get(i7Data.knotenso);
703
- util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.HGUE_KNOTENSO_WIDTH, constants_1.NsgConstants.HGUE_KNOTENSO_HEIGHT);
694
+ const nsgStandort = integral7.integralNSGStandorte.get(i7Data.nsgso);
695
+ if (nsgStandort === undefined) {
696
+ continue;
697
+ }
698
+ util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.HGUE_KNOTENSO_WIDTH, constants_1.NsgConstants.HGUE_KNOTENSO_HEIGHT, nsgStandort.xrel, nsgStandort.yrel);
704
699
  }
705
700
  }
706
701
  else {
@@ -711,10 +706,10 @@ class ConverterI7 {
711
706
  convertSchemaSchaltanlage(cimModel, integral7, saIDs, variantenNr, onlyEingeblendet = true) {
712
707
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
713
708
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && saIDs.length > 0) {
714
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE), saIDs));
709
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, saIDs));
715
710
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
716
711
  for (const i7Data of filteredResults) {
717
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
712
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
718
713
  const schaltanlage = integral7.integralSchaltanlagen.get(i7Data.schaltanlage);
719
714
  if (schaltanlage) {
720
715
  schaltanlage.schaltanlageNsg = new SchaltanlageNSG_1.SchaltanlageNsgImpl(i7Data);
@@ -730,10 +725,10 @@ class ConverterI7 {
730
725
  convertSchemaSchaltanlagenAbschnitte(cimModel, integral7, schaltanlagenabschnittIDs, variantenNr, onlyEingeblendet = true) {
731
726
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
732
727
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
733
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT), schaltanlagenabschnittIDs));
728
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, schaltanlagenabschnittIDs));
734
729
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
735
730
  for (const i7Data of filteredResults) {
736
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
731
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
737
732
  const saabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
738
733
  if (saabschnitt) {
739
734
  saabschnitt.schaltanlagenabschnittNsg = new SchaltanlagenabschnittNsg_1.SchaltanlagenabschnittNsg(i7Data);
@@ -794,40 +789,41 @@ class ConverterI7 {
794
789
  for (const queryResult of filteredResults) {
795
790
  const nsgSa = integral7.integralNSGSchaltanlage.get(queryResult.nsgsa);
796
791
  const nsgSo = integral7.integralNSGStandorte.get(nsgSa.nsgsoid);
797
- if (nsgSa !== undefined && nsgSo !== undefined) {
798
- const leftOffset = queryResult.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
799
- const topOffset = queryResult.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
800
- const ssabLength = queryResult.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
801
- let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
802
- let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
803
- let saaShiftOffset = 0;
804
- for (const tempNsgSaa of nsgSa.saabNsg) {
805
- saaShiftOffset = saaShiftOffset < (tempNsgSaa.nslots + tempNsgSaa.laenge) ? (tempNsgSaa.nslots + tempNsgSaa.laenge) : saaShiftOffset;
806
- }
807
- const points = [];
808
- points.push(pointTopLeft, pointBottomRight);
809
- for (const p of points) {
810
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
811
- p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
812
- p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
813
- }
814
- integral7.integralNSGSsab.set(queryResult.idSSAB, queryResult);
815
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'SSAB Diagram');
816
- diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
817
- utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
818
- const cnUUID = this.integralID2UUID.get(queryResult.idSSAB);
819
- const connectivityNode = cimModel.getConnectivityNode(cnUUID);
820
- diagramObject.setIdentifiedObject(connectivityNode);
821
- const diagramUUID = integral7.i7SchemaID2UUID.get(nsgSa.variantennr);
822
- const diagram = cimModel.getDiagram(diagramUUID);
823
- if (diagram) {
824
- diagramObject.setDiagram(diagram);
825
- diagram.addDiagramObject(diagramObject);
826
- integral7.placedCIMObjectsForDLProfil.set(cnUUID, diagramObject);
827
- }
828
- else {
829
- this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
830
- }
792
+ if (nsgSo === undefined) {
793
+ continue;
794
+ }
795
+ const leftOffset = queryResult.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
796
+ const topOffset = queryResult.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
797
+ const ssabLength = queryResult.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
798
+ let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
799
+ let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
800
+ let saaShiftOffset = 0;
801
+ for (const tempNsgSaa of nsgSa.saabNsg) {
802
+ saaShiftOffset = saaShiftOffset < (tempNsgSaa.nslots + tempNsgSaa.laenge) ? (tempNsgSaa.nslots + tempNsgSaa.laenge) : saaShiftOffset;
803
+ }
804
+ const points = [];
805
+ points.push(pointTopLeft, pointBottomRight);
806
+ for (const p of points) {
807
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
808
+ p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
809
+ p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
810
+ }
811
+ integral7.integralNSGSsab.set(queryResult.idSSAB, queryResult);
812
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'SSAB Diagram');
813
+ diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
814
+ utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
815
+ const cnUUID = this.integralID2UUID.get(queryResult.idSSAB);
816
+ const connectivityNode = cimModel.getConnectivityNode(cnUUID);
817
+ diagramObject.setIdentifiedObject(connectivityNode);
818
+ const diagramUUID = integral7.i7SchemaID2UUID.get(nsgSa.variantennr);
819
+ const diagram = cimModel.getDiagram(diagramUUID);
820
+ if (diagram) {
821
+ diagramObject.setDiagram(diagram);
822
+ diagram.addDiagramObject(diagramObject);
823
+ integral7.placedCIMObjectsForDLProfil.set(cnUUID, diagramObject);
824
+ }
825
+ else {
826
+ this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
831
827
  }
832
828
  }
833
829
  });
@@ -843,11 +839,12 @@ class ConverterI7 {
843
839
  ];
844
840
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
845
841
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, schaltfeldIDs));
846
- const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD), schaltfeldIDs));
842
+ const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTFELD, schaltfeldIDs));
847
843
  const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
848
- let tmpcnt = 0;
849
844
  for (const i7Data of filteredResultsNsgSchaltfeld) {
850
845
  const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
846
+ if (!nsgSaa)
847
+ continue;
851
848
  const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
852
849
  if (nsgSa === undefined) {
853
850
  continue;
@@ -856,7 +853,7 @@ class ConverterI7 {
856
853
  if (nsgSo === undefined) {
857
854
  continue;
858
855
  }
859
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
856
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
860
857
  const nsgSchaltfeldObj = new SchaltfeldNsg_1.SchaltfeldNsgImpl(i7Data);
861
858
  integral7.integralNSGSchaltfeld.set(i7Data.id, nsgSchaltfeldObj);
862
859
  const nodePointMap = new Map();
@@ -874,57 +871,53 @@ class ConverterI7 {
874
871
  const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
875
872
  let lastNode = undefined;
876
873
  for (const node of onSSabNodes) {
877
- let tmp_node = integral7.integralNSGSsab.get(node.aknoten);
878
- if (tmp_node !== undefined) {
879
- const ssabYPos = tmp_node ? tmp_node.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET : undefined;
880
- let yStackPos = 1;
881
- let prevNode = null;
882
- let crtNode = node;
883
- while (crtNode) {
884
- if (nodePointMap.get(crtNode.id) === undefined) {
885
- let yPos = ssabYPos;
886
- if (crtNode === node) {
887
- yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
874
+ const ssabYPos = integral7.integralNSGSsab.get(node.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
875
+ let yStackPos = 1;
876
+ let prevNode = null;
877
+ let crtNode = node;
878
+ while (crtNode) {
879
+ if (nodePointMap.get(crtNode.id) === undefined) {
880
+ let yPos = ssabYPos;
881
+ if (crtNode === node) {
882
+ yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
883
+ }
884
+ else {
885
+ const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
886
+ yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
887
+ yStackPos += 1;
888
+ }
889
+ nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
890
+ const aKnotenUUID = this.integralID2UUID.get(crtNode.aknoten);
891
+ if (!integral7.placedCIMObjectsForDLProfil.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
892
+ let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
893
+ let yPosAKnoten;
894
+ if (prevNode === node) {
895
+ yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
888
896
  }
889
897
  else {
890
- const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
891
- yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
892
- yStackPos += 1;
893
- }
894
- nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
895
- const aKnotenUUID = this.integralID2UUID.get(crtNode.aknoten);
896
- if (!integral7.placedCIMObjectsForDLProfil.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
897
- let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
898
- let yPosAKnoten;
899
- if (prevNode === node) {
900
- yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
901
- }
902
- else {
903
- yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
904
- }
898
+ yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
905
899
  }
906
- lastNode = crtNode;
907
- prevNode = crtNode;
908
- crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
900
+ nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
909
901
  }
910
902
  }
903
+ lastNode = crtNode;
904
+ prevNode = crtNode;
905
+ crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
911
906
  }
912
907
  }
913
- if (lastNode !== undefined) {
914
- const lastEKnotenUUID = this.integralID2UUID.get(lastNode.eknoten);
915
- if (!integral7.placedCIMObjectsForDLProfil.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
916
- const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
917
- const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
918
- nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
919
- }
920
- nsgSchaltfeldObj.lastNodeID = lastNode.eknoten;
921
- nsgSchaltfeldObj.lastNodeCimUUID = lastEKnotenUUID;
908
+ const lastEKnotenUUID = this.integralID2UUID.get(lastNode.eknoten);
909
+ if (!integral7.placedCIMObjectsForDLProfil.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
910
+ const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
911
+ const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
912
+ nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
922
913
  }
914
+ nsgSchaltfeldObj.lastNodeID = lastNode.eknoten;
915
+ nsgSchaltfeldObj.lastNodeCimUUID = lastEKnotenUUID;
923
916
  for (const node of onSSabNodes) {
924
917
  let crtNode = node;
925
918
  while (crtNode) {
926
919
  let aKnotenPos = undefined;
927
- if (crtNode === node && xPos !== undefined && integral7.integralNSGSsab.get(crtNode.aknoten) !== undefined) {
920
+ if (crtNode === node) {
928
921
  aKnotenPos = new DiagramObjectPoint_1.DiagramObjectPoint(xPos, integral7.integralNSGSsab.get(crtNode.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET);
929
922
  }
930
923
  util_functions_1.DLUtilFunctions.exportTerminals(crtNode, nodePointMap, uuidPointsMap, cimModel, this.integralID2UUID, aKnotenPos);
@@ -959,10 +952,10 @@ class ConverterI7 {
959
952
  ];
960
953
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
961
954
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.querkupplungIDs));
962
- const resultsNsgKpFeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG), integral7.querkupplungIDs));
955
+ const resultsNsgKpFeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, integral7.querkupplungIDs));
963
956
  const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
964
957
  for (const i7Data of filteredResultsNsgKpFeld) {
965
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
958
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
966
959
  const uuidPointsMap = new Map();
967
960
  const kpFeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
968
961
  const kpFeldDeltaausrichtung = i7Data.deltaausrichtung;
@@ -972,6 +965,8 @@ class ConverterI7 {
972
965
  ssabs.forEach(ssab => relevantSSabIDs.add(ssab.id));
973
966
  util_functions_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, uuidPointsMap, cimModel, relevantSSabIDs, integral7.integralNSGSsab, this.integralID2UUID, integral7.placedCIMObjectsForDLProfil, kpFeldDeltaausrichtung, kpFeldLeftOffset, false);
974
967
  const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
968
+ if (!nsgSaa)
969
+ continue;
975
970
  const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
976
971
  uuidPointsMap.forEach((entryDiagramObject, key) => {
977
972
  if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
@@ -987,7 +982,7 @@ class ConverterI7 {
987
982
  convertSchemaLaengskupplungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
988
983
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
989
984
  const ssabIDs = [...integral7.integralNSGSAAbschnitt.keys()];
990
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && integral7.laengskupplungIDs.length > 0 && [...integral7.integralNSGSAAbschnitt.keys()].length > 0) {
985
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && integral7.laengskupplungIDs.length > 0 && ssabIDs.length > 0) {
991
986
  const i7relevantTables = [
992
987
  integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
993
988
  integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
@@ -996,10 +991,10 @@ class ConverterI7 {
996
991
  ];
997
992
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
998
993
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.laengskupplungIDs));
999
- const resultsNsgLKupplung = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG), ssabIDs));
994
+ const resultsNsgLKupplung = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, ssabIDs));
1000
995
  const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
1001
996
  for (const i7Data of filteredResultsNsgLKupplung) {
1002
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
997
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
1003
998
  const uuidPointsMap = new Map();
1004
999
  const schaltanlagenID = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa).nsgsa.schaltanlageid;
1005
1000
  const netzLaengskupplungsObjs = [...integral7.integralLaengskupplungen.values()].filter(elem => elem.schaltanlagenID === schaltanlagenID);
@@ -1010,92 +1005,97 @@ class ConverterI7 {
1010
1005
  util_functions_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, uuidPointsMap, cimModel, relevantSSabIDs, integral7.integralNSGSsab, this.integralID2UUID, integral7.placedCIMObjectsForDLProfil, 0, 0, true);
1011
1006
  }
1012
1007
  const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
1013
- const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
1014
- uuidPointsMap.forEach((entryDiagramObject, key) => {
1015
- if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
1016
- if (entryDiagramObject.rotation === undefined) {
1017
- entryDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
1018
- }
1019
- else {
1020
- entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
1008
+ const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa === null || nsgSaa === void 0 ? void 0 : nsgSaa.nsgsaid);
1009
+ if (!nsgSa) {
1010
+ uuidPointsMap.forEach((entryDiagramObject, key) => {
1011
+ if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
1012
+ if (entryDiagramObject.rotation === undefined) {
1013
+ entryDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
1014
+ }
1015
+ else {
1016
+ entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
1017
+ }
1021
1018
  }
1022
- }
1023
- });
1024
- util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap);
1019
+ });
1020
+ util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap);
1021
+ }
1025
1022
  }
1026
1023
  }
1027
1024
  });
1028
1025
  }
1029
1026
  convertSchemaTransformatoren2W(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1030
1027
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1031
- try {
1032
- const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1033
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.length > 0) {
1034
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO2W), nsgStandortIDs));
1035
- let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1036
- for (const i7Data of filteredResults) {
1037
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO2W);
1038
- const uuidPointsMap = new Map();
1039
- const trafo2wNsg = new Trafo2wNsg_1.Trafo2wNsgImpl(i7Data);
1040
- integral7.integralNSGTrafos.set(i7Data.trafo2w, trafo2wNsg);
1041
- const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH / 2, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1042
- trafoDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(trafo2wNsg.ausrichtung);
1043
- const tempPoints = [];
1044
- tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
1045
- const trafoUUID = this.integralID2UUID.get(trafo2wNsg.trafo2wid);
1046
- const transformer = cimModel.getPowerTransformer(trafoUUID);
1047
- const terminal1 = transformer.powerTransformerEnds[0].terminal;
1048
- const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(0, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1049
- tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
1050
- const terminal2 = transformer.powerTransformerEnds[1].terminal;
1051
- const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1052
- tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
1053
- for (const p of tempPoints) {
1054
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, 360 - (90 * trafo2wNsg.ausrichtung) % 360);
1055
- p.xPosition += trafo2wNsg.xrel;
1056
- p.yPosition += trafo2wNsg.yrel;
1057
- p.xPosition += (trafo2wNsg.ausrichtung === 1 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
1058
- p.xPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
1059
- p.yPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
1060
- p.yPosition += (trafo2wNsg.ausrichtung === 3 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
1061
- }
1062
- uuidPointsMap.set(this.integralID2UUID.get(trafo2wNsg.trafo2wid), trafoDiagramObject);
1063
- if (terminal1 !== undefined) {
1064
- uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
1065
- }
1066
- if (terminal2 !== undefined) {
1067
- uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
1068
- }
1069
- util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo2wNsg.nsgsoid, uuidPointsMap);
1070
- let t1CNdiagramObject, t1DiagramObject, t2CNdiagramObject, t2DiagramObject;
1071
- if (terminal1 !== undefined) {
1072
- t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.connectivityNode.getUUID());
1073
- t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
1074
- }
1075
- if (terminal2 !== undefined) {
1076
- t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.connectivityNode.getUUID());
1077
- t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1078
- }
1079
- if (trafo2wNsg.ausrichtung === 2 || trafo2wNsg.ausrichtung === 3) {
1080
- if (terminal2 !== undefined && t1CNdiagramObject !== undefined)
1081
- utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1082
- if (terminal1 !== undefined && t2CNdiagramObject !== undefined)
1083
- utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1028
+ const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1029
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.length > 0) {
1030
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO2W, nsgStandortIDs));
1031
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1032
+ for (const i7Data of filteredResults) {
1033
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_TRAFO2W);
1034
+ const uuidPointsMap = new Map();
1035
+ const trafo2wNsg = new Trafo2wNsg_1.Trafo2wNsgImpl(i7Data);
1036
+ integral7.integralNSGTrafos.set(i7Data.trafo2w, trafo2wNsg);
1037
+ const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH / 2, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1038
+ trafoDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(trafo2wNsg.ausrichtung);
1039
+ const tempPoints = [];
1040
+ tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
1041
+ const trafoUUID = this.integralID2UUID.get(trafo2wNsg.trafo2wid);
1042
+ const transformer = cimModel.getPowerTransformer(trafoUUID);
1043
+ if (transformer === undefined)
1044
+ continue;
1045
+ const terminal1 = transformer.powerTransformerEnds[0].terminal;
1046
+ const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(0, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1047
+ tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
1048
+ const terminal2 = transformer.powerTransformerEnds[1].terminal;
1049
+ const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1050
+ tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
1051
+ for (const p of tempPoints) {
1052
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, 360 - (90 * trafo2wNsg.ausrichtung) % 360);
1053
+ p.xPosition += trafo2wNsg.xrel;
1054
+ p.yPosition += trafo2wNsg.yrel;
1055
+ p.xPosition += (trafo2wNsg.ausrichtung === 1 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
1056
+ p.xPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
1057
+ p.yPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
1058
+ p.yPosition += (trafo2wNsg.ausrichtung === 3 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
1059
+ }
1060
+ uuidPointsMap.set(this.integralID2UUID.get(trafo2wNsg.trafo2wid), trafoDiagramObject);
1061
+ if (terminal1 !== undefined) {
1062
+ uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
1063
+ }
1064
+ if (terminal2 !== undefined) {
1065
+ uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
1066
+ }
1067
+ util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo2wNsg.nsgsoid, uuidPointsMap);
1068
+ let t1CNdiagramObject, t1DiagramObject, t2CNdiagramObject, t2DiagramObject;
1069
+ if (terminal1 !== undefined) {
1070
+ t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getConnectivityNodeUUID());
1071
+ if (!t1CNdiagramObject) {
1072
+ t1CNdiagramObject = util_functions_1.DLUtilFunctions.lookupKnotenSOInBoundaryFrames([...this.exportFramesBoundary.values()], terminal1.getConnectivityNodeUUID(), integral7.placedCIMObjectsForDLProfil, integral7.integralAdditionalGrenzknotenIDs);
1084
1073
  }
1085
- else {
1086
- if (terminal1 !== undefined && t1CNdiagramObject !== undefined)
1087
- utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1088
- if (terminal2 !== undefined && t2CNdiagramObject !== undefined)
1089
- utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1074
+ t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
1075
+ }
1076
+ if (terminal2 !== undefined) {
1077
+ t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getConnectivityNodeUUID());
1078
+ if (!t2CNdiagramObject) {
1079
+ t2CNdiagramObject = util_functions_1.DLUtilFunctions.lookupKnotenSOInBoundaryFrames([...this.exportFramesBoundary.values()], terminal2.getConnectivityNodeUUID(), integral7.placedCIMObjectsForDLProfil, integral7.integralAdditionalGrenzknotenIDs);
1090
1080
  }
1081
+ t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1082
+ }
1083
+ if (trafo2wNsg.ausrichtung === 0 || trafo2wNsg.ausrichtung === 1) {
1084
+ if (terminal2 !== undefined && t1CNdiagramObject !== undefined)
1085
+ utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1086
+ if (terminal1 !== undefined && t2CNdiagramObject !== undefined)
1087
+ utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1088
+ }
1089
+ else {
1090
+ if (terminal1 !== undefined && t1CNdiagramObject !== undefined)
1091
+ utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1092
+ if (terminal2 !== undefined && t2CNdiagramObject !== undefined)
1093
+ utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1091
1094
  }
1092
- }
1093
- else {
1094
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
1095
1095
  }
1096
1096
  }
1097
- catch (err) {
1098
- console.log(err);
1097
+ else {
1098
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
1099
1099
  }
1100
1100
  });
1101
1101
  }
@@ -1103,12 +1103,12 @@ class ConverterI7 {
1103
1103
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1104
1104
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1105
1105
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.length > 0 && standortIDs.length > 0) {
1106
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO3W), nsgStandortIDs));
1106
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO3W, nsgStandortIDs));
1107
1107
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1108
- const netzTrafoResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), standortIDs));
1108
+ const netzTrafoResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, standortIDs));
1109
1109
  const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
1110
1110
  for (const i7Data of filteredResults) {
1111
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO3W);
1111
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_TRAFO3W);
1112
1112
  const uuidPointsMap = new Map();
1113
1113
  const trafo3wNsg = new Trafo3wNsg_1.Trafo3wNsgImpl(i7Data);
1114
1114
  integral7.integralNSGTrafos.set(i7Data.trafo3w, trafo3wNsg);
@@ -1129,52 +1129,66 @@ class ConverterI7 {
1129
1129
  exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
1130
1130
  break;
1131
1131
  }
1132
- const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
1133
- let rotationenGroup = undefined;
1134
- for (const key of Object.keys(rotationenGroups)) {
1135
- if (rotationenGroups[key].indexOf(trafo3wNsg.ausrichtung) !== -1) {
1136
- rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
1137
- break;
1138
- }
1139
- }
1140
- const xMirroring = trafo3wNsg.orientierung_cw === 1;
1141
- const terminal1 = pteW1.terminal;
1142
- const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[1]]);
1143
- tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
1144
- const terminal2 = pteW2.terminal;
1145
- const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]]);
1146
- tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
1147
- const terminal3 = pteW3.terminal;
1148
- const terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]]);
1149
- tempPoints.push(terminal3DiagramObject.diagramObjectPoints[0]);
1150
- if (terminal1 !== undefined) {
1151
- uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
1152
- }
1153
- if (terminal2 !== undefined) {
1154
- uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
1155
- }
1156
- if (terminal3 !== undefined) {
1157
- uuidPointsMap.set(terminal3.getUUID(), terminal3DiagramObject);
1132
+ }
1133
+ const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
1134
+ let rotationenGroup = undefined;
1135
+ for (const key of Object.keys(rotationenGroups)) {
1136
+ if (rotationenGroups[key].indexOf(trafo3wNsg.ausrichtung) !== -1) {
1137
+ rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
1138
+ break;
1158
1139
  }
1159
- util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo3wNsg.nsgsoid, uuidPointsMap);
1160
- if (terminal1) {
1161
- const t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getConnectivityNodeUUID());
1162
- const t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
1163
- if (t1CNdiagramObject !== undefined)
1164
- utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1140
+ }
1141
+ const xMirroring = trafo3wNsg.orientierung_cw === 1;
1142
+ const terminal1 = pteW1.terminal;
1143
+ const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[1]]);
1144
+ tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
1145
+ const terminal2 = pteW2.terminal;
1146
+ const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]]);
1147
+ tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
1148
+ const terminal3 = pteW3.terminal;
1149
+ const terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]]);
1150
+ tempPoints.push(terminal3DiagramObject.diagramObjectPoints[0]);
1151
+ for (const p of tempPoints) {
1152
+ p.xPosition += trafo3wNsg.xrel;
1153
+ p.yPosition += trafo3wNsg.yrel;
1154
+ }
1155
+ uuidPointsMap.set(this.integralID2UUID.get(trafo3wNsg.trafo3wid), trafoDiagramObject);
1156
+ if (terminal1 !== undefined) {
1157
+ uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
1158
+ }
1159
+ if (terminal2 !== undefined) {
1160
+ uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
1161
+ }
1162
+ if (terminal3 !== undefined) {
1163
+ uuidPointsMap.set(terminal3.getUUID(), terminal3DiagramObject);
1164
+ }
1165
+ util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo3wNsg.nsgsoid, uuidPointsMap);
1166
+ if (terminal1) {
1167
+ let t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getConnectivityNodeUUID());
1168
+ if (!t1CNdiagramObject) {
1169
+ t1CNdiagramObject = util_functions_1.DLUtilFunctions.lookupKnotenSOInBoundaryFrames([...this.exportFramesBoundary.values()], terminal1.getConnectivityNodeUUID(), integral7.placedCIMObjectsForDLProfil, integral7.integralAdditionalGrenzknotenIDs);
1165
1170
  }
1166
- if (terminal2) {
1167
- const t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getConnectivityNodeUUID());
1168
- const t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1169
- if (t2CNdiagramObject !== undefined)
1170
- utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1171
+ const t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
1172
+ if (t1CNdiagramObject !== undefined)
1173
+ utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1174
+ }
1175
+ if (terminal2) {
1176
+ let t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getConnectivityNodeUUID());
1177
+ if (!t2CNdiagramObject) {
1178
+ t2CNdiagramObject = util_functions_1.DLUtilFunctions.lookupKnotenSOInBoundaryFrames([...this.exportFramesBoundary.values()], terminal2.getConnectivityNodeUUID(), integral7.placedCIMObjectsForDLProfil, integral7.integralAdditionalGrenzknotenIDs);
1171
1179
  }
1172
- if (terminal3) {
1173
- const t3CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getConnectivityNodeUUID());
1174
- const t3DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getUUID());
1175
- if (t3CNdiagramObject !== undefined)
1176
- utils_schema_1.copyDiagramObjectPoints(t3DiagramObject, t3CNdiagramObject.diagramObjectPoints);
1180
+ const t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1181
+ if (t2CNdiagramObject !== undefined)
1182
+ utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1183
+ }
1184
+ if (terminal3) {
1185
+ let t3CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getConnectivityNodeUUID());
1186
+ if (!t3CNdiagramObject) {
1187
+ t3CNdiagramObject = util_functions_1.DLUtilFunctions.lookupKnotenSOInBoundaryFrames([...this.exportFramesBoundary.values()], terminal3.getConnectivityNodeUUID(), integral7.placedCIMObjectsForDLProfil, integral7.integralAdditionalGrenzknotenIDs);
1177
1188
  }
1189
+ const t3DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getUUID());
1190
+ if (t3CNdiagramObject !== undefined)
1191
+ utils_schema_1.copyDiagramObjectPoints(t3DiagramObject, t3CNdiagramObject.diagramObjectPoints);
1178
1192
  }
1179
1193
  }
1180
1194
  }
@@ -1189,14 +1203,14 @@ class ConverterI7 {
1189
1203
  const leitungIDs = [...integral7.integralLeitungen.keys(), ...integral7.integralHgueLeitungen.keys()];
1190
1204
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT)
1191
1205
  && leitungIDs.length > 0) {
1192
- const leitungResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNG), leitungIDs));
1206
+ const leitungResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNG, leitungIDs));
1193
1207
  let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
1194
1208
  const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
1195
1209
  if (nsgLeitungIDs.length > 0) {
1196
- const leitungspktResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT), nsgLeitungIDs));
1210
+ const leitungspktResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, nsgLeitungIDs));
1197
1211
  let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
1198
1212
  for (const i7Data of filteredLeitungResults) {
1199
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LEITUNG);
1213
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_LEITUNG);
1200
1214
  let netzLeitung, aKnotenCimObjectUUID, eKnotenCimObjectUUID;
1201
1215
  const isACLine = integral7.integralLeitungen.get(i7Data.leitung);
1202
1216
  if (isACLine) {
@@ -1209,44 +1223,62 @@ class ConverterI7 {
1209
1223
  aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.anetzobjekt);
1210
1224
  eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.enetzobjekt);
1211
1225
  }
1212
- const anfSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussanf);
1213
- const endSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussend);
1226
+ let anfSchemaType = util_functions_1.DLUtilFunctions.getObjectFromMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.anschlussanf, variantennr: variantenNr }));
1227
+ let endSchemaType = util_functions_1.DLUtilFunctions.getObjectFromMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.anschlussend, variantennr: variantenNr }));
1214
1228
  let tempDiagramObjectPoints = [];
1215
1229
  let tempAnfDiagramObject = undefined;
1216
1230
  let tempEndDiagramObject = undefined;
1217
- if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1218
- const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussanf);
1219
- tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1231
+ if (anfSchemaType === undefined) {
1232
+ const tempAnf = util_functions_1.DLUtilFunctions.lookupKnotenSOInBoundaryFramesI7IDBased([...this.exportFramesBoundary.values()], i7Data.anschlussanf, variantenNr, integral7.placedCIMObjectsForDLProfil, integral7.integralAdditionalGrenzknotenIDs);
1233
+ tempAnfDiagramObject = tempAnf.diagramObject;
1234
+ anfSchemaType = tempAnf.schemaType;
1220
1235
  }
1221
- else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1222
- tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1236
+ if (endSchemaType === undefined) {
1237
+ const tempEnd = util_functions_1.DLUtilFunctions.lookupKnotenSOInBoundaryFramesI7IDBased([...this.exportFramesBoundary.values()], i7Data.anschlussend, variantenNr, integral7.placedCIMObjectsForDLProfil, integral7.integralAdditionalGrenzknotenIDs);
1238
+ tempEndDiagramObject = tempEnd.diagramObject;
1239
+ endSchemaType = tempEnd.schemaType;
1223
1240
  }
1224
- else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1225
- tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussanf));
1226
- }
1227
- else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1228
- tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1229
- }
1230
- else {
1231
- this.logger.info(`nsg-line with a unknown/unhandled start reference-point (i7-NetzLeitungID ${netzLeitung.id}, i7-aKnotenID: ${netzLeitung.aknotenid})`);
1232
- continue;
1233
- }
1234
- if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1235
- const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussend);
1236
- tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1237
- }
1238
- else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1239
- tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1240
- }
1241
- else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1242
- tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussend));
1243
- }
1244
- else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1245
- tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1241
+ if (tempAnfDiagramObject === undefined) {
1242
+ if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1243
+ const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussanf);
1244
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1245
+ }
1246
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1247
+ const uuid = util_functions_1.DLUtilFunctions.getObjectFromMapJSONBased(integral7.i7ID2UUID, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.anschlussanf, variantennr: variantenNr }));
1248
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(uuid);
1249
+ }
1250
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1251
+ const uuid = util_functions_1.DLUtilFunctions.getObjectFromMapJSONBased(integral7.i7ID2UUID, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.anschlussanf, variantennr: variantenNr }));
1252
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(uuid);
1253
+ }
1254
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1255
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1256
+ }
1257
+ else {
1258
+ this.logger.info(`nsg-line with a unknown/unhandled start reference-point (i7-NetzLeitungID ${netzLeitung.id}, i7-aKnotenID: ${netzLeitung.aknotenid})`);
1259
+ continue;
1260
+ }
1246
1261
  }
1247
- else {
1248
- this.logger.info(`nsg-line with a unknown/unhandled end reference-point (i7-NetzLeitungID ${netzLeitung.id}, i7-eKnotenID: ${netzLeitung.eknotenid})`);
1249
- continue;
1262
+ if (tempEndDiagramObject === undefined) {
1263
+ if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1264
+ const endSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussend);
1265
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(endSchaltfeld.lastNodeCimUUID);
1266
+ }
1267
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1268
+ const uuid = util_functions_1.DLUtilFunctions.getObjectFromMapJSONBased(integral7.i7ID2UUID, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.anschlussend, variantennr: variantenNr }));
1269
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(uuid);
1270
+ }
1271
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1272
+ const uuid = util_functions_1.DLUtilFunctions.getObjectFromMapJSONBased(integral7.i7ID2UUID, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.anschlussend, variantennr: variantenNr }));
1273
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(uuid);
1274
+ }
1275
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1276
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1277
+ }
1278
+ else {
1279
+ this.logger.info(`nsg-line with a unknown/unhandled end reference-point (i7-NetzLeitungID ${netzLeitung.id}, i7-eKnotenID: ${netzLeitung.eknotenid})`);
1280
+ continue;
1281
+ }
1250
1282
  }
1251
1283
  if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1252
1284
  continue;
@@ -1292,19 +1324,16 @@ class ConverterI7 {
1292
1324
  const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1293
1325
  const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1294
1326
  let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1295
- let tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
1296
1327
  if (cableAvailable && overheadAvailable) {
1297
1328
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
1298
1329
  }
1299
1330
  else if (cableAvailable) {
1300
1331
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
1301
- tableName = integral_sql_1.Integral7TableNames.KABEL;
1302
1332
  }
1303
1333
  else if (overheadAvailable) {
1304
1334
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
1305
- tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
1306
1335
  }
1307
- const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, this.getAvailableColumnNames(tableName), [netzLeitung.id]));
1336
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, [netzLeitung.id]));
1308
1337
  leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1309
1338
  const acSegmentPercentages = [];
1310
1339
  let completeLength = 0;
@@ -1352,14 +1381,14 @@ class ConverterI7 {
1352
1381
  }
1353
1382
  convertSchemaQuerzweige(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1354
1383
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1355
- const whereIDs = [...integral7.i7SchemaID2Type.keys()];
1384
+ const whereIDs = [...integral7.i7SchemaID2Type.keys()].map(value => util_functions_1.DLUtilFunctions.parseSchemaKey(value).id);
1356
1385
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
1357
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG), whereIDs));
1386
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERZWEIG, whereIDs));
1358
1387
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1359
1388
  for (const i7Data of filteredResults) {
1360
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERZWEIG);
1389
+ util_functions_1.DLUtilFunctions.setObjectIntoMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.id, variantennr: variantenNr }), integral_sql_1.Integral7TableNames.NSG_QUERZWEIG);
1361
1390
  integral7.integralNSGQuerzweig.set(i7Data.id, i7Data);
1362
- const referenceType = integral7.i7SchemaID2Type.get(i7Data.bezugsobjekt);
1391
+ const referenceType = util_functions_1.DLUtilFunctions.getObjectFromMapJSONBased(integral7.i7SchemaID2Type, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.bezugsobjekt, variantennr: variantenNr }));
1363
1392
  const uuidPointsMap = new Map();
1364
1393
  const rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(i7Data.ausrichtung);
1365
1394
  let refXPos = 0;
@@ -1381,7 +1410,7 @@ class ConverterI7 {
1381
1410
  nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1382
1411
  nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1383
1412
  }
1384
- if (referenceType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD && integral7.integralNSGSchaltfeld.get(i7Data.bezugsobjekt) !== undefined) {
1413
+ if (referenceType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1385
1414
  const nsgSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.bezugsobjekt);
1386
1415
  refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1387
1416
  const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgSchaltfeld.lastNodeCimUUID).diagramObjectPoints[0];
@@ -1430,8 +1459,8 @@ class ConverterI7 {
1430
1459
  }
1431
1460
  }
1432
1461
  }
1433
- else if (referenceType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO && integral7.i7ID2UUID.get(i7Data.bezugsobjekt) !== undefined) {
1434
- const nsgKnotenSoUUID = integral7.i7ID2UUID.get(i7Data.bezugsobjekt);
1462
+ else if (referenceType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1463
+ const nsgKnotenSoUUID = util_functions_1.DLUtilFunctions.getObjectFromMapJSONBased(integral7.i7ID2UUID, util_functions_1.DLUtilFunctions.stringifySchemaKey({ id: i7Data.bezugsobjekt, variantennr: variantenNr }));
1435
1464
  refCNNodeUUID = nsgKnotenSoUUID;
1436
1465
  const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgKnotenSoUUID).diagramObjectPoints[0];
1437
1466
  refXPos = lastDiagramObjectPointInsideBay.xPosition;
@@ -1449,7 +1478,7 @@ class ConverterI7 {
1449
1478
  const querzweigObjectUUID = this.integralID2UUID.get(i7Data.querzweig);
1450
1479
  const cimObject2LinkWith = cimModel.getObject(querzweigObjectUUID);
1451
1480
  uuidPointsMap.set(querzweigObjectUUID, tempDiagramObject);
1452
- if (cimObject2LinkWith !== undefined && cimModel.getConnectivityNode(refCNNodeUUID) !== undefined) {
1481
+ if (cimObject2LinkWith !== undefined) {
1453
1482
  let ceTerminals = new Set([...cimObject2LinkWith.terminals.values()].map(t => t.getUUID()));
1454
1483
  cimObject2LinkWith.terminalsUUIDs.forEach(tUUID => ceTerminals.add(tUUID));
1455
1484
  let cnTerminals = new Set([...cimModel.getConnectivityNode(refCNNodeUUID).terminals.values()].map(t => t.getUUID()));
@@ -1487,7 +1516,7 @@ class ConverterI7 {
1487
1516
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1488
1517
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1489
1518
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STP_SCHIENE) && nsgStandortIDs.length > 0) {
1490
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_SCHIENE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_STP_SCHIENE), nsgStandortIDs));
1519
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_SCHIENE, nsgStandortIDs));
1491
1520
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1492
1521
  for (const i7Data of filteredResults) {
1493
1522
  const nsgSo = integral7.integralNSGStandorte.get(i7Data.nsgso);
@@ -1529,7 +1558,7 @@ class ConverterI7 {
1529
1558
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1530
1559
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1531
1560
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STP_KNOTEN) && nsgStandortIDs.length > 0) {
1532
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_KNOTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_STP_KNOTEN), nsgStandortIDs));
1561
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_KNOTEN, nsgStandortIDs));
1533
1562
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1534
1563
  if (filteredResults.length <= 0)
1535
1564
  return;
@@ -1564,32 +1593,30 @@ class ConverterI7 {
1564
1593
  let centerPoint = new DiagramObjectPoint_1.DiagramObjectPoint(0, 0, 1);
1565
1594
  const shiftOffset = constants_1.NsgConstants.STP_KNOTEN_WIDTH;
1566
1595
  const trafoIDType = trafoIDTypeMap.get(i7Data.knoten);
1567
- if (trafoIDType !== undefined) {
1568
- const nsgTrafo = integral7.integralNSGTrafos.get(trafoIDType.trafoID);
1569
- const nsgStandort = integral7.integralNSGStandorte.get(nsgTrafo.nsgsoid);
1570
- const points = [];
1571
- points.push(centerPoint);
1572
- for (const p of points) {
1573
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * i7Data.ausrichtung);
1574
- p.xPosition += i7Data.xrel + nsgTrafo.xrel + nsgStandort.xrel + (i7Data.ausrichtung === 2 ? shiftOffset : 0);
1575
- p.yPosition += i7Data.yrel + nsgTrafo.yrel + nsgStandort.yrel + (i7Data.ausrichtung === 3 ? shiftOffset : 0);
1576
- }
1577
- integral7.integralNSGStpKnoten.set(i7Data.id, i7Data);
1578
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'Stp-SSAB');
1579
- diagramObject.rotation = (360 - 90 * i7Data.ausrichtung) % 360;
1580
- utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
1581
- const uuid = this.integralID2UUID.get(i7Data.knoten);
1582
- diagramObject.setIdentifiedObjectUUID(uuid);
1583
- const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1584
- const diagram = cimModel.getDiagram(diagramUUID);
1585
- if (diagram) {
1586
- diagramObject.setDiagram(diagram);
1587
- diagram.addDiagramObject(diagramObject);
1588
- integral7.placedCIMObjectsForDLProfil.set(uuid, diagramObject);
1589
- }
1590
- else {
1591
- this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
1592
- }
1596
+ const nsgTrafo = integral7.integralNSGTrafos.get(trafoIDType.trafoID);
1597
+ const nsgStandort = integral7.integralNSGStandorte.get(nsgTrafo.nsgsoid);
1598
+ const points = [];
1599
+ points.push(centerPoint);
1600
+ for (const p of points) {
1601
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * i7Data.ausrichtung);
1602
+ p.xPosition += i7Data.xrel + nsgTrafo.xrel + nsgStandort.xrel + (i7Data.ausrichtung === 2 ? shiftOffset : 0);
1603
+ p.yPosition += i7Data.yrel + nsgTrafo.yrel + nsgStandort.yrel + (i7Data.ausrichtung === 3 ? shiftOffset : 0);
1604
+ }
1605
+ integral7.integralNSGStpKnoten.set(i7Data.id, i7Data);
1606
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'Stp-SSAB');
1607
+ diagramObject.rotation = (360 - 90 * i7Data.ausrichtung) % 360;
1608
+ utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
1609
+ const uuid = this.integralID2UUID.get(i7Data.knoten);
1610
+ diagramObject.setIdentifiedObjectUUID(uuid);
1611
+ const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1612
+ const diagram = cimModel.getDiagram(diagramUUID);
1613
+ if (diagram) {
1614
+ diagramObject.setDiagram(diagram);
1615
+ diagram.addDiagramObject(diagramObject);
1616
+ integral7.placedCIMObjectsForDLProfil.set(uuid, diagramObject);
1617
+ }
1618
+ else {
1619
+ this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
1593
1620
  }
1594
1621
  }
1595
1622
  }
@@ -1601,7 +1628,7 @@ class ConverterI7 {
1601
1628
  convertStandorte(cimModel, integral7, whereID, defaultValuesConfig) {
1602
1629
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1603
1630
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STANDORT)) {
1604
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STANDORT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STANDORT), whereID));
1631
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STANDORT, whereID));
1605
1632
  for (const i7Data of result) {
1606
1633
  const i7name = util_create_1.createNotation([utils_2.getName(i7Data), '_', utils_2.ueberpruefeZeichenkette(i7Data.ukz)], 32);
1607
1634
  const substation = new AMPRIONSubstation_1.AMPRIONSubstation(utils_1.getUUID(i7Data.guid), i7name, i7Data.kurzname, i7Data.kommentar, i7Data.stationsnummer, i7Data.ukz);
@@ -1639,7 +1666,7 @@ class ConverterI7 {
1639
1666
  convertSchaltanlagen(cimModel, integral7, standortIDs, defaultValuesConfig) {
1640
1667
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1641
1668
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGE)) {
1642
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTANLAGE), standortIDs));
1669
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGE, standortIDs));
1643
1670
  for (const i7Data of result) {
1644
1671
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1645
1672
  const object = cimModel.getObject(this.integralID2UUID.get(i7Data.standort));
@@ -1676,7 +1703,7 @@ class ConverterI7 {
1676
1703
  convertSchaltanlagenAbschnitte(cimModel, integral7, schaltanlagenIDs) {
1677
1704
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1678
1705
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT)) {
1679
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT), schaltanlagenIDs));
1706
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, schaltanlagenIDs));
1680
1707
  for (const i7Data of result) {
1681
1708
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
1682
1709
  if (!voltageLevel) {
@@ -1700,7 +1727,7 @@ class ConverterI7 {
1700
1727
  convertSchaltfelder(cimModel, integral7, schaltanlagenAbschnittIDs) {
1701
1728
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1702
1729
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTFELD)) {
1703
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTFELD), schaltanlagenAbschnittIDs));
1730
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTFELD, schaltanlagenAbschnittIDs));
1704
1731
  for (const i7Data of result) {
1705
1732
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1706
1733
  if (!voltageLevel) {
@@ -1735,7 +1762,7 @@ class ConverterI7 {
1735
1762
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1736
1763
  const cimModel = frame.cimModel;
1737
1764
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SO)) {
1738
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_SO, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_SO), standortIDs));
1765
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_SO, standortIDs));
1739
1766
  for (const i7Data of result) {
1740
1767
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1741
1768
  const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
@@ -1781,32 +1808,18 @@ class ConverterI7 {
1781
1808
  }
1782
1809
  });
1783
1810
  }
1784
- convertKnotenHgue(frame, integral7, standortIDs, defaultValuesConfig) {
1785
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1786
- const cimModel = frame.cimModel;
1787
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KNOTEN)) {
1788
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KNOTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.HGUE_KNOTEN), standortIDs));
1789
- for (const i7Data of result) {
1790
- const cimrdfid = utils_1.getUUID(i7Data.guid);
1791
- const dcNode = new DCNode_1.DCNode(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_DC_Node'], 32, true), i7Data.kurzname);
1792
- cimModel.addDCNode(dcNode);
1793
- this.addIdMapping(i7Data.id, dcNode.mrid, integral_sql_1.Integral7TableNames.HGUE_KNOTEN);
1794
- }
1795
- }
1796
- else {
1797
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
1798
- }
1799
- });
1800
- }
1801
1811
  convertSammelschienenAbschnitte(cimModel, integral7, schaltanlagenAbschnittIDs) {
1802
1812
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1803
1813
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SAMMELSCHIENE)) {
1804
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SAMMELSCHIENE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SAMMELSCHIENE), schaltanlagenAbschnittIDs));
1814
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SAMMELSCHIENE, schaltanlagenAbschnittIDs));
1805
1815
  for (const i7Data of result) {
1806
1816
  const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
1807
1817
  const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt), '_BBS']), i7Schaltanlagenabschnitt.kurzname);
1808
1818
  busbarSection.ipMax = i7Data.limit_ip;
1809
1819
  busbarSection.aggregate = false;
1820
+ if (utils_1.getUUID(i7Data.guid) === '24206c79-3ac8-4436-aa02-3f60a9e85975') {
1821
+ let stop = true;
1822
+ }
1810
1823
  const rdfid = utils_1.getUUID(i7Data.guid);
1811
1824
  const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_' + i7Data.pos.toString(), '_' + rdfid.substring(0, 8), '_CN'], 32, true), i7Data.kurzname);
1812
1825
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
@@ -1870,7 +1883,7 @@ class ConverterI7 {
1870
1883
  convertKnotenKf(cimModel, querkupplungIDs) {
1871
1884
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1872
1885
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_KF)) {
1873
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_KF, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_KF), querkupplungIDs));
1886
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_KF, querkupplungIDs));
1874
1887
  for (const i7Data of result) {
1875
1888
  const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'knotenkf');
1876
1889
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
@@ -1893,7 +1906,7 @@ class ConverterI7 {
1893
1906
  convertKnotenLk(cimModel, laengskupplungIDs) {
1894
1907
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1895
1908
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_LK)) {
1896
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_LK, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_LK), laengskupplungIDs));
1909
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_LK, laengskupplungIDs));
1897
1910
  for (const i7Data of result) {
1898
1911
  const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'KnotenLk');
1899
1912
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
@@ -1916,7 +1929,7 @@ class ConverterI7 {
1916
1929
  convertSchlaufen(cimModel, integral7, knotenSoIDs) {
1917
1930
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1918
1931
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHLAUFE)) {
1919
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHLAUFE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHLAUFE), knotenSoIDs));
1932
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHLAUFE, knotenSoIDs));
1920
1933
  for (const i7Data of result) {
1921
1934
  const terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_Schlaufe_T']), i7Data.kurzname, i7Data.kommentar);
1922
1935
  terminal.connected = utils_2.convertToBooleanI7(i7Data.schaltzustand);
@@ -1944,7 +1957,7 @@ class ConverterI7 {
1944
1957
  convertBelastungen(cimModel, knotenSfIDs, defaultValuesConfig, targetClass) {
1945
1958
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1946
1959
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
1947
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BELASTUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.BELASTUNG), knotenSfIDs));
1960
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BELASTUNG, knotenSfIDs));
1948
1961
  for (const i7Data of result) {
1949
1962
  const load = targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad ? new INTEGRALConformLoad_1.INTEGRALConformLoad(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CL'])) : new EnergyConsumer_1.EnergyConsumer(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_EC']));
1950
1963
  this.setTopologyEnergySourceConsumerObject(cimModel, load, i7Data);
@@ -1956,8 +1969,8 @@ class ConverterI7 {
1956
1969
  const powerData = utils_2.getActiveReactivePower(i7Data, mf);
1957
1970
  load.p = powerData[0];
1958
1971
  load.q = powerData[1];
1959
- load.p_mf = powerData[2] ? powerData[2] : undefined;
1960
- load.q_mf = powerData[3] ? powerData[3] : undefined;
1972
+ load.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] : undefined;
1973
+ load.q_mf = utils_2.isNumericI7(powerData[3]) ? powerData[3] : undefined;
1961
1974
  if (targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad) {
1962
1975
  const conformLoadGroup = cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, cim_class_names_1.CIM_CLASS_NAMES.ConformLoadGroup);
1963
1976
  load.loadGroup = conformLoadGroup;
@@ -1974,7 +1987,7 @@ class ConverterI7 {
1974
1987
  convertEinspeisungen(cimModel, knotenSfIDs, targetClass) {
1975
1988
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1976
1989
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.EINSPEISUNG)) {
1977
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.EINSPEISUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.EINSPEISUNG), knotenSfIDs));
1990
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.EINSPEISUNG, knotenSfIDs));
1978
1991
  switch (targetClass) {
1979
1992
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
1980
1993
  yield this.convertEinspeisungen2EquivalentInjection(cimModel, result);
@@ -1997,7 +2010,7 @@ class ConverterI7 {
1997
2010
  convertErsatzQuerZweige(cimModel, knotenSfIDs, targetClass) {
1998
2011
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1999
2012
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG)) {
2000
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZQUERZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG), knotenSfIDs));
2013
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZQUERZWEIG, knotenSfIDs));
2001
2014
  switch (targetClass) {
2002
2015
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
2003
2016
  yield this.convertErsatzQuerZweige2EquivalentInjection(cimModel, result);
@@ -2020,7 +2033,7 @@ class ConverterI7 {
2020
2033
  convertGeneratoren(cimModel, knotenSfIDs, energyTypesConfig) {
2021
2034
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2022
2035
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.GENERATOR)) {
2023
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.GENERATOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.GENERATOR), knotenSfIDs));
2036
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.GENERATOR, knotenSfIDs));
2024
2037
  for (const i7Data of result) {
2025
2038
  const genType = this.generatorTypen.get(i7Data.nametyp);
2026
2039
  const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SM'], 32, true), i7Data.kurzname, i7Data.nameprimaertyp);
@@ -2114,8 +2127,8 @@ class ConverterI7 {
2114
2127
  const qType = Math.sqrt(Math.pow(genType === null || genType === void 0 ? void 0 : genType.sr, 2) - Math.pow(pType, 2));
2115
2128
  synchronousMachine.setActivePower(p * -1);
2116
2129
  synchronousMachine.setReactivePower(q * -1);
2117
- synchronousMachine.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
2118
- synchronousMachine.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
2130
+ synchronousMachine.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
2131
+ synchronousMachine.q_mf = utils_2.isNumericI7(powerData[3]) ? powerData[3] * -1 : undefined;
2119
2132
  const sr = utils_2.isNumericI7(i7Data.sr) ? utils_2.convertToNumberI7(i7Data.sr) : genType === null || genType === void 0 ? void 0 : genType.sr;
2120
2133
  if (sr && sr >= 0) {
2121
2134
  synchronousMachine.ratedS = sr;
@@ -2283,8 +2296,8 @@ class ConverterI7 {
2283
2296
  const q = powerData[1];
2284
2297
  asynchronousMachine.setActivePower(p * -1);
2285
2298
  asynchronousMachine.setReactivePower(q * -1);
2286
- asynchronousMachine.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
2287
- asynchronousMachine.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
2299
+ asynchronousMachine.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
2300
+ asynchronousMachine.q_mf = utils_2.isNumericI7(powerData[3]) ? powerData[3] * -1 : undefined;
2288
2301
  asynchronousMachine.controlEnabled = false;
2289
2302
  const inBetrieb = utils_2.isBooleanI7(i7Data.betrieb) ? utils_2.convertToBooleanI7(i7Data.betrieb) : true;
2290
2303
  asynchronousMachine.normallyInService = inBetrieb;
@@ -2315,7 +2328,7 @@ class ConverterI7 {
2315
2328
  convertKraftwerksbloecke(cimModel, knotenSfIDs, energyTypesConfig) {
2316
2329
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2317
2330
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KWBLOCK)) {
2318
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KWBLOCK, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KWBLOCK), knotenSfIDs));
2331
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KWBLOCK, knotenSfIDs));
2319
2332
  for (const i7Data of result) {
2320
2333
  const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SM']), i7Data.kurzname);
2321
2334
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
@@ -2461,7 +2474,7 @@ class ConverterI7 {
2461
2474
  convertBoundaryInjections(cimModel, knotenSfIDs, targetClass) {
2462
2475
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2463
2476
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BOUNDARYINJECTION)) {
2464
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BOUNDARYINJECTION, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.BOUNDARYINJECTION), knotenSfIDs));
2477
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BOUNDARYINJECTION, knotenSfIDs));
2465
2478
  switch (targetClass) {
2466
2479
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
2467
2480
  yield this.convertBoundaryInjections2EquivalentInjection(cimModel, result);
@@ -2521,7 +2534,7 @@ class ConverterI7 {
2521
2534
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2522
2535
  const cimModel = frame.cimModel;
2523
2536
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) && integral7.ersatzZweigAnschlussKnotenIDs.length > 0) {
2524
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZLAENGSZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG), integral7.ersatzZweigAnschlussKnotenIDs));
2537
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZLAENGSZWEIG, integral7.ersatzZweigAnschlussKnotenIDs));
2525
2538
  for (const i7Data of result) {
2526
2539
  const i7Schluessel = integral_prefix_1.ERSATZLAENGSZWEIG_PRAEFIX +
2527
2540
  utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
@@ -2558,7 +2571,7 @@ class ConverterI7 {
2558
2571
  convertKompensationsdrossel(cimModel, knotenSfIDs) {
2559
2572
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2560
2573
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL)) {
2561
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL), knotenSfIDs));
2574
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, knotenSfIDs));
2562
2575
  for (const i7Data of result) {
2563
2576
  const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
2564
2577
  shunt.normalSections = i7Data.aktstufe;
@@ -2592,7 +2605,7 @@ class ConverterI7 {
2592
2605
  convertKompensationskondensatoren(cimModel, knotenSfIDs) {
2593
2606
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2594
2607
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR)) {
2595
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR), knotenSfIDs));
2608
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, knotenSfIDs));
2596
2609
  for (const i7Data of result) {
2597
2610
  const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
2598
2611
  shunt.normalSections = i7Data.aktstufe;
@@ -2626,7 +2639,7 @@ class ConverterI7 {
2626
2639
  convertStatcom(cimModel, knotenSfIDs) {
2627
2640
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2628
2641
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STATCOM)) {
2629
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STATCOM, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STATCOM), knotenSfIDs));
2642
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STATCOM, knotenSfIDs));
2630
2643
  for (const i7Data of result) {
2631
2644
  const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
2632
2645
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
@@ -2666,7 +2679,7 @@ class ConverterI7 {
2666
2679
  convertSVC(cimModel, knotenSfIDs) {
2667
2680
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2668
2681
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SVC)) {
2669
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SVC, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SVC), knotenSfIDs));
2682
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SVC, knotenSfIDs));
2670
2683
  for (const i7Data of result) {
2671
2684
  const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
2672
2685
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
@@ -2706,7 +2719,7 @@ class ConverterI7 {
2706
2719
  convertCsConverterDC(cimModel, integral7, knotenSfIDs) {
2707
2720
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2708
2721
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH)) {
2709
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH), knotenSfIDs));
2722
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, knotenSfIDs));
2710
2723
  for (const i7Data of result) {
2711
2724
  const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
2712
2725
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
@@ -2773,7 +2786,7 @@ class ConverterI7 {
2773
2786
  var _a;
2774
2787
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2775
2788
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC)) {
2776
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC), knotenSfIDs));
2789
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, knotenSfIDs));
2777
2790
  for (const i7Data of result) {
2778
2791
  const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
2779
2792
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
@@ -2896,7 +2909,7 @@ class ConverterI7 {
2896
2909
  try {
2897
2910
  const cn = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2898
2911
  const cimrdfid = utils_1.getUUID(i7Data.guid);
2899
- const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_ENI'], 32, true), i7Data.kurzname);
2912
+ const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_' + cimrdfid, '_ENI'], 32, true), i7Data.kurzname);
2900
2913
  const un = cn.getVoltageLevel().getBaseVoltageAsNumber();
2901
2914
  externalNetworkInjection.nameprimaertyp = i7Data.nameprimaertyp;
2902
2915
  let mf = undefined;
@@ -2907,7 +2920,7 @@ class ConverterI7 {
2907
2920
  }
2908
2921
  const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
2909
2922
  externalNetworkInjection.maxP = maxP;
2910
- const governorscd = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
2923
+ const governorscd = utils_2.isNumericI7(i7Data.kr) && maxP ? utils_2.calculateSigma(50, externalNetworkInjection.maxP, utils_2.convertToNumberI7(i7Data.kr)) : undefined;
2911
2924
  externalNetworkInjection.governorSCD = governorscd;
2912
2925
  const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
2913
2926
  externalNetworkInjection.maxQ = maxQ;
@@ -2942,8 +2955,7 @@ class ConverterI7 {
2942
2955
  let regulatingControl = undefined;
2943
2956
  switch (i7Data.spannungsgeregelt) {
2944
2957
  case 1: {
2945
- const cimrdfid = utils_1.getUUID(externalNetworkInjection.getUUID());
2946
- regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), util_create_1.createNotation([cimrdfid.substring(0, 8), '_RC_ENI'], 32, true));
2958
+ regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_ENI_${externalNetworkInjection.getUUID().substring(0, 8)}`);
2947
2959
  regulatingControl.targetValue = usoll;
2948
2960
  regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
2949
2961
  regulatingControl.discrete = false;
@@ -2974,8 +2986,8 @@ class ConverterI7 {
2974
2986
  const q = powerData[1];
2975
2987
  externalNetworkInjection.setActivePower(p * -1);
2976
2988
  externalNetworkInjection.setReactivePower(q * -1);
2977
- externalNetworkInjection.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
2978
- externalNetworkInjection.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
2989
+ externalNetworkInjection.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
2990
+ externalNetworkInjection.q_mf = utils_2.isNumericI7(powerData[3]) ? powerData[3] * -1 : undefined;
2979
2991
  cimModel.addExternalNetworkInjection(externalNetworkInjection);
2980
2992
  this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
2981
2993
  }
@@ -3034,7 +3046,7 @@ class ConverterI7 {
3034
3046
  convertQuerkupplungen(cimModel, integral7, schaltanlagenAbschnittIDs) {
3035
3047
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3036
3048
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.QUERKUPPLUNG)) {
3037
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.QUERKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.QUERKUPPLUNG), schaltanlagenAbschnittIDs));
3049
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.QUERKUPPLUNG, schaltanlagenAbschnittIDs));
3038
3050
  for (const i7Data of result) {
3039
3051
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3040
3052
  const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), 'Querkupplung');
@@ -3065,7 +3077,7 @@ class ConverterI7 {
3065
3077
  convertLaegskupplungen(cimModel, integral7, schaltanlagenIDs) {
3066
3078
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3067
3079
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
3068
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG), schaltanlagenIDs));
3080
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, schaltanlagenIDs));
3069
3081
  for (const i7Data of result) {
3070
3082
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3071
3083
  const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), i7Data.kurzname, 'Laengskupplung');
@@ -3098,7 +3110,7 @@ class ConverterI7 {
3098
3110
  convertStarreVerbindungen(cimModel, containerIDs) {
3099
3111
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3100
3112
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
3101
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_STARR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_STARR), containerIDs));
3113
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_STARR, containerIDs));
3102
3114
  for (const i7Data of result) {
3103
3115
  const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']), 'Breaker', 'starre Verbindung');
3104
3116
  yield this.convertSwitch(breaker, cimModel, i7Data);
@@ -3114,7 +3126,7 @@ class ConverterI7 {
3114
3126
  convertTrennerFi3f(cimModel, containerIDs) {
3115
3127
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3116
3128
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) {
3117
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNERFI_3P, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRENNERFI_3P), containerIDs));
3129
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNERFI_3P, containerIDs));
3118
3130
  for (const i7Data of result) {
3119
3131
  const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
3120
3132
  yield this.convertSwitch(disconnector, cimModel, i7Data);
@@ -3130,7 +3142,7 @@ class ConverterI7 {
3130
3142
  convertTrenner3f(cimModel, containerIDs) {
3131
3143
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3132
3144
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
3133
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNER_3P, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRENNER_3P), containerIDs));
3145
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNER_3P, containerIDs));
3134
3146
  for (const i7Data of result) {
3135
3147
  const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
3136
3148
  yield this.convertSwitch(disconnector, cimModel, i7Data);
@@ -3146,7 +3158,7 @@ class ConverterI7 {
3146
3158
  convertLeistungsschalter(cimModel, containerIDs) {
3147
3159
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3148
3160
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER)) {
3149
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER), containerIDs));
3161
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, containerIDs));
3150
3162
  for (const i7Data of result) {
3151
3163
  const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']));
3152
3164
  yield this.convertSwitch(breaker, cimModel, i7Data);
@@ -3200,7 +3212,7 @@ class ConverterI7 {
3200
3212
  var _a;
3201
3213
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3202
3214
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) && integral7.lDrosselAnschlussKnotenIDs.length) {
3203
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSDROSSEL, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LAENGSDROSSEL), integral7.lDrosselAnschlussKnotenIDs));
3215
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSDROSSEL, integral7.lDrosselAnschlussKnotenIDs));
3204
3216
  for (const i7Data of result) {
3205
3217
  const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SC']), i7Data.kurzname, i7Data.kommentar + '; LD-' + i7Data.bezeichner);
3206
3218
  const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
@@ -3262,7 +3274,7 @@ class ConverterI7 {
3262
3274
  var _a;
3263
3275
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3264
3276
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) && integral7.lKondensatorAnschlussKnotenIDs.length > 0) {
3265
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKONDENSATOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR), integral7.lKondensatorAnschlussKnotenIDs));
3277
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKONDENSATOR, integral7.lKondensatorAnschlussKnotenIDs));
3266
3278
  for (const i7Data of result) {
3267
3279
  const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SC']), i7Data.kurzname);
3268
3280
  const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
@@ -3324,7 +3336,7 @@ class ConverterI7 {
3324
3336
  convertBetriebsmitteltypenKdrossel() {
3325
3337
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3326
3338
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KDROSSEL)) {
3327
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_KDROSSEL, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_KDROSSEL), []));
3339
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_KDROSSEL, []));
3328
3340
  for (const i7Data of result) {
3329
3341
  this.kdrosseltypen.set(i7Data.name, i7Data);
3330
3342
  }
@@ -3339,7 +3351,7 @@ class ConverterI7 {
3339
3351
  return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
3340
3352
  const stpSchieneIDs = [];
3341
3353
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE)) {
3342
- const stpSchiene = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_SCHIENE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE), standortIDs));
3354
+ const stpSchiene = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_SCHIENE, standortIDs));
3343
3355
  for (const i7DataSchiene of stpSchiene) {
3344
3356
  try {
3345
3357
  stpSchieneIDs.push(i7DataSchiene.id);
@@ -3379,7 +3391,7 @@ class ConverterI7 {
3379
3391
  try {
3380
3392
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ)) {
3381
3393
  if (stpScheinenID.length) {
3382
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ), stpScheinenID));
3394
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, stpScheinenID));
3383
3395
  for (const i7Data of result) {
3384
3396
  const kdType = this.kdrosseltypen.get(i7Data.nametyp);
3385
3397
  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);
@@ -3431,7 +3443,7 @@ class ConverterI7 {
3431
3443
  try {
3432
3444
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER)) {
3433
3445
  if (stpSchienenID.length) {
3434
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_SCHALTER, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER), stpSchienenID));
3446
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_SCHALTER, stpSchienenID));
3435
3447
  for (const i7Data of result) {
3436
3448
  const terminal = integral7.sternPunktImpModel.stpSchieneTerminal.get(i7Data.eknoten);
3437
3449
  if (terminal) {
@@ -3461,7 +3473,7 @@ class ConverterI7 {
3461
3473
  convertLaengskupplungen(cimModel, integral7, schaltanlagenIDs) {
3462
3474
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3463
3475
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
3464
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG), schaltanlagenIDs));
3476
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, schaltanlagenIDs));
3465
3477
  for (const i7Data of result) {
3466
3478
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3467
3479
  const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), i7Data.kurzname, 'Laengskupplung');
@@ -3494,7 +3506,7 @@ class ConverterI7 {
3494
3506
  convertBetriebsmitteltypenLeitung() {
3495
3507
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3496
3508
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_FREILEITUNG)) {
3497
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_FREILEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_FREILEITUNG), []));
3509
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_FREILEITUNG, []));
3498
3510
  for (const i7Data of result) {
3499
3511
  const typ = new EVWireInfo_1.EVWireInfo(utils_1.generateUUID(), i7Data.name);
3500
3512
  this.setWireInfoProperties(typ, i7Data, 'Freileitung');
@@ -3505,7 +3517,7 @@ class ConverterI7 {
3505
3517
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
3506
3518
  }
3507
3519
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KABEL)) {
3508
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_KABEL, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_KABEL), []));
3520
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_KABEL, []));
3509
3521
  for (const i7Data of result) {
3510
3522
  const typ = new EVWireInfo_1.EVWireInfo(utils_1.generateUUID(), i7Data.name);
3511
3523
  this.setWireInfoProperties(typ, i7Data, 'Kabel');
@@ -3534,25 +3546,25 @@ class ConverterI7 {
3534
3546
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3535
3547
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) && integral7.leitungsAnschlussIDs.length) {
3536
3548
  const cimModel = frame.cimModel;
3537
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LEITUNG), integral7.leitungsAnschlussIDs));
3549
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEITUNG, integral7.leitungsAnschlussIDs));
3538
3550
  const leitungIDs = result.map(elem => elem.id);
3539
3551
  const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
3540
3552
  const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
3541
3553
  let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
3542
- let tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
3543
3554
  if (cableAvailable && overheadAvailable) {
3544
3555
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
3545
3556
  }
3546
3557
  else if (cableAvailable) {
3547
3558
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
3548
- tableName = integral_sql_1.Integral7TableNames.KABEL;
3549
3559
  }
3550
3560
  else if (overheadAvailable) {
3551
3561
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
3552
- tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
3553
3562
  }
3554
- const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, this.getAvailableColumnNames(tableName), leitungIDs));
3563
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, leitungIDs));
3555
3564
  for (const i7Data of result) {
3565
+ if (i7Data.id === 943) {
3566
+ let stop = true;
3567
+ }
3556
3568
  const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
3557
3569
  if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
3558
3570
  continue;
@@ -3585,8 +3597,11 @@ class ConverterI7 {
3585
3597
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
3586
3598
  '-' +
3587
3599
  utils_2.ueberpruefeZeichenkette(stk.bezeichner);
3588
- const cimrdfid = utils_1.getUUID(stk.custom_guid_0120 + stk.custom_guid_2137);
3589
- const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(cimrdfid, util_create_1.createNotation([name, '_' + stk.pos.toString(), '_' + cimrdfid.substring(0, 8), '_ACLS'], 32, true), i7Data.stkabname, i7Schluessel);
3600
+ if (utils_1.getUUID(stk.custom_guid_0120 + stk.custom_guid_2137).toLowerCase() === '8387376e-86bf-4da0-91f2-b19a3d490715') {
3601
+ let stop = true;
3602
+ }
3603
+ const uuidACLineString = utils_1.getUUID(i7Data.guid);
3604
+ const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuidACLineString, util_create_1.createNotation([name, '_' + stk.pos.toString(), uuidACLineString, '_ACLS'], 32, true), i7Data.stkabname, i7Schluessel);
3590
3605
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(stk.multfaktor));
3591
3606
  if (mf) {
3592
3607
  cimModel.addMultiplierFactor(mf);
@@ -3616,6 +3631,12 @@ class ConverterI7 {
3616
3631
  else {
3617
3632
  this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
3618
3633
  }
3634
+ if (acLineSegments[0].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
3635
+ let stop = true;
3636
+ }
3637
+ else if (acLineSegments[0].getUUID() === 'e1a65e81-1cec-4f1a-ab87-9c7b667ad64f') {
3638
+ let stop = true;
3639
+ }
3619
3640
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegmentStart, stromkreisabschnitte[0], defaultValuesConfig);
3620
3641
  cimModel.addACLineSegment(acLineSegmentStart);
3621
3642
  const anzahl = acLineSegments.length;
@@ -3629,6 +3650,9 @@ class ConverterI7 {
3629
3650
  if (tmp_terminal) {
3630
3651
  tmp_terminal = undefined;
3631
3652
  }
3653
+ if (acLineSegments[i].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
3654
+ let stop = true;
3655
+ }
3632
3656
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegments[i], stromkreisabschnitte[i], defaultValuesConfig);
3633
3657
  const acLineSegment2 = acLineSegments[i + 1];
3634
3658
  tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true);
@@ -3706,8 +3730,11 @@ class ConverterI7 {
3706
3730
  var _a, _b;
3707
3731
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3708
3732
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) && integral7.hgueAnschlussKnotenIDs.length > 0) {
3709
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_LEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.HGUE_LEITUNG), integral7.hgueAnschlussKnotenIDs));
3733
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_LEITUNG, integral7.hgueAnschlussKnotenIDs));
3710
3734
  for (const i7Data of result) {
3735
+ if (utils_1.getUUID(i7Data.guid_dcline) === '6a5b7e1e-f8be-4165-9752-2e2359d9b4f8') {
3736
+ let stop = true;
3737
+ }
3711
3738
  integral7.integralHgueLeitungen.set(i7Data.id, i7Data);
3712
3739
  const dcLine = new DCLine_1.DCLine(utils_1.getUUID(i7Data.guid_dcline), util_create_1.createNotation([utils_2.getName(i7Data), '_DCL']));
3713
3740
  const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
@@ -3776,7 +3803,7 @@ class ConverterI7 {
3776
3803
  convertBetriebsmitteltypenTrafo() {
3777
3804
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3778
3805
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO2W)) {
3779
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_TRAFO2W), []));
3806
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_TRAFO2W, []));
3780
3807
  for (const i7Data of result) {
3781
3808
  const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(utils_1.generateUUID(), i7Data.name);
3782
3809
  typTrafo.ukr12 = i7Data.ukr;
@@ -3804,7 +3831,7 @@ class ConverterI7 {
3804
3831
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
3805
3832
  }
3806
3833
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO3W)) {
3807
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_TRAFO3W), []));
3834
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_TRAFO3W, []));
3808
3835
  for (const i7Data of result) {
3809
3836
  const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(utils_1.generateUUID(), i7Data.name);
3810
3837
  typTrafo.pLeer = i7Data.p_leer;
@@ -3844,7 +3871,7 @@ class ConverterI7 {
3844
3871
  convertBetriebsmitteltypenGenerator() {
3845
3872
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3846
3873
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_GENERATOR)) {
3847
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_GENERATOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_GENERATOR), []));
3874
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_GENERATOR, []));
3848
3875
  for (const i7Data of result) {
3849
3876
  this.generatorTypen.set(i7Data.name, i7Data);
3850
3877
  }
@@ -3857,7 +3884,7 @@ class ConverterI7 {
3857
3884
  convertBetriebsmitteltypenAsynchronmotor() {
3858
3885
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3859
3886
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_ASYNCHRONMOTOR)) {
3860
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_ASYNCHRONMOTOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_ASYNCHRONMOTOR), []));
3887
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TYP_ASYNCHRONMOTOR, []));
3861
3888
  for (const i7Data of result) {
3862
3889
  this.asynchronmotorTypen.set(i7Data.name, i7Data);
3863
3890
  }
@@ -3870,7 +3897,7 @@ class ConverterI7 {
3870
3897
  convertMultiplikationsfaktoren() {
3871
3898
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3872
3899
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR)) {
3873
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.MULTIPLIKATIONSFAKTOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR), []));
3900
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.MULTIPLIKATIONSFAKTOR, []));
3874
3901
  for (const i7Data of result) {
3875
3902
  const multFaktor = new INTEGRALMultiplierFactor_1.INTEGRALMultiplierFactor(utils_1.getUUID(undefined), utils_2.getName(i7Data), i7Data.kurzname, i7Data.kommentar);
3876
3903
  multFaktor.p = utils_2.isNumericI7(i7Data.p) ? utils_2.convertToNumberI7(i7Data.p) : undefined;
@@ -3892,14 +3919,14 @@ class ConverterI7 {
3892
3919
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3893
3920
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W)) {
3894
3921
  const cimModel = frame.cimModel;
3895
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO2W), standortIDs));
3922
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO2W, standortIDs));
3896
3923
  const trafoIDs = result.map(obj => obj['id']);
3897
3924
  const sternpunktKnotenMap = new Map();
3898
3925
  for (const elem of trafoIDs) {
3899
3926
  sternpunktKnotenMap.set(elem, new Map());
3900
3927
  }
3901
3928
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoIDs.length) {
3902
- const sternpunktKnotenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN), trafoIDs));
3929
+ const sternpunktKnotenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, trafoIDs));
3903
3930
  for (const spKnoten of sternpunktKnotenResult) {
3904
3931
  (_a = sternpunktKnotenMap.get(spKnoten.netzobjekt)) === null || _a === void 0 ? void 0 : _a.set(spKnoten.id, spKnoten);
3905
3932
  }
@@ -4002,13 +4029,12 @@ class ConverterI7 {
4002
4029
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4003
4030
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3W)) {
4004
4031
  const cimModel = frame.cimModel;
4005
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), standortIDs));
4032
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, standortIDs));
4006
4033
  const trafoIDs = result.map(obj => obj['id']);
4007
4034
  const trafoWicklungen = new Map();
4008
4035
  const trafoWicklungIDs = [];
4009
- const tableNameWicklung = integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG;
4010
- if (this.isTableAvailable(tableNameWicklung) && trafoIDs.length) {
4011
- const wicklungenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3_WICKLUNG, this.getAvailableColumnNames(tableNameWicklung), trafoIDs));
4036
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) && trafoIDs.length) {
4037
+ const wicklungenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3_WICKLUNG, trafoIDs));
4012
4038
  for (const wicklung of wicklungenResult) {
4013
4039
  trafoWicklungen.set(wicklung.id, wicklung);
4014
4040
  trafoWicklungIDs.push(wicklung.id);
@@ -4021,9 +4047,8 @@ class ConverterI7 {
4021
4047
  for (const elem of trafoIDs) {
4022
4048
  sternpunktKnotenMap.set(elem, new Map());
4023
4049
  }
4024
- const tableNameStpKnoten = integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN;
4025
- if (this.isTableAvailable(tableNameStpKnoten) && trafoIDs.length) {
4026
- const sternpunktKnotenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, this.getAvailableColumnNames(tableNameStpKnoten), trafoIDs));
4050
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoIDs.length) {
4051
+ const sternpunktKnotenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, trafoIDs));
4027
4052
  for (const spKnoten of sternpunktKnotenResult) {
4028
4053
  (_a = sternpunktKnotenMap.get(spKnoten.netzobjekt)) === null || _a === void 0 ? void 0 : _a.set(spKnoten.id, spKnoten);
4029
4054
  }
@@ -4282,6 +4307,9 @@ class ConverterI7 {
4282
4307
  });
4283
4308
  }
4284
4309
  sortTransformerEnd(powerTransformer, sortProperty, order) {
4310
+ if (powerTransformer.getUUID() === '5b0e4820d43247188ded6b28db72fc95') {
4311
+ let stop = true;
4312
+ }
4285
4313
  let winding_guids = new Array(powerTransformer.powerTransformerEnds.length);
4286
4314
  let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnds.length);
4287
4315
  for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
@@ -4304,12 +4332,11 @@ class ConverterI7 {
4304
4332
  }
4305
4333
  }
4306
4334
  setACLineSegmentProperties(defaultModel, cimModel, acLineSegment, data, defaultValuesConfig) {
4307
- if (utils_2.isBooleanI7(data.flag_impedanzlos) && utils_2.convertToBooleanI7(data.flag_impedanzlos)) {
4308
- data.flag_impedanzlos = 1;
4335
+ if (acLineSegment.getUUID() === 'e2505f0f-c764-44da-b88b-d40e048193c9') {
4336
+ let stop = true;
4309
4337
  }
4310
- else if (!utils_2.isNumericI7(data.laenge) && utils_2.isBooleanI7(data.flag_impedanzlos) && !utils_2.convertToBooleanI7(data.flag_impedanzlos)) {
4311
- data.flag_impedanzlos = 0;
4312
- data.laenge = 1;
4338
+ if ((utils_2.isNumericI7(data.laenge) && data.laenge <= 0) || (utils_2.isBooleanI7(data.flag_impedanzlos) && utils_2.convertToBooleanI7(data.flag_impedanzlos))) {
4339
+ data.flag_impedanzlos = 1;
4313
4340
  }
4314
4341
  if (utils_2.isNumericI7(data.laenge) && data.laenge > 0 && !data.flag_impedanzlos) {
4315
4342
  acLineSegment.length = data.laenge;
@@ -4435,6 +4462,9 @@ class ConverterI7 {
4435
4462
  return operationalLimitType;
4436
4463
  }
4437
4464
  createConnection(cimModel, conductingEquipment, object, phase, connected) {
4465
+ if (conductingEquipment.getUUID() === '66d3c196-8927-478a-a6bf-248ea34cdeb3') {
4466
+ let stop = true;
4467
+ }
4438
4468
  let isNameSet = false;
4439
4469
  let terminal;
4440
4470
  if (object instanceof ConnectivityNode_1.ConnectivityNode) {
@@ -4677,26 +4707,7 @@ class ConverterI7 {
4677
4707
  try {
4678
4708
  const results = yield this.mysqlController.execQuery(`SHOW TABLES FROM ${database}`);
4679
4709
  for (const table of results) {
4680
- this.availableTableNames.set(table[`Tables_in_${database}`], []);
4681
- }
4682
- }
4683
- catch (e) {
4684
- this.logger.error(e);
4685
- console.error('ERROR:' + e);
4686
- }
4687
- });
4688
- }
4689
- getAvailableTableColumnNames(database) {
4690
- var _a;
4691
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
4692
- const query = `SELECT table_name, column_name
4693
- FROM information_schema.columns
4694
- WHERE table_schema = '${database}'
4695
- ORDER BY table_name, ORDINAL_POSITION;`;
4696
- try {
4697
- const results = yield this.mysqlController.execQuery(query);
4698
- for (const table of results) {
4699
- (_a = this.availableTableNames.get(table['table_name'])) === null || _a === void 0 ? void 0 : _a.push(table['column_name']);
4710
+ this.availableTableNames.push(table[`Tables_in_${database}`]);
4700
4711
  }
4701
4712
  }
4702
4713
  catch (e) {
@@ -4712,7 +4723,6 @@ class ConverterI7 {
4712
4723
  this.logger = logger;
4713
4724
  this.initMySQLConnection(mySqlConfig);
4714
4725
  yield this.getAvailableTableNames(mySqlConfig.database);
4715
- yield this.getAvailableTableColumnNames(mySqlConfig.database);
4716
4726
  }
4717
4727
  catch (e) {
4718
4728
  status.status = 'error';
@@ -4814,7 +4824,7 @@ class ConverterI7 {
4814
4824
  const offset = i * limit;
4815
4825
  const currentLimit = (i + 1 === numberOfIntervals && restCount > 0) ? restCount : limit;
4816
4826
  const partSchaltfeldIDs = ids.slice(offset, offset + currentLimit);
4817
- result.push(...yield this.mysqlController.execQuery(integral_sql_1.getI7Query(objectName, this.getAvailableColumnNames(objectName), partSchaltfeldIDs)));
4827
+ result.push(...yield this.mysqlController.execQuery(integral_sql_1.getI7Query(objectName, partSchaltfeldIDs)));
4818
4828
  }
4819
4829
  return result;
4820
4830
  });
@@ -5330,10 +5340,7 @@ class ConverterI7 {
5330
5340
  return filteredRelevantTables;
5331
5341
  }
5332
5342
  isTableAvailable(tableName) {
5333
- return this.availableTableNames.has(tableName);
5334
- }
5335
- getAvailableColumnNames(tableName) {
5336
- return this.availableTableNames.get(tableName);
5343
+ return this.availableTableNames.indexOf(tableName) > -1 ? true : false;
5337
5344
  }
5338
5345
  addIdMapping(i7ID, uuid, type) {
5339
5346
  if (this.integralID2UUID.has(i7ID)) {