@enervance/insight-cim-model 0.0.140 → 0.0.142

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 (60) hide show
  1. package/dist/converter/integral7/converter.integral7.d.ts +2 -2
  2. package/dist/converter/integral7/converter.integral7.js +111 -63
  3. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  4. package/dist/converter/integral7/dl-convert/data-manager.d.ts +33 -0
  5. package/dist/converter/integral7/dl-convert/data-manager.js +97 -0
  6. package/dist/converter/integral7/dl-convert/data-manager.js.map +1 -0
  7. package/dist/converter/integral7/dl-convert/db/{data.types.d.ts → data-types.d.ts} +7 -0
  8. package/dist/converter/integral7/dl-convert/db/{data.types.js → data-types.js} +1 -1
  9. package/dist/converter/integral7/dl-convert/db/{data.types.js.map → data-types.js.map} +1 -1
  10. package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +133 -4
  11. package/dist/converter/integral7/dl-convert/dl-converter-i7-2.d.ts +56 -0
  12. package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js +2039 -0
  13. package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js.map +1 -0
  14. package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.d.ts +1 -1
  15. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +9 -6
  16. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
  17. package/dist/converter/integral7/dl-convert/dl-converter-i7.types.d.ts +3 -0
  18. package/dist/converter/integral7/dl-convert/dl-converter-i7.types.js +3 -0
  19. package/dist/converter/integral7/dl-convert/dl-converter-i7.types.js.map +1 -0
  20. package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.d.ts +21 -0
  21. package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js +49 -0
  22. package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js.map +1 -0
  23. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.d.ts +119 -0
  24. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js +84 -0
  25. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js.map +1 -0
  26. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.d.ts +40 -0
  27. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js +229 -0
  28. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js.map +1 -0
  29. package/dist/converter/integral7/dl-convert/executor.d.ts +35 -0
  30. package/dist/converter/integral7/dl-convert/executor.js +263 -0
  31. package/dist/converter/integral7/dl-convert/executor.js.map +1 -0
  32. package/dist/converter/integral7/model/dl-utils/constants.js +1 -1
  33. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +8 -4
  34. package/dist/converter/integral7/model/dl-utils/util-functions.js +134 -6
  35. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  36. package/dist/converter/integral7/model/integral/Point.d.ts +3 -0
  37. package/dist/converter/integral7/model/integral/Point.js +33 -0
  38. package/dist/converter/integral7/model/integral/Point.js.map +1 -1
  39. package/dist/model/core/ConnectivityNode.js +2 -0
  40. package/dist/model/core/ConnectivityNode.js.map +1 -1
  41. package/dist/model/core/Terminal.d.ts +3 -0
  42. package/dist/model/core/Terminal.js +18 -0
  43. package/dist/model/core/Terminal.js.map +1 -1
  44. package/dist/model/dc/DCLine.js +17 -17
  45. package/dist/model/dc/DCLineSegment.js +25 -25
  46. package/dist/model/extensions/enervance/core/EVTerminal.js +20 -15
  47. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  48. package/dist/model/loadmodel/ConformLoad.js +33 -33
  49. package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
  50. package/dist/model/loadmodel/LoadArea.js +21 -21
  51. package/dist/model/loadmodel/SubLoadArea.js +22 -22
  52. package/dist/model/wires/BusbarSection.d.ts +4 -1
  53. package/dist/model/wires/BusbarSection.js +21 -1
  54. package/dist/model/wires/BusbarSection.js.map +1 -1
  55. package/dist/model/wires/PowerTransformer.js +131 -33
  56. package/dist/model/wires/PowerTransformer.js.map +1 -1
  57. package/dist/util/database/mysql-controller.d.ts +6 -0
  58. package/dist/util/database/mysql-controller.js +36 -1
  59. package/dist/util/database/mysql-controller.js.map +1 -1
  60. package/package.json +1 -1
@@ -11,10 +11,10 @@ import { IDefaultValuesConfig } from './interface-i7/IDefaultValuesConfig.js';
11
11
  import { IObjectMappingConfig } from './interface-i7/IObjectMappingConfig.js';
12
12
  import { AsynchronmotorTyp, Einspeisung, Ersatzquerzweig, GeneratorTyp, KDrosselTyp, Standort, Trafo } from './model/interfaces.js';
13
13
  import { INTEGRALModelContainer } from '../../model-container/model/INTEGRALModelContainer.js';
14
- import { DLConverterI7 } from './dl-convert/dl-converter-i7.js';
15
14
  import { ModelContainer } from '../../model-container/model/ModelContainer.js';
16
15
  import { DCGround } from '../../model/dc/DCGround.js';
17
16
  import { IEnergySourceTypeMapping } from './interface-i7/energy-source.type.mapping.js';
17
+ import { Executor } from './dl-convert/executor.js';
18
18
  export declare class ConverterIntegral7 {
19
19
  logger: ILogger;
20
20
  /** Verbindung zur MySQL DB */
@@ -51,7 +51,7 @@ export declare class ConverterIntegral7 {
51
51
  ersatzZweigAnschlussKnotenIDs: Set<unknown>;
52
52
  /** List of Blocktransformatoren */
53
53
  blocktransformatoren: any[];
54
- dlConverterI7: DLConverterI7;
54
+ executor: Executor;
55
55
  objectMappingConfig: IObjectMappingConfig;
56
56
  defaultValuesConfig: IDefaultValuesConfig;
57
57
  constructor();
@@ -119,7 +119,6 @@ const INTEGRALConformLoad_1 = require("../../model/extensions/integral/loadmodel
119
119
  const AngleDegrees_1 = require("../../model/domain/AngleDegrees.js");
120
120
  const AsynchronousMachineKind_1 = require("../../model/wires/AsynchronousMachineKind.js");
121
121
  const INTEGRALEquivalentInjection_1 = require("../../model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js");
122
- const dl_converter_i7_1 = require("./dl-convert/dl-converter-i7.js");
123
122
  const util_graph2tree_1 = require("../../util/collection/util-graph2tree.js");
124
123
  const parser_utils_1 = require("../../utils2/parser.utils.js");
125
124
  const common_utils_1 = require("../../utils2/common.utils.js");
@@ -129,6 +128,9 @@ const INTEGRALEquivalentBranch_1 = require("../../model/extensions/amprion/equiv
129
128
  const PhaseTapChangerLinear_1 = require("../../model/wires/PhaseTapChangerLinear.js");
130
129
  const DCConverterUnit_1 = require("../../model/extensions/integral/dc/DCConverterUnit.js");
131
130
  const DCPolarityKind_1 = require("../../model/dc/DCPolarityKind.js");
131
+ const executor_1 = require("./dl-convert/executor.js");
132
+ const Diagram_1 = require("../../model/diagram/Diagram.js");
133
+ const DiagramObject_1 = require("../../model/diagram/DiagramObject.js");
132
134
  const util_asset_model_1 = require("./util-asset.model.js");
133
135
  const cim_constants_1 = require("../../constants/cim-constants.js");
134
136
  const EVWireObject_1 = require("../../model/extensions/enervance/assets/EVWireObject.js");
@@ -166,7 +168,6 @@ class ConverterIntegral7 {
166
168
  this.ersatzZweigAnschlussKnotenIDs = new Set();
167
169
  /** List of Blocktransformatoren */
168
170
  this.blocktransformatoren = [];
169
- this.dlConverterI7 = new dl_converter_i7_1.DLConverterI7();
170
171
  }
171
172
  /**
172
173
  * Konvertiert das Netz aus der MySQL Datenbank
@@ -424,13 +425,13 @@ class ConverterIntegral7 {
424
425
  /** Generatoren -> SynchronousMachine */
425
426
  if (knotenSoIDs.length > 0 || integral7Modell.knotenSfIDs.length > 0) {
426
427
  startTime = perf_hooks.performance.now();
427
- yield this.convertGeneratoren(cimModel, soSfKnoten, energyTypesConfig);
428
+ // await this.convertGeneratoren(cimModel, soSfKnoten, energyTypesConfig);
428
429
  logExecutionTime(this.logger, startTime, `convertGeneratoren`);
429
430
  }
430
431
  /** KWBlöcke -> SynchronousMachine */
431
432
  if (knotenSoIDs.length > 0 || integral7Modell.knotenSfIDs.length > 0) {
432
433
  startTime = perf_hooks.performance.now();
433
- yield this.convertKraftwerksbloecke(cimModel, soSfKnoten, energyTypesConfig);
434
+ // await this.convertKraftwerksbloecke(cimModel, soSfKnoten, energyTypesConfig);
434
435
  logExecutionTime(this.logger, startTime, `convertKraftwerksbloecke`);
435
436
  }
436
437
  /** Ersatzquerzweige -> ExternalNetworkInjection */
@@ -495,13 +496,13 @@ class ConverterIntegral7 {
495
496
  /** HGÜ Kopfklassisch */
496
497
  if (knotenSoIDs.length > 0 || integral7Modell.knotenSfIDs.length > 0) {
497
498
  startTime = perf_hooks.performance.now();
498
- yield this.convertCsConverterDC(cimModel, integral7Modell, soSfKnoten);
499
+ // await this.convertCsConverterDC(cimModel, integral7Modell, soSfKnoten);
499
500
  logExecutionTime(this.logger, startTime, `convertCsConverterDC`);
500
501
  }
501
502
  /** netz_hguekopfvsc */
502
503
  if (knotenSoIDs.length > 0 || integral7Modell.knotenSfIDs.length > 0) {
503
504
  startTime = perf_hooks.performance.now();
504
- yield this.convertVsConverterDC(cimModel, integral7Modell, soSfKnoten);
505
+ // await this.convertVsConverterDC(cimModel, integral7Modell, soSfKnoten);
505
506
  logExecutionTime(this.logger, startTime, `convertVsConverterDC`);
506
507
  }
507
508
  /** HGÜ-Leitungen -> (DCLine, DCLineSegment)*/
@@ -519,31 +520,79 @@ class ConverterIntegral7 {
519
520
  yield this.assignTerminalSequenceNumber(cimModel);
520
521
  logExecutionTime(this.logger, startTime, `assignment of sequence number`);
521
522
  /** DC Model */
522
- this.dlConverterI7.prepare(this.mysqlController, this.logger);
523
- const powerTransformers = cimModel.powerTransformer;
524
- const powerTransformerEnds = cimModel.powerTransformerEnds;
525
- const lines = cimModel.lines;
526
- const objects = cimModel.objects;
527
- yield this.dlConverterI7.convert(this.availableTableNames, true, {
528
- standortIDs,
529
- schaltanlagenIDs,
530
- schaltanlagenAbschnittIDs,
531
- knotenSoIDs,
532
- schaltfeldIDs,
533
- laengskupplungIDs: integral7Modell.laengskupplungIDs,
534
- querkupplungIDs: integral7Modell.querkupplungIDs,
535
- integralID2UUID: this.integralID2UUID,
536
- integralSchaltfelder: integral7Modell.integralSchaltfelder,
537
- integralLaengskupplungen: integral7Modell.integralLaengskupplungen,
538
- powerTransformers,
539
- powerTransformerEnds,
540
- integralLeitungen: integral7Modell.integralLeitungen,
541
- integralHgueLeitungen: integral7Modell.integralHgueLeitungen,
542
- lines,
543
- objects
544
- });
545
- this.dlConverterI7.addCimObjects2Model(cimModel);
546
- this.dlConverterI7.cleanUp();
523
+ /** DL Profile */
524
+ this.executor = new executor_1.Executor(this.mysqlController);
525
+ yield this.executor.mergeDataFromIntegralID2UUID(this.integralID2UUID);
526
+ yield this.executor.mergeDataFromFrame(frame);
527
+ yield this.executor.loadAllSchemaVariants();
528
+ // const frame = new I7ExportFrame('Test-Frame');
529
+ // netzKnotenSoIDs.forEach(knotensoID => frame.integral7Modell.integralKnotenSo.set(knotensoID, undefined));
530
+ // netzSchaltanlageIDs.forEach(schaltanlageID => frame.integral7Modell.integralSchaltanlagen.set(schaltanlageID, undefined));
531
+ // netzSchaltanlageIDs.forEach(netzSchaltanlageID => frame.integral7Modell.integralStandorte.set(netzSchaltanlageID, undefined));
532
+ // netzSaabschnittIDs.forEach(netzSaabschnittID => frame.integral7Modell.integralSchaltanlagenAbschnitte.set(netzSaabschnittID, undefined));
533
+ // netzSchaltfeldIDs.forEach(netzSchaltfeldID => frame.integral7Modell.integralSchaltfelder.set(netzSchaltfeldID, undefined));
534
+ const leitungIDs = [...integral7Modell.integralLeitungen.keys()];
535
+ const convertOptions = {
536
+ only: {
537
+ netz_standortIds: standortIDs.map(standortId => {
538
+ return { id: standortId };
539
+ }),
540
+ netz_knotensoIds: knotenSoIDs.map(knotenSoId => {
541
+ return { id: knotenSoId };
542
+ }),
543
+ netz_schaltanlagenIds: schaltanlagenIDs.map(schaltanlagenId => {
544
+ return { id: schaltanlagenId };
545
+ }),
546
+ netz_saabschnittIds: schaltanlagenAbschnittIDs.map(schaltanlagenAbschnittId => {
547
+ return { id: schaltanlagenAbschnittId };
548
+ }),
549
+ netz_schaltfeldIds: schaltfeldIDs.map(schaltfeldId => {
550
+ return { id: schaltfeldId };
551
+ }),
552
+ netz_leitungIds: leitungIDs.map(leitungId => {
553
+ return { id: leitungId };
554
+ })
555
+ }
556
+ };
557
+ const resultingObjects = yield this.executor.convert(convertOptions);
558
+ for (const resultingObject of resultingObjects) {
559
+ if (resultingObject instanceof Diagram_1.Diagram) {
560
+ frame.cimModel.addDiagram(resultingObject);
561
+ }
562
+ else if (resultingObject instanceof DiagramObject_1.DiagramObject) {
563
+ frame.cimModel.addDiagramObject(resultingObject);
564
+ }
565
+ }
566
+ console.log('over');
567
+ // this.dlConverterI7.prepare(this.mysqlController, this.logger);
568
+ //
569
+ // const powerTransformers = cimModel.powerTransformer;
570
+ // const powerTransformerEnds = cimModel.powerTransformerEnds;
571
+ // const lines = cimModel.lines;
572
+ // const objects = cimModel.objects;
573
+ //
574
+ // await this.dlConverterI7.convert(this.availableTableNames, true, {
575
+ // standortIDs,
576
+ // schaltanlagenIDs,
577
+ // schaltanlagenAbschnittIDs,
578
+ // knotenSoIDs,
579
+ // schaltfeldIDs,
580
+ // laengskupplungIDs: integral7Modell.laengskupplungIDs,
581
+ // querkupplungIDs: integral7Modell.querkupplungIDs,
582
+ // integralID2UUID: this.integralID2UUID,
583
+ // integralSchaltfelder: integral7Modell.integralSchaltfelder,
584
+ // integralLaengskupplungen: integral7Modell.integralLaengskupplungen,
585
+ // powerTransformers,
586
+ // powerTransformerEnds,
587
+ // integralLeitungen: integral7Modell.integralLeitungen,
588
+ // integralHgueLeitungen: integral7Modell.integralHgueLeitungen,
589
+ // lines,
590
+ // objects
591
+ // }
592
+ // );
593
+ //
594
+ // this.dlConverterI7.addCimObjects2Model(cimModel);
595
+ // this.dlConverterI7.cleanUp();
547
596
  });
548
597
  }
549
598
  assignTerminalSequenceNumber(cimModel) {
@@ -2548,7 +2597,7 @@ class ConverterIntegral7 {
2548
2597
  this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
2549
2598
  }
2550
2599
  const vsConverter = new VsConverter_1.VsConverter((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_VSC']), i7Data.kurzname);
2551
- if (vsConverter.getUUID() === "1b2b2901-0bb9-4aa3-9117-06d68fbbc7cb") {
2600
+ if (vsConverter.getUUID() === '1b2b2901-0bb9-4aa3-9117-06d68fbbc7cb') {
2552
2601
  let stop = true;
2553
2602
  }
2554
2603
  /** Wenn Leitungen konvertiert werden, wird das Attribut operationMode gesetzt. */
@@ -3002,34 +3051,34 @@ class ConverterIntegral7 {
3002
3051
  const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7Data.seliste)) as EquipmentContainer);
3003
3052
 
3004
3053
  if (equipmentContainer) {
3005
- equipmentContainer.addEquipment(junction);
3006
- junction.equipmentContainer = equipmentContainer;
3007
- } else {
3008
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
3009
- }
3054
+ equipmentContainer.addEquipment(junction);
3055
+ junction.equipmentContainer = equipmentContainer;
3056
+ } else {
3057
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
3058
+ }
3010
3059
  const cnStart = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
3011
3060
  const cnZiel = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
3012
3061
 
3013
3062
  if (cnStart) {
3014
- const terminal = this.createConnection(cimModel, junction, cnStart, PhaseCode.ABC, true, 1);
3015
- if (schaltzustand === false) {
3016
- terminal.connected = schaltzustand;
3017
- }
3018
- } else {
3019
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
3020
- }
3063
+ const terminal = this.createConnection(cimModel, junction, cnStart, PhaseCode.ABC, true, 1);
3064
+ if (schaltzustand === false) {
3065
+ terminal.connected = schaltzustand;
3066
+ }
3067
+ } else {
3068
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
3069
+ }
3021
3070
  if (cnZiel) {
3022
- const terminal = this.createConnection(cimModel, junction, cnZiel, PhaseCode.ABC, true, 2);
3023
- if (schaltzustand === false) {
3024
- terminal.connected = schaltzustand;
3025
- }
3026
- } else {
3027
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
3028
- }
3071
+ const terminal = this.createConnection(cimModel, junction, cnZiel, PhaseCode.ABC, true, 2);
3072
+ if (schaltzustand === false) {
3073
+ terminal.connected = schaltzustand;
3074
+ }
3075
+ } else {
3076
+ this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
3077
+ }
3029
3078
  const baseVoltage = getTerminalUn(cimModel, junction);
3030
3079
  if (baseVoltage) {
3031
- junction.baseVoltage = baseVoltage;
3032
- }
3080
+ junction.baseVoltage = baseVoltage;
3081
+ }
3033
3082
  this.addIdMapping(i7Data.id, junction.mrid, Integral7TableNames.KNOTEN_STARR);
3034
3083
  cimModel.addJunction(junction);
3035
3084
  **/
@@ -3754,7 +3803,7 @@ class ConverterIntegral7 {
3754
3803
  //Parameter "guidp" is available for monopolar and bipolar dc systems. Thus create DCLineSegment with positive sign property in any case.
3755
3804
  const dcLineSegment = new DCLineSegment_1.DCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidp, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_DCLS']), i7Data.kurzname, i7Schluessel);
3756
3805
  let dcLineSegmentNeg = undefined;
3757
- if (dcLineSegment.getUUID() === "579b6a04-23c5-452f-b7ad-db283dad1cdb") {
3806
+ if (dcLineSegment.getUUID() === '579b6a04-23c5-452f-b7ad-db283dad1cdb') {
3758
3807
  const stop = true;
3759
3808
  }
3760
3809
  /**EQ: not given directly by the INTEGRAL system model */
@@ -5179,14 +5228,13 @@ class ConverterIntegral7 {
5179
5228
  const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
5180
5229
  const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
5181
5230
  const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
5182
- FROM (
5183
- SELECT id, umin, umax, usoll
5184
- FROM ${tabName_NetzSo}
5185
- WHERE ${tabName_NetzSo}.id = ${tempKnotenId}
5186
- UNION
5187
- SELECT id, umin, umax, usoll
5188
- FROM ${tabName_NetzSSAB}
5189
- WHERE ${tabName_NetzSSAB}.id = ${tempKnotenId}) as Voltage`;
5231
+ FROM (SELECT id, umin, umax, usoll
5232
+ FROM ${tabName_NetzSo}
5233
+ WHERE ${tabName_NetzSo}.id = ${tempKnotenId}
5234
+ UNION
5235
+ SELECT id, umin, umax, usoll
5236
+ FROM ${tabName_NetzSSAB}
5237
+ WHERE ${tabName_NetzSSAB}.id = ${tempKnotenId}) as Voltage`;
5190
5238
  minMaxSollResult = yield this.mysqlController.execQuery(query);
5191
5239
  }
5192
5240
  if (minMaxSollResult && minMaxSollResult.length) {
@@ -5218,7 +5266,7 @@ class ConverterIntegral7 {
5218
5266
  getAvailableTableColumnNames(database) {
5219
5267
  var _a;
5220
5268
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
5221
- const query = `SELECT table_name, column_name
5269
+ const query = `SELECT table_name, column_name
5222
5270
  FROM information_schema.columns
5223
5271
  WHERE table_schema = '${database}'
5224
5272
  ORDER BY table_name, ORDINAL_POSITION;`;