@enervance/insight-cim-model 0.0.269-beta3 → 0.0.269-beta5

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 (36) hide show
  1. package/dist/converter/integral7/converter.integral7.d.ts +3 -3
  2. package/dist/converter/integral7/converter.integral7.js +131 -11
  3. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  4. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +10 -1
  5. package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
  6. package/dist/converter/integral7/model/integral/Netzbereich.d.ts +6 -1
  7. package/dist/converter/integral7/model/integral/Netzbereich.js +7 -4
  8. package/dist/converter/integral7/model/integral/Netzbereich.js.map +1 -1
  9. package/dist/converter/integral7/model/integral/NetzbereichAussen.d.ts +7 -0
  10. package/dist/converter/integral7/model/integral/NetzbereichAussen.js +12 -0
  11. package/dist/converter/integral7/model/integral/NetzbereichAussen.js.map +1 -0
  12. package/dist/converter/integral7/model/integral/NetzbereichInnen.d.ts +7 -0
  13. package/dist/converter/integral7/model/integral/NetzbereichInnen.js +12 -0
  14. package/dist/converter/integral7/model/integral/NetzbereichInnen.js.map +1 -0
  15. package/dist/converter/integral7/sql/integral.sql.js +6 -1
  16. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  17. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.d.ts +6 -0
  18. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.js +16 -2
  19. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.js.map +1 -1
  20. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.d.ts +8 -0
  21. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.js +13 -0
  22. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.js.map +1 -0
  23. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.d.ts +8 -0
  24. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.js +13 -0
  25. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.js.map +1 -0
  26. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.d.ts +9 -0
  27. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.js +9 -0
  28. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.js.map +1 -0
  29. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.d.ts +4 -1
  30. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.js +59 -3
  31. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.js.map +1 -1
  32. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.d.ts +18 -2
  33. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.d.ts +2 -0
  34. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.js +97 -0
  35. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.js.map +1 -1
  36. package/package.json +1 -1
@@ -5,7 +5,7 @@ import { PowerTransformerEnd } from '../../model/wires/PowerTransformerEnd.js';
5
5
  import { MySQLConfig, MysqlController } from '../../util/database/mysql-controller.js';
6
6
  import { INTEGRALModelContainer } from '../../model-container/model/INTEGRALModelContainer.js';
7
7
  import { ModelContainer } from '../../model-container/model/ModelContainer.js';
8
- import { ConverterStatus, IExportConfig, Integral7Model, ITargetVoltage } from './interface-i7/data-structures-i7.js';
8
+ import { ConverterStatus, ConvertWithNetzbereichResponse, IExportConfig, Integral7Model, ITargetVoltage } from './interface-i7/data-structures-i7.js';
9
9
  import { DefaultValuesConfigInterface } from './interface-i7/default-values-config.interface.js';
10
10
  import { I7ExportFrame } from './interface-i7/export-frame-i7.js';
11
11
  import { ObjectMappingConfigInterface } from './interface-i7/object-mapping-config.interface.js';
@@ -13,7 +13,7 @@ import { AsynchronmotorTyp, Einspeisung, Ersatzquerzweig, GeneratorTyp, KDrossel
13
13
  import { ConfigurableDLConvertOptions, Executor } from './dl-convert/executor.js';
14
14
  import { IEnergySourceTypeMapping } from './interface-i7/energy-source.type.mapping.js';
15
15
  import { IUuidConfig } from './interface-i7/uuid-config.interface.js';
16
- import { TpBdConverter } from './tp-bd-profile/tp-bd-converter.js';
16
+ import { NetEquivalentOptions } from './tp-bd-profile/model/convert-net-equivalent.model.js';
17
17
  export declare class ConverterIntegral7 {
18
18
  #private;
19
19
  logger: ILogger;
@@ -63,8 +63,8 @@ export declare class ConverterIntegral7 {
63
63
  defaultValuesConfig: DefaultValuesConfigInterface;
64
64
  set configurableDLConvertOptions(arg: ConfigurableDLConvertOptions);
65
65
  get configurableDLConvertOptions(): ConfigurableDLConvertOptions;
66
- tpBdConverter: TpBdConverter;
67
66
  constructor();
67
+ convertWithNetzbereich(objectMappingConfig: ObjectMappingConfigInterface, defaultValuesConfig: DefaultValuesConfigInterface, energyTypesConfig: any, exportConfig: IExportConfig[], energySourceTypeMappingConfig: IEnergySourceTypeMapping[], configUuid: Array<IUuidConfig>, tempDirPath: string, netEquivalentOptions: NetEquivalentOptions): Promise<ConvertWithNetzbereichResponse>;
68
68
  /**
69
69
  * Konvertiert das Netz aus der MySQL Datenbank
70
70
  * @param defaultValuesConfig Standardwerte zur Verwendung bei nicht gepflegten Angaben
@@ -157,6 +157,10 @@ class ConverterIntegral7 {
157
157
  return tslib_1.__classPrivateFieldGet(this, _ConverterIntegral7_configurableDLConvertOptions, "f");
158
158
  }
159
159
  /* ---------- ---------- ---------- */
160
+ /* ---------- ---------- ---------- */
161
+ // TP-BD-Converter related properties
162
+ // tpBdConverter: TpBdConverter;
163
+ /* ---------- ---------- ---------- */
160
164
  constructor() {
161
165
  /** Exportnetze gemäß Konfiguration */
162
166
  this.exportFrames = new Map();
@@ -193,6 +197,133 @@ class ConverterIntegral7 {
193
197
  this.blocktransformatoren = [];
194
198
  _ConverterIntegral7_configurableDLConvertOptions.set(this, {});
195
199
  }
200
+ convertWithNetzbereich(objectMappingConfig, defaultValuesConfig, energyTypesConfig, exportConfig, energySourceTypeMappingConfig, configUuid, tempDirPath, netEquivalentOptions) {
201
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
202
+ this.objectMappingConfig = objectMappingConfig;
203
+ this.defaultValuesConfig = defaultValuesConfig;
204
+ this.configUuid = configUuid;
205
+ try {
206
+ yield this.createColumnIndex();
207
+ yield this.configExportFrames(exportConfig, defaultValuesConfig, tempDirPath);
208
+ /** Typinformationen abfragen */
209
+ yield this.convertBetriebsmitteltypenKdrossel();
210
+ yield this.convertBetriebsmitteltypenLeitung();
211
+ yield this.convertBetriebsmitteltypenTrafo();
212
+ yield this.convertBetriebsmitteltypenGenerator();
213
+ yield this.convertBetriebsmitteltypenAsynchronmotor();
214
+ yield this.convertMultiplikationsfaktoren();
215
+ yield this.queryLeitungsAnschlussIDs();
216
+ yield this.queryTrafosAnschlussIDs();
217
+ yield this.queryHgueAnschlussIDs();
218
+ yield this.queryLDroselAnschlussIDs();
219
+ yield this.queryErsatzLaengsAnschlussIDs();
220
+ yield this.queryLkondensatorAnschlussIDs();
221
+ const tpBdConverter = new tp_bd_converter_1.TpBdConverter(this.mysqlController, this.logger, configUuid);
222
+ tpBdConverter.initDatabaseMetaData(this.availableTableNames);
223
+ tpBdConverter.setupLookupMaps(this.integralID2UUID);
224
+ tpBdConverter.setExportTempDirPath(tempDirPath);
225
+ /** BD Profile */
226
+ this.logger.debug('Convert BD Profiles');
227
+ console.log('Convert BD Profiles');
228
+ let boundaryEqUUId = undefined;
229
+ for (const entry of this.exportFramesBoundary.entries()) {
230
+ const geoRegionUUID = entry[0];
231
+ const frame = entry[1];
232
+ boundaryEqUUId = frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD);
233
+ const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
234
+ if (!geoRegion)
235
+ continue;
236
+ yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
237
+ }
238
+ this.logger.debug('Convert MAS Profiles');
239
+ console.log('Convert MAS Profiles');
240
+ for (const entry of this.exportFrames.entries()) {
241
+ const geoRegionUUID = entry[0];
242
+ const frame = entry[1];
243
+ const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
244
+ if (!geoRegion)
245
+ continue;
246
+ this.logger.debug(`Convert MAS profile: ${frame.mas}`);
247
+ console.log(`Convert MAS profile: ${frame.mas}`);
248
+ yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
249
+ if (boundaryEqUUId) {
250
+ frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_EQ, boundaryEqUUId);
251
+ }
252
+ frame.validateCIMModel();
253
+ yield tpBdConverter.convertNetzbereich(frame.cimModel, netEquivalentOptions.netzbereich);
254
+ frame.purgeData();
255
+ const startTime = perf_hooks.performance.now();
256
+ frame.openXMLModel();
257
+ this.logger.debug(`Serialize MAS profile: ${frame.mas}`);
258
+ console.log(`Serialize MAS profile: ${frame.mas}`);
259
+ frame.serializeModel(defaultValuesConfig);
260
+ yield frame.closeXMLModel();
261
+ let endTime = perf_hooks.performance.now();
262
+ frame.cimModel.purgeData();
263
+ console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
264
+ }
265
+ this.logger.debug('Serialize BD Profiles');
266
+ for (const entry of this.exportFramesBoundary.entries()) {
267
+ const geoRegionUUID = entry[0];
268
+ const frame = entry[1];
269
+ const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
270
+ if (!geoRegion)
271
+ continue;
272
+ /** Boundary Profil 'umformen'*/
273
+ console.log('Transform MAS Profiles');
274
+ yield this.transformBoundaryModel(frame, [...this.exportFrames.values()]);
275
+ frame.validateCIMModel();
276
+ const startTime = perf_hooks.performance.now();
277
+ frame.openXMLModel();
278
+ console.log(`Serialize BD profile: ${frame.mas}`);
279
+ frame.serializeModel(defaultValuesConfig);
280
+ yield frame.closeXMLModel();
281
+ let endTime = perf_hooks.performance.now();
282
+ console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
283
+ }
284
+ this.logger.debug('Serialize TP-BD Profiles');
285
+ console.log('Serialize TP-BD Profiles');
286
+ yield tpBdConverter.serialize(defaultValuesConfig);
287
+ this.logger.debug('Serialize Default Profile');
288
+ this.exportFrameDefault.openXMLModel();
289
+ this.exportFrameDefault.serializeModel(defaultValuesConfig);
290
+ yield this.exportFrameDefault.closeXMLModel();
291
+ /** .zip-Datei erstellen */
292
+ const zip = new JSZip();
293
+ const gridFrames = [...this.exportFrames.values(), ...this.exportFramesBoundary.values(), this.exportFrameDefault]
294
+ .filter((value, index, self) => self.indexOf(value) === index);
295
+ for (const frame of gridFrames) {
296
+ for (const xmlSerializer of frame.profileXmlSerializers.values()) {
297
+ const readStreamEq = fs.createReadStream(xmlSerializer.filePath);
298
+ zip.file(`${xmlSerializer.fileName}`, readStreamEq);
299
+ }
300
+ }
301
+ return {
302
+ status: 'successful',
303
+ message: 'ok',
304
+ data: {
305
+ boundarySets: tpBdConverter.exportTopologyBoundaries,
306
+ zipFileStream: zip.generateNodeStream({
307
+ type: 'nodebuffer',
308
+ streamFiles: true,
309
+ compression: 'DEFLATE',
310
+ compressionOptions: {
311
+ level: 5
312
+ }
313
+ })
314
+ }
315
+ };
316
+ }
317
+ catch (e) {
318
+ this.logger.error(e);
319
+ console.error('ERROR:' + e);
320
+ return { status: 'error', message: e.toString() };
321
+ }
322
+ finally {
323
+ yield this.dropColumnIndex();
324
+ }
325
+ });
326
+ }
196
327
  /**
197
328
  * Konvertiert das Netz aus der MySQL Datenbank
198
329
  * @param defaultValuesConfig Standardwerte zur Verwendung bei nicht gepflegten Angaben
@@ -220,10 +351,6 @@ class ConverterIntegral7 {
220
351
  yield this.queryLDroselAnschlussIDs();
221
352
  yield this.queryErsatzLaengsAnschlussIDs();
222
353
  yield this.queryLkondensatorAnschlussIDs();
223
- this.tpBdConverter = new tp_bd_converter_1.TpBdConverter(this.mysqlController, this.logger, configUuid);
224
- this.tpBdConverter.initDatabaseMetaData(this.availableTableNames);
225
- this.tpBdConverter.setupLookupMaps(this.integralID2UUID);
226
- this.tpBdConverter.setExportTempDirPath(tempDirPath);
227
354
  /** BD Profile */
228
355
  this.logger.debug('Convert BD Profiles');
229
356
  console.log('Convert BD Profiles');
@@ -283,9 +410,6 @@ class ConverterIntegral7 {
283
410
  let endTime = perf_hooks.performance.now();
284
411
  console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
285
412
  }
286
- this.logger.debug('Serialize TP-BD Profiles');
287
- console.log('Serialize TP-BD Profiles');
288
- yield this.tpBdConverter.serialize(defaultValuesConfig);
289
413
  this.logger.debug('Serialize Default Profile');
290
414
  this.exportFrameDefault.openXMLModel();
291
415
  this.exportFrameDefault.serializeModel(defaultValuesConfig);
@@ -569,10 +693,6 @@ class ConverterIntegral7 {
569
693
  if (schaltfeldIDs.length)
570
694
  yield this.createTopologicalNodes(cimModel);
571
695
  logExecutionTime(this.logger, startTime, `createTopologicalNodes()`);
572
- /** TP-BD Profile */
573
- if (!frame.boundary) {
574
- yield this.tpBdConverter.convert(frame.cimModel);
575
- }
576
696
  /** DL Profile */
577
697
  if (!frame.boundary) {
578
698
  this.executor = new executor_1.Executor(this.mysqlController, this.configUuid);