@enervance/insight-cim-model 0.0.55 → 0.0.58

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 (40) 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/constants/cim.sourcesystem.d.ts +6 -5
  9. package/dist/constants/cim.sourcesystem.js +9 -8
  10. package/dist/constants/cim.sourcesystem.js.map +1 -1
  11. package/dist/converter/integral7/converter-i7.d.ts +1 -1
  12. package/dist/converter/integral7/converter-i7.js +251 -323
  13. package/dist/converter/integral7/converter-i7.js.map +1 -1
  14. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +4 -0
  15. package/dist/converter/integral7/model/dl-utils/util-functions.js +66 -0
  16. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  17. package/dist/converter/integral7/sql/integral.sql.js +82 -82
  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 +2 -1
  22. package/dist/index.js +3 -1
  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/extensions/enervance/model/EVModel.d.ts +2 -2
  27. package/dist/model/extensions/enervance/model/EVModel.js +1 -1
  28. package/dist/model/extensions/enervance/model/EVModel.js.map +1 -1
  29. package/dist/model/model/Model.d.ts +6 -1
  30. package/dist/model/model/Model.js +12 -0
  31. package/dist/model/model/Model.js.map +1 -1
  32. package/dist/model/model-operations/ModelOperationDescription.d.ts +5 -1
  33. package/dist/model/model-operations/ModelOperationDescription.js +36 -1
  34. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -1
  35. package/dist/util/cim.model.util.js +4 -4
  36. package/dist/util/cim.model.util.js.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/interfaces/schema-settings/Settings.d.ts +0 -16
  39. package/dist/interfaces/schema-settings/Settings.js +0 -74
  40. package/dist/interfaces/schema-settings/Settings.js.map +0 -1
@@ -435,60 +435,62 @@ class ConverterI7 {
435
435
  logExecutionTime(this.logger, startTime, `convertNetzvarianten`);
436
436
  for (const key of integral7Modell.i7SchemaID2UUID.keys()) {
437
437
  startTime = perf_hooks_1.performance.now();
438
- 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);
439
439
  logExecutionTime(this.logger, startTime, `convertSchemaStandorte`);
440
- startTime = perf_hooks_1.performance.now();
441
- yield this.convertSchemaKnotenSo(cimModel, integral7Modell, knotenSoIDs, key, constants_1.NsgConstants.onlyEingeblendet);
442
- logExecutionTime(this.logger, startTime, `convertSchemaKnotenSo`);
443
- startTime = perf_hooks_1.performance.now();
444
- logExecutionTime(this.logger, startTime, `convertSchemaHgueKnotenSo`);
445
- startTime = perf_hooks_1.performance.now();
446
- yield this.convertSchemaSchaltanlage(cimModel, integral7Modell, schaltanlagenIDs, key, constants_1.NsgConstants.onlyEingeblendet);
447
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltanlage`);
448
- startTime = perf_hooks_1.performance.now();
449
- yield this.convertSchemaSchaltanlagenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
450
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltanlagenAbschnitte`);
451
- startTime = perf_hooks_1.performance.now();
452
- yield this.convertSchemaSammelschienenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
453
- logExecutionTime(this.logger, startTime, `convertSchemaSammelschienenAbschnitte`);
454
- startTime = perf_hooks_1.performance.now();
455
- yield this.convertSchemaSchaltfeldElemente(cimModel, integral7Modell, schaltfeldIDs, key, constants_1.NsgConstants.onlyEingeblendet);
456
- logExecutionTime(this.logger, startTime, `convertSchemaSchaltfeldElemente`);
457
- startTime = perf_hooks_1.performance.now();
458
- yield this.convertSchemaQuerkupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
459
- logExecutionTime(this.logger, startTime, `convertSchemaQuerkupplungen`);
460
- startTime = perf_hooks_1.performance.now();
461
- yield this.convertSchemaLaengskupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
462
- logExecutionTime(this.logger, startTime, `convertSchemaLaengskupplungen`);
463
- startTime = perf_hooks_1.performance.now();
464
- yield this.convertSchemaTransformatoren2W(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
465
- logExecutionTime(this.logger, startTime, `convertSchemaTransformatoren2W`);
466
- startTime = perf_hooks_1.performance.now();
467
- yield this.convertSchemaTransformatoren3W(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
468
- logExecutionTime(this.logger, startTime, `convertSchemaTransformatoren3W`);
469
- startTime = perf_hooks_1.performance.now();
470
- yield this.convertSchemaQuerzweige(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
471
- logExecutionTime(this.logger, startTime, `convertSchemaQuerzweige`);
472
- startTime = perf_hooks_1.performance.now();
473
- logExecutionTime(this.logger, startTime, `convertSchemaSternpunktSchiene`);
474
- startTime = perf_hooks_1.performance.now();
475
- logExecutionTime(this.logger, startTime, `convertSchemaSternpunktKnoten`);
476
- startTime = perf_hooks_1.performance.now();
477
- yield this.convertSchemaLeitungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
478
- logExecutionTime(this.logger, startTime, `convertSchemaLeitungen`);
479
- integral7Modell.integralLaengskupplungen.clear();
480
- integral7Modell.integralHgueLeitungen.clear();
481
- integral7Modell.i7ID2UUID.clear();
482
- 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
+ }
483
493
  integral7Modell.integralNSGStandorte.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
494
  integral7Modell.placedCIMObjectsForDLProfil.clear();
493
495
  }
494
496
  });
@@ -511,7 +513,6 @@ class ConverterI7 {
511
513
  }
512
514
  }
513
515
  else {
514
- console.log(`Terminal without connection ${terminalUUID}`);
515
516
  }
516
517
  }
517
518
  }
@@ -530,7 +531,6 @@ class ConverterI7 {
530
531
  }
531
532
  }
532
533
  else {
533
- console.log(`Terminal without connection ${terminalUUID}`);
534
534
  }
535
535
  }
536
536
  }
@@ -549,7 +549,6 @@ class ConverterI7 {
549
549
  }
550
550
  }
551
551
  else {
552
- console.log(`Terminal without connection ${terminalUUID}`);
553
552
  }
554
553
  }
555
554
  }
@@ -654,6 +653,7 @@ class ConverterI7 {
654
653
  }
655
654
  convertSchemaStandorte(cimModel, integral7, standortIDs, variantenNr, onlyEingeblendet = true) {
656
655
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
656
+ let retVal = false;
657
657
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
658
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));
659
659
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
@@ -665,10 +665,14 @@ class ConverterI7 {
665
665
  integral7.integralNSGStandorte.set(i7Data.id, standort.standortNsg);
666
666
  }
667
667
  }
668
+ if (filteredResults.length > 0) {
669
+ retVal = true;
670
+ }
668
671
  }
669
672
  else {
670
673
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
671
674
  }
675
+ return retVal;
672
676
  });
673
677
  }
674
678
  convertSchemaKnotenSo(cimModel, integral7, knotenSoIDs, variantenNr, onlyEingeblendet = true) {
@@ -790,41 +794,40 @@ class ConverterI7 {
790
794
  for (const queryResult of filteredResults) {
791
795
  const nsgSa = integral7.integralNSGSchaltanlage.get(queryResult.nsgsa);
792
796
  const nsgSo = integral7.integralNSGStandorte.get(nsgSa.nsgsoid);
793
- if (nsgSo === undefined) {
794
- continue;
795
- }
796
- const leftOffset = queryResult.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
797
- const topOffset = queryResult.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
798
- const ssabLength = queryResult.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
799
- let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
800
- let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
801
- let saaShiftOffset = 0;
802
- for (const tempNsgSaa of nsgSa.saabNsg) {
803
- saaShiftOffset = saaShiftOffset < (tempNsgSaa.nslots + tempNsgSaa.laenge) ? (tempNsgSaa.nslots + tempNsgSaa.laenge) : saaShiftOffset;
804
- }
805
- const points = [];
806
- points.push(pointTopLeft, pointBottomRight);
807
- for (const p of points) {
808
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
809
- p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
810
- p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
811
- }
812
- integral7.integralNSGSsab.set(queryResult.idSSAB, queryResult);
813
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'SSAB Diagram');
814
- diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
815
- utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
816
- const cnUUID = this.integralID2UUID.get(queryResult.idSSAB);
817
- const connectivityNode = cimModel.getConnectivityNode(cnUUID);
818
- diagramObject.setIdentifiedObject(connectivityNode);
819
- const diagramUUID = integral7.i7SchemaID2UUID.get(nsgSa.variantennr);
820
- const diagram = cimModel.getDiagram(diagramUUID);
821
- if (diagram) {
822
- diagramObject.setDiagram(diagram);
823
- diagram.addDiagramObject(diagramObject);
824
- integral7.placedCIMObjectsForDLProfil.set(cnUUID, diagramObject);
825
- }
826
- else {
827
- 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
+ }
828
831
  }
829
832
  }
830
833
  });
@@ -842,6 +845,7 @@ class ConverterI7 {
842
845
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, schaltfeldIDs));
843
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));
844
847
  const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
848
+ let tmpcnt = 0;
845
849
  for (const i7Data of filteredResultsNsgSchaltfeld) {
846
850
  const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
847
851
  const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
@@ -870,53 +874,57 @@ class ConverterI7 {
870
874
  const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
871
875
  let lastNode = undefined;
872
876
  for (const node of onSSabNodes) {
873
- const ssabYPos = integral7.integralNSGSsab.get(node.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
874
- let yStackPos = 1;
875
- let prevNode = null;
876
- let crtNode = node;
877
- while (crtNode) {
878
- if (nodePointMap.get(crtNode.id) === undefined) {
879
- let yPos = ssabYPos;
880
- if (crtNode === node) {
881
- yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
882
- }
883
- else {
884
- const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
885
- yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
886
- yStackPos += 1;
887
- }
888
- nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
889
- const aKnotenUUID = this.integralID2UUID.get(crtNode.aknoten);
890
- if (!integral7.placedCIMObjectsForDLProfil.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
891
- let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
892
- let yPosAKnoten;
893
- if (prevNode === node) {
894
- 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;
895
888
  }
896
889
  else {
897
- 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;
898
893
  }
899
- nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
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
+ }
905
+ }
906
+ lastNode = crtNode;
907
+ prevNode = crtNode;
908
+ crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
900
909
  }
901
910
  }
902
- lastNode = crtNode;
903
- prevNode = crtNode;
904
- crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
905
911
  }
906
912
  }
907
- const lastEKnotenUUID = this.integralID2UUID.get(lastNode.eknoten);
908
- if (!integral7.placedCIMObjectsForDLProfil.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
909
- const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
910
- const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
911
- 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;
912
922
  }
913
- nsgSchaltfeldObj.lastNodeID = lastNode.eknoten;
914
- nsgSchaltfeldObj.lastNodeCimUUID = lastEKnotenUUID;
915
923
  for (const node of onSSabNodes) {
916
924
  let crtNode = node;
917
925
  while (crtNode) {
918
926
  let aKnotenPos = undefined;
919
- if (crtNode === node) {
927
+ if (crtNode === node && xPos !== undefined && integral7.integralNSGSsab.get(crtNode.aknoten) !== undefined) {
920
928
  aKnotenPos = new DiagramObjectPoint_1.DiagramObjectPoint(xPos, integral7.integralNSGSsab.get(crtNode.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET);
921
929
  }
922
930
  util_functions_1.DLUtilFunctions.exportTerminals(crtNode, nodePointMap, uuidPointsMap, cimModel, this.integralID2UUID, aKnotenPos);
@@ -979,7 +987,7 @@ class ConverterI7 {
979
987
  convertSchemaLaengskupplungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
980
988
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
981
989
  const ssabIDs = [...integral7.integralNSGSAAbschnitt.keys()];
982
- 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) {
983
991
  const i7relevantTables = [
984
992
  integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
985
993
  integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
@@ -1121,57 +1129,52 @@ class ConverterI7 {
1121
1129
  exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
1122
1130
  break;
1123
1131
  }
1124
- }
1125
- const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
1126
- let rotationenGroup = undefined;
1127
- for (const key of Object.keys(rotationenGroups)) {
1128
- if (rotationenGroups[key].indexOf(trafo3wNsg.ausrichtung) !== -1) {
1129
- rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
1130
- 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);
1131
1177
  }
1132
- }
1133
- const xMirroring = trafo3wNsg.orientierung_cw === 1;
1134
- const terminal1 = pteW1.terminal;
1135
- const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[1]]);
1136
- tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
1137
- const terminal2 = pteW2.terminal;
1138
- const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]]);
1139
- tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
1140
- const terminal3 = pteW3.terminal;
1141
- const terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]]);
1142
- tempPoints.push(terminal3DiagramObject.diagramObjectPoints[0]);
1143
- for (const p of tempPoints) {
1144
- p.xPosition += trafo3wNsg.xrel;
1145
- p.yPosition += trafo3wNsg.yrel;
1146
- }
1147
- uuidPointsMap.set(this.integralID2UUID.get(trafo3wNsg.trafo3wid), trafoDiagramObject);
1148
- if (terminal1 !== undefined) {
1149
- uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
1150
- }
1151
- if (terminal2 !== undefined) {
1152
- uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
1153
- }
1154
- if (terminal3 !== undefined) {
1155
- uuidPointsMap.set(terminal3.getUUID(), terminal3DiagramObject);
1156
- }
1157
- util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo3wNsg.nsgsoid, uuidPointsMap);
1158
- if (terminal1) {
1159
- const t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getConnectivityNodeUUID());
1160
- const t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
1161
- if (t1CNdiagramObject !== undefined)
1162
- utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1163
- }
1164
- if (terminal2) {
1165
- const t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getConnectivityNodeUUID());
1166
- const t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1167
- if (t2CNdiagramObject !== undefined)
1168
- utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1169
- }
1170
- if (terminal3) {
1171
- const t3CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getConnectivityNodeUUID());
1172
- const t3DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getUUID());
1173
- if (t3CNdiagramObject !== undefined)
1174
- utils_schema_1.copyDiagramObjectPoints(t3DiagramObject, t3CNdiagramObject.diagramObjectPoints);
1175
1178
  }
1176
1179
  }
1177
1180
  }
@@ -1181,7 +1184,7 @@ class ConverterI7 {
1181
1184
  });
1182
1185
  }
1183
1186
  convertSchemaLeitungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1184
- var _a, _b;
1187
+ var _a;
1185
1188
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1186
1189
  const leitungIDs = [...integral7.integralLeitungen.keys(), ...integral7.integralHgueLeitungen.keys()];
1187
1190
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT)
@@ -1247,29 +1250,41 @@ class ConverterI7 {
1247
1250
  }
1248
1251
  if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1249
1252
  continue;
1250
- 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
+ });
1251
1257
  const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
1252
1258
  for (let a = 0; a < relevantLeitungspkts.length; a++) {
1253
1259
  const nsgLeitungspkt = relevantLeitungspkts[a];
1254
1260
  if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
1255
- 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
+ };
1256
1265
  const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, integral7, i7Data.anschlussanf, nsgLeitungspkt);
1257
1266
  tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1258
1267
  tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1259
1268
  tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1260
1269
  }
1261
1270
  else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
1262
- 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
+ };
1263
1275
  const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, integral7, i7Data.anschlussend, nsgLeitungspkt);
1264
1276
  tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1265
1277
  tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1266
1278
  tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1267
1279
  }
1268
1280
  else {
1269
- tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(nsgLeitungspkt.xrel, nsgLeitungspkt.yrel));
1281
+ tempDiagramObjectPoints.push({ xPosition: nsgLeitungspkt.xrel, yPosition: nsgLeitungspkt.yrel });
1270
1282
  }
1271
1283
  }
1272
- 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
+ });
1273
1288
  const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1274
1289
  const diagram = cimModel.getDiagram(diagramUUID);
1275
1290
  if (isACLine) {
@@ -1301,74 +1316,11 @@ class ConverterI7 {
1301
1316
  crtLength += leitungStromkreisabschnitt[a].laenge;
1302
1317
  acSegmentPercentages.push(crtLength / completeLength);
1303
1318
  }
1304
- let completePixelLength = 0;
1305
- for (let a = 1; a < tempDiagramObjectPoints.length; ++a) {
1306
- const tempX = tempDiagramObjectPoints[a].xPosition - tempDiagramObjectPoints[a - 1].xPosition;
1307
- const tempY = tempDiagramObjectPoints[a].yPosition - tempDiagramObjectPoints[a - 1].yPosition;
1308
- completePixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1309
- }
1310
- let lastB = 0;
1311
- let b = 1;
1312
- let crtPixelLength = 0;
1313
- for (let eqIdx = 0; eqIdx < acSegmentPercentages.length; ++eqIdx) {
1314
- let crtPixelPercentageSize = 0;
1315
- let lastPixelPercentageSize;
1316
- const epsilon = 0.00001;
1317
- do {
1318
- const tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1319
- const tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1320
- crtPixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1321
- lastPixelPercentageSize = crtPixelPercentageSize;
1322
- crtPixelPercentageSize = (crtPixelLength / completePixelLength);
1323
- b++;
1324
- } while (crtPixelPercentageSize < acSegmentPercentages[eqIdx] + epsilon && b < tempDiagramObjectPoints.length);
1325
- if ((crtPixelLength / completePixelLength) <= acSegmentPercentages[eqIdx] + epsilon) {
1326
- const conductorCimObj = netzLeitungCimObj.equipments[eqIdx];
1327
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObject');
1328
- diagramObject.setIdentifiedObject(conductorCimObj);
1329
- diagramObject.setDiagram(diagram);
1330
- diagram.addDiagramObject(diagramObject);
1331
- let i = 1;
1332
- for (let idx = lastB; idx < b; ++idx) {
1333
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1334
- diagramObjectPoint.mrid = utils_1.generateUUID();
1335
- diagramObjectPoint.diagramObject = diagramObject;
1336
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1337
- ++i;
1338
- }
1339
- }
1340
- else if ((crtPixelLength / completePixelLength) > acSegmentPercentages[eqIdx]) {
1341
- let decreased = false;
1342
- if (b === tempDiagramObjectPoints.length) {
1343
- b--;
1344
- decreased = true;
1345
- }
1346
- let tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1347
- let tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1348
- const percentageOfSegment = crtPixelPercentageSize - lastPixelPercentageSize;
1349
- const tempRestX = tempX * (1 - percentageOfSegment);
1350
- const tempRestY = tempY * (1 - percentageOfSegment);
1351
- tempX = tempX * percentageOfSegment;
1352
- tempY = tempY * percentageOfSegment;
1353
- const newDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[b - 1].xPosition + tempX, tempDiagramObjectPoints[b - 1].yPosition + tempY);
1354
- tempDiagramObjectPoints.splice(b, 0, newDiagramObjectPoint);
1355
- const conductorCimObj = netzLeitungCimObj.equipments[eqIdx];
1356
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_a = conductorCimObj.shortName) !== null && _a !== void 0 ? _a : ''));
1357
- diagramObject.setDiagram(diagram);
1358
- diagramObject.setIdentifiedObject(conductorCimObj);
1359
- diagram.addDiagramObject(diagramObject);
1360
- let i = 1;
1361
- if (decreased)
1362
- b++;
1363
- for (let idx = lastB; idx < b; ++idx) {
1364
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1365
- diagramObjectPoint.mrid = utils_1.generateUUID();
1366
- diagramObjectPoint.diagramObject = diagramObject;
1367
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1368
- ++i;
1369
- }
1370
- }
1371
- 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);
1372
1324
  }
1373
1325
  }
1374
1326
  else {
@@ -1378,7 +1330,7 @@ class ConverterI7 {
1378
1330
  diagram.addDiagramObject(diagramObject);
1379
1331
  diagramObject.setIdentifiedObjectUUID(this.integralID2UUID.get(netzLeitung.id));
1380
1332
  if (netzLeitungCimObj !== undefined) {
1381
- diagramObject.name = 'DiagramObj ' + ((_b = netzLeitungCimObj.shortName) !== null && _b !== void 0 ? _b : '');
1333
+ diagramObject.name = 'DiagramObj ' + ((_a = netzLeitungCimObj.shortName) !== null && _a !== void 0 ? _a : '');
1382
1334
  }
1383
1335
  else {
1384
1336
  diagramObject.name = 'DiagramObj HGUE-Leitung';
@@ -1429,7 +1381,7 @@ class ConverterI7 {
1429
1381
  nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1430
1382
  nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1431
1383
  }
1432
- if (referenceType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1384
+ if (referenceType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD && integral7.integralNSGSchaltfeld.get(i7Data.bezugsobjekt) !== undefined) {
1433
1385
  const nsgSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.bezugsobjekt);
1434
1386
  refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1435
1387
  const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgSchaltfeld.lastNodeCimUUID).diagramObjectPoints[0];
@@ -1478,7 +1430,7 @@ class ConverterI7 {
1478
1430
  }
1479
1431
  }
1480
1432
  }
1481
- 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) {
1482
1434
  const nsgKnotenSoUUID = integral7.i7ID2UUID.get(i7Data.bezugsobjekt);
1483
1435
  refCNNodeUUID = nsgKnotenSoUUID;
1484
1436
  const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgKnotenSoUUID).diagramObjectPoints[0];
@@ -1497,7 +1449,7 @@ class ConverterI7 {
1497
1449
  const querzweigObjectUUID = this.integralID2UUID.get(i7Data.querzweig);
1498
1450
  const cimObject2LinkWith = cimModel.getObject(querzweigObjectUUID);
1499
1451
  uuidPointsMap.set(querzweigObjectUUID, tempDiagramObject);
1500
- if (cimObject2LinkWith !== undefined) {
1452
+ if (cimObject2LinkWith !== undefined && cimModel.getConnectivityNode(refCNNodeUUID) !== undefined) {
1501
1453
  let ceTerminals = new Set([...cimObject2LinkWith.terminals.values()].map(t => t.getUUID()));
1502
1454
  cimObject2LinkWith.terminalsUUIDs.forEach(tUUID => ceTerminals.add(tUUID));
1503
1455
  let cnTerminals = new Set([...cimModel.getConnectivityNode(refCNNodeUUID).terminals.values()].map(t => t.getUUID()));
@@ -1612,30 +1564,32 @@ class ConverterI7 {
1612
1564
  let centerPoint = new DiagramObjectPoint_1.DiagramObjectPoint(0, 0, 1);
1613
1565
  const shiftOffset = constants_1.NsgConstants.STP_KNOTEN_WIDTH;
1614
1566
  const trafoIDType = trafoIDTypeMap.get(i7Data.knoten);
1615
- const nsgTrafo = integral7.integralNSGTrafos.get(trafoIDType.trafoID);
1616
- const nsgStandort = integral7.integralNSGStandorte.get(nsgTrafo.nsgsoid);
1617
- const points = [];
1618
- points.push(centerPoint);
1619
- for (const p of points) {
1620
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * i7Data.ausrichtung);
1621
- p.xPosition += i7Data.xrel + nsgTrafo.xrel + nsgStandort.xrel + (i7Data.ausrichtung === 2 ? shiftOffset : 0);
1622
- p.yPosition += i7Data.yrel + nsgTrafo.yrel + nsgStandort.yrel + (i7Data.ausrichtung === 3 ? shiftOffset : 0);
1623
- }
1624
- integral7.integralNSGStpKnoten.set(i7Data.id, i7Data);
1625
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'Stp-SSAB');
1626
- diagramObject.rotation = (360 - 90 * i7Data.ausrichtung) % 360;
1627
- utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
1628
- const uuid = this.integralID2UUID.get(i7Data.knoten);
1629
- diagramObject.setIdentifiedObjectUUID(uuid);
1630
- const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1631
- const diagram = cimModel.getDiagram(diagramUUID);
1632
- if (diagram) {
1633
- diagramObject.setDiagram(diagram);
1634
- diagram.addDiagramObject(diagramObject);
1635
- integral7.placedCIMObjectsForDLProfil.set(uuid, diagramObject);
1636
- }
1637
- else {
1638
- 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
+ }
1639
1593
  }
1640
1594
  }
1641
1595
  }
@@ -1853,9 +1807,6 @@ class ConverterI7 {
1853
1807
  const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt), '_BBS']), i7Schaltanlagenabschnitt.kurzname);
1854
1808
  busbarSection.ipMax = i7Data.limit_ip;
1855
1809
  busbarSection.aggregate = false;
1856
- if (utils_1.getUUID(i7Data.guid) === '24206c79-3ac8-4436-aa02-3f60a9e85975') {
1857
- let stop = true;
1858
- }
1859
1810
  const rdfid = utils_1.getUUID(i7Data.guid);
1860
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);
1861
1812
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
@@ -2005,8 +1956,8 @@ class ConverterI7 {
2005
1956
  const powerData = utils_2.getActiveReactivePower(i7Data, mf);
2006
1957
  load.p = powerData[0];
2007
1958
  load.q = powerData[1];
2008
- load.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] : undefined;
2009
- 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;
2010
1961
  if (targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad) {
2011
1962
  const conformLoadGroup = cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, cim_class_names_1.CIM_CLASS_NAMES.ConformLoadGroup);
2012
1963
  load.loadGroup = conformLoadGroup;
@@ -2163,8 +2114,8 @@ class ConverterI7 {
2163
2114
  const qType = Math.sqrt(Math.pow(genType === null || genType === void 0 ? void 0 : genType.sr, 2) - Math.pow(pType, 2));
2164
2115
  synchronousMachine.setActivePower(p * -1);
2165
2116
  synchronousMachine.setReactivePower(q * -1);
2166
- synchronousMachine.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
2167
- 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;
2168
2119
  const sr = utils_2.isNumericI7(i7Data.sr) ? utils_2.convertToNumberI7(i7Data.sr) : genType === null || genType === void 0 ? void 0 : genType.sr;
2169
2120
  if (sr && sr >= 0) {
2170
2121
  synchronousMachine.ratedS = sr;
@@ -2332,8 +2283,8 @@ class ConverterI7 {
2332
2283
  const q = powerData[1];
2333
2284
  asynchronousMachine.setActivePower(p * -1);
2334
2285
  asynchronousMachine.setReactivePower(q * -1);
2335
- asynchronousMachine.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
2336
- 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;
2337
2288
  asynchronousMachine.controlEnabled = false;
2338
2289
  const inBetrieb = utils_2.isBooleanI7(i7Data.betrieb) ? utils_2.convertToBooleanI7(i7Data.betrieb) : true;
2339
2290
  asynchronousMachine.normallyInService = inBetrieb;
@@ -2945,7 +2896,7 @@ class ConverterI7 {
2945
2896
  try {
2946
2897
  const cn = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2947
2898
  const cimrdfid = utils_1.getUUID(i7Data.guid);
2948
- 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);
2949
2900
  const un = cn.getVoltageLevel().getBaseVoltageAsNumber();
2950
2901
  externalNetworkInjection.nameprimaertyp = i7Data.nameprimaertyp;
2951
2902
  let mf = undefined;
@@ -2956,7 +2907,7 @@ class ConverterI7 {
2956
2907
  }
2957
2908
  const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
2958
2909
  externalNetworkInjection.maxP = maxP;
2959
- 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;
2960
2911
  externalNetworkInjection.governorSCD = governorscd;
2961
2912
  const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
2962
2913
  externalNetworkInjection.maxQ = maxQ;
@@ -2991,7 +2942,8 @@ class ConverterI7 {
2991
2942
  let regulatingControl = undefined;
2992
2943
  switch (i7Data.spannungsgeregelt) {
2993
2944
  case 1: {
2994
- 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));
2995
2947
  regulatingControl.targetValue = usoll;
2996
2948
  regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
2997
2949
  regulatingControl.discrete = false;
@@ -3022,8 +2974,8 @@ class ConverterI7 {
3022
2974
  const q = powerData[1];
3023
2975
  externalNetworkInjection.setActivePower(p * -1);
3024
2976
  externalNetworkInjection.setReactivePower(q * -1);
3025
- externalNetworkInjection.p_mf = utils_2.isNumericI7(powerData[2]) ? powerData[2] * -1 : undefined;
3026
- 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;
3027
2979
  cimModel.addExternalNetworkInjection(externalNetworkInjection);
3028
2980
  this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
3029
2981
  }
@@ -3601,9 +3553,6 @@ class ConverterI7 {
3601
3553
  }
3602
3554
  const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, this.getAvailableColumnNames(tableName), leitungIDs));
3603
3555
  for (const i7Data of result) {
3604
- if (i7Data.id === 943) {
3605
- let stop = true;
3606
- }
3607
3556
  const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
3608
3557
  if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
3609
3558
  continue;
@@ -3636,11 +3585,8 @@ class ConverterI7 {
3636
3585
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
3637
3586
  '-' +
3638
3587
  utils_2.ueberpruefeZeichenkette(stk.bezeichner);
3639
- if (utils_1.getUUID(stk.custom_guid_0120 + stk.custom_guid_2137).toLowerCase() === '8387376e-86bf-4da0-91f2-b19a3d490715') {
3640
- let stop = true;
3641
- }
3642
- const uuidACLineString = utils_1.getUUID(i7Data.guid);
3643
- 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);
3644
3590
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(stk.multfaktor));
3645
3591
  if (mf) {
3646
3592
  cimModel.addMultiplierFactor(mf);
@@ -3670,12 +3616,6 @@ class ConverterI7 {
3670
3616
  else {
3671
3617
  this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
3672
3618
  }
3673
- if (acLineSegments[0].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
3674
- let stop = true;
3675
- }
3676
- else if (acLineSegments[0].getUUID() === 'e1a65e81-1cec-4f1a-ab87-9c7b667ad64f') {
3677
- let stop = true;
3678
- }
3679
3619
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegmentStart, stromkreisabschnitte[0], defaultValuesConfig);
3680
3620
  cimModel.addACLineSegment(acLineSegmentStart);
3681
3621
  const anzahl = acLineSegments.length;
@@ -3689,9 +3629,6 @@ class ConverterI7 {
3689
3629
  if (tmp_terminal) {
3690
3630
  tmp_terminal = undefined;
3691
3631
  }
3692
- if (acLineSegments[i].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
3693
- let stop = true;
3694
- }
3695
3632
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegments[i], stromkreisabschnitte[i], defaultValuesConfig);
3696
3633
  const acLineSegment2 = acLineSegments[i + 1];
3697
3634
  tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true);
@@ -3771,10 +3708,6 @@ class ConverterI7 {
3771
3708
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) && integral7.hgueAnschlussKnotenIDs.length > 0) {
3772
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));
3773
3710
  for (const i7Data of result) {
3774
- console.log(utils_1.getUUID(i7Data.guid_dcline));
3775
- if (utils_1.getUUID(i7Data.guid_dcline) === '6a5b7e1e-f8be-4165-9752-2e2359d9b4f8') {
3776
- let stop = true;
3777
- }
3778
3711
  integral7.integralHgueLeitungen.set(i7Data.id, i7Data);
3779
3712
  const dcLine = new DCLine_1.DCLine(utils_1.getUUID(i7Data.guid_dcline), util_create_1.createNotation([utils_2.getName(i7Data), '_DCL']));
3780
3713
  const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
@@ -4349,9 +4282,6 @@ class ConverterI7 {
4349
4282
  });
4350
4283
  }
4351
4284
  sortTransformerEnd(powerTransformer, sortProperty, order) {
4352
- if (powerTransformer.getUUID() === '5b0e4820d43247188ded6b28db72fc95') {
4353
- let stop = true;
4354
- }
4355
4285
  let winding_guids = new Array(powerTransformer.powerTransformerEnds.length);
4356
4286
  let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnds.length);
4357
4287
  for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
@@ -4374,12 +4304,13 @@ class ConverterI7 {
4374
4304
  }
4375
4305
  }
4376
4306
  setACLineSegmentProperties(defaultModel, cimModel, acLineSegment, data, defaultValuesConfig) {
4377
- if (acLineSegment.getUUID() === 'e2505f0f-c764-44da-b88b-d40e048193c9') {
4378
- let stop = true;
4379
- }
4380
- 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)) {
4381
4308
  data.flag_impedanzlos = 1;
4382
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
+ }
4383
4314
  if (utils_2.isNumericI7(data.laenge) && data.laenge > 0 && !data.flag_impedanzlos) {
4384
4315
  acLineSegment.length = data.laenge;
4385
4316
  }
@@ -4504,9 +4435,6 @@ class ConverterI7 {
4504
4435
  return operationalLimitType;
4505
4436
  }
4506
4437
  createConnection(cimModel, conductingEquipment, object, phase, connected) {
4507
- if (conductingEquipment.getUUID() === '66d3c196-8927-478a-a6bf-248ea34cdeb3') {
4508
- let stop = true;
4509
- }
4510
4438
  let isNameSet = false;
4511
4439
  let terminal;
4512
4440
  if (object instanceof ConnectivityNode_1.ConnectivityNode) {