@enervance/insight-cim-model 0.0.47 → 0.0.49

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 (333) hide show
  1. package/README.md +41 -22
  2. package/dist/analysis/analysis-neplan/digi-ons.js +11 -2
  3. package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -1
  4. package/dist/config/westnetz-integral7/integral7-load.config.js +1 -1
  5. package/dist/config/westnetz-integral7/integral7-load.config.js.map +1 -1
  6. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.d.ts +5 -5
  7. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +8 -13
  8. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  9. package/dist/config/westnetz-neplan/callbacks/cb-psr.d.ts +1 -1
  10. package/dist/config/westnetz-neplan/callbacks/cb-psr.js +1 -1
  11. package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.d.ts +1 -1
  12. package/dist/config/westnetz-neplan/neplan-load.config.js +1 -1
  13. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  14. package/dist/config/westnetz-neplan/property-handler-westenergy.config.d.ts +3 -3
  15. package/dist/constants/cim-class-definition.js +6 -0
  16. package/dist/constants/cim-class-definition.js.map +1 -1
  17. package/dist/constants/cim-class-names.d.ts +6 -1
  18. package/dist/constants/cim-class-names.js +6 -1
  19. package/dist/constants/cim-class-names.js.map +1 -1
  20. package/dist/constants/cim.sourcesystem.d.ts +6 -0
  21. package/dist/constants/cim.sourcesystem.js +11 -0
  22. package/dist/constants/cim.sourcesystem.js.map +1 -0
  23. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.d.ts +1 -1
  24. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.js +55 -1
  25. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.js.map +1 -1
  26. package/dist/constants/init-data/ASSSET_OWNER.d.ts +1 -1
  27. package/dist/constants/init-data/ASSSET_OWNER.js +18 -1
  28. package/dist/constants/init-data/ASSSET_OWNER.js.map +1 -1
  29. package/dist/constants/init-data/PSR_TYPES.d.ts +1 -1
  30. package/dist/constants/init-data/PSR_TYPES.js +99 -1
  31. package/dist/constants/init-data/PSR_TYPES.js.map +1 -1
  32. package/dist/constants/init-data/RZ.d.ts +1 -1
  33. package/dist/constants/init-data/RZ.js +54 -0
  34. package/dist/constants/init-data/RZ.js.map +1 -1
  35. package/dist/constants/init-data/xml/settings.d.ts +1 -1
  36. package/dist/constants/init-data/xml/settings.js +64 -0
  37. package/dist/constants/init-data/xml/settings.js.map +1 -1
  38. package/dist/constants/util-init.js +8 -0
  39. package/dist/constants/util-init.js.map +1 -1
  40. package/dist/converter/integral7/converter-i7.d.ts +10 -3
  41. package/dist/converter/integral7/converter-i7.js +1050 -300
  42. package/dist/converter/integral7/converter-i7.js.map +1 -1
  43. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +15 -1
  44. package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
  45. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +16 -1
  46. package/dist/converter/integral7/interface-i7/export-frame-i7.js +43 -1
  47. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  48. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.d.ts +7 -0
  49. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js +7 -0
  50. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js.map +1 -0
  51. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.d.ts +16 -0
  52. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js +25 -0
  53. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js.map +1 -0
  54. package/dist/converter/integral7/model/dl-utils/constants.d.ts +68 -0
  55. package/dist/converter/integral7/model/dl-utils/constants.js +56 -0
  56. package/dist/converter/integral7/model/dl-utils/constants.js.map +1 -1
  57. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +26 -0
  58. package/dist/converter/integral7/model/dl-utils/util-functions.js +457 -0
  59. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -0
  60. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.d.ts +7 -0
  61. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js +13 -0
  62. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js.map +1 -0
  63. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js.map +1 -1
  64. package/dist/converter/integral7/model/integral/SchaltfeldNsg.d.ts +3 -6
  65. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js.map +1 -1
  66. package/dist/converter/integral7/model/integral/Trafo2wNsg.d.ts +9 -1
  67. package/dist/converter/integral7/model/integral/Trafo2wNsg.js +10 -1
  68. package/dist/converter/integral7/model/integral/Trafo2wNsg.js.map +1 -1
  69. package/dist/converter/integral7/model/integral/Trafo3w.d.ts +11 -0
  70. package/dist/converter/integral7/model/integral/Trafo3w.js +15 -0
  71. package/dist/converter/integral7/model/integral/Trafo3w.js.map +1 -0
  72. package/dist/converter/integral7/model/integral/Trafo3wNsg.d.ts +13 -0
  73. package/dist/converter/integral7/model/integral/Trafo3wNsg.js +19 -0
  74. package/dist/converter/integral7/model/integral/Trafo3wNsg.js.map +1 -0
  75. package/dist/converter/integral7/model/interfaces.d.ts +55 -16
  76. package/dist/converter/integral7/model/interfaces.js.map +1 -1
  77. package/dist/converter/integral7/sql/integral.sql.d.ts +10 -0
  78. package/dist/converter/integral7/sql/integral.sql.js +68 -18
  79. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  80. package/dist/converter/integral7/utils-schema.d.ts +3 -1
  81. package/dist/converter/integral7/utils-schema.js +23 -1
  82. package/dist/converter/integral7/utils-schema.js.map +1 -1
  83. package/dist/converter/integral7/utils.js +29 -25
  84. package/dist/converter/integral7/utils.js.map +1 -1
  85. package/dist/etl/etl-neplan/etl-neplan-csv.js +48 -42
  86. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  87. package/dist/etl/etl-neplan/etl-neplan-geo.js +16 -16
  88. package/dist/etl/etl-neplan/etl-neplan.js +17 -17
  89. package/dist/factory/factory-interfaces.d.ts +26 -0
  90. package/dist/factory/factory-interfaces.js +3 -0
  91. package/dist/factory/factory-interfaces.js.map +1 -0
  92. package/dist/factory/object-factory.d.ts +7 -0
  93. package/dist/factory/object-factory.js +37 -0
  94. package/dist/factory/object-factory.js.map +1 -0
  95. package/dist/factory/sparql-factory.d.ts +6 -0
  96. package/dist/factory/sparql-factory.js +16 -0
  97. package/dist/factory/sparql-factory.js.map +1 -0
  98. package/dist/index.d.ts +6 -1
  99. package/dist/index.js +11 -1
  100. package/dist/index.js.map +1 -1
  101. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +1 -1
  102. package/dist/interfaces/model/extensions/wires/IACLineSubSegment.d.ts +4 -0
  103. package/dist/interfaces/model/extensions/wires/IACLineSubSegment.js +3 -0
  104. package/dist/interfaces/model/extensions/wires/IACLineSubSegment.js.map +1 -0
  105. package/dist/interfaces/{persistence-interfaces.js → persistence.interfaces.js} +1 -1
  106. package/dist/interfaces/persistence.interfaces.js.map +1 -0
  107. package/dist/model/alternate-models/AlternateModel.d.ts +10 -0
  108. package/dist/model/alternate-models/AlternateModel.js +17 -0
  109. package/dist/model/alternate-models/AlternateModel.js.map +1 -0
  110. package/dist/model/alternate-models/AlternateModelGroup.d.ts +8 -0
  111. package/dist/model/alternate-models/AlternateModelGroup.js +22 -0
  112. package/dist/model/alternate-models/AlternateModelGroup.js.map +1 -0
  113. package/dist/model/assetinfo/SwitchInfo.js +19 -19
  114. package/dist/model/assetinfo/WireInfo.js +3 -3
  115. package/dist/model/assets/Asset.js +30 -30
  116. package/dist/model/assets/AssetDeployment.js +48 -48
  117. package/dist/model/assets/Facility.js +36 -36
  118. package/dist/model/common/CoordinateSystem.js +17 -17
  119. package/dist/model/common/Location.js +22 -22
  120. package/dist/model/common/PositionPoint.js +25 -25
  121. package/dist/model/core/BaseVoltage.js +22 -22
  122. package/dist/model/core/Bay.d.ts +1 -1
  123. package/dist/model/core/Bay.js +2 -2
  124. package/dist/model/core/Bay.js.map +1 -1
  125. package/dist/model/core/ConductingEquipment.d.ts +1 -1
  126. package/dist/model/core/ConductingEquipment.js +2 -2
  127. package/dist/model/core/ConductingEquipment.js.map +1 -1
  128. package/dist/model/core/ConnectivityNode.js +26 -30
  129. package/dist/model/core/ConnectivityNode.js.map +1 -1
  130. package/dist/model/core/ConnectivityNodeContainer.d.ts +1 -1
  131. package/dist/model/core/ConnectivityNodeContainer.js +2 -2
  132. package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
  133. package/dist/model/core/Equipment.d.ts +1 -1
  134. package/dist/model/core/Equipment.js +3 -3
  135. package/dist/model/core/Equipment.js.map +1 -1
  136. package/dist/model/core/EquipmentContainer.d.ts +1 -1
  137. package/dist/model/core/EquipmentContainer.js +2 -2
  138. package/dist/model/core/EquipmentContainer.js.map +1 -1
  139. package/dist/model/core/Feeder.js +29 -29
  140. package/dist/model/core/IdentifiedObject.d.ts +8 -3
  141. package/dist/model/core/IdentifiedObject.js +16 -14
  142. package/dist/model/core/IdentifiedObject.js.map +1 -1
  143. package/dist/model/core/PowerSystemResource.d.ts +2 -2
  144. package/dist/model/core/PowerSystemResource.js +2 -2
  145. package/dist/model/core/PowerSystemResource.js.map +1 -1
  146. package/dist/model/core/Substation.d.ts +2 -1
  147. package/dist/model/core/Substation.js +10 -2
  148. package/dist/model/core/Substation.js.map +1 -1
  149. package/dist/model/core/Terminal.js +31 -31
  150. package/dist/model/core/VoltageLevel.d.ts +1 -1
  151. package/dist/model/core/VoltageLevel.js +2 -2
  152. package/dist/model/core/VoltageLevel.js.map +1 -1
  153. package/dist/model/dc/DCLine.js +17 -17
  154. package/dist/model/diagram/Diagram.d.ts +1 -1
  155. package/dist/model/diagram/Diagram.js +22 -22
  156. package/dist/model/diagram/Diagram.js.map +1 -1
  157. package/dist/model/diagram/DiagramObject.js +26 -26
  158. package/dist/model/diagram/DiagramObject.js.map +1 -1
  159. package/dist/model/diagram/DiagramObjectPoint.js +47 -47
  160. package/dist/model/equivalents/EquivalentInjection.js +1 -2
  161. package/dist/model/equivalents/EquivalentInjection.js.map +1 -1
  162. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +22 -22
  163. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +22 -22
  164. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +22 -22
  165. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +22 -22
  166. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +22 -22
  167. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js +19 -19
  168. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +60 -60
  169. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +22 -22
  170. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +22 -22
  171. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +22 -22
  172. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +49 -49
  173. package/dist/model/extensions/amprion/assets/AMPRIONState.js +21 -21
  174. package/dist/model/extensions/amprion/assets/AMPRIONTower.d.ts +1 -0
  175. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +52 -50
  176. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -1
  177. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +68 -68
  178. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -1
  179. package/dist/model/extensions/amprion/core/AMPRIONBay.js +26 -26
  180. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +5 -0
  181. package/dist/model/extensions/amprion/core/AMPRIONLine.js +39 -21
  182. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
  183. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +25 -25
  184. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -1
  185. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +4 -3
  186. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  187. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.d.ts +1 -0
  188. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js +1 -0
  189. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
  190. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +4 -1
  191. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +44 -40
  192. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -1
  193. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.d.ts +15 -0
  194. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js +74 -0
  195. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js.map +1 -0
  196. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +38 -38
  197. package/dist/model/extensions/enervance/diagram/EVDiagram.d.ts +5 -0
  198. package/dist/model/extensions/enervance/diagram/EVDiagram.js +17 -0
  199. package/dist/model/extensions/enervance/diagram/EVDiagram.js.map +1 -0
  200. package/dist/model/extensions/enervance/model/EVModel.d.ts +11 -0
  201. package/dist/model/extensions/enervance/model/EVModel.js +45 -0
  202. package/dist/model/extensions/enervance/model/EVModel.js.map +1 -0
  203. package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +1 -1
  204. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +2 -2
  205. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  206. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.d.ts +1 -1
  207. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +34 -34
  208. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  209. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js +17 -7
  210. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js.map +1 -1
  211. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.d.ts +1 -0
  212. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js +11 -10
  213. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js.map +1 -1
  214. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +1 -1
  215. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
  216. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js +10 -12
  217. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js.map +1 -1
  218. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js +11 -13
  219. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js.map +1 -1
  220. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.d.ts +1 -0
  221. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +10 -9
  222. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
  223. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +33 -33
  224. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.d.ts +1 -1
  225. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +1 -1
  226. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -1
  227. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +40 -40
  228. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +31 -31
  229. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  230. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +34 -34
  231. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.d.ts +1 -1
  232. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +2 -2
  233. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
  234. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +1 -1
  235. package/dist/model/generation/GeneratingUnit.js +36 -36
  236. package/dist/model/generic-data-set/ChangeSet.d.ts +8 -0
  237. package/dist/model/generic-data-set/ChangeSet.js +13 -0
  238. package/dist/model/generic-data-set/ChangeSet.js.map +1 -0
  239. package/dist/model/generic-data-set/ChangeSetMember.d.ts +8 -0
  240. package/dist/model/generic-data-set/ChangeSetMember.js +11 -0
  241. package/dist/model/generic-data-set/ChangeSetMember.js.map +1 -0
  242. package/dist/model/generic-data-set/DataSet.d.ts +10 -0
  243. package/dist/model/generic-data-set/DataSet.js +16 -0
  244. package/dist/model/generic-data-set/DataSet.js.map +1 -0
  245. package/dist/model/generic-data-set/InstanceSet.d.ts +8 -0
  246. package/dist/model/generic-data-set/InstanceSet.js +13 -0
  247. package/dist/model/generic-data-set/InstanceSet.js.map +1 -0
  248. package/dist/model/generic-data-set/ObjectCreation.d.ts +4 -0
  249. package/dist/model/generic-data-set/ObjectCreation.js +15 -0
  250. package/dist/model/generic-data-set/ObjectCreation.js.map +1 -0
  251. package/dist/model/generic-data-set/ObjectDeletion.d.ts +4 -0
  252. package/dist/model/generic-data-set/ObjectDeletion.js +15 -0
  253. package/dist/model/generic-data-set/ObjectDeletion.js.map +1 -0
  254. package/dist/model/generic-data-set/ObjectModification.d.ts +6 -0
  255. package/dist/model/generic-data-set/ObjectModification.js +11 -0
  256. package/dist/model/generic-data-set/ObjectModification.js.map +1 -0
  257. package/dist/model/generic-data-set/ObjectReverseModification.d.ts +6 -0
  258. package/dist/model/generic-data-set/ObjectReverseModification.js +11 -0
  259. package/dist/model/generic-data-set/ObjectReverseModification.js.map +1 -0
  260. package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
  261. package/dist/model/loadmodel/LoadArea.js +21 -21
  262. package/dist/model/loadmodel/SubLoadArea.js +22 -22
  263. package/dist/model/model/Model.d.ts +4 -4
  264. package/dist/model/model/Model.js.map +1 -1
  265. package/dist/model/model-operations/DatasetArg.d.ts +6 -0
  266. package/dist/model/model-operations/DatasetArg.js +11 -0
  267. package/dist/model/model-operations/DatasetArg.js.map +1 -0
  268. package/dist/model/model-operations/IncrementalDatasetArg.d.ts +8 -0
  269. package/dist/model/model-operations/IncrementalDatasetArg.js +11 -0
  270. package/dist/model/model-operations/IncrementalDatasetArg.js.map +1 -0
  271. package/dist/model/model-operations/IncrementalDatasetArgDescription.d.ts +6 -0
  272. package/dist/model/model-operations/IncrementalDatasetArgDescription.js +12 -0
  273. package/dist/model/model-operations/IncrementalDatasetArgDescription.js.map +1 -0
  274. package/dist/model/model-operations/ModelOperation.d.ts +7 -0
  275. package/dist/model/model-operations/ModelOperation.js +11 -0
  276. package/dist/model/model-operations/ModelOperation.js.map +1 -0
  277. package/dist/model/model-operations/ModelOperationArg.d.ts +5 -0
  278. package/dist/model/model-operations/ModelOperationArg.js +11 -0
  279. package/dist/model/model-operations/ModelOperationArg.js.map +1 -0
  280. package/dist/model/model-operations/ModelOperationArgDescription.d.ts +8 -0
  281. package/dist/model/model-operations/ModelOperationArgDescription.js +11 -0
  282. package/dist/model/model-operations/ModelOperationArgDescription.js.map +1 -0
  283. package/dist/model/model-operations/ModelOperationDescription.d.ts +7 -0
  284. package/dist/model/model-operations/ModelOperationDescription.js +13 -0
  285. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -0
  286. package/dist/model/operationallimits/CurrentLimit.js +19 -19
  287. package/dist/model/operationallimits/OperationalLimitSet.js +18 -18
  288. package/dist/model/operationallimits/OperationalLimitType.js +16 -16
  289. package/dist/model/statevariables/SvPowerFlow.js +20 -20
  290. package/dist/model/topology/TopologicalNode.js +25 -25
  291. package/dist/model/wires/ACLineSegment.d.ts +1 -1
  292. package/dist/model/wires/ACLineSegment.js +40 -40
  293. package/dist/model/wires/ACLineSegment.js.map +1 -1
  294. package/dist/model/wires/BusbarSection.d.ts +1 -1
  295. package/dist/model/wires/BusbarSection.js +2 -2
  296. package/dist/model/wires/BusbarSection.js.map +1 -1
  297. package/dist/model/wires/Conductor.d.ts +1 -1
  298. package/dist/model/wires/Conductor.js +2 -2
  299. package/dist/model/wires/Conductor.js.map +1 -1
  300. package/dist/model/wires/Connector.d.ts +1 -1
  301. package/dist/model/wires/Connector.js +2 -2
  302. package/dist/model/wires/Connector.js.map +1 -1
  303. package/dist/model/wires/Disconnector.js +1 -1
  304. package/dist/model/wires/Disconnector.js.map +1 -1
  305. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  306. package/dist/model/wires/EnergySource.d.ts +1 -1
  307. package/dist/model/wires/EnergySource.js +2 -2
  308. package/dist/model/wires/EnergySource.js.map +1 -1
  309. package/dist/model/wires/LoadBreakSwitch.js +1 -1
  310. package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
  311. package/dist/model/wires/PowerTransformer.js +27 -27
  312. package/dist/model/wires/PowerTransformerEnd.js +31 -31
  313. package/dist/model/wires/RegulatingControl.js +31 -31
  314. package/dist/model/wires/Switch.js +42 -37
  315. package/dist/model/wires/Switch.js.map +1 -1
  316. package/dist/model/wires/SynchronousMachine.d.ts +1 -1
  317. package/dist/model/wires/SynchronousMachine.js +57 -57
  318. package/dist/util/cim.model.util.d.ts +4 -0
  319. package/dist/util/cim.model.util.js +257 -0
  320. package/dist/util/cim.model.util.js.map +1 -0
  321. package/dist/util/sparql/sparql-utils.d.ts +1 -1
  322. package/package.json +93 -93
  323. package/dist/converter/integral7/model/dl-utils/SsabNsg.d.ts +0 -30
  324. package/dist/converter/integral7/model/dl-utils/SsabNsg.js +0 -179
  325. package/dist/converter/integral7/model/dl-utils/SsabNsg.js.map +0 -1
  326. package/dist/converter/integral7/model/integral/Multiplikationsfaktor.d.ts +0 -7
  327. package/dist/converter/integral7/model/integral/Multiplikationsfaktor.js +0 -11
  328. package/dist/converter/integral7/model/integral/Multiplikationsfaktor.js.map +0 -1
  329. package/dist/converter/integral7/model/integral/NetzObjektBez.d.ts +0 -10
  330. package/dist/converter/integral7/model/integral/NetzObjektBez.js +0 -13
  331. package/dist/converter/integral7/model/integral/NetzObjektBez.js.map +0 -1
  332. package/dist/interfaces/persistence-interfaces.js.map +0 -1
  333. /package/dist/interfaces/{persistence-interfaces.d.ts → persistence.interfaces.d.ts} +0 -0
@@ -114,7 +114,6 @@ const data_structures_i7_1 = require("./interface-i7/data-structures-i7");
114
114
  const export_frame_i7_1 = require("./interface-i7/export-frame-i7");
115
115
  const KnotenSo_1 = require("./model/integral/KnotenSo");
116
116
  const Leitung_1 = require("./model/integral/Leitung");
117
- const Point_1 = require("./model/integral/Point");
118
117
  const Schaltanlage_1 = require("./model/integral/Schaltanlage");
119
118
  const Schaltanlagenabschnitt_1 = require("./model/integral/Schaltanlagenabschnitt");
120
119
  const SchaltanlagenabschnittNsg_1 = require("./model/integral/SchaltanlagenabschnittNsg");
@@ -128,9 +127,12 @@ const utils_schema_1 = require("./utils-schema");
128
127
  const utils_trafo3w_1 = require("./utils-trafo3w");
129
128
  const INTEGRALModel_1 = require("../../model/extensions/integral/model/INTEGRALModel");
130
129
  const constants_1 = require("./model/dl-utils/constants");
131
- const SsabNsg_1 = require("./model/dl-utils/SsabNsg");
130
+ const util_functions_1 = require("./model/dl-utils/util-functions");
132
131
  const Laengskupplung_1 = require("./model/integral/Laengskupplung");
133
132
  const INTEGRALConformLoad_1 = require("../../model/extensions/integral/loadmodel/INTEGRALConformLoad");
133
+ const Trafo2wNsg_1 = require("./model/integral/Trafo2wNsg");
134
+ const Trafo3wNsg_1 = require("./model/integral/Trafo3wNsg");
135
+ const SchaltfeldNsg_1 = require("./model/integral/SchaltfeldNsg");
134
136
  const AngleDegrees_1 = require("../../model/domain/AngleDegrees");
135
137
  const AsynchronousMachineKind_1 = require("../../model/wires/AsynchronousMachineKind");
136
138
  const INTEGRALEquivalentInjection_1 = require("../../model/extensions/integral/equivalents/INTEGRALEquivalentInjection");
@@ -193,6 +195,7 @@ class ConverterI7 {
193
195
  console.log(`Convert MAS profile: ${frame.mas}`);
194
196
  yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig);
195
197
  frame.validateCIMModel();
198
+ frame.purgeData();
196
199
  const startTime = perf_hooks_1.performance.now();
197
200
  frame.openXMLModel();
198
201
  console.log(`Serialize MAS profile: ${frame.mas}`);
@@ -233,7 +236,7 @@ class ConverterI7 {
233
236
  }
234
237
  catch (e) {
235
238
  this.logger.error(e);
236
- console.error("ERROR:" + e);
239
+ console.error('ERROR:' + e);
237
240
  reject({ status: 'error', message: e.toString() });
238
241
  }
239
242
  finally {
@@ -433,6 +436,9 @@ class ConverterI7 {
433
436
  startTime = perf_hooks_1.performance.now();
434
437
  yield this.assignTerminalSequenceNumber(cimModel);
435
438
  logExecutionTime(this.logger, startTime, `assignment of sequence number`);
439
+ startTime = perf_hooks_1.performance.now();
440
+ yield this.convertNetzvarianten(cimModel, integral7Modell);
441
+ logExecutionTime(this.logger, startTime, `convertNetzvarianten`);
436
442
  });
437
443
  }
438
444
  assignTerminalSequenceNumber(cimModel) {
@@ -506,7 +512,7 @@ class ConverterI7 {
506
512
  .then((result) => {
507
513
  for (const i7Data of result) {
508
514
  const i7Schluessel = integral_prefix_1.GEOREGION_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
509
- const region = new GeographicalRegion_1.GeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), "_GR"]), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluessel);
515
+ const region = new GeographicalRegion_1.GeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), '_GR']), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluessel);
510
516
  this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
511
517
  regions.push(region);
512
518
  }
@@ -531,7 +537,7 @@ class ConverterI7 {
531
537
  const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.REGELZONE, 0, 0, []));
532
538
  for (const i7Data of result) {
533
539
  const i7Schluessel = integral_prefix_1.REGELZONE_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
534
- const ctrlarea = new ControlArea_1.ControlArea(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), "_RZ"]), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluessel);
540
+ const ctrlarea = new ControlArea_1.ControlArea(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), '_RZ']), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluessel);
535
541
  cimModel.addControlArea(ctrlarea);
536
542
  this.addIdMapping(i7Data.id, ctrlarea.mrid, integral_sql_1.Integral7TableNames.REGELZONE);
537
543
  }
@@ -550,11 +556,11 @@ class ConverterI7 {
550
556
  .then((result) => {
551
557
  for (const i7Data of result) {
552
558
  const i7Schluesel = integral_prefix_1.SUBGEOREGION_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
553
- const subregion = new SubGeographicalRegion_1.SubGeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), "_SGR"]), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluesel);
559
+ const subregion = new SubGeographicalRegion_1.SubGeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), '_SGR']), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluesel);
554
560
  const regionUUID = this.integralID2UUID.get(i7Data.georegion);
555
561
  let region = regions.find(elem => elem.mrid === regionUUID);
556
562
  if (!region) {
557
- region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefault, util_create_1.createNotation([defaultValuesConfig.GeographicalRegion.name, "_GR"]));
563
+ region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefault, util_create_1.createNotation([defaultValuesConfig.GeographicalRegion.name, '_GR']));
558
564
  this.logger.debug(`SubGeographicalRegion UUID ${subregion.mrid} I7-ID ${i7Data.id} Name ${i7Data.bezeichner} hat keine Region.`);
559
565
  }
560
566
  subregion.region = region;
@@ -598,11 +604,9 @@ class ConverterI7 {
598
604
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
599
605
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
600
606
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STANDORT, standortIDs));
601
- let filteredResults = result.filter(elem => elem.variantennr === variantenNr);
602
- if (onlyEingeblendet) {
603
- filteredResults = filteredResults.filter(elem => elem.eingeblendet === 1);
604
- }
607
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
605
608
  for (const i7Data of filteredResults) {
609
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_STANDORT);
606
610
  const standort = integral7.integralStandorte.get(i7Data.standort);
607
611
  if (standort) {
608
612
  standort.standortNsg = new StandortNsg_1.StandortNsgImpl(i7Data);
@@ -619,34 +623,11 @@ class ConverterI7 {
619
623
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
620
624
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
621
625
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_SO, knotenSoIDs));
622
- let filteredResults = result.filter(elem => elem.variantennr === variantenNr);
623
- if (onlyEingeblendet) {
624
- filteredResults = filteredResults.filter(elem => elem.eingeblendet === 1);
625
- }
626
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
626
627
  for (const i7Data of filteredResults) {
627
- const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
628
- const diagram = cimModel.getDiagram(diagramUUID);
629
- const nsgStandort = integral7.integralNSGStandorte.get(i7Data.nsgso);
630
- if (!diagram || !nsgStandort) {
631
- continue;
632
- }
633
- const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'Abzweig');
634
- diagramObject.diagramUUID = diagramUUID;
635
- diagramObject.setDiagram(diagram);
636
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(nsgStandort.xrel + i7Data.xrel, nsgStandort.yrel + i7Data.yrel);
637
- diagramObjectPoint.mrid = utils_1.generateUUID();
638
- diagramObjectPoint.diagramObject = diagramObject;
639
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
640
- cimModel.addDiagramObject(diagramObject);
641
- cimModel.addDiagramObjectPoint(diagramObjectPoint);
628
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
642
629
  const cimObjectUUID = this.integralID2UUID.get(i7Data.knotenso);
643
- const cimObject = cimModel.getObject(cimObjectUUID);
644
- if (cimObject) {
645
- diagramObject.setIdentifiedObject(cimObject);
646
- }
647
- else {
648
- this.logger.debug(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
649
- }
630
+ util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.KNOTENSO_WIDTH, constants_1.NsgConstants.KNOTENSO_HEIGHT);
650
631
  }
651
632
  }
652
633
  else {
@@ -654,15 +635,30 @@ class ConverterI7 {
654
635
  }
655
636
  });
656
637
  }
638
+ convertSchemaHgueKnotenSo(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
639
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
640
+ const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
641
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) && nsgStandortIDs.length > 0) {
642
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_HGUE, nsgStandortIDs));
643
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
644
+ for (const i7Data of filteredResults) {
645
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE);
646
+ const cimObjectUUID = this.integralID2UUID.get(i7Data.knotenso);
647
+ util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.HGUE_KNOTENSO_WIDTH, constants_1.NsgConstants.HGUE_KNOTENSO_HEIGHT);
648
+ }
649
+ }
650
+ else {
651
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE} ist nicht vorhanden.`);
652
+ }
653
+ });
654
+ }
657
655
  convertSchemaSchaltanlage(cimModel, integral7, saIDs, variantenNr, onlyEingeblendet = true) {
658
656
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
659
657
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && saIDs.length > 0) {
660
658
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, saIDs));
661
- let filteredResults = result.filter(elem => elem.variantennr === variantenNr);
662
- if (onlyEingeblendet) {
663
- filteredResults = filteredResults.filter(elem => elem.eingeblendet === 1);
664
- }
659
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
665
660
  for (const i7Data of filteredResults) {
661
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
666
662
  const schaltanlage = integral7.integralSchaltanlagen.get(i7Data.schaltanlage);
667
663
  if (schaltanlage) {
668
664
  schaltanlage.schaltanlageNsg = new SchaltanlageNSG_1.SchaltanlageNsgImpl(i7Data);
@@ -679,16 +675,15 @@ class ConverterI7 {
679
675
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
680
676
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
681
677
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, schaltanlagenabschnittIDs));
682
- let filteredResults = result.filter(elem => elem.variantennr === variantenNr);
683
- if (onlyEingeblendet) {
684
- filteredResults = filteredResults.filter(elem => elem.eingeblendet === 1);
685
- }
678
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
686
679
  for (const i7Data of filteredResults) {
680
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
687
681
  const saabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
688
682
  if (saabschnitt) {
689
683
  saabschnitt.schaltanlagenabschnittNsg = new SchaltanlagenabschnittNsg_1.SchaltanlagenabschnittNsg(i7Data);
690
684
  saabschnitt.schaltanlagenabschnittNsg.saabschnitt = saabschnitt;
691
685
  saabschnitt.schaltanlagenabschnittNsg.nsgsa = integral7.integralNSGSchaltanlage.get(i7Data.nsgsa);
686
+ saabschnitt.schaltanlagenabschnittNsg.nsgsa.saabNsg.push(saabschnitt.schaltanlagenabschnittNsg);
692
687
  integral7.integralNSGSAAbschnitt.set(i7Data.id, saabschnitt.schaltanlagenabschnittNsg);
693
688
  }
694
689
  }
@@ -703,61 +698,75 @@ class ConverterI7 {
703
698
  if (schaltanlagenabschnittIDs.length <= 0)
704
699
  return;
705
700
  const isEingeblendet = 1;
706
- const innerSQLisEingeblendet = `IFNULL(
707
- (SELECT max(slotnummer) + 1
708
- FROM nsg_nsgschaltfeld AS nsg_nsgsf
709
- WHERE nsg_nsgsf.nsgsaa = nsg_nsgsaab.id
710
- AND nsg_nsgsf.eingeblendet = ${isEingeblendet}),
711
- 1)`;
712
- const outerSQLisEingeblendet = `AND nsg_nsgsaab.eingeblendet = ${isEingeblendet}`;
713
- const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
714
- nsg_nsgsaab.id,
715
- ${onlyEingeblendet ? innerSQLisEingeblendet : 'nsg_nsgsaab.laenge'} as laenge,
716
- nsg_nsgsaab.nslots,
717
- nsg_nsgsaab.saabschnitt,
718
- nsg_nsgsaab.nsgsa,
719
- nsg_nsgsaab.eingeblendet,
720
- nsg_nsgsaab.nsglkp,
721
- netz_ssab.pos AS posSSAB,
722
- netz_ssab.id AS idSSAB
723
- FROM nsg_nsgsaabschnitt AS nsg_nsgsaab
724
- LEFT JOIN netz_ssab ON nsg_nsgsaab.saabschnitt = netz_ssab.saabschnitt
725
- WHERE (${integral_sql_1.getWhereIDs('nsg_nsgsaab.saabschnitt', schaltanlagenabschnittIDs).join(' OR ')})
726
- ${onlyEingeblendet ? outerSQLisEingeblendet : ''};`;
701
+ let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
702
+ FROM nsg_nsgschaltfeld
703
+ WHERE ((${integral_sql_1.getWhereIDs('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
704
+ if (onlyEingeblendet) {
705
+ sqlSelectGroupedMaxSlotSf += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
706
+ }
707
+ sqlSelectGroupedMaxSlotSf += ` GROUP BY nsgsaa`;
708
+ const resultsMaxSlotsSf = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotSf);
709
+ const mappedResultsMaxSlotsSf = new Map(resultsMaxSlotsSf.map(value => [value.nsgsaa, value.laenge]));
710
+ let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
711
+ FROM nsg_nsgkpfeld
712
+ WHERE ((${integral_sql_1.getWhereIDs('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
713
+ if (onlyEingeblendet) {
714
+ sqlSelectGroupedMaxSlotKpF += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
715
+ }
716
+ sqlSelectGroupedMaxSlotKpF += ` GROUP BY nsgsaa`;
717
+ const resultsMaxSlotsKpF = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotKpF);
718
+ const mappedResultsMaxSlotsKpF = new Map(resultsMaxSlotsKpF.map(value => [value.nsgsaa, value.laenge]));
719
+ const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
720
+ nsg_nsgsaab.id,
721
+ nsg_nsgsaab.laenge AS laenge,
722
+ nsg_nsgsaab.nslots,
723
+ nsg_nsgsaab.saabschnitt,
724
+ nsg_nsgsaab.nsgsa,
725
+ nsg_nsgsaab.angezeigt,
726
+ nsg_nsgsaab.eingeblendet,
727
+ nsg_nsgsaab.nsglkp,
728
+ netz_ssab.pos AS posSSAB,
729
+ netz_ssab.id AS idSSAB
730
+ FROM netz_ssab
731
+ LEFT JOIN nsg_nsgsaabschnitt AS nsg_nsgsaab ON nsg_nsgsaab.saabschnitt = netz_ssab.saabschnitt
732
+ WHERE (${integral_sql_1.getWhereIDs('nsg_nsgsaab.saabschnitt', schaltanlagenabschnittIDs).join(' OR ')});`;
727
733
  const queryResults = yield this.mysqlController.execQuery(sqlStatement);
728
- const filteredResults = queryResults.filter(elem => elem.variantennr === variantenNr);
734
+ queryResults.forEach(value => {
735
+ value.laenge = Math.max((mappedResultsMaxSlotsSf.get(value.id) || 0), (mappedResultsMaxSlotsKpF.get(value.id) || 0), value.laenge);
736
+ });
737
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(queryResults, variantenNr, onlyEingeblendet);
729
738
  for (const queryResult of filteredResults) {
730
- const sa = integral7.integralNSGSchaltanlage.get(queryResult.nsgsa);
731
- const so = integral7.integralNSGStandorte.get(sa.nsgsoid);
739
+ const nsgSa = integral7.integralNSGSchaltanlage.get(queryResult.nsgsa);
740
+ const nsgSo = integral7.integralNSGStandorte.get(nsgSa.nsgsoid);
732
741
  const leftOffset = queryResult.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
733
742
  const topOffset = queryResult.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
734
743
  const ssabLength = queryResult.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
735
- let pointTopLeft = new Point_1.Point(leftOffset, topOffset);
736
- let pointBottomRight = new Point_1.Point(leftOffset + ssabLength, topOffset);
744
+ let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
745
+ let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
746
+ let saaShiftOffset = 0;
747
+ for (const tempNsgSaa of nsgSa.saabNsg) {
748
+ saaShiftOffset = saaShiftOffset < (tempNsgSaa.nslots + tempNsgSaa.laenge) ? (tempNsgSaa.nslots + tempNsgSaa.laenge) : saaShiftOffset;
749
+ }
737
750
  const points = [];
738
751
  points.push(pointTopLeft, pointBottomRight);
739
- let maxX = 0;
740
- for (const p of points) {
741
- maxX = maxX < p.x ? p.x : maxX;
742
- Point_1.Point.rotate(p, -90 * sa.ausrichtung);
743
- }
744
- const shiftValue = (queryResult.laenge + queryResult.nslots) * constants_1.NsgConstants.HORIZONTAL_OFFSET;
745
752
  for (const p of points) {
746
- p.x += so.xrel + sa.xrel + (sa.ausrichtung === 2 ? maxX : 0);
747
- p.y += so.yrel + sa.yrel + (sa.ausrichtung === 3 ? maxX : 0);
753
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
754
+ p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
755
+ p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
748
756
  }
749
757
  integral7.integralNSGSsab.set(queryResult.idSSAB, queryResult);
750
758
  const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'SSAB Diagram');
751
- diagramObject.rotation = 90 * sa.ausrichtung;
759
+ diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
760
+ utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
752
761
  const cnUUID = this.integralID2UUID.get(queryResult.idSSAB);
753
762
  const connectivityNode = cimModel.getConnectivityNode(cnUUID);
754
- utils_schema_1.createDiagramObjectPoints(diagramObject, points);
755
763
  diagramObject.setIdentifiedObject(connectivityNode);
756
- const diagramUUID = integral7.i7SchemaID2UUID.get(sa.variantennr);
764
+ const diagramUUID = integral7.i7SchemaID2UUID.get(nsgSa.variantennr);
757
765
  const diagram = cimModel.getDiagram(diagramUUID);
758
766
  if (diagram) {
759
767
  diagramObject.setDiagram(diagram);
760
768
  diagram.addDiagramObject(diagramObject);
769
+ integral7.placedCIMObjectsForDLProfil.set(cnUUID, diagramObject);
761
770
  }
762
771
  else {
763
772
  this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
@@ -777,12 +786,13 @@ class ConverterI7 {
777
786
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
778
787
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, schaltfeldIDs));
779
788
  const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTFELD, schaltfeldIDs));
780
- let filteredResultsNsgSchaltfeld = resultsNsgSchaltfeld.filter(elem => elem.variantennr === variantenNr);
781
- if (onlyEingeblendet) {
782
- filteredResultsNsgSchaltfeld = filteredResultsNsgSchaltfeld.filter(elem => elem.eingeblendet === 1);
783
- }
789
+ const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
784
790
  for (const i7Data of filteredResultsNsgSchaltfeld) {
791
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
792
+ const nsgSchaltfeldObj = new SchaltfeldNsg_1.SchaltfeldNsgImpl(i7Data);
793
+ integral7.integralNSGSchaltfeld.set(i7Data.id, nsgSchaltfeldObj);
785
794
  const nodePointMap = new Map();
795
+ const uuidPointsMap = new Map();
786
796
  const schaltfeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
787
797
  const schaltfeldDeltaausrichtung = i7Data.deltaausrichtung;
788
798
  const schaltfeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.schaltfeld);
@@ -793,13 +803,15 @@ class ConverterI7 {
793
803
  const ssabs = integral7.integralSchaltfelder.get(i7Data.schaltfeld).saabschnitt.ssab;
794
804
  const maxSSabPos = Math.max(...ssabs.map(ssab => ssab.pos));
795
805
  const onSSabNodes = schaltfeldI7KnotenBeziehungen.filter(elem => ssabs.find(ssab => ssab.id === elem.aknoten) !== undefined);
806
+ const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
807
+ let lastNode = undefined;
796
808
  for (const node of onSSabNodes) {
797
809
  const ssabYPos = integral7.integralNSGSsab.get(node.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
798
810
  let yStackPos = 1;
811
+ let prevNode = null;
799
812
  let crtNode = node;
800
813
  while (crtNode) {
801
814
  if (nodePointMap.get(crtNode.id) === undefined) {
802
- let xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
803
815
  let yPos = ssabYPos;
804
816
  if (crtNode === node) {
805
817
  yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
@@ -809,12 +821,59 @@ class ConverterI7 {
809
821
  yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
810
822
  yStackPos += 1;
811
823
  }
812
- nodePointMap.set(crtNode.id, new Point_1.Point(xPos, yPos));
824
+ nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
825
+ const aKnotenUUID = this.integralID2UUID.get(crtNode.aknoten);
826
+ if (!integral7.placedCIMObjectsForDLProfil.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
827
+ let prevNodeY = prevNode !== null ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
828
+ let yPosAKnoten;
829
+ if (prevNode === node) {
830
+ yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
831
+ }
832
+ else {
833
+ yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
834
+ }
835
+ nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
836
+ }
837
+ }
838
+ lastNode = crtNode;
839
+ prevNode = crtNode;
840
+ crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
841
+ }
842
+ }
843
+ const lastEKnotenUUID = this.integralID2UUID.get(lastNode.eknoten);
844
+ if (!integral7.placedCIMObjectsForDLProfil.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
845
+ const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
846
+ const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
847
+ nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
848
+ }
849
+ nsgSchaltfeldObj.lastNodeID = lastNode.eknoten;
850
+ nsgSchaltfeldObj.lastNodeCimUUID = lastEKnotenUUID;
851
+ for (const node of onSSabNodes) {
852
+ let crtNode = node;
853
+ while (crtNode) {
854
+ let aKnotenPos = undefined;
855
+ if (crtNode === node) {
856
+ aKnotenPos = new DiagramObjectPoint_1.DiagramObjectPoint(xPos, integral7.integralNSGSsab.get(crtNode.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET);
813
857
  }
858
+ util_functions_1.DLUtilFunctions.exportTerminals(crtNode, nodePointMap, uuidPointsMap, cimModel, this.integralID2UUID, aKnotenPos);
814
859
  crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
815
860
  }
816
861
  }
817
- SsabNsg_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, this.integralID2UUID, variantenNr, i7Data.nsgsaa, nodePointMap);
862
+ [...nodePointMap.entries()].forEach(entry => {
863
+ uuidPointsMap.set(this.integralID2UUID.get(entry[0]), entry[1]);
864
+ });
865
+ const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
866
+ const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
867
+ nsgSchaltfeldObj.orientation = nsgSa.ausrichtung;
868
+ if (i7Data.deltaausrichtung === 1) {
869
+ nsgSchaltfeldObj.orientation = (nsgSchaltfeldObj.orientation + 2) % 4;
870
+ }
871
+ uuidPointsMap.forEach((entryDiagramObject, key) => {
872
+ if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
873
+ entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
874
+ }
875
+ });
876
+ util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap, true);
818
877
  }
819
878
  }
820
879
  });
@@ -831,20 +890,25 @@ class ConverterI7 {
831
890
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
832
891
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.querkupplungIDs));
833
892
  const resultsNsgKpFeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, integral7.querkupplungIDs));
834
- let filteredResultsNsgKpFeld = resultsNsgKpFeld.filter(elem => elem.variantennr === variantenNr);
835
- if (onlyEingeblendet) {
836
- filteredResultsNsgKpFeld = filteredResultsNsgKpFeld.filter(elem => elem.eingeblendet === 1);
837
- }
893
+ const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
838
894
  for (const i7Data of filteredResultsNsgKpFeld) {
839
- const nodePointMap = new Map();
895
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
896
+ const uuidPointsMap = new Map();
840
897
  const kpFeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
841
898
  const kpFeldDeltaausrichtung = i7Data.deltaausrichtung;
842
899
  const kpFeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.kpfeld);
843
900
  const ssabs = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa).saabschnitt.ssab;
844
901
  const relevantSSabIDs = new Set();
845
902
  ssabs.forEach(ssab => relevantSSabIDs.add(ssab.id));
846
- SsabNsg_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, nodePointMap, relevantSSabIDs, integral7.integralNSGSsab, kpFeldDeltaausrichtung, kpFeldLeftOffset, false);
847
- SsabNsg_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, this.integralID2UUID, variantenNr, i7Data.nsgsaa, nodePointMap);
903
+ util_functions_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, uuidPointsMap, cimModel, relevantSSabIDs, integral7.integralNSGSsab, this.integralID2UUID, integral7.placedCIMObjectsForDLProfil, kpFeldDeltaausrichtung, kpFeldLeftOffset, false);
904
+ const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
905
+ const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
906
+ uuidPointsMap.forEach((entryDiagramObject, key) => {
907
+ if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
908
+ entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
909
+ }
910
+ });
911
+ util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap, true);
848
912
  }
849
913
  }
850
914
  });
@@ -861,23 +925,636 @@ class ConverterI7 {
861
925
  const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
862
926
  const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.laengskupplungIDs));
863
927
  const resultsNsgLKupplung = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, [...integral7.integralNSGSAAbschnitt.keys()]));
864
- let filteredResultsNsgLKupplung = resultsNsgLKupplung.filter(elem => elem.variantennr === variantenNr);
865
- if (onlyEingeblendet) {
866
- filteredResultsNsgLKupplung = filteredResultsNsgLKupplung.filter(elem => elem.eingeblendet === 1);
867
- }
868
- const nodePointMap = new Map();
928
+ const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
869
929
  for (const i7Data of filteredResultsNsgLKupplung) {
930
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
931
+ const uuidPointsMap = new Map();
870
932
  const schaltanlagenID = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa).nsgsa.schaltanlageid;
871
933
  const netzLaengskupplungsObjs = [...integral7.integralLaengskupplungen.values()].filter(elem => elem.schaltanlagenID === schaltanlagenID);
872
934
  for (const netzLaengskupplungObj of netzLaengskupplungsObjs) {
873
935
  const lKupplungI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === netzLaengskupplungObj.id);
874
936
  const relevantSSabIDs = new Set();
875
937
  integral7.integralSchaltanlagen.get(schaltanlagenID).saab.forEach(netz_saab => netz_saab.ssab.forEach(ssab => relevantSSabIDs.add(ssab.id)));
876
- SsabNsg_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, nodePointMap, relevantSSabIDs, integral7.integralNSGSsab, 0, 0, true);
938
+ util_functions_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, uuidPointsMap, cimModel, relevantSSabIDs, integral7.integralNSGSsab, this.integralID2UUID, integral7.placedCIMObjectsForDLProfil, 0, 0, true);
939
+ }
940
+ const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
941
+ const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
942
+ uuidPointsMap.forEach((entryDiagramObject, key) => {
943
+ if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
944
+ entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
945
+ }
946
+ });
947
+ util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap);
948
+ }
949
+ }
950
+ });
951
+ }
952
+ convertSchemaTransformatoren2W(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
953
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
954
+ const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
955
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.length > 0) {
956
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO2W, nsgStandortIDs));
957
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
958
+ for (const i7Data of filteredResults) {
959
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO2W);
960
+ const uuidPointsMap = new Map();
961
+ const trafo2wNsg = new Trafo2wNsg_1.Trafo2wNsgImpl(i7Data);
962
+ integral7.integralNSGTrafos.set(i7Data.trafo2w, trafo2wNsg);
963
+ const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH / 2, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
964
+ trafoDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(trafo2wNsg.ausrichtung);
965
+ const tempPoints = [];
966
+ tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
967
+ const trafoUUID = this.integralID2UUID.get(trafo2wNsg.trafo2wid);
968
+ const transformer = cimModel.getPowerTransformer(trafoUUID);
969
+ const terminal1 = transformer.powerTransformerEnds[0].terminal;
970
+ const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(0, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
971
+ tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
972
+ const terminal2 = transformer.powerTransformerEnds[1].terminal;
973
+ const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
974
+ tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
975
+ for (const p of tempPoints) {
976
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, 360 - (90 * trafo2wNsg.ausrichtung) % 360);
977
+ p.xPosition += trafo2wNsg.xrel;
978
+ p.yPosition += trafo2wNsg.yrel;
979
+ p.xPosition += (trafo2wNsg.ausrichtung === 1 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
980
+ p.xPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
981
+ p.yPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
982
+ p.yPosition += (trafo2wNsg.ausrichtung === 3 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
983
+ }
984
+ uuidPointsMap.set(this.integralID2UUID.get(trafo2wNsg.trafo2wid), trafoDiagramObject);
985
+ if (terminal1 !== undefined) {
986
+ uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
987
+ }
988
+ if (terminal2 !== undefined) {
989
+ uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
990
+ }
991
+ util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo2wNsg.nsgsoid, uuidPointsMap);
992
+ let t1CNdiagramObject, t1DiagramObject, t2CNdiagramObject, t2DiagramObject;
993
+ if (terminal1 !== undefined) {
994
+ t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.connectivityNode.getUUID());
995
+ t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
996
+ }
997
+ if (terminal2 !== undefined) {
998
+ t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.connectivityNode.getUUID());
999
+ t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1000
+ }
1001
+ if (trafo2wNsg.ausrichtung === 2 || trafo2wNsg.ausrichtung === 3) {
1002
+ if (terminal2 !== undefined)
1003
+ utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1004
+ if (terminal1 !== undefined)
1005
+ utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1006
+ }
1007
+ else {
1008
+ if (terminal1 !== undefined)
1009
+ utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1010
+ if (terminal2 !== undefined)
1011
+ utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1012
+ }
1013
+ }
1014
+ }
1015
+ else {
1016
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
1017
+ }
1018
+ });
1019
+ }
1020
+ convertSchemaTransformatoren3W(cimModel, integral7, standortIDs, variantenNr, onlyEingeblendet = true) {
1021
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1022
+ const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1023
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.length > 0 && standortIDs.length > 0) {
1024
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO3W, nsgStandortIDs));
1025
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1026
+ const netzTrafoResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, standortIDs));
1027
+ const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
1028
+ for (const i7Data of filteredResults) {
1029
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO3W);
1030
+ const uuidPointsMap = new Map();
1031
+ const trafo3wNsg = new Trafo3wNsg_1.Trafo3wNsgImpl(i7Data);
1032
+ integral7.integralNSGTrafos.set(i7Data.trafo3w, trafo3wNsg);
1033
+ const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO3W_WIDTH / 2, constants_1.NsgConstants.TRAFO3W_HEIGHT / 2);
1034
+ trafoDiagramObject.rotation = 360 - (constants_1.NsgConstants.TAFO3W_RotationOrder.indexOf(trafo3wNsg.ausrichtung) * 30) % 360;
1035
+ const tempPoints = [];
1036
+ tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
1037
+ const trafo3wNetz = netzTrafos.get(trafo3wNsg.trafo3wid);
1038
+ const pteW1 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w1));
1039
+ const pteW2 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w2));
1040
+ const pteW3 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w3));
1041
+ const exchangeGroups = constants_1.NsgConstants.TRAFO3W_ExchangeGroups;
1042
+ let exchangeGroup = undefined;
1043
+ for (const key of Object.keys(exchangeGroups)) {
1044
+ if (exchangeGroups[key].indexOf(trafo3wNsg.ausrichtung) !== -1) {
1045
+ exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
1046
+ break;
1047
+ }
1048
+ }
1049
+ const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
1050
+ let rotationenGroup = undefined;
1051
+ for (const key of Object.keys(rotationenGroups)) {
1052
+ if (rotationenGroups[key].indexOf(trafo3wNsg.ausrichtung) !== -1) {
1053
+ rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
1054
+ break;
1055
+ }
1056
+ }
1057
+ const xMirroring = trafo3wNsg.orientierung_cw === 1;
1058
+ const terminal1 = pteW1.terminal;
1059
+ const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[1]]);
1060
+ tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
1061
+ const terminal2 = pteW2.terminal;
1062
+ const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]]);
1063
+ tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
1064
+ const terminal3 = pteW3.terminal;
1065
+ const terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]]);
1066
+ tempPoints.push(terminal3DiagramObject.diagramObjectPoints[0]);
1067
+ for (const p of tempPoints) {
1068
+ p.xPosition += trafo3wNsg.xrel;
1069
+ p.yPosition += trafo3wNsg.yrel;
1070
+ }
1071
+ uuidPointsMap.set(this.integralID2UUID.get(trafo3wNsg.trafo3wid), trafoDiagramObject);
1072
+ if (terminal1 !== undefined) {
1073
+ uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
1074
+ }
1075
+ if (terminal2 !== undefined) {
1076
+ uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
1077
+ }
1078
+ if (terminal3 !== undefined) {
1079
+ uuidPointsMap.set(terminal3.getUUID(), terminal3DiagramObject);
1080
+ }
1081
+ util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo3wNsg.nsgsoid, uuidPointsMap);
1082
+ if (terminal1) {
1083
+ const t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getConnectivityNodeUUID());
1084
+ const t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
1085
+ if (t1CNdiagramObject !== undefined)
1086
+ utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
1087
+ }
1088
+ if (terminal2) {
1089
+ const t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getConnectivityNodeUUID());
1090
+ const t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
1091
+ if (t2CNdiagramObject !== undefined)
1092
+ utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
1093
+ }
1094
+ if (terminal3) {
1095
+ const t3CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getConnectivityNodeUUID());
1096
+ const t3DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getUUID());
1097
+ if (t3CNdiagramObject !== undefined)
1098
+ utils_schema_1.copyDiagramObjectPoints(t3DiagramObject, t3CNdiagramObject.diagramObjectPoints);
877
1099
  }
878
- SsabNsg_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, this.integralID2UUID, variantenNr, i7Data.nsgsaa, nodePointMap);
879
1100
  }
880
1101
  }
1102
+ else {
1103
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO3W} ist nicht vorhanden.`);
1104
+ }
1105
+ });
1106
+ }
1107
+ convertSchemaLeitungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1108
+ var _a, _b, _c;
1109
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1110
+ const leitungIDs = [...integral7.integralLeitungen.keys(), ...integral7.integralHgueLeitungen.keys()];
1111
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT)
1112
+ && leitungIDs.length > 0) {
1113
+ const leitungResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNG, leitungIDs));
1114
+ let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
1115
+ const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
1116
+ const leitungspktResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, nsgLeitungIDs));
1117
+ let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
1118
+ for (const i7Data of filteredLeitungResults) {
1119
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LEITUNG);
1120
+ let netzLeitung, aKnotenCimObjectUUID, eKnotenCimObjectUUID;
1121
+ const isACLine = integral7.integralLeitungen.get(i7Data.leitung);
1122
+ if (isACLine) {
1123
+ netzLeitung = integral7.integralLeitungen.get(i7Data.leitung);
1124
+ aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.aknotenid);
1125
+ eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.eknotenid);
1126
+ }
1127
+ else {
1128
+ netzLeitung = integral7.integralHgueLeitungen.get(i7Data.leitung);
1129
+ aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.anetzobjekt);
1130
+ eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.enetzobjekt);
1131
+ }
1132
+ const anfSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussanf);
1133
+ const endSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussend);
1134
+ let tempDiagramObjectPoints = [];
1135
+ let tempAnfDiagramObject = undefined;
1136
+ let tempEndDiagramObject = undefined;
1137
+ if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1138
+ const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussanf);
1139
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1140
+ }
1141
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1142
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1143
+ }
1144
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1145
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussanf));
1146
+ }
1147
+ else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1148
+ tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
1149
+ }
1150
+ else {
1151
+ }
1152
+ if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1153
+ const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussend);
1154
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
1155
+ }
1156
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1157
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1158
+ }
1159
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
1160
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussend));
1161
+ }
1162
+ else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
1163
+ tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
1164
+ }
1165
+ else {
1166
+ }
1167
+ if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1168
+ continue;
1169
+ tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition));
1170
+ const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
1171
+ for (let a = 0; a < relevantLeitungspkts.length; a++) {
1172
+ const nsgLeitungspkt = relevantLeitungspkts[a];
1173
+ if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
1174
+ const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition);
1175
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, integral7, i7Data.anschlussanf, nsgLeitungspkt);
1176
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1177
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1178
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1179
+ }
1180
+ else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
1181
+ const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition);
1182
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, integral7, i7Data.anschlussend, nsgLeitungspkt);
1183
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1184
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1185
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1186
+ }
1187
+ else {
1188
+ tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(nsgLeitungspkt.xrel, nsgLeitungspkt.yrel));
1189
+ }
1190
+ }
1191
+ tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition));
1192
+ const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1193
+ const diagram = cimModel.getDiagram(diagramUUID);
1194
+ if (isACLine) {
1195
+ const netzLeitungCimObj = cimModel.getLine(this.integralID2UUID.get(netzLeitung.id));
1196
+ const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1197
+ const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1198
+ let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1199
+ if (cableAvailable && overheadAvailable) {
1200
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
1201
+ }
1202
+ else if (cableAvailable) {
1203
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
1204
+ }
1205
+ else if (overheadAvailable) {
1206
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
1207
+ }
1208
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, [netzLeitung.id]));
1209
+ leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1210
+ const acSegmentPercentages = [];
1211
+ let completeLength = 0;
1212
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1213
+ completeLength += leitungStromkreisabschnitt[a].laenge;
1214
+ }
1215
+ let crtLength = 0;
1216
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1217
+ crtLength += leitungStromkreisabschnitt[a].laenge;
1218
+ acSegmentPercentages.push(crtLength / completeLength);
1219
+ }
1220
+ let completePixelLength = 0;
1221
+ for (let a = 1; a < tempDiagramObjectPoints.length; ++a) {
1222
+ const tempX = tempDiagramObjectPoints[a].xPosition - tempDiagramObjectPoints[a - 1].xPosition;
1223
+ const tempY = tempDiagramObjectPoints[a].yPosition - tempDiagramObjectPoints[a - 1].yPosition;
1224
+ completePixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1225
+ }
1226
+ let lastB = 0;
1227
+ let b = 1;
1228
+ let crtPixelLength = 0;
1229
+ for (let a = 0; a < acSegmentPercentages.length; ++a) {
1230
+ let crtPixelPercentageSize = 0;
1231
+ let lastPixelPercentageSize;
1232
+ do {
1233
+ const tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1234
+ const tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1235
+ crtPixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
1236
+ lastPixelPercentageSize = crtPixelPercentageSize;
1237
+ crtPixelPercentageSize = (crtPixelLength / completePixelLength);
1238
+ b++;
1239
+ } while (crtPixelPercentageSize < acSegmentPercentages[a] && b < tempDiagramObjectPoints.length);
1240
+ const epsilon = 0.00001;
1241
+ if ((crtPixelLength / completePixelLength) <= acSegmentPercentages[a] + epsilon) {
1242
+ const conductorCimObj = netzLeitungCimObj.equipments[a];
1243
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_a = conductorCimObj.shortName) !== null && _a !== void 0 ? _a : ''));
1244
+ diagramObject.setIdentifiedObject(conductorCimObj);
1245
+ diagramObject.setDiagram(diagram);
1246
+ diagram.addDiagramObject(diagramObject);
1247
+ let i = 1;
1248
+ for (let idx = lastB; idx < b; ++idx) {
1249
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1250
+ diagramObjectPoint.mrid = utils_1.generateUUID();
1251
+ diagramObjectPoint.diagramObject = diagramObject;
1252
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1253
+ ++i;
1254
+ }
1255
+ }
1256
+ else if ((crtPixelLength / completePixelLength) > acSegmentPercentages[a]) {
1257
+ let decreased = false;
1258
+ if (b === tempDiagramObjectPoints.length) {
1259
+ b--;
1260
+ decreased = true;
1261
+ }
1262
+ let tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
1263
+ let tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
1264
+ const percentageOfSegment = crtPixelPercentageSize - lastPixelPercentageSize;
1265
+ const tempRestX = tempX * (1 - percentageOfSegment);
1266
+ const tempRestY = tempY * (1 - percentageOfSegment);
1267
+ tempX = tempX * percentageOfSegment;
1268
+ tempY = tempY * percentageOfSegment;
1269
+ const newDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[b - 1].xPosition + tempX, tempDiagramObjectPoints[b - 1].yPosition + tempY);
1270
+ crtPixelLength -= Math.sqrt((tempRestX * tempRestX) + (tempRestY * tempRestY));
1271
+ tempDiagramObjectPoints.splice(b, 0, newDiagramObjectPoint);
1272
+ const conductorCimObj = netzLeitungCimObj.equipments[a];
1273
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_b = conductorCimObj.shortName) !== null && _b !== void 0 ? _b : ''));
1274
+ diagramObject.setDiagram(diagram);
1275
+ diagramObject.setIdentifiedObject(conductorCimObj);
1276
+ diagram.addDiagramObject(diagramObject);
1277
+ let i = 1;
1278
+ if (decreased)
1279
+ b++;
1280
+ for (let idx = lastB; idx < b; ++idx) {
1281
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
1282
+ diagramObjectPoint.mrid = utils_1.generateUUID();
1283
+ diagramObjectPoint.diagramObject = diagramObject;
1284
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1285
+ ++i;
1286
+ }
1287
+ }
1288
+ lastB = b - 1;
1289
+ }
1290
+ }
1291
+ else {
1292
+ const netzLeitungCimObj = cimModel.getObject(this.integralID2UUID.get(netzLeitung.id));
1293
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID());
1294
+ diagramObject.setDiagram(diagram);
1295
+ diagram.addDiagramObject(diagramObject);
1296
+ diagramObject.setIdentifiedObjectUUID(this.integralID2UUID.get(netzLeitung.id));
1297
+ if (netzLeitungCimObj !== undefined) {
1298
+ diagramObject.name = 'DiagramObj ' + ((_c = netzLeitungCimObj.shortName) !== null && _c !== void 0 ? _c : '');
1299
+ }
1300
+ else {
1301
+ diagramObject.name = 'DiagramObj HGUE-Leitung';
1302
+ }
1303
+ for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
1304
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
1305
+ diagramObjectPoint.mrid = utils_1.generateUUID();
1306
+ diagramObjectPoint.diagramObject = diagramObject;
1307
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1308
+ }
1309
+ }
1310
+ }
1311
+ }
1312
+ else {
1313
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_LEITUNG} oder ${integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT} ist nicht vorhanden.`);
1314
+ }
1315
+ });
1316
+ }
1317
+ convertSchemaQuerzweige(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1318
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1319
+ const whereIDs = [...integral7.i7SchemaID2Type.keys()];
1320
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
1321
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERZWEIG, whereIDs));
1322
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1323
+ for (const i7Data of filteredResults) {
1324
+ integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERZWEIG);
1325
+ integral7.integralNSGQuerzweig.set(i7Data.id, i7Data);
1326
+ const referenceType = integral7.i7SchemaID2Type.get(i7Data.bezugsobjekt);
1327
+ const uuidPointsMap = new Map();
1328
+ const rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(i7Data.ausrichtung);
1329
+ let refXPos = 0;
1330
+ let refYPos = 0;
1331
+ let xPos = i7Data.xrel;
1332
+ let yPos = i7Data.yrel;
1333
+ let refCNNodeUUID = undefined;
1334
+ const querzweigType = this.integralID2Type.get(i7Data.querzweig);
1335
+ let nsgQuerzweigWidth;
1336
+ let nsgQuerzweigHeight;
1337
+ if (querzweigType === integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC || querzweigType === integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH) {
1338
+ nsgQuerzweigWidth = constants_1.NsgConstants.HGUE_QUERZWEIG_OBJ_WIDTH;
1339
+ nsgQuerzweigHeight = constants_1.NsgConstants.HGUE_QUERZWEIG_OBJ_HEIGHT;
1340
+ }
1341
+ else {
1342
+ nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1343
+ nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1344
+ }
1345
+ if (referenceType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1346
+ const nsgSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.bezugsobjekt);
1347
+ refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1348
+ const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgSchaltfeld.lastNodeCimUUID).diagramObjectPoints[0];
1349
+ refXPos = lastDiagramObjectPointInsideBay.xPosition;
1350
+ refYPos = lastDiagramObjectPointInsideBay.yPosition;
1351
+ xPos += refXPos;
1352
+ yPos += refYPos;
1353
+ if (querzweigType === integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC || querzweigType === integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH) {
1354
+ switch (nsgSchaltfeld.orientation) {
1355
+ case 3:
1356
+ xPos += nsgQuerzweigWidth / 2;
1357
+ break;
1358
+ case 0:
1359
+ yPos += nsgQuerzweigHeight / 2;
1360
+ break;
1361
+ case 1:
1362
+ xPos += nsgQuerzweigWidth / 2;
1363
+ xPos -= nsgSchaltfeld.hoehe;
1364
+ break;
1365
+ case 2:
1366
+ yPos += nsgQuerzweigHeight / 2;
1367
+ yPos -= nsgSchaltfeld.hoehe;
1368
+ break;
1369
+ }
1370
+ }
1371
+ else {
1372
+ switch (nsgSchaltfeld.orientation) {
1373
+ case 3:
1374
+ xPos += nsgQuerzweigWidth / 2;
1375
+ yPos -= nsgQuerzweigHeight / 2;
1376
+ break;
1377
+ case 0:
1378
+ xPos -= nsgQuerzweigWidth / 2;
1379
+ yPos += nsgQuerzweigHeight / 2;
1380
+ break;
1381
+ case 1:
1382
+ xPos += nsgQuerzweigWidth / 2;
1383
+ yPos -= nsgQuerzweigHeight / 2;
1384
+ xPos -= nsgSchaltfeld.hoehe;
1385
+ break;
1386
+ case 2:
1387
+ xPos -= nsgQuerzweigWidth / 2;
1388
+ yPos += nsgQuerzweigHeight / 2;
1389
+ yPos -= nsgSchaltfeld.hoehe;
1390
+ break;
1391
+ }
1392
+ }
1393
+ }
1394
+ else if (referenceType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1395
+ const nsgKnotenSoUUID = integral7.i7ID2UUID.get(i7Data.bezugsobjekt);
1396
+ refCNNodeUUID = nsgKnotenSoUUID;
1397
+ const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgKnotenSoUUID).diagramObjectPoints[0];
1398
+ refXPos = lastDiagramObjectPointInsideBay.xPosition;
1399
+ refYPos = lastDiagramObjectPointInsideBay.yPosition;
1400
+ xPos += refXPos;
1401
+ yPos += refYPos;
1402
+ xPos -= nsgQuerzweigWidth / 2;
1403
+ yPos -= nsgQuerzweigHeight / 2;
1404
+ }
1405
+ else {
1406
+ continue;
1407
+ throw new Error(`unhandled reference type '${referenceType}' for id ${i7Data.bezugsobjekt} (nsg_nsgquerzweig.id ${i7Data.id})!`);
1408
+ }
1409
+ const tempDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, rotation);
1410
+ const querzweigObjectUUID = this.integralID2UUID.get(i7Data.querzweig);
1411
+ const cimObject2LinkWith = cimModel.getObject(querzweigObjectUUID);
1412
+ uuidPointsMap.set(querzweigObjectUUID, tempDiagramObject);
1413
+ if (cimObject2LinkWith !== undefined) {
1414
+ let ceTerminals = new Set([...cimObject2LinkWith.terminals.values()].map(t => t.getUUID()));
1415
+ cimObject2LinkWith.terminalsUUIDs.forEach(tUUID => ceTerminals.add(tUUID));
1416
+ let cnTerminals = new Set([...cimModel.getConnectivityNode(refCNNodeUUID).terminals.values()].map(t => t.getUUID()));
1417
+ cimObject2LinkWith.terminalsUUIDs.forEach(tUUID => cnTerminals.add(tUUID));
1418
+ const terminalUUID = [...cnTerminals.values()].filter(tUUID => ceTerminals.has(tUUID))[0];
1419
+ let xOffset = 0;
1420
+ let yOffset = 0;
1421
+ switch (i7Data.ausrichtung) {
1422
+ case 0:
1423
+ xOffset = constants_1.NsgConstants.TERMINAL_CE_OFFSET;
1424
+ break;
1425
+ case 1:
1426
+ yOffset = constants_1.NsgConstants.TERMINAL_CE_OFFSET;
1427
+ break;
1428
+ case 2:
1429
+ xOffset = -constants_1.NsgConstants.TERMINAL_CE_OFFSET;
1430
+ break;
1431
+ case 3:
1432
+ yOffset = -constants_1.NsgConstants.TERMINAL_CE_OFFSET;
1433
+ break;
1434
+ }
1435
+ const terminalDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(tempDiagramObject.diagramObjectPoints[0].xPosition + xOffset, tempDiagramObject.diagramObjectPoints[0].yPosition + yOffset);
1436
+ terminalDiagramObject.diagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(refXPos, refYPos));
1437
+ uuidPointsMap.set(terminalUUID, terminalDiagramObject);
1438
+ }
1439
+ util_functions_1.DLUtilFunctions.addi7ObjectToCIMModel(uuidPointsMap, cimModel, integral7, i7Data.variantennr);
1440
+ }
1441
+ }
1442
+ else {
1443
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_QUERZWEIG} ist nicht vorhanden.`);
1444
+ }
1445
+ });
1446
+ }
1447
+ convertSchemaSternpunktSchiene(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1448
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1449
+ const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1450
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STP_SCHIENE) && nsgStandortIDs.length > 0) {
1451
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_SCHIENE, nsgStandortIDs));
1452
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1453
+ for (const i7Data of filteredResults) {
1454
+ const nsgSo = integral7.integralNSGStandorte.get(i7Data.nsgso);
1455
+ const ssabLength = i7Data.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
1456
+ let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(0, 0, 1);
1457
+ let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(ssabLength, 0, 2);
1458
+ const points = [];
1459
+ points.push(pointTopLeft, pointBottomRight);
1460
+ for (const p of points) {
1461
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * i7Data.ausrichtung);
1462
+ p.xPosition += i7Data.xrel + nsgSo.xrel + (i7Data.ausrichtung === 2 ? ssabLength : 0);
1463
+ p.yPosition += i7Data.yrel + nsgSo.yrel + (i7Data.ausrichtung === 3 ? ssabLength : 0);
1464
+ }
1465
+ integral7.integralNSGStpSchiene.set(i7Data.stpschiene, i7Data);
1466
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'Stp-SSAB ');
1467
+ diagramObject.rotation = (360 - 90 * i7Data.ausrichtung) % 360;
1468
+ utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
1469
+ const uuid = this.integralID2UUID.get(i7Data.stpschiene);
1470
+ const cimObject = cimModel.getObject(uuid);
1471
+ diagramObject.setIdentifiedObjectUUID(uuid);
1472
+ const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1473
+ const diagram = cimModel.getDiagram(diagramUUID);
1474
+ if (diagram) {
1475
+ diagramObject.setDiagram(diagram);
1476
+ diagram.addDiagramObject(diagramObject);
1477
+ integral7.placedCIMObjectsForDLProfil.set(uuid, diagramObject);
1478
+ }
1479
+ else {
1480
+ this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
1481
+ }
1482
+ }
1483
+ }
1484
+ else {
1485
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STP_SCHIENE} ist nicht vorhanden.`);
1486
+ }
1487
+ });
1488
+ }
1489
+ convertSchemaSternpunktKnoten(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
1490
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1491
+ const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
1492
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STP_KNOTEN) && nsgStandortIDs.length > 0) {
1493
+ const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_KNOTEN, nsgStandortIDs));
1494
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1495
+ if (filteredResults.length <= 0)
1496
+ return;
1497
+ const knoten1pelemIDs = filteredResults.map(elem => elem.knoten);
1498
+ let sqlStatement;
1499
+ sqlStatement = `SELECT *
1500
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.STERNPUNKT_KNOTEN]}
1501
+ WHERE ${integral_sql_1.getWhereIDs('id', knoten1pelemIDs).join(' OR ')};`;
1502
+ const knoten1pelemResults = yield this.mysqlController.execQuery(sqlStatement);
1503
+ const knoten1pelemMap = new Map();
1504
+ for (const elem of knoten1pelemResults) {
1505
+ let arr = knoten1pelemMap.has(elem.netzobjekt) ? knoten1pelemMap.get(elem.netzobjekt) : [];
1506
+ arr.push(elem.id);
1507
+ knoten1pelemMap.set(elem.netzobjekt, arr);
1508
+ }
1509
+ sqlStatement = `SELECT id AS 'netzobjektID', trafo3w AS 'trafoID', 'netz_trafo3w' AS 'trafoType'
1510
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}
1511
+ WHERE id IN (${knoten1pelemResults.map(elem => elem.netzobjekt).join(',')})
1512
+ UNION ALL
1513
+ SELECT id AS 'netzobjektID', id AS 'trafoID', 'netz_trafo2w' AS 'trafoType'
1514
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}
1515
+ WHERE id IN (${knoten1pelemResults.map(elem => elem.netzobjekt).join(',')});`;
1516
+ const trafoIDTypeResults = yield this.mysqlController.execQuery(sqlStatement);
1517
+ const trafoIDTypeMap = new Map();
1518
+ for (const trafoIDTypeResult of trafoIDTypeResults) {
1519
+ const netzobjektRelatedKnotenIDs = knoten1pelemMap.get(trafoIDTypeResult.netzobjektID);
1520
+ for (const netzobjektRelatedKnotenID of netzobjektRelatedKnotenIDs) {
1521
+ trafoIDTypeMap.set(netzobjektRelatedKnotenID, trafoIDTypeResult);
1522
+ }
1523
+ }
1524
+ for (const i7Data of filteredResults) {
1525
+ let centerPoint = new DiagramObjectPoint_1.DiagramObjectPoint(0, 0, 1);
1526
+ const shiftOffset = constants_1.NsgConstants.STP_KNOTEN_WIDTH;
1527
+ const trafoIDType = trafoIDTypeMap.get(i7Data.knoten);
1528
+ const nsgTrafo = integral7.integralNSGTrafos.get(trafoIDType.trafoID);
1529
+ const nsgStandort = integral7.integralNSGStandorte.get(nsgTrafo.nsgsoid);
1530
+ const points = [];
1531
+ points.push(centerPoint);
1532
+ for (const p of points) {
1533
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * i7Data.ausrichtung);
1534
+ p.xPosition += i7Data.xrel + nsgTrafo.xrel + nsgStandort.xrel + (i7Data.ausrichtung === 2 ? shiftOffset : 0);
1535
+ p.yPosition += i7Data.yrel + nsgTrafo.yrel + nsgStandort.yrel + (i7Data.ausrichtung === 3 ? shiftOffset : 0);
1536
+ }
1537
+ integral7.integralNSGStpKnoten.set(i7Data.id, i7Data);
1538
+ const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'Stp-SSAB');
1539
+ diagramObject.rotation = (360 - 90 * i7Data.ausrichtung) % 360;
1540
+ utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
1541
+ const uuid = this.integralID2UUID.get(i7Data.knoten);
1542
+ diagramObject.setIdentifiedObjectUUID(uuid);
1543
+ const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
1544
+ const diagram = cimModel.getDiagram(diagramUUID);
1545
+ if (diagram) {
1546
+ diagramObject.setDiagram(diagram);
1547
+ diagram.addDiagramObject(diagramObject);
1548
+ integral7.placedCIMObjectsForDLProfil.set(uuid, diagramObject);
1549
+ }
1550
+ else {
1551
+ this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
1552
+ }
1553
+ }
1554
+ }
1555
+ else {
1556
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STP_SCHALTFELD} ist nicht vorhanden.`);
1557
+ }
881
1558
  });
882
1559
  }
883
1560
  convertStandorte(cimModel, integral7, whereID, defaultValuesConfig) {
@@ -885,7 +1562,7 @@ class ConverterI7 {
885
1562
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STANDORT)) {
886
1563
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STANDORT, whereID));
887
1564
  for (const i7Data of result) {
888
- const i7name = util_create_1.createNotation([utils_2.getName(i7Data), "_", utils_2.ueberpruefeZeichenkette(i7Data.ukz)], 32);
1565
+ const i7name = util_create_1.createNotation([utils_2.getName(i7Data), '_', utils_2.ueberpruefeZeichenkette(i7Data.ukz)], 32);
889
1566
  const substation = new AMPRIONSubstation_1.AMPRIONSubstation(utils_1.getUUID(i7Data.guid), i7name, i7Data.kurzname, i7Data.kommentar, i7Data.stationsnummer, i7Data.ukz);
890
1567
  let subregion = cimModel.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
891
1568
  if (!subregion) {
@@ -937,7 +1614,7 @@ class ConverterI7 {
937
1614
  i7Data.un +
938
1615
  integral_prefix_1.MITTIGER_PUNKT +
939
1616
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
940
- const vl = new VoltageLevel_1.VoltageLevel(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_", i7Data.un.toString(), "_VL"]), i7Data.kurzname, i7Schluessel);
1617
+ const vl = new VoltageLevel_1.VoltageLevel(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_', i7Data.un.toString(), '_VL']), i7Data.kurzname, i7Schluessel);
941
1618
  const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
942
1619
  const baseVoltage = util_create_1.createBaseVoltageIfNotExists(cimModel, un, this.exportFramesBoundary);
943
1620
  vl.baseVoltage = baseVoltage;
@@ -966,7 +1643,7 @@ class ConverterI7 {
966
1643
  continue;
967
1644
  }
968
1645
  else {
969
- voltageLevel.name = util_create_1.createNotation([voltageLevel.name, "_", i7Data.pos.toString()], 32, true);
1646
+ voltageLevel.name = util_create_1.createNotation([voltageLevel.name, '_', i7Data.pos.toString()], 32, true);
970
1647
  }
971
1648
  const schaltanlagenabschnitt = new Schaltanlagenabschnitt_1.SchaltanlagenabschnittImpl(i7Data);
972
1649
  schaltanlagenabschnitt.addSchaltanlage(integral7.integralSchaltanlagen.get(schaltanlagenabschnitt.schaltanlageid));
@@ -1020,7 +1697,7 @@ class ConverterI7 {
1020
1697
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_SO, standortIDs));
1021
1698
  for (const i7Data of result) {
1022
1699
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1023
- const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), i7Data.un.toString(), "_VL"]), i7Data.kurzname);
1700
+ const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
1024
1701
  const rdfid = utils_1.getUUID(i7Data.guid);
1025
1702
  const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', rdfid.substring(0, 8), '_CN']), i7Data.kurzname, i7Data.kommentar);
1026
1703
  connectivityNode.setConnectivityNodeContainer(vl);
@@ -1069,9 +1746,12 @@ class ConverterI7 {
1069
1746
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SAMMELSCHIENE, schaltanlagenAbschnittIDs));
1070
1747
  for (const i7Data of result) {
1071
1748
  const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
1072
- const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt), "_BBS"]), i7Schaltanlagenabschnitt.kurzname);
1749
+ const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt), '_BBS']), i7Schaltanlagenabschnitt.kurzname);
1073
1750
  busbarSection.ipMax = i7Data.limit_ip;
1074
1751
  busbarSection.aggregate = false;
1752
+ if (utils_1.getUUID(i7Data.guid) === '24206c79-3ac8-4436-aa02-3f60a9e85975') {
1753
+ let stop = true;
1754
+ }
1075
1755
  const rdfid = utils_1.getUUID(i7Data.guid);
1076
1756
  const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_' + i7Data.pos.toString(), '_' + rdfid.substring(0, 8), '_CN'], 32, true), i7Data.kurzname);
1077
1757
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
@@ -1113,7 +1793,7 @@ class ConverterI7 {
1113
1793
  const result = yield this.queryDataInChuncks(integral_sql_1.I7Objects.KNOTEN_SF, schaltfeldIDs);
1114
1794
  for (const i7Data of result) {
1115
1795
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
1116
- const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid_cn), util_create_1.createNotation([utils_2.getName(i7Data), "_CN"]), 'knotensf', `${bay.description}/${i7Data.bezeichner}`);
1796
+ const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid_cn), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'knotensf', `${bay.description}/${i7Data.bezeichner}`);
1117
1797
  if (bay) {
1118
1798
  connectivityNode.connectivityNodeContainer = bay;
1119
1799
  bay.addConnectivityNode(connectivityNode);
@@ -1137,7 +1817,7 @@ class ConverterI7 {
1137
1817
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_KF)) {
1138
1818
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_KF, querkupplungIDs));
1139
1819
  for (const i7Data of result) {
1140
- const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CN"]), 'knotenkf');
1820
+ const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'knotenkf');
1141
1821
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
1142
1822
  if (bay) {
1143
1823
  connectivityNode.connectivityNodeContainer = bay;
@@ -1160,7 +1840,7 @@ class ConverterI7 {
1160
1840
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_LK)) {
1161
1841
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_LK, laengskupplungIDs));
1162
1842
  for (const i7Data of result) {
1163
- const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_CN"]), 'KnotenLk');
1843
+ const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'KnotenLk');
1164
1844
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
1165
1845
  if (bay) {
1166
1846
  connectivityNode.connectivityNodeContainer = bay;
@@ -1211,7 +1891,7 @@ class ConverterI7 {
1211
1891
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
1212
1892
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BELASTUNG, knotenSfIDs));
1213
1893
  for (const i7Data of result) {
1214
- const load = targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad ? new INTEGRALConformLoad_1.INTEGRALConformLoad(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CL"])) : new EnergyConsumer_1.EnergyConsumer(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_EC"]));
1894
+ const load = targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad ? new INTEGRALConformLoad_1.INTEGRALConformLoad(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CL'])) : new EnergyConsumer_1.EnergyConsumer(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_EC']));
1215
1895
  this.setTopologyEnergySourceConsumerObject(cimModel, load, i7Data);
1216
1896
  const mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
1217
1897
  if (mf && targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad) {
@@ -1288,7 +1968,7 @@ class ConverterI7 {
1288
1968
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.GENERATOR, knotenSfIDs));
1289
1969
  for (const i7Data of result) {
1290
1970
  const genType = this.generatorTypen.get(i7Data.nametyp);
1291
- const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SM"], 32, true), i7Data.kurzname, i7Data.nameprimaertyp);
1971
+ const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SM'], 32, true), i7Data.kurzname, i7Data.nameprimaertyp);
1292
1972
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1293
1973
  const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
1294
1974
  const minP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : 0;
@@ -1342,6 +2022,7 @@ class ConverterI7 {
1342
2022
  }
1343
2023
  else if (!condenserOperationMode && generatorOperationMode && !motorOperationMode) {
1344
2024
  synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
2025
+ synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generator;
1345
2026
  }
1346
2027
  else if (!condenserOperationMode && !generatorOperationMode && motorOperationMode) {
1347
2028
  synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.motor;
@@ -1369,6 +2050,8 @@ class ConverterI7 {
1369
2050
  const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
1370
2051
  const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
1371
2052
  const maxQvonPmax = utils_2.isNumericI7(i7Data.qmax_von_pmax) ? utils_2.convertToNumberI7(i7Data.qmax_von_pmax) : undefined;
2053
+ const minQvonPmax = utils_2.isNumericI7(i7Data.qmin_von_pmax) ? utils_2.convertToNumberI7(i7Data.qmin_von_pmax) : undefined;
2054
+ const maxQvonPmin = utils_2.isNumericI7(i7Data.qmax_von_pmin) ? utils_2.convertToNumberI7(i7Data.qmax_von_pmin) : undefined;
1372
2055
  const minQvonPmin = utils_2.isNumericI7(i7Data.qmin_von_pmin) ? utils_2.convertToNumberI7(i7Data.qmin_von_pmin) : undefined;
1373
2056
  synchronousMachine.maxQ = maxQ ? maxQ : maxQvonPmax;
1374
2057
  synchronousMachine.minQ = minQ ? minQ : minQvonPmin;
@@ -1393,7 +2076,7 @@ class ConverterI7 {
1393
2076
  synchronousMachine.ratedPowerFactor = cosphir ? cosphir : undefined;
1394
2077
  synchronousMachine.r = utils_2.isNumericI7(i7Data.rg) ? utils_2.convertToNumberI7(i7Data.rg) : genType === null || genType === void 0 ? void 0 : genType.rg;
1395
2078
  if (minP && maxP && minQvonPmin && maxQvonPmax) {
1396
- const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve(utils_1.generateUUID(), util_create_1.createNotation(['CurveData', synchronousMachine.mrid, "_RCC"]));
2079
+ const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve(utils_1.generateUUID(), util_create_1.createNotation(['CurveData', synchronousMachine.mrid, '_RCC']));
1397
2080
  reactiveCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
1398
2081
  reactiveCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
1399
2082
  reactiveCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
@@ -1402,12 +2085,12 @@ class ConverterI7 {
1402
2085
  curveData1.curve = reactiveCapabilityCurve;
1403
2086
  curveData1.xvalue = minP;
1404
2087
  curveData1.y1value = minQvonPmin;
1405
- curveData1.y2value = maxQvonPmax;
2088
+ curveData1.y2value = maxQvonPmin;
1406
2089
  cimModel.addCurveData(curveData1);
1407
2090
  const curveData2 = new CurveData_1.CurveData(utils_1.generateUUID());
1408
2091
  curveData2.curve = reactiveCapabilityCurve;
1409
- curveData2.xvalue = minP;
1410
- curveData2.y1value = minQvonPmin;
2092
+ curveData2.xvalue = maxP;
2093
+ curveData2.y1value = minQvonPmax;
1411
2094
  curveData2.y2value = maxQvonPmax;
1412
2095
  cimModel.addCurveData(curveData2);
1413
2096
  cimModel.addReactiveCapabilityCurve(reactiveCapabilityCurve);
@@ -1437,18 +2120,18 @@ class ConverterI7 {
1437
2120
  if (generatingUnitConfig) {
1438
2121
  switch (generatingUnitConfig.class) {
1439
2122
  case 'ThermalGeneratingUnit': {
1440
- generatingUnit = new ThermalGeneratingUnit_1.ThermalGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_TGU"]), i7Data.kurzname, i7Data.nameprimaertyp);
2123
+ generatingUnit = new ThermalGeneratingUnit_1.ThermalGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_TGU']), i7Data.kurzname, i7Data.nameprimaertyp);
1441
2124
  if (generatingUnitConfig.fuelType) {
1442
2125
  utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, cimModel);
1443
2126
  }
1444
2127
  break;
1445
2128
  }
1446
2129
  case 'SolarGeneratingUnit': {
1447
- generatingUnit = new SolarGeneratingUnit_1.SolarGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_SGU"]), i7Data.kurzname, i7Data.nameprimaertyp);
2130
+ generatingUnit = new SolarGeneratingUnit_1.SolarGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_SGU']), i7Data.kurzname, i7Data.nameprimaertyp);
1448
2131
  break;
1449
2132
  }
1450
2133
  case 'WindGeneratingUnit': {
1451
- generatingUnit = new WindGeneratingUnit_1.WindGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_WGU"]), i7Data.kurzname, i7Data.nameprimaertyp);
2134
+ generatingUnit = new WindGeneratingUnit_1.WindGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_WGU']), i7Data.kurzname, i7Data.nameprimaertyp);
1452
2135
  switch (generatingUnitConfig.fuelType) {
1453
2136
  case 'onshore': {
1454
2137
  generatingUnit.windGenUnitType = WindGenUnitKind_1.WindGenUnitKind.onshore;
@@ -1466,22 +2149,22 @@ class ConverterI7 {
1466
2149
  break;
1467
2150
  }
1468
2151
  case 'NuclearGeneratingUnit': {
1469
- generatingUnit = new NuclearGeneratingUnit_1.NuclearGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_NGU"]), i7Data.kurzname);
2152
+ generatingUnit = new NuclearGeneratingUnit_1.NuclearGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_NGU']), i7Data.kurzname);
1470
2153
  break;
1471
2154
  }
1472
2155
  case 'HydroGeneratingUnit': {
1473
- generatingUnit = new HydroGeneratingUnit_1.HydroGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_HGU"]), i7Data.kurzname);
2156
+ generatingUnit = new HydroGeneratingUnit_1.HydroGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_HGU']), i7Data.kurzname);
1474
2157
  generatingUnit.energyConversionCapability = HydroEnergyConversionKind_1.HydroEnergyConversionKind.pumpAndGenerator;
1475
2158
  break;
1476
2159
  }
1477
2160
  default: {
1478
- generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_GU"]), i7Data.kurzname);
2161
+ generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_GU']), i7Data.kurzname);
1479
2162
  break;
1480
2163
  }
1481
2164
  }
1482
2165
  }
1483
2166
  else {
1484
- generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_GU"]), i7Data.kurzname);
2167
+ generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_GU']), i7Data.kurzname);
1485
2168
  }
1486
2169
  generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
1487
2170
  generatingUnit.maxOperatingP = maxP;
@@ -1526,7 +2209,7 @@ class ConverterI7 {
1526
2209
  const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.ASYNCHRONMOTOR, 0, 0, knotenSfIDs));
1527
2210
  for (const i7Data of result) {
1528
2211
  const assetType = this.asynchronmotorTypen.get(i7Data.nametyp);
1529
- const asynchronousMachine = new INTEGRALAsynchronousMachine_1.INTEGRALAsynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_AM"]), i7Data.kurzname, 'SO-' + i7Data.ukz + integral_prefix_1.MITTIGER_PUNKT + i7Data.bezeichner);
2212
+ const asynchronousMachine = new INTEGRALAsynchronousMachine_1.INTEGRALAsynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_AM']), i7Data.kurzname, 'SO-' + i7Data.ukz + integral_prefix_1.MITTIGER_PUNKT + i7Data.bezeichner);
1530
2213
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
1531
2214
  if (mf) {
1532
2215
  cimModel.addMultiplierFactor(mf);
@@ -1579,7 +2262,7 @@ class ConverterI7 {
1579
2262
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KWBLOCK)) {
1580
2263
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KWBLOCK, knotenSfIDs));
1581
2264
  for (const i7Data of result) {
1582
- const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SM"]), i7Data.kurzname);
2265
+ const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SM']), i7Data.kurzname);
1583
2266
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
1584
2267
  if (mf) {
1585
2268
  cimModel.addMultiplierFactor(mf);
@@ -1674,7 +2357,7 @@ class ConverterI7 {
1674
2357
  convertErsatzQuerZweige2ExternalNetworkInjection(cimModel, result) {
1675
2358
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1676
2359
  for (const i7Data of result) {
1677
- const externalNetworkInjection = new ExternalNetworkInjection_1.ExternalNetworkInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_ENI"]), i7Data.kurzname);
2360
+ const externalNetworkInjection = new ExternalNetworkInjection_1.ExternalNetworkInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_ENI']), i7Data.kurzname);
1678
2361
  const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
1679
2362
  const governorscd = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
1680
2363
  externalNetworkInjection.governorSCD = governorscd;
@@ -1698,7 +2381,7 @@ class ConverterI7 {
1698
2381
  const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
1699
2382
  const r_ext = utils_2.isNumericI7(i7Data.r_ext) ? utils_2.convertToNumberI7(i7Data.r_ext) : undefined;
1700
2383
  const x_ext = utils_2.isNumericI7(i7Data.x_ext) ? utils_2.convertToNumberI7(i7Data.x_ext) : undefined;
1701
- const equivalentInjection = new INTEGRALEquivalentInjection_1.INTEGRALEquivalentInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_EI"]), i7Data.kurzname);
2384
+ const equivalentInjection = new INTEGRALEquivalentInjection_1.INTEGRALEquivalentInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_EI']), i7Data.kurzname);
1702
2385
  equivalentInjection.normallyInService = inBetrieb;
1703
2386
  if (flag_lfl && usoll && (r_ext || x_ext)) {
1704
2387
  equivalentInjection.regulationCapability = true;
@@ -1822,7 +2505,7 @@ class ConverterI7 {
1822
2505
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL)) {
1823
2506
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, knotenSfIDs));
1824
2507
  for (const i7Data of result) {
1825
- const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_LSC"]), i7Data.kurzname);
2508
+ const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
1826
2509
  shunt.normalSections = i7Data.aktstufe;
1827
2510
  shunt.maximumSections = i7Data.maxstufe;
1828
2511
  shunt.nomU = i7Data.ur;
@@ -1856,7 +2539,7 @@ class ConverterI7 {
1856
2539
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR)) {
1857
2540
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, knotenSfIDs));
1858
2541
  for (const i7Data of result) {
1859
- const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_LSC"]), i7Data.kurzname);
2542
+ const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
1860
2543
  shunt.normalSections = i7Data.aktstufe;
1861
2544
  shunt.maximumSections = i7Data.maxstufe;
1862
2545
  shunt.nomU = i7Data.ur;
@@ -1890,7 +2573,7 @@ class ConverterI7 {
1890
2573
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STATCOM)) {
1891
2574
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STATCOM, knotenSfIDs));
1892
2575
  for (const i7Data of result) {
1893
- const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SVC"]), i7Data.kurzname);
2576
+ const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
1894
2577
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1895
2578
  const regulatingControl = utils_2.createRegulatingControl(`RC_Statcom_${i7Data.id}`, inBetrieb, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage, cimModel, statVarCom);
1896
2579
  this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, regulatingControl);
@@ -1930,7 +2613,7 @@ class ConverterI7 {
1930
2613
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SVC)) {
1931
2614
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SVC, knotenSfIDs));
1932
2615
  for (const i7Data of result) {
1933
- const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SVC"]), i7Data.kurzname);
2616
+ const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
1934
2617
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1935
2618
  const regulatingControl = utils_2.createRegulatingControl(`RC_SVC ${i7Data.id}`, inBetrieb, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage, cimModel, statVarCom);
1936
2619
  this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, regulatingControl);
@@ -1970,7 +2653,7 @@ class ConverterI7 {
1970
2653
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH)) {
1971
2654
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, knotenSfIDs));
1972
2655
  for (const i7Data of result) {
1973
- const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCCU"]));
2656
+ const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
1974
2657
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
1975
2658
  if (acConnectivityNode) {
1976
2659
  const equipmentContainer = this.determineEquipmentContainer('Substation', cimModel, acConnectivityNode.connectivityNodeContainer);
@@ -1984,7 +2667,7 @@ class ConverterI7 {
1984
2667
  else {
1985
2668
  this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
1986
2669
  }
1987
- const csConverter = new CsConverter_1.CsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CSC"]), i7Data.kurzname);
2670
+ const csConverter = new CsConverter_1.CsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CSC']), i7Data.kurzname);
1988
2671
  csConverter.equipmentContainer = dcConverterUnit;
1989
2672
  csConverter.baseS = i7Data.pr;
1990
2673
  csConverter.ratedUdc = i7Data.ur;
@@ -2013,10 +2696,10 @@ class ConverterI7 {
2013
2696
  else {
2014
2697
  this.logger.debug(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
2015
2698
  }
2016
- const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCN"]));
2699
+ const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCN']));
2017
2700
  dcNode.dcEquipmentContainer = dcConverterUnit;
2018
2701
  dcConverterUnit.dCNodes.set(dcNode.getUUID(), dcNode);
2019
- const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_ACDCC-DCT"]));
2702
+ const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_ACDCC-DCT']));
2020
2703
  acDCConverterDCTerminal.dCConductingEquipment = csConverter;
2021
2704
  csConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
2022
2705
  acDCConverterDCTerminal.dcNode = dcNode;
@@ -2037,7 +2720,7 @@ class ConverterI7 {
2037
2720
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC)) {
2038
2721
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, knotenSfIDs));
2039
2722
  for (const i7Data of result) {
2040
- const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCCU"]));
2723
+ const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
2041
2724
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
2042
2725
  if (acConnectivityNode) {
2043
2726
  const equipmentContainer = this.determineEquipmentContainer('Substation', cimModel, acConnectivityNode.connectivityNodeContainer);
@@ -2051,7 +2734,7 @@ class ConverterI7 {
2051
2734
  else {
2052
2735
  this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
2053
2736
  }
2054
- const vsConverter = new VsConverter_1.VsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_VSC"]), i7Data.kurzname);
2737
+ const vsConverter = new VsConverter_1.VsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_VSC']), i7Data.kurzname);
2055
2738
  vsConverter.equipmentContainer = dcConverterUnit;
2056
2739
  vsConverter.baseS = i7Data.pr;
2057
2740
  utils_2.isNumericI7(i7Data.udc) ? vsConverter.ratedUdc = i7Data.udc : vsConverter.ratedUdc = i7Data.ur;
@@ -2090,9 +2773,9 @@ class ConverterI7 {
2090
2773
  else {
2091
2774
  this.logger.debug(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
2092
2775
  }
2093
- const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCN"]));
2776
+ const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCN']));
2094
2777
  dcNode.dcEquipmentContainer = dcConverterUnit;
2095
- const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_ACDCC-DCT"]));
2778
+ const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_ACDCC-DCT']));
2096
2779
  acDCConverterDCTerminal.dCConductingEquipmentUUID = vsConverter.mrid;
2097
2780
  acDCConverterDCTerminal.dcNode = dcNode;
2098
2781
  vsConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
@@ -2158,7 +2841,7 @@ class ConverterI7 {
2158
2841
  try {
2159
2842
  const cn = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2160
2843
  const cimrdfid = utils_1.getUUID(i7Data.guid);
2161
- const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), "_" + cimrdfid, "_ENI"], 32, true), i7Data.kurzname);
2844
+ const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_' + cimrdfid, '_ENI'], 32, true), i7Data.kurzname);
2162
2845
  const un = cn.getVoltageLevel().getBaseVoltageAsNumber();
2163
2846
  externalNetworkInjection.nameprimaertyp = i7Data.nameprimaertyp;
2164
2847
  let mf = undefined;
@@ -2361,7 +3044,7 @@ class ConverterI7 {
2361
3044
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
2362
3045
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_STARR, containerIDs));
2363
3046
  for (const i7Data of result) {
2364
- const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_BR"]), 'Breaker', 'starre Verbindung');
3047
+ const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']), 'Breaker', 'starre Verbindung');
2365
3048
  yield this.convertSwitch(breaker, cimModel, i7Data);
2366
3049
  cimModel.addBreaker(breaker);
2367
3050
  this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
@@ -2377,7 +3060,7 @@ class ConverterI7 {
2377
3060
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) {
2378
3061
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNERFI_3P, containerIDs));
2379
3062
  for (const i7Data of result) {
2380
- const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_D"]));
3063
+ const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
2381
3064
  yield this.convertSwitch(disconnector, cimModel, i7Data);
2382
3065
  cimModel.addDisconnector(disconnector);
2383
3066
  this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNERFI_3P);
@@ -2393,7 +3076,7 @@ class ConverterI7 {
2393
3076
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
2394
3077
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNER_3P, containerIDs));
2395
3078
  for (const i7Data of result) {
2396
- const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_D"]));
3079
+ const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
2397
3080
  yield this.convertSwitch(disconnector, cimModel, i7Data);
2398
3081
  cimModel.addDisconnector(disconnector);
2399
3082
  this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNER_3P);
@@ -2409,7 +3092,7 @@ class ConverterI7 {
2409
3092
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER)) {
2410
3093
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, containerIDs));
2411
3094
  for (const i7Data of result) {
2412
- const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_BR"]));
3095
+ const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']));
2413
3096
  yield this.convertSwitch(breaker, cimModel, i7Data);
2414
3097
  cimModel.addBreaker(breaker);
2415
3098
  this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
@@ -2457,12 +3140,13 @@ class ConverterI7 {
2457
3140
  }
2458
3141
  });
2459
3142
  }
2460
- convertLaengsdrosseln(cimModel, knotenSfIDs, defaultValuesConfig) {
3143
+ convertLaengsdrosseln(cimModel, integral7, defaultValuesConfig) {
3144
+ var _a;
2461
3145
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2462
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL)) {
2463
- const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LAENGSDROSSEL, 0, 0, []));
3146
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) && integral7.lDrosselAnschlussKnotenIDs.length) {
3147
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSDROSSEL, integral7.lDrosselAnschlussKnotenIDs));
2464
3148
  for (const i7Data of result) {
2465
- const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SC"]), i7Data.kurzname, i7Data.kommentar + '; LD-' + i7Data.bezeichner);
3149
+ const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SC']), i7Data.kurzname, i7Data.kommentar + '; LD-' + i7Data.bezeichner);
2466
3150
  const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
2467
3151
  let startTerminal;
2468
3152
  if (start) {
@@ -2496,7 +3180,10 @@ class ConverterI7 {
2496
3180
  else {
2497
3181
  this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2498
3182
  }
2499
- const vlObject = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(startTerminal.connectivityNode.getConnectivityNodeContainerUUID()));
3183
+ if (!startTerminal.connectivityNode && terminal.connectivityNodeUUID) {
3184
+ startTerminal.connectivityNode = cimModel.getConnectivityNode(terminal.connectivityNodeUUID);
3185
+ }
3186
+ const vlObject = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject((_a = startTerminal.connectivityNode) === null || _a === void 0 ? void 0 : _a.getConnectivityNodeContainerUUID()));
2500
3187
  if (vlObject) {
2501
3188
  seriesCompensator.equipmentContainer = vlObject;
2502
3189
  seriesCompensator.baseVoltage = baseVoltage;
@@ -2515,6 +3202,69 @@ class ConverterI7 {
2515
3202
  }
2516
3203
  });
2517
3204
  }
3205
+ convertLaengskondensatoren(cimModel, integral7, defaultValuesConfig) {
3206
+ var _a;
3207
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
3208
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) && integral7.lKondensatorAnschlussKnotenIDs.length > 0) {
3209
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKONDENSATOR, integral7.lKondensatorAnschlussKnotenIDs));
3210
+ for (const i7Data of result) {
3211
+ const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SC']), i7Data.kurzname);
3212
+ const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
3213
+ let startTerminal;
3214
+ if (start) {
3215
+ startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true);
3216
+ }
3217
+ else {
3218
+ this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
3219
+ }
3220
+ const target = cimModel.getObject(this.integralID2UUID.get(i7Data.eknoten));
3221
+ let targetTerminal;
3222
+ if (target) {
3223
+ targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true);
3224
+ }
3225
+ else {
3226
+ this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
3227
+ }
3228
+ const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
3229
+ const baseVoltage = util_create_1.createBaseVoltageIfNotExists(cimModel, ur, this.exportFramesBoundary);
3230
+ const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : undefined;
3231
+ const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : undefined;
3232
+ if (i > 0 && ukr > 0) {
3233
+ const voltage = baseVoltage.nominalVoltage.value * 1000;
3234
+ const z = (ukr / 100) * Math.pow(voltage, 2) / (voltage * i * Math.sqrt(3));
3235
+ seriesCompensator.x = z;
3236
+ }
3237
+ seriesCompensator.varistorRatedCurrent = i;
3238
+ const terminal = startTerminal;
3239
+ if (terminal) {
3240
+ this.setConductingEquipmentCurrentLimit(cimModel, 'Rating ' + seriesCompensator.name, terminal, i);
3241
+ }
3242
+ else {
3243
+ this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
3244
+ }
3245
+ const substationUUID = this.integralID2UUID.get(i7Data.standort);
3246
+ const voltageLevel = this.getVoltageLevelByVoltage((_a = (cimModel.getSubstation(substationUUID))) === null || _a === void 0 ? void 0 : _a.voltageLevels, ur);
3247
+ if (!voltageLevel) {
3248
+ this.logger.debug(`Längskondensator ${seriesCompensator === null || seriesCompensator === void 0 ? void 0 : seriesCompensator.mrid} hat kein EquipmentContainer`);
3249
+ }
3250
+ if (voltageLevel) {
3251
+ seriesCompensator.equipmentContainer = voltageLevel;
3252
+ seriesCompensator.baseVoltage = voltageLevel.baseVoltage;
3253
+ }
3254
+ else {
3255
+ this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
3256
+ }
3257
+ const psrType = utils_1.createIfNotExitsPSRType(cimModel, 'Längskondensator');
3258
+ seriesCompensator.psrType = psrType;
3259
+ cimModel.addSeriesCompensator(seriesCompensator);
3260
+ this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
3261
+ }
3262
+ }
3263
+ else {
3264
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
3265
+ }
3266
+ });
3267
+ }
2518
3268
  convertBetriebsmitteltypenKdrossel() {
2519
3269
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2520
3270
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KDROSSEL)) {
@@ -2537,8 +3287,8 @@ class ConverterI7 {
2537
3287
  for (const i7DataSchiene of stpSchiene) {
2538
3288
  try {
2539
3289
  stpSchieneIDs.push(i7DataSchiene.id);
2540
- const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene), "_CN"]));
2541
- const junction = new Junction_1.Junction(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene), "_J"]));
3290
+ const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene), '_CN']));
3291
+ const junction = new Junction_1.Junction(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene), '_J']));
2542
3292
  const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7DataSchiene.id)));
2543
3293
  connectivityNode.setConnectivityNodeContainer(equipmentContainer);
2544
3294
  if (equipmentContainer) {
@@ -2582,14 +3332,14 @@ class ConverterI7 {
2582
3332
  const junctionUUID = integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get((i7Data.anschluss));
2583
3333
  let conductingEquip;
2584
3334
  if (imax && imin) {
2585
- const petersenCoil = new PetersenCoil_1.PetersenCoil(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_PC"]), i7Data.kurzname);
3335
+ const petersenCoil = new PetersenCoil_1.PetersenCoil(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_PC']), i7Data.kurzname);
2586
3336
  integral7.sternPunktImpModel.petersenCoils.set(petersenCoil.mrid, petersenCoil);
2587
3337
  integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, petersenCoil);
2588
3338
  this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
2589
3339
  conductingEquip = petersenCoil;
2590
3340
  }
2591
3341
  else {
2592
- const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_GI"]), i7Data.kurzname);
3342
+ const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_GI']), i7Data.kurzname);
2593
3343
  groundingImpedance.r = utils_2.isNumericI7(i7Data.rne) ? i7Data.rne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? kdType === null || kdType === void 0 ? void 0 : kdType.rne : undefined);
2594
3344
  groundingImpedance.x = utils_2.isNumericI7(i7Data.xne) ? i7Data.xne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
2595
3345
  integral7.sternPunktImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
@@ -2744,6 +3494,9 @@ class ConverterI7 {
2744
3494
  }
2745
3495
  const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, leitungIDs));
2746
3496
  for (const i7Data of result) {
3497
+ if (i7Data.id === 943) {
3498
+ let stop = true;
3499
+ }
2747
3500
  const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
2748
3501
  if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
2749
3502
  continue;
@@ -2765,7 +3518,8 @@ class ConverterI7 {
2765
3518
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2766
3519
  '-' +
2767
3520
  utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
2768
- const line = new AMPRIONLine_1.AMPRIONLine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([name, i7Data.guid.substring(0, 8), "_L"], 32, true), i7Data.stkabname, i7Schluessel);
3521
+ const uuidString = utils_1.getUUID(i7Data.guid);
3522
+ const line = new AMPRIONLine_1.AMPRIONLine(uuidString, util_create_1.createNotation([name, uuidString.substring(0, 8), '_L'], 32, true), i7Data.stkabname, i7Schluessel);
2769
3523
  line.ukz = i7Data.ukz;
2770
3524
  let acLineSegments = [];
2771
3525
  for (const stk of stromkreisabschnitte) {
@@ -2775,7 +3529,11 @@ class ConverterI7 {
2775
3529
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2776
3530
  '-' +
2777
3531
  utils_2.ueberpruefeZeichenkette(stk.bezeichner);
2778
- const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(utils_1.getUUID(stk.custom_guid_0120 + stk.custom_guid_2137), util_create_1.createNotation([name, "_" + stk.pos.toString(), stk.custom_guid_0120.substring(0, 8), "_ACLS"], 32, true), i7Data.stkabname, i7Schluessel);
3532
+ if (utils_1.getUUID(stk.custom_guid_0120 + stk.custom_guid_2137).toLowerCase() === '8387376e-86bf-4da0-91f2-b19a3d490715') {
3533
+ let stop = true;
3534
+ }
3535
+ const uuidACLineString = utils_1.getUUID(i7Data.guid);
3536
+ const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuidACLineString, util_create_1.createNotation([name, '_' + stk.pos.toString(), uuidACLineString, '_ACLS'], 32, true), i7Data.stkabname, i7Schluessel);
2779
3537
  let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(stk.multfaktor));
2780
3538
  if (mf) {
2781
3539
  cimModel.addMultiplierFactor(mf);
@@ -2805,6 +3563,12 @@ class ConverterI7 {
2805
3563
  else {
2806
3564
  this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2807
3565
  }
3566
+ if (acLineSegments[0].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
3567
+ let stop = true;
3568
+ }
3569
+ else if (acLineSegments[0].getUUID() === 'e1a65e81-1cec-4f1a-ab87-9c7b667ad64f') {
3570
+ let stop = true;
3571
+ }
2808
3572
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegmentStart, stromkreisabschnitte[0], defaultValuesConfig);
2809
3573
  cimModel.addACLineSegment(acLineSegmentStart);
2810
3574
  const anzahl = acLineSegments.length;
@@ -2818,6 +3582,9 @@ class ConverterI7 {
2818
3582
  if (tmp_terminal) {
2819
3583
  tmp_terminal = undefined;
2820
3584
  }
3585
+ if (acLineSegments[i].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
3586
+ let stop = true;
3587
+ }
2821
3588
  this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegments[i], stromkreisabschnitte[i], defaultValuesConfig);
2822
3589
  const acLineSegment2 = acLineSegments[i + 1];
2823
3590
  tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true);
@@ -2891,69 +3658,6 @@ class ConverterI7 {
2891
3658
  }
2892
3659
  });
2893
3660
  }
2894
- convertLaengskondensatoren(cimModel, integral7, defaultValuesConfig) {
2895
- var _a;
2896
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2897
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) && integral7.lKondensatorAnschlussKnotenIDs.length > 0) {
2898
- const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKONDENSATOR, integral7.lKondensatorAnschlussKnotenIDs));
2899
- for (const i7Data of result) {
2900
- const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SC"]), i7Data.kurzname);
2901
- const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
2902
- let startTerminal;
2903
- if (start) {
2904
- startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true);
2905
- }
2906
- else {
2907
- this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2908
- }
2909
- const target = cimModel.getObject(this.integralID2UUID.get(i7Data.eknoten));
2910
- let targetTerminal;
2911
- if (target) {
2912
- targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true);
2913
- }
2914
- else {
2915
- this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2916
- }
2917
- const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2918
- const baseVoltage = util_create_1.createBaseVoltageIfNotExists(cimModel, ur, this.exportFramesBoundary);
2919
- const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : undefined;
2920
- const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : undefined;
2921
- if (i > 0 && ukr > 0) {
2922
- const voltage = baseVoltage.nominalVoltage.value * 1000;
2923
- const z = (ukr / 100) * Math.pow(voltage, 2) / (voltage * i * Math.sqrt(3));
2924
- seriesCompensator.x = z;
2925
- }
2926
- seriesCompensator.varistorRatedCurrent = i;
2927
- const terminal = startTerminal;
2928
- if (terminal) {
2929
- this.setConductingEquipmentCurrentLimit(cimModel, 'Rating ' + seriesCompensator.name, terminal, i);
2930
- }
2931
- else {
2932
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2933
- }
2934
- const substationUUID = this.integralID2UUID.get(i7Data.standort);
2935
- const voltageLevel = this.getVoltageLevelByVoltage((_a = (cimModel.getSubstation(substationUUID))) === null || _a === void 0 ? void 0 : _a.voltageLevels, ur);
2936
- if (!voltageLevel) {
2937
- this.logger.debug(`Längskondensator ${seriesCompensator === null || seriesCompensator === void 0 ? void 0 : seriesCompensator.mrid} hat kein EquipmentContainer`);
2938
- }
2939
- if (voltageLevel) {
2940
- seriesCompensator.equipmentContainer = voltageLevel;
2941
- seriesCompensator.baseVoltage = voltageLevel.baseVoltage;
2942
- }
2943
- else {
2944
- this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2945
- }
2946
- const psrType = utils_1.createIfNotExitsPSRType(cimModel, 'Längskondensator');
2947
- seriesCompensator.psrType = psrType;
2948
- cimModel.addSeriesCompensator(seriesCompensator);
2949
- this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
2950
- }
2951
- }
2952
- else {
2953
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
2954
- }
2955
- });
2956
- }
2957
3661
  convertDCLines(cimModel, integral7, defaultValuesConfig) {
2958
3662
  var _a, _b;
2959
3663
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -2964,18 +3668,22 @@ class ConverterI7 {
2964
3668
  if (utils_1.getUUID(i7Data.guid_dcline) === '6a5b7e1e-f8be-4165-9752-2e2359d9b4f8') {
2965
3669
  let stop = true;
2966
3670
  }
2967
- const dcLine = new DCLine_1.DCLine(utils_1.getUUID(i7Data.guid_dcline), util_create_1.createNotation([utils_2.getName(i7Data), "_DCL"]));
3671
+ integral7.integralHgueLeitungen.set(i7Data.id, i7Data);
3672
+ const dcLine = new DCLine_1.DCLine(utils_1.getUUID(i7Data.guid_dcline), util_create_1.createNotation([utils_2.getName(i7Data), '_DCL']));
2968
3673
  const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
2969
3674
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
2970
- const dcLineSegment = new DCLineSegment_1.DCLineSegment(utils_1.getUUID(i7Data.guidp), util_create_1.createNotation([utils_2.getName(i7Data), "_DCLS"]), i7Data.kurzname, i7Schluessel);
3675
+ const dcLineSegment = new DCLineSegment_1.DCLineSegment(utils_1.getUUID(i7Data.guidp), util_create_1.createNotation([utils_2.getName(i7Data), '_DCLS']), i7Data.kurzname, i7Schluessel);
2971
3676
  dcLineSegment.resistance = i7Data.rdc / 2;
2972
3677
  dcLineSegment.equipmentContainer = dcLine;
2973
3678
  const bipol = utils_2.convertToBooleanI7(i7Data.bipol);
2974
3679
  const acDCConverterStart = cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt));
2975
3680
  const acDCConverterTarget = cimModel.getObject(this.integralID2UUID.get(i7Data.enetzobjekt));
2976
- if (acDCConverterStart && acDCConverterTarget) {
2977
- const converterUnitStart = (_a = acDCConverterStart) === null || _a === void 0 ? void 0 : _a.equipmentContainer;
2978
- const converterUnitTarget = (_b = acDCConverterTarget) === null || _b === void 0 ? void 0 : _b.equipmentContainer;
3681
+ if (acDCConverterStart === undefined || acDCConverterTarget === undefined) {
3682
+ continue;
3683
+ }
3684
+ const converterUnitStart = (_a = acDCConverterStart) === null || _a === void 0 ? void 0 : _a.equipmentContainer;
3685
+ const converterUnitTarget = (_b = acDCConverterTarget) === null || _b === void 0 ? void 0 : _b.equipmentContainer;
3686
+ if (converterUnitStart && converterUnitTarget) {
2979
3687
  switch (bipol) {
2980
3688
  case (true): {
2981
3689
  converterUnitStart.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
@@ -2987,37 +3695,37 @@ class ConverterI7 {
2987
3695
  converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarGroundReturn;
2988
3696
  }
2989
3697
  }
2990
- const startDCNode = getDCNodeFromConverter(acDCConverterStart);
2991
- if (startDCNode) {
2992
- const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCT"]));
2993
- dcTerminal.connected = true;
2994
- dcTerminal.dCConductingEquipment = dcLineSegment;
2995
- dcTerminal.dcNode = startDCNode;
2996
- startDCNode.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
2997
- cimModel.addDCTerminal(dcTerminal);
2998
- }
2999
- else {
3000
- this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
3001
- }
3002
- const targetDCNode = getDCNodeFromConverter(acDCConverterTarget);
3003
- if (targetDCNode) {
3004
- const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCT"]));
3005
- dcTerminal.connected = true;
3006
- dcTerminal.dCConductingEquipment = dcLineSegment;
3007
- dcTerminal.dcNode = targetDCNode;
3008
- targetDCNode.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
3009
- cimModel.addDCTerminal(dcTerminal);
3010
- }
3011
- else {
3012
- this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
3013
- }
3014
- cimModel.addDCLine(dcLine);
3015
- cimModel.addDCLineSegment(dcLineSegment);
3016
- this.addIdMapping(i7Data.id, dcLineSegment.mrid, integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
3017
3698
  }
3018
3699
  else {
3019
- this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: Es konnten nicht alle zugehörende/r Konverter ermittelt werden. Gefundene Konverter: ${acDCConverterStart === null || acDCConverterStart === void 0 ? void 0 : acDCConverterStart.mrid}, ${acDCConverterTarget === null || acDCConverterTarget === void 0 ? void 0 : acDCConverterTarget.mrid}`);
3700
+ this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: zugehörende/r Konverter konnte nicht ermittelt werden.`);
3701
+ }
3702
+ const startDCNode = acDCConverterStart ? getDCNodeFromConverter(acDCConverterStart) : undefined;
3703
+ if (startDCNode) {
3704
+ const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCT']));
3705
+ dcTerminal.connected = true;
3706
+ dcTerminal.dCConductingEquipment = dcLineSegment;
3707
+ dcTerminal.dcNode = startDCNode;
3708
+ startDCNode.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
3709
+ cimModel.addDCTerminal(dcTerminal);
3710
+ }
3711
+ else {
3712
+ this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
3713
+ }
3714
+ const targetDCNode = acDCConverterTarget ? getDCNodeFromConverter(acDCConverterTarget) : undefined;
3715
+ if (targetDCNode) {
3716
+ const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCT']));
3717
+ dcTerminal.connected = true;
3718
+ dcTerminal.dCConductingEquipment = dcLineSegment;
3719
+ dcTerminal.dcNode = targetDCNode;
3720
+ targetDCNode.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
3721
+ cimModel.addDCTerminal(dcTerminal);
3020
3722
  }
3723
+ else {
3724
+ this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
3725
+ }
3726
+ cimModel.addDCLine(dcLine);
3727
+ cimModel.addDCLineSegment(dcLineSegment);
3728
+ this.addIdMapping(i7Data.id, dcLineSegment.mrid, integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
3021
3729
  }
3022
3730
  }
3023
3731
  else {
@@ -3231,7 +3939,13 @@ class ConverterI7 {
3231
3939
  const spannungsband = integral7.targetVoltages.get(spRegKnoten.id);
3232
3940
  const cnUUID = this.integralID2UUID.get(spRegKnoten.id);
3233
3941
  const connectivityNode = cimModel.getObject(cnUUID);
3234
- this.convertTapChangers(i7Data, powerTransformerEnds, cimModel, powerTransformerInfo, connectivityNode, spannungsband);
3942
+ try {
3943
+ this.convertTapChangers(i7Data, powerTransformerEnds, cimModel, powerTransformerInfo, connectivityNode, spannungsband);
3944
+ }
3945
+ catch (err) {
3946
+ console.log('convertTapChangers');
3947
+ console.log(err);
3948
+ }
3235
3949
  cimModel.addPowerTransformerEnd(powerTransformerEnd1);
3236
3950
  cimModel.addPowerTransformerEnd(powerTransformerEnd2);
3237
3951
  cimModel.addPowerTransformer(powerTransformer);
@@ -3387,12 +4101,21 @@ class ConverterI7 {
3387
4101
  const spannungsband = integral7.targetVoltages.get(spRegKnoten.id);
3388
4102
  const cnUUID = this.integralID2UUID.get(spRegKnoten.id);
3389
4103
  const connectivityNode = cimModel.getObject(cnUUID);
3390
- this.convertTapChangers(i7Data, powerTransformerEnds, cimModel, powerTransformerInfo, connectivityNode, spannungsband);
4104
+ try {
4105
+ this.convertTapChangers(i7Data, powerTransformerEnds, cimModel, powerTransformerInfo, connectivityNode, spannungsband);
4106
+ }
4107
+ catch (err) {
4108
+ console.log('convertTapChangers');
4109
+ console.log(err);
4110
+ }
3391
4111
  cimModel.addPowerTransformer(powerTransformer);
3392
4112
  cimModel.addPowerTransformerEnd(powerTransformerEnd1);
3393
4113
  cimModel.addPowerTransformerEnd(powerTransformerEnd2);
3394
4114
  cimModel.addPowerTransformerEnd(powerTransformerEnd3);
3395
4115
  this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO3W);
4116
+ this.addIdMapping(i7Data.trafowicklung3w1, powerTransformerEnd1.mrid, undefined);
4117
+ this.addIdMapping(i7Data.trafowicklung3w2, powerTransformerEnd2.mrid, undefined);
4118
+ this.addIdMapping(i7Data.trafowicklung3w3, powerTransformerEnd3.mrid, undefined);
3396
4119
  }
3397
4120
  }
3398
4121
  else {
@@ -3434,7 +4157,7 @@ class ConverterI7 {
3434
4157
  const cimModel = frame.cimModel;
3435
4158
  const substations = Array.from(cimModel.substations.values());
3436
4159
  for (const substation of substations) {
3437
- const line = new Line_1.Line(substation.mrid, substation.name + "_BD-L", substation.shortName, substation.description);
4160
+ const line = new Line_1.Line(substation.mrid, substation.name + '_BD-L', substation.shortName, substation.description);
3438
4161
  const subregion = substation.subGeographicalRegion;
3439
4162
  line.subGeographicalRegion = subregion;
3440
4163
  subregion.addLine(line);
@@ -3517,6 +4240,9 @@ class ConverterI7 {
3517
4240
  });
3518
4241
  }
3519
4242
  sortTransformerEnd(powerTransformer, sortProperty, order) {
4243
+ if (powerTransformer.getUUID() === '5b0e4820d43247188ded6b28db72fc95') {
4244
+ let stop = true;
4245
+ }
3520
4246
  let winding_guids = new Array(powerTransformer.powerTransformerEnds.length);
3521
4247
  let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnds.length);
3522
4248
  for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
@@ -3669,6 +4395,9 @@ class ConverterI7 {
3669
4395
  return operationalLimitType;
3670
4396
  }
3671
4397
  createConnection(cimModel, conductingEquipment, object, phase, connected) {
4398
+ if (conductingEquipment.getUUID() === '66d3c196-8927-478a-a6bf-248ea34cdeb3') {
4399
+ let stop = true;
4400
+ }
3672
4401
  let isNameSet = false;
3673
4402
  let terminal;
3674
4403
  if (object instanceof ConnectivityNode_1.ConnectivityNode) {
@@ -3841,45 +4570,60 @@ class ConverterI7 {
3841
4570
  let tempKnotenId = i7Data.spgreg_anschluss === 0 ? i7Data.aknoten :
3842
4571
  (i7Data.spgreg_anschluss === 1 ? i7Data.eknoten : undefined);
3843
4572
  if (tempKnotenId !== undefined) {
3844
- let queryResult = yield this.mysqlController.execQuery(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]} WHERE id = ${tempKnotenId};`);
4573
+ let queryResult = yield this.mysqlController.execQuery(`SELECT id
4574
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]}
4575
+ WHERE id = ${tempKnotenId};`);
3845
4576
  if (queryResult.length === 1) {
3846
4577
  const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
3847
4578
  const tabName_NetzSchaltfeld = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHALTFELD];
3848
4579
  const tabName_NetzKnotenSf = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF];
3849
- const sqlStatement = `SELECT ${tabName_NetzSSAB}.id, ${tabName_NetzSSAB}.umin, ${tabName_NetzSSAB}.umax, ${tabName_NetzSSAB}.usoll
3850
- FROM ${tabName_NetzSSAB}
3851
- LEFT JOIN ${tabName_NetzSchaltfeld} ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
3852
- LEFT JOIN ${tabName_NetzKnotenSf} ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
3853
- WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
4580
+ const sqlStatement = `SELECT ${tabName_NetzSSAB}.id,
4581
+ ${tabName_NetzSSAB}.umin,
4582
+ ${tabName_NetzSSAB}.umax,
4583
+ ${tabName_NetzSSAB}.usoll
4584
+ FROM ${tabName_NetzSSAB}
4585
+ LEFT JOIN ${tabName_NetzSchaltfeld}
4586
+ ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
4587
+ LEFT JOIN ${tabName_NetzKnotenSf}
4588
+ ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
4589
+ WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
3854
4590
  minMaxSollResult = yield this.mysqlController.execQuery(sqlStatement);
3855
4591
  }
3856
4592
  else {
3857
- queryResult = yield this.mysqlController.execQuery(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]} WHERE id = ${tempKnotenId};`);
4593
+ queryResult = yield this.mysqlController.execQuery(`SELECT id
4594
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]}
4595
+ WHERE id = ${tempKnotenId};`);
3858
4596
  if (queryResult.length === 1) {
3859
4597
  const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
3860
4598
  const tabName_NetzSchlaufe = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHLAUFE];
3861
4599
  const tabName_NetzKnotenZw = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW];
3862
- minMaxSollResult = yield this.mysqlController.execQuery(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
3863
- FROM ${tabName_NetzKnotenZw}
3864
- LEFT JOIN ${tabName_NetzSchlaufe} ON
3865
- ${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
3866
- LEFT JOIN ${tabName_NetzSo} ON
3867
- ${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
3868
- WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
4600
+ minMaxSollResult = yield this.mysqlController.execQuery(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
4601
+ FROM ${tabName_NetzKnotenZw}
4602
+ LEFT JOIN ${tabName_NetzSchlaufe} ON
4603
+ ${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
4604
+ LEFT JOIN ${tabName_NetzSo} ON
4605
+ ${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
4606
+ WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
3869
4607
  }
3870
4608
  else {
3871
- minMaxSollResult = yield this.mysqlController.execQuery(`SELECT id, umin, umax, usoll FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]} where id = ${tempKnotenId};`);
4609
+ minMaxSollResult = yield this.mysqlController.execQuery(`SELECT id, umin, umax, usoll
4610
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]}
4611
+ where id = ${tempKnotenId};`);
3872
4612
  }
3873
4613
  }
3874
4614
  }
3875
4615
  else if (spgKnotenId !== undefined) {
3876
4616
  const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
3877
4617
  const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
3878
- const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
3879
- FROM (
3880
- SELECT id, umin, umax, usoll FROM ${tabName_NetzSo} WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
3881
- UNION
3882
- SELECT id, umin, umax, usoll FROM ${tabName_NetzSSAB} WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
4618
+ const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
4619
+ FROM (
4620
+ SELECT id, umin, umax, usoll
4621
+ FROM ${tabName_NetzSo}
4622
+ WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
4623
+ UNION
4624
+ SELECT id, umin, umax, usoll
4625
+ FROM ${tabName_NetzSSAB}
4626
+ WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
3883
4627
  minMaxSollResult = yield this.mysqlController.execQuery(query);
3884
4628
  }
3885
4629
  if (minMaxSollResult && minMaxSollResult.length) {
@@ -3901,7 +4645,7 @@ class ConverterI7 {
3901
4645
  }
3902
4646
  catch (e) {
3903
4647
  this.logger.error(e);
3904
- console.error("ERROR:" + e);
4648
+ console.error('ERROR:' + e);
3905
4649
  }
3906
4650
  });
3907
4651
  }
@@ -3917,7 +4661,7 @@ class ConverterI7 {
3917
4661
  status.status = 'error';
3918
4662
  status.message = e.toString();
3919
4663
  this.logger.error(e);
3920
- console.error("ERROR:" + e);
4664
+ console.error('ERROR:' + e);
3921
4665
  }
3922
4666
  resolve(status);
3923
4667
  }));
@@ -4034,7 +4778,7 @@ class ConverterI7 {
4034
4778
  this.createDropIndex('create index netz_leitung_aknoten_index on netz_leitung (aknoten);'),
4035
4779
  this.createDropIndex('create index netz_leitung_eknoten_index on netz_leitung (eknoten);'),
4036
4780
  this.createDropIndex('create index netz_freileitungabschnitt_leitung_index on netz_freileitungabschnitt (leitung);'),
4037
- this.createDropIndex('create index netz_kabelabschnitt_leitung_index on netz_kabelabschnitt (leitung);'),
4781
+ this.createDropIndex('create index netz_kabelabschnitt_leitung_index on netz_kabelabschnitt (leitung);')
4038
4782
  ]);
4039
4783
  });
4040
4784
  }
@@ -4054,7 +4798,7 @@ class ConverterI7 {
4054
4798
  this.createDropIndex('drop index netz_leitung_aknoten_index on netz_leitung;'),
4055
4799
  this.createDropIndex('drop index netz_leitung_eknoten_index on netz_leitung;'),
4056
4800
  this.createDropIndex('drop index netz_freileitungabschnitt_leitung_index on netz_freileitungabschnitt;'),
4057
- this.createDropIndex('drop index netz_kabelabschnitt_leitung_index on netz_kabelabschnitt;'),
4801
+ this.createDropIndex('drop index netz_kabelabschnitt_leitung_index on netz_kabelabschnitt;')
4058
4802
  ]);
4059
4803
  });
4060
4804
  }
@@ -4186,7 +4930,9 @@ class ConverterI7 {
4186
4930
  let neutralStep = utils_2.isNumericI7(i7Data[`mittelstufe_s${tapChangerNumber}`])
4187
4931
  ? i7Data[`mittelstufe_s${tapChangerNumber}`]
4188
4932
  : tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.neutralStep;
4189
- let currentStep = i7Data[`aktstufe_s${tapChangerNumber}`];
4933
+ let currentStep = utils_2.isNumericI7(i7Data[`aktstufe_s${tapChangerNumber}`])
4934
+ ? i7Data[`aktstufe_s${tapChangerNumber}`]
4935
+ : neutralStep;
4190
4936
  const i7TapArray = utils_2.getTapChangerStepArray(lowStep, highStep);
4191
4937
  const lowerVoltageStepCount = utils_2.getTapChangerStepCount(lowStep, neutralStep);
4192
4938
  const increaseVoltageStepCount = utils_2.getTapChangerStepCount(neutralStep, highStep);
@@ -4398,7 +5144,8 @@ class ConverterI7 {
4398
5144
  }
4399
5145
  queryLeitungsAnschlussIDs() {
4400
5146
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4401
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
5147
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5148
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
4402
5149
  for (const result of results) {
4403
5150
  this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
4404
5151
  this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
@@ -4407,14 +5154,14 @@ class ConverterI7 {
4407
5154
  }
4408
5155
  queryTrafosAnschlussIDs() {
4409
5156
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4410
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
4411
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
5157
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5158
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
4412
5159
  for (const result of results) {
4413
5160
  this.trafo2wAnschlussKnotenIDs.add(result[`aknoten`]);
4414
5161
  this.trafo2wAnschlussKnotenIDs.add(result[`eknoten`]);
4415
5162
  }
4416
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
4417
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
5163
+ results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5164
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
4418
5165
  for (const result of results) {
4419
5166
  this.trafo3wAnschlussKnotenIDs.add(result[`aknoten`]);
4420
5167
  this.trafo3wAnschlussKnotenIDs.add(result[`eknoten`]);
@@ -4423,7 +5170,8 @@ class ConverterI7 {
4423
5170
  }
4424
5171
  queryHgueAnschlussIDs() {
4425
5172
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4426
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT anetzobjekt, enetzobjekt FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
5173
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT anetzobjekt, enetzobjekt
5174
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
4427
5175
  for (const result of results) {
4428
5176
  this.hgueAnschlussKnotenIDs.add(result[`anetzobjekt`]);
4429
5177
  this.hgueAnschlussKnotenIDs.add(result[`enetzobjekt`]);
@@ -4432,7 +5180,8 @@ class ConverterI7 {
4432
5180
  }
4433
5181
  queryLDroselAnschlussIDs() {
4434
5182
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4435
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
5183
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5184
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
4436
5185
  for (const result of results) {
4437
5186
  this.lDrosselAnschlussKnotenIDs.add(result[`aknoten`]);
4438
5187
  this.lDrosselAnschlussKnotenIDs.add(result[`eknoten`]);
@@ -4441,7 +5190,8 @@ class ConverterI7 {
4441
5190
  }
4442
5191
  queryErsatzLaengsAnschlussIDs() {
4443
5192
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4444
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
5193
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5194
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
4445
5195
  for (const result of results) {
4446
5196
  this.ersatzZweigAnschlussKnotenIDs.add(result[`aknoten`]);
4447
5197
  this.ersatzZweigAnschlussKnotenIDs.add(result[`eknoten`]);
@@ -4450,7 +5200,8 @@ class ConverterI7 {
4450
5200
  }
4451
5201
  queryLkondensatorAnschlussIDs() {
4452
5202
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4453
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
5203
+ let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
5204
+ FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
4454
5205
  for (const result of results) {
4455
5206
  this.lKondensatorAnschlussKnotenIDs.add(result[`aknoten`]);
4456
5207
  this.lKondensatorAnschlussKnotenIDs.add(result[`eknoten`]);
@@ -4554,15 +5305,15 @@ class ConverterI7 {
4554
5305
  connectivityNode.toEndNameTso = tsoName;
4555
5306
  }
4556
5307
  else {
4557
- this.logger.error(`Grenzknoten ${connectivityNode.name} mit der UUID ${connectivityNode.mrid} ist bereits belegt:
4558
- fromEndName ${connectivityNode.fromEndName}
4559
- fromEndIsoCode ${connectivityNode.fromEndIsoCode}
4560
- fromEndNameTso ${connectivityNode.fromEndNameTso}
4561
- toEndName ${connectivityNode.toEndName}
4562
- toEndIsoCode ${connectivityNode.toEndIsoCode}
4563
- toEndNameTso ${connectivityNode.toEndNameTso}
4564
- name ${name}
4565
- isoCode ${isoCode}
5308
+ this.logger.error(`Grenzknoten ${connectivityNode.name} mit der UUID ${connectivityNode.mrid} ist bereits belegt:
5309
+ fromEndName ${connectivityNode.fromEndName}
5310
+ fromEndIsoCode ${connectivityNode.fromEndIsoCode}
5311
+ fromEndNameTso ${connectivityNode.fromEndNameTso}
5312
+ toEndName ${connectivityNode.toEndName}
5313
+ toEndIsoCode ${connectivityNode.toEndIsoCode}
5314
+ toEndNameTso ${connectivityNode.toEndNameTso}
5315
+ name ${name}
5316
+ isoCode ${isoCode}
4566
5317
  tsoName ${tsoName}`);
4567
5318
  }
4568
5319
  }
@@ -4592,8 +5343,7 @@ class ConverterI7 {
4592
5343
  }
4593
5344
  exports.ConverterI7 = ConverterI7;
4594
5345
  function getDCNodeFromConverter(acDcConverter) {
4595
- var _a;
4596
- for (const terminal of (_a = acDcConverter === null || acDcConverter === void 0 ? void 0 : acDcConverter.dCTerminals) === null || _a === void 0 ? void 0 : _a.values()) {
5346
+ for (const terminal of acDcConverter.dCTerminals.values()) {
4597
5347
  if (terminal.dcNode)
4598
5348
  return terminal.dcNode;
4599
5349
  }