@enervance/insight-cim-model 0.0.50 → 0.0.51

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 (49) hide show
  1. package/dist/constants/cim-class-definition.js +2 -0
  2. package/dist/constants/cim-class-definition.js.map +1 -1
  3. package/dist/constants/cim-class-names.d.ts +1 -0
  4. package/dist/constants/cim-class-names.js +1 -0
  5. package/dist/constants/cim-class-names.js.map +1 -1
  6. package/dist/converter/integral7/converter-i7.js +472 -395
  7. package/dist/converter/integral7/converter-i7.js.map +1 -1
  8. package/dist/converter/integral7/model/dl-utils/util-functions.js +36 -28
  9. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/model/assets/AssetOwner.js +3 -1
  14. package/dist/model/assets/AssetOwner.js.map +1 -1
  15. package/dist/model/assets/AssetUser.js +3 -2
  16. package/dist/model/assets/AssetUser.js.map +1 -1
  17. package/dist/model/assets/Facility.js +1 -0
  18. package/dist/model/assets/Facility.js.map +1 -1
  19. package/dist/model/common/Organisation.d.ts +11 -0
  20. package/dist/model/common/Organisation.js +58 -0
  21. package/dist/model/common/Organisation.js.map +1 -0
  22. package/dist/model/common/OrganisationRole.d.ts +6 -1
  23. package/dist/model/common/OrganisationRole.js +10 -0
  24. package/dist/model/common/OrganisationRole.js.map +1 -1
  25. package/dist/model/core/IdentifiedObject.js +3 -1
  26. package/dist/model/core/IdentifiedObject.js.map +1 -1
  27. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +3 -2
  28. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js.map +1 -1
  29. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +3 -2
  30. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js.map +1 -1
  31. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +3 -2
  32. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js.map +1 -1
  33. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +3 -2
  34. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js.map +1 -1
  35. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +3 -2
  36. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js.map +1 -1
  37. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -1
  38. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +3 -2
  39. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js.map +1 -1
  40. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +3 -2
  41. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js.map +1 -1
  42. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +3 -2
  43. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js.map +1 -1
  44. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js +3 -2
  45. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js.map +1 -1
  46. package/dist/model/model/Model.d.ts +4 -0
  47. package/dist/model/model/Model.js +9 -0
  48. package/dist/model/model/Model.js.map +1 -1
  49. package/package.json +1 -1
@@ -161,87 +161,77 @@ class ConverterI7 {
161
161
  convert(objectMappingConfig, defaultValuesConfig, energyTypesConfig, exportConfig, tempDirPath) {
162
162
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
163
163
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
164
- try {
165
- yield this.createColumnIndex();
166
- yield this.configExportFrames(exportConfig, defaultValuesConfig, tempDirPath);
167
- yield this.convertBetriebsmitteltypenKdrossel();
168
- yield this.convertBetriebsmitteltypenLeitung();
169
- yield this.convertBetriebsmitteltypenTrafo();
170
- yield this.convertBetriebsmitteltypenGenerator();
171
- yield this.convertBetriebsmitteltypenAsynchronmotor();
172
- yield this.convertMultiplikationsfaktoren();
173
- yield this.queryLeitungsAnschlussIDs();
174
- yield this.queryTrafosAnschlussIDs();
175
- yield this.queryHgueAnschlussIDs();
176
- yield this.queryLDroselAnschlussIDs();
177
- yield this.queryErsatzLaengsAnschlussIDs();
178
- yield this.queryLkondensatorAnschlussIDs();
179
- console.log('Convert BD Profiles');
180
- for (const entry of this.exportFramesBoundary.entries()) {
181
- const geoRegionUUID = entry[0];
182
- const frame = entry[1];
183
- const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
184
- if (!geoRegion)
185
- continue;
186
- yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig);
187
- }
188
- console.log('Convert MAS Profiles');
189
- for (const entry of this.exportFrames.entries()) {
190
- const geoRegionUUID = entry[0];
191
- const frame = entry[1];
192
- const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
193
- if (!geoRegion)
194
- continue;
195
- console.log(`Convert MAS profile: ${frame.mas}`);
196
- yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig);
197
- frame.validateCIMModel();
198
- frame.purgeData();
199
- const startTime = perf_hooks_1.performance.now();
200
- frame.openXMLModel();
201
- console.log(`Serialize MAS profile: ${frame.mas}`);
202
- frame.serializeModel(defaultValuesConfig);
203
- yield frame.closeXMLModel();
204
- let endTime = perf_hooks_1.performance.now();
205
- frame.cimModel.purgeData();
206
- console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
207
- }
208
- console.log('Serialize BD Profiles');
209
- for (const entry of this.exportFramesBoundary.entries()) {
210
- const geoRegionUUID = entry[0];
211
- const frame = entry[1];
212
- const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
213
- if (!geoRegion)
214
- continue;
215
- console.log('Transform MAS Profiles');
216
- yield this.transformBoundaryModel(frame, [...this.exportFrames.values()]);
217
- frame.validateCIMModel();
218
- const startTime = perf_hooks_1.performance.now();
219
- frame.openXMLModel();
220
- console.log(`Serialize BD profile: ${frame.mas}`);
221
- frame.serializeModel(defaultValuesConfig);
222
- yield frame.closeXMLModel();
223
- let endTime = perf_hooks_1.performance.now();
224
- console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
225
- }
226
- const zip = new jszip_1.default();
227
- const gridFrames = [...this.exportFrames.values(), ...this.exportFramesBoundary.values()]
228
- .filter((value, index, self) => self.indexOf(value) === index);
229
- for (const frame of gridFrames) {
230
- for (const xmlSerializer of frame.profileXmlSerializers.values()) {
231
- const readStreamEq = fs_1.default.createReadStream(xmlSerializer.filePath);
232
- zip.file(`${xmlSerializer.fileName}`, readStreamEq);
233
- }
234
- }
235
- resolve(yield utils_2.generateNodeStream(zip));
236
- }
237
- catch (e) {
238
- this.logger.error(e);
239
- console.error('ERROR:' + e);
240
- reject({ status: 'error', message: e.toString() });
241
- }
242
- finally {
243
- yield this.dropColumnIndex();
244
- }
164
+ yield this.createColumnIndex();
165
+ yield this.configExportFrames(exportConfig, defaultValuesConfig, tempDirPath);
166
+ yield this.convertBetriebsmitteltypenKdrossel();
167
+ yield this.convertBetriebsmitteltypenLeitung();
168
+ yield this.convertBetriebsmitteltypenTrafo();
169
+ yield this.convertBetriebsmitteltypenGenerator();
170
+ yield this.convertBetriebsmitteltypenAsynchronmotor();
171
+ yield this.convertMultiplikationsfaktoren();
172
+ yield this.queryLeitungsAnschlussIDs();
173
+ yield this.queryTrafosAnschlussIDs();
174
+ yield this.queryHgueAnschlussIDs();
175
+ yield this.queryLDroselAnschlussIDs();
176
+ yield this.queryErsatzLaengsAnschlussIDs();
177
+ yield this.queryLkondensatorAnschlussIDs();
178
+ console.log('Convert BD Profiles');
179
+ for (const entry of this.exportFramesBoundary.entries()) {
180
+ const geoRegionUUID = entry[0];
181
+ const frame = entry[1];
182
+ const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
183
+ if (!geoRegion)
184
+ continue;
185
+ yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig);
186
+ }
187
+ console.log('Convert MAS Profiles');
188
+ for (const entry of this.exportFrames.entries()) {
189
+ const geoRegionUUID = entry[0];
190
+ const frame = entry[1];
191
+ const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
192
+ if (!geoRegion)
193
+ continue;
194
+ console.log(`Convert MAS profile: ${frame.mas}`);
195
+ yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig);
196
+ frame.validateCIMModel();
197
+ frame.purgeData();
198
+ const startTime = perf_hooks_1.performance.now();
199
+ frame.openXMLModel();
200
+ console.log(`Serialize MAS profile: ${frame.mas}`);
201
+ frame.serializeModel(defaultValuesConfig);
202
+ yield frame.closeXMLModel();
203
+ let endTime = perf_hooks_1.performance.now();
204
+ frame.cimModel.purgeData();
205
+ console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
206
+ }
207
+ console.log('Serialize BD Profiles');
208
+ for (const entry of this.exportFramesBoundary.entries()) {
209
+ const geoRegionUUID = entry[0];
210
+ const frame = entry[1];
211
+ const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
212
+ if (!geoRegion)
213
+ continue;
214
+ console.log('Transform MAS Profiles');
215
+ yield this.transformBoundaryModel(frame, [...this.exportFrames.values()]);
216
+ frame.validateCIMModel();
217
+ const startTime = perf_hooks_1.performance.now();
218
+ frame.openXMLModel();
219
+ console.log(`Serialize BD profile: ${frame.mas}`);
220
+ frame.serializeModel(defaultValuesConfig);
221
+ yield frame.closeXMLModel();
222
+ let endTime = perf_hooks_1.performance.now();
223
+ console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
224
+ }
225
+ const zip = new jszip_1.default();
226
+ const gridFrames = [...this.exportFrames.values(), ...this.exportFramesBoundary.values()]
227
+ .filter((value, index, self) => self.indexOf(value) === index);
228
+ for (const frame of gridFrames) {
229
+ for (const xmlSerializer of frame.profileXmlSerializers.values()) {
230
+ const readStreamEq = fs_1.default.createReadStream(xmlSerializer.filePath);
231
+ zip.file(`${xmlSerializer.fileName}`, readStreamEq);
232
+ }
233
+ }
234
+ resolve(yield utils_2.generateNodeStream(zip));
245
235
  }));
246
236
  });
247
237
  }
@@ -439,6 +429,64 @@ class ConverterI7 {
439
429
  startTime = perf_hooks_1.performance.now();
440
430
  yield this.convertNetzvarianten(cimModel, integral7Modell);
441
431
  logExecutionTime(this.logger, startTime, `convertNetzvarianten`);
432
+ for (const key of integral7Modell.i7SchemaID2UUID.keys()) {
433
+ startTime = perf_hooks_1.performance.now();
434
+ yield this.convertSchemaStandorte(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
435
+ logExecutionTime(this.logger, startTime, `convertSchemaStandorte`);
436
+ startTime = perf_hooks_1.performance.now();
437
+ yield this.convertSchemaKnotenSo(cimModel, integral7Modell, knotenSoIDs, key, constants_1.NsgConstants.onlyEingeblendet);
438
+ logExecutionTime(this.logger, startTime, `convertSchemaKnotenSo`);
439
+ startTime = perf_hooks_1.performance.now();
440
+ logExecutionTime(this.logger, startTime, `convertSchemaHgueKnotenSo`);
441
+ startTime = perf_hooks_1.performance.now();
442
+ yield this.convertSchemaSchaltanlage(cimModel, integral7Modell, schaltanlagenIDs, key, constants_1.NsgConstants.onlyEingeblendet);
443
+ logExecutionTime(this.logger, startTime, `convertSchemaSchaltanlage`);
444
+ startTime = perf_hooks_1.performance.now();
445
+ yield this.convertSchemaSchaltanlagenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
446
+ logExecutionTime(this.logger, startTime, `convertSchemaSchaltanlagenAbschnitte`);
447
+ startTime = perf_hooks_1.performance.now();
448
+ yield this.convertSchemaSammelschienenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, key, constants_1.NsgConstants.onlyEingeblendet);
449
+ logExecutionTime(this.logger, startTime, `convertSchemaSammelschienenAbschnitte`);
450
+ startTime = perf_hooks_1.performance.now();
451
+ yield this.convertSchemaSchaltfeldElemente(cimModel, integral7Modell, schaltfeldIDs, key, constants_1.NsgConstants.onlyEingeblendet);
452
+ logExecutionTime(this.logger, startTime, `convertSchemaSchaltfeldElemente`);
453
+ startTime = perf_hooks_1.performance.now();
454
+ yield this.convertSchemaQuerkupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
455
+ logExecutionTime(this.logger, startTime, `convertSchemaQuerkupplungen`);
456
+ startTime = perf_hooks_1.performance.now();
457
+ yield this.convertSchemaLaengskupplungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
458
+ logExecutionTime(this.logger, startTime, `convertSchemaLaengskupplungen`);
459
+ startTime = perf_hooks_1.performance.now();
460
+ yield this.convertSchemaTransformatoren2W(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
461
+ logExecutionTime(this.logger, startTime, `convertSchemaTransformatoren2W`);
462
+ startTime = perf_hooks_1.performance.now();
463
+ yield this.convertSchemaTransformatoren3W(cimModel, integral7Modell, standortIDs, key, constants_1.NsgConstants.onlyEingeblendet);
464
+ logExecutionTime(this.logger, startTime, `convertSchemaTransformatoren3W`);
465
+ startTime = perf_hooks_1.performance.now();
466
+ yield this.convertSchemaQuerzweige(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
467
+ logExecutionTime(this.logger, startTime, `convertSchemaQuerzweige`);
468
+ startTime = perf_hooks_1.performance.now();
469
+ logExecutionTime(this.logger, startTime, `convertSchemaSternpunktSchiene`);
470
+ startTime = perf_hooks_1.performance.now();
471
+ logExecutionTime(this.logger, startTime, `convertSchemaSternpunktKnoten`);
472
+ startTime = perf_hooks_1.performance.now();
473
+ yield this.convertSchemaLeitungen(cimModel, integral7Modell, key, constants_1.NsgConstants.onlyEingeblendet);
474
+ logExecutionTime(this.logger, startTime, `convertSchemaLeitungen`);
475
+ integral7Modell.integralLaengskupplungen.clear();
476
+ integral7Modell.integralHgueLeitungen.clear();
477
+ integral7Modell.i7ID2UUID.clear();
478
+ integral7Modell.i7SchemaID2Type.clear();
479
+ integral7Modell.integralNSGStandorte.clear();
480
+ integral7Modell.integralNSGSchaltanlage.clear();
481
+ integral7Modell.integralNSGSchaltfeld.clear();
482
+ integral7Modell.integralNSGSAAbschnitt.clear();
483
+ integral7Modell.integralNSGSsab.clear();
484
+ integral7Modell.integralNSGStpSchiene.clear();
485
+ integral7Modell.integralNSGStpKnoten.clear();
486
+ integral7Modell.integralNSGTrafos.clear();
487
+ integral7Modell.integralNSGQuerzweig.clear();
488
+ integral7Modell.placedCIMObjectsForDLProfil.clear();
489
+ }
442
490
  });
443
491
  }
444
492
  assignTerminalSequenceNumber(cimModel) {
@@ -698,8 +746,8 @@ class ConverterI7 {
698
746
  if (schaltanlagenabschnittIDs.length <= 0)
699
747
  return;
700
748
  const isEingeblendet = 1;
701
- let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
702
- FROM nsg_nsgschaltfeld
749
+ let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
750
+ FROM nsg_nsgschaltfeld
703
751
  WHERE ((${integral_sql_1.getWhereIDs('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
704
752
  if (onlyEingeblendet) {
705
753
  sqlSelectGroupedMaxSlotSf += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
@@ -707,8 +755,8 @@ class ConverterI7 {
707
755
  sqlSelectGroupedMaxSlotSf += ` GROUP BY nsgsaa`;
708
756
  const resultsMaxSlotsSf = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotSf);
709
757
  const mappedResultsMaxSlotsSf = new Map(resultsMaxSlotsSf.map(value => [value.nsgsaa, value.laenge]));
710
- let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
711
- FROM nsg_nsgkpfeld
758
+ let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
759
+ FROM nsg_nsgkpfeld
712
760
  WHERE ((${integral_sql_1.getWhereIDs('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
713
761
  if (onlyEingeblendet) {
714
762
  sqlSelectGroupedMaxSlotKpF += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
@@ -716,19 +764,19 @@ class ConverterI7 {
716
764
  sqlSelectGroupedMaxSlotKpF += ` GROUP BY nsgsaa`;
717
765
  const resultsMaxSlotsKpF = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotKpF);
718
766
  const mappedResultsMaxSlotsKpF = new Map(resultsMaxSlotsKpF.map(value => [value.nsgsaa, value.laenge]));
719
- const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
720
- nsg_nsgsaab.id,
721
- nsg_nsgsaab.laenge AS laenge,
722
- nsg_nsgsaab.nslots,
723
- nsg_nsgsaab.saabschnitt,
724
- nsg_nsgsaab.nsgsa,
725
- nsg_nsgsaab.angezeigt,
726
- nsg_nsgsaab.eingeblendet,
727
- nsg_nsgsaab.nsglkp,
728
- netz_ssab.pos AS posSSAB,
729
- netz_ssab.id AS idSSAB
730
- FROM netz_ssab
731
- LEFT JOIN nsg_nsgsaabschnitt AS nsg_nsgsaab ON nsg_nsgsaab.saabschnitt = netz_ssab.saabschnitt
767
+ const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
768
+ nsg_nsgsaab.id,
769
+ nsg_nsgsaab.laenge AS laenge,
770
+ nsg_nsgsaab.nslots,
771
+ nsg_nsgsaab.saabschnitt,
772
+ nsg_nsgsaab.nsgsa,
773
+ nsg_nsgsaab.angezeigt,
774
+ nsg_nsgsaab.eingeblendet,
775
+ nsg_nsgsaab.nsglkp,
776
+ netz_ssab.pos AS posSSAB,
777
+ netz_ssab.id AS idSSAB
778
+ FROM netz_ssab
779
+ LEFT JOIN nsg_nsgsaabschnitt AS nsg_nsgsaab ON nsg_nsgsaab.saabschnitt = netz_ssab.saabschnitt
732
780
  WHERE (${integral_sql_1.getWhereIDs('nsg_nsgsaab.saabschnitt', schaltanlagenabschnittIDs).join(' OR ')});`;
733
781
  const queryResults = yield this.mysqlController.execQuery(sqlStatement);
734
782
  queryResults.forEach(value => {
@@ -738,6 +786,9 @@ class ConverterI7 {
738
786
  for (const queryResult of filteredResults) {
739
787
  const nsgSa = integral7.integralNSGSchaltanlage.get(queryResult.nsgsa);
740
788
  const nsgSo = integral7.integralNSGStandorte.get(nsgSa.nsgsoid);
789
+ if (nsgSo === undefined) {
790
+ continue;
791
+ }
741
792
  const leftOffset = queryResult.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
742
793
  const topOffset = queryResult.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
743
794
  const ssabLength = queryResult.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
@@ -788,6 +839,15 @@ class ConverterI7 {
788
839
  const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTFELD, schaltfeldIDs));
789
840
  const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
790
841
  for (const i7Data of filteredResultsNsgSchaltfeld) {
842
+ const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
843
+ const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
844
+ if (nsgSa === undefined) {
845
+ continue;
846
+ }
847
+ const nsgSo = integral7.integralNSGStandorte.get(nsgSa.nsgsoid);
848
+ if (nsgSo === undefined) {
849
+ continue;
850
+ }
791
851
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
792
852
  const nsgSchaltfeldObj = new SchaltfeldNsg_1.SchaltfeldNsgImpl(i7Data);
793
853
  integral7.integralNSGSchaltfeld.set(i7Data.id, nsgSchaltfeldObj);
@@ -862,15 +922,13 @@ class ConverterI7 {
862
922
  [...nodePointMap.entries()].forEach(entry => {
863
923
  uuidPointsMap.set(this.integralID2UUID.get(entry[0]), entry[1]);
864
924
  });
865
- const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
866
- const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
867
925
  nsgSchaltfeldObj.orientation = nsgSa.ausrichtung;
868
926
  if (i7Data.deltaausrichtung === 1) {
869
927
  nsgSchaltfeldObj.orientation = (nsgSchaltfeldObj.orientation + 2) % 4;
870
928
  }
871
929
  uuidPointsMap.forEach((entryDiagramObject, key) => {
872
930
  if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
873
- entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
931
+ entryDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSaNsgSf(nsgSa.ausrichtung, schaltfeldDeltaausrichtung);
874
932
  }
875
933
  });
876
934
  util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap, true);
@@ -905,7 +963,8 @@ class ConverterI7 {
905
963
  const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
906
964
  uuidPointsMap.forEach((entryDiagramObject, key) => {
907
965
  if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
908
- entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
966
+ entryDiagramObject.rotation += (util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung) - 90 + 720);
967
+ entryDiagramObject.rotation = entryDiagramObject.rotation % 360;
909
968
  }
910
969
  });
911
970
  util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap, true);
@@ -915,7 +974,8 @@ class ConverterI7 {
915
974
  }
916
975
  convertSchemaLaengskupplungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
917
976
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
918
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && integral7.laengskupplungIDs.length > 0) {
977
+ const ssabIDs = [...integral7.integralNSGSAAbschnitt.keys()];
978
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && integral7.laengskupplungIDs.length > 0 && ssabIDs.length > 0) {
919
979
  const i7relevantTables = [
920
980
  integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
921
981
  integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
@@ -924,7 +984,7 @@ class ConverterI7 {
924
984
  ];
925
985
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
926
986
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.laengskupplungIDs));
927
- const resultsNsgLKupplung = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, [...integral7.integralNSGSAAbschnitt.keys()]));
987
+ const resultsNsgLKupplung = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, ssabIDs));
928
988
  const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
929
989
  for (const i7Data of filteredResultsNsgLKupplung) {
930
990
  integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
@@ -941,7 +1001,12 @@ class ConverterI7 {
941
1001
  const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
942
1002
  uuidPointsMap.forEach((entryDiagramObject, key) => {
943
1003
  if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
944
- entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
1004
+ if (entryDiagramObject.rotation === undefined) {
1005
+ entryDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
1006
+ }
1007
+ else {
1008
+ entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
1009
+ }
945
1010
  }
946
1011
  });
947
1012
  util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap);
@@ -951,69 +1016,74 @@ class ConverterI7 {
951
1016
  }
952
1017
  convertSchemaTransformatoren2W(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
953
1018
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
954
- const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
955
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.length > 0) {
956
- const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO2W, nsgStandortIDs));
957
- let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
958
- for (const i7Data of filteredResults) {
959
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO2W);
960
- const uuidPointsMap = new Map();
961
- const trafo2wNsg = new Trafo2wNsg_1.Trafo2wNsgImpl(i7Data);
962
- integral7.integralNSGTrafos.set(i7Data.trafo2w, trafo2wNsg);
963
- const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH / 2, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
964
- trafoDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(trafo2wNsg.ausrichtung);
965
- const tempPoints = [];
966
- tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
967
- const trafoUUID = this.integralID2UUID.get(trafo2wNsg.trafo2wid);
968
- const transformer = cimModel.getPowerTransformer(trafoUUID);
969
- const terminal1 = transformer.powerTransformerEnds[0].terminal;
970
- const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(0, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
971
- tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
972
- const terminal2 = transformer.powerTransformerEnds[1].terminal;
973
- const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
974
- tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
975
- for (const p of tempPoints) {
976
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, 360 - (90 * trafo2wNsg.ausrichtung) % 360);
977
- p.xPosition += trafo2wNsg.xrel;
978
- p.yPosition += trafo2wNsg.yrel;
979
- p.xPosition += (trafo2wNsg.ausrichtung === 1 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
980
- p.xPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
981
- p.yPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
982
- p.yPosition += (trafo2wNsg.ausrichtung === 3 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
983
- }
984
- uuidPointsMap.set(this.integralID2UUID.get(trafo2wNsg.trafo2wid), trafoDiagramObject);
985
- if (terminal1 !== undefined) {
986
- uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
987
- }
988
- if (terminal2 !== undefined) {
989
- uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
990
- }
991
- util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo2wNsg.nsgsoid, uuidPointsMap);
992
- let t1CNdiagramObject, t1DiagramObject, t2CNdiagramObject, t2DiagramObject;
993
- if (terminal1 !== undefined) {
994
- t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.connectivityNode.getUUID());
995
- t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
996
- }
997
- if (terminal2 !== undefined) {
998
- t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.connectivityNode.getUUID());
999
- t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1000
- }
1001
- if (trafo2wNsg.ausrichtung === 2 || trafo2wNsg.ausrichtung === 3) {
1002
- if (terminal2 !== undefined)
1003
- utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1004
- if (terminal1 !== undefined)
1005
- utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1006
- }
1007
- else {
1008
- if (terminal1 !== undefined)
1009
- utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1010
- if (terminal2 !== undefined)
1011
- utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1019
+ try {
1020
+ const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1021
+ 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));
1023
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1024
+ for (const i7Data of filteredResults) {
1025
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO2W);
1026
+ const uuidPointsMap = new Map();
1027
+ const trafo2wNsg = new Trafo2wNsg_1.Trafo2wNsgImpl(i7Data);
1028
+ integral7.integralNSGTrafos.set(i7Data.trafo2w, trafo2wNsg);
1029
+ const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH / 2, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1030
+ trafoDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(trafo2wNsg.ausrichtung);
1031
+ const tempPoints = [];
1032
+ tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
1033
+ const trafoUUID = this.integralID2UUID.get(trafo2wNsg.trafo2wid);
1034
+ const transformer = cimModel.getPowerTransformer(trafoUUID);
1035
+ const terminal1 = transformer.powerTransformerEnds[0].terminal;
1036
+ const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(0, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1037
+ tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
1038
+ const terminal2 = transformer.powerTransformerEnds[1].terminal;
1039
+ const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
1040
+ tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
1041
+ for (const p of tempPoints) {
1042
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, 360 - (90 * trafo2wNsg.ausrichtung) % 360);
1043
+ p.xPosition += trafo2wNsg.xrel;
1044
+ p.yPosition += trafo2wNsg.yrel;
1045
+ p.xPosition += (trafo2wNsg.ausrichtung === 1 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
1046
+ p.xPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
1047
+ p.yPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
1048
+ p.yPosition += (trafo2wNsg.ausrichtung === 3 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
1049
+ }
1050
+ uuidPointsMap.set(this.integralID2UUID.get(trafo2wNsg.trafo2wid), trafoDiagramObject);
1051
+ if (terminal1 !== undefined) {
1052
+ uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
1053
+ }
1054
+ if (terminal2 !== undefined) {
1055
+ uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
1056
+ }
1057
+ util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo2wNsg.nsgsoid, uuidPointsMap);
1058
+ let t1CNdiagramObject, t1DiagramObject, t2CNdiagramObject, t2DiagramObject;
1059
+ if (terminal1 !== undefined) {
1060
+ t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.connectivityNode.getUUID());
1061
+ t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
1062
+ }
1063
+ if (terminal2 !== undefined) {
1064
+ t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.connectivityNode.getUUID());
1065
+ t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1066
+ }
1067
+ if (trafo2wNsg.ausrichtung === 2 || trafo2wNsg.ausrichtung === 3) {
1068
+ if (terminal2 !== undefined && t1CNdiagramObject !== undefined)
1069
+ utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1070
+ if (terminal1 !== undefined && t2CNdiagramObject !== undefined)
1071
+ utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1072
+ }
1073
+ else {
1074
+ if (terminal1 !== undefined && t1CNdiagramObject !== undefined)
1075
+ utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1076
+ if (terminal2 !== undefined && t2CNdiagramObject !== undefined)
1077
+ utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1078
+ }
1012
1079
  }
1013
1080
  }
1081
+ else {
1082
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
1083
+ }
1014
1084
  }
1015
- else {
1016
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
1085
+ catch (err) {
1086
+ console.log(err);
1017
1087
  }
1018
1088
  });
1019
1089
  }
@@ -1035,6 +1105,8 @@ class ConverterI7 {
1035
1105
  const tempPoints = [];
1036
1106
  tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
1037
1107
  const trafo3wNetz = netzTrafos.get(trafo3wNsg.trafo3wid);
1108
+ if (trafo3wNetz === undefined)
1109
+ continue;
1038
1110
  const pteW1 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w1));
1039
1111
  const pteW2 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w2));
1040
1112
  const pteW3 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w3));
@@ -1105,7 +1177,7 @@ class ConverterI7 {
1105
1177
  });
1106
1178
  }
1107
1179
  convertSchemaLeitungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1108
- var _a, _b, _c;
1180
+ var _a, _b;
1109
1181
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1110
1182
  const leitungIDs = [...integral7.integralLeitungen.keys(), ...integral7.integralHgueLeitungen.keys()];
1111
1183
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT)
@@ -1113,198 +1185,203 @@ class ConverterI7 {
1113
1185
  const leitungResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNG, leitungIDs));
1114
1186
  let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
1115
1187
  const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
1116
- const leitungspktResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, nsgLeitungIDs));
1117
- let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
1118
- for (const i7Data of filteredLeitungResults) {
1119
- integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LEITUNG);
1120
- let netzLeitung, aKnotenCimObjectUUID, eKnotenCimObjectUUID;
1121
- const isACLine = integral7.integralLeitungen.get(i7Data.leitung);
1122
- if (isACLine) {
1123
- netzLeitung = integral7.integralLeitungen.get(i7Data.leitung);
1124
- aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.aknotenid);
1125
- eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.eknotenid);
1126
- }
1127
- else {
1128
- netzLeitung = integral7.integralHgueLeitungen.get(i7Data.leitung);
1129
- aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.anetzobjekt);
1130
- eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.enetzobjekt);
1131
- }
1132
- const anfSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussanf);
1133
- const endSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussend);
1134
- let tempDiagramObjectPoints = [];
1135
- let tempAnfDiagramObject = undefined;
1136
- let tempEndDiagramObject = undefined;
1137
- if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1138
- const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussanf);
1139
- tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1140
- }
1141
- else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1142
- tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1143
- }
1144
- else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1145
- tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussanf));
1146
- }
1147
- else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1148
- tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1149
- }
1150
- else {
1151
- }
1152
- if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1153
- const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussend);
1154
- tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1155
- }
1156
- else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1157
- tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1158
- }
1159
- else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1160
- tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussend));
1161
- }
1162
- else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1163
- tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1164
- }
1165
- else {
1166
- }
1167
- if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1168
- continue;
1169
- tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition));
1170
- const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
1171
- for (let a = 0; a < relevantLeitungspkts.length; a++) {
1172
- const nsgLeitungspkt = relevantLeitungspkts[a];
1173
- if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
1174
- const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition);
1175
- const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, integral7, i7Data.anschlussanf, nsgLeitungspkt);
1176
- tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1177
- tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1178
- tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1188
+ if (nsgLeitungIDs.length > 0) {
1189
+ const leitungspktResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, nsgLeitungIDs));
1190
+ let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
1191
+ for (const i7Data of filteredLeitungResults) {
1192
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LEITUNG);
1193
+ let netzLeitung, aKnotenCimObjectUUID, eKnotenCimObjectUUID;
1194
+ const isACLine = integral7.integralLeitungen.get(i7Data.leitung);
1195
+ if (isACLine) {
1196
+ netzLeitung = integral7.integralLeitungen.get(i7Data.leitung);
1197
+ aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.aknotenid);
1198
+ eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.eknotenid);
1199
+ }
1200
+ else {
1201
+ netzLeitung = integral7.integralHgueLeitungen.get(i7Data.leitung);
1202
+ aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.anetzobjekt);
1203
+ eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.enetzobjekt);
1204
+ }
1205
+ const anfSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussanf);
1206
+ const endSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussend);
1207
+ let tempDiagramObjectPoints = [];
1208
+ let tempAnfDiagramObject = undefined;
1209
+ let tempEndDiagramObject = undefined;
1210
+ if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1211
+ const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussanf);
1212
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1213
+ }
1214
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1215
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1179
1216
  }
1180
- else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
1181
- const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition);
1182
- const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, integral7, i7Data.anschlussend, nsgLeitungspkt);
1183
- tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1184
- tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1185
- tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1217
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1218
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussanf));
1219
+ }
1220
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1221
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1186
1222
  }
1187
1223
  else {
1188
- tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(nsgLeitungspkt.xrel, nsgLeitungspkt.yrel));
1224
+ this.logger.info(`nsg-line with a unknown/unhandled start reference-point (i7-NetzLeitungID ${netzLeitung.id}, i7-aKnotenID: ${netzLeitung.aknotenid})`);
1225
+ continue;
1189
1226
  }
1190
- }
1191
- tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition));
1192
- const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1193
- const diagram = cimModel.getDiagram(diagramUUID);
1194
- if (isACLine) {
1195
- const netzLeitungCimObj = cimModel.getLine(this.integralID2UUID.get(netzLeitung.id));
1196
- const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1197
- const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1198
- let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1199
- if (cableAvailable && overheadAvailable) {
1200
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
1227
+ if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1228
+ const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussend);
1229
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1201
1230
  }
1202
- else if (cableAvailable) {
1203
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
1231
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1232
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1204
1233
  }
1205
- else if (overheadAvailable) {
1206
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
1234
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1235
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussend));
1207
1236
  }
1208
- const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, [netzLeitung.id]));
1209
- leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1210
- const acSegmentPercentages = [];
1211
- let completeLength = 0;
1212
- for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1213
- completeLength += leitungStromkreisabschnitt[a].laenge;
1237
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1238
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1214
1239
  }
1215
- let crtLength = 0;
1216
- for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1217
- crtLength += leitungStromkreisabschnitt[a].laenge;
1218
- acSegmentPercentages.push(crtLength / completeLength);
1240
+ else {
1241
+ this.logger.info(`nsg-line with a unknown/unhandled end reference-point (i7-NetzLeitungID ${netzLeitung.id}, i7-eKnotenID: ${netzLeitung.eknotenid})`);
1242
+ continue;
1219
1243
  }
1220
- let completePixelLength = 0;
1221
- for (let a = 1; a < tempDiagramObjectPoints.length; ++a) {
1222
- const tempX = tempDiagramObjectPoints[a].xPosition - tempDiagramObjectPoints[a - 1].xPosition;
1223
- const tempY = tempDiagramObjectPoints[a].yPosition - tempDiagramObjectPoints[a - 1].yPosition;
1224
- completePixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1244
+ if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1245
+ continue;
1246
+ tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition));
1247
+ const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
1248
+ for (let a = 0; a < relevantLeitungspkts.length; a++) {
1249
+ const nsgLeitungspkt = relevantLeitungspkts[a];
1250
+ if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
1251
+ const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition);
1252
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, integral7, i7Data.anschlussanf, nsgLeitungspkt);
1253
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1254
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1255
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1256
+ }
1257
+ else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
1258
+ const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition);
1259
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, integral7, i7Data.anschlussend, nsgLeitungspkt);
1260
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1261
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1262
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1263
+ }
1264
+ else {
1265
+ tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(nsgLeitungspkt.xrel, nsgLeitungspkt.yrel));
1266
+ }
1225
1267
  }
1226
- let lastB = 0;
1227
- let b = 1;
1228
- let crtPixelLength = 0;
1229
- for (let a = 0; a < acSegmentPercentages.length; ++a) {
1230
- let crtPixelPercentageSize = 0;
1231
- let lastPixelPercentageSize;
1232
- do {
1233
- const tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1234
- const tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1235
- crtPixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1236
- lastPixelPercentageSize = crtPixelPercentageSize;
1237
- crtPixelPercentageSize = (crtPixelLength / completePixelLength);
1238
- b++;
1239
- } while (crtPixelPercentageSize < acSegmentPercentages[a] && b < tempDiagramObjectPoints.length);
1240
- const epsilon = 0.00001;
1241
- if ((crtPixelLength / completePixelLength) <= acSegmentPercentages[a] + epsilon) {
1242
- const conductorCimObj = netzLeitungCimObj.equipments[a];
1243
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_a = conductorCimObj.shortName) !== null && _a !== void 0 ? _a : ''));
1244
- diagramObject.setIdentifiedObject(conductorCimObj);
1245
- diagramObject.setDiagram(diagram);
1246
- diagram.addDiagramObject(diagramObject);
1247
- let i = 1;
1248
- for (let idx = lastB; idx < b; ++idx) {
1249
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1250
- diagramObjectPoint.mrid = utils_1.generateUUID();
1251
- diagramObjectPoint.diagramObject = diagramObject;
1252
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1253
- ++i;
1254
- }
1268
+ tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition));
1269
+ const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1270
+ const diagram = cimModel.getDiagram(diagramUUID);
1271
+ if (isACLine) {
1272
+ const netzLeitungCimObj = cimModel.getLine(this.integralID2UUID.get(netzLeitung.id));
1273
+ const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1274
+ const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1275
+ let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1276
+ if (cableAvailable && overheadAvailable) {
1277
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
1255
1278
  }
1256
- else if ((crtPixelLength / completePixelLength) > acSegmentPercentages[a]) {
1257
- let decreased = false;
1258
- if (b === tempDiagramObjectPoints.length) {
1259
- b--;
1260
- decreased = true;
1261
- }
1262
- let tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1263
- let tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1264
- const percentageOfSegment = crtPixelPercentageSize - lastPixelPercentageSize;
1265
- const tempRestX = tempX * (1 - percentageOfSegment);
1266
- const tempRestY = tempY * (1 - percentageOfSegment);
1267
- tempX = tempX * percentageOfSegment;
1268
- tempY = tempY * percentageOfSegment;
1269
- const newDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[b - 1].xPosition + tempX, tempDiagramObjectPoints[b - 1].yPosition + tempY);
1270
- crtPixelLength -= Math.sqrt((tempRestX * tempRestX) + (tempRestY * tempRestY));
1271
- tempDiagramObjectPoints.splice(b, 0, newDiagramObjectPoint);
1272
- const conductorCimObj = netzLeitungCimObj.equipments[a];
1273
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_b = conductorCimObj.shortName) !== null && _b !== void 0 ? _b : ''));
1274
- diagramObject.setDiagram(diagram);
1275
- diagramObject.setIdentifiedObject(conductorCimObj);
1276
- diagram.addDiagramObject(diagramObject);
1277
- let i = 1;
1278
- if (decreased)
1279
+ else if (cableAvailable) {
1280
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
1281
+ }
1282
+ else if (overheadAvailable) {
1283
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
1284
+ }
1285
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, [netzLeitung.id]));
1286
+ leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1287
+ const acSegmentPercentages = [];
1288
+ let completeLength = 0;
1289
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1290
+ completeLength += leitungStromkreisabschnitt[a].laenge;
1291
+ }
1292
+ let crtLength = 0;
1293
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1294
+ crtLength += leitungStromkreisabschnitt[a].laenge;
1295
+ acSegmentPercentages.push(crtLength / completeLength);
1296
+ }
1297
+ let completePixelLength = 0;
1298
+ for (let a = 1; a < tempDiagramObjectPoints.length; ++a) {
1299
+ const tempX = tempDiagramObjectPoints[a].xPosition - tempDiagramObjectPoints[a - 1].xPosition;
1300
+ const tempY = tempDiagramObjectPoints[a].yPosition - tempDiagramObjectPoints[a - 1].yPosition;
1301
+ completePixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1302
+ }
1303
+ let lastB = 0;
1304
+ let b = 1;
1305
+ let crtPixelLength = 0;
1306
+ for (let eqIdx = 0; eqIdx < acSegmentPercentages.length; ++eqIdx) {
1307
+ let crtPixelPercentageSize = 0;
1308
+ let lastPixelPercentageSize;
1309
+ const epsilon = 0.00001;
1310
+ do {
1311
+ const tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1312
+ const tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1313
+ crtPixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1314
+ lastPixelPercentageSize = crtPixelPercentageSize;
1315
+ crtPixelPercentageSize = (crtPixelLength / completePixelLength);
1279
1316
  b++;
1280
- for (let idx = lastB; idx < b; ++idx) {
1281
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1282
- diagramObjectPoint.mrid = utils_1.generateUUID();
1283
- diagramObjectPoint.diagramObject = diagramObject;
1284
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1285
- ++i;
1317
+ } while (crtPixelPercentageSize < acSegmentPercentages[eqIdx] + epsilon && b < tempDiagramObjectPoints.length);
1318
+ if ((crtPixelLength / completePixelLength) <= acSegmentPercentages[eqIdx] + epsilon) {
1319
+ const conductorCimObj = netzLeitungCimObj.equipments[eqIdx];
1320
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObject');
1321
+ diagramObject.setIdentifiedObject(conductorCimObj);
1322
+ diagramObject.setDiagram(diagram);
1323
+ diagram.addDiagramObject(diagramObject);
1324
+ let i = 1;
1325
+ for (let idx = lastB; idx < b; ++idx) {
1326
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1327
+ diagramObjectPoint.mrid = utils_1.generateUUID();
1328
+ diagramObjectPoint.diagramObject = diagramObject;
1329
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1330
+ ++i;
1331
+ }
1332
+ }
1333
+ else if ((crtPixelLength / completePixelLength) > acSegmentPercentages[eqIdx]) {
1334
+ let decreased = false;
1335
+ if (b === tempDiagramObjectPoints.length) {
1336
+ b--;
1337
+ decreased = true;
1338
+ }
1339
+ let tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1340
+ let tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1341
+ const percentageOfSegment = crtPixelPercentageSize - lastPixelPercentageSize;
1342
+ const tempRestX = tempX * (1 - percentageOfSegment);
1343
+ const tempRestY = tempY * (1 - percentageOfSegment);
1344
+ tempX = tempX * percentageOfSegment;
1345
+ tempY = tempY * percentageOfSegment;
1346
+ const newDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[b - 1].xPosition + tempX, tempDiagramObjectPoints[b - 1].yPosition + tempY);
1347
+ tempDiagramObjectPoints.splice(b, 0, newDiagramObjectPoint);
1348
+ const conductorCimObj = netzLeitungCimObj.equipments[eqIdx];
1349
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_a = conductorCimObj.shortName) !== null && _a !== void 0 ? _a : ''));
1350
+ diagramObject.setDiagram(diagram);
1351
+ diagramObject.setIdentifiedObject(conductorCimObj);
1352
+ diagram.addDiagramObject(diagramObject);
1353
+ let i = 1;
1354
+ if (decreased)
1355
+ b++;
1356
+ for (let idx = lastB; idx < b; ++idx) {
1357
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1358
+ diagramObjectPoint.mrid = utils_1.generateUUID();
1359
+ diagramObjectPoint.diagramObject = diagramObject;
1360
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1361
+ ++i;
1362
+ }
1286
1363
  }
1364
+ lastB = b - 1;
1287
1365
  }
1288
- lastB = b - 1;
1289
- }
1290
- }
1291
- else {
1292
- const netzLeitungCimObj = cimModel.getObject(this.integralID2UUID.get(netzLeitung.id));
1293
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID());
1294
- diagramObject.setDiagram(diagram);
1295
- diagram.addDiagramObject(diagramObject);
1296
- diagramObject.setIdentifiedObjectUUID(this.integralID2UUID.get(netzLeitung.id));
1297
- if (netzLeitungCimObj !== undefined) {
1298
- diagramObject.name = 'DiagramObj ' + ((_c = netzLeitungCimObj.shortName) !== null && _c !== void 0 ? _c : '');
1299
1366
  }
1300
1367
  else {
1301
- diagramObject.name = 'DiagramObj HGUE-Leitung';
1302
- }
1303
- for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
1304
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
1305
- diagramObjectPoint.mrid = utils_1.generateUUID();
1306
- diagramObjectPoint.diagramObject = diagramObject;
1307
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1368
+ const netzLeitungCimObj = cimModel.getObject(this.integralID2UUID.get(netzLeitung.id));
1369
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID());
1370
+ diagramObject.setDiagram(diagram);
1371
+ diagram.addDiagramObject(diagramObject);
1372
+ diagramObject.setIdentifiedObjectUUID(this.integralID2UUID.get(netzLeitung.id));
1373
+ if (netzLeitungCimObj !== undefined) {
1374
+ diagramObject.name = 'DiagramObj ' + ((_b = netzLeitungCimObj.shortName) !== null && _b !== void 0 ? _b : '');
1375
+ }
1376
+ else {
1377
+ diagramObject.name = 'DiagramObj HGUE-Leitung';
1378
+ }
1379
+ for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
1380
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
1381
+ diagramObjectPoint.mrid = utils_1.generateUUID();
1382
+ diagramObjectPoint.diagramObject = diagramObject;
1383
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1384
+ }
1308
1385
  }
1309
1386
  }
1310
1387
  }
@@ -1496,8 +1573,8 @@ class ConverterI7 {
1496
1573
  return;
1497
1574
  const knoten1pelemIDs = filteredResults.map(elem => elem.knoten);
1498
1575
  let sqlStatement;
1499
- sqlStatement = `SELECT *
1500
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.STERNPUNKT_KNOTEN]}
1576
+ sqlStatement = `SELECT *
1577
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.STERNPUNKT_KNOTEN]}
1501
1578
  WHERE ${integral_sql_1.getWhereIDs('id', knoten1pelemIDs).join(' OR ')};`;
1502
1579
  const knoten1pelemResults = yield this.mysqlController.execQuery(sqlStatement);
1503
1580
  const knoten1pelemMap = new Map();
@@ -1506,12 +1583,12 @@ class ConverterI7 {
1506
1583
  arr.push(elem.id);
1507
1584
  knoten1pelemMap.set(elem.netzobjekt, arr);
1508
1585
  }
1509
- sqlStatement = `SELECT id AS 'netzobjektID', trafo3w AS 'trafoID', 'netz_trafo3w' AS 'trafoType'
1510
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}
1511
- WHERE id IN (${knoten1pelemResults.map(elem => elem.netzobjekt).join(',')})
1512
- UNION ALL
1513
- SELECT id AS 'netzobjektID', id AS 'trafoID', 'netz_trafo2w' AS 'trafoType'
1514
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}
1586
+ sqlStatement = `SELECT id AS 'netzobjektID', trafo3w AS 'trafoID', 'netz_trafo3w' AS 'trafoType'
1587
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}
1588
+ WHERE id IN (${knoten1pelemResults.map(elem => elem.netzobjekt).join(',')})
1589
+ UNION ALL
1590
+ SELECT id AS 'netzobjektID', id AS 'trafoID', 'netz_trafo2w' AS 'trafoType'
1591
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}
1515
1592
  WHERE id IN (${knoten1pelemResults.map(elem => elem.netzobjekt).join(',')});`;
1516
1593
  const trafoIDTypeResults = yield this.mysqlController.execQuery(sqlStatement);
1517
1594
  const trafoIDTypeMap = new Map();
@@ -4570,44 +4647,44 @@ class ConverterI7 {
4570
4647
  let tempKnotenId = i7Data.spgreg_anschluss === 0 ? i7Data.aknoten :
4571
4648
  (i7Data.spgreg_anschluss === 1 ? i7Data.eknoten : undefined);
4572
4649
  if (tempKnotenId !== undefined) {
4573
- let queryResult = yield this.mysqlController.execQuery(`SELECT id
4574
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]}
4650
+ let queryResult = yield this.mysqlController.execQuery(`SELECT id
4651
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]}
4575
4652
  WHERE id = ${tempKnotenId};`);
4576
4653
  if (queryResult.length === 1) {
4577
4654
  const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
4578
4655
  const tabName_NetzSchaltfeld = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHALTFELD];
4579
4656
  const tabName_NetzKnotenSf = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF];
4580
- const sqlStatement = `SELECT ${tabName_NetzSSAB}.id,
4581
- ${tabName_NetzSSAB}.umin,
4582
- ${tabName_NetzSSAB}.umax,
4583
- ${tabName_NetzSSAB}.usoll
4584
- FROM ${tabName_NetzSSAB}
4585
- LEFT JOIN ${tabName_NetzSchaltfeld}
4586
- ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
4587
- LEFT JOIN ${tabName_NetzKnotenSf}
4588
- ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
4657
+ const sqlStatement = `SELECT ${tabName_NetzSSAB}.id,
4658
+ ${tabName_NetzSSAB}.umin,
4659
+ ${tabName_NetzSSAB}.umax,
4660
+ ${tabName_NetzSSAB}.usoll
4661
+ FROM ${tabName_NetzSSAB}
4662
+ LEFT JOIN ${tabName_NetzSchaltfeld}
4663
+ ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
4664
+ LEFT JOIN ${tabName_NetzKnotenSf}
4665
+ ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
4589
4666
  WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
4590
4667
  minMaxSollResult = yield this.mysqlController.execQuery(sqlStatement);
4591
4668
  }
4592
4669
  else {
4593
- queryResult = yield this.mysqlController.execQuery(`SELECT id
4594
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]}
4670
+ queryResult = yield this.mysqlController.execQuery(`SELECT id
4671
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]}
4595
4672
  WHERE id = ${tempKnotenId};`);
4596
4673
  if (queryResult.length === 1) {
4597
4674
  const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
4598
4675
  const tabName_NetzSchlaufe = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHLAUFE];
4599
4676
  const tabName_NetzKnotenZw = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW];
4600
- minMaxSollResult = yield this.mysqlController.execQuery(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
4601
- FROM ${tabName_NetzKnotenZw}
4602
- LEFT JOIN ${tabName_NetzSchlaufe} ON
4603
- ${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
4604
- LEFT JOIN ${tabName_NetzSo} ON
4605
- ${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
4677
+ minMaxSollResult = yield this.mysqlController.execQuery(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
4678
+ FROM ${tabName_NetzKnotenZw}
4679
+ LEFT JOIN ${tabName_NetzSchlaufe} ON
4680
+ ${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
4681
+ LEFT JOIN ${tabName_NetzSo} ON
4682
+ ${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
4606
4683
  WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
4607
4684
  }
4608
4685
  else {
4609
- minMaxSollResult = yield this.mysqlController.execQuery(`SELECT id, umin, umax, usoll
4610
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]}
4686
+ minMaxSollResult = yield this.mysqlController.execQuery(`SELECT id, umin, umax, usoll
4687
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]}
4611
4688
  where id = ${tempKnotenId};`);
4612
4689
  }
4613
4690
  }
@@ -4615,14 +4692,14 @@ class ConverterI7 {
4615
4692
  else if (spgKnotenId !== undefined) {
4616
4693
  const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
4617
4694
  const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
4618
- const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
4619
- FROM (
4620
- SELECT id, umin, umax, usoll
4621
- FROM ${tabName_NetzSo}
4622
- WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
4623
- UNION
4624
- SELECT id, umin, umax, usoll
4625
- FROM ${tabName_NetzSSAB}
4695
+ const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
4696
+ FROM (
4697
+ SELECT id, umin, umax, usoll
4698
+ FROM ${tabName_NetzSo}
4699
+ WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
4700
+ UNION
4701
+ SELECT id, umin, umax, usoll
4702
+ FROM ${tabName_NetzSSAB}
4626
4703
  WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
4627
4704
  minMaxSollResult = yield this.mysqlController.execQuery(query);
4628
4705
  }
@@ -5144,7 +5221,7 @@ class ConverterI7 {
5144
5221
  }
5145
5222
  queryLeitungsAnschlussIDs() {
5146
5223
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
5147
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5224
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5148
5225
  FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
5149
5226
  for (const result of results) {
5150
5227
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
@@ -5154,13 +5231,13 @@ class ConverterI7 {
5154
5231
  }
5155
5232
  queryTrafosAnschlussIDs() {
5156
5233
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
5157
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5234
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5158
5235
  FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
5159
5236
  for (const result of results) {
5160
5237
  this.trafo2wAnschlussKnotenIDs.add(result[`aknoten`]);
5161
5238
  this.trafo2wAnschlussKnotenIDs.add(result[`eknoten`]);
5162
5239
  }
5163
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5240
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5164
5241
  FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
5165
5242
  for (const result of results) {
5166
5243
  this.trafo3wAnschlussKnotenIDs.add(result[`aknoten`]);
@@ -5170,7 +5247,7 @@ class ConverterI7 {
5170
5247
  }
5171
5248
  queryHgueAnschlussIDs() {
5172
5249
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
5173
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT anetzobjekt, enetzobjekt
5250
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT anetzobjekt, enetzobjekt
5174
5251
  FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
5175
5252
  for (const result of results) {
5176
5253
  this.hgueAnschlussKnotenIDs.add(result[`anetzobjekt`]);
@@ -5180,7 +5257,7 @@ class ConverterI7 {
5180
5257
  }
5181
5258
  queryLDroselAnschlussIDs() {
5182
5259
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
5183
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5260
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5184
5261
  FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
5185
5262
  for (const result of results) {
5186
5263
  this.lDrosselAnschlussKnotenIDs.add(result[`aknoten`]);
@@ -5190,7 +5267,7 @@ class ConverterI7 {
5190
5267
  }
5191
5268
  queryErsatzLaengsAnschlussIDs() {
5192
5269
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
5193
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5270
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5194
5271
  FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
5195
5272
  for (const result of results) {
5196
5273
  this.ersatzZweigAnschlussKnotenIDs.add(result[`aknoten`]);
@@ -5200,7 +5277,7 @@ class ConverterI7 {
5200
5277
  }
5201
5278
  queryLkondensatorAnschlussIDs() {
5202
5279
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
5203
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5280
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5204
5281
  FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
5205
5282
  for (const result of results) {
5206
5283
  this.lKondensatorAnschlussKnotenIDs.add(result[`aknoten`]);
@@ -5305,15 +5382,15 @@ class ConverterI7 {
5305
5382
  connectivityNode.toEndNameTso = tsoName;
5306
5383
  }
5307
5384
  else {
5308
- this.logger.error(`Grenzknoten ${connectivityNode.name} mit der UUID ${connectivityNode.mrid} ist bereits belegt:
5309
- fromEndName ${connectivityNode.fromEndName}
5310
- fromEndIsoCode ${connectivityNode.fromEndIsoCode}
5311
- fromEndNameTso ${connectivityNode.fromEndNameTso}
5312
- toEndName ${connectivityNode.toEndName}
5313
- toEndIsoCode ${connectivityNode.toEndIsoCode}
5314
- toEndNameTso ${connectivityNode.toEndNameTso}
5315
- name ${name}
5316
- isoCode ${isoCode}
5385
+ this.logger.error(`Grenzknoten ${connectivityNode.name} mit der UUID ${connectivityNode.mrid} ist bereits belegt:
5386
+ fromEndName ${connectivityNode.fromEndName}
5387
+ fromEndIsoCode ${connectivityNode.fromEndIsoCode}
5388
+ fromEndNameTso ${connectivityNode.fromEndNameTso}
5389
+ toEndName ${connectivityNode.toEndName}
5390
+ toEndIsoCode ${connectivityNode.toEndIsoCode}
5391
+ toEndNameTso ${connectivityNode.toEndNameTso}
5392
+ name ${name}
5393
+ isoCode ${isoCode}
5317
5394
  tsoName ${tsoName}`);
5318
5395
  }
5319
5396
  }