@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,33 @@
|
|
|
1
|
+
import { ILogger } from '../../../interfaces/ILogger.js';
|
|
2
|
+
import { i7SchemaKeyDefinitions, I7TableSchemas } from './dl-graphs/convert-graph-keys.js';
|
|
3
|
+
import { DbObjectGraph, DbObjectGraphType } from './dl-graphs/db-object-graph.js';
|
|
4
|
+
import { MysqlController } from '../../../util/database/mysql-controller.js';
|
|
5
|
+
import { CimModelGraph, DbObjectKey2CimModelUUIDGraph } from './dl-graphs/cim-model-graph.js';
|
|
6
|
+
import { I7ExportFrame } from '../interface-i7/export-frame-i7.js';
|
|
7
|
+
export type LoadFromMySQLOptions = {
|
|
8
|
+
[tableName in keyof I7TableSchemas]?: {
|
|
9
|
+
[tableColumnName in keyof I7TableSchemas[tableName]]?: {
|
|
10
|
+
eq?: Array<I7TableSchemas[tableName][tableColumnName]>;
|
|
11
|
+
in?: Array<I7TableSchemas[tableName][tableColumnName]>;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export type DataManagerOptions = {
|
|
16
|
+
/** purge the graphs before loading the data, if false, the data will be merged */
|
|
17
|
+
purgeData?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare class DataManager {
|
|
20
|
+
private logger;
|
|
21
|
+
dbObjectGraph: DbObjectGraph<I7TableSchemas, typeof i7SchemaKeyDefinitions>;
|
|
22
|
+
dbObjectKeyCimModelUuidGraph: DbObjectKey2CimModelUUIDGraph<typeof i7SchemaKeyDefinitions>;
|
|
23
|
+
cimModelGraph: CimModelGraph;
|
|
24
|
+
constructor(logger?: ILogger);
|
|
25
|
+
setDbObjectGraph(graph: DbObjectGraph<I7TableSchemas, typeof i7SchemaKeyDefinitions>): void;
|
|
26
|
+
setCimModelGraph(graph: CimModelGraph): void;
|
|
27
|
+
setDbObjectKeyCimModelUuidGraph(graph: DbObjectKey2CimModelUUIDGraph<typeof i7SchemaKeyDefinitions>): void;
|
|
28
|
+
loadFromMySQL(mysqlController: MysqlController, options: LoadFromMySQLOptions): Promise<void>;
|
|
29
|
+
mergeConverterFrame(frame: I7ExportFrame, integralID2UUID: Map<number, string>): void;
|
|
30
|
+
loadDataFromJSON(data: any): DbObjectGraphType<I7TableSchemas, typeof i7SchemaKeyDefinitions>;
|
|
31
|
+
private addIntegralID2UUIDs;
|
|
32
|
+
private mergeIntegral7IdOnlyDataMap;
|
|
33
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataManager = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const convert_graph_keys_1 = require("./dl-graphs/convert-graph-keys.js");
|
|
6
|
+
const db_object_graph_1 = require("./dl-graphs/db-object-graph.js");
|
|
7
|
+
class DataManager {
|
|
8
|
+
constructor(logger) {
|
|
9
|
+
this.logger = logger;
|
|
10
|
+
}
|
|
11
|
+
setDbObjectGraph(graph) {
|
|
12
|
+
this.dbObjectGraph = graph;
|
|
13
|
+
}
|
|
14
|
+
setCimModelGraph(graph) {
|
|
15
|
+
this.cimModelGraph = graph;
|
|
16
|
+
}
|
|
17
|
+
setDbObjectKeyCimModelUuidGraph(graph) {
|
|
18
|
+
this.dbObjectKeyCimModelUuidGraph = graph;
|
|
19
|
+
}
|
|
20
|
+
loadFromMySQL(mysqlController, options) {
|
|
21
|
+
var _a;
|
|
22
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const tableMetaData = yield mysqlController.getTableMetaData();
|
|
24
|
+
for (const tableName in options) {
|
|
25
|
+
if (tableMetaData.has(tableName)) {
|
|
26
|
+
/* BEGIN: query-build */
|
|
27
|
+
let whereConditionsConcats_and = [];
|
|
28
|
+
for (const columnName in options[tableName]) {
|
|
29
|
+
if (options[tableName][columnName].eq) { //&& options[tableName][columnName].eq.length > 0) {
|
|
30
|
+
const eqConditions = options[tableName][columnName].eq.map(arg => {
|
|
31
|
+
return `${columnName} = ${arg}`;
|
|
32
|
+
}).join(' OR ');
|
|
33
|
+
whereConditionsConcats_and.push(eqConditions);
|
|
34
|
+
}
|
|
35
|
+
else if (options[tableName][columnName].in) { //&& options[tableName][columnName].in.length > 0) {
|
|
36
|
+
const inConditions = options[tableName][columnName].in.join(', ');
|
|
37
|
+
whereConditionsConcats_and.push(` ${columnName} IN (${inConditions})`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
let selectQuery = `SELECT *
|
|
41
|
+
FROM ${tableName}`;
|
|
42
|
+
if (whereConditionsConcats_and.length > 0) {
|
|
43
|
+
selectQuery += ` WHERE ${whereConditionsConcats_and.join(' AND ')}`;
|
|
44
|
+
}
|
|
45
|
+
selectQuery += ';';
|
|
46
|
+
/* END: query-build */
|
|
47
|
+
try {
|
|
48
|
+
const queryResults = yield mysqlController.execQuery(selectQuery);
|
|
49
|
+
this.dbObjectGraph[tableName] = (_a = this.dbObjectGraph[tableName]) !== null && _a !== void 0 ? _a : {};
|
|
50
|
+
this.dbObjectGraph.addObjects(tableName, convert_graph_keys_1.i7TableNamesToPrimaryKeys[tableName], queryResults);
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
// todo better solution for:
|
|
54
|
+
// if options.in contains a empty array like [], then the where clause will contain something like
|
|
55
|
+
// 'column IN ()'. This will result in an MySQL-Error
|
|
56
|
+
console.log(e);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
mergeConverterFrame(frame, integralID2UUID) {
|
|
63
|
+
for (const uuid of frame.cimModel.objects.keys()) {
|
|
64
|
+
this.cimModelGraph.addUnspecifiedObject(uuid, frame.cimModel.objects.get(uuid));
|
|
65
|
+
}
|
|
66
|
+
this.addIntegralID2UUIDs(integralID2UUID);
|
|
67
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralStandorte, i7TableNames.netz_standort);
|
|
68
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralSchaltanlagen, i7TableNames.netz_schaltanlage);
|
|
69
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralHgueKopf, i7TableNames['*']);
|
|
70
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralSchaltanlagenAbschnitte, i7TableNames.netz);
|
|
71
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralSchaltfelder, i7TableNames['*']);
|
|
72
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralKnotenSo, i7TableNames.n);
|
|
73
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralLeitungen, i7TableNames.netz_leitung);
|
|
74
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralLaengskupplungen, i7TableNames['*']);
|
|
75
|
+
// this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralHgueLeitungen, i7TableNames['*']);
|
|
76
|
+
}
|
|
77
|
+
loadDataFromJSON(data) {
|
|
78
|
+
// todo
|
|
79
|
+
const graph = new db_object_graph_1.DbObjectGraph(convert_graph_keys_1.i7SchemaKeyDefinitions);
|
|
80
|
+
return {};
|
|
81
|
+
}
|
|
82
|
+
addIntegralID2UUIDs(integralID2UUID) {
|
|
83
|
+
for (const integralID2UUIDEntry of integralID2UUID.entries()) {
|
|
84
|
+
this.dbObjectKeyCimModelUuidGraph.addRelation(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: integralID2UUIDEntry[0] }, integralID2UUIDEntry[1]);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, i7DataMap, tableName) {
|
|
88
|
+
for (const idIntegralObject of i7DataMap.entries()) {
|
|
89
|
+
// this.dbObjectKeyCimModelUuidGraph.addRelation(
|
|
90
|
+
// i7SchemaKeyNames.IdOnlyKey, { id: idIntegralObject[0] }, integralID2UUID.get(idIntegralObject[0])
|
|
91
|
+
// );
|
|
92
|
+
this.dbObjectGraph.addObject(tableName, convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, idIntegralObject[1]);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.DataManager = DataManager;
|
|
97
|
+
//# sourceMappingURL=data-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-manager.js","sourceRoot":"","sources":["../../../../src/converter/integral7/dl-convert/data-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data
|
|
1
|
+
{"version":3,"file":"data-types.js","sourceRoot":"","sources":["../../../../../src/converter/integral7/dl-convert/db/data-types.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,0CAA6B,CAAA;IAC7B,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;IAC3B,4CAA+B,CAAA;AACjC,CAAC,EARW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAQpB"}
|
|
@@ -1,6 +1,126 @@
|
|
|
1
|
+
export type NetzSSAB = {
|
|
2
|
+
saabschnitt: number;
|
|
3
|
+
pos: number;
|
|
4
|
+
} & BaseObject;
|
|
5
|
+
export type NetzSaabschnitt = {
|
|
6
|
+
schaltanlage: number;
|
|
7
|
+
pos: number;
|
|
8
|
+
} & BaseObject;
|
|
9
|
+
export type NetzFreitleitungabschnitt = {
|
|
10
|
+
leitung: number;
|
|
11
|
+
astandort: number;
|
|
12
|
+
pos: number;
|
|
13
|
+
laenge: number;
|
|
14
|
+
} & BaseObject;
|
|
15
|
+
export type NetzKabelabschnitt = {
|
|
16
|
+
leitung: number;
|
|
17
|
+
astandort: number;
|
|
18
|
+
pos: number;
|
|
19
|
+
laenge: number;
|
|
20
|
+
} & BaseObject;
|
|
21
|
+
export type NetzTrafo2W = {
|
|
22
|
+
bezeichner: string;
|
|
23
|
+
kurzname: string;
|
|
24
|
+
aknoten: number;
|
|
25
|
+
eknoten: number;
|
|
26
|
+
flakn3p: number;
|
|
27
|
+
flekn3p: number;
|
|
28
|
+
aknoten1p: number;
|
|
29
|
+
eknoten1p: number;
|
|
30
|
+
guid_w1: string;
|
|
31
|
+
guid_w2: string;
|
|
32
|
+
} & BaseObject;
|
|
33
|
+
export type NetzTrafo3W = {
|
|
34
|
+
bezeichner: string;
|
|
35
|
+
kurzname: string;
|
|
36
|
+
standort: number;
|
|
37
|
+
trafowicklung3w1: number;
|
|
38
|
+
trafowicklung3w2: number;
|
|
39
|
+
trafowicklung3w3: number;
|
|
40
|
+
spreg_knoten: number;
|
|
41
|
+
spreg_anschluss: number;
|
|
42
|
+
guid_w1: string;
|
|
43
|
+
guid_w2: string;
|
|
44
|
+
guid_w3: string;
|
|
45
|
+
} & BaseObject;
|
|
46
|
+
export type NetzKpFeld = {
|
|
47
|
+
/**
|
|
48
|
+
* describes the type of the coupler-field
|
|
49
|
+
* 0: cross-coupling: individual coupling
|
|
50
|
+
* 4: cross-coupling: disconnector only coupler (not placed on busbar sections)
|
|
51
|
+
* 6: cross-coupling: disconnector - breaker - disconnector (disconnectors placed on busbar sections)
|
|
52
|
+
* 7: cross-coupling: disconnector - disconnector coupler (not placed on busbar sections)
|
|
53
|
+
* 8: cross-coupling: universal coupling
|
|
54
|
+
* 9: length-coupling:
|
|
55
|
+
* 10: length-coupling:
|
|
56
|
+
* 11: length-coupling:
|
|
57
|
+
* 13: length-coupling:
|
|
58
|
+
* 16: length-coupling:
|
|
59
|
+
*/
|
|
60
|
+
seltyp: number;
|
|
61
|
+
saabschnitt: number;
|
|
62
|
+
} & BaseObject;
|
|
63
|
+
export type NetzLKupplung = {
|
|
64
|
+
seltyp: number;
|
|
65
|
+
schaltanlage: number;
|
|
66
|
+
saa_anf: number;
|
|
67
|
+
saa_end: number;
|
|
68
|
+
default_zust_anf: number;
|
|
69
|
+
default_zust_end: number;
|
|
70
|
+
} & BaseObject;
|
|
71
|
+
export type NetzBelastung = {
|
|
72
|
+
bezeichner: string;
|
|
73
|
+
kurzname: string;
|
|
74
|
+
anschluss: number;
|
|
75
|
+
} & BaseObject;
|
|
76
|
+
export type NetzGenerator = {
|
|
77
|
+
bezeichner: string;
|
|
78
|
+
kurzname: string;
|
|
79
|
+
anschluss: number;
|
|
80
|
+
} & BaseObject;
|
|
81
|
+
export type NetzSchlaufe = {
|
|
82
|
+
aknoten: number;
|
|
83
|
+
eknoten: number;
|
|
84
|
+
knotenzw: number;
|
|
85
|
+
} & BaseObject;
|
|
86
|
+
export type NetzKnotenzw = {
|
|
87
|
+
geerdet: number;
|
|
88
|
+
schlaufe: number;
|
|
89
|
+
bzweig3p: number;
|
|
90
|
+
} & BaseObject;
|
|
91
|
+
export type NetzNetzeinspeisung = {
|
|
92
|
+
bezeichner: string;
|
|
93
|
+
kurzname: string;
|
|
94
|
+
anschluss: number;
|
|
95
|
+
} & BaseObject;
|
|
96
|
+
export type NetzLeitung = {
|
|
97
|
+
id: number;
|
|
98
|
+
bezeichner: string;
|
|
99
|
+
kurzname: string;
|
|
100
|
+
aknoten: number;
|
|
101
|
+
eknoten: number;
|
|
102
|
+
aknotenzw: number;
|
|
103
|
+
eknotenzw: number;
|
|
104
|
+
flakn3p: number;
|
|
105
|
+
flekn3p: number;
|
|
106
|
+
} & BaseObject;
|
|
107
|
+
export type NetzKnoten = {
|
|
108
|
+
aknoten: number;
|
|
109
|
+
eknoten: number;
|
|
110
|
+
seliste: number;
|
|
111
|
+
} & BaseObject;
|
|
112
|
+
export type NetzLeistungsschalter = NetzKnoten;
|
|
113
|
+
export type NetzTrenner3p = NetzKnoten;
|
|
114
|
+
export type NetzTrennerfi3p = NetzKnoten;
|
|
115
|
+
export type NetzSestarr3p = NetzKnoten;
|
|
116
|
+
export type NetzKnotenkf = BaseObject & {
|
|
117
|
+
bezeichner: string;
|
|
118
|
+
geerdet: number;
|
|
119
|
+
kpfeld: number;
|
|
120
|
+
};
|
|
1
121
|
export type BaseObject = {
|
|
2
122
|
id: number;
|
|
3
|
-
guid
|
|
123
|
+
guid?: string;
|
|
4
124
|
};
|
|
5
125
|
export type Netzvariante = {
|
|
6
126
|
name: string;
|
|
@@ -21,13 +141,20 @@ export type NsgKnotenSo = {
|
|
|
21
141
|
nsgso: number;
|
|
22
142
|
} & NsgObject;
|
|
23
143
|
export type NsgSchaltanlage = {
|
|
144
|
+
/**
|
|
145
|
+
* if 0° is pointing towards the top, then:
|
|
146
|
+
* 0: from left to right (90° clockwise)
|
|
147
|
+
* 1: from top to bottom (180° clockwise)
|
|
148
|
+
* 2: from right to left (270° clockwise)
|
|
149
|
+
* 3: from bottom to top (360° clockwise)
|
|
150
|
+
*/
|
|
24
151
|
ausrichtung: number;
|
|
25
152
|
nsgso: number;
|
|
26
153
|
schaltanlage: number;
|
|
27
154
|
saabschnittIDs?: string[];
|
|
28
|
-
|
|
155
|
+
nsgSaabschnitt?: NsgSaabschnitt[];
|
|
29
156
|
} & NsgObject;
|
|
30
|
-
export type
|
|
157
|
+
export type NsgSaabschnitt = {
|
|
31
158
|
laenge: number;
|
|
32
159
|
nslots: number;
|
|
33
160
|
saabschnitt: number;
|
|
@@ -105,10 +232,12 @@ export type NsgLeitung = {
|
|
|
105
232
|
anschlussanf: number;
|
|
106
233
|
anschlussend: number;
|
|
107
234
|
} & NsgObject;
|
|
108
|
-
export type
|
|
235
|
+
export type NsgLtgpunkt = {
|
|
109
236
|
nsgleitung: number;
|
|
110
237
|
pos: number;
|
|
238
|
+
/** maybe: use rel pos */
|
|
111
239
|
userelpos: number;
|
|
240
|
+
/** maybe: rel to anf */
|
|
112
241
|
reltoanf: number;
|
|
113
242
|
abstand_rel_anchor_m: number;
|
|
114
243
|
abstand_rel_anchor_c: number;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ILogger } from '../../../interfaces/ILogger.js';
|
|
2
|
+
import { NetzKnoten, NetzLKupplung, Netzvariante, NsgKnotenSo, NsgKpFeld, NsgLeitung, NsgLKupplung, NsgQuerzweig, NsgSaabschnitt, NsgSchaltanlage, NsgSchaltfeld, NsgStandort, NsgTrafo2W, NsgTrafo3W } from './db/database.interface.types.js';
|
|
3
|
+
import { DiagramObject } from '../../../model/diagram/DiagramObject.js';
|
|
4
|
+
import { i7SchemaKeyDefinitions, I7TableSchemas } from './dl-graphs/convert-graph-keys.js';
|
|
5
|
+
import { Diagram } from '../../../model/diagram/Diagram.js';
|
|
6
|
+
import { CimModelGraph, DbObjectKey2CimModelUUIDGraph } from './dl-graphs/cim-model-graph.js';
|
|
7
|
+
import { DbObjectGraph } from './dl-graphs/db-object-graph.js';
|
|
8
|
+
import { VariantenNrIdKey } from './db/data-types.js';
|
|
9
|
+
export declare class DLConverterI7 {
|
|
10
|
+
private logger;
|
|
11
|
+
static testmode: boolean;
|
|
12
|
+
private dbObjectGraph;
|
|
13
|
+
private dbObjectKeyCimModelUuidGraph;
|
|
14
|
+
private cimModelGraph;
|
|
15
|
+
private exportedTerminalUUIDs;
|
|
16
|
+
private exportedBusbarSectionConnectivityNodeUuidToDiagramObject;
|
|
17
|
+
exportedDiagramObjectsGraph: {
|
|
18
|
+
[variantenNr: number | string]: {
|
|
19
|
+
[netzId: number | string]: DiagramObject;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
constructor(logger?: ILogger);
|
|
23
|
+
addExportedDiagramObjectToGraph(variantennr: number, netzId: number, diagramObject: DiagramObject): void;
|
|
24
|
+
setDbObjectGraph(graph: DbObjectGraph<I7TableSchemas, typeof i7SchemaKeyDefinitions>): void;
|
|
25
|
+
setCimModelGraph(graph: CimModelGraph): void;
|
|
26
|
+
setDbObjectKeyCimModelUuidGraph(graph: DbObjectKey2CimModelUUIDGraph<typeof i7SchemaKeyDefinitions>): void;
|
|
27
|
+
addCimObject<K extends typeof i7SchemaKeyDefinitions, KN extends keyof typeof i7SchemaKeyDefinitions & string>(uuid: string, object: any, typeOfKey?: KN, dbKey?: K[KN]): void;
|
|
28
|
+
convertNsgVariante(arg: Netzvariante): Promise<Diagram | null>;
|
|
29
|
+
convertSchemaStandort(arg: NsgStandort): Promise<void>;
|
|
30
|
+
convertSchemaKnotenStandort(nsgKnotenSo: NsgKnotenSo): Promise<DiagramObject | null>;
|
|
31
|
+
convertSchemaSchaltanlage(arg: NsgSchaltanlage): Promise<void>;
|
|
32
|
+
convertSchemaSchaltanlagenAbschnitte(arg: NsgSaabschnitt): Promise<void>;
|
|
33
|
+
convertSchemaSammelschienenAbschnitte(arg: NsgSaabschnitt): Promise<DiagramObject[]>;
|
|
34
|
+
private convertSchemaSammelschienenAbschnitt;
|
|
35
|
+
convertSchemaSchaltfeldElemente(nsgSchaltfeld: NsgSchaltfeld): Promise<DiagramObject[]>;
|
|
36
|
+
convertSchemaTransformer2W(nsgTrafo2w: NsgTrafo2W): Promise<DiagramObject[] | null>;
|
|
37
|
+
convertSchemaTransformer3W(nsgTrafo3w: NsgTrafo3W): Promise<DiagramObject[] | null>;
|
|
38
|
+
getConnectivityNodePositionFor(i7ObjectType: string, object: any): Promise<number[]>;
|
|
39
|
+
convertSchemaLeitung(nsgLeitung: NsgLeitung, splitLine?: boolean): Promise<DiagramObject[] | null>;
|
|
40
|
+
convertSchemaQuerzweig(nsgQuerzweig: NsgQuerzweig): Promise<DiagramObject[] | null>;
|
|
41
|
+
getRelPos(nsgLeitung: NsgLeitung, aknoten: boolean): Promise<number[] | null>;
|
|
42
|
+
convertSchemaKpfeld(nsgKpfeld: NsgKpFeld): Promise<DiagramObject[] | null>;
|
|
43
|
+
convertSchemaLKupplung(nsgLKupplung: NsgLKupplung, netzLKupplung: NetzLKupplung): Promise<DiagramObject[] | null>;
|
|
44
|
+
getLeftUpperCornerOfUnspecified(variantennr: number, id: number): Promise<number[]>;
|
|
45
|
+
getLeftUpperCornerOf(i7ObjectType: string, object: any, variantennr?: number): Promise<number[]>;
|
|
46
|
+
getNodesOfSchaltfeld(arg: NsgSchaltfeld): Promise<NetzKnoten[]>;
|
|
47
|
+
getNodesOfKpfeld(arg: NsgKpFeld): Promise<NetzKnoten[]>;
|
|
48
|
+
getNodesOfLKupplung(arg: NetzLKupplung): Promise<NetzKnoten[]>;
|
|
49
|
+
/** */
|
|
50
|
+
getSizeOfSchaltanlage(arg: NsgSchaltanlage): Promise<number>;
|
|
51
|
+
getMaxPosOfSaabschnitt(nsgSaabschnitt: NsgSaabschnitt): Promise<number>;
|
|
52
|
+
getLengthOfSammelschienenAbschnitt(nsgSaab: NsgSaabschnitt): Promise<number>;
|
|
53
|
+
getMaxLengthOfKuppelfeld(schaltanlagenabschnittKey: VariantenNrIdKey): Promise<number>;
|
|
54
|
+
getMaxLengthOfSchaltfeld(schaltanlagenabschnittKey: VariantenNrIdKey): Promise<number>;
|
|
55
|
+
private lookupTerminalUUID;
|
|
56
|
+
}
|