@enervance/insight-cim-model 0.0.78 → 0.0.80

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 (667) hide show
  1. package/dist/analysis/analysis-neplan/digi-ons.js +17 -10
  2. package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -1
  3. package/dist/config/load.confings.js +354 -354
  4. package/dist/config/load.confings.js.map +1 -1
  5. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +3 -2
  6. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  7. package/dist/config/westnetz-neplan/callbacks/cb-psr.js +2 -1
  8. package/dist/config/westnetz-neplan/callbacks/cb-psr.js.map +1 -1
  9. package/dist/constants/cim-class-names.js +181 -181
  10. package/dist/constants/cim-class-names.js.map +1 -1
  11. package/dist/constants/cim-constants.js +35 -35
  12. package/dist/constants/cim-constants.js.map +1 -1
  13. package/dist/constants/rdf-xml.js +59 -59
  14. package/dist/constants/rdf-xml.js.map +1 -1
  15. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js +5 -5
  16. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js.map +1 -1
  17. package/dist/converter/integral7/converter.integral7.js +3875 -3711
  18. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  19. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +1082 -1054
  20. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
  21. package/dist/converter/integral7/interface-i7/export-frame-i7.js +62 -70
  22. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  23. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js +0 -11
  24. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js.map +1 -1
  25. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js +0 -22
  26. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js.map +1 -1
  27. package/dist/converter/integral7/model/dl-utils/constants.js +66 -66
  28. package/dist/converter/integral7/model/dl-utils/constants.js.map +1 -1
  29. package/dist/converter/integral7/model/dl-utils/util-functions.js +4 -3
  30. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  31. package/dist/converter/integral7/model/integral/BaseClass.js +0 -8
  32. package/dist/converter/integral7/model/integral/BaseClass.js.map +1 -1
  33. package/dist/converter/integral7/model/integral/BaseClassNsg.js +0 -7
  34. package/dist/converter/integral7/model/integral/BaseClassNsg.js.map +1 -1
  35. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js +0 -6
  36. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js.map +1 -1
  37. package/dist/converter/integral7/model/integral/KnotenSo.js +0 -6
  38. package/dist/converter/integral7/model/integral/KnotenSo.js.map +1 -1
  39. package/dist/converter/integral7/model/integral/KnotenSoNsg.js +0 -6
  40. package/dist/converter/integral7/model/integral/KnotenSoNsg.js.map +1 -1
  41. package/dist/converter/integral7/model/integral/Laengskupplung.js +0 -6
  42. package/dist/converter/integral7/model/integral/Laengskupplung.js.map +1 -1
  43. package/dist/converter/integral7/model/integral/Leitung.js +0 -8
  44. package/dist/converter/integral7/model/integral/Leitung.js.map +1 -1
  45. package/dist/converter/integral7/model/integral/LeitungNsg.js +0 -10
  46. package/dist/converter/integral7/model/integral/LeitungNsg.js.map +1 -1
  47. package/dist/converter/integral7/model/integral/Point.js +0 -2
  48. package/dist/converter/integral7/model/integral/Point.js.map +1 -1
  49. package/dist/converter/integral7/model/integral/Schaltanlage.js +1 -6
  50. package/dist/converter/integral7/model/integral/Schaltanlage.js.map +1 -1
  51. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js +1 -8
  52. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js.map +1 -1
  53. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js +2 -7
  54. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js.map +1 -1
  55. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js +0 -8
  56. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js.map +1 -1
  57. package/dist/converter/integral7/model/integral/Schaltfeld.js +0 -5
  58. package/dist/converter/integral7/model/integral/Schaltfeld.js.map +1 -1
  59. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js +0 -17
  60. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js.map +1 -1
  61. package/dist/converter/integral7/model/integral/Standort.js +1 -15
  62. package/dist/converter/integral7/model/integral/Standort.js.map +1 -1
  63. package/dist/converter/integral7/model/integral/StandortNsg.js +1 -4
  64. package/dist/converter/integral7/model/integral/StandortNsg.js.map +1 -1
  65. package/dist/converter/integral7/model/integral/Trafo2w.js +0 -6
  66. package/dist/converter/integral7/model/integral/Trafo2w.js.map +1 -1
  67. package/dist/converter/integral7/model/integral/Trafo2wNsg.js +0 -5
  68. package/dist/converter/integral7/model/integral/Trafo2wNsg.js.map +1 -1
  69. package/dist/converter/integral7/model/integral/Trafo3w.js +0 -5
  70. package/dist/converter/integral7/model/integral/Trafo3w.js.map +1 -1
  71. package/dist/converter/integral7/model/integral/Trafo3wNsg.js +0 -12
  72. package/dist/converter/integral7/model/integral/Trafo3wNsg.js.map +1 -1
  73. package/dist/converter/integral7/sql/integral.sql.js +253 -253
  74. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  75. package/dist/converter/integral7/utils-schema.js +2 -1
  76. package/dist/converter/integral7/utils-schema.js.map +1 -1
  77. package/dist/converter/integral7/utils.js +33 -27
  78. package/dist/converter/integral7/utils.js.map +1 -1
  79. package/dist/data-structures/Settings.js +0 -4
  80. package/dist/data-structures/Settings.js.map +1 -1
  81. package/dist/data-structures/graph/GraphObject.js +3 -8
  82. package/dist/data-structures/graph/GraphObject.js.map +1 -1
  83. package/dist/data-structures/graph/connections/connection.js +1 -5
  84. package/dist/data-structures/graph/connections/connection.js.map +1 -1
  85. package/dist/data-structures/graph/edges/GraphEdge.js +0 -2
  86. package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
  87. package/dist/data-structures/graph/graph.js +3 -4
  88. package/dist/data-structures/graph/graph.js.map +1 -1
  89. package/dist/data-structures/tree/GraphTree.js +12 -10
  90. package/dist/data-structures/tree/GraphTree.js.map +1 -1
  91. package/dist/data-structures/tree/GraphTreeEdge.js +3 -6
  92. package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -1
  93. package/dist/data-structures/tree/GraphTreeNode.js +11 -11
  94. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
  95. package/dist/data-structures/tree/GraphTreeObject.js +2 -6
  96. package/dist/data-structures/tree/GraphTreeObject.js.map +1 -1
  97. package/dist/etl/etl-neplan/etl-neplan-csv.js +23 -18
  98. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  99. package/dist/etl/etl-neplan/etl-neplan-feederline.js +7 -6
  100. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  101. package/dist/etl/etl-neplan/etl-neplan-geo.js +34 -26
  102. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  103. package/dist/etl/etl-neplan/etl-neplan-util.js +7 -5
  104. package/dist/etl/etl-neplan/etl-neplan-util.js.map +1 -1
  105. package/dist/etl/etl-neplan/etl-neplan.js +14 -13
  106. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  107. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +7 -6
  108. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  109. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js +2 -2
  110. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js.map +1 -1
  111. package/dist/grid-validation/grid-validation.js +4 -3
  112. package/dist/grid-validation/grid-validation.js.map +1 -1
  113. package/dist/interfaces/schema-settings/ShapeInfos.js +0 -12
  114. package/dist/interfaces/schema-settings/ShapeInfos.js.map +1 -1
  115. package/dist/model/alternate-models/AlternateModel.js +0 -2
  116. package/dist/model/alternate-models/AlternateModel.js.map +1 -1
  117. package/dist/model/alternate-models/AlternateModelGroup.js +1 -1
  118. package/dist/model/alternate-models/AlternateModelGroup.js.map +1 -1
  119. package/dist/model/assetinfo/AssetInfo.js +5 -5
  120. package/dist/model/assetinfo/AssetInfo.js.map +1 -1
  121. package/dist/model/assetinfo/SwitchInfo.js +22 -21
  122. package/dist/model/assetinfo/SwitchInfo.js.map +1 -1
  123. package/dist/model/assetinfo/TapChangerInfo.js +36 -68
  124. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  125. package/dist/model/assetinfo/TransformerEndInfo.js +3 -8
  126. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  127. package/dist/model/assetinfo/WireInfo.js +0 -3
  128. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  129. package/dist/model/assets/AggregateScore.js +24 -23
  130. package/dist/model/assets/AggregateScore.js.map +1 -1
  131. package/dist/model/assets/Analytic.js +28 -31
  132. package/dist/model/assets/Analytic.js.map +1 -1
  133. package/dist/model/assets/AnalyticScore.js +0 -5
  134. package/dist/model/assets/AnalyticScore.js.map +1 -1
  135. package/dist/model/assets/Asset.js +46 -53
  136. package/dist/model/assets/Asset.js.map +1 -1
  137. package/dist/model/assets/AssetContainer.js +2 -2
  138. package/dist/model/assets/AssetContainer.js.map +1 -1
  139. package/dist/model/assets/AssetDeployment.js +25 -31
  140. package/dist/model/assets/AssetDeployment.js.map +1 -1
  141. package/dist/model/assets/AssetHealthEvent.js +28 -27
  142. package/dist/model/assets/AssetHealthEvent.js.map +1 -1
  143. package/dist/model/assets/AssetOrganisationRole.js +2 -2
  144. package/dist/model/assets/AssetOrganisationRole.js.map +1 -1
  145. package/dist/model/assets/AssetOwner.js +20 -19
  146. package/dist/model/assets/AssetOwner.js.map +1 -1
  147. package/dist/model/assets/AssetUser.js +20 -19
  148. package/dist/model/assets/AssetUser.js.map +1 -1
  149. package/dist/model/assets/DeploymentDate.js +0 -5
  150. package/dist/model/assets/DeploymentDate.js.map +1 -1
  151. package/dist/model/assets/Facility.js +22 -22
  152. package/dist/model/assets/Facility.js.map +1 -1
  153. package/dist/model/assets/HealthScore.js +23 -22
  154. package/dist/model/assets/HealthScore.js.map +1 -1
  155. package/dist/model/assets/LifecycleDate.js +0 -6
  156. package/dist/model/assets/LifecycleDate.js.map +1 -1
  157. package/dist/model/assets/Structure.js +0 -1
  158. package/dist/model/assets/Structure.js.map +1 -1
  159. package/dist/model/common/ActivityRecord.js +1 -6
  160. package/dist/model/common/ActivityRecord.js.map +1 -1
  161. package/dist/model/common/CoordinateSystem.js +18 -18
  162. package/dist/model/common/CoordinateSystem.js.map +1 -1
  163. package/dist/model/common/Document.js +0 -1
  164. package/dist/model/common/Document.js.map +1 -1
  165. package/dist/model/common/Location.js +31 -33
  166. package/dist/model/common/Location.js.map +1 -1
  167. package/dist/model/common/Organisation.js +22 -21
  168. package/dist/model/common/Organisation.js.map +1 -1
  169. package/dist/model/common/OrganisationRole.js +2 -3
  170. package/dist/model/common/OrganisationRole.js.map +1 -1
  171. package/dist/model/common/PositionPoint.js +27 -32
  172. package/dist/model/common/PositionPoint.js.map +1 -1
  173. package/dist/model/common/Status.js +0 -4
  174. package/dist/model/common/Status.js.map +1 -1
  175. package/dist/model/core/ACDCTerminal.js +1 -3
  176. package/dist/model/core/ACDCTerminal.js.map +1 -1
  177. package/dist/model/core/BaseVoltage.js +26 -26
  178. package/dist/model/core/BaseVoltage.js.map +1 -1
  179. package/dist/model/core/Bay.js +27 -27
  180. package/dist/model/core/Bay.js.map +1 -1
  181. package/dist/model/core/ConductingEquipment.js +1 -8
  182. package/dist/model/core/ConductingEquipment.js.map +1 -1
  183. package/dist/model/core/ConnectivityNode.js +32 -41
  184. package/dist/model/core/ConnectivityNode.js.map +1 -1
  185. package/dist/model/core/ConnectivityNodeContainer.js +0 -2
  186. package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
  187. package/dist/model/core/Curve.js +1 -5
  188. package/dist/model/core/Curve.js.map +1 -1
  189. package/dist/model/core/CurveData.js +0 -6
  190. package/dist/model/core/CurveData.js.map +1 -1
  191. package/dist/model/core/Equipment.js +0 -7
  192. package/dist/model/core/Equipment.js.map +1 -1
  193. package/dist/model/core/EquipmentContainer.js +1 -3
  194. package/dist/model/core/EquipmentContainer.js.map +1 -1
  195. package/dist/model/core/Feeder.js +8 -13
  196. package/dist/model/core/Feeder.js.map +1 -1
  197. package/dist/model/core/GeographicalRegion.js +1 -1
  198. package/dist/model/core/GeographicalRegion.js.map +1 -1
  199. package/dist/model/core/IdentifiedObject.js +9 -32
  200. package/dist/model/core/IdentifiedObject.js.map +1 -1
  201. package/dist/model/core/PSRType.js +19 -33
  202. package/dist/model/core/PSRType.js.map +1 -1
  203. package/dist/model/core/PowerSystemResource.js +5 -10
  204. package/dist/model/core/PowerSystemResource.js.map +1 -1
  205. package/dist/model/core/SubGeographicalRegion.js +2 -3
  206. package/dist/model/core/SubGeographicalRegion.js.map +1 -1
  207. package/dist/model/core/Substation.js +31 -37
  208. package/dist/model/core/Substation.js.map +1 -1
  209. package/dist/model/core/Terminal.js +38 -56
  210. package/dist/model/core/Terminal.js.map +1 -1
  211. package/dist/model/core/VoltageLevel.js +23 -29
  212. package/dist/model/core/VoltageLevel.js.map +1 -1
  213. package/dist/model/dc/ACDCConverter.js +4 -28
  214. package/dist/model/dc/ACDCConverter.js.map +1 -1
  215. package/dist/model/dc/ACDCConverterDCTerminal.js +0 -3
  216. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  217. package/dist/model/dc/CsConverter.js +0 -20
  218. package/dist/model/dc/CsConverter.js.map +1 -1
  219. package/dist/model/dc/DCBaseTerminal.js +0 -2
  220. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  221. package/dist/model/dc/DCConductingEquipment.js +4 -1
  222. package/dist/model/dc/DCConductingEquipment.js.map +1 -1
  223. package/dist/model/dc/DCConverterUnit.js +0 -3
  224. package/dist/model/dc/DCConverterUnit.js.map +1 -1
  225. package/dist/model/dc/DCEquipmentContainer.js +4 -1
  226. package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
  227. package/dist/model/dc/DCLine.js +18 -20
  228. package/dist/model/dc/DCLine.js.map +1 -1
  229. package/dist/model/dc/DCLineSegment.js +26 -34
  230. package/dist/model/dc/DCLineSegment.js.map +1 -1
  231. package/dist/model/dc/DCNode.js +2 -4
  232. package/dist/model/dc/DCNode.js.map +1 -1
  233. package/dist/model/dc/DCTerminal.js +0 -2
  234. package/dist/model/dc/DCTerminal.js.map +1 -1
  235. package/dist/model/dc/VsConverter.js +0 -11
  236. package/dist/model/dc/VsConverter.js.map +1 -1
  237. package/dist/model/diagram/Diagram.js +24 -29
  238. package/dist/model/diagram/Diagram.js.map +1 -1
  239. package/dist/model/diagram/DiagramObject.js +28 -34
  240. package/dist/model/diagram/DiagramObject.js.map +1 -1
  241. package/dist/model/diagram/DiagramObjectPoint.js +48 -52
  242. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  243. package/dist/model/diagram/DiagramStyle.js +1 -1
  244. package/dist/model/diagram/DiagramStyle.js.map +1 -1
  245. package/dist/model/domain/ActivePower.js +0 -3
  246. package/dist/model/domain/ActivePower.js.map +1 -1
  247. package/dist/model/domain/AngleDegrees.js +0 -3
  248. package/dist/model/domain/AngleDegrees.js.map +1 -1
  249. package/dist/model/domain/ApparentPower.js +0 -3
  250. package/dist/model/domain/ApparentPower.js.map +1 -1
  251. package/dist/model/domain/Capacitance.js +0 -3
  252. package/dist/model/domain/Capacitance.js.map +1 -1
  253. package/dist/model/domain/CapacitancePerLength.js +0 -3
  254. package/dist/model/domain/CapacitancePerLength.js.map +1 -1
  255. package/dist/model/domain/ConductancePerLength.js +0 -3
  256. package/dist/model/domain/ConductancePerLength.js.map +1 -1
  257. package/dist/model/domain/CurrentFlow.js +0 -3
  258. package/dist/model/domain/CurrentFlow.js.map +1 -1
  259. package/dist/model/domain/Reactance.js +0 -3
  260. package/dist/model/domain/Reactance.js.map +1 -1
  261. package/dist/model/domain/ReactancePerLength.js +0 -3
  262. package/dist/model/domain/ReactancePerLength.js.map +1 -1
  263. package/dist/model/domain/ReactivePower.js +0 -3
  264. package/dist/model/domain/ReactivePower.js.map +1 -1
  265. package/dist/model/domain/Resistance.js +0 -3
  266. package/dist/model/domain/Resistance.js.map +1 -1
  267. package/dist/model/domain/ResistancePerLength.js +0 -3
  268. package/dist/model/domain/ResistancePerLength.js.map +1 -1
  269. package/dist/model/domain/Voltage.js +0 -3
  270. package/dist/model/domain/Voltage.js.map +1 -1
  271. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +0 -1
  272. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -1
  273. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js +0 -6
  274. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js.map +1 -1
  275. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js +0 -4
  276. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js.map +1 -1
  277. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +0 -1
  278. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -1
  279. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +0 -74
  280. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -1
  281. package/dist/model/equivalents/EquivalentBranch.js +47 -62
  282. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  283. package/dist/model/equivalents/EquivalentInjection.js +0 -15
  284. package/dist/model/equivalents/EquivalentInjection.js.map +1 -1
  285. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +20 -19
  286. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js.map +1 -1
  287. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +20 -19
  288. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js.map +1 -1
  289. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +20 -19
  290. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js.map +1 -1
  291. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +20 -19
  292. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js.map +1 -1
  293. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +8 -17
  294. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -1
  295. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +20 -19
  296. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js.map +1 -1
  297. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js +24 -23
  298. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js.map +1 -1
  299. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +6 -23
  300. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -1
  301. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +20 -19
  302. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js.map +1 -1
  303. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +20 -19
  304. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js.map +1 -1
  305. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +20 -19
  306. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js.map +1 -1
  307. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +6 -21
  308. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -1
  309. package/dist/model/extensions/amprion/assets/AMPRIONState.js +27 -27
  310. package/dist/model/extensions/amprion/assets/AMPRIONState.js.map +1 -1
  311. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js +20 -19
  312. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js.map +1 -1
  313. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +11 -28
  314. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -1
  315. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +6 -30
  316. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -1
  317. package/dist/model/extensions/amprion/core/AMPRIONBay.js +5 -6
  318. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  319. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +0 -2
  320. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  321. package/dist/model/extensions/amprion/core/AMPRIONLine.js +6 -7
  322. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
  323. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +6 -8
  324. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -1
  325. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js +20 -19
  326. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js.map +1 -1
  327. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js +20 -19
  328. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js.map +1 -1
  329. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js +20 -19
  330. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js.map +1 -1
  331. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js +20 -19
  332. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js.map +1 -1
  333. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +9 -30
  334. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  335. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js +8 -9
  336. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js.map +1 -1
  337. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js +7 -6
  338. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js.map +1 -1
  339. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js +0 -2
  340. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js.map +1 -1
  341. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +7 -13
  342. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  343. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js +1 -8
  344. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
  345. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +8 -8
  346. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -1
  347. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js +35 -37
  348. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js.map +1 -1
  349. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js +0 -1
  350. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
  351. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +35 -45
  352. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
  353. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +25 -42
  354. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
  355. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js +26 -33
  356. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js.map +1 -1
  357. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js +22 -24
  358. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js.map +1 -1
  359. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +39 -54
  360. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
  361. package/dist/model/extensions/enervance/assets/EVAnalytic.js +15 -15
  362. package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -1
  363. package/dist/model/extensions/enervance/assets/EVImportanceScore.js +23 -22
  364. package/dist/model/extensions/enervance/assets/EVImportanceScore.js.map +1 -1
  365. package/dist/model/extensions/enervance/assets/EVIndicator.js +24 -24
  366. package/dist/model/extensions/enervance/assets/EVIndicator.js.map +1 -1
  367. package/dist/model/extensions/enervance/assets/EVWireObject.js +47 -47
  368. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
  369. package/dist/model/extensions/enervance/core/EVTerminal.js +5 -5
  370. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  371. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.js +26 -38
  372. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.js.map +1 -1
  373. package/dist/model/extensions/enervance/operations/EVTerminalAction.js +17 -19
  374. package/dist/model/extensions/enervance/operations/EVTerminalAction.js.map +1 -1
  375. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +42 -41
  376. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  377. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +35 -36
  378. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  379. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js +0 -5
  380. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js.map +1 -1
  381. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js +0 -2
  382. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js.map +1 -1
  383. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js +0 -3
  384. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js.map +1 -1
  385. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +0 -1
  386. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
  387. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js +0 -4
  388. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js.map +1 -1
  389. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js +0 -4
  390. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js.map +1 -1
  391. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +0 -4
  392. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
  393. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +7 -7
  394. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  395. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +2 -1
  396. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -1
  397. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +38 -41
  398. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
  399. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js +5 -5
  400. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js.map +1 -1
  401. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js +5 -5
  402. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js.map +1 -1
  403. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js +5 -5
  404. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js.map +1 -1
  405. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js +28 -29
  406. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -1
  407. package/dist/model/extensions/neplan-westnetz/core/WNBay.js +30 -32
  408. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -1
  409. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +55 -62
  410. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  411. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +28 -33
  412. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  413. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js +17 -18
  414. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -1
  415. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js +12 -14
  416. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -1
  417. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +47 -50
  418. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
  419. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +95 -139
  420. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  421. package/dist/model/faults/Fault.js +0 -2
  422. package/dist/model/faults/Fault.js.map +1 -1
  423. package/dist/model/generation/FossilFuel.js +0 -2
  424. package/dist/model/generation/FossilFuel.js.map +1 -1
  425. package/dist/model/generation/GeneratingUnit.js +41 -55
  426. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  427. package/dist/model/generation/HydroGeneratingUnit.js +0 -2
  428. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  429. package/dist/model/generation/HydroPowerPlant.js +2 -2
  430. package/dist/model/generation/HydroPowerPlant.js.map +1 -1
  431. package/dist/model/generation/HydroPump.js +0 -2
  432. package/dist/model/generation/HydroPump.js.map +1 -1
  433. package/dist/model/generation/ThermalGeneratingUnit.js +1 -1
  434. package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
  435. package/dist/model/generation/WindGeneratingUnit.js +11 -12
  436. package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
  437. package/dist/model/generic-data-set/ChangeSet.js +26 -25
  438. package/dist/model/generic-data-set/ChangeSet.js.map +1 -1
  439. package/dist/model/generic-data-set/ChangeSetMember.js +5 -19
  440. package/dist/model/generic-data-set/ChangeSetMember.js.map +1 -1
  441. package/dist/model/generic-data-set/DataSet.js +0 -9
  442. package/dist/model/generic-data-set/DataSet.js.map +1 -1
  443. package/dist/model/generic-data-set/InstanceSet.js +2 -2
  444. package/dist/model/generic-data-set/InstanceSet.js.map +1 -1
  445. package/dist/model/generic-data-set/ObjectCreation.js +26 -25
  446. package/dist/model/generic-data-set/ObjectCreation.js.map +1 -1
  447. package/dist/model/generic-data-set/ObjectDeletion.js +26 -25
  448. package/dist/model/generic-data-set/ObjectDeletion.js.map +1 -1
  449. package/dist/model/generic-data-set/ObjectModification.js +30 -30
  450. package/dist/model/generic-data-set/ObjectModification.js.map +1 -1
  451. package/dist/model/generic-data-set/ObjectReverseModification.js +26 -26
  452. package/dist/model/generic-data-set/ObjectReverseModification.js.map +1 -1
  453. package/dist/model/loadmodel/ConformLoad.js +3 -5
  454. package/dist/model/loadmodel/ConformLoad.js.map +1 -1
  455. package/dist/model/loadmodel/ConformLoadGroup.js +3 -3
  456. package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
  457. package/dist/model/loadmodel/LoadArea.js +4 -4
  458. package/dist/model/loadmodel/LoadArea.js.map +1 -1
  459. package/dist/model/loadmodel/LoadGroup.js +0 -2
  460. package/dist/model/loadmodel/LoadGroup.js.map +1 -1
  461. package/dist/model/loadmodel/SubLoadArea.js +4 -6
  462. package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
  463. package/dist/model/meas/Analog.js +0 -4
  464. package/dist/model/meas/Analog.js.map +1 -1
  465. package/dist/model/meas/Measurement.js +0 -4
  466. package/dist/model/meas/Measurement.js.map +1 -1
  467. package/dist/model/model-description/FullModel.js +2 -1
  468. package/dist/model/model-description/FullModel.js.map +1 -1
  469. package/dist/model/model-description/Model.js +30 -36
  470. package/dist/model/model-description/Model.js.map +1 -1
  471. package/dist/model/model-operations/DatasetArg.js +0 -1
  472. package/dist/model/model-operations/DatasetArg.js.map +1 -1
  473. package/dist/model/model-operations/IncrementalDatasetArg.js +27 -30
  474. package/dist/model/model-operations/IncrementalDatasetArg.js.map +1 -1
  475. package/dist/model/model-operations/IncrementalDatasetArgDescription.js +23 -22
  476. package/dist/model/model-operations/IncrementalDatasetArgDescription.js.map +1 -1
  477. package/dist/model/model-operations/ModelOperation.js +24 -26
  478. package/dist/model/model-operations/ModelOperation.js.map +1 -1
  479. package/dist/model/model-operations/ModelOperationArg.js +0 -3
  480. package/dist/model/model-operations/ModelOperationArg.js.map +1 -1
  481. package/dist/model/model-operations/ModelOperationArgDescription.js +0 -4
  482. package/dist/model/model-operations/ModelOperationArgDescription.js.map +1 -1
  483. package/dist/model/model-operations/ModelOperationDescription.js +24 -23
  484. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -1
  485. package/dist/model/operationallimits/CurrentLimit.js +22 -22
  486. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  487. package/dist/model/operationallimits/OperationalLimit.js +0 -4
  488. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  489. package/dist/model/operationallimits/OperationalLimitSet.js +21 -25
  490. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  491. package/dist/model/operationallimits/OperationalLimitType.js +19 -22
  492. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  493. package/dist/model/operationallimits/VoltageLimit.js +0 -2
  494. package/dist/model/operationallimits/VoltageLimit.js.map +1 -1
  495. package/dist/model/operations/ControlArea.js +4 -1
  496. package/dist/model/operations/ControlArea.js.map +1 -1
  497. package/dist/model/operations/Outage.js +0 -7
  498. package/dist/model/operations/Outage.js.map +1 -1
  499. package/dist/model/operations/SwitchAction.js +15 -17
  500. package/dist/model/operations/SwitchAction.js.map +1 -1
  501. package/dist/model/operations/SwitchingAction.js +0 -2
  502. package/dist/model/operations/SwitchingAction.js.map +1 -1
  503. package/dist/model/operations/SwitchingPlan.js +5 -18
  504. package/dist/model/operations/SwitchingPlan.js.map +1 -1
  505. package/dist/model/statevariables/StateVariable.js +0 -1
  506. package/dist/model/statevariables/StateVariable.js.map +1 -1
  507. package/dist/model/statevariables/SvPowerFlow.js +24 -27
  508. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  509. package/dist/model/statevariables/SvStatus.js +1 -3
  510. package/dist/model/statevariables/SvStatus.js.map +1 -1
  511. package/dist/model/statevariables/SvTapStep.js +0 -3
  512. package/dist/model/statevariables/SvTapStep.js.map +1 -1
  513. package/dist/model/statevariables/SvVoltage.js +23 -26
  514. package/dist/model/statevariables/SvVoltage.js.map +1 -1
  515. package/dist/model/topology/TopologicalIsland.js +20 -22
  516. package/dist/model/topology/TopologicalIsland.js.map +1 -1
  517. package/dist/model/topology/TopologicalNode.js +29 -36
  518. package/dist/model/topology/TopologicalNode.js.map +1 -1
  519. package/dist/model/wires/ACLineSegment.js +44 -51
  520. package/dist/model/wires/ACLineSegment.js.map +1 -1
  521. package/dist/model/wires/AsynchronousMachine.js +0 -10
  522. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  523. package/dist/model/wires/Breaker.js +35 -34
  524. package/dist/model/wires/Breaker.js.map +1 -1
  525. package/dist/model/wires/BusbarSection.js +24 -24
  526. package/dist/model/wires/BusbarSection.js.map +1 -1
  527. package/dist/model/wires/Clamp.js +9 -9
  528. package/dist/model/wires/Clamp.js.map +1 -1
  529. package/dist/model/wires/CompositeSwitch.js +0 -1
  530. package/dist/model/wires/CompositeSwitch.js.map +1 -1
  531. package/dist/model/wires/Conductor.js +0 -1
  532. package/dist/model/wires/Conductor.js.map +1 -1
  533. package/dist/model/wires/Disconnector.js +34 -33
  534. package/dist/model/wires/Disconnector.js.map +1 -1
  535. package/dist/model/wires/EarthFaultCompensator.js +0 -1
  536. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  537. package/dist/model/wires/EnergyConsumer.js +35 -43
  538. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  539. package/dist/model/wires/EnergySource.js +5 -16
  540. package/dist/model/wires/EnergySource.js.map +1 -1
  541. package/dist/model/wires/ExternalNetworkInjection.js +51 -67
  542. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  543. package/dist/model/wires/Ground.js +13 -13
  544. package/dist/model/wires/Ground.js.map +1 -1
  545. package/dist/model/wires/GroundDisconnector.js +13 -13
  546. package/dist/model/wires/GroundDisconnector.js.map +1 -1
  547. package/dist/model/wires/GroundingImpedance.js +0 -1
  548. package/dist/model/wires/GroundingImpedance.js.map +1 -1
  549. package/dist/model/wires/Junction.js +23 -22
  550. package/dist/model/wires/Junction.js.map +1 -1
  551. package/dist/model/wires/Line.js +29 -29
  552. package/dist/model/wires/Line.js.map +1 -1
  553. package/dist/model/wires/LinearShuntCompensator.js +3 -7
  554. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  555. package/dist/model/wires/LoadBreakSwitch.js +34 -33
  556. package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
  557. package/dist/model/wires/PetersenCoil.js +31 -37
  558. package/dist/model/wires/PetersenCoil.js.map +1 -1
  559. package/dist/model/wires/PhaseTapChanger.js +0 -2
  560. package/dist/model/wires/PhaseTapChanger.js.map +1 -1
  561. package/dist/model/wires/PhaseTapChangerAsymmetrical.js +0 -1
  562. package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -1
  563. package/dist/model/wires/PhaseTapChangerLinear.js +0 -3
  564. package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -1
  565. package/dist/model/wires/PhaseTapChangerNonLinear.js +0 -3
  566. package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -1
  567. package/dist/model/wires/PhaseTapChangerTable.js +1 -2
  568. package/dist/model/wires/PhaseTapChangerTable.js.map +1 -1
  569. package/dist/model/wires/PhaseTapChangerTablePoint.js +0 -3
  570. package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -1
  571. package/dist/model/wires/PhaseTapChangerTabular.js +0 -2
  572. package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -1
  573. package/dist/model/wires/Plant.js +1 -1
  574. package/dist/model/wires/Plant.js.map +1 -1
  575. package/dist/model/wires/PowerTransformer.js +36 -34
  576. package/dist/model/wires/PowerTransformer.js.map +1 -1
  577. package/dist/model/wires/PowerTransformerEnd.js +45 -47
  578. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  579. package/dist/model/wires/RatioTapChanger.js +0 -6
  580. package/dist/model/wires/RatioTapChanger.js.map +1 -1
  581. package/dist/model/wires/RatioTapChangerTable.js +1 -2
  582. package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
  583. package/dist/model/wires/RatioTapChangerTablePoint.js +0 -2
  584. package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
  585. package/dist/model/wires/ReactiveCapabilityCurve.js +1 -1
  586. package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
  587. package/dist/model/wires/Recloser.js +9 -9
  588. package/dist/model/wires/Recloser.js.map +1 -1
  589. package/dist/model/wires/RegulatingCondEq.js +1 -4
  590. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  591. package/dist/model/wires/RegulatingControl.js +44 -64
  592. package/dist/model/wires/RegulatingControl.js.map +1 -1
  593. package/dist/model/wires/RotatingMachine.js +0 -8
  594. package/dist/model/wires/RotatingMachine.js.map +1 -1
  595. package/dist/model/wires/SeriesCompensator.js +39 -45
  596. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  597. package/dist/model/wires/ShuntCompensator.js +0 -9
  598. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  599. package/dist/model/wires/StaticVarCompensator.js +0 -6
  600. package/dist/model/wires/StaticVarCompensator.js.map +1 -1
  601. package/dist/model/wires/Switch.js +43 -46
  602. package/dist/model/wires/Switch.js.map +1 -1
  603. package/dist/model/wires/SynchronousMachine.js +60 -85
  604. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  605. package/dist/model/wires/TapChanger.js +0 -14
  606. package/dist/model/wires/TapChanger.js.map +1 -1
  607. package/dist/model/wires/TapChangerControl.js +1 -1
  608. package/dist/model/wires/TapChangerControl.js.map +1 -1
  609. package/dist/model/wires/TapChangerTablePoint.js +0 -7
  610. package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
  611. package/dist/model/wires/TransformerEnd.js +0 -12
  612. package/dist/model/wires/TransformerEnd.js.map +1 -1
  613. package/dist/model-container/model/AMPRIONModelContainer.js +24 -24
  614. package/dist/model-container/model/AMPRIONModelContainer.js.map +1 -1
  615. package/dist/model-container/model/EVModelsContainer.js +33 -48
  616. package/dist/model-container/model/EVModelsContainer.js.map +1 -1
  617. package/dist/model-container/model/INTEGRALModelContainer.js +4 -3
  618. package/dist/model-container/model/INTEGRALModelContainer.js.map +1 -1
  619. package/dist/model-container/model/ModelContainer.js +185 -186
  620. package/dist/model-container/model/ModelContainer.js.map +1 -1
  621. package/dist/model-container/model/WNModelContainer.js +4 -1
  622. package/dist/model-container/model/WNModelContainer.js.map +1 -1
  623. package/dist/rdf/RdfBase.js +1 -5
  624. package/dist/rdf/RdfBase.js.map +1 -1
  625. package/dist/rdf/RdfClass.js +32 -28
  626. package/dist/rdf/RdfClass.js.map +1 -1
  627. package/dist/rdf/RdfEnum.js +27 -29
  628. package/dist/rdf/RdfEnum.js.map +1 -1
  629. package/dist/rdf/RdfModel.js +8 -5
  630. package/dist/rdf/RdfModel.js.map +1 -1
  631. package/dist/rdf/RdfProperty.js +35 -43
  632. package/dist/rdf/RdfProperty.js.map +1 -1
  633. package/dist/util/collection/util-excel.js +2 -1
  634. package/dist/util/collection/util-excel.js.map +1 -1
  635. package/dist/util/collection/util-graph2tree.js +15 -11
  636. package/dist/util/collection/util-graph2tree.js.map +1 -1
  637. package/dist/util/database/mysql-controller.js +9 -7
  638. package/dist/util/database/mysql-controller.js.map +1 -1
  639. package/dist/util/sparql/sparql-utils.js +9 -9
  640. package/dist/util/sparql/sparql-utils.js.map +1 -1
  641. package/dist/util/util-test.js +30 -23
  642. package/dist/util/util-test.js.map +1 -1
  643. package/dist/util/utils.js +8 -5
  644. package/dist/util/utils.js.map +1 -1
  645. package/dist/util/xml/xml.parser.js +0 -6
  646. package/dist/util/xml/xml.parser.js.map +1 -1
  647. package/dist/util/xml/xml.serializer.js +0 -2
  648. package/dist/util/xml/xml.serializer.js.map +1 -1
  649. package/dist/utils2/cim.model.utils.js +54 -45
  650. package/dist/utils2/cim.model.utils.js.map +1 -1
  651. package/dist/utils2/common.utils.js +1 -1
  652. package/dist/utils2/common.utils.js.map +1 -1
  653. package/dist/utils2/contingency.util.js +2 -1
  654. package/dist/utils2/contingency.util.js.map +1 -1
  655. package/dist/utils2/fuseki.utils.js +27 -16
  656. package/dist/utils2/fuseki.utils.js.map +1 -1
  657. package/dist/utils2/import.utils.js +30 -25
  658. package/dist/utils2/import.utils.js.map +1 -1
  659. package/dist/utils2/model.modification.utils.js +12 -16
  660. package/dist/utils2/model.modification.utils.js.map +1 -1
  661. package/dist/utils2/parser.utils.js +11 -8
  662. package/dist/utils2/parser.utils.js.map +1 -1
  663. package/dist/utils2/rdf.model.utils.js +15 -11
  664. package/dist/utils2/rdf.model.utils.js.map +1 -1
  665. package/dist/utils2/sparql.utils.js +18 -17
  666. package/dist/utils2/sparql.utils.js.map +1 -1
  667. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DLConverterI7 = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const integral_sql_1 = require("../sql/integral.sql.js");
5
6
  const Diagram_1 = require("../../../model/diagram/Diagram.js");
6
7
  const OrientationKind_1 = require("../../../model/diagram/OrientationKind.js");
@@ -21,30 +22,6 @@ const ModelContainer_1 = require("../../../model-container/model/ModelContainer.
21
22
  const common_utils_1 = require("../../../utils2/common.utils.js");
22
23
  const parser_utils_1 = require("../../../utils2/parser.utils.js");
23
24
  class DLConverterI7 {
24
- /** key: VariantenNr (integral7) | value: corresponding diagram */
25
- static variantenNr2Diagram = new Map();
26
- /** key: Data-Type | value: Array of JSON-stringified I7SchemaKeyObjects */
27
- static type2i7IDs = new Map();
28
- /** key: JSON-stringified I7SchemaKeyObject | value: CimUUIDsEntry */
29
- static i7ID2cimUUIDs = new Map();
30
- /** key: JSON-stringified I7SchemaKeyObject | value: Data-Type */
31
- static i7ID2Type = new Map();
32
- /** key: JSON-stringified I7SchemaKeyObject | value: schema database object (integral) */
33
- static i7ID2DbNsgObject = new Map();
34
- /** key: uuid of cim-net object or diagram object | value: JSON-stringified I7SchemaKeyObject */
35
- static cimUUID2i7ID = new Map();
36
- static cimUUID2Object = new Map();
37
- static cimUUID2DiagramObject = new Map();
38
- i7TableName2Table;
39
- mysqlController;
40
- logger;
41
- activeDiagram;
42
- inputArgs;
43
- /** key: JSON-stringified I7SchemaKeyObject | value: schema database object (integral) */
44
- static i7ID2DbNsgObjectInFrame = new Map();
45
- /** this flag is being used for testings, so that the data is not being purged and can be simply checked afterwards */
46
- static purgeData = true;
47
- static cimModelObjects = new ModelContainer_1.ModelContainer();
48
25
  constructor() {
49
26
  }
50
27
  static addCimObjects(...objs) {
@@ -127,56 +104,60 @@ class DLConverterI7 {
127
104
  }
128
105
  }
129
106
  }
130
- async convert(availableTablesWithColumnNames, onlyEingeblendet, args) {
131
- this.inputArgs = args;
132
- this.inputArgs.objects.forEach((value, key) => DLConverterI7.cimModelObjects.objects.set(key, value));
133
- this.i7TableName2Table = new Map();
134
- availableTablesWithColumnNames.forEach((value, key) => {
135
- this.i7TableName2Table.set(key, { tableName: key, columnNames: value });
136
- });
137
- await this.runAndLogPerformance(this.convertNsgVarianten);
138
- let a = 0;
139
- for (const entry of DLConverterI7.variantenNr2Diagram.entries()) {
140
- ++a;
141
- const variantenNr = entry[0];
142
- this.activeDiagram = entry[1];
143
- this.logger.debug(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
144
- console.log(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
145
- const startTime = perf_hooks_1.performance.now();
146
- const ret_val = await this.convertSchemaStandorte(variantenNr, onlyEingeblendet, args.standortIDs);
147
- this.logger.debug(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
148
- console.log(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
149
- if (ret_val) {
150
- await this.runAndLogPerformance(this.convertSchemaStandorte, variantenNr, onlyEingeblendet, args.standortIDs);
151
- await this.runAndLogPerformance(this.convertSchemaKnotenSo, variantenNr, onlyEingeblendet, args.knotenSoIDs);
152
- await this.runAndLogPerformance(this.convertSchemaSchaltanlage, variantenNr, onlyEingeblendet, args.schaltanlagenIDs);
153
- await this.runAndLogPerformance(this.convertSchemaSchaltanlagenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
154
- await this.runAndLogPerformance(this.convertSchemaSammelschienenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
155
- await this.runAndLogPerformance(this.convertSchemaSchaltfeldElemente, variantenNr, onlyEingeblendet, args.schaltfeldIDs);
156
- await this.runAndLogPerformance(this.convertSchemaQuerkupplungen, variantenNr, onlyEingeblendet, args.querkupplungIDs);
157
- await this.runAndLogPerformance(this.convertSchemaLaengskupplungen, variantenNr, onlyEingeblendet, args.laengskupplungIDs);
158
- await this.runAndLogPerformance(this.convertSchemaTransformatoren2W, variantenNr, onlyEingeblendet, args.powerTransformers);
159
- await this.runAndLogPerformance(this.convertSchemaTransformatoren3W, variantenNr, onlyEingeblendet, args.powerTransformers);
160
- await this.runAndLogPerformance(this.convertSchemaLeitungen, variantenNr, onlyEingeblendet);
161
- await this.runAndLogPerformance(this.convertSchemaQuerzweige, variantenNr, onlyEingeblendet);
162
- await this.runAndLogPerformance(this.convertSchemaTerminals);
107
+ convert(availableTablesWithColumnNames, onlyEingeblendet, args) {
108
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
109
+ this.inputArgs = args;
110
+ this.inputArgs.objects.forEach((value, key) => DLConverterI7.cimModelObjects.objects.set(key, value));
111
+ this.i7TableName2Table = new Map();
112
+ availableTablesWithColumnNames.forEach((value, key) => {
113
+ this.i7TableName2Table.set(key, { tableName: key, columnNames: value });
114
+ });
115
+ yield this.runAndLogPerformance(this.convertNsgVarianten);
116
+ let a = 0;
117
+ for (const entry of DLConverterI7.variantenNr2Diagram.entries()) {
118
+ ++a;
119
+ const variantenNr = entry[0];
120
+ this.activeDiagram = entry[1];
121
+ this.logger.debug(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
122
+ console.log(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
123
+ const startTime = perf_hooks_1.performance.now();
124
+ const ret_val = yield this.convertSchemaStandorte(variantenNr, onlyEingeblendet, args.standortIDs);
125
+ this.logger.debug(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
126
+ console.log(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
127
+ if (ret_val) {
128
+ yield this.runAndLogPerformance(this.convertSchemaStandorte, variantenNr, onlyEingeblendet, args.standortIDs);
129
+ yield this.runAndLogPerformance(this.convertSchemaKnotenSo, variantenNr, onlyEingeblendet, args.knotenSoIDs);
130
+ yield this.runAndLogPerformance(this.convertSchemaSchaltanlage, variantenNr, onlyEingeblendet, args.schaltanlagenIDs);
131
+ yield this.runAndLogPerformance(this.convertSchemaSchaltanlagenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
132
+ yield this.runAndLogPerformance(this.convertSchemaSammelschienenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
133
+ yield this.runAndLogPerformance(this.convertSchemaSchaltfeldElemente, variantenNr, onlyEingeblendet, args.schaltfeldIDs);
134
+ yield this.runAndLogPerformance(this.convertSchemaQuerkupplungen, variantenNr, onlyEingeblendet, args.querkupplungIDs);
135
+ yield this.runAndLogPerformance(this.convertSchemaLaengskupplungen, variantenNr, onlyEingeblendet, args.laengskupplungIDs);
136
+ yield this.runAndLogPerformance(this.convertSchemaTransformatoren2W, variantenNr, onlyEingeblendet, args.powerTransformers);
137
+ yield this.runAndLogPerformance(this.convertSchemaTransformatoren3W, variantenNr, onlyEingeblendet, args.powerTransformers);
138
+ yield this.runAndLogPerformance(this.convertSchemaLeitungen, variantenNr, onlyEingeblendet);
139
+ yield this.runAndLogPerformance(this.convertSchemaQuerzweige, variantenNr, onlyEingeblendet);
140
+ yield this.runAndLogPerformance(this.convertSchemaTerminals);
141
+ }
163
142
  }
164
- }
143
+ });
165
144
  }
166
- async convertNsgVarianten() {
167
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
168
- const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZVARIANTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZVARIANTEN), [2]));
169
- for (const i7Data of result) {
170
- const diagram = new Diagram_1.Diagram((0, parser_utils_1.getUUID)(i7Data.guid), i7Data.name, String(i7Data.id));
171
- diagram.orientation = OrientationKind_1.OrientationKind.negative;
172
- diagram.diagramStyle = new DiagramStyle_1.DiagramStyle(common_utils_1.CommonUtils.generateUUID(), cim_constants_1.DiagramLayoutTypes.NODE_BREAKER);
173
- DLConverterI7.addCimObjects(diagram);
174
- DLConverterI7.variantenNr2Diagram.set(i7Data.id, diagram);
145
+ convertNsgVarianten() {
146
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
147
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
148
+ const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZVARIANTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZVARIANTEN), [2]));
149
+ for (const i7Data of result) {
150
+ const diagram = new Diagram_1.Diagram((0, parser_utils_1.getUUID)(i7Data.guid), i7Data.name, String(i7Data.id));
151
+ diagram.orientation = OrientationKind_1.OrientationKind.negative;
152
+ diagram.diagramStyle = new DiagramStyle_1.DiagramStyle(common_utils_1.CommonUtils.generateUUID(), cim_constants_1.DiagramLayoutTypes.NODE_BREAKER);
153
+ DLConverterI7.addCimObjects(diagram);
154
+ DLConverterI7.variantenNr2Diagram.set(i7Data.id, diagram);
155
+ }
175
156
  }
176
- }
177
- else {
178
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
179
- }
157
+ else {
158
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
159
+ }
160
+ });
180
161
  }
181
162
  /** Register the NsgObject and perform a type mapping. Returns a SchemaKeyObject*/
182
163
  static registerNsgObjectAndGetSchemaKay(i7Data, type, keyObject) {
@@ -187,119 +168,128 @@ class DLConverterI7 {
187
168
  DLConverterI7.addID2DbNsgObjectMapping(schemaObjKey, i7Data);
188
169
  return schemaObjKey;
189
170
  }
190
- async convertSchemaStandorte(variantenNr, onlyEingeblendet, standortIDs) {
191
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
192
- const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_STANDORT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_STANDORT), standortIDs));
193
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
194
- for (const i7Data of filteredResults) {
195
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_STANDORT);
171
+ convertSchemaStandorte(variantenNr, onlyEingeblendet, standortIDs) {
172
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
173
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
174
+ const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_STANDORT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_STANDORT), standortIDs));
175
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
176
+ for (const i7Data of filteredResults) {
177
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_STANDORT);
178
+ }
179
+ return filteredResults.length > 0;
196
180
  }
197
- return filteredResults.length > 0;
198
- }
199
- return false;
181
+ return false;
182
+ });
200
183
  }
201
- async convertSchemaKnotenSo(variantenNr, onlyEingeblendet, knotenSoIDs) {
202
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
203
- const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_KNOTEN_SO, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO), knotenSoIDs));
204
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
205
- for (const i7Data of filteredResults) {
206
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
207
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
208
- const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
209
- if (nsgStandort === undefined) {
210
- continue;
184
+ convertSchemaKnotenSo(variantenNr, onlyEingeblendet, knotenSoIDs) {
185
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
186
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
187
+ const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_KNOTEN_SO, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO), knotenSoIDs));
188
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
189
+ for (const i7Data of filteredResults) {
190
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
191
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
192
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
193
+ if (nsgStandort === undefined) {
194
+ continue;
195
+ }
196
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.knotenso);
197
+ const width = constants_1.NsgConstants.KNOTENSO_WIDTH;
198
+ const height = constants_1.NsgConstants.KNOTENSO_HEIGHT;
199
+ const xParentRel = nsgStandort.xrel;
200
+ const yParentRel = nsgStandort.yrel;
201
+ const diagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
202
+ xPosition: xParentRel + i7Data.xrel + (width / 2),
203
+ yPosition: yParentRel + i7Data.yrel + (height / 2),
204
+ diagramObjectName: 'Abzweig',
205
+ identifiedObjectUUID: cimObjectUUID,
206
+ diagramUUID: this.activeDiagram.getUUID()
207
+ });
208
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
209
+ identifiedObjectUUID: cimObjectUUID,
210
+ diagramObjectUUID: diagramObject.getUUID()
211
+ });
212
+ DLConverterI7.addCimObjects(diagramObject);
211
213
  }
212
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.knotenso);
213
- const width = constants_1.NsgConstants.KNOTENSO_WIDTH;
214
- const height = constants_1.NsgConstants.KNOTENSO_HEIGHT;
215
- const xParentRel = nsgStandort.xrel;
216
- const yParentRel = nsgStandort.yrel;
217
- const diagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
218
- xPosition: xParentRel + i7Data.xrel + (width / 2),
219
- yPosition: yParentRel + i7Data.yrel + (height / 2),
220
- diagramObjectName: 'Abzweig',
221
- identifiedObjectUUID: cimObjectUUID,
222
- diagramUUID: this.activeDiagram.getUUID()
223
- });
224
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
225
- identifiedObjectUUID: cimObjectUUID,
226
- diagramObjectUUID: diagramObject.getUUID()
227
- });
228
- DLConverterI7.addCimObjects(diagramObject);
229
214
  }
230
- }
231
- else {
232
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
233
- }
215
+ else {
216
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
217
+ }
218
+ });
234
219
  }
235
- async convertSchemaSchaltanlage(variantenNr, onlyEingeblendet, schaltanlagenIDs) {
236
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && schaltanlagenIDs.length > 0) {
237
- const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE), schaltanlagenIDs));
238
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
239
- for (const i7Data of filteredResults) {
240
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
220
+ convertSchemaSchaltanlage(variantenNr, onlyEingeblendet, schaltanlagenIDs) {
221
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
222
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && schaltanlagenIDs.length > 0) {
223
+ const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE), schaltanlagenIDs));
224
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
225
+ for (const i7Data of filteredResults) {
226
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
227
+ }
241
228
  }
242
- }
243
- else {
244
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
245
- }
229
+ else {
230
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
231
+ }
232
+ });
246
233
  }
247
- async convertSchemaSchaltanlagenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
248
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
249
- const result = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT), schaltanlagenabschnittIDs));
250
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
251
- for (const i7Data of filteredResults) {
252
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
253
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
254
- const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
255
- if (nsgSchaltanlage) {
256
- if (nsgSchaltanlage.saabschnittIDs === undefined) {
257
- nsgSchaltanlage.saabschnittIDs = [];
258
- }
259
- nsgSchaltanlage.saabschnittIDs.push(schemaObjKey);
260
- if (nsgSchaltanlage.nsgSaabs === undefined) {
261
- nsgSchaltanlage.nsgSaabs = [];
234
+ convertSchemaSchaltanlagenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
235
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
236
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
237
+ const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT), schaltanlagenabschnittIDs));
238
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
239
+ for (const i7Data of filteredResults) {
240
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
241
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
242
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
243
+ if (nsgSchaltanlage) {
244
+ if (nsgSchaltanlage.saabschnittIDs === undefined) {
245
+ nsgSchaltanlage.saabschnittIDs = [];
246
+ }
247
+ nsgSchaltanlage.saabschnittIDs.push(schemaObjKey);
248
+ if (nsgSchaltanlage.nsgSaabs === undefined) {
249
+ nsgSchaltanlage.nsgSaabs = [];
250
+ }
251
+ nsgSchaltanlage.nsgSaabs.push(i7Data);
262
252
  }
263
- nsgSchaltanlage.nsgSaabs.push(i7Data);
264
253
  }
265
254
  }
266
- }
267
- else {
268
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
269
- }
255
+ else {
256
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
257
+ }
258
+ });
270
259
  }
271
- async convertSchemaSammelschienenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
272
- if (schaltanlagenabschnittIDs.length <= 0)
273
- return;
274
- /* Hinweis: => eingeblendet - ausgeblendet
275
- Die wahre Länge eines SSAbschnitts steht nicht in dem Längenattribut 'nsg_nsgsaab.laenge'
276
- sondern muss über die nsg_nsgschaltfeld-Tabelle ermittelt werden.
277
- Der Längen-Wert von 'nsg_nsgsaab.laenge' bezieht sich auf die Länge mit allen eingeblendeten Attributen
278
- */
279
- const isEingeblendet = 1;
280
- /* BEGIN: Select-Statement zum ermitteln der maximalen Slotnummer bezogen auf spezifische Schaltanlagen und Schaltfelder */
281
- let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
260
+ convertSchemaSammelschienenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
261
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
262
+ if (schaltanlagenabschnittIDs.length <= 0)
263
+ return;
264
+ /* Hinweis: => eingeblendet - ausgeblendet
265
+ Die wahre Länge eines SSAbschnitts steht nicht in dem Längenattribut 'nsg_nsgsaab.laenge'
266
+ sondern muss über die nsg_nsgschaltfeld-Tabelle ermittelt werden.
267
+ Der Längen-Wert von 'nsg_nsgsaab.laenge' bezieht sich auf die Länge mit allen eingeblendeten Attributen
268
+ */
269
+ const isEingeblendet = 1;
270
+ /* BEGIN: Select-Statement zum ermitteln der maximalen Slotnummer bezogen auf spezifische Schaltanlagen und Schaltfelder */
271
+ let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
282
272
  FROM nsg_nsgschaltfeld
283
273
  WHERE ((${(0, integral_sql_1.getWhereIDs)('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
284
- if (onlyEingeblendet) {
285
- sqlSelectGroupedMaxSlotSf += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
286
- }
287
- sqlSelectGroupedMaxSlotSf += ` GROUP BY nsgsaa`;
288
- const resultsMaxSlotsSf = await this.mysqlController.execQuery(sqlSelectGroupedMaxSlotSf);
289
- const mappedResultsMaxSlotsSf = new Map(resultsMaxSlotsSf.map(value => [value.nsgsaa, value.laenge]));
290
- /* END: Schaltfelder-SQL (max slotnummer) */
291
- /* BEGIN: Select-Statement zum ermitteln der maximalen Slotnummer bezogen auf spezifische Schaltanlagen und Kuppelfelder */
292
- let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
274
+ if (onlyEingeblendet) {
275
+ sqlSelectGroupedMaxSlotSf += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
276
+ }
277
+ sqlSelectGroupedMaxSlotSf += ` GROUP BY nsgsaa`;
278
+ const resultsMaxSlotsSf = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotSf);
279
+ const mappedResultsMaxSlotsSf = new Map(resultsMaxSlotsSf.map(value => [value.nsgsaa, value.laenge]));
280
+ /* END: Schaltfelder-SQL (max slotnummer) */
281
+ /* BEGIN: Select-Statement zum ermitteln der maximalen Slotnummer bezogen auf spezifische Schaltanlagen und Kuppelfelder */
282
+ let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
293
283
  FROM nsg_nsgkpfeld
294
284
  WHERE ((${(0, integral_sql_1.getWhereIDs)('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
295
- if (onlyEingeblendet) {
296
- sqlSelectGroupedMaxSlotKpF += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
297
- }
298
- sqlSelectGroupedMaxSlotKpF += ` GROUP BY nsgsaa`;
299
- const resultsMaxSlotsKpF = await this.mysqlController.execQuery(sqlSelectGroupedMaxSlotKpF);
300
- const mappedResultsMaxSlotsKpF = new Map(resultsMaxSlotsKpF.map(value => [value.nsgsaa, value.laenge]));
301
- /* END: Kuppelfelder-SQL (max slotnummer) */
302
- const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
285
+ if (onlyEingeblendet) {
286
+ sqlSelectGroupedMaxSlotKpF += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
287
+ }
288
+ sqlSelectGroupedMaxSlotKpF += ` GROUP BY nsgsaa`;
289
+ const resultsMaxSlotsKpF = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotKpF);
290
+ const mappedResultsMaxSlotsKpF = new Map(resultsMaxSlotsKpF.map(value => [value.nsgsaa, value.laenge]));
291
+ /* END: Kuppelfelder-SQL (max slotnummer) */
292
+ const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
303
293
  nsg_nsgsaab.id,
304
294
  nsg_nsgsaab.laenge AS laenge,
305
295
  nsg_nsgsaab.nslots,
@@ -313,954 +303,971 @@ class DLConverterI7 {
313
303
  FROM netz_ssab
314
304
  LEFT JOIN nsg_nsgsaabschnitt AS nsg_nsgsaab ON nsg_nsgsaab.saabschnitt = netz_ssab.saabschnitt
315
305
  WHERE (${(0, integral_sql_1.getWhereIDs)('nsg_nsgsaab.saabschnitt', schaltanlagenabschnittIDs).join(' OR ')});`;
316
- const queryResults = await this.mysqlController.execQuery(sqlStatement);
317
- queryResults.forEach(value => {
318
- value.laenge = Math.max((mappedResultsMaxSlotsSf.get(value.id) || 0), (mappedResultsMaxSlotsKpF.get(value.id) || 0), value.laenge);
319
- });
320
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(queryResults, variantenNr, onlyEingeblendet);
321
- for (const i7Data of filteredResults) {
322
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_SSAB, { i7ID: i7Data.idSSAB, variantenNr, additionalIDs: [i7Data.nsgsa] });
323
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
324
- const nsgSa = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
325
- if (nsgSa === undefined)
326
- continue;
327
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSa.nsgso, variantenNr });
328
- const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
329
- // Standort ist vermutlich ausgeblendet und daher undefined. Exportiere deshalb die Sammelschienen bezogen auf die Schaltanlage auch nicht
330
- if (nsgSo === undefined)
331
- continue;
332
- // Sammelschienen sind in einem Grid angeordnet basierend auf den Positionswerten in
333
- // der Netz-Abschnitts- und -Sammelschienentabelle
334
- const leftOffset = i7Data.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
335
- const topOffset = i7Data.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
336
- const ssabLength = i7Data.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
337
- let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
338
- let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
339
- // let pointTopLeft = new DiagramObjectPoint(0, topOffset, 1);
340
- // let pointBottomRight = new DiagramObjectPoint(ssabLength, topOffset, 2);
341
- let saabShiftOffset = 0;
342
- for (const tempNsgSaab of nsgSa.nsgSaabs) {
343
- saabShiftOffset = saabShiftOffset < (tempNsgSaab.nslots + tempNsgSaab.laenge) ? (tempNsgSaab.nslots + tempNsgSaab.laenge) : saabShiftOffset;
344
- }
345
- // Extrahiere Punkte
346
- const points = [];
347
- points.push(pointTopLeft, pointBottomRight);
348
- // Variablen für das eventuelle Shiften basierend auf SA-Ausrichtung
349
- for (const p of points) {
350
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
351
- p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
352
- p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
353
- }
354
- // Erstelle CIM-Objekte
355
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.idSSAB);
356
- const diagramObject = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), 'SSAB Diagram');
357
- diagramObject.diagramUUID = this.activeDiagram.getUUID();
358
- diagramObject.identifiedObjectUUID = cimObjectUUID;
359
- diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
360
- (0, utils_schema_1.copyDiagramObjectPoints)(diagramObject, points);
361
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
362
- identifiedObjectUUID: cimObjectUUID,
363
- diagramObjectUUID: diagramObject.getUUID()
306
+ const queryResults = yield this.mysqlController.execQuery(sqlStatement);
307
+ queryResults.forEach(value => {
308
+ value.laenge = Math.max((mappedResultsMaxSlotsSf.get(value.id) || 0), (mappedResultsMaxSlotsKpF.get(value.id) || 0), value.laenge);
364
309
  });
365
- DLConverterI7.addCimObjects(diagramObject);
366
- const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
367
- const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
368
- if (nsgSAAB.nsgSsabs === undefined) {
369
- nsgSAAB.nsgSsabs = [];
370
- }
371
- nsgSAAB.nsgSsabs.push(i7Data);
372
- }
373
- }
374
- async convertSchemaSchaltfeldElemente(variantenNr, onlyEingeblendet, schaltfeldIDs) {
375
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) && schaltfeldIDs.length > 0) {
376
- /* Pruefe anhand der Tabellennamen, ob die relevanten Tabellen verfuegbar sind */
377
- const i7relevantTables = [
378
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
379
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
380
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
381
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
382
- ];
383
- const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
384
- const i7knotenBeziehungen = await this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, schaltfeldIDs));
385
- const queryStr = (0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD), schaltfeldIDs);
386
- const resultsNsgSchaltfeld = await this.mysqlController.execQuery(queryStr);
387
- const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
388
- for (const i7Data of filteredResultsNsgSchaltfeld) {
389
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
390
- // Es kann vorkommen, dass der Standort einer Sammelschiene bzw. einer Schaltanlage nicht eingeblendet ist.
391
- // Dadurch wird die Sammelschiene bzw. die Schaltanlage nicht exportiert und deshalb existiert das Referenz-Objekt nsgSSAB nicht
392
- // Das Schaltfeld kann somit ebenfalls nicht exportiert werden und wird übersprungen
393
- const nsgSaabObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
394
- const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSaabObjKey);
395
- if (nsgSAAB === undefined)
396
- continue;
397
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
398
- const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
399
- if (nsgSchaltanlage === undefined)
310
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(queryResults, variantenNr, onlyEingeblendet);
311
+ for (const i7Data of filteredResults) {
312
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_SSAB, { i7ID: i7Data.idSSAB, variantenNr, additionalIDs: [i7Data.nsgsa] });
313
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
314
+ const nsgSa = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
315
+ if (nsgSa === undefined)
400
316
  continue;
401
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
402
- const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
403
- if (nsgStandort === undefined)
317
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSa.nsgso, variantenNr });
318
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
319
+ // Standort ist vermutlich ausgeblendet und daher undefined. Exportiere deshalb die Sammelschienen bezogen auf die Schaltanlage auch nicht
320
+ if (nsgSo === undefined)
404
321
  continue;
405
- // Sammlung der Knoten anhand der i7IDs mit deren Punkten
406
- const nodePointMap = new Map();
407
- const schaltfeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
408
- /*
409
- Deltaausrichtung steht in Beziehung zur Schaltanlagen-Ausrichtung gemäß:
410
- -> Schaltanlagen-Ausrichtung = 0 => Schaltanlage ist horizontal nach rechts platziert
411
- => Deltaausrichtung = 0 => Schaltfeld ist nach oben ausgerichtet
412
- => Deltaausrichtung = 1 => Schaltfeld ist nach unten ausgerichten
413
-
414
- Schaltfelder werden mit der Schaltanlagen-Ausrichtungen gedreht
415
- */
416
- const schaltfeldDeltaausrichtung = i7Data.deltaausrichtung;
417
- // Extrahiere nur die relevanten Knoten, die sich in dem aktuellen Schaltfeld befinden
418
- const schaltfeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.schaltfeld);
419
- let shiftFromBusbar = false;
420
- if (schaltfeldI7KnotenBeziehungen.length == 1) {
421
- shiftFromBusbar = true;
322
+ // Sammelschienen sind in einem Grid angeordnet basierend auf den Positionswerten in
323
+ // der Netz-Abschnitts- und -Sammelschienentabelle
324
+ const leftOffset = i7Data.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
325
+ const topOffset = i7Data.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
326
+ const ssabLength = i7Data.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
327
+ let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
328
+ let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
329
+ // let pointTopLeft = new DiagramObjectPoint(0, topOffset, 1);
330
+ // let pointBottomRight = new DiagramObjectPoint(ssabLength, topOffset, 2);
331
+ let saabShiftOffset = 0;
332
+ for (const tempNsgSaab of nsgSa.nsgSaabs) {
333
+ saabShiftOffset = saabShiftOffset < (tempNsgSaab.nslots + tempNsgSaab.laenge) ? (tempNsgSaab.nslots + tempNsgSaab.laenge) : saabShiftOffset;
422
334
  }
423
- const ssabs = this.inputArgs.integralSchaltfelder.get(i7Data.schaltfeld).saabschnitt.ssab;
424
- const maxSSabPos = Math.max(...ssabs.map(ssab => ssab.pos));
425
- const onSSabNodes = schaltfeldI7KnotenBeziehungen.filter(elem => ssabs.find(ssab => ssab.id === elem.aknoten) !== undefined);
426
- const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
427
- let lastNode = undefined;
428
- for (const node of onSSabNodes) {
429
- const nsgSSABObjKey = DLConverterI7.createSchemaKeyObject({
430
- i7ID: node.aknoten,
431
- variantenNr,
432
- additionalIDs: [nsgSAAB.nsgsa]
433
- });
434
- const nsgSsab = DLConverterI7.getDbNsgObjectByID(nsgSSABObjKey);
435
- const ssabYPos = nsgSsab.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
436
- // Starte yStackPos bei 1 und ssabOffset daher bei 0, wenn schaltfeldDeltaausrichtung = 0
437
- let yStackPos = 1;
438
- let prevNode = null;
439
- let crtNode = node;
440
- while (crtNode) {
441
- if (nodePointMap.get(crtNode.id) === undefined) {
442
- // Initiale Werte sind: x => Schaltfeld Position; y => Sammelschienen Position
443
- // let xPos = schaltfeldLeftOffset + (NsgConstants.HORIZONTAL_OFFSET / 2);
444
- let yPos = ssabYPos;
445
- // Falls der Knoten ein initialer Knoten ist, hängt er mit einer Sammelschiene zusammen und muss anders platziert werden
446
- if (crtNode === node) {
447
- yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
448
- }
449
- else {
450
- const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
451
- yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
452
- yStackPos += 1;
453
- }
454
- nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
455
- // BEGIN: ConnectivityNode-Support
456
- // Platziere die ConnectivityNodes (abgesehen von denjenigen, die auf eine Sammelschiene verweisen)
457
- const aKnotenUUID = this.inputArgs.integralID2UUID.get(crtNode.aknoten);
458
- if (!DLConverterI7.cimUUID2Object.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
459
- let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
460
- let yPosAKnoten;
461
- if (prevNode === node) {
462
- yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
335
+ // Extrahiere Punkte
336
+ const points = [];
337
+ points.push(pointTopLeft, pointBottomRight);
338
+ // Variablen für das eventuelle Shiften basierend auf SA-Ausrichtung
339
+ for (const p of points) {
340
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
341
+ p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
342
+ p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
343
+ }
344
+ // Erstelle CIM-Objekte
345
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.idSSAB);
346
+ const diagramObject = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), 'SSAB Diagram');
347
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
348
+ diagramObject.identifiedObjectUUID = cimObjectUUID;
349
+ diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
350
+ (0, utils_schema_1.copyDiagramObjectPoints)(diagramObject, points);
351
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
352
+ identifiedObjectUUID: cimObjectUUID,
353
+ diagramObjectUUID: diagramObject.getUUID()
354
+ });
355
+ DLConverterI7.addCimObjects(diagramObject);
356
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
357
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
358
+ if (nsgSAAB.nsgSsabs === undefined) {
359
+ nsgSAAB.nsgSsabs = [];
360
+ }
361
+ nsgSAAB.nsgSsabs.push(i7Data);
362
+ }
363
+ });
364
+ }
365
+ convertSchemaSchaltfeldElemente(variantenNr, onlyEingeblendet, schaltfeldIDs) {
366
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
367
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) && schaltfeldIDs.length > 0) {
368
+ /* Pruefe anhand der Tabellennamen, ob die relevanten Tabellen verfuegbar sind */
369
+ const i7relevantTables = [
370
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
371
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
372
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
373
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
374
+ ];
375
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
376
+ const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, schaltfeldIDs));
377
+ const queryStr = (0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD), schaltfeldIDs);
378
+ const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(queryStr);
379
+ const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
380
+ for (const i7Data of filteredResultsNsgSchaltfeld) {
381
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
382
+ // Es kann vorkommen, dass der Standort einer Sammelschiene bzw. einer Schaltanlage nicht eingeblendet ist.
383
+ // Dadurch wird die Sammelschiene bzw. die Schaltanlage nicht exportiert und deshalb existiert das Referenz-Objekt nsgSSAB nicht
384
+ // Das Schaltfeld kann somit ebenfalls nicht exportiert werden und wird übersprungen
385
+ const nsgSaabObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
386
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSaabObjKey);
387
+ if (nsgSAAB === undefined)
388
+ continue;
389
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
390
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
391
+ if (nsgSchaltanlage === undefined)
392
+ continue;
393
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
394
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
395
+ if (nsgStandort === undefined)
396
+ continue;
397
+ // Sammlung der Knoten anhand der i7IDs mit deren Punkten
398
+ const nodePointMap = new Map();
399
+ const schaltfeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
400
+ /*
401
+ Deltaausrichtung steht in Beziehung zur Schaltanlagen-Ausrichtung gemäß:
402
+ -> Schaltanlagen-Ausrichtung = 0 => Schaltanlage ist horizontal nach rechts platziert
403
+ => Deltaausrichtung = 0 => Schaltfeld ist nach oben ausgerichtet
404
+ => Deltaausrichtung = 1 => Schaltfeld ist nach unten ausgerichten
405
+
406
+ Schaltfelder werden mit der Schaltanlagen-Ausrichtungen gedreht
407
+ */
408
+ const schaltfeldDeltaausrichtung = i7Data.deltaausrichtung;
409
+ // Extrahiere nur die relevanten Knoten, die sich in dem aktuellen Schaltfeld befinden
410
+ const schaltfeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.schaltfeld);
411
+ let shiftFromBusbar = false;
412
+ if (schaltfeldI7KnotenBeziehungen.length == 1) {
413
+ shiftFromBusbar = true;
414
+ }
415
+ const ssabs = this.inputArgs.integralSchaltfelder.get(i7Data.schaltfeld).saabschnitt.ssab;
416
+ const maxSSabPos = Math.max(...ssabs.map(ssab => ssab.pos));
417
+ const onSSabNodes = schaltfeldI7KnotenBeziehungen.filter(elem => ssabs.find(ssab => ssab.id === elem.aknoten) !== undefined);
418
+ const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
419
+ let lastNode = undefined;
420
+ for (const node of onSSabNodes) {
421
+ const nsgSSABObjKey = DLConverterI7.createSchemaKeyObject({
422
+ i7ID: node.aknoten,
423
+ variantenNr,
424
+ additionalIDs: [nsgSAAB.nsgsa]
425
+ });
426
+ const nsgSsab = DLConverterI7.getDbNsgObjectByID(nsgSSABObjKey);
427
+ const ssabYPos = nsgSsab.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
428
+ // Starte yStackPos bei 1 und ssabOffset daher bei 0, wenn schaltfeldDeltaausrichtung = 0
429
+ let yStackPos = 1;
430
+ let prevNode = null;
431
+ let crtNode = node;
432
+ while (crtNode) {
433
+ if (nodePointMap.get(crtNode.id) === undefined) {
434
+ // Initiale Werte sind: x => Schaltfeld Position; y => Sammelschienen Position
435
+ // let xPos = schaltfeldLeftOffset + (NsgConstants.HORIZONTAL_OFFSET / 2);
436
+ let yPos = ssabYPos;
437
+ // Falls der Knoten ein initialer Knoten ist, hängt er mit einer Sammelschiene zusammen und muss anders platziert werden
438
+ if (crtNode === node) {
439
+ yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
463
440
  }
464
441
  else {
465
- yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
442
+ const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
443
+ yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
444
+ yStackPos += 1;
466
445
  }
467
- nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
446
+ nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
447
+ // BEGIN: ConnectivityNode-Support
448
+ // Platziere die ConnectivityNodes (abgesehen von denjenigen, die auf eine Sammelschiene verweisen)
449
+ const aKnotenUUID = this.inputArgs.integralID2UUID.get(crtNode.aknoten);
450
+ if (!DLConverterI7.cimUUID2Object.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
451
+ let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
452
+ let yPosAKnoten;
453
+ if (prevNode === node) {
454
+ yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
455
+ }
456
+ else {
457
+ yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
458
+ }
459
+ nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
460
+ }
461
+ // END: ConnectivityNode-Support
468
462
  }
469
- // END: ConnectivityNode-Support
463
+ lastNode = crtNode;
464
+ prevNode = crtNode;
465
+ crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
470
466
  }
471
- lastNode = crtNode;
472
- prevNode = crtNode;
473
- crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
474
467
  }
468
+ // BEGIN: ConnectivityNode-Support
469
+ // Exportiere das ConnectivityNode/den Endpunkt des Schaltfeldes
470
+ const lastEKnotenUUID = this.inputArgs.integralID2UUID.get(lastNode.eknoten);
471
+ if (!DLConverterI7.cimUUID2Object.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
472
+ const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
473
+ const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
474
+ nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
475
+ }
476
+ i7Data.lastNodeID = lastNode.eknoten;
477
+ i7Data.lastNodeCimUUID = lastEKnotenUUID;
478
+ i7Data.orientation = nsgSchaltanlage.ausrichtung;
479
+ if (i7Data.deltaausrichtung === 1) {
480
+ i7Data.orientation = (i7Data.orientation + 2) % 4;
481
+ }
482
+ // END: ConnectivityNode-Support
483
+ // BEGIN: Terminal-Support
484
+ // for (const node of onSSabNodes) {
485
+ // let crtNode = node;
486
+ // while (crtNode) {
487
+ // let aKnotenPos: DiagramObjectPoint = undefined;
488
+ // if (crtNode === node) {
489
+ // const nsgSSABObjKey = DLConverterI7.createSchemaKeyObject(node.aknoten, variantenNr, nsgSaab.nsgsa);
490
+ // const nsgSsab: NsgSSAB = DLConverterI7.requestDbNsgObjectByID(nsgSSABObjKey);
491
+ // aKnotenPos = new DiagramObjectPoint(xPos, nsgSsab.posSSAB * NsgConstants.VERTICAL_OFFSET);
492
+ // }
493
+ // DLUtilFunctions.exportTerminals(crtNode, nodePointMap, uuidPointsMap, cimModel, this.integralID2UUID, aKnotenPos);
494
+ //
495
+ // crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
496
+ // }
497
+ // }
498
+ // END: Terminal-Support
499
+ // 0 1 2 3 (clockwise rotation)
500
+ for (const nodePointEntry of nodePointMap.entries()) {
501
+ const i7ID = nodePointEntry[0];
502
+ const diagramObject = nodePointEntry[1];
503
+ if (DLConverterI7.cimUUID2Object.has(diagramObject.getUUID()))
504
+ continue;
505
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7ID);
506
+ diagramObject.identifiedObjectUUID = cimObjectUUID;
507
+ diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSaNsgSf(nsgSchaltanlage.ausrichtung, schaltfeldDeltaausrichtung);
508
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
509
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID, variantenNr, additionalIDs: [i7Data.id] });
510
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
511
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
512
+ identifiedObjectUUID: cimObjectUUID,
513
+ diagramObjectUUID: diagramObject.getUUID()
514
+ });
515
+ DLConverterI7.addCimObjects(diagramObject);
516
+ }
517
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
475
518
  }
476
- // BEGIN: ConnectivityNode-Support
477
- // Exportiere das ConnectivityNode/den Endpunkt des Schaltfeldes
478
- const lastEKnotenUUID = this.inputArgs.integralID2UUID.get(lastNode.eknoten);
479
- if (!DLConverterI7.cimUUID2Object.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
480
- const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
481
- const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
482
- nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
483
- }
484
- i7Data.lastNodeID = lastNode.eknoten;
485
- i7Data.lastNodeCimUUID = lastEKnotenUUID;
486
- i7Data.orientation = nsgSchaltanlage.ausrichtung;
487
- if (i7Data.deltaausrichtung === 1) {
488
- i7Data.orientation = (i7Data.orientation + 2) % 4;
489
- }
490
- // END: ConnectivityNode-Support
491
- // BEGIN: Terminal-Support
492
- // for (const node of onSSabNodes) {
493
- // let crtNode = node;
494
- // while (crtNode) {
495
- // let aKnotenPos: DiagramObjectPoint = undefined;
496
- // if (crtNode === node) {
497
- // const nsgSSABObjKey = DLConverterI7.createSchemaKeyObject(node.aknoten, variantenNr, nsgSaab.nsgsa);
498
- // const nsgSsab: NsgSSAB = DLConverterI7.requestDbNsgObjectByID(nsgSSABObjKey);
499
- // aKnotenPos = new DiagramObjectPoint(xPos, nsgSsab.posSSAB * NsgConstants.VERTICAL_OFFSET);
500
- // }
501
- // DLUtilFunctions.exportTerminals(crtNode, nodePointMap, uuidPointsMap, cimModel, this.integralID2UUID, aKnotenPos);
502
- //
503
- // crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
504
- // }
505
- // }
506
- // END: Terminal-Support
507
- // 0 1 2 3 (clockwise rotation)
508
- for (const nodePointEntry of nodePointMap.entries()) {
509
- const i7ID = nodePointEntry[0];
510
- const diagramObject = nodePointEntry[1];
511
- if (DLConverterI7.cimUUID2Object.has(diagramObject.getUUID()))
512
- continue;
513
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7ID);
514
- diagramObject.identifiedObjectUUID = cimObjectUUID;
515
- diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSaNsgSf(nsgSchaltanlage.ausrichtung, schaltfeldDeltaausrichtung);
516
- diagramObject.diagramUUID = this.activeDiagram.getUUID();
517
- const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID, variantenNr, additionalIDs: [i7Data.id] });
518
- DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
519
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
520
- identifiedObjectUUID: cimObjectUUID,
521
- diagramObjectUUID: diagramObject.getUUID()
522
- });
523
- DLConverterI7.addCimObjects(diagramObject);
524
- }
525
- util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
526
519
  }
527
- }
520
+ });
528
521
  }
529
- async convertSchemaQuerkupplungen(variantenNr, onlyEingeblendet, querkupplungIDs) {
530
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG) && querkupplungIDs.length > 0) {
531
- const i7relevantTables = [
532
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
533
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
534
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
535
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
536
- ];
537
- const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
538
- const i7knotenBeziehungen = await this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, querkupplungIDs));
539
- const resultsNsgKpFeld = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG), querkupplungIDs));
540
- const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
541
- for (const i7Data of filteredResultsNsgKpFeld) {
542
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
543
- const kpFeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
544
- const kpFeldDeltaausrichtung = i7Data.deltaausrichtung;
545
- // Extrahiere nur die relevanten Knoten, die sich in der aktuellen Querkupplung befinden
546
- const kpFeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.kpfeld);
547
- const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
548
- const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
549
- if (nsgSAAB === undefined)
550
- continue;
551
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
552
- const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
553
- if (nsgSchaltanlage === undefined)
554
- continue;
555
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
556
- const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
557
- if (nsgStandort === undefined)
558
- continue;
559
- // Ermittle die relevanten SSabIDs
560
- const relevantSSabIDs = new Set();
561
- nsgSAAB.nsgSsabs.forEach(arg => relevantSSabIDs.add(arg.idSSAB));
562
- const ssabKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_SSAB);
563
- const nsgSSABs = new Map();
564
- for (const ssabKeyID of ssabKeyIDs) {
565
- const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID);
566
- nsgSSABs.set(nsgSSAB.idSSAB, nsgSSAB);
567
- }
568
- const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
569
- const nodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, relevantSSabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, kpFeldDeltaausrichtung, kpFeldLeftOffset, false, this.inputArgs.objects);
570
- for (const nodePointEntry of nodePointMap.entries()) {
571
- const key = nodePointEntry[0];
572
- const value = nodePointEntry[1];
573
- if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
522
+ convertSchemaQuerkupplungen(variantenNr, onlyEingeblendet, querkupplungIDs) {
523
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
524
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG) && querkupplungIDs.length > 0) {
525
+ const i7relevantTables = [
526
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
527
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
528
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
529
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
530
+ ];
531
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
532
+ const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, querkupplungIDs));
533
+ const resultsNsgKpFeld = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG), querkupplungIDs));
534
+ const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
535
+ for (const i7Data of filteredResultsNsgKpFeld) {
536
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
537
+ const kpFeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
538
+ const kpFeldDeltaausrichtung = i7Data.deltaausrichtung;
539
+ // Extrahiere nur die relevanten Knoten, die sich in der aktuellen Querkupplung befinden
540
+ const kpFeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.kpfeld);
541
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
542
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
543
+ if (nsgSAAB === undefined)
574
544
  continue;
575
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
576
- value.identifiedObjectUUID = cimObjectUUID;
577
- value.rotation += (util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung) - 90 + 720);
578
- value.rotation = value.rotation % 360;
579
- value.diagramUUID = this.activeDiagram.getUUID();
580
- const schemaObjKey = DLConverterI7.createSchemaKeyObject({
581
- i7ID: key,
582
- variantenNr,
583
- additionalIDs: [i7Data.id]
584
- });
585
- DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
586
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
587
- identifiedObjectUUID: cimObjectUUID,
588
- diagramObjectUUID: value.getUUID()
589
- });
590
- DLConverterI7.addCimObjects(value);
591
- }
592
- util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
593
- }
594
- }
595
- }
596
- async convertSchemaLaengskupplungen(variantenNr, onlyEingeblendet, laengskupplungIDs) {
597
- // const ssabKeyIDs = DLConverterI7.type2i7IDs.get(DataTypes.NSG_SSAB);
598
- // if (ssabKeyIDs === undefined) {
599
- // return;
600
- // }
601
- //
602
- // const nsgSSABIDs = new Set<number>();
603
- // for (const ssabKeyID of ssabKeyIDs) {
604
- // const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID) as NsgSSAB;
605
- // nsgSSABIDs.add(nsgSSAB.idSSAB);
606
- // }
607
- const saabKeyIDs = DLConverterI7.type2i7IDs.get(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
608
- if (saabKeyIDs === undefined) {
609
- return;
610
- }
611
- const nsgSAABIDs = new Set();
612
- for (const saabKeyID of saabKeyIDs) {
613
- const nsgSAAB = DLConverterI7.i7ID2DbNsgObject.get(saabKeyID);
614
- nsgSAABIDs.add(nsgSAAB.id);
615
- }
616
- // Die Längskupplungen werden primär mittels der Netz-Tabelle (netz_lkupplung) exportiert und nicht über die NSG-Tabelle (nsg_nsglkupplung)
617
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && laengskupplungIDs.length > 0 && saabKeyIDs.length > 0) {
618
- const i7relevantTables = [
619
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
620
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
621
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
622
- integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
623
- ];
624
- const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
625
- const i7knotenBeziehungen = await this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, laengskupplungIDs));
626
- const resultsNsgLKupplung = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG), [...nsgSAABIDs.values()]));
627
- const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
628
- for (const i7Data of filteredResultsNsgLKupplung) {
629
- DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
630
- const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
631
- const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
632
- if (nsgSAAB === undefined)
633
- continue;
634
- const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
635
- const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
636
- if (nsgSchaltanlage === undefined)
637
- continue;
638
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
639
- const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
640
- if (nsgStandort === undefined)
641
- continue;
642
- // Sammlung der Knoten, um die CIM-UUID auf die zugehörigen Punkte zu referenzieren
643
- // const uuidPointsMap: Map<string, DiagramObject> = new Map();
644
- const nodePointMap = new Map();
645
- // Einer NSG-Längskupplung können mehrere Netz-Längskupplungen zugeordnet sein
646
- const netzLaengskupplungsObjs = [...this.inputArgs.integralLaengskupplungen.values()].filter(elem => elem.schaltanlagenID === nsgSchaltanlage.schaltanlage);
647
- for (const netzLaengskupplungObj of netzLaengskupplungsObjs) {
648
- const lKupplungI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === netzLaengskupplungObj.id);
649
- const relevantSsabIDs = new Set();
545
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
546
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
547
+ if (nsgSchaltanlage === undefined)
548
+ continue;
549
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
550
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
551
+ if (nsgStandort === undefined)
552
+ continue;
553
+ // Ermittle die relevanten SSabIDs
554
+ const relevantSSabIDs = new Set();
555
+ nsgSAAB.nsgSsabs.forEach(arg => relevantSSabIDs.add(arg.idSSAB));
556
+ const ssabKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_SSAB);
650
557
  const nsgSSABs = new Map();
651
- nsgSchaltanlage.nsgSaabs.forEach(iNsgSAAB => iNsgSAAB.nsgSsabs.forEach(iNsgSsab => {
652
- relevantSsabIDs.add(iNsgSsab.idSSAB);
653
- nsgSSABs.set(iNsgSsab.idSSAB, iNsgSsab);
654
- }));
655
- // nsgSAAB.nsgSsabs.forEach(arg => relevantSSabIDs.add(arg.idSSAB));
656
- // const ssabKeyIDs = DLConverterI7.type2i7IDs.get(DataTypes.NSG_SSAB);
657
- // const nsgSSABs = new Map<number, NsgSSAB>();
658
- // for (const ssabKeyID of ssabKeyIDs) {
659
- // const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID) as NsgSSAB;
660
- // nsgSSABs.set(nsgSSAB.idSSAB, nsgSSAB);
661
- // }
558
+ for (const ssabKeyID of ssabKeyIDs) {
559
+ const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID);
560
+ nsgSSABs.set(nsgSSAB.idSSAB, nsgSSAB);
561
+ }
662
562
  const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
663
- const tempNodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, relevantSsabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, 0, 0, true, this.inputArgs.objects);
664
- tempNodePointMap.forEach((value, key) => nodePointMap.set(key, value));
563
+ const nodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, relevantSSabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, kpFeldDeltaausrichtung, kpFeldLeftOffset, false, this.inputArgs.objects);
564
+ for (const nodePointEntry of nodePointMap.entries()) {
565
+ const key = nodePointEntry[0];
566
+ const value = nodePointEntry[1];
567
+ if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
568
+ continue;
569
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
570
+ value.identifiedObjectUUID = cimObjectUUID;
571
+ value.rotation += (util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung) - 90 + 720);
572
+ value.rotation = value.rotation % 360;
573
+ value.diagramUUID = this.activeDiagram.getUUID();
574
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({
575
+ i7ID: key,
576
+ variantenNr,
577
+ additionalIDs: [i7Data.id]
578
+ });
579
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
580
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
581
+ identifiedObjectUUID: cimObjectUUID,
582
+ diagramObjectUUID: value.getUUID()
583
+ });
584
+ DLConverterI7.addCimObjects(value);
585
+ }
586
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
665
587
  }
666
- for (const nodePointEntry of nodePointMap.entries()) {
667
- const key = nodePointEntry[0];
668
- const value = nodePointEntry[1];
669
- if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
588
+ }
589
+ });
590
+ }
591
+ convertSchemaLaengskupplungen(variantenNr, onlyEingeblendet, laengskupplungIDs) {
592
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
593
+ // const ssabKeyIDs = DLConverterI7.type2i7IDs.get(DataTypes.NSG_SSAB);
594
+ // if (ssabKeyIDs === undefined) {
595
+ // return;
596
+ // }
597
+ //
598
+ // const nsgSSABIDs = new Set<number>();
599
+ // for (const ssabKeyID of ssabKeyIDs) {
600
+ // const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID) as NsgSSAB;
601
+ // nsgSSABIDs.add(nsgSSAB.idSSAB);
602
+ // }
603
+ const saabKeyIDs = DLConverterI7.type2i7IDs.get(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
604
+ if (saabKeyIDs === undefined) {
605
+ return;
606
+ }
607
+ const nsgSAABIDs = new Set();
608
+ for (const saabKeyID of saabKeyIDs) {
609
+ const nsgSAAB = DLConverterI7.i7ID2DbNsgObject.get(saabKeyID);
610
+ nsgSAABIDs.add(nsgSAAB.id);
611
+ }
612
+ // Die Längskupplungen werden primär mittels der Netz-Tabelle (netz_lkupplung) exportiert und nicht über die NSG-Tabelle (nsg_nsglkupplung)
613
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && laengskupplungIDs.length > 0 && saabKeyIDs.length > 0) {
614
+ const i7relevantTables = [
615
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
616
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
617
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
618
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
619
+ ];
620
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
621
+ const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, laengskupplungIDs));
622
+ const resultsNsgLKupplung = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG), [...nsgSAABIDs.values()]));
623
+ const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
624
+ for (const i7Data of filteredResultsNsgLKupplung) {
625
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
626
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
627
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
628
+ if (nsgSAAB === undefined)
629
+ continue;
630
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
631
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
632
+ if (nsgSchaltanlage === undefined)
633
+ continue;
634
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
635
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
636
+ if (nsgStandort === undefined)
670
637
  continue;
671
- const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
672
- value.identifiedObjectUUID = cimObjectUUID;
673
- if (value.rotation === undefined) {
674
- value.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
638
+ // Sammlung der Knoten, um die CIM-UUID auf die zugehörigen Punkte zu referenzieren
639
+ // const uuidPointsMap: Map<string, DiagramObject> = new Map();
640
+ const nodePointMap = new Map();
641
+ // Einer NSG-Längskupplung können mehrere Netz-Längskupplungen zugeordnet sein
642
+ const netzLaengskupplungsObjs = [...this.inputArgs.integralLaengskupplungen.values()].filter(elem => elem.schaltanlagenID === nsgSchaltanlage.schaltanlage);
643
+ for (const netzLaengskupplungObj of netzLaengskupplungsObjs) {
644
+ const lKupplungI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === netzLaengskupplungObj.id);
645
+ const relevantSsabIDs = new Set();
646
+ const nsgSSABs = new Map();
647
+ nsgSchaltanlage.nsgSaabs.forEach(iNsgSAAB => iNsgSAAB.nsgSsabs.forEach(iNsgSsab => {
648
+ relevantSsabIDs.add(iNsgSsab.idSSAB);
649
+ nsgSSABs.set(iNsgSsab.idSSAB, iNsgSsab);
650
+ }));
651
+ // nsgSAAB.nsgSsabs.forEach(arg => relevantSSabIDs.add(arg.idSSAB));
652
+ // const ssabKeyIDs = DLConverterI7.type2i7IDs.get(DataTypes.NSG_SSAB);
653
+ // const nsgSSABs = new Map<number, NsgSSAB>();
654
+ // for (const ssabKeyID of ssabKeyIDs) {
655
+ // const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID) as NsgSSAB;
656
+ // nsgSSABs.set(nsgSSAB.idSSAB, nsgSSAB);
657
+ // }
658
+ const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
659
+ const tempNodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, relevantSsabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, 0, 0, true, this.inputArgs.objects);
660
+ tempNodePointMap.forEach((value, key) => nodePointMap.set(key, value));
675
661
  }
676
- else {
677
- value.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
662
+ for (const nodePointEntry of nodePointMap.entries()) {
663
+ const key = nodePointEntry[0];
664
+ const value = nodePointEntry[1];
665
+ if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
666
+ continue;
667
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
668
+ value.identifiedObjectUUID = cimObjectUUID;
669
+ if (value.rotation === undefined) {
670
+ value.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
671
+ }
672
+ else {
673
+ value.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
674
+ }
675
+ value.diagramUUID = this.activeDiagram.getUUID();
676
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({
677
+ i7ID: key,
678
+ variantenNr,
679
+ additionalIDs: [i7Data.id]
680
+ });
681
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
682
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
683
+ identifiedObjectUUID: cimObjectUUID,
684
+ diagramObjectUUID: value.getUUID()
685
+ });
686
+ DLConverterI7.addCimObjects(value);
678
687
  }
679
- value.diagramUUID = this.activeDiagram.getUUID();
680
- const schemaObjKey = DLConverterI7.createSchemaKeyObject({
681
- i7ID: key,
682
- variantenNr,
683
- additionalIDs: [i7Data.id]
684
- });
685
- DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
686
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
687
- identifiedObjectUUID: cimObjectUUID,
688
- diagramObjectUUID: value.getUUID()
689
- });
690
- DLConverterI7.addCimObjects(value);
691
- }
692
- util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()]);
693
- //
694
- // uuidPointsMap.forEach((entryDiagramObject, key) => {
695
- // if (entryDiagramObject.rotation === undefined) {
696
- // entryDiagramObject.rotation = DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
697
- // } else {
698
- // entryDiagramObject.rotation += DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
699
- // }
700
- // });
701
- //
702
- // DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap);
703
- /*
704
- // for testing
705
- for (const entry of uuidPointsMap.entries()) {
706
- const i7IDs = this.UUID2Integral7ID.get(entry[0]);
707
- if (i7IDs && i7IDs.filter(value => {
708
- return value === 1235 || value === 1236 || value === 1239
709
- }).length > 0) {
710
- console.log(i7IDs)
711
- }
688
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()]);
689
+ //
690
+ // uuidPointsMap.forEach((entryDiagramObject, key) => {
691
+ // if (entryDiagramObject.rotation === undefined) {
692
+ // entryDiagramObject.rotation = DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
693
+ // } else {
694
+ // entryDiagramObject.rotation += DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
695
+ // }
696
+ // });
697
+ //
698
+ // DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap);
699
+ /*
700
+ // for testing
701
+ for (const entry of uuidPointsMap.entries()) {
702
+ const i7IDs = this.UUID2Integral7ID.get(entry[0]);
703
+ if (i7IDs && i7IDs.filter(value => {
704
+ return value === 1235 || value === 1236 || value === 1239
705
+ }).length > 0) {
706
+ console.log(i7IDs)
707
+ }
708
+ }
709
+ */
712
710
  }
713
- */
714
711
  }
715
- }
712
+ });
716
713
  }
717
- async convertSchemaTransformatoren2W(variantenNr, onlyEingeblendet, powerTransformers) {
718
- const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
719
- if (nsgStandortKeyIDs === undefined) {
720
- return;
721
- }
722
- const nsgStandortIDs = new Set();
723
- for (const nsgStandortKeyID of nsgStandortKeyIDs) {
724
- const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
725
- nsgStandortIDs.add(nsgStandort.id);
726
- }
727
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.size > 0) {
728
- // Da TrafoIDs nicht im Integral7Model hinterlegt werden, Trafos auf Basis der NsgSO-IDs ermitteln (äuqivalent zu Netz-Trafo2W)
729
- const results = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO2W), [...nsgStandortIDs.values()]));
730
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
731
- for (const i7Data of filteredResults) {
732
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO2W);
733
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
734
- const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
735
- if (nsgSo === undefined)
736
- continue;
737
- // es wird davon ausgegangen, dass das Terminal 1 = anschlussanf zugeordnet ist
738
- // und Terminal 2 = anschlussend zugeordnet ist
739
- const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo2w);
740
- const powerTransformer = powerTransformers.get(powerTransformerUUID);
741
- if (powerTransformer === undefined)
742
- continue;
743
- const terminal1 = powerTransformer.powerTransformerEnd[0]?.terminal;
744
- const terminal2 = powerTransformer.powerTransformerEnd[1]?.terminal;
745
- const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
746
- xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH / 2,
747
- yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
748
- rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(i7Data.ausrichtung),
749
- diagramObjectName: 'DiagramObject',
750
- identifiedObjectUUID: powerTransformerUUID,
751
- diagramUUID: this.activeDiagram.getUUID()
752
- });
753
- const createdDiagramObjects = [];
754
- createdDiagramObjects.push(powerTransformerDiagramObject);
755
- let terminal1DiagramObject;
756
- if (terminal1 !== undefined) {
757
- terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
758
- xPosition: 0,
759
- yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
760
- diagramObjectName: 'DiagramObject',
761
- identifiedObjectUUID: terminal1.getUUID(),
762
- diagramUUID: this.activeDiagram.getUUID()
763
- });
764
- createdDiagramObjects.push(terminal1DiagramObject);
765
- }
766
- let terminal2DiagramObject;
767
- if (terminal2 !== undefined) {
768
- terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
769
- xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH,
714
+ convertSchemaTransformatoren2W(variantenNr, onlyEingeblendet, powerTransformers) {
715
+ var _a, _b;
716
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
717
+ const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
718
+ if (nsgStandortKeyIDs === undefined) {
719
+ return;
720
+ }
721
+ const nsgStandortIDs = new Set();
722
+ for (const nsgStandortKeyID of nsgStandortKeyIDs) {
723
+ const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
724
+ nsgStandortIDs.add(nsgStandort.id);
725
+ }
726
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.size > 0) {
727
+ // Da TrafoIDs nicht im Integral7Model hinterlegt werden, Trafos auf Basis der NsgSO-IDs ermitteln (äuqivalent zu Netz-Trafo2W)
728
+ const results = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_TRAFO2W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO2W), [...nsgStandortIDs.values()]));
729
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
730
+ for (const i7Data of filteredResults) {
731
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO2W);
732
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
733
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
734
+ if (nsgSo === undefined)
735
+ continue;
736
+ // es wird davon ausgegangen, dass das Terminal 1 = anschlussanf zugeordnet ist
737
+ // und Terminal 2 = anschlussend zugeordnet ist
738
+ const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo2w);
739
+ const powerTransformer = powerTransformers.get(powerTransformerUUID);
740
+ if (powerTransformer === undefined)
741
+ continue;
742
+ const terminal1 = (_a = powerTransformer.powerTransformerEnd[0]) === null || _a === void 0 ? void 0 : _a.terminal;
743
+ const terminal2 = (_b = powerTransformer.powerTransformerEnd[1]) === null || _b === void 0 ? void 0 : _b.terminal;
744
+ const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
745
+ xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH / 2,
770
746
  yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
747
+ rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(i7Data.ausrichtung),
771
748
  diagramObjectName: 'DiagramObject',
772
- identifiedObjectUUID: terminal2.getUUID(),
749
+ identifiedObjectUUID: powerTransformerUUID,
773
750
  diagramUUID: this.activeDiagram.getUUID()
774
751
  });
775
- createdDiagramObjects.push(terminal2DiagramObject);
776
- }
777
- for (const diagramObject of createdDiagramObjects) {
778
- for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
779
- util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(diagramObjectPoint, 90 * i7Data.ausrichtung);
780
- // cause of i7 uses the top-left corner as the default (0,0), the points need to be adjusted after the
781
- // rotation (if negative coordinates occur, they can be flipped into the positive side)
782
- diagramObjectPoint.xPosition = Math.abs(diagramObjectPoint.xPosition);
783
- diagramObjectPoint.yPosition = Math.abs(diagramObjectPoint.yPosition);
784
- diagramObjectPoint.xPosition += i7Data.xrel;
785
- diagramObjectPoint.yPosition += i7Data.yrel;
786
- diagramObjectPoint.xPosition += nsgSo.xrel;
787
- diagramObjectPoint.yPosition += nsgSo.yrel;
752
+ const createdDiagramObjects = [];
753
+ createdDiagramObjects.push(powerTransformerDiagramObject);
754
+ let terminal1DiagramObject;
755
+ if (terminal1 !== undefined) {
756
+ terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
757
+ xPosition: 0,
758
+ yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
759
+ diagramObjectName: 'DiagramObject',
760
+ identifiedObjectUUID: terminal1.getUUID(),
761
+ diagramUUID: this.activeDiagram.getUUID()
762
+ });
763
+ createdDiagramObjects.push(terminal1DiagramObject);
788
764
  }
789
- }
790
- // add the second DiagramObjectPoints to the DiagramObjects of the terminals (this will then result in the
791
- // connection between the PowerTransformerEnd and the ConnectivityNode)
792
- if (terminal1 !== undefined) {
793
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal1.getConnectivityNodeUUID());
794
- if (connectivityNodeDiagramObject !== undefined) {
795
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
765
+ let terminal2DiagramObject;
766
+ if (terminal2 !== undefined) {
767
+ terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
768
+ xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH,
769
+ yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
770
+ diagramObjectName: 'DiagramObject',
771
+ identifiedObjectUUID: terminal2.getUUID(),
772
+ diagramUUID: this.activeDiagram.getUUID()
773
+ });
774
+ createdDiagramObjects.push(terminal2DiagramObject);
796
775
  }
797
- }
798
- if (terminal2 !== undefined) {
799
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal2.getConnectivityNodeUUID());
800
- if (connectivityNodeDiagramObject !== undefined) {
801
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
776
+ for (const diagramObject of createdDiagramObjects) {
777
+ for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
778
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(diagramObjectPoint, 90 * i7Data.ausrichtung);
779
+ // cause of i7 uses the top-left corner as the default (0,0), the points need to be adjusted after the
780
+ // rotation (if negative coordinates occur, they can be flipped into the positive side)
781
+ diagramObjectPoint.xPosition = Math.abs(diagramObjectPoint.xPosition);
782
+ diagramObjectPoint.yPosition = Math.abs(diagramObjectPoint.yPosition);
783
+ diagramObjectPoint.xPosition += i7Data.xrel;
784
+ diagramObjectPoint.yPosition += i7Data.yrel;
785
+ diagramObjectPoint.xPosition += nsgSo.xrel;
786
+ diagramObjectPoint.yPosition += nsgSo.yrel;
787
+ }
802
788
  }
803
- }
804
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
805
- identifiedObjectUUID: powerTransformerUUID,
806
- diagramObjectUUID: powerTransformerDiagramObject.getUUID()
807
- });
808
- DLConverterI7.addCimObjects(powerTransformerDiagramObject);
809
- }
810
- }
811
- else {
812
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
813
- }
814
- }
815
- async convertSchemaTransformatoren3W(variantenNr, onlyEingeblendet, powerTransformers) {
816
- const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
817
- if (nsgStandortKeyIDs === undefined) {
818
- return;
819
- }
820
- const nsgStandortIDs = new Set();
821
- const netzStandortIDs = new Set();
822
- for (const nsgStandortKeyID of nsgStandortKeyIDs) {
823
- const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
824
- nsgStandortIDs.add(nsgStandort.id);
825
- netzStandortIDs.add(nsgStandort.standort);
826
- }
827
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.size > 0) {
828
- // Da TrafoIDs nicht im Integral7Model hinterlegt werden, Trafos auf Basis der NsgSO-IDs ermitteln (äuqivalent zu Netz-Trafo2W)
829
- const results = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO3W), [...nsgStandortIDs.values()]));
830
- const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
831
- const netzTrafoResults = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), [...netzStandortIDs.values()]));
832
- const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
833
- for (const i7Data of filteredResults) {
834
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO3W);
835
- const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
836
- const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
837
- if (nsgSo === undefined)
838
- continue;
839
- const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo3w);
840
- const powerTransformer = powerTransformers.get(powerTransformerUUID);
841
- if (powerTransformer === undefined)
842
- continue;
843
- // Ermittle die default-Zuordnung der Enden zu den Terminals der PowerTransformerEnds
844
- const trafo3wNetz = netzTrafos.get(i7Data.trafo3w);
845
- if (trafo3wNetz === undefined)
846
- continue;
847
- const pteW1 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w1));
848
- const pteW2 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w2));
849
- const pteW3 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w3));
850
- // Der relative Punkt des Transformators ist die linke obere Ecke bezogen auf die Umrandungs-Bounding-Box
851
- const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO3W_WIDTH / 2, constants_1.NsgConstants.TRAFO3W_HEIGHT / 2);
852
- const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
853
- xPosition: trafoDiagramObject.diagramObjectPoints[0].xPosition,
854
- yPosition: trafoDiagramObject.diagramObjectPoints[0].yPosition,
855
- rotation: (360 - (constants_1.NsgConstants.TAFO3W_RotationOrder.indexOf(i7Data.ausrichtung) * 30 + 180) % 360) % 360,
856
- diagramObjectName: 'DiagramObject',
857
- identifiedObjectUUID: powerTransformerUUID,
858
- diagramUUID: this.activeDiagram.getUUID()
859
- });
860
- // Ermittle die Auswechslung der Enden
861
- const exchangeGroups = constants_1.NsgConstants.TRAFO3W_ExchangeGroups;
862
- let exchangeGroup = undefined;
863
- for (const key of Object.keys(exchangeGroups)) {
864
- if (exchangeGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
865
- exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
866
- break;
789
+ // add the second DiagramObjectPoints to the DiagramObjects of the terminals (this will then result in the
790
+ // connection between the PowerTransformerEnd and the ConnectivityNode)
791
+ if (terminal1 !== undefined) {
792
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal1.getConnectivityNodeUUID());
793
+ if (connectivityNodeDiagramObject !== undefined) {
794
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
795
+ }
867
796
  }
868
- }
869
- // Ermittle die 'default'-Positionen der Enden ohne Berücksichtigung der Auswechslungen
870
- const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
871
- let rotationenGroup = undefined;
872
- for (const key of Object.keys(rotationenGroups)) {
873
- if (rotationenGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
874
- rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
875
- break;
797
+ if (terminal2 !== undefined) {
798
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal2.getConnectivityNodeUUID());
799
+ if (connectivityNodeDiagramObject !== undefined) {
800
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
801
+ }
876
802
  }
877
- }
878
- // Falls eine x-Spiegelung vorliegt, tausche die Werte der Enden 2 und 3 miteinander
879
- const xMirroring = i7Data.orientierung_cw === 1;
880
- const createdDiagramObjects = [];
881
- createdDiagramObjects.push(powerTransformerDiagramObject);
882
- let terminal1DiagramObject;
883
- if (pteW1?.terminal !== undefined) {
884
- const coords = rotationenGroup[exchangeGroup[1]];
885
- terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
886
- xPosition: coords[0],
887
- yPosition: coords[1],
888
- diagramObjectName: 'DiagramObject',
889
- identifiedObjectUUID: pteW1.terminal.getUUID(),
890
- diagramUUID: this.activeDiagram.getUUID()
891
- });
892
- createdDiagramObjects.push(terminal1DiagramObject);
893
- }
894
- let terminal2DiagramObject;
895
- if (pteW2?.terminal !== undefined) {
896
- const coords = rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]];
897
- terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
898
- xPosition: coords[0],
899
- yPosition: coords[1],
900
- diagramObjectName: 'DiagramObject',
901
- identifiedObjectUUID: pteW2.terminal.getUUID(),
902
- diagramUUID: this.activeDiagram.getUUID()
803
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
804
+ identifiedObjectUUID: powerTransformerUUID,
805
+ diagramObjectUUID: powerTransformerDiagramObject.getUUID()
903
806
  });
904
- createdDiagramObjects.push(terminal2DiagramObject);
807
+ DLConverterI7.addCimObjects(powerTransformerDiagramObject);
905
808
  }
906
- let terminal3DiagramObject;
907
- if (pteW3?.terminal !== undefined) {
908
- const coords = rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]];
909
- terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
910
- xPosition: coords[0],
911
- yPosition: coords[1],
809
+ }
810
+ else {
811
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
812
+ }
813
+ });
814
+ }
815
+ convertSchemaTransformatoren3W(variantenNr, onlyEingeblendet, powerTransformers) {
816
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
817
+ const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
818
+ if (nsgStandortKeyIDs === undefined) {
819
+ return;
820
+ }
821
+ const nsgStandortIDs = new Set();
822
+ const netzStandortIDs = new Set();
823
+ for (const nsgStandortKeyID of nsgStandortKeyIDs) {
824
+ const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
825
+ nsgStandortIDs.add(nsgStandort.id);
826
+ netzStandortIDs.add(nsgStandort.standort);
827
+ }
828
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.size > 0) {
829
+ // Da TrafoIDs nicht im Integral7Model hinterlegt werden, Trafos auf Basis der NsgSO-IDs ermitteln (äuqivalent zu Netz-Trafo2W)
830
+ const results = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_TRAFO3W), [...nsgStandortIDs.values()]));
831
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
832
+ const netzTrafoResults = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.TRAFO3W, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TRAFO3W), [...netzStandortIDs.values()]));
833
+ const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
834
+ for (const i7Data of filteredResults) {
835
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO3W);
836
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
837
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
838
+ if (nsgSo === undefined)
839
+ continue;
840
+ const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo3w);
841
+ const powerTransformer = powerTransformers.get(powerTransformerUUID);
842
+ if (powerTransformer === undefined)
843
+ continue;
844
+ // Ermittle die default-Zuordnung der Enden zu den Terminals der PowerTransformerEnds
845
+ const trafo3wNetz = netzTrafos.get(i7Data.trafo3w);
846
+ if (trafo3wNetz === undefined)
847
+ continue;
848
+ const pteW1 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w1));
849
+ const pteW2 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w2));
850
+ const pteW3 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w3));
851
+ // Der relative Punkt des Transformators ist die linke obere Ecke bezogen auf die Umrandungs-Bounding-Box
852
+ const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO3W_WIDTH / 2, constants_1.NsgConstants.TRAFO3W_HEIGHT / 2);
853
+ const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
854
+ xPosition: trafoDiagramObject.diagramObjectPoints[0].xPosition,
855
+ yPosition: trafoDiagramObject.diagramObjectPoints[0].yPosition,
856
+ rotation: (360 - (constants_1.NsgConstants.TAFO3W_RotationOrder.indexOf(i7Data.ausrichtung) * 30 + 180) % 360) % 360,
912
857
  diagramObjectName: 'DiagramObject',
913
- identifiedObjectUUID: pteW3.terminal.getUUID(),
858
+ identifiedObjectUUID: powerTransformerUUID,
914
859
  diagramUUID: this.activeDiagram.getUUID()
915
860
  });
916
- createdDiagramObjects.push(terminal3DiagramObject);
917
- }
918
- for (const diagramObject of createdDiagramObjects) {
919
- for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
920
- diagramObjectPoint.xPosition += i7Data.xrel;
921
- diagramObjectPoint.yPosition += i7Data.yrel;
922
- diagramObjectPoint.xPosition += nsgSo.xrel;
923
- diagramObjectPoint.yPosition += nsgSo.yrel;
924
- }
925
- }
926
- if (pteW1?.terminal !== undefined) {
927
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW1.terminal.getConnectivityNodeUUID());
928
- if (connectivityNodeDiagramObject !== undefined) {
929
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
930
- }
931
- }
932
- if (pteW2?.terminal !== undefined) {
933
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW2.terminal.getConnectivityNodeUUID());
934
- if (connectivityNodeDiagramObject !== undefined) {
935
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
936
- }
937
- }
938
- if (pteW3?.terminal !== undefined) {
939
- const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW3.terminal.getConnectivityNodeUUID());
940
- if (connectivityNodeDiagramObject !== undefined) {
941
- util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal3DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
942
- }
943
- }
944
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
945
- identifiedObjectUUID: powerTransformerUUID,
946
- diagramObjectUUID: powerTransformerDiagramObject.getUUID()
947
- });
948
- DLConverterI7.addCimObjects(powerTransformerDiagramObject);
949
- }
950
- }
951
- else {
952
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO3W} ist nicht vorhanden.`);
953
- }
954
- }
955
- async convertSchemaLeitungen(variantenNr, onlyEingeblendet) {
956
- if (this.inputArgs.integralLeitungen === undefined) {
957
- this.inputArgs.integralLeitungen = new Map();
958
- }
959
- if (this.inputArgs.integralHgueLeitungen === undefined) {
960
- this.inputArgs.integralHgueLeitungen = new Map();
961
- }
962
- const leitungIDs = [...this.inputArgs.integralLeitungen.keys(), ...this.inputArgs.integralHgueLeitungen.keys()];
963
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT) && leitungIDs.length > 0) {
964
- const leitungResults = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNG), leitungIDs));
965
- let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
966
- const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
967
- if (nsgLeitungIDs.length > 0) {
968
- const leitungspktResults = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT), nsgLeitungIDs));
969
- let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
970
- for (const i7Data of filteredLeitungResults) {
971
- const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
972
- DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_LEITUNG);
973
- const isACLine = this.inputArgs.integralLeitungen.get(i7Data.leitung);
974
- const isErsatzlaengszweig = false;
975
- let netzLeitungsObject;
976
- if (isACLine) {
977
- const netzLeitung = this.inputArgs.integralLeitungen.get(i7Data.leitung);
978
- if (netzLeitung !== undefined) {
979
- netzLeitungsObject = {
980
- id: netzLeitung.id,
981
- aknotenid: netzLeitung.aknotenid,
982
- eknotenid: netzLeitung.eknotenid
983
- };
861
+ // Ermittle die Auswechslung der Enden
862
+ const exchangeGroups = constants_1.NsgConstants.TRAFO3W_ExchangeGroups;
863
+ let exchangeGroup = undefined;
864
+ for (const key of Object.keys(exchangeGroups)) {
865
+ if (exchangeGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
866
+ exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
867
+ break;
984
868
  }
985
869
  }
986
- else {
987
- const netzHgueLeitung = this.inputArgs.integralHgueLeitungen.get(i7Data.leitung);
988
- if (netzHgueLeitung !== undefined) {
989
- netzLeitungsObject = {
990
- id: netzHgueLeitung.id,
991
- aknotenid: netzHgueLeitung.anetzobjekt,
992
- eknotenid: netzHgueLeitung.enetzobjekt
993
- };
870
+ // Ermittle die 'default'-Positionen der Enden ohne Berücksichtigung der Auswechslungen
871
+ const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
872
+ let rotationenGroup = undefined;
873
+ for (const key of Object.keys(rotationenGroups)) {
874
+ if (rotationenGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
875
+ rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
876
+ break;
994
877
  }
995
878
  }
996
- if (netzLeitungsObject === undefined)
997
- continue;
998
- const anfSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussanf, variantenNr });
999
- let anfNsgObject = DLConverterI7.getDbNsgObjectByID(anfSchemaTypeObjKey);
1000
- let anfSchemaType = DLConverterI7.i7ID2Type.get(anfSchemaTypeObjKey);
1001
- let anfDiagramObject;
1002
- if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1003
- const nsgSchaltfeld = anfNsgObject;
1004
- if (nsgSchaltfeld === undefined)
1005
- continue;
1006
- anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1007
- }
1008
- else if (anfSchemaType === data_types_1.DataTypes.NSG_NODE) {
1009
- const aKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.aknotenid);
1010
- anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(aKnotenCimObjectUUID);
1011
- }
1012
- else {
1013
- let anfUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(anfSchemaTypeObjKey);
1014
- if (anfUUIDEntry === undefined)
1015
- continue;
1016
- anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(anfUUIDEntry.identifiedObjectUUID);
879
+ // Falls eine x-Spiegelung vorliegt, tausche die Werte der Enden 2 und 3 miteinander
880
+ const xMirroring = i7Data.orientierung_cw === 1;
881
+ const createdDiagramObjects = [];
882
+ createdDiagramObjects.push(powerTransformerDiagramObject);
883
+ let terminal1DiagramObject;
884
+ if ((pteW1 === null || pteW1 === void 0 ? void 0 : pteW1.terminal) !== undefined) {
885
+ const coords = rotationenGroup[exchangeGroup[1]];
886
+ terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
887
+ xPosition: coords[0],
888
+ yPosition: coords[1],
889
+ diagramObjectName: 'DiagramObject',
890
+ identifiedObjectUUID: pteW1.terminal.getUUID(),
891
+ diagramUUID: this.activeDiagram.getUUID()
892
+ });
893
+ createdDiagramObjects.push(terminal1DiagramObject);
1017
894
  }
1018
- const endSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussend, variantenNr });
1019
- let endNsgObject = DLConverterI7.getDbNsgObjectByID(endSchemaTypeObjKey);
1020
- let endSchemaType = DLConverterI7.i7ID2Type.get(endSchemaTypeObjKey);
1021
- let endDiagramObject;
1022
- if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1023
- const nsgSchaltfeld = endNsgObject;
1024
- if (nsgSchaltfeld === undefined)
1025
- continue;
1026
- endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
895
+ let terminal2DiagramObject;
896
+ if ((pteW2 === null || pteW2 === void 0 ? void 0 : pteW2.terminal) !== undefined) {
897
+ const coords = rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]];
898
+ terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
899
+ xPosition: coords[0],
900
+ yPosition: coords[1],
901
+ diagramObjectName: 'DiagramObject',
902
+ identifiedObjectUUID: pteW2.terminal.getUUID(),
903
+ diagramUUID: this.activeDiagram.getUUID()
904
+ });
905
+ createdDiagramObjects.push(terminal2DiagramObject);
1027
906
  }
1028
- else if (endSchemaType === data_types_1.DataTypes.NSG_NODE) {
1029
- const eKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.eknotenid);
1030
- endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(eKnotenCimObjectUUID);
907
+ let terminal3DiagramObject;
908
+ if ((pteW3 === null || pteW3 === void 0 ? void 0 : pteW3.terminal) !== undefined) {
909
+ const coords = rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]];
910
+ terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
911
+ xPosition: coords[0],
912
+ yPosition: coords[1],
913
+ diagramObjectName: 'DiagramObject',
914
+ identifiedObjectUUID: pteW3.terminal.getUUID(),
915
+ diagramUUID: this.activeDiagram.getUUID()
916
+ });
917
+ createdDiagramObjects.push(terminal3DiagramObject);
1031
918
  }
1032
- else {
1033
- let endUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(endSchemaTypeObjKey);
1034
- if (endUUIDEntry === undefined)
1035
- continue;
1036
- endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(endUUIDEntry.identifiedObjectUUID);
919
+ for (const diagramObject of createdDiagramObjects) {
920
+ for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
921
+ diagramObjectPoint.xPosition += i7Data.xrel;
922
+ diagramObjectPoint.yPosition += i7Data.yrel;
923
+ diagramObjectPoint.xPosition += nsgSo.xrel;
924
+ diagramObjectPoint.yPosition += nsgSo.yrel;
925
+ }
1037
926
  }
1038
- let tempDiagramObjectPoints = [];
1039
- let tempAnfDiagramObject = anfDiagramObject;
1040
- let tempEndDiagramObject = endDiagramObject;
1041
- // Ausschließlich dann exportieren, wenn Anfang und Ende innerhalb des aktuellen Frames liegen
1042
- if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1043
- continue;
1044
- tempDiagramObjectPoints.push({
1045
- xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
1046
- yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
1047
- });
1048
- // Ermittle nur die Leitungspunkte, die mit der aktuell im Kontext befindlichen Leitung verknüpft sind
1049
- const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
1050
- for (let a = 0; a < relevantLeitungspkts.length; a++) {
1051
- const nsgLeitungspkt = relevantLeitungspkts[a];
1052
- if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
1053
- const tempDiagramObjectPoint = {
1054
- xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
1055
- yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
1056
- };
1057
- const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, anfNsgObject, i7Data.anschlussanf, nsgLeitungspkt);
1058
- tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1059
- tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1060
- tempDiagramObjectPoints.push(tempDiagramObjectPoint);
927
+ if ((pteW1 === null || pteW1 === void 0 ? void 0 : pteW1.terminal) !== undefined) {
928
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW1.terminal.getConnectivityNodeUUID());
929
+ if (connectivityNodeDiagramObject !== undefined) {
930
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
1061
931
  }
1062
- else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
1063
- const tempDiagramObjectPoint = {
1064
- xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
1065
- yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
1066
- };
1067
- const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, endNsgObject, i7Data.anschlussend, nsgLeitungspkt);
1068
- tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1069
- tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1070
- tempDiagramObjectPoints.push(tempDiagramObjectPoint);
932
+ }
933
+ if ((pteW2 === null || pteW2 === void 0 ? void 0 : pteW2.terminal) !== undefined) {
934
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW2.terminal.getConnectivityNodeUUID());
935
+ if (connectivityNodeDiagramObject !== undefined) {
936
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
1071
937
  }
1072
- else {
1073
- tempDiagramObjectPoints.push({ xPosition: nsgLeitungspkt.xrel, yPosition: nsgLeitungspkt.yrel });
938
+ }
939
+ if ((pteW3 === null || pteW3 === void 0 ? void 0 : pteW3.terminal) !== undefined) {
940
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW3.terminal.getConnectivityNodeUUID());
941
+ if (connectivityNodeDiagramObject !== undefined) {
942
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal3DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
1074
943
  }
1075
944
  }
1076
- tempDiagramObjectPoints.push({
1077
- xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
1078
- yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
945
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
946
+ identifiedObjectUUID: powerTransformerUUID,
947
+ diagramObjectUUID: powerTransformerDiagramObject.getUUID()
1079
948
  });
1080
- // Zuweisung
1081
- if (isACLine) {
1082
- const netzLeitungCimObj = this.inputArgs.lines.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
1083
- // Teile die komplette Leitung auf die ACLineSegmente auf [es kann sein, dass die Leitung sich aus mehreren ACLineSegments
1084
- // zusammensetzt und dann soll prozentual die komplette Leitung auf die ACLineSegmente aufgeteilt werden (ggfs. werden dabei
1085
- // neue DiagramObjectPoints erzeugt)
1086
- const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1087
- const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1088
- let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1089
- if (cableAvailable && overheadAvailable) {
1090
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
949
+ DLConverterI7.addCimObjects(powerTransformerDiagramObject);
950
+ }
951
+ }
952
+ else {
953
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO3W} ist nicht vorhanden.`);
954
+ }
955
+ });
956
+ }
957
+ convertSchemaLeitungen(variantenNr, onlyEingeblendet) {
958
+ var _a;
959
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
960
+ if (this.inputArgs.integralLeitungen === undefined) {
961
+ this.inputArgs.integralLeitungen = new Map();
962
+ }
963
+ if (this.inputArgs.integralHgueLeitungen === undefined) {
964
+ this.inputArgs.integralHgueLeitungen = new Map();
965
+ }
966
+ const leitungIDs = [...this.inputArgs.integralLeitungen.keys(), ...this.inputArgs.integralHgueLeitungen.keys()];
967
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT) && leitungIDs.length > 0) {
968
+ const leitungResults = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNG), leitungIDs));
969
+ let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
970
+ const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
971
+ if (nsgLeitungIDs.length > 0) {
972
+ const leitungspktResults = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT), nsgLeitungIDs));
973
+ let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
974
+ for (const i7Data of filteredLeitungResults) {
975
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
976
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_LEITUNG);
977
+ const isACLine = this.inputArgs.integralLeitungen.get(i7Data.leitung);
978
+ const isErsatzlaengszweig = false;
979
+ let netzLeitungsObject;
980
+ if (isACLine) {
981
+ const netzLeitung = this.inputArgs.integralLeitungen.get(i7Data.leitung);
982
+ if (netzLeitung !== undefined) {
983
+ netzLeitungsObject = {
984
+ id: netzLeitung.id,
985
+ aknotenid: netzLeitung.aknotenid,
986
+ eknotenid: netzLeitung.eknotenid
987
+ };
988
+ }
1091
989
  }
1092
- else if (cableAvailable) {
1093
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
990
+ else {
991
+ const netzHgueLeitung = this.inputArgs.integralHgueLeitungen.get(i7Data.leitung);
992
+ if (netzHgueLeitung !== undefined) {
993
+ netzLeitungsObject = {
994
+ id: netzHgueLeitung.id,
995
+ aknotenid: netzHgueLeitung.anetzobjekt,
996
+ eknotenid: netzHgueLeitung.enetzobjekt
997
+ };
998
+ }
1094
999
  }
1095
- else if (overheadAvailable) {
1096
- type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
1000
+ if (netzLeitungsObject === undefined)
1001
+ continue;
1002
+ const anfSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussanf, variantenNr });
1003
+ let anfNsgObject = DLConverterI7.getDbNsgObjectByID(anfSchemaTypeObjKey);
1004
+ let anfSchemaType = DLConverterI7.i7ID2Type.get(anfSchemaTypeObjKey);
1005
+ let anfDiagramObject;
1006
+ if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1007
+ const nsgSchaltfeld = anfNsgObject;
1008
+ if (nsgSchaltfeld === undefined)
1009
+ continue;
1010
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1097
1011
  }
1098
- // TODO quickfix for parameter 'availableColumnNames'
1099
- const leitungStromkreisabschnitt = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(type, ['leitung', 'laenge', 'pos', 'typ'], [netzLeitungsObject.id]));
1100
- leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1101
- const acSegmentPercentages = [];
1102
- let completeLength = 0;
1103
- for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1104
- completeLength += leitungStromkreisabschnitt[a].laenge;
1012
+ else if (anfSchemaType === data_types_1.DataTypes.NSG_NODE) {
1013
+ const aKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.aknotenid);
1014
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(aKnotenCimObjectUUID);
1105
1015
  }
1106
- let crtLength = 0;
1107
- // Berechne die Prozent-Anteile eines Leitungsabschnittes bezogen auf die Gesamtlänge
1108
- for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1109
- crtLength += leitungStromkreisabschnitt[a].laenge;
1110
- acSegmentPercentages.push(crtLength / completeLength);
1016
+ else {
1017
+ let anfUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(anfSchemaTypeObjKey);
1018
+ if (anfUUIDEntry === undefined)
1019
+ continue;
1020
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(anfUUIDEntry.identifiedObjectUUID);
1111
1021
  }
1112
- const eqUUIDs = netzLeitungCimObj.equipments.map(value => value.getUUID());
1113
- const resultingDiagramObjects = util_functions_1.DLUtilFunctions.convertACLineSegment(completeLength, acSegmentPercentages, eqUUIDs, tempDiagramObjectPoints);
1114
- for (const diagramObject of resultingDiagramObjects) {
1115
- diagramObject.diagramUUID = this.activeDiagram.getUUID();
1022
+ const endSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussend, variantenNr });
1023
+ let endNsgObject = DLConverterI7.getDbNsgObjectByID(endSchemaTypeObjKey);
1024
+ let endSchemaType = DLConverterI7.i7ID2Type.get(endSchemaTypeObjKey);
1025
+ let endDiagramObject;
1026
+ if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1027
+ const nsgSchaltfeld = endNsgObject;
1028
+ if (nsgSchaltfeld === undefined)
1029
+ continue;
1030
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1116
1031
  }
1117
- // DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1118
- // identifiedObjectUUID: querzweigObjectUUID,
1119
- // diagramObjectUUID: querzweigDiagramObject.getUUID()
1120
- // });
1121
- DLConverterI7.addCimObjects(...resultingDiagramObjects);
1122
- // DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1123
- // identifiedObjectUUID: querzweigObjectUUID,
1124
- // diagramObjectUUID: querzweigDiagramObject.getUUID()
1125
- // });
1126
- // DLConverterI7.addCimObjects(querzweigDiagramObject);
1127
- }
1128
- else if (isErsatzlaengszweig) {
1129
- }
1130
- else {
1131
- const netzLeitungCimObj = this.inputArgs.objects.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
1132
- const diagramObject = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID());
1133
- diagramObject.diagramUUID = this.activeDiagram.getUUID();
1134
- diagramObject.identifiedObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.id);
1135
- // diagramObject.setDiagram(diagram);
1136
- // diagram.addDiagramObject(diagramObject);
1137
- // diagramObject.setIdentifiedObjectUUID();
1138
- if (netzLeitungCimObj !== undefined) {
1139
- diagramObject.name = 'DiagramObj ' + (netzLeitungCimObj.shortName ?? '');
1032
+ else if (endSchemaType === data_types_1.DataTypes.NSG_NODE) {
1033
+ const eKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.eknotenid);
1034
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(eKnotenCimObjectUUID);
1140
1035
  }
1141
1036
  else {
1142
- diagramObject.name = 'DiagramObj HGUE-Leitung';
1037
+ let endUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(endSchemaTypeObjKey);
1038
+ if (endUUIDEntry === undefined)
1039
+ continue;
1040
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(endUUIDEntry.identifiedObjectUUID);
1143
1041
  }
1144
- for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
1145
- const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
1146
- diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
1147
- diagramObjectPoint.diagramObject = diagramObject;
1148
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1149
- // this.activeDiagram.addDiagramObject(diagramObject);
1042
+ let tempDiagramObjectPoints = [];
1043
+ let tempAnfDiagramObject = anfDiagramObject;
1044
+ let tempEndDiagramObject = endDiagramObject;
1045
+ // Ausschließlich dann exportieren, wenn Anfang und Ende innerhalb des aktuellen Frames liegen
1046
+ if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
1047
+ continue;
1048
+ tempDiagramObjectPoints.push({
1049
+ xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
1050
+ yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
1051
+ });
1052
+ // Ermittle nur die Leitungspunkte, die mit der aktuell im Kontext befindlichen Leitung verknüpft sind
1053
+ const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
1054
+ for (let a = 0; a < relevantLeitungspkts.length; a++) {
1055
+ const nsgLeitungspkt = relevantLeitungspkts[a];
1056
+ if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
1057
+ const tempDiagramObjectPoint = {
1058
+ xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
1059
+ yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
1060
+ };
1061
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, anfNsgObject, i7Data.anschlussanf, nsgLeitungspkt);
1062
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1063
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1064
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1065
+ }
1066
+ else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
1067
+ const tempDiagramObjectPoint = {
1068
+ xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
1069
+ yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
1070
+ };
1071
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, endNsgObject, i7Data.anschlussend, nsgLeitungspkt);
1072
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
1073
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
1074
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
1075
+ }
1076
+ else {
1077
+ tempDiagramObjectPoints.push({ xPosition: nsgLeitungspkt.xrel, yPosition: nsgLeitungspkt.yrel });
1078
+ }
1150
1079
  }
1151
- DLConverterI7.addCimObjects(diagramObject);
1080
+ tempDiagramObjectPoints.push({
1081
+ xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
1082
+ yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
1083
+ });
1084
+ // Zuweisung
1085
+ if (isACLine) {
1086
+ const netzLeitungCimObj = this.inputArgs.lines.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
1087
+ // Teile die komplette Leitung auf die ACLineSegmente auf [es kann sein, dass die Leitung sich aus mehreren ACLineSegments
1088
+ // zusammensetzt und dann soll prozentual die komplette Leitung auf die ACLineSegmente aufgeteilt werden (ggfs. werden dabei
1089
+ // neue DiagramObjectPoints erzeugt)
1090
+ const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
1091
+ const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
1092
+ let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
1093
+ if (cableAvailable && overheadAvailable) {
1094
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
1095
+ }
1096
+ else if (cableAvailable) {
1097
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
1098
+ }
1099
+ else if (overheadAvailable) {
1100
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
1101
+ }
1102
+ // TODO quickfix for parameter 'availableColumnNames'
1103
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(type, ['leitung', 'laenge', 'pos', 'typ'], [netzLeitungsObject.id]));
1104
+ leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
1105
+ const acSegmentPercentages = [];
1106
+ let completeLength = 0;
1107
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1108
+ completeLength += leitungStromkreisabschnitt[a].laenge;
1109
+ }
1110
+ let crtLength = 0;
1111
+ // Berechne die Prozent-Anteile eines Leitungsabschnittes bezogen auf die Gesamtlänge
1112
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
1113
+ crtLength += leitungStromkreisabschnitt[a].laenge;
1114
+ acSegmentPercentages.push(crtLength / completeLength);
1115
+ }
1116
+ const eqUUIDs = netzLeitungCimObj.equipments.map(value => value.getUUID());
1117
+ const resultingDiagramObjects = util_functions_1.DLUtilFunctions.convertACLineSegment(completeLength, acSegmentPercentages, eqUUIDs, tempDiagramObjectPoints);
1118
+ for (const diagramObject of resultingDiagramObjects) {
1119
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
1120
+ }
1121
+ // DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1122
+ // identifiedObjectUUID: querzweigObjectUUID,
1123
+ // diagramObjectUUID: querzweigDiagramObject.getUUID()
1124
+ // });
1125
+ DLConverterI7.addCimObjects(...resultingDiagramObjects);
1126
+ // DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1127
+ // identifiedObjectUUID: querzweigObjectUUID,
1128
+ // diagramObjectUUID: querzweigDiagramObject.getUUID()
1129
+ // });
1130
+ // DLConverterI7.addCimObjects(querzweigDiagramObject);
1131
+ }
1132
+ else if (isErsatzlaengszweig) {
1133
+ }
1134
+ else {
1135
+ const netzLeitungCimObj = this.inputArgs.objects.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
1136
+ const diagramObject = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID());
1137
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
1138
+ diagramObject.identifiedObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.id);
1139
+ // diagramObject.setDiagram(diagram);
1140
+ // diagram.addDiagramObject(diagramObject);
1141
+ // diagramObject.setIdentifiedObjectUUID();
1142
+ if (netzLeitungCimObj !== undefined) {
1143
+ diagramObject.name = 'DiagramObj ' + ((_a = netzLeitungCimObj.shortName) !== null && _a !== void 0 ? _a : '');
1144
+ }
1145
+ else {
1146
+ diagramObject.name = 'DiagramObj HGUE-Leitung';
1147
+ }
1148
+ for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
1149
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
1150
+ diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
1151
+ diagramObjectPoint.diagramObject = diagramObject;
1152
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1153
+ // this.activeDiagram.addDiagramObject(diagramObject);
1154
+ }
1155
+ DLConverterI7.addCimObjects(diagramObject);
1156
+ }
1157
+ const clonedAnfDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(anfDiagramObject);
1158
+ clonedAnfDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1159
+ const clonedEndDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(endDiagramObject);
1160
+ clonedEndDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1161
+ DLConverterI7.addCimObjects(clonedAnfDiagramObject, clonedEndDiagramObject);
1152
1162
  }
1153
- const clonedAnfDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(anfDiagramObject);
1154
- clonedAnfDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1155
- const clonedEndDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(endDiagramObject);
1156
- clonedEndDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1157
- DLConverterI7.addCimObjects(clonedAnfDiagramObject, clonedEndDiagramObject);
1158
1163
  }
1159
1164
  }
1160
- }
1161
- else {
1162
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_LEITUNG} oder ${integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT} ist nicht vorhanden.`);
1163
- }
1165
+ else {
1166
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_LEITUNG} oder ${integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT} ist nicht vorhanden.`);
1167
+ }
1168
+ });
1164
1169
  }
1165
- async convertSchemaQuerzweige(variantenNr, onlyEingeblendet) {
1166
- const whereIDs = [...DLConverterI7.i7ID2DbNsgObjectInFrame.keys()].map(arg => DLConverterI7.parseSchemaKeyObject(arg).i7ID);
1167
- // const whereIDs = [...integral7.i7SchemaID2Type.keys()].map(value => DLUtilFunctions.parseSchemaKey(value).id);
1168
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
1169
- const results = await this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_QUERZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG), whereIDs));
1170
- let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1171
- for (const i7Data of filteredResults) {
1172
- const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_QUERZWEIG);
1173
- const referenceObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.bezugsobjekt, variantenNr });
1174
- const referenceObjType = DLConverterI7.i7ID2Type.get(referenceObjKey);
1175
- const referenceObj = DLConverterI7.getDbNsgObjectByID(referenceObjKey);
1176
- let refXPos = 0;
1177
- let refYPos = 0;
1178
- let xPos = i7Data.xrel;
1179
- let yPos = i7Data.yrel;
1180
- let refCNNodeUUID = undefined;
1181
- // const querzweigType = this.inputArgs.integralID2Type.get(i7Data.querzweig);
1182
- // if (querzweigType === undefined) {
1183
- // continue; //ignore Querzweig if querzweigType is not defined.
1184
- // }
1185
- let nsgQuerzweigWidth;
1186
- let nsgQuerzweigHeight;
1187
- // if (querzweigType === Integral7TableNames.HGUE_KOPFSTATION_VSC || querzweigType === Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH) {
1188
- // nsgQuerzweigWidth = NsgConstants.HGUE_QUERZWEIG_OBJ_WIDTH;
1189
- // nsgQuerzweigHeight = NsgConstants.HGUE_QUERZWEIG_OBJ_HEIGHT;
1190
- // } else {
1191
- nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1192
- nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1193
- // }
1194
- if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1195
- const nsgSchaltfeld = referenceObj;
1196
- refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1197
- const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1198
- if (referenceDiagramObject === undefined)
1199
- continue;
1200
- refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1201
- refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1202
- xPos += refXPos;
1203
- yPos += refYPos;
1204
- // additional positioning needed based on the orientation of the bay
1205
- switch (nsgSchaltfeld.orientation) {
1206
- case 3: // Left-Direction
1207
- xPos += nsgQuerzweigWidth / 2;
1208
- yPos -= nsgQuerzweigHeight / 2;
1209
- break;
1210
- case 0: // Top-Direction
1211
- xPos -= nsgQuerzweigWidth / 2;
1212
- yPos += nsgQuerzweigHeight / 2;
1213
- break;
1214
- case 1: // Right-Direction
1215
- xPos += nsgQuerzweigWidth / 2;
1216
- yPos -= nsgQuerzweigHeight / 2;
1217
- // subtract width of bay from x coordinate
1218
- xPos -= nsgSchaltfeld.hoehe;
1219
- break;
1220
- case 2: // Bottom-Direction
1221
- xPos -= nsgQuerzweigWidth / 2;
1222
- yPos += nsgQuerzweigHeight / 2;
1223
- // subtract width from y coordinate
1224
- yPos -= nsgSchaltfeld.hoehe;
1225
- break;
1170
+ convertSchemaQuerzweige(variantenNr, onlyEingeblendet) {
1171
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1172
+ const whereIDs = [...DLConverterI7.i7ID2DbNsgObjectInFrame.keys()].map(arg => DLConverterI7.parseSchemaKeyObject(arg).i7ID);
1173
+ // const whereIDs = [...integral7.i7SchemaID2Type.keys()].map(value => DLUtilFunctions.parseSchemaKey(value).id);
1174
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
1175
+ const results = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_QUERZWEIG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG), whereIDs));
1176
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1177
+ for (const i7Data of filteredResults) {
1178
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_QUERZWEIG);
1179
+ const referenceObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.bezugsobjekt, variantenNr });
1180
+ const referenceObjType = DLConverterI7.i7ID2Type.get(referenceObjKey);
1181
+ const referenceObj = DLConverterI7.getDbNsgObjectByID(referenceObjKey);
1182
+ let refXPos = 0;
1183
+ let refYPos = 0;
1184
+ let xPos = i7Data.xrel;
1185
+ let yPos = i7Data.yrel;
1186
+ let refCNNodeUUID = undefined;
1187
+ // const querzweigType = this.inputArgs.integralID2Type.get(i7Data.querzweig);
1188
+ // if (querzweigType === undefined) {
1189
+ // continue; //ignore Querzweig if querzweigType is not defined.
1190
+ // }
1191
+ let nsgQuerzweigWidth;
1192
+ let nsgQuerzweigHeight;
1193
+ // if (querzweigType === Integral7TableNames.HGUE_KOPFSTATION_VSC || querzweigType === Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH) {
1194
+ // nsgQuerzweigWidth = NsgConstants.HGUE_QUERZWEIG_OBJ_WIDTH;
1195
+ // nsgQuerzweigHeight = NsgConstants.HGUE_QUERZWEIG_OBJ_HEIGHT;
1196
+ // } else {
1197
+ nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1198
+ nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1199
+ // }
1200
+ if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1201
+ const nsgSchaltfeld = referenceObj;
1202
+ refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1203
+ const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1204
+ if (referenceDiagramObject === undefined)
1205
+ continue;
1206
+ refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1207
+ refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1208
+ xPos += refXPos;
1209
+ yPos += refYPos;
1210
+ // additional positioning needed based on the orientation of the bay
1211
+ switch (nsgSchaltfeld.orientation) {
1212
+ case 3: // Left-Direction
1213
+ xPos += nsgQuerzweigWidth / 2;
1214
+ yPos -= nsgQuerzweigHeight / 2;
1215
+ break;
1216
+ case 0: // Top-Direction
1217
+ xPos -= nsgQuerzweigWidth / 2;
1218
+ yPos += nsgQuerzweigHeight / 2;
1219
+ break;
1220
+ case 1: // Right-Direction
1221
+ xPos += nsgQuerzweigWidth / 2;
1222
+ yPos -= nsgQuerzweigHeight / 2;
1223
+ // subtract width of bay from x coordinate
1224
+ xPos -= nsgSchaltfeld.hoehe;
1225
+ break;
1226
+ case 2: // Bottom-Direction
1227
+ xPos -= nsgQuerzweigWidth / 2;
1228
+ yPos += nsgQuerzweigHeight / 2;
1229
+ // subtract width from y coordinate
1230
+ yPos -= nsgSchaltfeld.hoehe;
1231
+ break;
1232
+ }
1226
1233
  }
1227
- }
1228
- else if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1229
- // xrel and yrel points to the bottom right of the element
1230
- refCNNodeUUID = DLConverterI7.i7ID2cimUUIDs.get(referenceObjKey).identifiedObjectUUID;
1231
- const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(refCNNodeUUID);
1232
- if (referenceDiagramObject === undefined)
1234
+ else if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1235
+ // xrel and yrel points to the bottom right of the element
1236
+ refCNNodeUUID = DLConverterI7.i7ID2cimUUIDs.get(referenceObjKey).identifiedObjectUUID;
1237
+ const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(refCNNodeUUID);
1238
+ if (referenceDiagramObject === undefined)
1239
+ continue;
1240
+ refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1241
+ refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1242
+ xPos += refXPos;
1243
+ yPos += refYPos;
1244
+ xPos -= nsgQuerzweigWidth / 2;
1245
+ yPos -= nsgQuerzweigHeight / 2;
1246
+ }
1247
+ else {
1248
+ this.logger.info(`unhandled reference type '${referenceObjType}' for id ${i7Data.bezugsobjekt} (nsg_nsgquerzweig.id ${i7Data.id})!`);
1233
1249
  continue;
1234
- refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1235
- refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1236
- xPos += refXPos;
1237
- yPos += refYPos;
1238
- xPos -= nsgQuerzweigWidth / 2;
1239
- yPos -= nsgQuerzweigHeight / 2;
1240
- }
1241
- else {
1242
- this.logger.info(`unhandled reference type '${referenceObjType}' for id ${i7Data.bezugsobjekt} (nsg_nsgquerzweig.id ${i7Data.id})!`);
1243
- continue;
1250
+ }
1251
+ const querzweigObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.querzweig);
1252
+ const querzweigDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
1253
+ xPosition: xPos,
1254
+ yPosition: yPos,
1255
+ rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(i7Data.ausrichtung),
1256
+ diagramObjectName: 'DiagramObject',
1257
+ identifiedObjectUUID: querzweigObjectUUID,
1258
+ diagramUUID: this.activeDiagram.getUUID()
1259
+ });
1260
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1261
+ identifiedObjectUUID: querzweigObjectUUID,
1262
+ diagramObjectUUID: querzweigDiagramObject.getUUID()
1263
+ });
1264
+ DLConverterI7.addCimObjects(querzweigDiagramObject);
1244
1265
  }
1245
- const querzweigObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.querzweig);
1246
- const querzweigDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
1247
- xPosition: xPos,
1248
- yPosition: yPos,
1249
- rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(i7Data.ausrichtung),
1250
- diagramObjectName: 'DiagramObject',
1251
- identifiedObjectUUID: querzweigObjectUUID,
1252
- diagramUUID: this.activeDiagram.getUUID()
1253
- });
1254
- DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1255
- identifiedObjectUUID: querzweigObjectUUID,
1256
- diagramObjectUUID: querzweigDiagramObject.getUUID()
1257
- });
1258
- DLConverterI7.addCimObjects(querzweigDiagramObject);
1259
1266
  }
1260
- }
1261
- else {
1262
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_QUERZWEIG} ist nicht vorhanden.`);
1263
- }
1267
+ else {
1268
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_QUERZWEIG} ist nicht vorhanden.`);
1269
+ }
1270
+ });
1264
1271
  }
1265
1272
  convertSchemaTerminals() {
1266
1273
  const exportedTerminals = new Set();
@@ -1417,12 +1424,33 @@ class DLConverterI7 {
1417
1424
  getAvailableColumnNames(tableName) {
1418
1425
  return this.i7TableName2Table.get(tableName).columnNames;
1419
1426
  }
1420
- async runAndLogPerformance(func, ...args) {
1421
- const startTime = perf_hooks_1.performance.now();
1422
- await func.apply(this, args);
1423
- this.logger.debug(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1424
- console.log(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1427
+ runAndLogPerformance(func, ...args) {
1428
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1429
+ const startTime = perf_hooks_1.performance.now();
1430
+ yield func.apply(this, args);
1431
+ this.logger.debug(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1432
+ console.log(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1433
+ });
1425
1434
  }
1426
1435
  }
1427
1436
  exports.DLConverterI7 = DLConverterI7;
1437
+ /** key: VariantenNr (integral7) | value: corresponding diagram */
1438
+ DLConverterI7.variantenNr2Diagram = new Map();
1439
+ /** key: Data-Type | value: Array of JSON-stringified I7SchemaKeyObjects */
1440
+ DLConverterI7.type2i7IDs = new Map();
1441
+ /** key: JSON-stringified I7SchemaKeyObject | value: CimUUIDsEntry */
1442
+ DLConverterI7.i7ID2cimUUIDs = new Map();
1443
+ /** key: JSON-stringified I7SchemaKeyObject | value: Data-Type */
1444
+ DLConverterI7.i7ID2Type = new Map();
1445
+ /** key: JSON-stringified I7SchemaKeyObject | value: schema database object (integral) */
1446
+ DLConverterI7.i7ID2DbNsgObject = new Map();
1447
+ /** key: uuid of cim-net object or diagram object | value: JSON-stringified I7SchemaKeyObject */
1448
+ DLConverterI7.cimUUID2i7ID = new Map();
1449
+ DLConverterI7.cimUUID2Object = new Map();
1450
+ DLConverterI7.cimUUID2DiagramObject = new Map();
1451
+ /** key: JSON-stringified I7SchemaKeyObject | value: schema database object (integral) */
1452
+ DLConverterI7.i7ID2DbNsgObjectInFrame = new Map();
1453
+ /** this flag is being used for testings, so that the data is not being purged and can be simply checked afterwards */
1454
+ DLConverterI7.purgeData = true;
1455
+ DLConverterI7.cimModelObjects = new ModelContainer_1.ModelContainer();
1428
1456
  //# sourceMappingURL=dl-converter-i7.js.map