@enervance/insight-cim-model 0.0.372 → 0.0.373-beta10

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 (212) hide show
  1. package/dist/analysis/analysis-neplan/contingency-analysis.neplan.westnetz.js +1 -1
  2. package/dist/analysis/analysis-neplan/contingency-analysis.neplan.westnetz.js.map +1 -1
  3. package/dist/config/load.confings.js +1 -2
  4. package/dist/config/load.confings.js.map +1 -1
  5. package/dist/constants/cim-class-names.d.ts +2 -1
  6. package/dist/constants/cim-class-names.js +2 -1
  7. package/dist/constants/cim-class-names.js.map +1 -1
  8. package/dist/converter/integral7/config/integral-prefix.d.ts +6 -0
  9. package/dist/converter/integral7/config/integral-prefix.js +7 -1
  10. package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
  11. package/dist/converter/integral7/converter.integral7.d.ts +1 -0
  12. package/dist/converter/integral7/converter.integral7.js +198 -62
  13. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  14. package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +28 -0
  15. package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +11 -4
  16. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +308 -31
  17. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
  18. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.d.ts +10 -1
  19. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js +6 -0
  20. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js.map +1 -1
  21. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js +5 -12
  22. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js.map +1 -1
  23. package/dist/converter/integral7/dl-convert/executor.js +15 -3
  24. package/dist/converter/integral7/dl-convert/executor.js.map +1 -1
  25. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +3 -1
  26. package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
  27. package/dist/converter/integral7/interface-i7/default-values-config.interface.d.ts +8 -0
  28. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +3 -1
  29. package/dist/converter/integral7/interface-i7/export-frame-i7.js +3 -2
  30. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  31. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +9 -1
  32. package/dist/converter/integral7/model/dl-utils/util-functions.js +32 -3
  33. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  34. package/dist/converter/integral7/model/integral/BaseClass.d.ts +0 -2
  35. package/dist/converter/integral7/model/integral/BaseClass.js +0 -3
  36. package/dist/converter/integral7/model/integral/BaseClass.js.map +1 -1
  37. package/dist/converter/integral7/model/integral/KnotenZw.d.ts +7 -0
  38. package/dist/converter/integral7/model/integral/KnotenZw.js +13 -0
  39. package/dist/converter/integral7/model/integral/KnotenZw.js.map +1 -0
  40. package/dist/converter/integral7/model/integral/Netzbereich.d.ts +15 -0
  41. package/dist/converter/integral7/model/integral/Netzbereich.js +23 -0
  42. package/dist/converter/integral7/model/integral/Netzbereich.js.map +1 -0
  43. package/dist/converter/integral7/model/integral/NetzbereichAussen.d.ts +7 -0
  44. package/dist/converter/integral7/model/integral/NetzbereichAussen.js +12 -0
  45. package/dist/converter/integral7/model/integral/NetzbereichAussen.js.map +1 -0
  46. package/dist/converter/integral7/model/integral/NetzbereichInnen.d.ts +7 -0
  47. package/dist/converter/integral7/model/integral/NetzbereichInnen.js +12 -0
  48. package/dist/converter/integral7/model/integral/NetzbereichInnen.js.map +1 -0
  49. package/dist/converter/integral7/model/integral/NetzbereichRand.d.ts +7 -0
  50. package/dist/converter/integral7/model/integral/NetzbereichRand.js +12 -0
  51. package/dist/converter/integral7/model/integral/NetzbereichRand.js.map +1 -0
  52. package/dist/converter/integral7/sql/integral.sql.js +3 -0
  53. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  54. package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.d.ts +0 -0
  55. package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.js +2 -0
  56. package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.js.map +1 -0
  57. package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.d.ts +8 -0
  58. package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.js +13 -0
  59. package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.js.map +1 -0
  60. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.d.ts +15 -0
  61. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.js +38 -0
  62. package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.js.map +1 -0
  63. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.d.ts +8 -0
  64. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.js +13 -0
  65. package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.js.map +1 -0
  66. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.d.ts +8 -0
  67. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.js +13 -0
  68. package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.js.map +1 -0
  69. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.d.ts +8 -0
  70. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.js +9 -0
  71. package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.js.map +1 -0
  72. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.d.ts +9 -0
  73. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.js +82 -0
  74. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.js.map +1 -0
  75. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.d.ts +25 -0
  76. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.js +3 -0
  77. package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.js.map +1 -0
  78. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.d.ts +23 -0
  79. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.js +244 -0
  80. package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.js.map +1 -0
  81. package/dist/converter/integral7/utils-cgmes-export.js +2 -0
  82. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  83. package/dist/converter/integral7/utils.d.ts +1 -0
  84. package/dist/converter/integral7/utils.js +28 -2
  85. package/dist/converter/integral7/utils.js.map +1 -1
  86. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  87. package/dist/index.d.ts +1 -0
  88. package/dist/index.js +9 -7
  89. package/dist/index.js.map +1 -1
  90. package/dist/interfaces/model/core/IConnectivityNode.d.ts +8 -6
  91. package/dist/interfaces/model/core/ISubstation.d.ts +4 -2
  92. package/dist/interfaces/model/core/IVoltageLevel.d.ts +2 -0
  93. package/dist/model/assetinfo/SwitchInfo.d.ts +2 -0
  94. package/dist/model/assetinfo/SwitchInfo.js +6 -1
  95. package/dist/model/assetinfo/SwitchInfo.js.map +1 -1
  96. package/dist/model/core/BaseVoltage.d.ts +3 -0
  97. package/dist/model/core/BaseVoltage.js +6 -0
  98. package/dist/model/core/BaseVoltage.js.map +1 -1
  99. package/dist/model/core/ConnectivityNode.js +1 -2
  100. package/dist/model/core/ConnectivityNode.js.map +1 -1
  101. package/dist/model/core/ConnectivityNodeContainer.d.ts +3 -3
  102. package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
  103. package/dist/model/core/Substation.d.ts +2 -1
  104. package/dist/model/core/Substation.js +1 -2
  105. package/dist/model/core/Substation.js.map +1 -1
  106. package/dist/model/core/VoltageLevel.d.ts +9 -3
  107. package/dist/model/core/VoltageLevel.js +12 -3
  108. package/dist/model/core/VoltageLevel.js.map +1 -1
  109. package/dist/model/dc/DCNode.js +3 -3
  110. package/dist/model/dc/DCNode.js.map +1 -1
  111. package/dist/model/extensions/amprion/additionalassetvalue/AMPRIONAdditionalBayValue.js +1 -1
  112. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +1 -1
  113. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  114. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +25 -0
  115. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +114 -0
  116. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -0
  117. package/dist/model/extensions/integral/core/INTEGRALTerminal.d.ts +12 -0
  118. package/dist/model/extensions/integral/core/INTEGRALTerminal.js +37 -0
  119. package/dist/model/extensions/integral/core/INTEGRALTerminal.js.map +1 -0
  120. package/dist/model/extensions/integral/dc/DCConverterUnit.d.ts +11 -0
  121. package/dist/model/extensions/integral/dc/DCConverterUnit.js +34 -0
  122. package/dist/model/extensions/integral/dc/DCConverterUnit.js.map +1 -0
  123. package/dist/model/extensions/integral/dc/DCLineSegment.d.ts +10 -0
  124. package/dist/model/extensions/integral/dc/DCLineSegment.js +31 -0
  125. package/dist/model/extensions/integral/dc/DCLineSegment.js.map +1 -0
  126. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +30 -0
  127. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +189 -0
  128. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -0
  129. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.d.ts +12 -0
  130. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +21 -0
  131. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -0
  132. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.d.ts +21 -0
  133. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +102 -0
  134. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -0
  135. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.d.ts +12 -0
  136. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js +60 -0
  137. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js.map +1 -0
  138. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.d.ts +11 -0
  139. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js +55 -0
  140. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js.map +1 -0
  141. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.d.ts +12 -0
  142. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js +60 -0
  143. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js.map +1 -0
  144. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.d.ts +7 -0
  145. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js +12 -0
  146. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js.map +1 -0
  147. package/dist/model/extensions/neplan-westnetz/common/WNLocation.d.ts +24 -0
  148. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js +89 -0
  149. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -0
  150. package/dist/model/extensions/neplan-westnetz/core/WNBay.d.ts +22 -0
  151. package/dist/model/extensions/neplan-westnetz/core/WNBay.js +87 -0
  152. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -0
  153. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +71 -0
  154. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +570 -0
  155. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -0
  156. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +44 -0
  157. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +234 -0
  158. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -0
  159. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.d.ts +5 -0
  160. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js +10 -0
  161. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js.map +1 -0
  162. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.d.ts +22 -0
  163. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js +98 -0
  164. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -0
  165. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.d.ts +21 -0
  166. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js +100 -0
  167. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -0
  168. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.d.ts +20 -0
  169. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +105 -0
  170. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -0
  171. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +75 -0
  172. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +505 -0
  173. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -0
  174. package/dist/model/generic-data-set/ChangeSetMember.d.ts +0 -5
  175. package/dist/model/generic-data-set/ChangeSetMember.js +0 -10
  176. package/dist/model/generic-data-set/ChangeSetMember.js.map +1 -1
  177. package/dist/model/generic-data-set/ObjectCreation.js.map +1 -1
  178. package/dist/model/generic-data-set/ObjectInsertion.d.ts +10 -0
  179. package/dist/model/generic-data-set/ObjectInsertion.js +60 -0
  180. package/dist/model/generic-data-set/ObjectInsertion.js.map +1 -0
  181. package/dist/model/generic-data-set/ObjectRemoval.d.ts +10 -0
  182. package/dist/model/generic-data-set/ObjectRemoval.js +60 -0
  183. package/dist/model/generic-data-set/ObjectRemoval.js.map +1 -0
  184. package/dist/model/topology/TopologicalNode.d.ts +2 -0
  185. package/dist/model/topology/TopologicalNode.js +62 -0
  186. package/dist/model/topology/TopologicalNode.js.map +1 -1
  187. package/dist/model/wires/Breaker.js +1 -1
  188. package/dist/model/wires/Breaker.js.map +1 -1
  189. package/dist/model/wires/Disconnector.js +1 -1
  190. package/dist/model/wires/Disconnector.js.map +1 -1
  191. package/dist/model/wires/TransformerEnd.d.ts +2 -3
  192. package/dist/model/wires/TransformerEnd.js.map +1 -1
  193. package/dist/model-container/model/EVModelsContainer.d.ts +0 -2
  194. package/dist/model-container/model/EVModelsContainer.js +0 -99
  195. package/dist/model-container/model/EVModelsContainer.js.map +1 -1
  196. package/dist/model-container/model/ModelContainer.d.ts +10 -5
  197. package/dist/model-container/model/ModelContainer.js +26 -19
  198. package/dist/model-container/model/ModelContainer.js.map +1 -1
  199. package/dist/util/collection/util-graph2tree.js +2 -2
  200. package/dist/util/collection/util-graph2tree.js.map +1 -1
  201. package/dist/utils2/cim.model.utils.d.ts +1 -0
  202. package/dist/utils2/cim.model.utils.js +124 -6
  203. package/dist/utils2/cim.model.utils.js.map +1 -1
  204. package/dist/utils2/fuseki.utils.js +3 -1
  205. package/dist/utils2/fuseki.utils.js.map +1 -1
  206. package/dist/utils2/model.modification.utils.d.ts +13 -3
  207. package/dist/utils2/model.modification.utils.js +188 -28
  208. package/dist/utils2/model.modification.utils.js.map +1 -1
  209. package/dist/utils2/parser.utils.d.ts +0 -3
  210. package/dist/utils2/parser.utils.js +2 -5
  211. package/dist/utils2/parser.utils.js.map +1 -1
  212. package/package.json +1 -1
@@ -237,6 +237,16 @@ export type NetzLKondensator = {
237
237
  flakn3p: number;
238
238
  flekn3p: number;
239
239
  } & BaseObject;
240
+ export type NetzLDrossel = {
241
+ id: number;
242
+ bezeichner: string;
243
+ aknoten: number;
244
+ eknoten: number;
245
+ aknotenzw: number;
246
+ eknotenzw: number;
247
+ flakn3p: number;
248
+ flekn3p: number;
249
+ } & BaseObject;
240
250
  export type NetzLeistungsschalter = NetzKnoten;
241
251
  export type NetzTrenner3p = NetzKnoten;
242
252
  export type NetzTrennerfi3p = NetzKnoten;
@@ -395,6 +405,12 @@ export type NsgLeitung = {
395
405
  leitung: number;
396
406
  anschlussanf: number;
397
407
  anschlussend: number;
408
+ /**
409
+ * Wenn eine Leitung "ausgeblendet" bzw. "Als Pfeile darstellen" aktiv ist, dann sind kopf-anf ud kopf-end
410
+ * mit Werten/Ids gefüllt
411
+ */
412
+ kopf_anf: number;
413
+ kopf_end: number;
398
414
  } & NsgObject;
399
415
  export type NsgLtgpunkt = {
400
416
  nsgleitung: number;
@@ -406,6 +422,9 @@ export type NsgLtgpunkt = {
406
422
  abstand_rel_anchor_m: number;
407
423
  abstand_rel_anchor_c: number;
408
424
  } & NsgObject;
425
+ export type NsgLtgkopf = {
426
+ nsgleitung: number;
427
+ } & NsgObject;
409
428
  export type NsgQuerzweig = {
410
429
  /** 0: Left, 1: Top, 2: Right, 3: Bottom */
411
430
  ausrichtung: number;
@@ -425,6 +444,15 @@ export type NsgLKondensator = {
425
444
  anschlussanf_stp: number;
426
445
  anschlussend_stp: number;
427
446
  } & NsgObject;
447
+ export type NsgLDrossel = {
448
+ ausrichtung: number;
449
+ nsgso: number;
450
+ anschlussanf: number;
451
+ anschlussend: number;
452
+ ldrossel: number;
453
+ anschlussanf_stp: number;
454
+ anschlussend_stp: number;
455
+ } & NsgObject;
428
456
  export type NsgStpschiene = {
429
457
  ausrichtung: number;
430
458
  laenge: number;
@@ -1,5 +1,5 @@
1
1
  import { ILogger } from '../../../interfaces/ILogger.js';
2
- import { NetzKnoten, NetzLKupplung, NetzStreckenlast, Netzvariante, NsgKnotenHgue, NsgKnotenSo, NsgKpFeld, NsgLeitung, NsgLKondensator, NsgLKupplung, NsgLKupplungRss, NsgQuerzweig, NsgQuerzweigqzcont, NsgSaabschnitt, NsgSchaltanlage, NsgSchaltfeld, NsgStandort, NsgStpimpedanz, NsgStpknoten, NsgStpschaltfeld, NsgStpschiene, NsgTrafo2W, NsgTrafo3W } from './db/database.interface.types.js';
2
+ import { NetzErsatzlaengszweig, NetzKnoten, NetzLKupplung, NetzStreckenlast, Netzvariante, NsgKnotenHgue, NsgKnotenSo, NsgKpFeld, NsgLDrossel, NsgLeitung, NsgLKondensator, NsgLKupplung, NsgLKupplungRss, NsgQuerzweig, NsgQuerzweigqzcont, NsgSaabschnitt, NsgSchaltanlage, NsgSchaltfeld, NsgStandort, NsgStpimpedanz, NsgStpknoten, NsgStpschaltfeld, NsgStpschiene, NsgTrafo2W, NsgTrafo3W } from './db/database.interface.types.js';
3
3
  import { DiagramObject } from '../../../model/diagram/DiagramObject.js';
4
4
  import { i7SchemaKeyDefinitions, I7TableSchemas } from './dl-graphs/convert-graph-keys.js';
5
5
  import { Diagram } from '../../../model/diagram/Diagram.js';
@@ -7,7 +7,7 @@ import { CimModelGraph } from './dl-graphs/cim-model-graph.js';
7
7
  import { DbObjectGraph } from './dl-graphs/db-object-graph.js';
8
8
  import { VariantenNrIdKey } from './db/data-types.js';
9
9
  import { IUuidConfig } from '../interface-i7/uuid-config.interface.js';
10
- type DLConverterI7Config = {
10
+ export type DLConverterI7Config = {
11
11
  busbarSectionAsConnectivityNode: boolean;
12
12
  generateUUID4?: boolean;
13
13
  };
@@ -84,6 +84,10 @@ export declare class DLConverterI7 {
84
84
  * convertSchemaLeitung
85
85
  */
86
86
  convertSchemaLeitung(nsgLeitung: NsgLeitung, splitLine?: boolean): Promise<DiagramObject[] | null>;
87
+ /**
88
+ * convertSchemaLeitung
89
+ */
90
+ convertNsgErsatzlaengszweig(nsgLeitung: NsgLeitung, netzErsatzlaengszweig: NetzErsatzlaengszweig, splitLine?: boolean): Promise<DiagramObject[] | null>;
87
91
  /**
88
92
  * convertSchemaQuerzweig
89
93
  */
@@ -113,7 +117,11 @@ export declare class DLConverterI7 {
113
117
  */
114
118
  convertSchemaLKupplung(nsgLKupplung: NsgLKupplung, netzLKupplung: NetzLKupplung): Promise<DiagramObject[] | null>;
115
119
  /**
116
- * convertSchemaStpschiene
120
+ * convertSchemaLDrossel
121
+ */
122
+ convertSchemaLDrossel(nsgLDrossel: NsgLDrossel): Promise<DiagramObject[]>;
123
+ /**
124
+ * convertSchemaLKondensator
117
125
  */
118
126
  convertSchemaLKondensator(nsgLKondensator: NsgLKondensator): Promise<DiagramObject[]>;
119
127
  /**
@@ -160,4 +168,3 @@ export declare class DLConverterI7 {
160
168
  linkIntegralId2UUIDMap(integralID2UUID: Map<number, string>): void;
161
169
  private getCimObjectIdFromDbKey;
162
170
  }
163
- export {};
@@ -92,7 +92,7 @@ class DLConverterI7 {
92
92
  yPosition: nsgStandort.yrel + nsgKnotenSo.yrel + 16,
93
93
  diagramObjectName: 'Abzweig',
94
94
  identifiedObjectUUID: cimObjectUUID
95
- });
95
+ }, this.config);
96
96
  // knotenso must be accessible via knotenzw-id
97
97
  const netzSchlaufen = yield this.dbObjectGraph.findByAttributes(convert_graph_keys_1.i7TableNames.netz_schlaufe, {
98
98
  eknoten: { in: [nsgKnotenSo.knotenso] }
@@ -121,7 +121,7 @@ class DLConverterI7 {
121
121
  yPosition: nsgStandort.yrel + nsgKnotenHgue.yrel + 16,
122
122
  diagramObjectName: 'Hgue-Knoten',
123
123
  identifiedObjectUUID: cimObjectUUID
124
- });
124
+ }, this.config);
125
125
  // knotenso must be accessible via knotenzw-id
126
126
  const netzSchlaufen = yield this.dbObjectGraph.findByAttributes(convert_graph_keys_1.i7TableNames.netz_schlaufe, {
127
127
  eknoten: { in: [nsgKnotenHgue.knotenso] }
@@ -522,7 +522,7 @@ class DLConverterI7 {
522
522
  rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(nsgTrafo2w.ausrichtung),
523
523
  diagramObjectName: `NetzTrafo ${netzTrafo2W.id}`,
524
524
  identifiedObjectUUID: powerTransformerUUID
525
- });
525
+ }, this.config);
526
526
  const createdDiagramObjects = [];
527
527
  createdDiagramObjects.push(powerTransformerDiagramObject);
528
528
  let terminal1DiagramObject;
@@ -534,7 +534,7 @@ class DLConverterI7 {
534
534
  rotation: null,
535
535
  diagramObjectName: 'Terminal 1',
536
536
  identifiedObjectUUID: powerTransformerEnd1TerminalUuid
537
- });
537
+ }, this.config);
538
538
  createdDiagramObjects.push(terminal1DiagramObject);
539
539
  }
540
540
  let terminal2DiagramObject;
@@ -546,7 +546,7 @@ class DLConverterI7 {
546
546
  rotation: null,
547
547
  diagramObjectName: 'Terminal 2',
548
548
  identifiedObjectUUID: powerTransformerEnd2TerminalUuid
549
- });
549
+ }, this.config);
550
550
  createdDiagramObjects.push(terminal2DiagramObject);
551
551
  }
552
552
  for (const diagramObject of createdDiagramObjects) {
@@ -593,7 +593,7 @@ class DLConverterI7 {
593
593
  rotation: (360 - (constants_1.NsgConstants.TAFO3W_RotationOrder.indexOf(nsgTrafo3w.ausrichtung) * 30 + 180) % 360) % 360,
594
594
  diagramObjectName: 'PowerTransformer',
595
595
  identifiedObjectUUID: powerTransformerUUID
596
- });
596
+ }, this.config);
597
597
  // Ermittle die Auswechslung der Enden
598
598
  const exchangeGroups = constants_1.NsgConstants.TRAFO3W_ExchangeGroups;
599
599
  let exchangeGroup = undefined;
@@ -624,7 +624,7 @@ class DLConverterI7 {
624
624
  yPosition: rotationenGroup[exchangeGroup[1]][1],
625
625
  diagramObjectName: 'Terminal 1',
626
626
  identifiedObjectUUID: powerTransformerEnd1TerminalUuid
627
- });
627
+ }, this.config);
628
628
  createdDiagramObjects.push(terminal1DiagramObject);
629
629
  }
630
630
  let terminal2DiagramObject;
@@ -635,7 +635,7 @@ class DLConverterI7 {
635
635
  yPosition: rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]][1],
636
636
  diagramObjectName: 'Terminal 2',
637
637
  identifiedObjectUUID: powerTransformerEnd2TerminalUuid
638
- });
638
+ }, this.config);
639
639
  createdDiagramObjects.push(terminal2DiagramObject);
640
640
  }
641
641
  let terminal3DiagramObject;
@@ -646,7 +646,7 @@ class DLConverterI7 {
646
646
  yPosition: rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]][1],
647
647
  diagramObjectName: 'Terminal 3',
648
648
  identifiedObjectUUID: powerTransformerEnd3TerminalUuid
649
- });
649
+ }, this.config);
650
650
  createdDiagramObjects.push(terminal3DiagramObject);
651
651
  }
652
652
  for (const diagramObject of createdDiagramObjects) {
@@ -763,12 +763,19 @@ class DLConverterI7 {
763
763
  var _a, _b;
764
764
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
765
765
  let netzLeitung;
766
+ netzLeitung = yield this.dbObjectGraph.findObjectByKey([convert_graph_keys_1.i7TableNames.netz_ersatzlaengszweig], convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung });
767
+ if (netzLeitung) {
768
+ return this.convertNsgErsatzlaengszweig(nsgLeitung, netzLeitung, splitLine);
769
+ }
766
770
  netzLeitung = yield this.dbObjectGraph.findObjectByKey([
767
- convert_graph_keys_1.i7TableNames.netz_leitung, convert_graph_keys_1.i7TableNames.netz_hgueleitung, convert_graph_keys_1.i7TableNames.netz_ersatzlaengszweig,
768
- convert_graph_keys_1.i7TableNames.netz_streckenlast
771
+ convert_graph_keys_1.i7TableNames.netz_leitung, convert_graph_keys_1.i7TableNames.netz_hgueleitung, convert_graph_keys_1.i7TableNames.netz_streckenlast
769
772
  ], convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung });
770
773
  if (!netzLeitung)
771
- return;
774
+ return null;
775
+ if (nsgLeitung.kopf_anf && nsgLeitung.kopf_end) {
776
+ // TODO: maybe export the positions of the 'kopf_anf' 'kopf_end'
777
+ return null;
778
+ }
772
779
  if ('teilung' in netzLeitung) {
773
780
  return this.convertNsgLeitungStreckenlast(nsgLeitung, netzLeitung, splitLine);
774
781
  }
@@ -787,7 +794,7 @@ class DLConverterI7 {
787
794
  else {
788
795
  generalNetzLeitung = netzLeitung;
789
796
  }
790
- const nsgLtgpunkte = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgltgpunkt, { nsgleitung: nsgLeitung.id });
797
+ const nsgLtgpunkte = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgltgpunkt, { nsgleitung: nsgLeitung.id, variantennr: nsgLeitung.variantennr });
791
798
  // Manche Leitung beinhalten keine Zwischenpunkte, sondern verlaufen lediglich zwischen dem Start- und Endpunkt
792
799
  // if (nsgLtgpunkte.length === 0) return;
793
800
  const cimObjectUUID = (_a = this.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung })) !== null && _a !== void 0 ? _a : undefined;
@@ -935,7 +942,7 @@ class DLConverterI7 {
935
942
  yPosition: segments[a][0][1],
936
943
  diagramObjectName: `CN ${a} - Netz-Leitung ${generalNetzLeitung.id}`,
937
944
  identifiedObjectUUID: connectivityNodeUUIDThisToPrev
938
- });
945
+ }, this.config);
939
946
  resultingDiagramObjects.push(doConnectivityNode);
940
947
  }
941
948
  // place the terminal
@@ -944,7 +951,7 @@ class DLConverterI7 {
944
951
  yPosition: segments[a][0][1],
945
952
  diagramObjectName: `T (Anf) ${a} - Netz-Leitung ${generalNetzLeitung.id}`,
946
953
  identifiedObjectUUID: terminalUUIDThisToPrevConnectivityNode
947
- });
954
+ }, this.config);
948
955
  resultingDiagramObjects.push(doTerminal);
949
956
  util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(doTerminal, segments[a][0], true);
950
957
  }
@@ -979,7 +986,7 @@ class DLConverterI7 {
979
986
  yPosition: segments[a][segments[a].length - 1][1],
980
987
  diagramObjectName: `CN ${a} - Netz-Leitung ${generalNetzLeitung.id}`,
981
988
  identifiedObjectUUID: connectivityNodeUUIDThisToNext
982
- });
989
+ }, this.config);
983
990
  resultingDiagramObjects.push(doConnectivityNode);
984
991
  }
985
992
  // place the terminal
@@ -988,7 +995,7 @@ class DLConverterI7 {
988
995
  yPosition: segments[a][segments[a].length - 1][1],
989
996
  diagramObjectName: `T (End) ${a} - Netz-Leitung ${generalNetzLeitung.id}`,
990
997
  identifiedObjectUUID: terminalUUIDThisToNextConnectivityNode
991
- });
998
+ }, this.config);
992
999
  resultingDiagramObjects.push(doTerminal);
993
1000
  util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(doTerminal, segments[a][segments[a].length - 1], true);
994
1001
  }
@@ -1037,6 +1044,152 @@ class DLConverterI7 {
1037
1044
  return resultingDiagramObjects;
1038
1045
  });
1039
1046
  }
1047
+ /**
1048
+ * convertSchemaLeitung
1049
+ */
1050
+ convertNsgErsatzlaengszweig(nsgLeitung, netzErsatzlaengszweig, splitLine = true) {
1051
+ var _a;
1052
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1053
+ if (nsgLeitung.kopf_anf && nsgLeitung.kopf_end) {
1054
+ // TODO: maybe export the positions of the 'kopf_anf' 'kopf_end'
1055
+ return null;
1056
+ }
1057
+ const nsgLtgpunkte = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgltgpunkt, { nsgleitung: nsgLeitung.id, variantennr: nsgLeitung.variantennr });
1058
+ // Manche Leitung beinhalten keine Zwischenpunkte, sondern verlaufen lediglich zwischen dem Start- und Endpunkt
1059
+ // if (nsgLtgpunkte.length === 0) return;
1060
+ const cimObjectUUID = (_a = this.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung })) !== null && _a !== void 0 ? _a : undefined;
1061
+ nsgLtgpunkte.sort((a, b) => a.pos - b.pos);
1062
+ const diagramObject = new DiagramObject_1.DiagramObject();
1063
+ diagramObject.name = `Leitung ${netzErsatzlaengszweig.id}`;
1064
+ diagramObject.identifiedObjectUUID = cimObjectUUID;
1065
+ diagramObject.mrid = common_utils_1.CommonUtils.generateUUID();
1066
+ diagramObject.rotation = null;
1067
+ const relStartPos = yield this.getRelPos(nsgLeitung, true);
1068
+ if (relStartPos === null)
1069
+ return null;
1070
+ const relEndPos = yield this.getRelPos(nsgLeitung, false);
1071
+ if (relEndPos === null)
1072
+ return null;
1073
+ const leftUpperCornerStartPos = yield this.getLeftUpperCornerOfUnspecified(nsgLeitung.variantennr, nsgLeitung.anschlussanf);
1074
+ const leftUpperCornerEndPos = yield this.getLeftUpperCornerOfUnspecified(nsgLeitung.variantennr, nsgLeitung.anschlussend);
1075
+ for (let a = 0; a < nsgLtgpunkte.length; ++a) {
1076
+ const nsgLtgpunkt = nsgLtgpunkte[a];
1077
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
1078
+ diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
1079
+ diagramObject.diagramObjectPoints.push(diagramObjectPoint);
1080
+ diagramObjectPoint.diagramObject = diagramObject;
1081
+ if (nsgLtgpunkt.userelpos === 1) {
1082
+ if (nsgLtgpunkt.reltoanf === 1) {
1083
+ diagramObjectPoint.xPosition = leftUpperCornerStartPos[0] + nsgLtgpunkt.xrel;
1084
+ diagramObjectPoint.yPosition = leftUpperCornerStartPos[1] + nsgLtgpunkt.yrel;
1085
+ }
1086
+ else if (nsgLtgpunkt.reltoanf === 0) {
1087
+ diagramObjectPoint.xPosition = leftUpperCornerEndPos[0] + nsgLtgpunkt.xrel;
1088
+ diagramObjectPoint.yPosition = leftUpperCornerEndPos[1] + nsgLtgpunkt.yrel;
1089
+ }
1090
+ }
1091
+ else {
1092
+ diagramObjectPoint.xPosition = nsgLtgpunkt.xrel;
1093
+ diagramObjectPoint.yPosition = nsgLtgpunkt.yrel;
1094
+ }
1095
+ }
1096
+ /*
1097
+ left:
1098
+ m: => x
1099
+ c: => y
1100
+ right:
1101
+ m: => x * (-1)
1102
+ c: => y * (-1)
1103
+ top:
1104
+ m: => y
1105
+ c: => x * (-1)
1106
+ bottom:
1107
+ m: => y * (-1)
1108
+ c: => x
1109
+ */
1110
+ const firstDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
1111
+ firstDiagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
1112
+ firstDiagramObjectPoint.xPosition = relStartPos[0]; // + xyOffsetFirstPoint[0];
1113
+ firstDiagramObjectPoint.yPosition = relStartPos[1]; // + xyOffsetFirstPoint[1];
1114
+ firstDiagramObjectPoint.diagramObject = diagramObject;
1115
+ diagramObject.diagramObjectPoints.unshift(firstDiagramObjectPoint);
1116
+ const lastDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
1117
+ lastDiagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
1118
+ lastDiagramObjectPoint.xPosition = relEndPos[0]; // + xyOffsetLastPoint[0];
1119
+ lastDiagramObjectPoint.yPosition = relEndPos[1]; // + xyOffsetLastPoint[1];
1120
+ lastDiagramObjectPoint.diagramObject = diagramObject;
1121
+ diagramObject.diagramObjectPoints.push(lastDiagramObjectPoint);
1122
+ for (let a = 0; a < diagramObject.diagramObjectPoints.length; ++a) {
1123
+ diagramObject.diagramObjectPoints[a].xPosition += 2;
1124
+ diagramObject.diagramObjectPoints[a].yPosition += 2;
1125
+ diagramObject.diagramObjectPoints[a].sequenceNumber = a + 1;
1126
+ }
1127
+ const resultingDiagramObjects = [];
1128
+ const centerOfLine = util_functions_1.DLUtilFunctions.getLineCenterPoint(diagramObject.diagramObjectPoints);
1129
+ const ersatzLaengszweigDiagramObject = new DiagramObject_1.DiagramObject();
1130
+ ersatzLaengszweigDiagramObject.name = `Leitung ${netzErsatzlaengszweig.id}`;
1131
+ ersatzLaengszweigDiagramObject.identifiedObjectUUID = cimObjectUUID;
1132
+ ersatzLaengszweigDiagramObject.mrid = common_utils_1.CommonUtils.generateUUID();
1133
+ ersatzLaengszweigDiagramObject.rotation = 90;
1134
+ const centeredDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
1135
+ centeredDiagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
1136
+ centeredDiagramObjectPoint.xPosition = centerOfLine.x;
1137
+ centeredDiagramObjectPoint.yPosition = centerOfLine.y;
1138
+ centeredDiagramObjectPoint.diagramObject = ersatzLaengszweigDiagramObject;
1139
+ ersatzLaengszweigDiagramObject.diagramObjectPoints.unshift(centeredDiagramObjectPoint);
1140
+ resultingDiagramObjects.push(ersatzLaengszweigDiagramObject);
1141
+ // split the line in two parts
1142
+ // assign the first half to the first terminal and the second half to the second terminal
1143
+ const firstHalfPoints = [];
1144
+ for (let a = 0; a <= centerOfLine.segmentStart; ++a) {
1145
+ const diagramObjectPoint = diagramObject.diagramObjectPoints[a];
1146
+ firstHalfPoints.push([diagramObjectPoint.getXPosition(), diagramObjectPoint.getYPosition()]);
1147
+ }
1148
+ firstHalfPoints.push([centeredDiagramObjectPoint.getXPosition(), centeredDiagramObjectPoint.getYPosition()]);
1149
+ const secondHalfPoints = [];
1150
+ secondHalfPoints.push([centeredDiagramObjectPoint.getXPosition(), centeredDiagramObjectPoint.getYPosition()]);
1151
+ for (let a = centerOfLine.segmentEnd; a < diagramObject.diagramObjectPoints.length; ++a) {
1152
+ const diagramObjectPoint = diagramObject.diagramObjectPoints[a];
1153
+ secondHalfPoints.push([diagramObjectPoint.getXPosition(), diagramObjectPoint.getYPosition()]);
1154
+ }
1155
+ /* ---------- ---------- ---------- */
1156
+ // BEGIN: export the first terminal
1157
+ // try {
1158
+ const anschlussanfTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
1159
+ variantennr: nsgLeitung.variantennr, id: nsgLeitung.anschlussanf
1160
+ });
1161
+ const aknotenTerminalUUID = this.lookupTerminalUUID(netzErsatzlaengszweig.aknoten, netzErsatzlaengszweig.id);
1162
+ if (anschlussanfTypedResult && aknotenTerminalUUID) {
1163
+ const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussanfTypedResult.type, anschlussanfTypedResult.object);
1164
+ const anfTerminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
1165
+ // reversed, because otherwise the connectivityNode-Position and the centerPoint are directly "behind" each other
1166
+ points: [...firstHalfPoints.reverse(), connectivityNodePosition],
1167
+ terminalUuid: aknotenTerminalUUID,
1168
+ name: 'Terminal Leitung-Anf'
1169
+ });
1170
+ resultingDiagramObjects.push(anfTerminalDiagramObject);
1171
+ }
1172
+ const anschlussendTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
1173
+ variantennr: nsgLeitung.variantennr, id: nsgLeitung.anschlussend
1174
+ });
1175
+ const eknotenTerminalUUID = this.lookupTerminalUUID(netzErsatzlaengszweig.eknoten, netzErsatzlaengszweig.id);
1176
+ if (anschlussendTypedResult && eknotenTerminalUUID) {
1177
+ const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussendTypedResult.type, anschlussendTypedResult.object);
1178
+ const endTerminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
1179
+ points: [...secondHalfPoints, connectivityNodePosition],
1180
+ terminalUuid: eknotenTerminalUUID,
1181
+ name: 'Terminal Leitung-End'
1182
+ });
1183
+ resultingDiagramObjects.push(endTerminalDiagramObject);
1184
+ }
1185
+ // } catch (e) {
1186
+ // console.log(e)
1187
+ // }
1188
+ // END: export the last terminal
1189
+ /* ---------- ---------- ---------- */
1190
+ return resultingDiagramObjects;
1191
+ });
1192
+ }
1040
1193
  /**
1041
1194
  * convertSchemaQuerzweig
1042
1195
  */
@@ -1083,7 +1236,7 @@ class DLConverterI7 {
1083
1236
  rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(nsgQuerzweig.ausrichtung),
1084
1237
  diagramObjectName: `DiagramObject ${nsgQuerzweig.querzweig}`,
1085
1238
  identifiedObjectUUID: cimObjectUUID
1086
- });
1239
+ }, this.config);
1087
1240
  if (!this.alreadyExported(nsgQuerzweig.variantennr, nsgQuerzweig.querzweig)) {
1088
1241
  this.addExportedDiagramObjectToGraph(nsgQuerzweig.variantennr, nsgQuerzweig.querzweig, querzweigDiagramObject);
1089
1242
  resultingDiagramObjects.push(querzweigDiagramObject);
@@ -1113,7 +1266,7 @@ class DLConverterI7 {
1113
1266
  convertNsgLeitungStreckenlast(nsgLeitung, netzStreckenlast, splitLine = true) {
1114
1267
  var _a, _b;
1115
1268
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1116
- const nsgLtgpunkte = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgltgpunkt, { nsgleitung: nsgLeitung.id });
1269
+ const nsgLtgpunkte = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgltgpunkt, { nsgleitung: nsgLeitung.id, variantennr: nsgLeitung.variantennr });
1117
1270
  // Manche Leitung beinhalten keine Zwischenpunkte, sondern verlaufen lediglich zwischen dem Start- und Endpunkt
1118
1271
  // if (nsgLtgpunkte.length === 0) return;
1119
1272
  const cimObjectUUID = (_a = this.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung })) !== null && _a !== void 0 ? _a : undefined;
@@ -1261,7 +1414,7 @@ class DLConverterI7 {
1261
1414
  yPosition: segments[a][0][1],
1262
1415
  diagramObjectName: `CN ${a} - Netz-Leitung ${netzStreckenlast.id}`,
1263
1416
  identifiedObjectUUID: connectivityNodeUUIDThisToPrev
1264
- });
1417
+ }, this.config);
1265
1418
  resultingDiagramObjects.push(doConnectivityNode);
1266
1419
  }
1267
1420
  // place the terminal
@@ -1270,7 +1423,7 @@ class DLConverterI7 {
1270
1423
  yPosition: segments[a][0][1],
1271
1424
  diagramObjectName: `T (Anf) ${a} - Netz-Leitung ${netzStreckenlast.id}`,
1272
1425
  identifiedObjectUUID: terminalUUIDThisToPrevConnectivityNode
1273
- });
1426
+ }, this.config);
1274
1427
  resultingDiagramObjects.push(doTerminal);
1275
1428
  util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(doTerminal, segments[a][0], true);
1276
1429
  }
@@ -1305,7 +1458,7 @@ class DLConverterI7 {
1305
1458
  yPosition: segments[a][segments[a].length - 1][1],
1306
1459
  diagramObjectName: `CN ${a} - Netz-Leitung ${netzStreckenlast.id}`,
1307
1460
  identifiedObjectUUID: connectivityNodeUUIDThisToNext
1308
- });
1461
+ }, this.config);
1309
1462
  resultingDiagramObjects.push(doConnectivityNode);
1310
1463
  }
1311
1464
  // place the terminal
@@ -1314,7 +1467,7 @@ class DLConverterI7 {
1314
1467
  yPosition: segments[a][segments[a].length - 1][1],
1315
1468
  diagramObjectName: `T (End) ${a} - Netz-Leitung ${netzStreckenlast.id}`,
1316
1469
  identifiedObjectUUID: terminalUUIDThisToNextConnectivityNode
1317
- });
1470
+ }, this.config);
1318
1471
  resultingDiagramObjects.push(doTerminal);
1319
1472
  util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(doTerminal, segments[a][segments[a].length - 1], true);
1320
1473
  }
@@ -1391,7 +1544,9 @@ class DLConverterI7 {
1391
1544
  const { type, object } = typedResult;
1392
1545
  let xPosition = nsgQuerzweigqzcont.xrel + 8;
1393
1546
  let yPosition = nsgQuerzweigqzcont.yrel + 8;
1394
- const nsgQuerzweigqzContelems = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgquerzweigqzcontelem, { constainer: nsgQuerzweigqzcont.id });
1547
+ const nsgQuerzweigqzContelems = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgquerzweigqzcontelem,
1548
+ // 'constainer' is correct!
1549
+ { constainer: nsgQuerzweigqzcont.id, variantennr: nsgQuerzweigqzcont.variantennr });
1395
1550
  // if (!querzweigWrapperObject) {
1396
1551
  // return null;
1397
1552
  // }
@@ -1424,7 +1579,7 @@ class DLConverterI7 {
1424
1579
  rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(nsgQuerzweigqzcont.ausrichtung),
1425
1580
  diagramObjectName: `DiagramObject ${nsgQuerzweigqzcont.querzweig}`,
1426
1581
  identifiedObjectUUID: cimObjectUUID
1427
- });
1582
+ }, this.config);
1428
1583
  this.addExportedDiagramObjectToGraph(nsgQuerzweigqzcont.variantennr, nsgQuerzweigqzcont.querzweig, querzweigDiagramObject);
1429
1584
  resultingDiagramObjects.push(querzweigDiagramObject);
1430
1585
  /* ---------- ---------- ---------- */
@@ -2649,7 +2804,116 @@ class DLConverterI7 {
2649
2804
  });
2650
2805
  }
2651
2806
  /**
2652
- * convertSchemaStpschiene
2807
+ * convertSchemaLDrossel
2808
+ */
2809
+ convertSchemaLDrossel(nsgLDrossel) {
2810
+ var _a;
2811
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
2812
+ const resultingDiagramObjects = [];
2813
+ const leftUpperCornerOfNsgLDrossel = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgldrossel, nsgLDrossel);
2814
+ const ldrossel = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.netz_ldrossel, convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLDrossel.ldrossel });
2815
+ if (!ldrossel)
2816
+ return null;
2817
+ const pos = [...leftUpperCornerOfNsgLDrossel];
2818
+ const anfPos = [...leftUpperCornerOfNsgLDrossel];
2819
+ const endPos = [...leftUpperCornerOfNsgLDrossel];
2820
+ switch (nsgLDrossel.ausrichtung) {
2821
+ case 0: // <-- anschlussend || anschlussanf -->
2822
+ pos[0] += 24;
2823
+ pos[1] += 16;
2824
+ anfPos[0] += 48;
2825
+ anfPos[1] += 16;
2826
+ endPos[0] += 0;
2827
+ endPos[1] += 16;
2828
+ break;
2829
+ case 1:
2830
+ pos[0] += 16;
2831
+ pos[1] += 24;
2832
+ anfPos[0] += 16;
2833
+ anfPos[1] += 48;
2834
+ endPos[0] += 16;
2835
+ endPos[1] += 0;
2836
+ break;
2837
+ case 2:
2838
+ pos[0] += 24;
2839
+ pos[1] += 16;
2840
+ anfPos[0] += 0;
2841
+ anfPos[1] += 16;
2842
+ endPos[0] += 48;
2843
+ endPos[1] += 16;
2844
+ break;
2845
+ case 3:
2846
+ pos[0] += 16;
2847
+ pos[1] += 24;
2848
+ anfPos[0] += 16;
2849
+ anfPos[1] += 0;
2850
+ endPos[0] += 16;
2851
+ endPos[1] += 48;
2852
+ break;
2853
+ }
2854
+ const cimObjectUUID = (_a = this.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLDrossel.ldrossel })) !== null && _a !== void 0 ? _a : undefined;
2855
+ const doLDrossel = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
2856
+ xPosition: pos[0],
2857
+ yPosition: pos[1],
2858
+ rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(nsgLDrossel.ausrichtung),
2859
+ diagramObjectName: `DiagramObject ${nsgLDrossel.ldrossel}`,
2860
+ identifiedObjectUUID: cimObjectUUID
2861
+ }, this.config);
2862
+ if (!this.alreadyExported(nsgLDrossel.variantennr, nsgLDrossel.id)) {
2863
+ this.addExportedDiagramObjectToGraph(nsgLDrossel.variantennr, nsgLDrossel.id, doLDrossel);
2864
+ resultingDiagramObjects.push(doLDrossel);
2865
+ }
2866
+ /* ---------- ---------- ---------- */
2867
+ // BEGIN: Terminal-Export
2868
+ const anschlussanfTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
2869
+ variantennr: nsgLDrossel.variantennr, id: nsgLDrossel.anschlussanf
2870
+ });
2871
+ const anfTerminalUUID = this.lookupTerminalUUID(ldrossel.aknoten, nsgLDrossel.ldrossel);
2872
+ if (anschlussanfTypedResult && anfTerminalUUID) {
2873
+ if (!this.exportedTerminalUUIDs.has(anfTerminalUUID)) {
2874
+ const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussanfTypedResult.type, anschlussanfTypedResult.object);
2875
+ this.exportedTerminalUUIDs.add(anfTerminalUUID);
2876
+ const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
2877
+ cePoints: anfPos, cnPoints: connectivityNodePosition,
2878
+ terminalUuid: anfTerminalUUID
2879
+ });
2880
+ resultingDiagramObjects.push(terminalDiagramObject);
2881
+ }
2882
+ }
2883
+ const anschlussendTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
2884
+ variantennr: nsgLDrossel.variantennr, id: nsgLDrossel.anschlussend
2885
+ });
2886
+ const endTerminalUUID = this.lookupTerminalUUID(ldrossel.eknoten, nsgLDrossel.ldrossel);
2887
+ if (anschlussendTypedResult && endTerminalUUID) {
2888
+ if (!this.exportedTerminalUUIDs.has(endTerminalUUID)) {
2889
+ const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussendTypedResult.type, anschlussendTypedResult.object);
2890
+ this.exportedTerminalUUIDs.add(endTerminalUUID);
2891
+ const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
2892
+ cePoints: endPos, cnPoints: connectivityNodePosition,
2893
+ terminalUuid: endTerminalUUID
2894
+ });
2895
+ resultingDiagramObjects.push(terminalDiagramObject);
2896
+ }
2897
+ }
2898
+ // const doEndConnectivityNode = this.exportedDiagramObjectsGraph[nsgLKondensator.variantennr][nsgLKondensator.anschlussend];
2899
+ // const dopEndConnectivityNode = doEndConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
2900
+ //
2901
+ // const endTerminalUUID = this.lookupTerminalUUID(nsgLKondensator.anschlussend, nsgLKondensator.id);
2902
+ // if (!this.exportedTerminalUUIDs.has(endTerminalUUID)) {
2903
+ // this.exportedTerminalUUIDs.add(endTerminalUUID);
2904
+ // const terminalDiagramObject = DLUtilFunctions.createDiagramObjectWithPoints(
2905
+ // [[...dopEndConnectivityNode], [...endPos]], null
2906
+ // );
2907
+ // terminalDiagramObject.identifiedObjectUUID = endTerminalUUID;
2908
+ // resultingDiagramObjects.push(terminalDiagramObject);
2909
+ // }
2910
+ // END: Terminal-Export
2911
+ /* ---------- ---------- ---------- */
2912
+ return resultingDiagramObjects;
2913
+ });
2914
+ }
2915
+ /**
2916
+ * convertSchemaLKondensator
2653
2917
  */
2654
2918
  convertSchemaLKondensator(nsgLKondensator) {
2655
2919
  var _a;
@@ -2703,7 +2967,7 @@ class DLConverterI7 {
2703
2967
  rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(nsgLKondensator.ausrichtung),
2704
2968
  diagramObjectName: `DiagramObject ${nsgLKondensator.lkondensator}`,
2705
2969
  identifiedObjectUUID: cimObjectUUID
2706
- });
2970
+ }, this.config);
2707
2971
  if (!this.alreadyExported(nsgLKondensator.variantennr, nsgLKondensator.id)) {
2708
2972
  this.addExportedDiagramObjectToGraph(nsgLKondensator.variantennr, nsgLKondensator.id, doLKondensator);
2709
2973
  resultingDiagramObjects.push(doLKondensator);
@@ -2854,7 +3118,7 @@ class DLConverterI7 {
2854
3118
  yPosition: coords[1],
2855
3119
  diagramObjectName: 'NsgStpknoten',
2856
3120
  identifiedObjectUUID: cimObjectUUID
2857
- });
3121
+ }, this.config);
2858
3122
  this.addExportedDiagramObjectToGraph(nsgStpknoten.variantennr, nsgStpknoten.id, doStpknoten);
2859
3123
  resultingDiagramObjects.push(doStpknoten);
2860
3124
  // // TODO grounding
@@ -2899,7 +3163,7 @@ class DLConverterI7 {
2899
3163
  yPosition: coords[1],
2900
3164
  diagramObjectName: 'NsgStpknoten',
2901
3165
  identifiedObjectUUID: cimObjectUUID
2902
- });
3166
+ }, this.config);
2903
3167
  this.addExportedDiagramObjectToGraph(nsgStpimpedanz.variantennr, nsgStpimpedanz.id, doStpknoten);
2904
3168
  resultingDiagramObjects.push(doStpknoten);
2905
3169
  return resultingDiagramObjects;
@@ -2974,14 +3238,14 @@ class DLConverterI7 {
2974
3238
  rotation: rotationValue,
2975
3239
  diagramObjectName: `NsgStpschaltfeld-Node ${schaltelement1pelem.id}`,
2976
3240
  identifiedObjectUUID: equipmentUUID
2977
- });
3241
+ }, this.config);
2978
3242
  const connectivityNodeBayEndUUID = (_b = this.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: schaltelement1pelem.eknoten })) !== null && _b !== void 0 ? _b : undefined;
2979
3243
  const doConnectivityNodeBayEnd = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
2980
3244
  xPosition: coordsConnectivityNodeBayEnd[0],
2981
3245
  yPosition: coordsConnectivityNodeBayEnd[1],
2982
3246
  diagramObjectName: `ConnectivityNodeBayEnd ${schaltelement1pelem.eknoten}`,
2983
3247
  identifiedObjectUUID: connectivityNodeBayEndUUID
2984
- });
3248
+ }, this.config);
2985
3249
  const doTerminal1 = this.createTerminalDiagramObjectFromPoints({
2986
3250
  cePoints: [...coordsConnectivityNodeBusbarSection], cnPoints: [...coordsEquipment],
2987
3251
  terminalUuid: this.lookupTerminalUUID(schaltelement1pelem.aknoten, schaltelement1pelem.id)
@@ -3359,6 +3623,19 @@ class DLConverterI7 {
3359
3623
  coords[1] += nsgStpimpedanz.yrel;
3360
3624
  return coords;
3361
3625
  }
3626
+ else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgldrossel) {
3627
+ /* ---------- ---------- ---------- */
3628
+ /* NsgLDrossel */
3629
+ /* ---------- ---------- ---------- */
3630
+ const nsgLDrossel = object;
3631
+ const nsgStandort = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgLDrossel.variantennr, id: nsgLDrossel.nsgso });
3632
+ if (!nsgStandort)
3633
+ return;
3634
+ const leftUpperCornerOfNsgSo = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, nsgStandort);
3635
+ leftUpperCornerOfNsgSo[0] += nsgLDrossel.xrel;
3636
+ leftUpperCornerOfNsgSo[1] += nsgLDrossel.yrel;
3637
+ return leftUpperCornerOfNsgSo;
3638
+ }
3362
3639
  else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsglkondensator) {
3363
3640
  /* ---------- ---------- ---------- */
3364
3641
  /* NsgLKondensator */