@enervance/insight-cim-model 0.0.54 → 0.0.55

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.
@@ -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);
@@ -634,7 +638,7 @@ class ConverterI7 {
634
638
  convertNetzvarianten(cimModel, integral7) {
635
639
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
636
640
  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]));
641
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NETZVARIANTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZVARIANTEN), [2]));
638
642
  for (const i7Data of result) {
639
643
  const diagram = new Diagram_1.Diagram(utils_1.getUUID(i7Data.guid), i7Data.name, String(i7Data.id));
640
644
  diagram.orientation = OrientationKind_1.OrientationKind.negative;
@@ -651,7 +655,7 @@ class ConverterI7 {
651
655
  convertSchemaStandorte(cimModel, integral7, standortIDs, variantenNr, onlyEingeblendet = true) {
652
656
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
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);
@@ -670,7 +674,7 @@ class ConverterI7 {
670
674
  convertSchemaKnotenSo(cimModel, integral7, knotenSoIDs, variantenNr, onlyEingeblendet = true) {
671
675
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
672
676
  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));
677
+ 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
678
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
675
679
  for (const i7Data of filteredResults) {
676
680
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
@@ -687,7 +691,7 @@ class ConverterI7 {
687
691
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
688
692
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
689
693
  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));
694
+ 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
695
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
692
696
  for (const i7Data of filteredResults) {
693
697
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE);
@@ -703,7 +707,7 @@ class ConverterI7 {
703
707
  convertSchemaSchaltanlage(cimModel, integral7, saIDs, variantenNr, onlyEingeblendet = true) {
704
708
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
705
709
  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));
710
+ 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
711
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
708
712
  for (const i7Data of filteredResults) {
709
713
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
@@ -722,7 +726,7 @@ class ConverterI7 {
722
726
  convertSchemaSchaltanlagenAbschnitte(cimModel, integral7, schaltanlagenabschnittIDs, variantenNr, onlyEingeblendet = true) {
723
727
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
724
728
  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));
729
+ 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
730
  const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
727
731
  for (const i7Data of filteredResults) {
728
732
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
@@ -836,7 +840,7 @@ class ConverterI7 {
836
840
  ];
837
841
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
838
842
  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));
843
+ 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
844
  const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
841
845
  for (const i7Data of filteredResultsNsgSchaltfeld) {
842
846
  const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
@@ -947,7 +951,7 @@ class ConverterI7 {
947
951
  ];
948
952
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
949
953
  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));
954
+ 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
955
  const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
952
956
  for (const i7Data of filteredResultsNsgKpFeld) {
953
957
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
@@ -984,7 +988,7 @@ class ConverterI7 {
984
988
  ];
985
989
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
986
990
  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));
991
+ 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
992
  const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
989
993
  for (const i7Data of filteredResultsNsgLKupplung) {
990
994
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
@@ -1019,7 +1023,7 @@ class ConverterI7 {
1019
1023
  try {
1020
1024
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1021
1025
  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));
1026
+ 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
1027
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1024
1028
  for (const i7Data of filteredResults) {
1025
1029
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO2W);
@@ -1091,9 +1095,9 @@ class ConverterI7 {
1091
1095
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1092
1096
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1093
1097
  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));
1098
+ 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
1099
  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));
1100
+ const netzTrafoResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), standortIDs));
1097
1101
  const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
1098
1102
  for (const i7Data of filteredResults) {
1099
1103
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO3W);
@@ -1182,11 +1186,11 @@ class ConverterI7 {
1182
1186
  const leitungIDs = [...integral7.integralLeitungen.keys(), ...integral7.integralHgueLeitungen.keys()];
1183
1187
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT)
1184
1188
  && leitungIDs.length > 0) {
1185
- const leitungResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNG, leitungIDs));
1189
+ 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
1190
  let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
1187
1191
  const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
1188
1192
  if (nsgLeitungIDs.length > 0) {
1189
- const leitungspktResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, nsgLeitungIDs));
1193
+ 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
1194
  let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
1191
1195
  for (const i7Data of filteredLeitungResults) {
1192
1196
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LEITUNG);
@@ -1273,16 +1277,19 @@ class ConverterI7 {
1273
1277
  const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1274
1278
  const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1275
1279
  let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1280
+ let tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
1276
1281
  if (cableAvailable && overheadAvailable) {
1277
1282
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
1278
1283
  }
1279
1284
  else if (cableAvailable) {
1280
1285
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
1286
+ tableName = integral_sql_1.Integral7TableNames.KABEL;
1281
1287
  }
1282
1288
  else if (overheadAvailable) {
1283
1289
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
1290
+ tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
1284
1291
  }
1285
- const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, [netzLeitung.id]));
1292
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, this.getAvailableColumnNames(tableName), [netzLeitung.id]));
1286
1293
  leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1287
1294
  const acSegmentPercentages = [];
1288
1295
  let completeLength = 0;
@@ -1395,7 +1402,7 @@ class ConverterI7 {
1395
1402
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1396
1403
  const whereIDs = [...integral7.i7SchemaID2Type.keys()];
1397
1404
  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));
1405
+ 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
1406
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1400
1407
  for (const i7Data of filteredResults) {
1401
1408
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERZWEIG);
@@ -1528,7 +1535,7 @@ class ConverterI7 {
1528
1535
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1529
1536
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1530
1537
  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));
1538
+ 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
1539
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1533
1540
  for (const i7Data of filteredResults) {
1534
1541
  const nsgSo = integral7.integralNSGStandorte.get(i7Data.nsgso);
@@ -1570,7 +1577,7 @@ class ConverterI7 {
1570
1577
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1571
1578
  const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1572
1579
  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));
1580
+ 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
1581
  let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1575
1582
  if (filteredResults.length <= 0)
1576
1583
  return;
@@ -1640,7 +1647,7 @@ class ConverterI7 {
1640
1647
  convertStandorte(cimModel, integral7, whereID, defaultValuesConfig) {
1641
1648
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1642
1649
  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));
1650
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STANDORT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STANDORT), whereID));
1644
1651
  for (const i7Data of result) {
1645
1652
  const i7name = util_create_1.createNotation([utils_2.getName(i7Data), '_', utils_2.ueberpruefeZeichenkette(i7Data.ukz)], 32);
1646
1653
  const substation = new AMPRIONSubstation_1.AMPRIONSubstation(utils_1.getUUID(i7Data.guid), i7name, i7Data.kurzname, i7Data.kommentar, i7Data.stationsnummer, i7Data.ukz);
@@ -1678,7 +1685,7 @@ class ConverterI7 {
1678
1685
  convertSchaltanlagen(cimModel, integral7, standortIDs, defaultValuesConfig) {
1679
1686
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1680
1687
  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));
1688
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTANLAGE), standortIDs));
1682
1689
  for (const i7Data of result) {
1683
1690
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1684
1691
  const object = cimModel.getObject(this.integralID2UUID.get(i7Data.standort));
@@ -1715,7 +1722,7 @@ class ConverterI7 {
1715
1722
  convertSchaltanlagenAbschnitte(cimModel, integral7, schaltanlagenIDs) {
1716
1723
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1717
1724
  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));
1725
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT), schaltanlagenIDs));
1719
1726
  for (const i7Data of result) {
1720
1727
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
1721
1728
  if (!voltageLevel) {
@@ -1739,7 +1746,7 @@ class ConverterI7 {
1739
1746
  convertSchaltfelder(cimModel, integral7, schaltanlagenAbschnittIDs) {
1740
1747
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1741
1748
  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));
1749
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHALTFELD), schaltanlagenAbschnittIDs));
1743
1750
  for (const i7Data of result) {
1744
1751
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
1745
1752
  if (!voltageLevel) {
@@ -1774,7 +1781,7 @@ class ConverterI7 {
1774
1781
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1775
1782
  const cimModel = frame.cimModel;
1776
1783
  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));
1784
+ 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
1785
  for (const i7Data of result) {
1779
1786
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1780
1787
  const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
@@ -1820,10 +1827,27 @@ class ConverterI7 {
1820
1827
  }
1821
1828
  });
1822
1829
  }
1830
+ convertKnotenHgue(frame, integral7, standortIDs, defaultValuesConfig) {
1831
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1832
+ const cimModel = frame.cimModel;
1833
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KNOTEN)) {
1834
+ 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));
1835
+ for (const i7Data of result) {
1836
+ const cimrdfid = utils_1.getUUID(i7Data.guid);
1837
+ 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);
1838
+ cimModel.addDCNode(dcNode);
1839
+ this.addIdMapping(i7Data.id, dcNode.mrid, integral_sql_1.Integral7TableNames.HGUE_KNOTEN);
1840
+ }
1841
+ }
1842
+ else {
1843
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
1844
+ }
1845
+ });
1846
+ }
1823
1847
  convertSammelschienenAbschnitte(cimModel, integral7, schaltanlagenAbschnittIDs) {
1824
1848
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1825
1849
  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));
1850
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SAMMELSCHIENE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SAMMELSCHIENE), schaltanlagenAbschnittIDs));
1827
1851
  for (const i7Data of result) {
1828
1852
  const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
1829
1853
  const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt), '_BBS']), i7Schaltanlagenabschnitt.kurzname);
@@ -1895,7 +1919,7 @@ class ConverterI7 {
1895
1919
  convertKnotenKf(cimModel, querkupplungIDs) {
1896
1920
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1897
1921
  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));
1922
+ 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
1923
  for (const i7Data of result) {
1900
1924
  const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'knotenkf');
1901
1925
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
@@ -1918,7 +1942,7 @@ class ConverterI7 {
1918
1942
  convertKnotenLk(cimModel, laengskupplungIDs) {
1919
1943
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1920
1944
  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));
1945
+ 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
1946
  for (const i7Data of result) {
1923
1947
  const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'KnotenLk');
1924
1948
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
@@ -1941,7 +1965,7 @@ class ConverterI7 {
1941
1965
  convertSchlaufen(cimModel, integral7, knotenSoIDs) {
1942
1966
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1943
1967
  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));
1968
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHLAUFE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SCHLAUFE), knotenSoIDs));
1945
1969
  for (const i7Data of result) {
1946
1970
  const terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_Schlaufe_T']), i7Data.kurzname, i7Data.kommentar);
1947
1971
  terminal.connected = utils_2.convertToBooleanI7(i7Data.schaltzustand);
@@ -1969,7 +1993,7 @@ class ConverterI7 {
1969
1993
  convertBelastungen(cimModel, knotenSfIDs, defaultValuesConfig, targetClass) {
1970
1994
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1971
1995
  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));
1996
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BELASTUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.BELASTUNG), knotenSfIDs));
1973
1997
  for (const i7Data of result) {
1974
1998
  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
1999
  this.setTopologyEnergySourceConsumerObject(cimModel, load, i7Data);
@@ -1999,7 +2023,7 @@ class ConverterI7 {
1999
2023
  convertEinspeisungen(cimModel, knotenSfIDs, targetClass) {
2000
2024
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2001
2025
  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));
2026
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.EINSPEISUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.EINSPEISUNG), knotenSfIDs));
2003
2027
  switch (targetClass) {
2004
2028
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
2005
2029
  yield this.convertEinspeisungen2EquivalentInjection(cimModel, result);
@@ -2022,7 +2046,7 @@ class ConverterI7 {
2022
2046
  convertErsatzQuerZweige(cimModel, knotenSfIDs, targetClass) {
2023
2047
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2024
2048
  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));
2049
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZQUERZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG), knotenSfIDs));
2026
2050
  switch (targetClass) {
2027
2051
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
2028
2052
  yield this.convertErsatzQuerZweige2EquivalentInjection(cimModel, result);
@@ -2045,7 +2069,7 @@ class ConverterI7 {
2045
2069
  convertGeneratoren(cimModel, knotenSfIDs, energyTypesConfig) {
2046
2070
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2047
2071
  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));
2072
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.GENERATOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.GENERATOR), knotenSfIDs));
2049
2073
  for (const i7Data of result) {
2050
2074
  const genType = this.generatorTypen.get(i7Data.nametyp);
2051
2075
  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);
@@ -2340,7 +2364,7 @@ class ConverterI7 {
2340
2364
  convertKraftwerksbloecke(cimModel, knotenSfIDs, energyTypesConfig) {
2341
2365
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2342
2366
  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));
2367
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KWBLOCK, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KWBLOCK), knotenSfIDs));
2344
2368
  for (const i7Data of result) {
2345
2369
  const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SM']), i7Data.kurzname);
2346
2370
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
@@ -2486,7 +2510,7 @@ class ConverterI7 {
2486
2510
  convertBoundaryInjections(cimModel, knotenSfIDs, targetClass) {
2487
2511
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2488
2512
  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));
2513
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BOUNDARYINJECTION, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.BOUNDARYINJECTION), knotenSfIDs));
2490
2514
  switch (targetClass) {
2491
2515
  case cim_class_names_1.CIM_CLASS_NAMES.EquivalentInjection: {
2492
2516
  yield this.convertBoundaryInjections2EquivalentInjection(cimModel, result);
@@ -2546,7 +2570,7 @@ class ConverterI7 {
2546
2570
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2547
2571
  const cimModel = frame.cimModel;
2548
2572
  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));
2573
+ 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
2574
  for (const i7Data of result) {
2551
2575
  const i7Schluessel = integral_prefix_1.ERSATZLAENGSZWEIG_PRAEFIX +
2552
2576
  utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
@@ -2583,7 +2607,7 @@ class ConverterI7 {
2583
2607
  convertKompensationsdrossel(cimModel, knotenSfIDs) {
2584
2608
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2585
2609
  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));
2610
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL), knotenSfIDs));
2587
2611
  for (const i7Data of result) {
2588
2612
  const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
2589
2613
  shunt.normalSections = i7Data.aktstufe;
@@ -2617,7 +2641,7 @@ class ConverterI7 {
2617
2641
  convertKompensationskondensatoren(cimModel, knotenSfIDs) {
2618
2642
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2619
2643
  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));
2644
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR), knotenSfIDs));
2621
2645
  for (const i7Data of result) {
2622
2646
  const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
2623
2647
  shunt.normalSections = i7Data.aktstufe;
@@ -2651,7 +2675,7 @@ class ConverterI7 {
2651
2675
  convertStatcom(cimModel, knotenSfIDs) {
2652
2676
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2653
2677
  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));
2678
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STATCOM, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STATCOM), knotenSfIDs));
2655
2679
  for (const i7Data of result) {
2656
2680
  const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
2657
2681
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
@@ -2691,7 +2715,7 @@ class ConverterI7 {
2691
2715
  convertSVC(cimModel, knotenSfIDs) {
2692
2716
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2693
2717
  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));
2718
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SVC, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SVC), knotenSfIDs));
2695
2719
  for (const i7Data of result) {
2696
2720
  const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
2697
2721
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
@@ -2731,7 +2755,7 @@ class ConverterI7 {
2731
2755
  convertCsConverterDC(cimModel, integral7, knotenSfIDs) {
2732
2756
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2733
2757
  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));
2758
+ 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
2759
  for (const i7Data of result) {
2736
2760
  const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
2737
2761
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
@@ -2798,7 +2822,7 @@ class ConverterI7 {
2798
2822
  var _a;
2799
2823
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2800
2824
  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));
2825
+ 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
2826
  for (const i7Data of result) {
2803
2827
  const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
2804
2828
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
@@ -3058,7 +3082,7 @@ class ConverterI7 {
3058
3082
  convertQuerkupplungen(cimModel, integral7, schaltanlagenAbschnittIDs) {
3059
3083
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3060
3084
  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));
3085
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.QUERKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.QUERKUPPLUNG), schaltanlagenAbschnittIDs));
3062
3086
  for (const i7Data of result) {
3063
3087
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3064
3088
  const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), 'Querkupplung');
@@ -3089,7 +3113,7 @@ class ConverterI7 {
3089
3113
  convertLaegskupplungen(cimModel, integral7, schaltanlagenIDs) {
3090
3114
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3091
3115
  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));
3116
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG), schaltanlagenIDs));
3093
3117
  for (const i7Data of result) {
3094
3118
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3095
3119
  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 +3146,7 @@ class ConverterI7 {
3122
3146
  convertStarreVerbindungen(cimModel, containerIDs) {
3123
3147
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3124
3148
  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));
3149
+ 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
3150
  for (const i7Data of result) {
3127
3151
  const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']), 'Breaker', 'starre Verbindung');
3128
3152
  yield this.convertSwitch(breaker, cimModel, i7Data);
@@ -3138,7 +3162,7 @@ class ConverterI7 {
3138
3162
  convertTrennerFi3f(cimModel, containerIDs) {
3139
3163
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3140
3164
  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));
3165
+ 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
3166
  for (const i7Data of result) {
3143
3167
  const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
3144
3168
  yield this.convertSwitch(disconnector, cimModel, i7Data);
@@ -3154,7 +3178,7 @@ class ConverterI7 {
3154
3178
  convertTrenner3f(cimModel, containerIDs) {
3155
3179
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3156
3180
  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));
3181
+ 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
3182
  for (const i7Data of result) {
3159
3183
  const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
3160
3184
  yield this.convertSwitch(disconnector, cimModel, i7Data);
@@ -3170,7 +3194,7 @@ class ConverterI7 {
3170
3194
  convertLeistungsschalter(cimModel, containerIDs) {
3171
3195
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3172
3196
  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));
3197
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER), containerIDs));
3174
3198
  for (const i7Data of result) {
3175
3199
  const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']));
3176
3200
  yield this.convertSwitch(breaker, cimModel, i7Data);
@@ -3224,7 +3248,7 @@ class ConverterI7 {
3224
3248
  var _a;
3225
3249
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3226
3250
  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));
3251
+ 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
3252
  for (const i7Data of result) {
3229
3253
  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
3254
  const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
@@ -3286,7 +3310,7 @@ class ConverterI7 {
3286
3310
  var _a;
3287
3311
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3288
3312
  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));
3313
+ 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
3314
  for (const i7Data of result) {
3291
3315
  const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SC']), i7Data.kurzname);
3292
3316
  const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
@@ -3348,7 +3372,7 @@ class ConverterI7 {
3348
3372
  convertBetriebsmitteltypenKdrossel() {
3349
3373
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3350
3374
  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, []));
3375
+ 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
3376
  for (const i7Data of result) {
3353
3377
  this.kdrosseltypen.set(i7Data.name, i7Data);
3354
3378
  }
@@ -3363,7 +3387,7 @@ class ConverterI7 {
3363
3387
  return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
3364
3388
  const stpSchieneIDs = [];
3365
3389
  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));
3390
+ 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
3391
  for (const i7DataSchiene of stpSchiene) {
3368
3392
  try {
3369
3393
  stpSchieneIDs.push(i7DataSchiene.id);
@@ -3403,7 +3427,7 @@ class ConverterI7 {
3403
3427
  try {
3404
3428
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ)) {
3405
3429
  if (stpScheinenID.length) {
3406
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, stpScheinenID));
3430
+ 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
3431
  for (const i7Data of result) {
3408
3432
  const kdType = this.kdrosseltypen.get(i7Data.nametyp);
3409
3433
  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 +3479,7 @@ class ConverterI7 {
3455
3479
  try {
3456
3480
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER)) {
3457
3481
  if (stpSchienenID.length) {
3458
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_SCHALTER, stpSchienenID));
3482
+ 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
3483
  for (const i7Data of result) {
3460
3484
  const terminal = integral7.sternPunktImpModel.stpSchieneTerminal.get(i7Data.eknoten);
3461
3485
  if (terminal) {
@@ -3485,7 +3509,7 @@ class ConverterI7 {
3485
3509
  convertLaengskupplungen(cimModel, integral7, schaltanlagenIDs) {
3486
3510
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3487
3511
  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));
3512
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG), schaltanlagenIDs));
3489
3513
  for (const i7Data of result) {
3490
3514
  const cimrdfid = utils_1.getUUID(i7Data.guid);
3491
3515
  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 +3542,7 @@ class ConverterI7 {
3518
3542
  convertBetriebsmitteltypenLeitung() {
3519
3543
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3520
3544
  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, []));
3545
+ 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
3546
  for (const i7Data of result) {
3523
3547
  const typ = new EVWireInfo_1.EVWireInfo(utils_1.generateUUID(), i7Data.name);
3524
3548
  this.setWireInfoProperties(typ, i7Data, 'Freileitung');
@@ -3529,7 +3553,7 @@ class ConverterI7 {
3529
3553
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
3530
3554
  }
3531
3555
  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, []));
3556
+ 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
3557
  for (const i7Data of result) {
3534
3558
  const typ = new EVWireInfo_1.EVWireInfo(utils_1.generateUUID(), i7Data.name);
3535
3559
  this.setWireInfoProperties(typ, i7Data, 'Kabel');
@@ -3558,21 +3582,24 @@ class ConverterI7 {
3558
3582
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3559
3583
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) && integral7.leitungsAnschlussIDs.length) {
3560
3584
  const cimModel = frame.cimModel;
3561
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEITUNG, integral7.leitungsAnschlussIDs));
3585
+ 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
3586
  const leitungIDs = result.map(elem => elem.id);
3563
3587
  const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
3564
3588
  const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
3565
3589
  let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
3590
+ let tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
3566
3591
  if (cableAvailable && overheadAvailable) {
3567
3592
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
3568
3593
  }
3569
3594
  else if (cableAvailable) {
3570
3595
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
3596
+ tableName = integral_sql_1.Integral7TableNames.KABEL;
3571
3597
  }
3572
3598
  else if (overheadAvailable) {
3573
3599
  type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
3600
+ tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
3574
3601
  }
3575
- const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, leitungIDs));
3602
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, this.getAvailableColumnNames(tableName), leitungIDs));
3576
3603
  for (const i7Data of result) {
3577
3604
  if (i7Data.id === 943) {
3578
3605
  let stop = true;
@@ -3742,7 +3769,7 @@ class ConverterI7 {
3742
3769
  var _a, _b;
3743
3770
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3744
3771
  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));
3772
+ 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
3773
  for (const i7Data of result) {
3747
3774
  console.log(utils_1.getUUID(i7Data.guid_dcline));
3748
3775
  if (utils_1.getUUID(i7Data.guid_dcline) === '6a5b7e1e-f8be-4165-9752-2e2359d9b4f8') {
@@ -3816,7 +3843,7 @@ class ConverterI7 {
3816
3843
  convertBetriebsmitteltypenTrafo() {
3817
3844
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3818
3845
  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, []));
3846
+ 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
3847
  for (const i7Data of result) {
3821
3848
  const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(utils_1.generateUUID(), i7Data.name);
3822
3849
  typTrafo.ukr12 = i7Data.ukr;
@@ -3844,7 +3871,7 @@ class ConverterI7 {
3844
3871
  this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
3845
3872
  }
3846
3873
  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, []));
3874
+ 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
3875
  for (const i7Data of result) {
3849
3876
  const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(utils_1.generateUUID(), i7Data.name);
3850
3877
  typTrafo.pLeer = i7Data.p_leer;
@@ -3884,7 +3911,7 @@ class ConverterI7 {
3884
3911
  convertBetriebsmitteltypenGenerator() {
3885
3912
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3886
3913
  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, []));
3914
+ 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
3915
  for (const i7Data of result) {
3889
3916
  this.generatorTypen.set(i7Data.name, i7Data);
3890
3917
  }
@@ -3897,7 +3924,7 @@ class ConverterI7 {
3897
3924
  convertBetriebsmitteltypenAsynchronmotor() {
3898
3925
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3899
3926
  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, []));
3927
+ 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
3928
  for (const i7Data of result) {
3902
3929
  this.asynchronmotorTypen.set(i7Data.name, i7Data);
3903
3930
  }
@@ -3910,7 +3937,7 @@ class ConverterI7 {
3910
3937
  convertMultiplikationsfaktoren() {
3911
3938
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3912
3939
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR)) {
3913
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.MULTIPLIKATIONSFAKTOR, []));
3940
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.MULTIPLIKATIONSFAKTOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR), []));
3914
3941
  for (const i7Data of result) {
3915
3942
  const multFaktor = new INTEGRALMultiplierFactor_1.INTEGRALMultiplierFactor(utils_1.getUUID(undefined), utils_2.getName(i7Data), i7Data.kurzname, i7Data.kommentar);
3916
3943
  multFaktor.p = utils_2.isNumericI7(i7Data.p) ? utils_2.convertToNumberI7(i7Data.p) : undefined;
@@ -3932,14 +3959,14 @@ class ConverterI7 {
3932
3959
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
3933
3960
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W)) {
3934
3961
  const cimModel = frame.cimModel;
3935
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO2W, standortIDs));
3962
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO2W), standortIDs));
3936
3963
  const trafoIDs = result.map(obj => obj['id']);
3937
3964
  const sternpunktKnotenMap = new Map();
3938
3965
  for (const elem of trafoIDs) {
3939
3966
  sternpunktKnotenMap.set(elem, new Map());
3940
3967
  }
3941
3968
  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));
3969
+ 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
3970
  for (const spKnoten of sternpunktKnotenResult) {
3944
3971
  (_a = sternpunktKnotenMap.get(spKnoten.netzobjekt)) === null || _a === void 0 ? void 0 : _a.set(spKnoten.id, spKnoten);
3945
3972
  }
@@ -4042,12 +4069,13 @@ class ConverterI7 {
4042
4069
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4043
4070
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3W)) {
4044
4071
  const cimModel = frame.cimModel;
4045
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, standortIDs));
4072
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), standortIDs));
4046
4073
  const trafoIDs = result.map(obj => obj['id']);
4047
4074
  const trafoWicklungen = new Map();
4048
4075
  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));
4076
+ const tableNameWicklung = integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG;
4077
+ if (this.isTableAvailable(tableNameWicklung) && trafoIDs.length) {
4078
+ const wicklungenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3_WICKLUNG, this.getAvailableColumnNames(tableNameWicklung), trafoIDs));
4051
4079
  for (const wicklung of wicklungenResult) {
4052
4080
  trafoWicklungen.set(wicklung.id, wicklung);
4053
4081
  trafoWicklungIDs.push(wicklung.id);
@@ -4060,8 +4088,9 @@ class ConverterI7 {
4060
4088
  for (const elem of trafoIDs) {
4061
4089
  sternpunktKnotenMap.set(elem, new Map());
4062
4090
  }
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));
4091
+ const tableNameStpKnoten = integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN;
4092
+ if (this.isTableAvailable(tableNameStpKnoten) && trafoIDs.length) {
4093
+ const sternpunktKnotenResult = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, this.getAvailableColumnNames(tableNameStpKnoten), trafoIDs));
4065
4094
  for (const spKnoten of sternpunktKnotenResult) {
4066
4095
  (_a = sternpunktKnotenMap.get(spKnoten.netzobjekt)) === null || _a === void 0 ? void 0 : _a.set(spKnoten.id, spKnoten);
4067
4096
  }
@@ -4720,7 +4749,26 @@ class ConverterI7 {
4720
4749
  try {
4721
4750
  const results = yield this.mysqlController.execQuery(`SHOW TABLES FROM ${database}`);
4722
4751
  for (const table of results) {
4723
- this.availableTableNames.push(table[`Tables_in_${database}`]);
4752
+ this.availableTableNames.set(table[`Tables_in_${database}`], []);
4753
+ }
4754
+ }
4755
+ catch (e) {
4756
+ this.logger.error(e);
4757
+ console.error('ERROR:' + e);
4758
+ }
4759
+ });
4760
+ }
4761
+ getAvailableTableColumnNames(database) {
4762
+ var _a;
4763
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
4764
+ const query = `SELECT table_name, column_name
4765
+ FROM information_schema.columns
4766
+ WHERE table_schema = '${database}'
4767
+ ORDER BY table_name, ORDINAL_POSITION;`;
4768
+ try {
4769
+ const results = yield this.mysqlController.execQuery(query);
4770
+ for (const table of results) {
4771
+ (_a = this.availableTableNames.get(table['table_name'])) === null || _a === void 0 ? void 0 : _a.push(table['column_name']);
4724
4772
  }
4725
4773
  }
4726
4774
  catch (e) {
@@ -4736,6 +4784,7 @@ class ConverterI7 {
4736
4784
  this.logger = logger;
4737
4785
  this.initMySQLConnection(mySqlConfig);
4738
4786
  yield this.getAvailableTableNames(mySqlConfig.database);
4787
+ yield this.getAvailableTableColumnNames(mySqlConfig.database);
4739
4788
  }
4740
4789
  catch (e) {
4741
4790
  status.status = 'error';
@@ -4837,7 +4886,7 @@ class ConverterI7 {
4837
4886
  const offset = i * limit;
4838
4887
  const currentLimit = (i + 1 === numberOfIntervals && restCount > 0) ? restCount : limit;
4839
4888
  const partSchaltfeldIDs = ids.slice(offset, offset + currentLimit);
4840
- result.push(...yield this.mysqlController.execQuery(integral_sql_1.getI7Query(objectName, partSchaltfeldIDs)));
4889
+ result.push(...yield this.mysqlController.execQuery(integral_sql_1.getI7Query(objectName, this.getAvailableColumnNames(objectName), partSchaltfeldIDs)));
4841
4890
  }
4842
4891
  return result;
4843
4892
  });
@@ -5353,7 +5402,10 @@ class ConverterI7 {
5353
5402
  return filteredRelevantTables;
5354
5403
  }
5355
5404
  isTableAvailable(tableName) {
5356
- return this.availableTableNames.indexOf(tableName) > -1 ? true : false;
5405
+ return this.availableTableNames.has(tableName);
5406
+ }
5407
+ getAvailableColumnNames(tableName) {
5408
+ return this.availableTableNames.get(tableName);
5357
5409
  }
5358
5410
  addIdMapping(i7ID, uuid, type) {
5359
5411
  if (this.integralID2UUID.has(i7ID)) {