@enervance/insight-cim-model 0.0.140 → 0.0.141
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.
- package/dist/converter/integral7/converter.integral7.d.ts +2 -2
- package/dist/converter/integral7/converter.integral7.js +111 -63
- package/dist/converter/integral7/converter.integral7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/data-manager.d.ts +33 -0
- package/dist/converter/integral7/dl-convert/data-manager.js +97 -0
- package/dist/converter/integral7/dl-convert/data-manager.js.map +1 -0
- package/dist/converter/integral7/dl-convert/db/{data.types.d.ts → data-types.d.ts} +7 -0
- package/dist/converter/integral7/dl-convert/db/{data.types.js → data-types.js} +1 -1
- package/dist/converter/integral7/dl-convert/db/{data.types.js.map → data-types.js.map} +1 -1
- package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +133 -4
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.d.ts +56 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js +2039 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js.map +1 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.d.ts +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js +9 -6
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.types.d.ts +3 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7.types.js +3 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7.types.js.map +1 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.d.ts +21 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js +49 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js.map +1 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.d.ts +119 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js +84 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js.map +1 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.d.ts +40 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js +229 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js.map +1 -0
- package/dist/converter/integral7/dl-convert/executor.d.ts +35 -0
- package/dist/converter/integral7/dl-convert/executor.js +263 -0
- package/dist/converter/integral7/dl-convert/executor.js.map +1 -0
- package/dist/converter/integral7/model/dl-utils/constants.js +1 -1
- package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +8 -4
- package/dist/converter/integral7/model/dl-utils/util-functions.js +134 -6
- package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
- package/dist/converter/integral7/model/integral/Point.d.ts +3 -0
- package/dist/converter/integral7/model/integral/Point.js +33 -0
- package/dist/converter/integral7/model/integral/Point.js.map +1 -1
- package/dist/model/core/ConnectivityNode.js +2 -0
- package/dist/model/core/ConnectivityNode.js.map +1 -1
- package/dist/model/core/Terminal.d.ts +3 -0
- package/dist/model/core/Terminal.js +18 -0
- package/dist/model/core/Terminal.js.map +1 -1
- package/dist/model/dc/DCLine.js +17 -17
- package/dist/model/dc/DCLineSegment.js +25 -25
- package/dist/model/extensions/enervance/core/EVTerminal.js +20 -15
- package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
- package/dist/model/loadmodel/ConformLoad.js +33 -33
- package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
- package/dist/model/loadmodel/LoadArea.js +21 -21
- package/dist/model/loadmodel/SubLoadArea.js +22 -22
- package/dist/model/wires/BusbarSection.d.ts +4 -1
- package/dist/model/wires/BusbarSection.js +21 -1
- package/dist/model/wires/BusbarSection.js.map +1 -1
- package/dist/model/wires/PowerTransformer.js +124 -33
- package/dist/model/wires/PowerTransformer.js.map +1 -1
- package/dist/util/database/mysql-controller.d.ts +6 -0
- package/dist/util/database/mysql-controller.js +36 -1
- package/dist/util/database/mysql-controller.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IdentifiedObject } from '../../../../model/core/IdentifiedObject.js';
|
|
2
|
+
type CimModelGraphType = {
|
|
3
|
+
[uuid: string]: any;
|
|
4
|
+
};
|
|
5
|
+
export declare class CimModelGraph {
|
|
6
|
+
graph: CimModelGraphType;
|
|
7
|
+
constructor();
|
|
8
|
+
addIdentifiedObject(obj: IdentifiedObject): void;
|
|
9
|
+
addUnspecifiedObject(uuid: string, obj: any): void;
|
|
10
|
+
findObjectByUUID<T>(uuid: string): T;
|
|
11
|
+
}
|
|
12
|
+
export declare class DbObjectKey2CimModelUUIDGraph<T> {
|
|
13
|
+
private readonly graphDbKey2CimModelUUID;
|
|
14
|
+
private readonly graphCimModelUUID2DbKey;
|
|
15
|
+
private keyDefinitions;
|
|
16
|
+
constructor(keyDefinitions: T);
|
|
17
|
+
addRelation<C extends keyof T & string>(typeOfKey: C, dbKey: T[C], cimObjectId: string): void;
|
|
18
|
+
getCimObjectIdFromDbKey<C extends keyof T & string, R = any>(typeOfKey: C, dbKey: T[C]): string | null;
|
|
19
|
+
getDbKeyDbFromCimObjectId(uuid: string): string;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DbObjectKey2CimModelUUIDGraph = exports.CimModelGraph = void 0;
|
|
4
|
+
var ABC;
|
|
5
|
+
(function (ABC) {
|
|
6
|
+
ABC["A"] = "A";
|
|
7
|
+
})(ABC || (ABC = {}));
|
|
8
|
+
class CimModelGraph {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.graph = {};
|
|
11
|
+
}
|
|
12
|
+
addIdentifiedObject(obj) {
|
|
13
|
+
this.graph[obj.mrid] = obj;
|
|
14
|
+
}
|
|
15
|
+
addUnspecifiedObject(uuid, obj) {
|
|
16
|
+
this.graph[uuid] = obj;
|
|
17
|
+
}
|
|
18
|
+
findObjectByUUID(uuid) {
|
|
19
|
+
if (uuid === undefined || !(uuid in this.graph))
|
|
20
|
+
return undefined;
|
|
21
|
+
return this.graph[uuid];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.CimModelGraph = CimModelGraph;
|
|
25
|
+
class DbObjectKey2CimModelUUIDGraph {
|
|
26
|
+
constructor(keyDefinitions) {
|
|
27
|
+
this.graphDbKey2CimModelUUID = {};
|
|
28
|
+
this.graphCimModelUUID2DbKey = {};
|
|
29
|
+
this.graphDbKey2CimModelUUID = {};
|
|
30
|
+
this.graphCimModelUUID2DbKey = {};
|
|
31
|
+
this.keyDefinitions = keyDefinitions;
|
|
32
|
+
}
|
|
33
|
+
addRelation(typeOfKey, dbKey, cimObjectId) {
|
|
34
|
+
var _a;
|
|
35
|
+
const dbKeyAsJson = JSON.stringify(dbKey);
|
|
36
|
+
this.graphDbKey2CimModelUUID[typeOfKey] = (_a = this.graphDbKey2CimModelUUID[typeOfKey]) !== null && _a !== void 0 ? _a : {};
|
|
37
|
+
this.graphDbKey2CimModelUUID[typeOfKey][dbKeyAsJson] = cimObjectId;
|
|
38
|
+
this.graphCimModelUUID2DbKey[cimObjectId] = dbKeyAsJson;
|
|
39
|
+
}
|
|
40
|
+
getCimObjectIdFromDbKey(typeOfKey, dbKey) {
|
|
41
|
+
const keyAsJson = JSON.stringify(dbKey);
|
|
42
|
+
return typeOfKey in this.graphDbKey2CimModelUUID ? this.graphDbKey2CimModelUUID[typeOfKey][keyAsJson] : null;
|
|
43
|
+
}
|
|
44
|
+
getDbKeyDbFromCimObjectId(uuid) {
|
|
45
|
+
return this.graphCimModelUUID2DbKey[uuid];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.DbObjectKey2CimModelUUIDGraph = DbObjectKey2CimModelUUIDGraph;
|
|
49
|
+
//# sourceMappingURL=cim-model-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cim-model-graph.js","sourceRoot":"","sources":["../../../../../src/converter/integral7/dl-convert/dl-graphs/cim-model-graph.ts"],"names":[],"mappings":";;;AAMA,IAAK,GAEJ;AAFD,WAAK,GAAG;IACJ,cAAS,CAAA;AACb,CAAC,EAFI,GAAG,KAAH,GAAG,QAEP;AAED,MAAa,aAAa;IAIxB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,mBAAmB,CAAC,GAAqB;QACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,oBAAoB,CAAC,IAAY,EAAE,GAAQ;QACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,gBAAgB,CAAI,IAAY;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAClE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AApBD,sCAoBC;AAYD,MAAa,6BAA6B;IAMxC,YAAY,cAAiB;QAJZ,4BAAuB,GAAyC,EAAE,CAAC;QACnE,4BAAuB,GAAsC,EAAE,CAAC;QAI/E,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,WAAW,CAA6B,SAAY,EAAE,KAAW,EAAE,WAAmB;;QACpF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,uBAAuB,CAAC,SAAmB,CAAC,GAAG,MAAA,IAAI,CAAC,uBAAuB,CAAC,SAAmB,CAAC,mCAAI,EAAE,CAAC;QAE5G,IAAI,CAAC,uBAAuB,CAAC,SAAmB,CAAC,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;QAC7E,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IAC1D,CAAC;IAED,uBAAuB,CAAsC,SAAY,EAAE,KAAW;QACpF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzH,CAAC;IAED,yBAAyB,CAAC,IAAY;QACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF;AA5BD,sEA4BC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { IdOnlyKey, VariantenNrIdKey } from '../db/data-types.js';
|
|
2
|
+
import { NetzBelastung, NetzFreitleitungabschnitt, NetzGenerator, NetzKabelabschnitt, NetzKnotenkf, NetzKnotenzw, NetzKpFeld, NetzLeistungsschalter, NetzLeitung, NetzLKupplung, NetzNetzeinspeisung, NetzSaabschnitt, NetzSchlaufe, NetzSestarr3p, NetzSSAB, NetzTrafo2W, NetzTrafo3W, NetzTrenner3p, NetzTrennerfi3p, Netzvariante, NsgKnotenSo, NsgKpFeld, NsgLeitung, NsgLKupplung, NsgLtgpunkt, NsgQuerzweig, NsgSaabschnitt, NsgSchaltanlage, NsgSchaltfeld, NsgStandort, NsgTrafo2W, NsgTrafo3W } from '../db/database.interface.types.js';
|
|
3
|
+
export type I7TableNameKeys = typeof i7TableNames;
|
|
4
|
+
export declare const i7SchemaKeyNames: {
|
|
5
|
+
readonly VariantenNrIdKey: "VariantenNrIdKey";
|
|
6
|
+
readonly IdOnlyKey: "IdOnlyKey";
|
|
7
|
+
};
|
|
8
|
+
export declare const i7SchemaKeyDefinitions: {
|
|
9
|
+
readonly VariantenNrIdKey: VariantenNrIdKey;
|
|
10
|
+
readonly IdOnlyKey: IdOnlyKey;
|
|
11
|
+
};
|
|
12
|
+
export declare const i7TableNames: {
|
|
13
|
+
readonly allg_netzvarianten: "allg_netzvarianten";
|
|
14
|
+
readonly netz_belastung: "netz_belastung";
|
|
15
|
+
readonly netz_generator: "netz_generator";
|
|
16
|
+
readonly netz_netzeinspeisung: "netz_netzeinspeisung";
|
|
17
|
+
readonly netz_schlaufe: "netz_schlaufe";
|
|
18
|
+
readonly netz_knotenzw: "netz_knotenzw";
|
|
19
|
+
readonly netz_kpfeld: "netz_kpfeld";
|
|
20
|
+
readonly netz_leitung: "netz_leitung";
|
|
21
|
+
readonly netz_leistungsschalter: "netz_leistungsschalter";
|
|
22
|
+
readonly netz_lkupplung: "netz_lkupplung";
|
|
23
|
+
readonly netz_saabschnitt: "netz_saabschnitt";
|
|
24
|
+
readonly netz_sestarr3p: "netz_sestarr3p";
|
|
25
|
+
readonly netz_ssab: "netz_ssab";
|
|
26
|
+
readonly netz_standort: "netz_standort";
|
|
27
|
+
readonly netz_trafo2w: "netz_trafo2w";
|
|
28
|
+
readonly netz_trafo3w: "netz_trafo3w";
|
|
29
|
+
readonly netz_trenner3p: "netz_trenner3p";
|
|
30
|
+
readonly netz_trennerfi3p: "netz_trennerfi3p";
|
|
31
|
+
readonly netz_knotenkf: "netz_knotenkf";
|
|
32
|
+
readonly nsg_nsgstandort: "nsg_nsgstandort";
|
|
33
|
+
readonly nsg_nsgschaltanlage: "nsg_nsgschaltanlage";
|
|
34
|
+
readonly nsg_nsgsaabschnitt: "nsg_nsgsaabschnitt";
|
|
35
|
+
readonly nsg_nsgknotenso: "nsg_nsgknotenso";
|
|
36
|
+
readonly nsg_nsgschaltfeld: "nsg_nsgschaltfeld";
|
|
37
|
+
readonly nsg_nsgkpfeld: "nsg_nsgkpfeld";
|
|
38
|
+
readonly nsg_nsglkupplung: "nsg_nsglkupplung";
|
|
39
|
+
readonly nsg_nsgtrafo2w: "nsg_nsgtrafo2w";
|
|
40
|
+
readonly nsg_nsgtrafo3w: "nsg_nsgtrafo3w";
|
|
41
|
+
readonly nsg_nsgleitung: "nsg_nsgleitung";
|
|
42
|
+
readonly nsg_nsgltgpunkt: "nsg_nsgltgpunkt";
|
|
43
|
+
readonly netz_freileitungabschnitt: "netz_freileitungabschnitt";
|
|
44
|
+
readonly netz_kabelabschnitt: "netz_kabelabschnitt";
|
|
45
|
+
readonly nsg_nsgquerzweig: "nsg_nsgquerzweig";
|
|
46
|
+
readonly '*': "*";
|
|
47
|
+
};
|
|
48
|
+
export type I7TableSchemas = {
|
|
49
|
+
'allg_netzvarianten': Netzvariante;
|
|
50
|
+
'netz_belastung': NetzBelastung;
|
|
51
|
+
'netz_generator': NetzGenerator;
|
|
52
|
+
'netz_netzeinspeisung': NetzNetzeinspeisung;
|
|
53
|
+
'netz_schlaufe': NetzSchlaufe;
|
|
54
|
+
'netz_knotenzw': NetzKnotenzw;
|
|
55
|
+
'netz_kpfeld': NetzKpFeld;
|
|
56
|
+
'netz_leitung': NetzLeitung;
|
|
57
|
+
'netz_leistungsschalter': NetzLeistungsschalter;
|
|
58
|
+
'netz_lkupplung': NetzLKupplung;
|
|
59
|
+
'netz_saabschnitt': NetzSaabschnitt;
|
|
60
|
+
'netz_sestarr3p': NetzSestarr3p;
|
|
61
|
+
'netz_ssab': NetzSSAB;
|
|
62
|
+
'netz_standort': undefined;
|
|
63
|
+
'netz_trafo2w': NetzTrafo2W;
|
|
64
|
+
'netz_trafo3w': NetzTrafo3W;
|
|
65
|
+
'netz_trenner3p': NetzTrenner3p;
|
|
66
|
+
'netz_trennerfi3p': NetzTrennerfi3p;
|
|
67
|
+
'netz_knotenkf': NetzKnotenkf;
|
|
68
|
+
'nsg_nsgstandort': NsgStandort;
|
|
69
|
+
'nsg_nsgschaltanlage': NsgSchaltanlage;
|
|
70
|
+
'nsg_nsgsaabschnitt': NsgSaabschnitt;
|
|
71
|
+
'nsg_nsgknotenso': NsgKnotenSo;
|
|
72
|
+
'nsg_nsgschaltfeld': NsgSchaltfeld;
|
|
73
|
+
'nsg_nsgkpfeld': NsgKpFeld;
|
|
74
|
+
'nsg_nsglkupplung': NsgLKupplung;
|
|
75
|
+
'nsg_nsgtrafo2w': NsgTrafo2W;
|
|
76
|
+
'nsg_nsgtrafo3w': NsgTrafo3W;
|
|
77
|
+
'nsg_nsgleitung': NsgLeitung;
|
|
78
|
+
'nsg_nsgltgpunkt': NsgLtgpunkt;
|
|
79
|
+
'netz_freileitungabschnitt': NetzFreitleitungabschnitt;
|
|
80
|
+
'netz_kabelabschnitt': NetzKabelabschnitt;
|
|
81
|
+
'nsg_nsgquerzweig': NsgQuerzweig;
|
|
82
|
+
'*': any;
|
|
83
|
+
};
|
|
84
|
+
export declare const i7TableNamesToPrimaryKeys: {
|
|
85
|
+
readonly allg_netzvarianten: "IdOnlyKey";
|
|
86
|
+
readonly netz_standort: "IdOnlyKey";
|
|
87
|
+
readonly netz_ssab: "IdOnlyKey";
|
|
88
|
+
readonly netz_kpfeld: "IdOnlyKey";
|
|
89
|
+
readonly netz_lkupplung: "IdOnlyKey";
|
|
90
|
+
readonly netz_schlaufe: "IdOnlyKey";
|
|
91
|
+
readonly netz_knotenzw: "IdOnlyKey";
|
|
92
|
+
readonly netz_leitung: "IdOnlyKey";
|
|
93
|
+
readonly netz_belastung: "IdOnlyKey";
|
|
94
|
+
readonly netz_generator: "IdOnlyKey";
|
|
95
|
+
readonly netz_netzeinspeisung: "IdOnlyKey";
|
|
96
|
+
readonly netz_leistungsschalter: "IdOnlyKey";
|
|
97
|
+
readonly netz_trenner3p: "IdOnlyKey";
|
|
98
|
+
readonly netz_trennerfi3p: "IdOnlyKey";
|
|
99
|
+
readonly netz_saabschnitt: "IdOnlyKey";
|
|
100
|
+
readonly netz_sestarr3p: "IdOnlyKey";
|
|
101
|
+
readonly netz_knotenkf: "IdOnlyKey";
|
|
102
|
+
readonly netz_trafo2w: "IdOnlyKey";
|
|
103
|
+
readonly netz_trafo3w: "IdOnlyKey";
|
|
104
|
+
readonly nsg_nsgstandort: "VariantenNrIdKey";
|
|
105
|
+
readonly nsg_nsgschaltanlage: "VariantenNrIdKey";
|
|
106
|
+
readonly nsg_nsgsaabschnitt: "VariantenNrIdKey";
|
|
107
|
+
readonly nsg_nsgknotenso: "VariantenNrIdKey";
|
|
108
|
+
readonly nsg_nsgschaltfeld: "VariantenNrIdKey";
|
|
109
|
+
readonly nsg_nsgkpfeld: "VariantenNrIdKey";
|
|
110
|
+
readonly nsg_nsglkupplung: "VariantenNrIdKey";
|
|
111
|
+
readonly nsg_nsgtrafo2w: "VariantenNrIdKey";
|
|
112
|
+
readonly nsg_nsgtrafo3w: "VariantenNrIdKey";
|
|
113
|
+
readonly nsg_nsgleitung: "VariantenNrIdKey";
|
|
114
|
+
readonly nsg_nsgltgpunkt: "VariantenNrIdKey";
|
|
115
|
+
readonly netz_freileitungabschnitt: "IdOnlyKey";
|
|
116
|
+
readonly netz_kabelabschnitt: "IdOnlyKey";
|
|
117
|
+
readonly nsg_nsgquerzweig: "VariantenNrIdKey";
|
|
118
|
+
readonly '*': "IdOnlyKey";
|
|
119
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.i7TableNamesToPrimaryKeys = exports.i7TableNames = exports.i7SchemaKeyDefinitions = exports.i7SchemaKeyNames = void 0;
|
|
4
|
+
exports.i7SchemaKeyNames = {
|
|
5
|
+
VariantenNrIdKey: 'VariantenNrIdKey',
|
|
6
|
+
IdOnlyKey: 'IdOnlyKey'
|
|
7
|
+
};
|
|
8
|
+
exports.i7SchemaKeyDefinitions = {
|
|
9
|
+
VariantenNrIdKey: { variantennr: undefined, id: undefined },
|
|
10
|
+
IdOnlyKey: { id: undefined }
|
|
11
|
+
};
|
|
12
|
+
exports.i7TableNames = {
|
|
13
|
+
'allg_netzvarianten': 'allg_netzvarianten',
|
|
14
|
+
'netz_belastung': 'netz_belastung',
|
|
15
|
+
'netz_generator': 'netz_generator',
|
|
16
|
+
'netz_netzeinspeisung': 'netz_netzeinspeisung',
|
|
17
|
+
'netz_schlaufe': 'netz_schlaufe',
|
|
18
|
+
'netz_knotenzw': 'netz_knotenzw',
|
|
19
|
+
'netz_kpfeld': 'netz_kpfeld',
|
|
20
|
+
'netz_leitung': 'netz_leitung',
|
|
21
|
+
'netz_leistungsschalter': 'netz_leistungsschalter',
|
|
22
|
+
'netz_lkupplung': 'netz_lkupplung',
|
|
23
|
+
'netz_saabschnitt': 'netz_saabschnitt',
|
|
24
|
+
'netz_sestarr3p': 'netz_sestarr3p',
|
|
25
|
+
'netz_ssab': 'netz_ssab',
|
|
26
|
+
'netz_standort': 'netz_standort',
|
|
27
|
+
'netz_trafo2w': 'netz_trafo2w',
|
|
28
|
+
'netz_trafo3w': 'netz_trafo3w',
|
|
29
|
+
'netz_trenner3p': 'netz_trenner3p',
|
|
30
|
+
'netz_trennerfi3p': 'netz_trennerfi3p',
|
|
31
|
+
'netz_knotenkf': 'netz_knotenkf',
|
|
32
|
+
'nsg_nsgstandort': 'nsg_nsgstandort',
|
|
33
|
+
'nsg_nsgschaltanlage': 'nsg_nsgschaltanlage',
|
|
34
|
+
'nsg_nsgsaabschnitt': 'nsg_nsgsaabschnitt',
|
|
35
|
+
'nsg_nsgknotenso': 'nsg_nsgknotenso',
|
|
36
|
+
'nsg_nsgschaltfeld': 'nsg_nsgschaltfeld',
|
|
37
|
+
'nsg_nsgkpfeld': 'nsg_nsgkpfeld',
|
|
38
|
+
'nsg_nsglkupplung': 'nsg_nsglkupplung',
|
|
39
|
+
'nsg_nsgtrafo2w': 'nsg_nsgtrafo2w',
|
|
40
|
+
'nsg_nsgtrafo3w': 'nsg_nsgtrafo3w',
|
|
41
|
+
'nsg_nsgleitung': 'nsg_nsgleitung',
|
|
42
|
+
'nsg_nsgltgpunkt': 'nsg_nsgltgpunkt',
|
|
43
|
+
'netz_freileitungabschnitt': 'netz_freileitungabschnitt',
|
|
44
|
+
'netz_kabelabschnitt': 'netz_kabelabschnitt',
|
|
45
|
+
'nsg_nsgquerzweig': 'nsg_nsgquerzweig',
|
|
46
|
+
'*': '*'
|
|
47
|
+
};
|
|
48
|
+
exports.i7TableNamesToPrimaryKeys = {
|
|
49
|
+
'allg_netzvarianten': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
50
|
+
'netz_standort': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
51
|
+
'netz_ssab': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
52
|
+
'netz_kpfeld': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
53
|
+
'netz_lkupplung': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
54
|
+
'netz_schlaufe': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
55
|
+
'netz_knotenzw': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
56
|
+
'netz_leitung': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
57
|
+
'netz_belastung': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
58
|
+
'netz_generator': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
59
|
+
'netz_netzeinspeisung': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
60
|
+
'netz_leistungsschalter': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
61
|
+
'netz_trenner3p': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
62
|
+
'netz_trennerfi3p': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
63
|
+
'netz_saabschnitt': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
64
|
+
'netz_sestarr3p': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
65
|
+
'netz_knotenkf': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
66
|
+
'netz_trafo2w': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
67
|
+
'netz_trafo3w': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
68
|
+
'nsg_nsgstandort': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
69
|
+
'nsg_nsgschaltanlage': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
70
|
+
'nsg_nsgsaabschnitt': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
71
|
+
'nsg_nsgknotenso': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
72
|
+
'nsg_nsgschaltfeld': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
73
|
+
'nsg_nsgkpfeld': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
74
|
+
'nsg_nsglkupplung': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
75
|
+
'nsg_nsgtrafo2w': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
76
|
+
'nsg_nsgtrafo3w': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
77
|
+
'nsg_nsgleitung': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
78
|
+
'nsg_nsgltgpunkt': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
79
|
+
'netz_freileitungabschnitt': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
80
|
+
'netz_kabelabschnitt': exports.i7SchemaKeyNames.IdOnlyKey,
|
|
81
|
+
'nsg_nsgquerzweig': exports.i7SchemaKeyNames.VariantenNrIdKey,
|
|
82
|
+
'*': exports.i7SchemaKeyNames.IdOnlyKey
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=convert-graph-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-graph-keys.js","sourceRoot":"","sources":["../../../../../src/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { MysqlController } from '../../../../util/database/mysql-controller.js';
|
|
2
|
+
export type DbObjectGraphType<TableNames, KeyTypeNames extends Record<string, any>> = {
|
|
3
|
+
[TableName in TableNames & string]?: {
|
|
4
|
+
[KeyTypeName in keyof KeyTypeNames]?: {
|
|
5
|
+
[keyAsJson: string]: any;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
type FindByAttributesOptions<Object> = {
|
|
10
|
+
[Property in keyof Object]?: ({
|
|
11
|
+
'in': Array<Object[Property]>;
|
|
12
|
+
} | {
|
|
13
|
+
'eq': Object[Property];
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
export declare class DbObjectGraph<T, D> {
|
|
17
|
+
private convertGraph;
|
|
18
|
+
private keyDefinitions;
|
|
19
|
+
private _mySQLController;
|
|
20
|
+
set mySQLController(arg: MysqlController);
|
|
21
|
+
constructor(keyDefinitions: D);
|
|
22
|
+
get size(): number;
|
|
23
|
+
addObjects<N extends keyof T & string, C extends keyof D & string, O extends D[C]>(tableName: N, typeOfKey: C, objects: O[]): void;
|
|
24
|
+
addObject<N extends keyof T & string, C extends keyof D & string, O extends D[C]>(tableName: N, typeOfKey: C, object: O): T[N];
|
|
25
|
+
findObjectByKey<N extends keyof T & string, C extends keyof D & string>(tableName: N[] | N, typeOfKey: C, key: D[C], loadIfCacheMiss?: boolean): Promise<T[N]>;
|
|
26
|
+
findTypedFirstByKey<N extends keyof T, C extends keyof D & string>(typeOfKey: C, key: D[C]): {
|
|
27
|
+
type: N;
|
|
28
|
+
object: T[N];
|
|
29
|
+
} | null;
|
|
30
|
+
getAllObjectsOfTable<N extends keyof T>(tableName: N): Promise<Array<T[N]>>;
|
|
31
|
+
findAllByAttributes<N extends keyof T>(tableNames: N | N[], attributeProperties: {
|
|
32
|
+
[P in keyof T[N]]?: Array<T[N][P]> | T[N][P];
|
|
33
|
+
}): Promise<Array<T[N]>>;
|
|
34
|
+
findByAttributes<N extends keyof T>(tableNames: N | N[], propertyFilterOptions: FindByAttributesOptions<T[N]>): Promise<Array<T[N]>>;
|
|
35
|
+
findFirstByAttributes<N extends keyof T>(tableName: N, attributeProperties: {
|
|
36
|
+
[P in keyof T[N]]?: T[N][P];
|
|
37
|
+
}): T[N] | null;
|
|
38
|
+
forgetByTableNames<N extends keyof T>(tableNames: N[] | N): void;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DbObjectGraph = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
class DbObjectGraph {
|
|
6
|
+
set mySQLController(arg) {
|
|
7
|
+
this._mySQLController = arg;
|
|
8
|
+
}
|
|
9
|
+
constructor(keyDefinitions) {
|
|
10
|
+
this.convertGraph = {};
|
|
11
|
+
this.keyDefinitions = keyDefinitions;
|
|
12
|
+
}
|
|
13
|
+
get size() {
|
|
14
|
+
let elementCount = 0;
|
|
15
|
+
for (const tableName in this.convertGraph) {
|
|
16
|
+
for (const keyTypeName in this.convertGraph[tableName]) {
|
|
17
|
+
elementCount += Object.keys(this.convertGraph[tableName][keyTypeName]).length;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return elementCount;
|
|
21
|
+
}
|
|
22
|
+
addObjects(tableName, typeOfKey, objects) {
|
|
23
|
+
for (const object of objects) {
|
|
24
|
+
this.addObject(tableName, typeOfKey, object);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
addObject(tableName, typeOfKey, object) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
this.convertGraph[tableName] = (_a = this.convertGraph[tableName]) !== null && _a !== void 0 ? _a : {};
|
|
30
|
+
this.convertGraph[tableName][typeOfKey] = (_b = this.convertGraph[tableName][typeOfKey]) !== null && _b !== void 0 ? _b : {};
|
|
31
|
+
const keyObject = {};
|
|
32
|
+
for (const propertyName in this.keyDefinitions[typeOfKey]) {
|
|
33
|
+
keyObject[propertyName] = object[propertyName];
|
|
34
|
+
}
|
|
35
|
+
const keyAsJson = JSON.stringify(keyObject);
|
|
36
|
+
if (this.convertGraph[tableName][typeOfKey][keyAsJson] !== undefined) {
|
|
37
|
+
// todo use Error
|
|
38
|
+
console.log(`Object with key ${keyAsJson} already being added to the graph!`);
|
|
39
|
+
// throw Error(`Object with key ${keyObject} already being added to the graph!`)
|
|
40
|
+
return this.convertGraph[tableName][typeOfKey][keyAsJson];
|
|
41
|
+
}
|
|
42
|
+
this.convertGraph[tableName][typeOfKey][keyAsJson] = object;
|
|
43
|
+
return this.convertGraph[tableName][typeOfKey][keyAsJson];
|
|
44
|
+
}
|
|
45
|
+
findObjectByKey(tableName, typeOfKey, key, loadIfCacheMiss = true) {
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const keyAsJson = JSON.stringify(key);
|
|
48
|
+
const tableNameAsString = tableName;
|
|
49
|
+
let graphObject = null;
|
|
50
|
+
if (tableName === '*') {
|
|
51
|
+
// todo
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (this.convertGraph[tableNameAsString] === undefined) {
|
|
55
|
+
graphObject = null;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
graphObject = this.convertGraph[tableNameAsString][typeOfKey][keyAsJson];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (this._mySQLController && loadIfCacheMiss) {
|
|
62
|
+
if (!graphObject && tableName !== '*' && !Array.isArray(tableName)) {
|
|
63
|
+
console.log('Cache miss, try to lookup object in db!');
|
|
64
|
+
const whereConditions = Object.keys(key).map(arg => {
|
|
65
|
+
return `${arg} = ${key[arg]}`;
|
|
66
|
+
});
|
|
67
|
+
const queryResult = yield this._mySQLController.execQuery(`
|
|
68
|
+
SELECT *
|
|
69
|
+
FROM ${tableName}
|
|
70
|
+
WHERE ${whereConditions.join(' AND ')}`);
|
|
71
|
+
if (queryResult.length === 1) {
|
|
72
|
+
graphObject = this.addObject(tableName, typeOfKey, queryResult[0]);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
graphObject = null;
|
|
76
|
+
console.error(`Expected to get 1 result from the database, but got ${queryResult.length}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return graphObject; // this.convertGraph[tableNameAsString][typeOfKey as string][keyAsJson];
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
findTypedFirstByKey(typeOfKey, key) {
|
|
84
|
+
const keyAsJson = JSON.stringify(key);
|
|
85
|
+
for (const tableName in this.convertGraph) {
|
|
86
|
+
for (const keyType in this.convertGraph[tableName]) {
|
|
87
|
+
if (keyType !== typeOfKey)
|
|
88
|
+
continue;
|
|
89
|
+
for (const key in this.convertGraph[tableName][keyType]) {
|
|
90
|
+
if (key === keyAsJson) {
|
|
91
|
+
return {
|
|
92
|
+
type: tableName,
|
|
93
|
+
object: this.convertGraph[tableName][typeOfKey][keyAsJson]
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
getAllObjectsOfTable(tableName) {
|
|
102
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const tableNameAsString = tableName;
|
|
104
|
+
if (this.convertGraph[tableNameAsString] === undefined) {
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
const objects = [];
|
|
108
|
+
for (const keyType in this.convertGraph[tableNameAsString]) {
|
|
109
|
+
for (const key in this.convertGraph[tableNameAsString][keyType]) {
|
|
110
|
+
objects.push(this.convertGraph[tableNameAsString][keyType][key]);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return objects;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
findAllByAttributes(tableNames, attributeProperties) {
|
|
117
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
const matched = [];
|
|
119
|
+
if (!Array.isArray(tableNames)) {
|
|
120
|
+
tableNames = [tableNames];
|
|
121
|
+
}
|
|
122
|
+
for (const tableName of tableNames) {
|
|
123
|
+
const tableNameAsString = tableName;
|
|
124
|
+
if (this.convertGraph[tableNameAsString] === undefined)
|
|
125
|
+
continue;
|
|
126
|
+
for (const keyType in this.convertGraph[tableNameAsString]) {
|
|
127
|
+
for (const key in this.convertGraph[tableNameAsString][keyType]) {
|
|
128
|
+
let match = false;
|
|
129
|
+
for (const attributeProperty in attributeProperties) {
|
|
130
|
+
if (attributeProperty in this.convertGraph[tableNameAsString][keyType][key]
|
|
131
|
+
&& this.convertGraph[tableNameAsString][keyType][key][attributeProperty] === attributeProperties[attributeProperty]) {
|
|
132
|
+
match = true;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
match = false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (match) {
|
|
139
|
+
matched.push(this.convertGraph[tableNameAsString][keyType][key]);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return matched;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
findByAttributes(tableNames, propertyFilterOptions) {
|
|
148
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
const matched = [];
|
|
150
|
+
if (!Array.isArray(tableNames)) {
|
|
151
|
+
tableNames = [tableNames];
|
|
152
|
+
}
|
|
153
|
+
for (const tableName of tableNames) {
|
|
154
|
+
const tableNameAsString = tableName;
|
|
155
|
+
if (this.convertGraph[tableNameAsString] === undefined)
|
|
156
|
+
continue;
|
|
157
|
+
for (const keyType in this.convertGraph[tableNameAsString]) {
|
|
158
|
+
for (const key in this.convertGraph[tableNameAsString][keyType]) {
|
|
159
|
+
let match = false;
|
|
160
|
+
for (const propertyName in propertyFilterOptions) {
|
|
161
|
+
if (propertyName in this.convertGraph[tableNameAsString][keyType][key]) {
|
|
162
|
+
if ('in' in propertyFilterOptions[propertyName]) {
|
|
163
|
+
if (propertyFilterOptions[propertyName]['in'].includes(this.convertGraph[tableNameAsString][keyType][key][propertyName])) {
|
|
164
|
+
match = true;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else if ('eq' in propertyFilterOptions[propertyName]) {
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
// if (propertyName in this.convertGraph[tableNameAsString][keyType][key]
|
|
171
|
+
// && this.convertGraph[tableNameAsString][keyType][key][propertyName] === propertyFilterOptionns[propertyName]) {
|
|
172
|
+
// match = true;
|
|
173
|
+
// } else {
|
|
174
|
+
// match = false;
|
|
175
|
+
// }
|
|
176
|
+
}
|
|
177
|
+
if (match) {
|
|
178
|
+
matched.push(this.convertGraph[tableNameAsString][keyType][key]);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return matched;
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
findFirstByAttributes(tableName, attributeProperties) {
|
|
187
|
+
const tableNameAsString = tableName;
|
|
188
|
+
if (this.convertGraph[tableNameAsString] === undefined)
|
|
189
|
+
return null;
|
|
190
|
+
for (const keyType in this.convertGraph[tableNameAsString]) {
|
|
191
|
+
for (const key in this.convertGraph[tableNameAsString][keyType]) {
|
|
192
|
+
let match = false;
|
|
193
|
+
for (const attributeProperty in attributeProperties) {
|
|
194
|
+
if (attributeProperty in this.convertGraph[tableNameAsString][keyType][key]
|
|
195
|
+
&& this.convertGraph[tableNameAsString][keyType][key][attributeProperty] === attributeProperties[attributeProperty]) {
|
|
196
|
+
match = true;
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
match = false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (match) {
|
|
203
|
+
return this.convertGraph[tableNameAsString][keyType][key];
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
forgetByTableNames(tableNames) {
|
|
210
|
+
const tableNamesAsStrings = (Array.isArray(tableNames) ? [...tableNames] : [tableNames]);
|
|
211
|
+
for (const tableNameAsString of tableNamesAsStrings) {
|
|
212
|
+
if (tableNameAsString in this.convertGraph) {
|
|
213
|
+
delete this.convertGraph[tableNameAsString];
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
exports.DbObjectGraph = DbObjectGraph;
|
|
219
|
+
//
|
|
220
|
+
// const convertGraph = new DbObjectGraph(i7SchemaKeyDefinitions)
|
|
221
|
+
//
|
|
222
|
+
// type Example = {
|
|
223
|
+
// abc: string
|
|
224
|
+
// }
|
|
225
|
+
//
|
|
226
|
+
// const result = convertGraph.findObjectByKey('VariantenNrIdKey', { id: 42, variantenNr: 41 }, undefined as Example)
|
|
227
|
+
//
|
|
228
|
+
// result.abc
|
|
229
|
+
//# sourceMappingURL=db-object-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-object-graph.js","sourceRoot":"","sources":["../../../../../src/converter/integral7/dl-convert/dl-graphs/db-object-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ILogger } from '../../../interfaces/ILogger.js';
|
|
2
|
+
import { Diagram } from '../../../model/diagram/Diagram.js';
|
|
3
|
+
import { MysqlController } from '../../../util/database/mysql-controller.js';
|
|
4
|
+
import { DiagramObject } from '../../../model/diagram/DiagramObject.js';
|
|
5
|
+
import { IdOnlyKey } from './db/data-types.js';
|
|
6
|
+
import { I7ExportFrame } from '../interface-i7/export-frame-i7.js';
|
|
7
|
+
export type ConvertConstraintOptions = {
|
|
8
|
+
only?: {
|
|
9
|
+
netz_standortIds?: IdOnlyKey[];
|
|
10
|
+
netz_knotensoIds?: IdOnlyKey[];
|
|
11
|
+
netz_schaltanlagenIds?: IdOnlyKey[];
|
|
12
|
+
netz_saabschnittIds?: IdOnlyKey[];
|
|
13
|
+
netz_schaltfeldIds?: IdOnlyKey[];
|
|
14
|
+
netz_leitungIds?: IdOnlyKey[];
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare class Executor {
|
|
18
|
+
private logger;
|
|
19
|
+
private mySQLController;
|
|
20
|
+
private dlConverter;
|
|
21
|
+
private dataManager;
|
|
22
|
+
private dbObjectGraph;
|
|
23
|
+
private dbObjectKeyCimModelUuidGraph;
|
|
24
|
+
private cimModelGraph;
|
|
25
|
+
private converterIntegral7;
|
|
26
|
+
private constraintOptions;
|
|
27
|
+
constructor(mySQLController: MysqlController, logger?: ILogger);
|
|
28
|
+
mergeDataFromFrame(frame: I7ExportFrame): Promise<void>;
|
|
29
|
+
mergeDataFromIntegralID2UUID(integralID2UUID: Map<number, string>): Promise<void>;
|
|
30
|
+
loadAllSchemaVariants(): Promise<void>;
|
|
31
|
+
private loadElementsForSchemaVariant;
|
|
32
|
+
convert(options?: ConvertConstraintOptions): Promise<(Diagram | DiagramObject)[]>;
|
|
33
|
+
private log;
|
|
34
|
+
private runAndLogPerformance;
|
|
35
|
+
}
|