@enervance/insight-cim-model 0.0.54 → 0.0.57

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 (32) hide show
  1. package/dist/config/westnetz-neplan/neplan-load.config.js +1 -0
  2. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  3. package/dist/constants/cim-class-definition.js +2 -0
  4. package/dist/constants/cim-class-definition.js.map +1 -1
  5. package/dist/constants/cim-class-names.d.ts +1 -0
  6. package/dist/constants/cim-class-names.js +1 -0
  7. package/dist/constants/cim-class-names.js.map +1 -1
  8. package/dist/converter/integral7/converter-i7.d.ts +5 -2
  9. package/dist/converter/integral7/converter-i7.js +377 -397
  10. package/dist/converter/integral7/converter-i7.js.map +1 -1
  11. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +4 -0
  12. package/dist/converter/integral7/model/dl-utils/util-functions.js +66 -0
  13. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  14. package/dist/converter/integral7/model/interfaces.d.ts +5 -0
  15. package/dist/converter/integral7/model/interfaces.js.map +1 -1
  16. package/dist/converter/integral7/sql/integral.sql.d.ts +87 -1
  17. package/dist/converter/integral7/sql/integral.sql.js +185 -86
  18. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  19. package/dist/converter/integral7/utils.js +5 -2
  20. package/dist/converter/integral7/utils.js.map +1 -1
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.js +2 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/model/core/IdentifiedObject.js +1 -1
  25. package/dist/model/core/IdentifiedObject.js.map +1 -1
  26. package/dist/model/model/Model.d.ts +6 -1
  27. package/dist/model/model/Model.js +12 -0
  28. package/dist/model/model/Model.js.map +1 -1
  29. package/dist/model/model-operations/ModelOperationDescription.d.ts +5 -1
  30. package/dist/model/model-operations/ModelOperationDescription.js +36 -1
  31. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -1
  32. package/package.json +1 -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 = [];
144
+ this.availableTableNames = new Map();
145
145
  this.integralID2Type = new Map();
146
146
  this.coordinateSystem = 'EPSG:4326';
147
147
  this.integralID2UUID = new Map();
@@ -396,6 +396,10 @@ class ConverterI7 {
396
396
  yield this.convertSVC(cimModel, soSfKnoten);
397
397
  logExecutionTime(this.logger, startTime, `convertSVC`);
398
398
  }
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})`);
399
403
  if (knotenSoIDs.length > 0 || integral7Modell.knotenSfIDs.length > 0) {
400
404
  startTime = perf_hooks_1.performance.now();
401
405
  yield this.convertCsConverterDC(cimModel, integral7Modell, soSfKnoten);
@@ -431,60 +435,62 @@ class ConverterI7 {
431
435
  logExecutionTime(this.logger, startTime, `convertNetzvarianten`);
432
436
  for (const key of integral7Modell.i7SchemaID2UUID.keys()) {
433
437
  startTime = perf_hooks_1.performance.now();
434
- yield this.convertSchemaStandorte(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
438
+ const convertAll = yield this.convertSchemaStandorte(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
435
439
  logExecutionTime(this.logger, startTime, `convertSchemaStandorte`);
436
- startTime = perf_hooks_1.performance.now();
437
- yield this.convertSchemaKnotenSo(cimModel, integral7Modell, knotenSoIDs, key, constants_1.NsgConstants.onlyEingeblendet);
438
- logExecutionTime(this.logger, startTime, `convertSchemaKnotenSo`);
439
- startTime = perf_hooks_1.performance.now();
440
- logExecutionTime(this.logger, startTime, `convertSchemaHgueKnotenSo`);
441
- startTime = perf_hooks_1.performance.now();
442
- yield this.convertSchemaSchaltanlage(cimModel, integral7Modell, schaltanlagenIDs, key, constants_1.NsgConstants.onlyEingeblendet);
443
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltanlage`);
444
- startTime = perf_hooks_1.performance.now();
445
- yield this.convertSchemaSchaltanlagenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
446
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltanlagenAbschnitte`);
447
- startTime = perf_hooks_1.performance.now();
448
- yield this.convertSchemaSammelschienenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
449
- logExecutionTime(this.logger, startTime, `convertSchemaSammelschienenAbschnitte`);
450
- startTime = perf_hooks_1.performance.now();
451
- yield this.convertSchemaSchaltfeldElemente(cimModel, integral7Modell, schaltfeldIDs, key, constants_1.NsgConstants.onlyEingeblendet);
452
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltfeldElemente`);
453
- startTime = perf_hooks_1.performance.now();
454
- yield this.convertSchemaQuerkupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
455
- logExecutionTime(this.logger, startTime, `convertSchemaQuerkupplungen`);
456
- startTime = perf_hooks_1.performance.now();
457
- yield this.convertSchemaLaengskupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
458
- logExecutionTime(this.logger, startTime, `convertSchemaLaengskupplungen`);
459
- startTime = perf_hooks_1.performance.now();
460
- yield this.convertSchemaTransformatoren2W(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
461
- logExecutionTime(this.logger, startTime, `convertSchemaTransformatoren2W`);
462
- startTime = perf_hooks_1.performance.now();
463
- yield this.convertSchemaTransformatoren3W(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
464
- logExecutionTime(this.logger, startTime, `convertSchemaTransformatoren3W`);
465
- startTime = perf_hooks_1.performance.now();
466
- yield this.convertSchemaQuerzweige(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
467
- logExecutionTime(this.logger, startTime, `convertSchemaQuerzweige`);
468
- startTime = perf_hooks_1.performance.now();
469
- logExecutionTime(this.logger, startTime, `convertSchemaSternpunktSchiene`);
470
- startTime = perf_hooks_1.performance.now();
471
- logExecutionTime(this.logger, startTime, `convertSchemaSternpunktKnoten`);
472
- startTime = perf_hooks_1.performance.now();
473
- yield this.convertSchemaLeitungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
474
- logExecutionTime(this.logger, startTime, `convertSchemaLeitungen`);
475
- integral7Modell.integralLaengskupplungen.clear();
476
- integral7Modell.integralHgueLeitungen.clear();
477
- integral7Modell.i7ID2UUID.clear();
478
- integral7Modell.i7SchemaID2Type.clear();
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();
482
+ integral7Modell.i7ID2UUID.clear();
483
+ 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
+ }
479
493
  integral7Modell.integralNSGStandorte.clear();
480
- integral7Modell.integralNSGSchaltanlage.clear();
481
- integral7Modell.integralNSGSchaltfeld.clear();
482
- integral7Modell.integralNSGSAAbschnitt.clear();
483
- integral7Modell.integralNSGSsab.clear();
484
- integral7Modell.integralNSGStpSchiene.clear();
485
- integral7Modell.integralNSGStpKnoten.clear();
486
- integral7Modell.integralNSGTrafos.clear();
487
- integral7Modell.integralNSGQuerzweig.clear();
488
494
  integral7Modell.placedCIMObjectsForDLProfil.clear();
489
495
  }
490
496
  });
@@ -507,7 +513,6 @@ class ConverterI7 {
507
513
  }
508
514
  }
509
515
  else {
510
- console.log(`Terminal without connection ${terminalUUID}`);
511
516
  }
512
517
  }
513
518
  }
@@ -526,7 +531,6 @@ class ConverterI7 {
526
531
  }
527
532
  }
528
533
  else {
529
- console.log(`Terminal without connection ${terminalUUID}`);
530
534
  }
531
535
  }
532
536
  }
@@ -545,7 +549,6 @@ class ConverterI7 {
545
549
  }
546
550
  }
547
551
  else {
548
- console.log(`Terminal without connection ${terminalUUID}`);
549
552
  }
550
553
  }
551
554
  }
@@ -634,7 +637,7 @@ class ConverterI7 {
634
637
  convertNetzvarianten(cimModel, integral7) {
635
638
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
636
639
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
637
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NETZVARIANTEN, [2]));
640
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NETZVARIANTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZVARIANTEN), [2]));
638
641
  for (const i7Data of result) {
639
642
  const diagram = new Diagram_1.Diagram(utils_1.getUUID(i7Data.guid), i7Data.name, String(i7Data.id));
640
643
  diagram.orientation = OrientationKind_1.OrientationKind.negative;
@@ -650,8 +653,9 @@ class ConverterI7 {
650
653
  }
651
654
  convertSchemaStandorte(cimModel, integral7, standortIDs, variantenNr, onlyEingeblendet = true) {
652
655
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
656
+ let retVal = false;
653
657
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
654
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STANDORT, standortIDs));
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));
655
659
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
656
660
  for (const i7Data of filteredResults) {
657
661
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_STANDORT);
@@ -661,16 +665,20 @@ class ConverterI7 {
661
665
  integral7.integralNSGStandorte.set(i7Data.id, standort.standortNsg);
662
666
  }
663
667
  }
668
+ if (filteredResults.length > 0) {
669
+ retVal = true;
670
+ }
664
671
  }
665
672
  else {
666
673
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
667
674
  }
675
+ return retVal;
668
676
  });
669
677
  }
670
678
  convertSchemaKnotenSo(cimModel, integral7, knotenSoIDs, variantenNr, onlyEingeblendet = true) {
671
679
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
672
680
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
673
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_SO, knotenSoIDs));
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));
674
682
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
675
683
  for (const i7Data of filteredResults) {
676
684
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
@@ -687,7 +695,7 @@ class ConverterI7 {
687
695
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
688
696
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
689
697
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) && nsgStandortIDs.length > 0) {
690
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_HGUE, nsgStandortIDs));
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));
691
699
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
692
700
  for (const i7Data of filteredResults) {
693
701
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE);
@@ -703,7 +711,7 @@ class ConverterI7 {
703
711
  convertSchemaSchaltanlage(cimModel, integral7, saIDs, variantenNr, onlyEingeblendet = true) {
704
712
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
705
713
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && saIDs.length > 0) {
706
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, saIDs));
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));
707
715
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
708
716
  for (const i7Data of filteredResults) {
709
717
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
@@ -722,7 +730,7 @@ class ConverterI7 {
722
730
  convertSchemaSchaltanlagenAbschnitte(cimModel, integral7, schaltanlagenabschnittIDs, variantenNr, onlyEingeblendet = true) {
723
731
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
724
732
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
725
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, schaltanlagenabschnittIDs));
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));
726
734
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
727
735
  for (const i7Data of filteredResults) {
728
736
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
@@ -786,41 +794,40 @@ class ConverterI7 {
786
794
  for (const queryResult of filteredResults) {
787
795
  const nsgSa = integral7.integralNSGSchaltanlage.get(queryResult.nsgsa);
788
796
  const nsgSo = integral7.integralNSGStandorte.get(nsgSa.nsgsoid);
789
- if (nsgSo === undefined) {
790
- continue;
791
- }
792
- const leftOffset = queryResult.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
793
- const topOffset = queryResult.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
794
- const ssabLength = queryResult.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
795
- let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
796
- let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
797
- let saaShiftOffset = 0;
798
- for (const tempNsgSaa of nsgSa.saabNsg) {
799
- saaShiftOffset = saaShiftOffset < (tempNsgSaa.nslots + tempNsgSaa.laenge) ? (tempNsgSaa.nslots + tempNsgSaa.laenge) : saaShiftOffset;
800
- }
801
- const points = [];
802
- points.push(pointTopLeft, pointBottomRight);
803
- for (const p of points) {
804
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
805
- p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
806
- p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
807
- }
808
- integral7.integralNSGSsab.set(queryResult.idSSAB, queryResult);
809
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'SSAB Diagram');
810
- diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
811
- utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
812
- const cnUUID = this.integralID2UUID.get(queryResult.idSSAB);
813
- const connectivityNode = cimModel.getConnectivityNode(cnUUID);
814
- diagramObject.setIdentifiedObject(connectivityNode);
815
- const diagramUUID = integral7.i7SchemaID2UUID.get(nsgSa.variantennr);
816
- const diagram = cimModel.getDiagram(diagramUUID);
817
- if (diagram) {
818
- diagramObject.setDiagram(diagram);
819
- diagram.addDiagramObject(diagramObject);
820
- integral7.placedCIMObjectsForDLProfil.set(cnUUID, diagramObject);
821
- }
822
- else {
823
- this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
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
+ }
824
831
  }
825
832
  }
826
833
  });
@@ -836,8 +843,9 @@ class ConverterI7 {
836
843
  ];
837
844
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
838
845
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, schaltfeldIDs));
839
- const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTFELD, 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));
840
847
  const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
848
+ let tmpcnt = 0;
841
849
  for (const i7Data of filteredResultsNsgSchaltfeld) {
842
850
  const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
843
851
  const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
@@ -866,53 +874,57 @@ class ConverterI7 {
866
874
  const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
867
875
  let lastNode = undefined;
868
876
  for (const node of onSSabNodes) {
869
- const ssabYPos = integral7.integralNSGSsab.get(node.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
870
- let yStackPos = 1;
871
- let prevNode = null;
872
- let crtNode = node;
873
- while (crtNode) {
874
- if (nodePointMap.get(crtNode.id) === undefined) {
875
- let yPos = ssabYPos;
876
- if (crtNode === node) {
877
- yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
878
- }
879
- else {
880
- const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
881
- yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
882
- yStackPos += 1;
883
- }
884
- nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
885
- const aKnotenUUID = this.integralID2UUID.get(crtNode.aknoten);
886
- if (!integral7.placedCIMObjectsForDLProfil.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
887
- let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
888
- let yPosAKnoten;
889
- if (prevNode === node) {
890
- yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
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;
891
888
  }
892
889
  else {
893
- yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
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
+ }
894
905
  }
895
- nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
906
+ lastNode = crtNode;
907
+ prevNode = crtNode;
908
+ crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
896
909
  }
897
910
  }
898
- lastNode = crtNode;
899
- prevNode = crtNode;
900
- crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
901
911
  }
902
912
  }
903
- const lastEKnotenUUID = this.integralID2UUID.get(lastNode.eknoten);
904
- if (!integral7.placedCIMObjectsForDLProfil.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
905
- const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
906
- const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
907
- nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
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
922
  }
909
- nsgSchaltfeldObj.lastNodeID = lastNode.eknoten;
910
- nsgSchaltfeldObj.lastNodeCimUUID = lastEKnotenUUID;
911
923
  for (const node of onSSabNodes) {
912
924
  let crtNode = node;
913
925
  while (crtNode) {
914
926
  let aKnotenPos = undefined;
915
- if (crtNode === node) {
927
+ if (crtNode === node && xPos !== undefined && integral7.integralNSGSsab.get(crtNode.aknoten) !== undefined) {
916
928
  aKnotenPos = new DiagramObjectPoint_1.DiagramObjectPoint(xPos, integral7.integralNSGSsab.get(crtNode.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET);
917
929
  }
918
930
  util_functions_1.DLUtilFunctions.exportTerminals(crtNode, nodePointMap, uuidPointsMap, cimModel, this.integralID2UUID, aKnotenPos);
@@ -947,7 +959,7 @@ class ConverterI7 {
947
959
  ];
948
960
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
949
961
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.querkupplungIDs));
950
- const resultsNsgKpFeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, 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));
951
963
  const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
952
964
  for (const i7Data of filteredResultsNsgKpFeld) {
953
965
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
@@ -975,7 +987,7 @@ class ConverterI7 {
975
987
  convertSchemaLaengskupplungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
976
988
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
977
989
  const ssabIDs = [...integral7.integralNSGSAAbschnitt.keys()];
978
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && integral7.laengskupplungIDs.length > 0 && ssabIDs.length > 0) {
990
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && integral7.laengskupplungIDs.length > 0 && [...integral7.integralNSGSAAbschnitt.keys()].length > 0) {
979
991
  const i7relevantTables = [
980
992
  integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
981
993
  integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
@@ -984,7 +996,7 @@ class ConverterI7 {
984
996
  ];
985
997
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
986
998
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.laengskupplungIDs));
987
- const resultsNsgLKupplung = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, ssabIDs));
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));
988
1000
  const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
989
1001
  for (const i7Data of filteredResultsNsgLKupplung) {
990
1002
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
@@ -1019,7 +1031,7 @@ class ConverterI7 {
1019
1031
  try {
1020
1032
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1021
1033
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.length > 0) {
1022
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO2W, nsgStandortIDs));
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));
1023
1035
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1024
1036
  for (const i7Data of filteredResults) {
1025
1037
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO2W);
@@ -1091,9 +1103,9 @@ class ConverterI7 {
1091
1103
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1092
1104
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1093
1105
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.length > 0 && standortIDs.length > 0) {
1094
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO3W, nsgStandortIDs));
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));
1095
1107
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1096
- const netzTrafoResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, standortIDs));
1108
+ const netzTrafoResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), standortIDs));
1097
1109
  const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
1098
1110
  for (const i7Data of filteredResults) {
1099
1111
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO3W);
@@ -1117,57 +1129,52 @@ class ConverterI7 {
1117
1129
  exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
1118
1130
  break;
1119
1131
  }
1120
- }
1121
- const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
1122
- let rotationenGroup = undefined;
1123
- for (const key of Object.keys(rotationenGroups)) {
1124
- if (rotationenGroups[key].indexOf(trafo3wNsg.ausrichtung) !== -1) {
1125
- rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
1126
- break;
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);
1158
+ }
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);
1165
+ }
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
+ }
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);
1127
1177
  }
1128
- }
1129
- const xMirroring = trafo3wNsg.orientierung_cw === 1;
1130
- const terminal1 = pteW1.terminal;
1131
- const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[1]]);
1132
- tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
1133
- const terminal2 = pteW2.terminal;
1134
- const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]]);
1135
- tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
1136
- const terminal3 = pteW3.terminal;
1137
- const terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]]);
1138
- tempPoints.push(terminal3DiagramObject.diagramObjectPoints[0]);
1139
- for (const p of tempPoints) {
1140
- p.xPosition += trafo3wNsg.xrel;
1141
- p.yPosition += trafo3wNsg.yrel;
1142
- }
1143
- uuidPointsMap.set(this.integralID2UUID.get(trafo3wNsg.trafo3wid), trafoDiagramObject);
1144
- if (terminal1 !== undefined) {
1145
- uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
1146
- }
1147
- if (terminal2 !== undefined) {
1148
- uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
1149
- }
1150
- if (terminal3 !== undefined) {
1151
- uuidPointsMap.set(terminal3.getUUID(), terminal3DiagramObject);
1152
- }
1153
- util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo3wNsg.nsgsoid, uuidPointsMap);
1154
- if (terminal1) {
1155
- const t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getConnectivityNodeUUID());
1156
- const t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
1157
- if (t1CNdiagramObject !== undefined)
1158
- utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1159
- }
1160
- if (terminal2) {
1161
- const t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getConnectivityNodeUUID());
1162
- const t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1163
- if (t2CNdiagramObject !== undefined)
1164
- utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1165
- }
1166
- if (terminal3) {
1167
- const t3CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getConnectivityNodeUUID());
1168
- const t3DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getUUID());
1169
- if (t3CNdiagramObject !== undefined)
1170
- utils_schema_1.copyDiagramObjectPoints(t3DiagramObject, t3CNdiagramObject.diagramObjectPoints);
1171
1178
  }
1172
1179
  }
1173
1180
  }
@@ -1177,16 +1184,16 @@ class ConverterI7 {
1177
1184
  });
1178
1185
  }
1179
1186
  convertSchemaLeitungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1180
- var _a, _b;
1187
+ var _a;
1181
1188
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1182
1189
  const leitungIDs = [...integral7.integralLeitungen.keys(), ...integral7.integralHgueLeitungen.keys()];
1183
1190
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT)
1184
1191
  && leitungIDs.length > 0) {
1185
- const leitungResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNG, leitungIDs));
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));
1186
1193
  let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
1187
1194
  const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
1188
1195
  if (nsgLeitungIDs.length > 0) {
1189
- const leitungspktResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, nsgLeitungIDs));
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));
1190
1197
  let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
1191
1198
  for (const i7Data of filteredLeitungResults) {
1192
1199
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LEITUNG);
@@ -1243,29 +1250,41 @@ class ConverterI7 {
1243
1250
  }
1244
1251
  if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1245
1252
  continue;
1246
- tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition));
1253
+ tempDiagramObjectPoints.push({
1254
+ xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
1255
+ yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
1256
+ });
1247
1257
  const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
1248
1258
  for (let a = 0; a < relevantLeitungspkts.length; a++) {
1249
1259
  const nsgLeitungspkt = relevantLeitungspkts[a];
1250
1260
  if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
1251
- const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition);
1261
+ const tempDiagramObjectPoint = {
1262
+ xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
1263
+ yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
1264
+ };
1252
1265
  const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, integral7, i7Data.anschlussanf, nsgLeitungspkt);
1253
1266
  tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1254
1267
  tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1255
1268
  tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1256
1269
  }
1257
1270
  else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
1258
- const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition);
1271
+ const tempDiagramObjectPoint = {
1272
+ xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
1273
+ yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
1274
+ };
1259
1275
  const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, integral7, i7Data.anschlussend, nsgLeitungspkt);
1260
1276
  tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1261
1277
  tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1262
1278
  tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1263
1279
  }
1264
1280
  else {
1265
- tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(nsgLeitungspkt.xrel, nsgLeitungspkt.yrel));
1281
+ tempDiagramObjectPoints.push({ xPosition: nsgLeitungspkt.xrel, yPosition: nsgLeitungspkt.yrel });
1266
1282
  }
1267
1283
  }
1268
- tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition));
1284
+ tempDiagramObjectPoints.push({
1285
+ xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
1286
+ yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
1287
+ });
1269
1288
  const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1270
1289
  const diagram = cimModel.getDiagram(diagramUUID);
1271
1290
  if (isACLine) {
@@ -1273,16 +1292,19 @@ class ConverterI7 {
1273
1292
  const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1274
1293
  const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1275
1294
  let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1295
+ let tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
1276
1296
  if (cableAvailable && overheadAvailable) {
1277
1297
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
1278
1298
  }
1279
1299
  else if (cableAvailable) {
1280
1300
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
1301
+ tableName = integral_sql_1.Integral7TableNames.KABEL;
1281
1302
  }
1282
1303
  else if (overheadAvailable) {
1283
1304
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
1305
+ tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
1284
1306
  }
1285
- const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, [netzLeitung.id]));
1307
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, this.getAvailableColumnNames(tableName), [netzLeitung.id]));
1286
1308
  leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1287
1309
  const acSegmentPercentages = [];
1288
1310
  let completeLength = 0;
@@ -1294,74 +1316,11 @@ class ConverterI7 {
1294
1316
  crtLength += leitungStromkreisabschnitt[a].laenge;
1295
1317
  acSegmentPercentages.push(crtLength / completeLength);
1296
1318
  }
1297
- let completePixelLength = 0;
1298
- for (let a = 1; a < tempDiagramObjectPoints.length; ++a) {
1299
- const tempX = tempDiagramObjectPoints[a].xPosition - tempDiagramObjectPoints[a - 1].xPosition;
1300
- const tempY = tempDiagramObjectPoints[a].yPosition - tempDiagramObjectPoints[a - 1].yPosition;
1301
- completePixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1302
- }
1303
- let lastB = 0;
1304
- let b = 1;
1305
- let crtPixelLength = 0;
1306
- for (let eqIdx = 0; eqIdx < acSegmentPercentages.length; ++eqIdx) {
1307
- let crtPixelPercentageSize = 0;
1308
- let lastPixelPercentageSize;
1309
- const epsilon = 0.00001;
1310
- do {
1311
- const tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1312
- const tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1313
- crtPixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1314
- lastPixelPercentageSize = crtPixelPercentageSize;
1315
- crtPixelPercentageSize = (crtPixelLength / completePixelLength);
1316
- b++;
1317
- } while (crtPixelPercentageSize < acSegmentPercentages[eqIdx] + epsilon && b < tempDiagramObjectPoints.length);
1318
- if ((crtPixelLength / completePixelLength) <= acSegmentPercentages[eqIdx] + epsilon) {
1319
- const conductorCimObj = netzLeitungCimObj.equipments[eqIdx];
1320
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObject');
1321
- diagramObject.setIdentifiedObject(conductorCimObj);
1322
- diagramObject.setDiagram(diagram);
1323
- diagram.addDiagramObject(diagramObject);
1324
- let i = 1;
1325
- for (let idx = lastB; idx < b; ++idx) {
1326
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1327
- diagramObjectPoint.mrid = utils_1.generateUUID();
1328
- diagramObjectPoint.diagramObject = diagramObject;
1329
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1330
- ++i;
1331
- }
1332
- }
1333
- else if ((crtPixelLength / completePixelLength) > acSegmentPercentages[eqIdx]) {
1334
- let decreased = false;
1335
- if (b === tempDiagramObjectPoints.length) {
1336
- b--;
1337
- decreased = true;
1338
- }
1339
- let tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1340
- let tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1341
- const percentageOfSegment = crtPixelPercentageSize - lastPixelPercentageSize;
1342
- const tempRestX = tempX * (1 - percentageOfSegment);
1343
- const tempRestY = tempY * (1 - percentageOfSegment);
1344
- tempX = tempX * percentageOfSegment;
1345
- tempY = tempY * percentageOfSegment;
1346
- const newDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[b - 1].xPosition + tempX, tempDiagramObjectPoints[b - 1].yPosition + tempY);
1347
- tempDiagramObjectPoints.splice(b, 0, newDiagramObjectPoint);
1348
- const conductorCimObj = netzLeitungCimObj.equipments[eqIdx];
1349
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_a = conductorCimObj.shortName) !== null && _a !== void 0 ? _a : ''));
1350
- diagramObject.setDiagram(diagram);
1351
- diagramObject.setIdentifiedObject(conductorCimObj);
1352
- diagram.addDiagramObject(diagramObject);
1353
- let i = 1;
1354
- if (decreased)
1355
- b++;
1356
- for (let idx = lastB; idx < b; ++idx) {
1357
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1358
- diagramObjectPoint.mrid = utils_1.generateUUID();
1359
- diagramObjectPoint.diagramObject = diagramObject;
1360
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1361
- ++i;
1362
- }
1363
- }
1364
- lastB = b - 1;
1319
+ const eqUUIDs = netzLeitungCimObj.equipments.map(value => value.getUUID());
1320
+ const resultingDiagramObjects = util_functions_1.DLUtilFunctions.convertACLineSegment(completeLength, acSegmentPercentages, eqUUIDs, tempDiagramObjectPoints);
1321
+ for (const diagramObject of resultingDiagramObjects) {
1322
+ diagramObject.setDiagram(diagram);
1323
+ diagram.addDiagramObject(diagramObject);
1365
1324
  }
1366
1325
  }
1367
1326
  else {
@@ -1371,7 +1330,7 @@ class ConverterI7 {
1371
1330
  diagram.addDiagramObject(diagramObject);
1372
1331
  diagramObject.setIdentifiedObjectUUID(this.integralID2UUID.get(netzLeitung.id));
1373
1332
  if (netzLeitungCimObj !== undefined) {
1374
- diagramObject.name = 'DiagramObj ' + ((_b = netzLeitungCimObj.shortName) !== null && _b !== void 0 ? _b : '');
1333
+ diagramObject.name = 'DiagramObj ' + ((_a = netzLeitungCimObj.shortName) !== null && _a !== void 0 ? _a : '');
1375
1334
  }
1376
1335
  else {
1377
1336
  diagramObject.name = 'DiagramObj HGUE-Leitung';
@@ -1395,7 +1354,7 @@ class ConverterI7 {
1395
1354
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1396
1355
  const whereIDs = [...integral7.i7SchemaID2Type.keys()];
1397
1356
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
1398
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERZWEIG, whereIDs));
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));
1399
1358
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1400
1359
  for (const i7Data of filteredResults) {
1401
1360
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERZWEIG);
@@ -1422,7 +1381,7 @@ class ConverterI7 {
1422
1381
  nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1423
1382
  nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1424
1383
  }
1425
- if (referenceType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1384
+ if (referenceType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD && integral7.integralNSGSchaltfeld.get(i7Data.bezugsobjekt) !== undefined) {
1426
1385
  const nsgSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.bezugsobjekt);
1427
1386
  refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1428
1387
  const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgSchaltfeld.lastNodeCimUUID).diagramObjectPoints[0];
@@ -1471,7 +1430,7 @@ class ConverterI7 {
1471
1430
  }
1472
1431
  }
1473
1432
  }
1474
- else if (referenceType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1433
+ else if (referenceType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO && integral7.i7ID2UUID.get(i7Data.bezugsobjekt) !== undefined) {
1475
1434
  const nsgKnotenSoUUID = integral7.i7ID2UUID.get(i7Data.bezugsobjekt);
1476
1435
  refCNNodeUUID = nsgKnotenSoUUID;
1477
1436
  const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgKnotenSoUUID).diagramObjectPoints[0];
@@ -1490,7 +1449,7 @@ class ConverterI7 {
1490
1449
  const querzweigObjectUUID = this.integralID2UUID.get(i7Data.querzweig);
1491
1450
  const cimObject2LinkWith = cimModel.getObject(querzweigObjectUUID);
1492
1451
  uuidPointsMap.set(querzweigObjectUUID, tempDiagramObject);
1493
- if (cimObject2LinkWith !== undefined) {
1452
+ if (cimObject2LinkWith !== undefined && cimModel.getConnectivityNode(refCNNodeUUID) !== undefined) {
1494
1453
  let ceTerminals = new Set([...cimObject2LinkWith.terminals.values()].map(t => t.getUUID()));
1495
1454
  cimObject2LinkWith.terminalsUUIDs.forEach(tUUID => ceTerminals.add(tUUID));
1496
1455
  let cnTerminals = new Set([...cimModel.getConnectivityNode(refCNNodeUUID).terminals.values()].map(t => t.getUUID()));
@@ -1528,7 +1487,7 @@ class ConverterI7 {
1528
1487
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1529
1488
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1530
1489
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STP_SCHIENE) && nsgStandortIDs.length > 0) {
1531
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_SCHIENE, nsgStandortIDs));
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));
1532
1491
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1533
1492
  for (const i7Data of filteredResults) {
1534
1493
  const nsgSo = integral7.integralNSGStandorte.get(i7Data.nsgso);
@@ -1570,7 +1529,7 @@ class ConverterI7 {
1570
1529
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1571
1530
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1572
1531
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STP_KNOTEN) && nsgStandortIDs.length > 0) {
1573
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_KNOTEN, nsgStandortIDs));
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));
1574
1533
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1575
1534
  if (filteredResults.length <= 0)
1576
1535
  return;
@@ -1605,30 +1564,32 @@ class ConverterI7 {
1605
1564
  let centerPoint = new DiagramObjectPoint_1.DiagramObjectPoint(0, 0, 1);
1606
1565
  const shiftOffset = constants_1.NsgConstants.STP_KNOTEN_WIDTH;
1607
1566
  const trafoIDType = trafoIDTypeMap.get(i7Data.knoten);
1608
- const nsgTrafo = integral7.integralNSGTrafos.get(trafoIDType.trafoID);
1609
- const nsgStandort = integral7.integralNSGStandorte.get(nsgTrafo.nsgsoid);
1610
- const points = [];
1611
- points.push(centerPoint);
1612
- for (const p of points) {
1613
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * i7Data.ausrichtung);
1614
- p.xPosition += i7Data.xrel + nsgTrafo.xrel + nsgStandort.xrel + (i7Data.ausrichtung === 2 ? shiftOffset : 0);
1615
- p.yPosition += i7Data.yrel + nsgTrafo.yrel + nsgStandort.yrel + (i7Data.ausrichtung === 3 ? shiftOffset : 0);
1616
- }
1617
- integral7.integralNSGStpKnoten.set(i7Data.id, i7Data);
1618
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'Stp-SSAB');
1619
- diagramObject.rotation = (360 - 90 * i7Data.ausrichtung) % 360;
1620
- utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
1621
- const uuid = this.integralID2UUID.get(i7Data.knoten);
1622
- diagramObject.setIdentifiedObjectUUID(uuid);
1623
- const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1624
- const diagram = cimModel.getDiagram(diagramUUID);
1625
- if (diagram) {
1626
- diagramObject.setDiagram(diagram);
1627
- diagram.addDiagramObject(diagramObject);
1628
- integral7.placedCIMObjectsForDLProfil.set(uuid, diagramObject);
1629
- }
1630
- else {
1631
- this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
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
+ }
1632
1593
  }
1633
1594
  }
1634
1595
  }
@@ -1640,7 +1601,7 @@ class ConverterI7 {
1640
1601
  convertStandorte(cimModel, integral7, whereID, defaultValuesConfig) {
1641
1602
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1642
1603
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STANDORT)) {
1643
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STANDORT, whereID));
1604
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STANDORT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STANDORT), whereID));
1644
1605
  for (const i7Data of result) {
1645
1606
  const i7name = util_create_1.createNotation([utils_2.getName(i7Data), '_', utils_2.ueberpruefeZeichenkette(i7Data.ukz)], 32);
1646
1607
  const substation = new AMPRIONSubstation_1.AMPRIONSubstation(utils_1.getUUID(i7Data.guid), i7name, i7Data.kurzname, i7Data.kommentar, i7Data.stationsnummer, i7Data.ukz);
@@ -1678,7 +1639,7 @@ class ConverterI7 {
1678
1639
  convertSchaltanlagen(cimModel, integral7, standortIDs, defaultValuesConfig) {
1679
1640
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1680
1641
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGE)) {
1681
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGE, standortIDs));
1642
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTANLAGE), standortIDs));
1682
1643
  for (const i7Data of result) {
1683
1644
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1684
1645
  const object = cimModel.getObject(this.integralID2UUID.get(i7Data.standort));
@@ -1715,7 +1676,7 @@ class ConverterI7 {
1715
1676
  convertSchaltanlagenAbschnitte(cimModel, integral7, schaltanlagenIDs) {
1716
1677
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1717
1678
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT)) {
1718
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, schaltanlagenIDs));
1679
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT), schaltanlagenIDs));
1719
1680
  for (const i7Data of result) {
1720
1681
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
1721
1682
  if (!voltageLevel) {
@@ -1739,7 +1700,7 @@ class ConverterI7 {
1739
1700
  convertSchaltfelder(cimModel, integral7, schaltanlagenAbschnittIDs) {
1740
1701
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1741
1702
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTFELD)) {
1742
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTFELD, schaltanlagenAbschnittIDs));
1703
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTFELD), schaltanlagenAbschnittIDs));
1743
1704
  for (const i7Data of result) {
1744
1705
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1745
1706
  if (!voltageLevel) {
@@ -1774,7 +1735,7 @@ class ConverterI7 {
1774
1735
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1775
1736
  const cimModel = frame.cimModel;
1776
1737
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SO)) {
1777
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_SO, standortIDs));
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));
1778
1739
  for (const i7Data of result) {
1779
1740
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1780
1741
  const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
@@ -1820,18 +1781,32 @@ class ConverterI7 {
1820
1781
  }
1821
1782
  });
1822
1783
  }
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
+ }
1823
1801
  convertSammelschienenAbschnitte(cimModel, integral7, schaltanlagenAbschnittIDs) {
1824
1802
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1825
1803
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SAMMELSCHIENE)) {
1826
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SAMMELSCHIENE, schaltanlagenAbschnittIDs));
1804
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SAMMELSCHIENE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SAMMELSCHIENE), schaltanlagenAbschnittIDs));
1827
1805
  for (const i7Data of result) {
1828
1806
  const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
1829
1807
  const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt), '_BBS']), i7Schaltanlagenabschnitt.kurzname);
1830
1808
  busbarSection.ipMax = i7Data.limit_ip;
1831
1809
  busbarSection.aggregate = false;
1832
- if (utils_1.getUUID(i7Data.guid) === '24206c79-3ac8-4436-aa02-3f60a9e85975') {
1833
- let stop = true;
1834
- }
1835
1810
  const rdfid = utils_1.getUUID(i7Data.guid);
1836
1811
  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);
1837
1812
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
@@ -1895,7 +1870,7 @@ class ConverterI7 {
1895
1870
  convertKnotenKf(cimModel, querkupplungIDs) {
1896
1871
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1897
1872
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_KF)) {
1898
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_KF, querkupplungIDs));
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));
1899
1874
  for (const i7Data of result) {
1900
1875
  const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'knotenkf');
1901
1876
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
@@ -1918,7 +1893,7 @@ class ConverterI7 {
1918
1893
  convertKnotenLk(cimModel, laengskupplungIDs) {
1919
1894
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1920
1895
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_LK)) {
1921
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_LK, laengskupplungIDs));
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));
1922
1897
  for (const i7Data of result) {
1923
1898
  const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'KnotenLk');
1924
1899
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
@@ -1941,7 +1916,7 @@ class ConverterI7 {
1941
1916
  convertSchlaufen(cimModel, integral7, knotenSoIDs) {
1942
1917
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1943
1918
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHLAUFE)) {
1944
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHLAUFE, knotenSoIDs));
1919
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHLAUFE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHLAUFE), knotenSoIDs));
1945
1920
  for (const i7Data of result) {
1946
1921
  const terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_Schlaufe_T']), i7Data.kurzname, i7Data.kommentar);
1947
1922
  terminal.connected = utils_2.convertToBooleanI7(i7Data.schaltzustand);
@@ -1969,7 +1944,7 @@ class ConverterI7 {
1969
1944
  convertBelastungen(cimModel, knotenSfIDs, defaultValuesConfig, targetClass) {
1970
1945
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1971
1946
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
1972
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BELASTUNG, knotenSfIDs));
1947
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BELASTUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.BELASTUNG), knotenSfIDs));
1973
1948
  for (const i7Data of result) {
1974
1949
  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']));
1975
1950
  this.setTopologyEnergySourceConsumerObject(cimModel, load, i7Data);
@@ -1981,8 +1956,8 @@ class ConverterI7 {
1981
1956
  const powerData = utils_2.getActiveReactivePower(i7Data, mf);
1982
1957
  load.p = powerData[0];
1983
1958
  load.q = powerData[1];
1984
- load.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] : undefined;
1985
- load.q_mf = utils_2.isNumericI7(powerData[3]) ? powerData[3] : undefined;
1959
+ load.p_mf = powerData[2] ? powerData[2] : undefined;
1960
+ load.q_mf = powerData[3] ? powerData[3] : undefined;
1986
1961
  if (targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad) {
1987
1962
  const conformLoadGroup = cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, cim_class_names_1.CIM_CLASS_NAMES.ConformLoadGroup);
1988
1963
  load.loadGroup = conformLoadGroup;
@@ -1999,7 +1974,7 @@ class ConverterI7 {
1999
1974
  convertEinspeisungen(cimModel, knotenSfIDs, targetClass) {
2000
1975
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2001
1976
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.EINSPEISUNG)) {
2002
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.EINSPEISUNG, knotenSfIDs));
1977
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.EINSPEISUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.EINSPEISUNG), knotenSfIDs));
2003
1978
  switch (targetClass) {
2004
1979
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
2005
1980
  yield this.convertEinspeisungen2EquivalentInjection(cimModel, result);
@@ -2022,7 +1997,7 @@ class ConverterI7 {
2022
1997
  convertErsatzQuerZweige(cimModel, knotenSfIDs, targetClass) {
2023
1998
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2024
1999
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG)) {
2025
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZQUERZWEIG, knotenSfIDs));
2000
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZQUERZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG), knotenSfIDs));
2026
2001
  switch (targetClass) {
2027
2002
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
2028
2003
  yield this.convertErsatzQuerZweige2EquivalentInjection(cimModel, result);
@@ -2045,7 +2020,7 @@ class ConverterI7 {
2045
2020
  convertGeneratoren(cimModel, knotenSfIDs, energyTypesConfig) {
2046
2021
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2047
2022
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.GENERATOR)) {
2048
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.GENERATOR, knotenSfIDs));
2023
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.GENERATOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.GENERATOR), knotenSfIDs));
2049
2024
  for (const i7Data of result) {
2050
2025
  const genType = this.generatorTypen.get(i7Data.nametyp);
2051
2026
  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);
@@ -2139,8 +2114,8 @@ class ConverterI7 {
2139
2114
  const qType = Math.sqrt(Math.pow(genType === null || genType === void 0 ? void 0 : genType.sr, 2) - Math.pow(pType, 2));
2140
2115
  synchronousMachine.setActivePower(p * -1);
2141
2116
  synchronousMachine.setReactivePower(q * -1);
2142
- synchronousMachine.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
2143
- synchronousMachine.q_mf = utils_2.isNumericI7(powerData[3]) ? powerData[3] * -1 : undefined;
2117
+ synchronousMachine.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
2118
+ synchronousMachine.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
2144
2119
  const sr = utils_2.isNumericI7(i7Data.sr) ? utils_2.convertToNumberI7(i7Data.sr) : genType === null || genType === void 0 ? void 0 : genType.sr;
2145
2120
  if (sr && sr >= 0) {
2146
2121
  synchronousMachine.ratedS = sr;
@@ -2308,8 +2283,8 @@ class ConverterI7 {
2308
2283
  const q = powerData[1];
2309
2284
  asynchronousMachine.setActivePower(p * -1);
2310
2285
  asynchronousMachine.setReactivePower(q * -1);
2311
- asynchronousMachine.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
2312
- asynchronousMachine.q_mf = utils_2.isNumericI7(powerData[3]) ? powerData[3] * -1 : undefined;
2286
+ asynchronousMachine.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
2287
+ asynchronousMachine.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
2313
2288
  asynchronousMachine.controlEnabled = false;
2314
2289
  const inBetrieb = utils_2.isBooleanI7(i7Data.betrieb) ? utils_2.convertToBooleanI7(i7Data.betrieb) : true;
2315
2290
  asynchronousMachine.normallyInService = inBetrieb;
@@ -2340,7 +2315,7 @@ class ConverterI7 {
2340
2315
  convertKraftwerksbloecke(cimModel, knotenSfIDs, energyTypesConfig) {
2341
2316
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2342
2317
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KWBLOCK)) {
2343
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KWBLOCK, knotenSfIDs));
2318
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KWBLOCK, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KWBLOCK), knotenSfIDs));
2344
2319
  for (const i7Data of result) {
2345
2320
  const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SM']), i7Data.kurzname);
2346
2321
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
@@ -2486,7 +2461,7 @@ class ConverterI7 {
2486
2461
  convertBoundaryInjections(cimModel, knotenSfIDs, targetClass) {
2487
2462
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2488
2463
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BOUNDARYINJECTION)) {
2489
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BOUNDARYINJECTION, knotenSfIDs));
2464
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BOUNDARYINJECTION, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.BOUNDARYINJECTION), knotenSfIDs));
2490
2465
  switch (targetClass) {
2491
2466
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
2492
2467
  yield this.convertBoundaryInjections2EquivalentInjection(cimModel, result);
@@ -2546,7 +2521,7 @@ class ConverterI7 {
2546
2521
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2547
2522
  const cimModel = frame.cimModel;
2548
2523
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) && integral7.ersatzZweigAnschlussKnotenIDs.length > 0) {
2549
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZLAENGSZWEIG, integral7.ersatzZweigAnschlussKnotenIDs));
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));
2550
2525
  for (const i7Data of result) {
2551
2526
  const i7Schluessel = integral_prefix_1.ERSATZLAENGSZWEIG_PRAEFIX +
2552
2527
  utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
@@ -2583,7 +2558,7 @@ class ConverterI7 {
2583
2558
  convertKompensationsdrossel(cimModel, knotenSfIDs) {
2584
2559
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2585
2560
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL)) {
2586
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, knotenSfIDs));
2561
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL), knotenSfIDs));
2587
2562
  for (const i7Data of result) {
2588
2563
  const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
2589
2564
  shunt.normalSections = i7Data.aktstufe;
@@ -2617,7 +2592,7 @@ class ConverterI7 {
2617
2592
  convertKompensationskondensatoren(cimModel, knotenSfIDs) {
2618
2593
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2619
2594
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR)) {
2620
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, knotenSfIDs));
2595
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR), knotenSfIDs));
2621
2596
  for (const i7Data of result) {
2622
2597
  const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
2623
2598
  shunt.normalSections = i7Data.aktstufe;
@@ -2651,7 +2626,7 @@ class ConverterI7 {
2651
2626
  convertStatcom(cimModel, knotenSfIDs) {
2652
2627
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2653
2628
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STATCOM)) {
2654
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STATCOM, knotenSfIDs));
2629
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STATCOM, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STATCOM), knotenSfIDs));
2655
2630
  for (const i7Data of result) {
2656
2631
  const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
2657
2632
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
@@ -2691,7 +2666,7 @@ class ConverterI7 {
2691
2666
  convertSVC(cimModel, knotenSfIDs) {
2692
2667
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2693
2668
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SVC)) {
2694
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SVC, knotenSfIDs));
2669
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SVC, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SVC), knotenSfIDs));
2695
2670
  for (const i7Data of result) {
2696
2671
  const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
2697
2672
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
@@ -2731,7 +2706,7 @@ class ConverterI7 {
2731
2706
  convertCsConverterDC(cimModel, integral7, knotenSfIDs) {
2732
2707
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2733
2708
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH)) {
2734
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, knotenSfIDs));
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));
2735
2710
  for (const i7Data of result) {
2736
2711
  const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
2737
2712
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
@@ -2798,7 +2773,7 @@ class ConverterI7 {
2798
2773
  var _a;
2799
2774
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2800
2775
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC)) {
2801
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, knotenSfIDs));
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));
2802
2777
  for (const i7Data of result) {
2803
2778
  const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
2804
2779
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
@@ -2921,7 +2896,7 @@ class ConverterI7 {
2921
2896
  try {
2922
2897
  const cn = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2923
2898
  const cimrdfid = utils_1.getUUID(i7Data.guid);
2924
- const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_' + cimrdfid, '_ENI'], 32, true), i7Data.kurzname);
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);
2925
2900
  const un = cn.getVoltageLevel().getBaseVoltageAsNumber();
2926
2901
  externalNetworkInjection.nameprimaertyp = i7Data.nameprimaertyp;
2927
2902
  let mf = undefined;
@@ -2932,7 +2907,7 @@ class ConverterI7 {
2932
2907
  }
2933
2908
  const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
2934
2909
  externalNetworkInjection.maxP = maxP;
2935
- const governorscd = utils_2.isNumericI7(i7Data.kr) && maxP ? utils_2.calculateSigma(50, externalNetworkInjection.maxP, utils_2.convertToNumberI7(i7Data.kr)) : undefined;
2910
+ const governorscd = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
2936
2911
  externalNetworkInjection.governorSCD = governorscd;
2937
2912
  const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
2938
2913
  externalNetworkInjection.maxQ = maxQ;
@@ -2967,7 +2942,8 @@ class ConverterI7 {
2967
2942
  let regulatingControl = undefined;
2968
2943
  switch (i7Data.spannungsgeregelt) {
2969
2944
  case 1: {
2970
- regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_ENI_${externalNetworkInjection.getUUID().substring(0, 8)}`);
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));
2971
2947
  regulatingControl.targetValue = usoll;
2972
2948
  regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
2973
2949
  regulatingControl.discrete = false;
@@ -2998,8 +2974,8 @@ class ConverterI7 {
2998
2974
  const q = powerData[1];
2999
2975
  externalNetworkInjection.setActivePower(p * -1);
3000
2976
  externalNetworkInjection.setReactivePower(q * -1);
3001
- externalNetworkInjection.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
3002
- externalNetworkInjection.q_mf = utils_2.isNumericI7(powerData[3]) ? powerData[3] * -1 : undefined;
2977
+ externalNetworkInjection.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
2978
+ externalNetworkInjection.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
3003
2979
  cimModel.addExternalNetworkInjection(externalNetworkInjection);
3004
2980
  this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
3005
2981
  }
@@ -3058,7 +3034,7 @@ class ConverterI7 {
3058
3034
  convertQuerkupplungen(cimModel, integral7, schaltanlagenAbschnittIDs) {
3059
3035
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3060
3036
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.QUERKUPPLUNG)) {
3061
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.QUERKUPPLUNG, schaltanlagenAbschnittIDs));
3037
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.QUERKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.QUERKUPPLUNG), schaltanlagenAbschnittIDs));
3062
3038
  for (const i7Data of result) {
3063
3039
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3064
3040
  const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), 'Querkupplung');
@@ -3089,7 +3065,7 @@ class ConverterI7 {
3089
3065
  convertLaegskupplungen(cimModel, integral7, schaltanlagenIDs) {
3090
3066
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3091
3067
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
3092
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, schaltanlagenIDs));
3068
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG), schaltanlagenIDs));
3093
3069
  for (const i7Data of result) {
3094
3070
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3095
3071
  const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), i7Data.kurzname, 'Laengskupplung');
@@ -3122,7 +3098,7 @@ class ConverterI7 {
3122
3098
  convertStarreVerbindungen(cimModel, containerIDs) {
3123
3099
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3124
3100
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
3125
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_STARR, containerIDs));
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));
3126
3102
  for (const i7Data of result) {
3127
3103
  const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']), 'Breaker', 'starre Verbindung');
3128
3104
  yield this.convertSwitch(breaker, cimModel, i7Data);
@@ -3138,7 +3114,7 @@ class ConverterI7 {
3138
3114
  convertTrennerFi3f(cimModel, containerIDs) {
3139
3115
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3140
3116
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) {
3141
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNERFI_3P, containerIDs));
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));
3142
3118
  for (const i7Data of result) {
3143
3119
  const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
3144
3120
  yield this.convertSwitch(disconnector, cimModel, i7Data);
@@ -3154,7 +3130,7 @@ class ConverterI7 {
3154
3130
  convertTrenner3f(cimModel, containerIDs) {
3155
3131
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3156
3132
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
3157
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNER_3P, containerIDs));
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));
3158
3134
  for (const i7Data of result) {
3159
3135
  const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
3160
3136
  yield this.convertSwitch(disconnector, cimModel, i7Data);
@@ -3170,7 +3146,7 @@ class ConverterI7 {
3170
3146
  convertLeistungsschalter(cimModel, containerIDs) {
3171
3147
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3172
3148
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER)) {
3173
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, containerIDs));
3149
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER), containerIDs));
3174
3150
  for (const i7Data of result) {
3175
3151
  const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']));
3176
3152
  yield this.convertSwitch(breaker, cimModel, i7Data);
@@ -3224,7 +3200,7 @@ class ConverterI7 {
3224
3200
  var _a;
3225
3201
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3226
3202
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) && integral7.lDrosselAnschlussKnotenIDs.length) {
3227
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSDROSSEL, integral7.lDrosselAnschlussKnotenIDs));
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));
3228
3204
  for (const i7Data of result) {
3229
3205
  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);
3230
3206
  const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
@@ -3286,7 +3262,7 @@ class ConverterI7 {
3286
3262
  var _a;
3287
3263
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3288
3264
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) && integral7.lKondensatorAnschlussKnotenIDs.length > 0) {
3289
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKONDENSATOR, integral7.lKondensatorAnschlussKnotenIDs));
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));
3290
3266
  for (const i7Data of result) {
3291
3267
  const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SC']), i7Data.kurzname);
3292
3268
  const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
@@ -3348,7 +3324,7 @@ class ConverterI7 {
3348
3324
  convertBetriebsmitteltypenKdrossel() {
3349
3325
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3350
3326
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KDROSSEL)) {
3351
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.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), []));
3352
3328
  for (const i7Data of result) {
3353
3329
  this.kdrosseltypen.set(i7Data.name, i7Data);
3354
3330
  }
@@ -3363,7 +3339,7 @@ class ConverterI7 {
3363
3339
  return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
3364
3340
  const stpSchieneIDs = [];
3365
3341
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE)) {
3366
- const stpSchiene = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_SCHIENE, standortIDs));
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));
3367
3343
  for (const i7DataSchiene of stpSchiene) {
3368
3344
  try {
3369
3345
  stpSchieneIDs.push(i7DataSchiene.id);
@@ -3403,7 +3379,7 @@ class ConverterI7 {
3403
3379
  try {
3404
3380
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ)) {
3405
3381
  if (stpScheinenID.length) {
3406
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, stpScheinenID));
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));
3407
3383
  for (const i7Data of result) {
3408
3384
  const kdType = this.kdrosseltypen.get(i7Data.nametyp);
3409
3385
  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);
@@ -3455,7 +3431,7 @@ class ConverterI7 {
3455
3431
  try {
3456
3432
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER)) {
3457
3433
  if (stpSchienenID.length) {
3458
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_SCHALTER, stpSchienenID));
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));
3459
3435
  for (const i7Data of result) {
3460
3436
  const terminal = integral7.sternPunktImpModel.stpSchieneTerminal.get(i7Data.eknoten);
3461
3437
  if (terminal) {
@@ -3485,7 +3461,7 @@ class ConverterI7 {
3485
3461
  convertLaengskupplungen(cimModel, integral7, schaltanlagenIDs) {
3486
3462
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3487
3463
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
3488
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, schaltanlagenIDs));
3464
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG), schaltanlagenIDs));
3489
3465
  for (const i7Data of result) {
3490
3466
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3491
3467
  const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), i7Data.kurzname, 'Laengskupplung');
@@ -3518,7 +3494,7 @@ class ConverterI7 {
3518
3494
  convertBetriebsmitteltypenLeitung() {
3519
3495
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3520
3496
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_FREILEITUNG)) {
3521
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.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), []));
3522
3498
  for (const i7Data of result) {
3523
3499
  const typ = new EVWireInfo_1.EVWireInfo(utils_1.generateUUID(), i7Data.name);
3524
3500
  this.setWireInfoProperties(typ, i7Data, 'Freileitung');
@@ -3529,7 +3505,7 @@ class ConverterI7 {
3529
3505
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
3530
3506
  }
3531
3507
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KABEL)) {
3532
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.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), []));
3533
3509
  for (const i7Data of result) {
3534
3510
  const typ = new EVWireInfo_1.EVWireInfo(utils_1.generateUUID(), i7Data.name);
3535
3511
  this.setWireInfoProperties(typ, i7Data, 'Kabel');
@@ -3558,25 +3534,25 @@ class ConverterI7 {
3558
3534
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3559
3535
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) && integral7.leitungsAnschlussIDs.length) {
3560
3536
  const cimModel = frame.cimModel;
3561
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEITUNG, integral7.leitungsAnschlussIDs));
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));
3562
3538
  const leitungIDs = result.map(elem => elem.id);
3563
3539
  const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
3564
3540
  const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
3565
3541
  let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
3542
+ let tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
3566
3543
  if (cableAvailable && overheadAvailable) {
3567
3544
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
3568
3545
  }
3569
3546
  else if (cableAvailable) {
3570
3547
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
3548
+ tableName = integral_sql_1.Integral7TableNames.KABEL;
3571
3549
  }
3572
3550
  else if (overheadAvailable) {
3573
3551
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
3552
+ tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
3574
3553
  }
3575
- const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, leitungIDs));
3554
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, this.getAvailableColumnNames(tableName), leitungIDs));
3576
3555
  for (const i7Data of result) {
3577
- if (i7Data.id === 943) {
3578
- let stop = true;
3579
- }
3580
3556
  const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
3581
3557
  if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
3582
3558
  continue;
@@ -3609,11 +3585,8 @@ class ConverterI7 {
3609
3585
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
3610
3586
  '-' +
3611
3587
  utils_2.ueberpruefeZeichenkette(stk.bezeichner);
3612
- if (utils_1.getUUID(stk.custom_guid_0120 + stk.custom_guid_2137).toLowerCase() === '8387376e-86bf-4da0-91f2-b19a3d490715') {
3613
- let stop = true;
3614
- }
3615
- const uuidACLineString = utils_1.getUUID(i7Data.guid);
3616
- const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuidACLineString, util_create_1.createNotation([name, '_' + stk.pos.toString(), uuidACLineString, '_ACLS'], 32, true), i7Data.stkabname, i7Schluessel);
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);
3617
3590
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(stk.multfaktor));
3618
3591
  if (mf) {
3619
3592
  cimModel.addMultiplierFactor(mf);
@@ -3643,12 +3616,6 @@ class ConverterI7 {
3643
3616
  else {
3644
3617
  this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
3645
3618
  }
3646
- if (acLineSegments[0].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
3647
- let stop = true;
3648
- }
3649
- else if (acLineSegments[0].getUUID() === 'e1a65e81-1cec-4f1a-ab87-9c7b667ad64f') {
3650
- let stop = true;
3651
- }
3652
3619
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegmentStart, stromkreisabschnitte[0], defaultValuesConfig);
3653
3620
  cimModel.addACLineSegment(acLineSegmentStart);
3654
3621
  const anzahl = acLineSegments.length;
@@ -3662,9 +3629,6 @@ class ConverterI7 {
3662
3629
  if (tmp_terminal) {
3663
3630
  tmp_terminal = undefined;
3664
3631
  }
3665
- if (acLineSegments[i].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
3666
- let stop = true;
3667
- }
3668
3632
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegments[i], stromkreisabschnitte[i], defaultValuesConfig);
3669
3633
  const acLineSegment2 = acLineSegments[i + 1];
3670
3634
  tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true);
@@ -3742,12 +3706,8 @@ class ConverterI7 {
3742
3706
  var _a, _b;
3743
3707
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3744
3708
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) && integral7.hgueAnschlussKnotenIDs.length > 0) {
3745
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_LEITUNG, integral7.hgueAnschlussKnotenIDs));
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));
3746
3710
  for (const i7Data of result) {
3747
- console.log(utils_1.getUUID(i7Data.guid_dcline));
3748
- if (utils_1.getUUID(i7Data.guid_dcline) === '6a5b7e1e-f8be-4165-9752-2e2359d9b4f8') {
3749
- let stop = true;
3750
- }
3751
3711
  integral7.integralHgueLeitungen.set(i7Data.id, i7Data);
3752
3712
  const dcLine = new DCLine_1.DCLine(utils_1.getUUID(i7Data.guid_dcline), util_create_1.createNotation([utils_2.getName(i7Data), '_DCL']));
3753
3713
  const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
@@ -3816,7 +3776,7 @@ class ConverterI7 {
3816
3776
  convertBetriebsmitteltypenTrafo() {
3817
3777
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3818
3778
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO2W)) {
3819
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.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), []));
3820
3780
  for (const i7Data of result) {
3821
3781
  const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(utils_1.generateUUID(), i7Data.name);
3822
3782
  typTrafo.ukr12 = i7Data.ukr;
@@ -3844,7 +3804,7 @@ class ConverterI7 {
3844
3804
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
3845
3805
  }
3846
3806
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO3W)) {
3847
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.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), []));
3848
3808
  for (const i7Data of result) {
3849
3809
  const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(utils_1.generateUUID(), i7Data.name);
3850
3810
  typTrafo.pLeer = i7Data.p_leer;
@@ -3884,7 +3844,7 @@ class ConverterI7 {
3884
3844
  convertBetriebsmitteltypenGenerator() {
3885
3845
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3886
3846
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_GENERATOR)) {
3887
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.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), []));
3888
3848
  for (const i7Data of result) {
3889
3849
  this.generatorTypen.set(i7Data.name, i7Data);
3890
3850
  }
@@ -3897,7 +3857,7 @@ class ConverterI7 {
3897
3857
  convertBetriebsmitteltypenAsynchronmotor() {
3898
3858
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3899
3859
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_ASYNCHRONMOTOR)) {
3900
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.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), []));
3901
3861
  for (const i7Data of result) {
3902
3862
  this.asynchronmotorTypen.set(i7Data.name, i7Data);
3903
3863
  }
@@ -3910,7 +3870,7 @@ class ConverterI7 {
3910
3870
  convertMultiplikationsfaktoren() {
3911
3871
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3912
3872
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR)) {
3913
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.MULTIPLIKATIONSFAKTOR, []));
3873
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.MULTIPLIKATIONSFAKTOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR), []));
3914
3874
  for (const i7Data of result) {
3915
3875
  const multFaktor = new INTEGRALMultiplierFactor_1.INTEGRALMultiplierFactor(utils_1.getUUID(undefined), utils_2.getName(i7Data), i7Data.kurzname, i7Data.kommentar);
3916
3876
  multFaktor.p = utils_2.isNumericI7(i7Data.p) ? utils_2.convertToNumberI7(i7Data.p) : undefined;
@@ -3932,14 +3892,14 @@ class ConverterI7 {
3932
3892
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3933
3893
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W)) {
3934
3894
  const cimModel = frame.cimModel;
3935
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO2W, standortIDs));
3895
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO2W), standortIDs));
3936
3896
  const trafoIDs = result.map(obj => obj['id']);
3937
3897
  const sternpunktKnotenMap = new Map();
3938
3898
  for (const elem of trafoIDs) {
3939
3899
  sternpunktKnotenMap.set(elem, new Map());
3940
3900
  }
3941
3901
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoIDs.length) {
3942
- const sternpunktKnotenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, trafoIDs));
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));
3943
3903
  for (const spKnoten of sternpunktKnotenResult) {
3944
3904
  (_a = sternpunktKnotenMap.get(spKnoten.netzobjekt)) === null || _a === void 0 ? void 0 : _a.set(spKnoten.id, spKnoten);
3945
3905
  }
@@ -4042,12 +4002,13 @@ class ConverterI7 {
4042
4002
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4043
4003
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3W)) {
4044
4004
  const cimModel = frame.cimModel;
4045
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, standortIDs));
4005
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), standortIDs));
4046
4006
  const trafoIDs = result.map(obj => obj['id']);
4047
4007
  const trafoWicklungen = new Map();
4048
4008
  const trafoWicklungIDs = [];
4049
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) && trafoIDs.length) {
4050
- const wicklungenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3_WICKLUNG, trafoIDs));
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));
4051
4012
  for (const wicklung of wicklungenResult) {
4052
4013
  trafoWicklungen.set(wicklung.id, wicklung);
4053
4014
  trafoWicklungIDs.push(wicklung.id);
@@ -4060,8 +4021,9 @@ class ConverterI7 {
4060
4021
  for (const elem of trafoIDs) {
4061
4022
  sternpunktKnotenMap.set(elem, new Map());
4062
4023
  }
4063
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoIDs.length) {
4064
- const sternpunktKnotenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, trafoIDs));
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));
4065
4027
  for (const spKnoten of sternpunktKnotenResult) {
4066
4028
  (_a = sternpunktKnotenMap.get(spKnoten.netzobjekt)) === null || _a === void 0 ? void 0 : _a.set(spKnoten.id, spKnoten);
4067
4029
  }
@@ -4320,9 +4282,6 @@ class ConverterI7 {
4320
4282
  });
4321
4283
  }
4322
4284
  sortTransformerEnd(powerTransformer, sortProperty, order) {
4323
- if (powerTransformer.getUUID() === '5b0e4820d43247188ded6b28db72fc95') {
4324
- let stop = true;
4325
- }
4326
4285
  let winding_guids = new Array(powerTransformer.powerTransformerEnds.length);
4327
4286
  let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnds.length);
4328
4287
  for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
@@ -4345,12 +4304,13 @@ class ConverterI7 {
4345
4304
  }
4346
4305
  }
4347
4306
  setACLineSegmentProperties(defaultModel, cimModel, acLineSegment, data, defaultValuesConfig) {
4348
- if (acLineSegment.getUUID() === 'e2505f0f-c764-44da-b88b-d40e048193c9') {
4349
- let stop = true;
4350
- }
4351
- if ((utils_2.isNumericI7(data.laenge) && data.laenge <= 0) || (utils_2.isBooleanI7(data.flag_impedanzlos) && utils_2.convertToBooleanI7(data.flag_impedanzlos))) {
4307
+ if (utils_2.isBooleanI7(data.flag_impedanzlos) && utils_2.convertToBooleanI7(data.flag_impedanzlos)) {
4352
4308
  data.flag_impedanzlos = 1;
4353
4309
  }
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;
4313
+ }
4354
4314
  if (utils_2.isNumericI7(data.laenge) && data.laenge > 0 && !data.flag_impedanzlos) {
4355
4315
  acLineSegment.length = data.laenge;
4356
4316
  }
@@ -4475,9 +4435,6 @@ class ConverterI7 {
4475
4435
  return operationalLimitType;
4476
4436
  }
4477
4437
  createConnection(cimModel, conductingEquipment, object, phase, connected) {
4478
- if (conductingEquipment.getUUID() === '66d3c196-8927-478a-a6bf-248ea34cdeb3') {
4479
- let stop = true;
4480
- }
4481
4438
  let isNameSet = false;
4482
4439
  let terminal;
4483
4440
  if (object instanceof ConnectivityNode_1.ConnectivityNode) {
@@ -4720,7 +4677,26 @@ class ConverterI7 {
4720
4677
  try {
4721
4678
  const results = yield this.mysqlController.execQuery(`SHOW TABLES FROM ${database}`);
4722
4679
  for (const table of results) {
4723
- this.availableTableNames.push(table[`Tables_in_${database}`]);
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']);
4724
4700
  }
4725
4701
  }
4726
4702
  catch (e) {
@@ -4736,6 +4712,7 @@ class ConverterI7 {
4736
4712
  this.logger = logger;
4737
4713
  this.initMySQLConnection(mySqlConfig);
4738
4714
  yield this.getAvailableTableNames(mySqlConfig.database);
4715
+ yield this.getAvailableTableColumnNames(mySqlConfig.database);
4739
4716
  }
4740
4717
  catch (e) {
4741
4718
  status.status = 'error';
@@ -4837,7 +4814,7 @@ class ConverterI7 {
4837
4814
  const offset = i * limit;
4838
4815
  const currentLimit = (i + 1 === numberOfIntervals && restCount > 0) ? restCount : limit;
4839
4816
  const partSchaltfeldIDs = ids.slice(offset, offset + currentLimit);
4840
- result.push(...yield this.mysqlController.execQuery(integral_sql_1.getI7Query(objectName, partSchaltfeldIDs)));
4817
+ result.push(...yield this.mysqlController.execQuery(integral_sql_1.getI7Query(objectName, this.getAvailableColumnNames(objectName), partSchaltfeldIDs)));
4841
4818
  }
4842
4819
  return result;
4843
4820
  });
@@ -5353,7 +5330,10 @@ class ConverterI7 {
5353
5330
  return filteredRelevantTables;
5354
5331
  }
5355
5332
  isTableAvailable(tableName) {
5356
- return this.availableTableNames.indexOf(tableName) > -1 ? true : false;
5333
+ return this.availableTableNames.has(tableName);
5334
+ }
5335
+ getAvailableColumnNames(tableName) {
5336
+ return this.availableTableNames.get(tableName);
5357
5337
  }
5358
5338
  addIdMapping(i7ID, uuid, type) {
5359
5339
  if (this.integralID2UUID.has(i7ID)) {