@enervance/insight-cim-model 0.0.60 → 0.0.62

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 (494) hide show
  1. package/dist/analysis/analysis-neplan/digi-ons.js +7 -7
  2. package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -1
  3. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +11 -11
  4. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  5. package/dist/config/westnetz-neplan/callbacks/cb-psr.js +2 -3
  6. package/dist/config/westnetz-neplan/callbacks/cb-psr.js.map +1 -1
  7. package/dist/config/westnetz-neplan/neplan-load.config.js +1 -0
  8. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  9. package/dist/constants/cim-class-definition.js +10 -0
  10. package/dist/constants/cim-class-definition.js.map +1 -1
  11. package/dist/constants/cim-class-names.d.ts +5 -0
  12. package/dist/constants/cim-class-names.js +5 -0
  13. package/dist/constants/cim-class-names.js.map +1 -1
  14. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js +30 -30
  15. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js.map +1 -1
  16. package/dist/converter/integral7/ConverterIntegral7.js +523 -527
  17. package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
  18. package/dist/converter/integral7/converter-i7.d.ts +11 -20
  19. package/dist/converter/integral7/converter-i7.js +918 -1709
  20. package/dist/converter/integral7/converter-i7.js.map +1 -1
  21. package/dist/converter/integral7/dl-convert/db/data.types.d.ts +9 -0
  22. package/dist/converter/integral7/dl-convert/db/data.types.js +14 -0
  23. package/dist/converter/integral7/dl-convert/db/data.types.js.map +1 -0
  24. package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +110 -0
  25. package/dist/converter/integral7/dl-convert/db/database.interface.types.js +3 -0
  26. package/dist/converter/integral7/dl-convert/db/database.interface.types.js.map +1 -0
  27. package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.d.ts +9 -0
  28. package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.js +3 -0
  29. package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.js.map +1 -0
  30. package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +96 -0
  31. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +1280 -0
  32. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -0
  33. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.d.ts +4 -0
  34. package/dist/converter/integral7/interface-i7/export-frame-i7.js +21 -21
  35. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  36. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.d.ts +6 -5
  37. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js.map +1 -1
  38. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +22 -7
  39. package/dist/converter/integral7/model/dl-utils/util-functions.js +161 -120
  40. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  41. package/dist/converter/integral7/model/integral/Kopfstation.d.ts +1 -1
  42. package/dist/converter/integral7/model/interfaces.d.ts +27 -0
  43. package/dist/converter/integral7/model/interfaces.js.map +1 -1
  44. package/dist/converter/integral7/sql/integral.sql.d.ts +87 -1
  45. package/dist/converter/integral7/sql/integral.sql.js +109 -8
  46. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  47. package/dist/converter/integral7/utils-cgmes-export.js +2 -1
  48. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  49. package/dist/converter/integral7/utils-schema.js +3 -3
  50. package/dist/converter/integral7/utils-schema.js.map +1 -1
  51. package/dist/converter/integral7/utils-trafo3w.d.ts +2 -1
  52. package/dist/converter/integral7/utils-trafo3w.js +22 -1
  53. package/dist/converter/integral7/utils-trafo3w.js.map +1 -1
  54. package/dist/converter/integral7/utils.d.ts +7 -5
  55. package/dist/converter/integral7/utils.js +60 -27
  56. package/dist/converter/integral7/utils.js.map +1 -1
  57. package/dist/data-structures/graph/graph-util.js +2 -2
  58. package/dist/data-structures/graph/graph-util.js.map +1 -1
  59. package/dist/data-structures/tree/GraphTree.js.map +1 -1
  60. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
  61. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js +10 -10
  62. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
  63. package/dist/etl/etl-neplan/etl-neplan-csv.js +73 -73
  64. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  65. package/dist/etl/etl-neplan/etl-neplan-feederline.js +17 -17
  66. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  67. package/dist/etl/etl-neplan/etl-neplan-geo.js +33 -33
  68. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  69. package/dist/etl/etl-neplan/etl-neplan-util.js +2 -2
  70. package/dist/etl/etl-neplan/etl-neplan-util.js.map +1 -1
  71. package/dist/etl/etl-neplan/etl-neplan.js +21 -21
  72. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  73. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +27 -27
  74. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  75. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js +1 -1
  76. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js.map +1 -1
  77. package/dist/grid-validation/grid-validation.js +3 -3
  78. package/dist/grid-validation/grid-validation.js.map +1 -1
  79. package/dist/index.d.ts +8 -1
  80. package/dist/index.js +22 -2
  81. package/dist/index.js.map +1 -1
  82. package/dist/model/assetinfo/PowerTransformerInfo.js +1 -1
  83. package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
  84. package/dist/model/assetinfo/SwitchInfo.js.map +1 -1
  85. package/dist/model/assetinfo/TapChangerInfo.js +30 -30
  86. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  87. package/dist/model/assetinfo/TransformerEndInfo.js +9 -9
  88. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  89. package/dist/model/assetinfo/WireInfo.js +6 -6
  90. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  91. package/dist/model/assets/Analytic.js +4 -4
  92. package/dist/model/assets/Analytic.js.map +1 -1
  93. package/dist/model/assets/AnalyticScore.js +2 -2
  94. package/dist/model/assets/AnalyticScore.js.map +1 -1
  95. package/dist/model/assets/Asset.js +5 -5
  96. package/dist/model/assets/Asset.js.map +1 -1
  97. package/dist/model/assets/AssetDeployment.js +2 -2
  98. package/dist/model/assets/AssetDeployment.js.map +1 -1
  99. package/dist/model/assets/AssetHealthEvent.js +1 -1
  100. package/dist/model/assets/AssetHealthEvent.js.map +1 -1
  101. package/dist/model/assets/AssetOrganisationRole.js +1 -1
  102. package/dist/model/assets/AssetOrganisationRole.js.map +1 -1
  103. package/dist/model/assets/AssetOwner.js.map +1 -1
  104. package/dist/model/assets/AssetUser.js +1 -1
  105. package/dist/model/assets/AssetUser.js.map +1 -1
  106. package/dist/model/assets/DeploymentDate.js +2 -2
  107. package/dist/model/assets/DeploymentDate.js.map +1 -1
  108. package/dist/model/assets/Facility.js +1 -1
  109. package/dist/model/assets/Facility.js.map +1 -1
  110. package/dist/model/assets/HealthScore.js.map +1 -1
  111. package/dist/model/assets/LifecycleDate.js +2 -2
  112. package/dist/model/assets/LifecycleDate.js.map +1 -1
  113. package/dist/model/common/ActivityRecord.js +3 -3
  114. package/dist/model/common/ActivityRecord.js.map +1 -1
  115. package/dist/model/common/CoordinateSystem.js +3 -3
  116. package/dist/model/common/CoordinateSystem.js.map +1 -1
  117. package/dist/model/common/Location.js +5 -5
  118. package/dist/model/common/Location.js.map +1 -1
  119. package/dist/model/common/Organisation.js +1 -1
  120. package/dist/model/common/Organisation.js.map +1 -1
  121. package/dist/model/common/OrganisationRole.js +1 -1
  122. package/dist/model/common/OrganisationRole.js.map +1 -1
  123. package/dist/model/common/PositionPoint.js +10 -10
  124. package/dist/model/common/PositionPoint.js.map +1 -1
  125. package/dist/model/common/Status.js +1 -1
  126. package/dist/model/common/Status.js.map +1 -1
  127. package/dist/model/core/ACDCTerminal.js +6 -6
  128. package/dist/model/core/ACDCTerminal.js.map +1 -1
  129. package/dist/model/core/BaseVoltage.js +4 -4
  130. package/dist/model/core/BaseVoltage.js.map +1 -1
  131. package/dist/model/core/Bay.js +3 -3
  132. package/dist/model/core/Bay.js.map +1 -1
  133. package/dist/model/core/ConductingEquipment.js +3 -3
  134. package/dist/model/core/ConductingEquipment.js.map +1 -1
  135. package/dist/model/core/ConnectivityNode.js +23 -23
  136. package/dist/model/core/ConnectivityNode.js.map +1 -1
  137. package/dist/model/core/Curve.js +4 -4
  138. package/dist/model/core/Curve.js.map +1 -1
  139. package/dist/model/core/CurveData.js +6 -6
  140. package/dist/model/core/CurveData.js.map +1 -1
  141. package/dist/model/core/Equipment.js +8 -8
  142. package/dist/model/core/Equipment.js.map +1 -1
  143. package/dist/model/core/Feeder.js +5 -5
  144. package/dist/model/core/Feeder.js.map +1 -1
  145. package/dist/model/core/GeographicalRegion.js +1 -1
  146. package/dist/model/core/GeographicalRegion.js.map +1 -1
  147. package/dist/model/core/IdentifiedObject.js +13 -13
  148. package/dist/model/core/IdentifiedObject.js.map +1 -1
  149. package/dist/model/core/PSRType.js +1 -1
  150. package/dist/model/core/PSRType.js.map +1 -1
  151. package/dist/model/core/PowerSystemResource.js +3 -3
  152. package/dist/model/core/PowerSystemResource.js.map +1 -1
  153. package/dist/model/core/SubGeographicalRegion.js +2 -2
  154. package/dist/model/core/SubGeographicalRegion.js.map +1 -1
  155. package/dist/model/core/Substation.js +3 -3
  156. package/dist/model/core/Substation.js.map +1 -1
  157. package/dist/model/core/Terminal.js +12 -12
  158. package/dist/model/core/Terminal.js.map +1 -1
  159. package/dist/model/core/VoltageLevel.js +9 -9
  160. package/dist/model/core/VoltageLevel.js.map +1 -1
  161. package/dist/model/dc/ACDCConverter.js +19 -19
  162. package/dist/model/dc/ACDCConverter.js.map +1 -1
  163. package/dist/model/dc/ACDCConverterDCTerminal.js +3 -3
  164. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  165. package/dist/model/dc/CsConverter.js +16 -16
  166. package/dist/model/dc/CsConverter.js.map +1 -1
  167. package/dist/model/dc/DCBaseTerminal.js +2 -2
  168. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  169. package/dist/model/dc/DCConverterUnit.js +3 -3
  170. package/dist/model/dc/DCConverterUnit.js.map +1 -1
  171. package/dist/model/dc/DCLine.js +18 -18
  172. package/dist/model/dc/DCLine.js.map +1 -1
  173. package/dist/model/dc/DCLineSegment.js +30 -30
  174. package/dist/model/dc/DCLineSegment.js.map +1 -1
  175. package/dist/model/dc/DCNode.js +2 -2
  176. package/dist/model/dc/DCNode.js.map +1 -1
  177. package/dist/model/dc/DCTerminal.js +2 -2
  178. package/dist/model/dc/DCTerminal.js.map +1 -1
  179. package/dist/model/dc/VsConverter.js +16 -16
  180. package/dist/model/dc/VsConverter.js.map +1 -1
  181. package/dist/model/diagram/Diagram.js +4 -4
  182. package/dist/model/diagram/Diagram.js.map +1 -1
  183. package/dist/model/diagram/DiagramObject.js +11 -11
  184. package/dist/model/diagram/DiagramObject.js.map +1 -1
  185. package/dist/model/diagram/DiagramObjectPoint.js +10 -10
  186. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  187. package/dist/model/diagram/DiagramStyle.js +2 -2
  188. package/dist/model/diagram/DiagramStyle.js.map +1 -1
  189. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +1 -1
  190. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -1
  191. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +1 -1
  192. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -1
  193. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +13 -13
  194. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -1
  195. package/dist/model/equivalents/EquivalentBranch.js +48 -48
  196. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  197. package/dist/model/equivalents/EquivalentInjection.js +25 -25
  198. package/dist/model/equivalents/EquivalentInjection.js.map +1 -1
  199. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js.map +1 -1
  200. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js.map +1 -1
  201. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js.map +1 -1
  202. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js.map +1 -1
  203. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +9 -9
  204. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -1
  205. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js.map +1 -1
  206. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js.map +1 -1
  207. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +15 -15
  208. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -1
  209. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js.map +1 -1
  210. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js.map +1 -1
  211. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js.map +1 -1
  212. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +11 -11
  213. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -1
  214. package/dist/model/extensions/amprion/assets/AMPRIONState.js +1 -1
  215. package/dist/model/extensions/amprion/assets/AMPRIONState.js.map +1 -1
  216. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js +3 -2
  217. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js.map +1 -1
  218. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +17 -17
  219. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -1
  220. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +21 -21
  221. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -1
  222. package/dist/model/extensions/amprion/core/AMPRIONBay.js +5 -5
  223. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  224. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +3 -3
  225. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  226. package/dist/model/extensions/amprion/core/AMPRIONLine.js +4 -4
  227. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
  228. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +6 -6
  229. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -1
  230. package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +16 -0
  231. package/dist/model/extensions/amprion/model/AMPRIONModel.js +32 -0
  232. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -1
  233. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.d.ts +8 -0
  234. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js +45 -0
  235. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js.map +1 -0
  236. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.d.ts +8 -0
  237. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js +45 -0
  238. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js.map +1 -0
  239. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.d.ts +8 -0
  240. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js +45 -0
  241. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js.map +1 -0
  242. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.d.ts +8 -0
  243. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js +45 -0
  244. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js.map +1 -0
  245. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +20 -20
  246. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  247. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js +2 -2
  248. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js.map +1 -1
  249. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js.map +1 -1
  250. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js +2 -2
  251. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js.map +1 -1
  252. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +7 -7
  253. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  254. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js +7 -7
  255. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
  256. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +2 -2
  257. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -1
  258. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js +2 -2
  259. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js.map +1 -1
  260. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js +3 -3
  261. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
  262. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +15 -15
  263. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
  264. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.d.ts +8 -0
  265. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +29 -21
  266. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
  267. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js +5 -5
  268. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js.map +1 -1
  269. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js +5 -5
  270. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js.map +1 -1
  271. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +27 -27
  272. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
  273. package/dist/model/extensions/enervance/assets/EVAnalytic.js +1 -1
  274. package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -1
  275. package/dist/model/extensions/enervance/assets/EVImportanceScore.js.map +1 -1
  276. package/dist/model/extensions/enervance/assets/EVIndicator.js +1 -1
  277. package/dist/model/extensions/enervance/assets/EVIndicator.js.map +1 -1
  278. package/dist/model/extensions/enervance/assets/EVWireObject.js +4 -4
  279. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
  280. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  281. package/dist/model/extensions/enervance/model/EVModel.js +3 -3
  282. package/dist/model/extensions/enervance/model/EVModel.js.map +1 -1
  283. package/dist/model/extensions/enervance/operations/EVTerminalAction.js +3 -3
  284. package/dist/model/extensions/enervance/operations/EVTerminalAction.js.map +1 -1
  285. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +1 -1
  286. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  287. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +3 -3
  288. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  289. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js +6 -6
  290. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js.map +1 -1
  291. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js +3 -3
  292. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js.map +1 -1
  293. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js +4 -4
  294. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js.map +1 -1
  295. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +2 -2
  296. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
  297. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js +5 -5
  298. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js.map +1 -1
  299. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js +5 -5
  300. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js.map +1 -1
  301. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +4 -4
  302. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
  303. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +1 -1
  304. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  305. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +5 -5
  306. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
  307. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js +1 -1
  308. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -1
  309. package/dist/model/extensions/neplan-westnetz/core/WNBay.js +1 -1
  310. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -1
  311. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +4 -4
  312. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  313. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +4 -4
  314. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  315. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js +2 -2
  316. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -1
  317. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js +1 -1
  318. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -1
  319. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +3 -3
  320. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
  321. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +22 -22
  322. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  323. package/dist/model/generation/FossilFuel.js +3 -3
  324. package/dist/model/generation/FossilFuel.js.map +1 -1
  325. package/dist/model/generation/GeneratingUnit.js +18 -18
  326. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  327. package/dist/model/generation/HydroGeneratingUnit.js +2 -2
  328. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  329. package/dist/model/generation/SolarGeneratingUnit.js +1 -1
  330. package/dist/model/generation/SolarGeneratingUnit.js.map +1 -1
  331. package/dist/model/generation/ThermalGeneratingUnit.js +1 -1
  332. package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
  333. package/dist/model/generation/WindGeneratingUnit.js +2 -2
  334. package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
  335. package/dist/model/loadmodel/ConformLoad.js +35 -35
  336. package/dist/model/loadmodel/ConformLoad.js.map +1 -1
  337. package/dist/model/loadmodel/ConformLoadGroup.js +23 -23
  338. package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
  339. package/dist/model/loadmodel/LoadArea.js +22 -22
  340. package/dist/model/loadmodel/LoadArea.js.map +1 -1
  341. package/dist/model/loadmodel/LoadGroup.js +1 -1
  342. package/dist/model/loadmodel/LoadGroup.js.map +1 -1
  343. package/dist/model/loadmodel/SubLoadArea.js +24 -24
  344. package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
  345. package/dist/model/model/Model.d.ts +6 -1
  346. package/dist/model/model/Model.js +24 -14
  347. package/dist/model/model/Model.js.map +1 -1
  348. package/dist/model/model-operations/ModelOperationDescription.d.ts +5 -1
  349. package/dist/model/model-operations/ModelOperationDescription.js +36 -1
  350. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -1
  351. package/dist/model/operationallimits/CurrentLimit.js +4 -4
  352. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  353. package/dist/model/operationallimits/OperationalLimit.js +4 -4
  354. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  355. package/dist/model/operationallimits/OperationalLimitSet.js +5 -5
  356. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  357. package/dist/model/operationallimits/OperationalLimitType.js +4 -4
  358. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  359. package/dist/model/operationallimits/VoltageLimit.js +2 -2
  360. package/dist/model/operationallimits/VoltageLimit.js.map +1 -1
  361. package/dist/model/operations/ControlArea.js +2 -2
  362. package/dist/model/operations/ControlArea.js.map +1 -1
  363. package/dist/model/operations/Outage.js +1 -1
  364. package/dist/model/operations/Outage.js.map +1 -1
  365. package/dist/model/operations/SwitchAction.js +3 -3
  366. package/dist/model/operations/SwitchAction.js.map +1 -1
  367. package/dist/model/operations/SwitchingPlan.js +3 -3
  368. package/dist/model/operations/SwitchingPlan.js.map +1 -1
  369. package/dist/model/statevariables/SvPowerFlow.js +5 -5
  370. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  371. package/dist/model/statevariables/SvStatus.js +4 -4
  372. package/dist/model/statevariables/SvStatus.js.map +1 -1
  373. package/dist/model/statevariables/SvTapStep.js +4 -4
  374. package/dist/model/statevariables/SvTapStep.js.map +1 -1
  375. package/dist/model/statevariables/SvVoltage.js +1 -1
  376. package/dist/model/statevariables/SvVoltage.js.map +1 -1
  377. package/dist/model/topology/TopologicalIsland.js +1 -1
  378. package/dist/model/topology/TopologicalNode.js +7 -7
  379. package/dist/model/topology/TopologicalNode.js.map +1 -1
  380. package/dist/model/wires/ACLineSegment.js +24 -24
  381. package/dist/model/wires/ACLineSegment.js.map +1 -1
  382. package/dist/model/wires/AsynchronousMachine.js +18 -18
  383. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  384. package/dist/model/wires/Breaker.js +1 -1
  385. package/dist/model/wires/Breaker.js.map +1 -1
  386. package/dist/model/wires/BusbarSection.js +3 -3
  387. package/dist/model/wires/BusbarSection.js.map +1 -1
  388. package/dist/model/wires/Clamp.js +1 -1
  389. package/dist/model/wires/Conductor.js +3 -3
  390. package/dist/model/wires/Conductor.js.map +1 -1
  391. package/dist/model/wires/Disconnector.js +2 -2
  392. package/dist/model/wires/Disconnector.js.map +1 -1
  393. package/dist/model/wires/EarthFaultCompensator.js +2 -2
  394. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  395. package/dist/model/wires/EnergyConsumer.js +12 -12
  396. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  397. package/dist/model/wires/EnergySource.js +17 -17
  398. package/dist/model/wires/EnergySource.js.map +1 -1
  399. package/dist/model/wires/ExternalNetworkInjection.js +39 -39
  400. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  401. package/dist/model/wires/Ground.js +1 -1
  402. package/dist/model/wires/GroundDisconnector.js +1 -1
  403. package/dist/model/wires/GroundingImpedance.js +2 -2
  404. package/dist/model/wires/GroundingImpedance.js.map +1 -1
  405. package/dist/model/wires/Junction.js +2 -2
  406. package/dist/model/wires/Junction.js.map +1 -1
  407. package/dist/model/wires/Line.js +4 -4
  408. package/dist/model/wires/Line.js.map +1 -1
  409. package/dist/model/wires/LinearShuntCompensator.js +11 -11
  410. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  411. package/dist/model/wires/LoadBreakSwitch.js +1 -1
  412. package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
  413. package/dist/model/wires/PetersenCoil.js +9 -9
  414. package/dist/model/wires/PetersenCoil.js.map +1 -1
  415. package/dist/model/wires/PhaseTapChanger.js +1 -1
  416. package/dist/model/wires/PhaseTapChanger.js.map +1 -1
  417. package/dist/model/wires/PhaseTapChangerAsymmetrical.js +3 -3
  418. package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -1
  419. package/dist/model/wires/PhaseTapChangerLinear.js +7 -7
  420. package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -1
  421. package/dist/model/wires/PhaseTapChangerNonLinear.js +6 -6
  422. package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -1
  423. package/dist/model/wires/PhaseTapChangerSymmetrical.js +1 -1
  424. package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -1
  425. package/dist/model/wires/PhaseTapChangerTable.js +1 -1
  426. package/dist/model/wires/PhaseTapChangerTable.js.map +1 -1
  427. package/dist/model/wires/PhaseTapChangerTablePoint.js +4 -4
  428. package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -1
  429. package/dist/model/wires/PhaseTapChangerTabular.js +2 -2
  430. package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -1
  431. package/dist/model/wires/PowerTransformer.js +4 -4
  432. package/dist/model/wires/PowerTransformer.js.map +1 -1
  433. package/dist/model/wires/PowerTransformerEnd.js +20 -20
  434. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  435. package/dist/model/wires/RatioTapChanger.js +5 -5
  436. package/dist/model/wires/RatioTapChanger.js.map +1 -1
  437. package/dist/model/wires/RatioTapChangerTable.js +1 -1
  438. package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
  439. package/dist/model/wires/RatioTapChangerTablePoint.js +3 -3
  440. package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
  441. package/dist/model/wires/ReactiveCapabilityCurve.js +1 -1
  442. package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
  443. package/dist/model/wires/Recloser.js +1 -1
  444. package/dist/model/wires/RegulatingCondEq.js +5 -5
  445. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  446. package/dist/model/wires/RegulatingControl.js +19 -19
  447. package/dist/model/wires/RegulatingControl.js.map +1 -1
  448. package/dist/model/wires/RotatingMachine.js +15 -15
  449. package/dist/model/wires/RotatingMachine.js.map +1 -1
  450. package/dist/model/wires/SeriesCompensator.js +23 -23
  451. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  452. package/dist/model/wires/ShuntCompensator.js +13 -13
  453. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  454. package/dist/model/wires/StaticVarCompensator.js +13 -13
  455. package/dist/model/wires/StaticVarCompensator.js.map +1 -1
  456. package/dist/model/wires/Switch.js +7 -7
  457. package/dist/model/wires/Switch.js.map +1 -1
  458. package/dist/model/wires/SynchronousMachine.js +45 -45
  459. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  460. package/dist/model/wires/TapChanger.js +16 -16
  461. package/dist/model/wires/TapChanger.js.map +1 -1
  462. package/dist/model/wires/TapChangerControl.js +1 -1
  463. package/dist/model/wires/TapChangerControl.js.map +1 -1
  464. package/dist/model/wires/TapChangerTablePoint.js +12 -12
  465. package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
  466. package/dist/model/wires/TransformerEnd.js +9 -9
  467. package/dist/model/wires/TransformerEnd.js.map +1 -1
  468. package/dist/package.json +16 -16
  469. package/dist/util/collection/util-dot.js +1 -1
  470. package/dist/util/collection/util-dot.js.map +1 -1
  471. package/dist/util/collection/util-excel.js.map +1 -1
  472. package/dist/util/collection/util-graph.d.ts +1 -1
  473. package/dist/util/collection/util-graph.js +3 -4
  474. package/dist/util/collection/util-graph.js.map +1 -1
  475. package/dist/util/collection/util-graph2tree.d.ts +5 -2
  476. package/dist/util/collection/util-graph2tree.js +63 -8
  477. package/dist/util/collection/util-graph2tree.js.map +1 -1
  478. package/dist/util/collection/util-tree.d.ts +1 -1
  479. package/dist/util/database/mysql-controller.js +1 -1
  480. package/dist/util/database/mysql-controller.js.map +1 -1
  481. package/dist/util/sparql/sparql-utils.js.map +1 -1
  482. package/dist/util/util-create.js +16 -13
  483. package/dist/util/util-create.js.map +1 -1
  484. package/dist/util/util-test.js +4 -4
  485. package/dist/util/util-test.js.map +1 -1
  486. package/dist/util/util-topology.js +1 -1
  487. package/dist/util/util-topology.js.map +1 -1
  488. package/dist/util/utils.js +5 -5
  489. package/dist/util/utils.js.map +1 -1
  490. package/dist/util/xml/xml.parser.js +5 -5
  491. package/dist/util/xml/xml.parser.js.map +1 -1
  492. package/dist/util/xml/xml.serializer.js +8 -8
  493. package/dist/util/xml/xml.serializer.js.map +1 -1
  494. package/package.json +2 -2
@@ -0,0 +1,1280 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DLConverterI7 = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const integral_sql_1 = require("../sql/integral.sql");
6
+ const Diagram_1 = require("../../../model/diagram/Diagram");
7
+ const utils_1 = require("../../../util/utils");
8
+ const OrientationKind_1 = require("../../../model/diagram/OrientationKind");
9
+ const cim_constants_1 = require("../../../constants/cim-constants");
10
+ const DiagramStyle_1 = require("../../../model/diagram/DiagramStyle");
11
+ const perf_hooks_1 = require("perf_hooks");
12
+ const util_functions_1 = require("../model/dl-utils/util-functions");
13
+ const constants_1 = require("../model/dl-utils/constants");
14
+ const DiagramObject_1 = require("../../../model/diagram/DiagramObject");
15
+ const DiagramObjectPoint_1 = require("../../../model/diagram/DiagramObjectPoint");
16
+ const utils_schema_1 = require("../utils-schema");
17
+ const data_types_1 = require("./db/data.types");
18
+ const Model_1 = require("../../../model/model/Model");
19
+ const ConnectivityNode_1 = require("../../../model/core/ConnectivityNode");
20
+ const ConductingEquipment_1 = require("../../../model/core/ConductingEquipment");
21
+ const BusbarSection_1 = require("../../../model/wires/BusbarSection");
22
+ const ACLineSegment_1 = require("../../../model/wires/ACLineSegment");
23
+ class DLConverterI7 {
24
+ constructor() {
25
+ }
26
+ static addCimObjects(...objs) {
27
+ for (const obj of objs) {
28
+ DLConverterI7.cimUUID2Object.set(obj.getUUID(), obj);
29
+ if (obj instanceof DiagramObject_1.DiagramObject) {
30
+ DLConverterI7.cimUUID2Object.set(obj.getIdentifiedObjectUUID(), obj);
31
+ DLConverterI7.cimUUID2DiagramObject.set(obj.getUUID(), obj);
32
+ DLConverterI7.cimUUID2DiagramObject.set(obj.getIdentifiedObjectUUID(), obj);
33
+ }
34
+ }
35
+ }
36
+ static getCimObjectByUUID(uuid) {
37
+ return DLConverterI7.cimUUID2Object.get(uuid);
38
+ }
39
+ static getDiagramObjectByUUID(uuid) {
40
+ return DLConverterI7.cimUUID2DiagramObject.get(uuid);
41
+ }
42
+ static createSchemaKeyObject(arg) {
43
+ return JSON.stringify(arg);
44
+ }
45
+ static parseSchemaKeyObject(key) {
46
+ return JSON.parse(key);
47
+ }
48
+ static addIDsRelationMapping(i7ID, cimUUIDs) {
49
+ DLConverterI7.i7ID2cimUUIDs.set(i7ID, cimUUIDs);
50
+ if (cimUUIDs.identifiedObjectUUID) {
51
+ DLConverterI7.cimUUID2i7ID.set(cimUUIDs.identifiedObjectUUID, i7ID);
52
+ }
53
+ if (cimUUIDs.diagramObjectUUID) {
54
+ DLConverterI7.cimUUID2i7ID.set(cimUUIDs.diagramObjectUUID, i7ID);
55
+ }
56
+ }
57
+ static addID2TypeMapping(i7ID, tpe) {
58
+ DLConverterI7.i7ID2Type.set(i7ID, tpe);
59
+ if (!DLConverterI7.type2i7IDs.has(tpe)) {
60
+ DLConverterI7.type2i7IDs.set(tpe, []);
61
+ }
62
+ DLConverterI7.type2i7IDs.get(tpe).push(i7ID);
63
+ }
64
+ static addID2DbNsgObjectMapping(i7ID, dbNsgObject) {
65
+ DLConverterI7.i7ID2DbNsgObject.set(i7ID, dbNsgObject);
66
+ DLConverterI7.i7ID2DbNsgObjectInFrame.set(i7ID, dbNsgObject);
67
+ }
68
+ static getDbNsgObjectByID(i7ID) {
69
+ return DLConverterI7.i7ID2DbNsgObject.get(i7ID);
70
+ }
71
+ cleanUp() {
72
+ DLConverterI7.i7ID2DbNsgObjectInFrame.clear();
73
+ DLConverterI7.variantenNr2Diagram.clear();
74
+ if (!DLConverterI7.purgeData)
75
+ return;
76
+ DLConverterI7.type2i7IDs.clear();
77
+ DLConverterI7.cimUUID2i7ID.clear();
78
+ DLConverterI7.cimUUID2Object.clear();
79
+ }
80
+ prepare(mysqlController, logger) {
81
+ this.mysqlController = mysqlController;
82
+ this.logger = logger;
83
+ }
84
+ static getI7ID2DiagramObjectMap() {
85
+ const i7ID2DiagramObjectMap = new Map();
86
+ for (const i7ID2cimUUIDsEntry of DLConverterI7.i7ID2cimUUIDs.entries()) {
87
+ const diagramObject = DLConverterI7.cimUUID2DiagramObject.get(i7ID2cimUUIDsEntry[1].diagramObjectUUID);
88
+ i7ID2DiagramObjectMap.set(i7ID2cimUUIDsEntry[0], diagramObject);
89
+ }
90
+ return i7ID2DiagramObjectMap;
91
+ }
92
+ addCimObjects2Model(cimModel) {
93
+ for (const entry of DLConverterI7.cimUUID2Object.entries()) {
94
+ if (entry[1] instanceof Diagram_1.Diagram) {
95
+ cimModel.addDiagram(entry[1]);
96
+ }
97
+ else if (entry[1] instanceof DiagramObject_1.DiagramObject) {
98
+ cimModel.addDiagramObject(entry[1]);
99
+ }
100
+ }
101
+ }
102
+ convert(availableTablesWithColumnNames, onlyEingeblendet, args) {
103
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
+ this.inputArgs = args;
105
+ this.inputArgs.objects.forEach((value, key) => DLConverterI7.cimModelObjects.objects.set(key, value));
106
+ this.i7TableName2Table = new Map();
107
+ availableTablesWithColumnNames.forEach((value, key) => {
108
+ this.i7TableName2Table.set(key, { tableName: key, columnNames: value });
109
+ });
110
+ yield this.runAndLogPerformance(this.convertNsgVarianten);
111
+ let a = 0;
112
+ for (const entry of DLConverterI7.variantenNr2Diagram.entries()) {
113
+ ++a;
114
+ const variantenNr = entry[0];
115
+ this.activeDiagram = entry[1];
116
+ this.logger.debug(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
117
+ console.log(`Starte Konvertierung von Schema ${variantenNr} [${a}/${DLConverterI7.variantenNr2Diagram.size}]`);
118
+ const startTime = perf_hooks_1.performance.now();
119
+ const ret_val = yield this.convertSchemaStandorte(variantenNr, onlyEingeblendet, args.standortIDs);
120
+ this.logger.debug(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
121
+ console.log(`convertSchemaStandorte ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
122
+ if (ret_val) {
123
+ yield this.runAndLogPerformance(this.convertSchemaStandorte, variantenNr, onlyEingeblendet, args.standortIDs);
124
+ yield this.runAndLogPerformance(this.convertSchemaKnotenSo, variantenNr, onlyEingeblendet, args.knotenSoIDs);
125
+ yield this.runAndLogPerformance(this.convertSchemaSchaltanlage, variantenNr, onlyEingeblendet, args.schaltanlagenIDs);
126
+ yield this.runAndLogPerformance(this.convertSchemaSchaltanlagenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
127
+ yield this.runAndLogPerformance(this.convertSchemaSammelschienenAbschnitte, variantenNr, onlyEingeblendet, args.schaltanlagenAbschnittIDs);
128
+ yield this.runAndLogPerformance(this.convertSchemaSchaltfeldElemente, variantenNr, onlyEingeblendet, args.schaltfeldIDs);
129
+ yield this.runAndLogPerformance(this.convertSchemaQuerkupplungen, variantenNr, onlyEingeblendet, args.querkupplungIDs);
130
+ yield this.runAndLogPerformance(this.convertSchemaLaengskupplungen, variantenNr, onlyEingeblendet, args.laengskupplungIDs);
131
+ yield this.runAndLogPerformance(this.convertSchemaTransformatoren2W, variantenNr, onlyEingeblendet, args.powerTransformers);
132
+ yield this.runAndLogPerformance(this.convertSchemaTransformatoren3W, variantenNr, onlyEingeblendet, args.powerTransformers);
133
+ yield this.runAndLogPerformance(this.convertSchemaLeitungen, variantenNr, onlyEingeblendet);
134
+ yield this.runAndLogPerformance(this.convertSchemaQuerzweige, variantenNr, onlyEingeblendet);
135
+ yield this.runAndLogPerformance(this.convertSchemaTerminals);
136
+ }
137
+ }
138
+ });
139
+ }
140
+ convertNsgVarianten() {
141
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
142
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
143
+ const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZVARIANTEN, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZVARIANTEN), [2]));
144
+ for (const i7Data of result) {
145
+ const diagram = new Diagram_1.Diagram((0, utils_1.getUUID)(i7Data.guid), i7Data.name, String(i7Data.id));
146
+ diagram.orientation = OrientationKind_1.OrientationKind.negative;
147
+ diagram.diagramStyle = new DiagramStyle_1.DiagramStyle((0, utils_1.generateUUID)(), cim_constants_1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
148
+ DLConverterI7.addCimObjects(diagram);
149
+ DLConverterI7.variantenNr2Diagram.set(i7Data.id, diagram);
150
+ }
151
+ }
152
+ else {
153
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
154
+ }
155
+ });
156
+ }
157
+ static registerNsgObjectAndGetSchemaKay(i7Data, type, keyObject) {
158
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject(keyObject === undefined ?
159
+ { i7ID: i7Data.id, variantenNr: i7Data.variantennr }
160
+ : keyObject);
161
+ DLConverterI7.addID2TypeMapping(schemaObjKey, type);
162
+ DLConverterI7.addID2DbNsgObjectMapping(schemaObjKey, i7Data);
163
+ return schemaObjKey;
164
+ }
165
+ convertSchemaStandorte(variantenNr, onlyEingeblendet, standortIDs) {
166
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
167
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
168
+ 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));
169
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
170
+ for (const i7Data of filteredResults) {
171
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_STANDORT);
172
+ }
173
+ return filteredResults.length > 0;
174
+ }
175
+ return false;
176
+ });
177
+ }
178
+ convertSchemaKnotenSo(variantenNr, onlyEingeblendet, knotenSoIDs) {
179
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
180
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
181
+ 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));
182
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
183
+ for (const i7Data of filteredResults) {
184
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
185
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
186
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
187
+ if (nsgStandort === undefined) {
188
+ continue;
189
+ }
190
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.knotenso);
191
+ const width = constants_1.NsgConstants.KNOTENSO_WIDTH;
192
+ const height = constants_1.NsgConstants.KNOTENSO_HEIGHT;
193
+ const xParentRel = nsgStandort.xrel;
194
+ const yParentRel = nsgStandort.yrel;
195
+ const diagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
196
+ xPosition: xParentRel + i7Data.xrel + (width / 2),
197
+ yPosition: yParentRel + i7Data.yrel + (height / 2),
198
+ diagramObjectName: 'Abzweig',
199
+ identifiedObjectUUID: cimObjectUUID,
200
+ diagramUUID: this.activeDiagram.getUUID()
201
+ });
202
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
203
+ identifiedObjectUUID: cimObjectUUID,
204
+ diagramObjectUUID: diagramObject.getUUID()
205
+ });
206
+ DLConverterI7.addCimObjects(diagramObject);
207
+ }
208
+ }
209
+ else {
210
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
211
+ }
212
+ });
213
+ }
214
+ convertSchemaSchaltanlage(variantenNr, onlyEingeblendet, schaltanlagenIDs) {
215
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
216
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && schaltanlagenIDs.length > 0) {
217
+ 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));
218
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
219
+ for (const i7Data of filteredResults) {
220
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
221
+ }
222
+ }
223
+ else {
224
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
225
+ }
226
+ });
227
+ }
228
+ convertSchemaSchaltanlagenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
229
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
230
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
231
+ 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));
232
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
233
+ for (const i7Data of filteredResults) {
234
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
235
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
236
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
237
+ if (nsgSchaltanlage) {
238
+ if (nsgSchaltanlage.saabschnittIDs === undefined) {
239
+ nsgSchaltanlage.saabschnittIDs = [];
240
+ }
241
+ nsgSchaltanlage.saabschnittIDs.push(schemaObjKey);
242
+ if (nsgSchaltanlage.nsgSaabs === undefined) {
243
+ nsgSchaltanlage.nsgSaabs = [];
244
+ }
245
+ nsgSchaltanlage.nsgSaabs.push(i7Data);
246
+ }
247
+ }
248
+ }
249
+ else {
250
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
251
+ }
252
+ });
253
+ }
254
+ convertSchemaSammelschienenAbschnitte(variantenNr, onlyEingeblendet, schaltanlagenabschnittIDs) {
255
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
256
+ if (schaltanlagenabschnittIDs.length <= 0)
257
+ return;
258
+ const isEingeblendet = 1;
259
+ let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
260
+ FROM nsg_nsgschaltfeld
261
+ WHERE ((${(0, integral_sql_1.getWhereIDs)('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
262
+ if (onlyEingeblendet) {
263
+ sqlSelectGroupedMaxSlotSf += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
264
+ }
265
+ sqlSelectGroupedMaxSlotSf += ` GROUP BY nsgsaa`;
266
+ const resultsMaxSlotsSf = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotSf);
267
+ const mappedResultsMaxSlotsSf = new Map(resultsMaxSlotsSf.map(value => [value.nsgsaa, value.laenge]));
268
+ let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
269
+ FROM nsg_nsgkpfeld
270
+ WHERE ((${(0, integral_sql_1.getWhereIDs)('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
271
+ if (onlyEingeblendet) {
272
+ sqlSelectGroupedMaxSlotKpF += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
273
+ }
274
+ sqlSelectGroupedMaxSlotKpF += ` GROUP BY nsgsaa`;
275
+ const resultsMaxSlotsKpF = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotKpF);
276
+ const mappedResultsMaxSlotsKpF = new Map(resultsMaxSlotsKpF.map(value => [value.nsgsaa, value.laenge]));
277
+ const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
278
+ nsg_nsgsaab.id,
279
+ nsg_nsgsaab.laenge AS laenge,
280
+ nsg_nsgsaab.nslots,
281
+ nsg_nsgsaab.saabschnitt,
282
+ nsg_nsgsaab.nsgsa,
283
+ nsg_nsgsaab.angezeigt,
284
+ nsg_nsgsaab.eingeblendet,
285
+ nsg_nsgsaab.nsglkp,
286
+ netz_ssab.pos AS posSSAB,
287
+ netz_ssab.id AS idSSAB
288
+ FROM netz_ssab
289
+ LEFT JOIN nsg_nsgsaabschnitt AS nsg_nsgsaab ON nsg_nsgsaab.saabschnitt = netz_ssab.saabschnitt
290
+ WHERE (${(0, integral_sql_1.getWhereIDs)('nsg_nsgsaab.saabschnitt', schaltanlagenabschnittIDs).join(' OR ')});`;
291
+ const queryResults = yield this.mysqlController.execQuery(sqlStatement);
292
+ queryResults.forEach(value => {
293
+ value.laenge = Math.max((mappedResultsMaxSlotsSf.get(value.id) || 0), (mappedResultsMaxSlotsKpF.get(value.id) || 0), value.laenge);
294
+ });
295
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(queryResults, variantenNr, onlyEingeblendet);
296
+ for (const i7Data of filteredResults) {
297
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_SSAB, { i7ID: i7Data.idSSAB, variantenNr, additionalIDs: [i7Data.nsgsa] });
298
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsa, variantenNr });
299
+ const nsgSa = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
300
+ if (nsgSa === undefined)
301
+ continue;
302
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSa.nsgso, variantenNr });
303
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
304
+ if (nsgSo === undefined)
305
+ continue;
306
+ const leftOffset = i7Data.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
307
+ const topOffset = i7Data.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
308
+ const ssabLength = i7Data.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
309
+ let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
310
+ let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
311
+ let saabShiftOffset = 0;
312
+ for (const tempNsgSaab of nsgSa.nsgSaabs) {
313
+ saabShiftOffset = saabShiftOffset < (tempNsgSaab.nslots + tempNsgSaab.laenge) ? (tempNsgSaab.nslots + tempNsgSaab.laenge) : saabShiftOffset;
314
+ }
315
+ const points = [];
316
+ points.push(pointTopLeft, pointBottomRight);
317
+ for (const p of points) {
318
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
319
+ p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
320
+ p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saabShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
321
+ }
322
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.idSSAB);
323
+ const diagramObject = new DiagramObject_1.DiagramObject((0, utils_1.generateUUID)(), 'SSAB Diagram');
324
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
325
+ diagramObject.identifiedObjectUUID = cimObjectUUID;
326
+ diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
327
+ (0, utils_schema_1.copyDiagramObjectPoints)(diagramObject, points);
328
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
329
+ identifiedObjectUUID: cimObjectUUID,
330
+ diagramObjectUUID: diagramObject.getUUID()
331
+ });
332
+ DLConverterI7.addCimObjects(diagramObject);
333
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
334
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
335
+ if (nsgSAAB.nsgSsabs === undefined) {
336
+ nsgSAAB.nsgSsabs = [];
337
+ }
338
+ nsgSAAB.nsgSsabs.push(i7Data);
339
+ }
340
+ });
341
+ }
342
+ convertSchemaSchaltfeldElemente(variantenNr, onlyEingeblendet, schaltfeldIDs) {
343
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
344
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) && schaltfeldIDs.length > 0) {
345
+ const i7relevantTables = [
346
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
347
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
348
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
349
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
350
+ ];
351
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
352
+ const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, schaltfeldIDs));
353
+ const queryStr = (0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NSG_SCHALTFELD, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD), schaltfeldIDs);
354
+ const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(queryStr);
355
+ const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
356
+ for (const i7Data of filteredResultsNsgSchaltfeld) {
357
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
358
+ const nsgSaabObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
359
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSaabObjKey);
360
+ if (nsgSAAB === undefined)
361
+ continue;
362
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
363
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
364
+ if (nsgSchaltanlage === undefined)
365
+ continue;
366
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
367
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
368
+ if (nsgStandort === undefined)
369
+ continue;
370
+ const nodePointMap = new Map();
371
+ const schaltfeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
372
+ const schaltfeldDeltaausrichtung = i7Data.deltaausrichtung;
373
+ const schaltfeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.schaltfeld);
374
+ let shiftFromBusbar = false;
375
+ if (schaltfeldI7KnotenBeziehungen.length == 1) {
376
+ shiftFromBusbar = true;
377
+ }
378
+ const ssabs = this.inputArgs.integralSchaltfelder.get(i7Data.schaltfeld).saabschnitt.ssab;
379
+ const maxSSabPos = Math.max(...ssabs.map(ssab => ssab.pos));
380
+ const onSSabNodes = schaltfeldI7KnotenBeziehungen.filter(elem => ssabs.find(ssab => ssab.id === elem.aknoten) !== undefined);
381
+ const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
382
+ let lastNode = undefined;
383
+ for (const node of onSSabNodes) {
384
+ const nsgSSABObjKey = DLConverterI7.createSchemaKeyObject({
385
+ i7ID: node.aknoten,
386
+ variantenNr,
387
+ additionalIDs: [nsgSAAB.nsgsa]
388
+ });
389
+ const nsgSsab = DLConverterI7.getDbNsgObjectByID(nsgSSABObjKey);
390
+ const ssabYPos = nsgSsab.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
391
+ let yStackPos = 1;
392
+ let prevNode = null;
393
+ let crtNode = node;
394
+ while (crtNode) {
395
+ if (nodePointMap.get(crtNode.id) === undefined) {
396
+ let yPos = ssabYPos;
397
+ if (crtNode === node) {
398
+ yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
399
+ }
400
+ else {
401
+ const ssabOffset = schaltfeldDeltaausrichtung === 0 ? 0 : maxSSabPos;
402
+ yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
403
+ yStackPos += 1;
404
+ }
405
+ nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
406
+ const aKnotenUUID = this.inputArgs.integralID2UUID.get(crtNode.aknoten);
407
+ if (!DLConverterI7.cimUUID2Object.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
408
+ let prevNodeY = (prevNode !== null && nodePointMap.get(prevNode.id) !== undefined) ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
409
+ let yPosAKnoten;
410
+ if (prevNode === node) {
411
+ yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
412
+ }
413
+ else {
414
+ yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
415
+ }
416
+ nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
417
+ }
418
+ }
419
+ lastNode = crtNode;
420
+ prevNode = crtNode;
421
+ crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
422
+ }
423
+ }
424
+ const lastEKnotenUUID = this.inputArgs.integralID2UUID.get(lastNode.eknoten);
425
+ if (!DLConverterI7.cimUUID2Object.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
426
+ const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
427
+ const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
428
+ nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
429
+ }
430
+ i7Data.lastNodeID = lastNode.eknoten;
431
+ i7Data.lastNodeCimUUID = lastEKnotenUUID;
432
+ i7Data.orientation = nsgSchaltanlage.ausrichtung;
433
+ if (i7Data.deltaausrichtung === 1) {
434
+ i7Data.orientation = (i7Data.orientation + 2) % 4;
435
+ }
436
+ for (const nodePointEntry of nodePointMap.entries()) {
437
+ const i7ID = nodePointEntry[0];
438
+ const diagramObject = nodePointEntry[1];
439
+ if (DLConverterI7.cimUUID2Object.has(diagramObject.getUUID()))
440
+ continue;
441
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(i7ID);
442
+ diagramObject.identifiedObjectUUID = cimObjectUUID;
443
+ diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSaNsgSf(nsgSchaltanlage.ausrichtung, schaltfeldDeltaausrichtung);
444
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
445
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID, variantenNr, additionalIDs: [i7Data.id] });
446
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
447
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
448
+ identifiedObjectUUID: cimObjectUUID,
449
+ diagramObjectUUID: diagramObject.getUUID()
450
+ });
451
+ DLConverterI7.addCimObjects(diagramObject);
452
+ }
453
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
454
+ }
455
+ }
456
+ });
457
+ }
458
+ convertSchemaQuerkupplungen(variantenNr, onlyEingeblendet, querkupplungIDs) {
459
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
460
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG) && querkupplungIDs.length > 0) {
461
+ const i7relevantTables = [
462
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
463
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
464
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
465
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
466
+ ];
467
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
468
+ const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, querkupplungIDs));
469
+ 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));
470
+ const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
471
+ for (const i7Data of filteredResultsNsgKpFeld) {
472
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
473
+ const kpFeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
474
+ const kpFeldDeltaausrichtung = i7Data.deltaausrichtung;
475
+ const kpFeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.kpfeld);
476
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
477
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
478
+ if (nsgSAAB === undefined)
479
+ continue;
480
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
481
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
482
+ if (nsgSchaltanlage === undefined)
483
+ continue;
484
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
485
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
486
+ if (nsgStandort === undefined)
487
+ continue;
488
+ const relevantSSabIDs = new Set();
489
+ nsgSAAB.nsgSsabs.forEach(arg => relevantSSabIDs.add(arg.idSSAB));
490
+ const ssabKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_SSAB);
491
+ const nsgSSABs = new Map();
492
+ for (const ssabKeyID of ssabKeyIDs) {
493
+ const nsgSSAB = DLConverterI7.i7ID2DbNsgObject.get(ssabKeyID);
494
+ nsgSSABs.set(nsgSSAB.idSSAB, nsgSSAB);
495
+ }
496
+ const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
497
+ const nodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, relevantSSabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, kpFeldDeltaausrichtung, kpFeldLeftOffset, false, this.inputArgs.objects);
498
+ for (const nodePointEntry of nodePointMap.entries()) {
499
+ const key = nodePointEntry[0];
500
+ const value = nodePointEntry[1];
501
+ if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
502
+ continue;
503
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
504
+ value.identifiedObjectUUID = cimObjectUUID;
505
+ value.rotation += (util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung) - 90 + 720);
506
+ value.rotation = value.rotation % 360;
507
+ value.diagramUUID = this.activeDiagram.getUUID();
508
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({
509
+ i7ID: key,
510
+ variantenNr,
511
+ additionalIDs: [i7Data.id]
512
+ });
513
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
514
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
515
+ identifiedObjectUUID: cimObjectUUID,
516
+ diagramObjectUUID: value.getUUID()
517
+ });
518
+ DLConverterI7.addCimObjects(value);
519
+ }
520
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()], true);
521
+ }
522
+ }
523
+ });
524
+ }
525
+ convertSchemaLaengskupplungen(variantenNr, onlyEingeblendet, laengskupplungIDs) {
526
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
527
+ const saabKeyIDs = DLConverterI7.type2i7IDs.get(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
528
+ if (saabKeyIDs === undefined) {
529
+ return;
530
+ }
531
+ const nsgSAABIDs = new Set();
532
+ for (const saabKeyID of saabKeyIDs) {
533
+ const nsgSAAB = DLConverterI7.i7ID2DbNsgObject.get(saabKeyID);
534
+ nsgSAABIDs.add(nsgSAAB.id);
535
+ }
536
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG) && laengskupplungIDs.length > 0 && saabKeyIDs.length > 0) {
537
+ const i7relevantTables = [
538
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEISTUNGSSCHALTER],
539
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNER_3P],
540
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRENNERFI_3P],
541
+ integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_STARR]
542
+ ];
543
+ const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
544
+ const i7knotenBeziehungen = yield this.mysqlController.execQuery((0, integral_sql_1.getI7KnotenBeziehungenQuery)(i7checkedTables, laengskupplungIDs));
545
+ 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()]));
546
+ const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
547
+ for (const i7Data of filteredResultsNsgLKupplung) {
548
+ DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
549
+ const nsgSAABObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgsaa, variantenNr });
550
+ const nsgSAAB = DLConverterI7.getDbNsgObjectByID(nsgSAABObjKey);
551
+ if (nsgSAAB === undefined)
552
+ continue;
553
+ const nsgSchaltanlageObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSAAB.nsgsa, variantenNr });
554
+ const nsgSchaltanlage = DLConverterI7.getDbNsgObjectByID(nsgSchaltanlageObjKey);
555
+ if (nsgSchaltanlage === undefined)
556
+ continue;
557
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: nsgSchaltanlage.nsgso, variantenNr });
558
+ const nsgStandort = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
559
+ if (nsgStandort === undefined)
560
+ continue;
561
+ const nodePointMap = new Map();
562
+ const netzLaengskupplungsObjs = [...this.inputArgs.integralLaengskupplungen.values()].filter(elem => elem.schaltanlagenID === nsgSchaltanlage.schaltanlage);
563
+ for (const netzLaengskupplungObj of netzLaengskupplungsObjs) {
564
+ const lKupplungI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === netzLaengskupplungObj.id);
565
+ const relevantSsabIDs = new Set();
566
+ const nsgSSABs = new Map();
567
+ nsgSchaltanlage.nsgSaabs.forEach(iNsgSAAB => iNsgSAAB.nsgSsabs.forEach(iNsgSsab => {
568
+ relevantSsabIDs.add(iNsgSsab.idSSAB);
569
+ nsgSSABs.set(iNsgSsab.idSSAB, iNsgSsab);
570
+ }));
571
+ const placedCIMObjectUUIDs = new Set(DLConverterI7.cimUUID2Object.keys());
572
+ const tempNodePointMap = util_functions_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, relevantSsabIDs, nsgSSABs, this.inputArgs.integralID2UUID, placedCIMObjectUUIDs, 0, 0, true, this.inputArgs.objects);
573
+ tempNodePointMap.forEach((value, key) => nodePointMap.set(key, value));
574
+ }
575
+ for (const nodePointEntry of nodePointMap.entries()) {
576
+ const key = nodePointEntry[0];
577
+ const value = nodePointEntry[1];
578
+ if (DLConverterI7.cimUUID2Object.has(value.getUUID()))
579
+ continue;
580
+ const cimObjectUUID = this.inputArgs.integralID2UUID.get(key);
581
+ value.identifiedObjectUUID = cimObjectUUID;
582
+ if (value.rotation === undefined) {
583
+ value.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
584
+ }
585
+ else {
586
+ value.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
587
+ }
588
+ value.diagramUUID = this.activeDiagram.getUUID();
589
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({
590
+ i7ID: key,
591
+ variantenNr,
592
+ additionalIDs: [i7Data.id]
593
+ });
594
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_NODE);
595
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
596
+ identifiedObjectUUID: cimObjectUUID,
597
+ diagramObjectUUID: value.getUUID()
598
+ });
599
+ DLConverterI7.addCimObjects(value);
600
+ }
601
+ util_functions_1.DLUtilFunctions.rotateAndShiftBasedOnNsgSAA(nsgStandort, nsgSchaltanlage, nsgSAAB, [...nodePointMap.values()]);
602
+ }
603
+ }
604
+ });
605
+ }
606
+ convertSchemaTransformatoren2W(variantenNr, onlyEingeblendet, powerTransformers) {
607
+ var _a, _b;
608
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
609
+ const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
610
+ if (nsgStandortKeyIDs === undefined) {
611
+ return;
612
+ }
613
+ const nsgStandortIDs = new Set();
614
+ for (const nsgStandortKeyID of nsgStandortKeyIDs) {
615
+ const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
616
+ nsgStandortIDs.add(nsgStandort.id);
617
+ }
618
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.size > 0) {
619
+ 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()]));
620
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
621
+ for (const i7Data of filteredResults) {
622
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO2W);
623
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
624
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
625
+ if (nsgSo === undefined)
626
+ continue;
627
+ const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo2w);
628
+ const powerTransformer = powerTransformers.get(powerTransformerUUID);
629
+ if (powerTransformer === undefined)
630
+ continue;
631
+ const terminal1 = (_a = powerTransformer.powerTransformerEnds[0]) === null || _a === void 0 ? void 0 : _a.terminal;
632
+ const terminal2 = (_b = powerTransformer.powerTransformerEnds[1]) === null || _b === void 0 ? void 0 : _b.terminal;
633
+ const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
634
+ xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH / 2,
635
+ yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
636
+ rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(i7Data.ausrichtung),
637
+ diagramObjectName: 'DiagramObject',
638
+ identifiedObjectUUID: powerTransformerUUID,
639
+ diagramUUID: this.activeDiagram.getUUID()
640
+ });
641
+ const createdDiagramObjects = [];
642
+ createdDiagramObjects.push(powerTransformerDiagramObject);
643
+ let terminal1DiagramObject;
644
+ if (terminal1 !== undefined) {
645
+ terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
646
+ xPosition: 0,
647
+ yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
648
+ diagramObjectName: 'DiagramObject',
649
+ identifiedObjectUUID: terminal1.getUUID(),
650
+ diagramUUID: this.activeDiagram.getUUID()
651
+ });
652
+ createdDiagramObjects.push(terminal1DiagramObject);
653
+ }
654
+ let terminal2DiagramObject;
655
+ if (terminal2 !== undefined) {
656
+ terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
657
+ xPosition: constants_1.NsgConstants.TRAFO2W_WIDTH,
658
+ yPosition: constants_1.NsgConstants.TRAFO2W_HEIGHT / 2,
659
+ diagramObjectName: 'DiagramObject',
660
+ identifiedObjectUUID: terminal2.getUUID(),
661
+ diagramUUID: this.activeDiagram.getUUID()
662
+ });
663
+ createdDiagramObjects.push(terminal2DiagramObject);
664
+ }
665
+ for (const diagramObject of createdDiagramObjects) {
666
+ for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
667
+ util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(diagramObjectPoint, 90 * i7Data.ausrichtung);
668
+ diagramObjectPoint.xPosition = Math.abs(diagramObjectPoint.xPosition);
669
+ diagramObjectPoint.yPosition = Math.abs(diagramObjectPoint.yPosition);
670
+ diagramObjectPoint.xPosition += i7Data.xrel;
671
+ diagramObjectPoint.yPosition += i7Data.yrel;
672
+ diagramObjectPoint.xPosition += nsgSo.xrel;
673
+ diagramObjectPoint.yPosition += nsgSo.yrel;
674
+ }
675
+ }
676
+ if (terminal1 !== undefined) {
677
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal1.getConnectivityNodeUUID());
678
+ if (connectivityNodeDiagramObject !== undefined) {
679
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
680
+ }
681
+ }
682
+ if (terminal2 !== undefined) {
683
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(terminal2.getConnectivityNodeUUID());
684
+ if (connectivityNodeDiagramObject !== undefined) {
685
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
686
+ }
687
+ }
688
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
689
+ identifiedObjectUUID: powerTransformerUUID,
690
+ diagramObjectUUID: powerTransformerDiagramObject.getUUID()
691
+ });
692
+ DLConverterI7.addCimObjects(powerTransformerDiagramObject);
693
+ }
694
+ }
695
+ else {
696
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
697
+ }
698
+ });
699
+ }
700
+ convertSchemaTransformatoren3W(variantenNr, onlyEingeblendet, powerTransformers) {
701
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
702
+ const nsgStandortKeyIDs = DLConverterI7.type2i7IDs.get(data_types_1.DataTypes.NSG_STANDORT);
703
+ if (nsgStandortKeyIDs === undefined) {
704
+ return;
705
+ }
706
+ const nsgStandortIDs = new Set();
707
+ const netzStandortIDs = new Set();
708
+ for (const nsgStandortKeyID of nsgStandortKeyIDs) {
709
+ const nsgStandort = DLConverterI7.i7ID2DbNsgObject.get(nsgStandortKeyID);
710
+ nsgStandortIDs.add(nsgStandort.id);
711
+ netzStandortIDs.add(nsgStandort.standort);
712
+ }
713
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.size > 0) {
714
+ 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()]));
715
+ const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
716
+ 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()]));
717
+ const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
718
+ for (const i7Data of filteredResults) {
719
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_TRAFO3W);
720
+ const nsgStandortObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.nsgso, variantenNr });
721
+ const nsgSo = DLConverterI7.getDbNsgObjectByID(nsgStandortObjKey);
722
+ if (nsgSo === undefined)
723
+ continue;
724
+ const powerTransformerUUID = this.inputArgs.integralID2UUID.get(i7Data.trafo3w);
725
+ const powerTransformer = powerTransformers.get(powerTransformerUUID);
726
+ if (powerTransformer === undefined)
727
+ continue;
728
+ const trafo3wNetz = netzTrafos.get(i7Data.trafo3w);
729
+ if (trafo3wNetz === undefined)
730
+ continue;
731
+ const pteW1 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w1));
732
+ const pteW2 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w2));
733
+ const pteW3 = this.inputArgs.powerTransformerEnds.get(this.inputArgs.integralID2UUID.get(trafo3wNetz.trafowicklung3w3));
734
+ const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO3W_WIDTH / 2, constants_1.NsgConstants.TRAFO3W_HEIGHT / 2);
735
+ const powerTransformerDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
736
+ xPosition: trafoDiagramObject.diagramObjectPoints[0].xPosition,
737
+ yPosition: trafoDiagramObject.diagramObjectPoints[0].yPosition,
738
+ rotation: (360 - (constants_1.NsgConstants.TAFO3W_RotationOrder.indexOf(i7Data.ausrichtung) * 30 + 180) % 360) % 360,
739
+ diagramObjectName: 'DiagramObject',
740
+ identifiedObjectUUID: powerTransformerUUID,
741
+ diagramUUID: this.activeDiagram.getUUID()
742
+ });
743
+ const exchangeGroups = constants_1.NsgConstants.TRAFO3W_ExchangeGroups;
744
+ let exchangeGroup = undefined;
745
+ for (const key of Object.keys(exchangeGroups)) {
746
+ if (exchangeGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
747
+ exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
748
+ break;
749
+ }
750
+ }
751
+ const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
752
+ let rotationenGroup = undefined;
753
+ for (const key of Object.keys(rotationenGroups)) {
754
+ if (rotationenGroups[key].indexOf(i7Data.ausrichtung) !== -1) {
755
+ rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
756
+ break;
757
+ }
758
+ }
759
+ const xMirroring = i7Data.orientierung_cw === 1;
760
+ const createdDiagramObjects = [];
761
+ createdDiagramObjects.push(powerTransformerDiagramObject);
762
+ let terminal1DiagramObject;
763
+ if ((pteW1 === null || pteW1 === void 0 ? void 0 : pteW1.terminal) !== undefined) {
764
+ const coords = rotationenGroup[exchangeGroup[1]];
765
+ terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
766
+ xPosition: coords[0],
767
+ yPosition: coords[1],
768
+ diagramObjectName: 'DiagramObject',
769
+ identifiedObjectUUID: pteW1.terminal.getUUID(),
770
+ diagramUUID: this.activeDiagram.getUUID()
771
+ });
772
+ createdDiagramObjects.push(terminal1DiagramObject);
773
+ }
774
+ let terminal2DiagramObject;
775
+ if ((pteW2 === null || pteW2 === void 0 ? void 0 : pteW2.terminal) !== undefined) {
776
+ const coords = rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]];
777
+ terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
778
+ xPosition: coords[0],
779
+ yPosition: coords[1],
780
+ diagramObjectName: 'DiagramObject',
781
+ identifiedObjectUUID: pteW2.terminal.getUUID(),
782
+ diagramUUID: this.activeDiagram.getUUID()
783
+ });
784
+ createdDiagramObjects.push(terminal2DiagramObject);
785
+ }
786
+ let terminal3DiagramObject;
787
+ if ((pteW3 === null || pteW3 === void 0 ? void 0 : pteW3.terminal) !== undefined) {
788
+ const coords = rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]];
789
+ terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
790
+ xPosition: coords[0],
791
+ yPosition: coords[1],
792
+ diagramObjectName: 'DiagramObject',
793
+ identifiedObjectUUID: pteW3.terminal.getUUID(),
794
+ diagramUUID: this.activeDiagram.getUUID()
795
+ });
796
+ createdDiagramObjects.push(terminal3DiagramObject);
797
+ }
798
+ for (const diagramObject of createdDiagramObjects) {
799
+ for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
800
+ diagramObjectPoint.xPosition += i7Data.xrel;
801
+ diagramObjectPoint.yPosition += i7Data.yrel;
802
+ diagramObjectPoint.xPosition += nsgSo.xrel;
803
+ diagramObjectPoint.yPosition += nsgSo.yrel;
804
+ }
805
+ }
806
+ if ((pteW1 === null || pteW1 === void 0 ? void 0 : pteW1.terminal) !== undefined) {
807
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW1.terminal.getConnectivityNodeUUID());
808
+ if (connectivityNodeDiagramObject !== undefined) {
809
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
810
+ }
811
+ }
812
+ if ((pteW2 === null || pteW2 === void 0 ? void 0 : pteW2.terminal) !== undefined) {
813
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW2.terminal.getConnectivityNodeUUID());
814
+ if (connectivityNodeDiagramObject !== undefined) {
815
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
816
+ }
817
+ }
818
+ if ((pteW3 === null || pteW3 === void 0 ? void 0 : pteW3.terminal) !== undefined) {
819
+ const connectivityNodeDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(pteW3.terminal.getConnectivityNodeUUID());
820
+ if (connectivityNodeDiagramObject !== undefined) {
821
+ util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal3DiagramObject, connectivityNodeDiagramObject.diagramObjectPoints[0]);
822
+ }
823
+ }
824
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
825
+ identifiedObjectUUID: powerTransformerUUID,
826
+ diagramObjectUUID: powerTransformerDiagramObject.getUUID()
827
+ });
828
+ DLConverterI7.addCimObjects(powerTransformerDiagramObject);
829
+ }
830
+ }
831
+ else {
832
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO3W} ist nicht vorhanden.`);
833
+ }
834
+ });
835
+ }
836
+ convertSchemaLeitungen(variantenNr, onlyEingeblendet) {
837
+ var _a;
838
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
839
+ if (this.inputArgs.integralLeitungen === undefined) {
840
+ this.inputArgs.integralLeitungen = new Map();
841
+ }
842
+ if (this.inputArgs.integralHgueLeitungen === undefined) {
843
+ this.inputArgs.integralHgueLeitungen = new Map();
844
+ }
845
+ const leitungIDs = [...this.inputArgs.integralLeitungen.keys(), ...this.inputArgs.integralHgueLeitungen.keys()];
846
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT) && leitungIDs.length > 0) {
847
+ 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));
848
+ let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
849
+ const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
850
+ if (nsgLeitungIDs.length > 0) {
851
+ 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));
852
+ let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
853
+ for (const i7Data of filteredLeitungResults) {
854
+ const schemaObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.id, variantenNr });
855
+ DLConverterI7.addID2TypeMapping(schemaObjKey, data_types_1.DataTypes.NSG_LEITUNG);
856
+ const isACLine = this.inputArgs.integralLeitungen.get(i7Data.leitung);
857
+ const isErsatzlaengszweig = false;
858
+ let netzLeitungsObject;
859
+ if (isACLine) {
860
+ const netzLeitung = this.inputArgs.integralLeitungen.get(i7Data.leitung);
861
+ if (netzLeitung !== undefined) {
862
+ netzLeitungsObject = {
863
+ id: netzLeitung.id,
864
+ aknotenid: netzLeitung.aknotenid,
865
+ eknotenid: netzLeitung.eknotenid
866
+ };
867
+ }
868
+ }
869
+ else {
870
+ const netzHgueLeitung = this.inputArgs.integralHgueLeitungen.get(i7Data.leitung);
871
+ if (netzHgueLeitung !== undefined) {
872
+ netzLeitungsObject = {
873
+ id: netzHgueLeitung.id,
874
+ aknotenid: netzHgueLeitung.anetzobjekt,
875
+ eknotenid: netzHgueLeitung.enetzobjekt
876
+ };
877
+ }
878
+ }
879
+ if (netzLeitungsObject === undefined)
880
+ continue;
881
+ const anfSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussanf, variantenNr });
882
+ let anfNsgObject = DLConverterI7.getDbNsgObjectByID(anfSchemaTypeObjKey);
883
+ let anfSchemaType = DLConverterI7.i7ID2Type.get(anfSchemaTypeObjKey);
884
+ let anfDiagramObject;
885
+ if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
886
+ const nsgSchaltfeld = anfNsgObject;
887
+ if (nsgSchaltfeld === undefined)
888
+ continue;
889
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
890
+ }
891
+ else if (anfSchemaType === data_types_1.DataTypes.NSG_NODE) {
892
+ const aKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.aknotenid);
893
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(aKnotenCimObjectUUID);
894
+ }
895
+ else {
896
+ let anfUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(anfSchemaTypeObjKey);
897
+ if (anfUUIDEntry === undefined)
898
+ continue;
899
+ anfDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(anfUUIDEntry.identifiedObjectUUID);
900
+ }
901
+ const endSchemaTypeObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.anschlussend, variantenNr });
902
+ let endNsgObject = DLConverterI7.getDbNsgObjectByID(endSchemaTypeObjKey);
903
+ let endSchemaType = DLConverterI7.i7ID2Type.get(endSchemaTypeObjKey);
904
+ let endDiagramObject;
905
+ if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
906
+ const nsgSchaltfeld = endNsgObject;
907
+ if (nsgSchaltfeld === undefined)
908
+ continue;
909
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
910
+ }
911
+ else if (endSchemaType === data_types_1.DataTypes.NSG_NODE) {
912
+ const eKnotenCimObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.eknotenid);
913
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(eKnotenCimObjectUUID);
914
+ }
915
+ else {
916
+ let endUUIDEntry = DLConverterI7.i7ID2cimUUIDs.get(endSchemaTypeObjKey);
917
+ if (endUUIDEntry === undefined)
918
+ continue;
919
+ endDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(endUUIDEntry.identifiedObjectUUID);
920
+ }
921
+ let tempDiagramObjectPoints = [];
922
+ let tempAnfDiagramObject = anfDiagramObject;
923
+ let tempEndDiagramObject = endDiagramObject;
924
+ if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
925
+ continue;
926
+ tempDiagramObjectPoints.push({
927
+ xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
928
+ yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
929
+ });
930
+ const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
931
+ for (let a = 0; a < relevantLeitungspkts.length; a++) {
932
+ const nsgLeitungspkt = relevantLeitungspkts[a];
933
+ if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
934
+ const tempDiagramObjectPoint = {
935
+ xPosition: tempAnfDiagramObject.diagramObjectPoints[0].xPosition,
936
+ yPosition: tempAnfDiagramObject.diagramObjectPoints[0].yPosition
937
+ };
938
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, anfNsgObject, i7Data.anschlussanf, nsgLeitungspkt);
939
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
940
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
941
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
942
+ }
943
+ else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
944
+ const tempDiagramObjectPoint = {
945
+ xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
946
+ yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
947
+ };
948
+ const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, endNsgObject, i7Data.anschlussend, nsgLeitungspkt);
949
+ tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
950
+ tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
951
+ tempDiagramObjectPoints.push(tempDiagramObjectPoint);
952
+ }
953
+ else {
954
+ tempDiagramObjectPoints.push({ xPosition: nsgLeitungspkt.xrel, yPosition: nsgLeitungspkt.yrel });
955
+ }
956
+ }
957
+ tempDiagramObjectPoints.push({
958
+ xPosition: tempEndDiagramObject.diagramObjectPoints[0].xPosition,
959
+ yPosition: tempEndDiagramObject.diagramObjectPoints[0].yPosition
960
+ });
961
+ if (isACLine) {
962
+ const netzLeitungCimObj = this.inputArgs.lines.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
963
+ const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
964
+ const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
965
+ let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
966
+ if (cableAvailable && overheadAvailable) {
967
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
968
+ }
969
+ else if (cableAvailable) {
970
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
971
+ }
972
+ else if (overheadAvailable) {
973
+ type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
974
+ }
975
+ const leitungStromkreisabschnitt = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(type, ['leitung', 'laenge', 'pos', 'typ'], [netzLeitungsObject.id]));
976
+ leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
977
+ const acSegmentPercentages = [];
978
+ let completeLength = 0;
979
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
980
+ completeLength += leitungStromkreisabschnitt[a].laenge;
981
+ }
982
+ let crtLength = 0;
983
+ for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
984
+ crtLength += leitungStromkreisabschnitt[a].laenge;
985
+ acSegmentPercentages.push(crtLength / completeLength);
986
+ }
987
+ const eqUUIDs = netzLeitungCimObj.equipments.map(value => value.getUUID());
988
+ const resultingDiagramObjects = util_functions_1.DLUtilFunctions.convertACLineSegment(completeLength, acSegmentPercentages, eqUUIDs, tempDiagramObjectPoints);
989
+ for (const diagramObject of resultingDiagramObjects) {
990
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
991
+ }
992
+ DLConverterI7.addCimObjects(...resultingDiagramObjects);
993
+ }
994
+ else if (isErsatzlaengszweig) {
995
+ }
996
+ else {
997
+ const netzLeitungCimObj = this.inputArgs.objects.get(this.inputArgs.integralID2UUID.get(netzLeitungsObject.id));
998
+ const diagramObject = new DiagramObject_1.DiagramObject((0, utils_1.generateUUID)());
999
+ diagramObject.diagramUUID = this.activeDiagram.getUUID();
1000
+ diagramObject.identifiedObjectUUID = this.inputArgs.integralID2UUID.get(netzLeitungsObject.id);
1001
+ if (netzLeitungCimObj !== undefined) {
1002
+ diagramObject.name = 'DiagramObj ' + ((_a = netzLeitungCimObj.shortName) !== null && _a !== void 0 ? _a : '');
1003
+ }
1004
+ else {
1005
+ diagramObject.name = 'DiagramObj HGUE-Leitung';
1006
+ }
1007
+ for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
1008
+ const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
1009
+ diagramObjectPoint.mrid = (0, utils_1.generateUUID)();
1010
+ diagramObjectPoint.diagramObject = diagramObject;
1011
+ diagramObject.addDiagramObjectPoint(diagramObjectPoint);
1012
+ }
1013
+ DLConverterI7.addCimObjects(diagramObject);
1014
+ }
1015
+ const clonedAnfDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(anfDiagramObject);
1016
+ clonedAnfDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1017
+ const clonedEndDiagramObject = util_functions_1.DLUtilFunctions.cloneDiagramObject(endDiagramObject);
1018
+ clonedEndDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1019
+ DLConverterI7.addCimObjects(clonedAnfDiagramObject, clonedEndDiagramObject);
1020
+ }
1021
+ }
1022
+ }
1023
+ else {
1024
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_LEITUNG} oder ${integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT} ist nicht vorhanden.`);
1025
+ }
1026
+ });
1027
+ }
1028
+ convertSchemaQuerzweige(variantenNr, onlyEingeblendet) {
1029
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1030
+ const whereIDs = [...DLConverterI7.i7ID2DbNsgObjectInFrame.keys()].map(arg => DLConverterI7.parseSchemaKeyObject(arg).i7ID);
1031
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
1032
+ 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));
1033
+ let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
1034
+ for (const i7Data of filteredResults) {
1035
+ const schemaObjKey = DLConverterI7.registerNsgObjectAndGetSchemaKay(i7Data, data_types_1.DataTypes.NSG_QUERZWEIG);
1036
+ const referenceObjKey = DLConverterI7.createSchemaKeyObject({ i7ID: i7Data.bezugsobjekt, variantenNr });
1037
+ const referenceObjType = DLConverterI7.i7ID2Type.get(referenceObjKey);
1038
+ const referenceObj = DLConverterI7.getDbNsgObjectByID(referenceObjKey);
1039
+ let refXPos = 0;
1040
+ let refYPos = 0;
1041
+ let xPos = i7Data.xrel;
1042
+ let yPos = i7Data.yrel;
1043
+ let refCNNodeUUID = undefined;
1044
+ let nsgQuerzweigWidth;
1045
+ let nsgQuerzweigHeight;
1046
+ nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
1047
+ nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
1048
+ if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
1049
+ const nsgSchaltfeld = referenceObj;
1050
+ refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
1051
+ const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(nsgSchaltfeld.lastNodeCimUUID);
1052
+ if (referenceDiagramObject === undefined)
1053
+ continue;
1054
+ refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1055
+ refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1056
+ xPos += refXPos;
1057
+ yPos += refYPos;
1058
+ switch (nsgSchaltfeld.orientation) {
1059
+ case 3:
1060
+ xPos += nsgQuerzweigWidth / 2;
1061
+ yPos -= nsgQuerzweigHeight / 2;
1062
+ break;
1063
+ case 0:
1064
+ xPos -= nsgQuerzweigWidth / 2;
1065
+ yPos += nsgQuerzweigHeight / 2;
1066
+ break;
1067
+ case 1:
1068
+ xPos += nsgQuerzweigWidth / 2;
1069
+ yPos -= nsgQuerzweigHeight / 2;
1070
+ xPos -= nsgSchaltfeld.hoehe;
1071
+ break;
1072
+ case 2:
1073
+ xPos -= nsgQuerzweigWidth / 2;
1074
+ yPos += nsgQuerzweigHeight / 2;
1075
+ yPos -= nsgSchaltfeld.hoehe;
1076
+ break;
1077
+ }
1078
+ }
1079
+ else if (referenceObjType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
1080
+ refCNNodeUUID = DLConverterI7.i7ID2cimUUIDs.get(referenceObjKey).identifiedObjectUUID;
1081
+ const referenceDiagramObject = DLConverterI7.cimUUID2DiagramObject.get(refCNNodeUUID);
1082
+ if (referenceDiagramObject === undefined)
1083
+ continue;
1084
+ refXPos = referenceDiagramObject.diagramObjectPoints[0].xPosition;
1085
+ refYPos = referenceDiagramObject.diagramObjectPoints[0].yPosition;
1086
+ xPos += refXPos;
1087
+ yPos += refYPos;
1088
+ xPos -= nsgQuerzweigWidth / 2;
1089
+ yPos -= nsgQuerzweigHeight / 2;
1090
+ }
1091
+ else {
1092
+ this.logger.info(`unhandled reference type '${referenceObjType}' for id ${i7Data.bezugsobjekt} (nsg_nsgquerzweig.id ${i7Data.id})!`);
1093
+ continue;
1094
+ }
1095
+ const querzweigObjectUUID = this.inputArgs.integralID2UUID.get(i7Data.querzweig);
1096
+ const querzweigDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
1097
+ xPosition: xPos,
1098
+ yPosition: yPos,
1099
+ rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(i7Data.ausrichtung),
1100
+ diagramObjectName: 'DiagramObject',
1101
+ identifiedObjectUUID: querzweigObjectUUID,
1102
+ diagramUUID: this.activeDiagram.getUUID()
1103
+ });
1104
+ DLConverterI7.addIDsRelationMapping(schemaObjKey, {
1105
+ identifiedObjectUUID: querzweigObjectUUID,
1106
+ diagramObjectUUID: querzweigDiagramObject.getUUID()
1107
+ });
1108
+ DLConverterI7.addCimObjects(querzweigDiagramObject);
1109
+ }
1110
+ }
1111
+ else {
1112
+ this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_QUERZWEIG} ist nicht vorhanden.`);
1113
+ }
1114
+ });
1115
+ }
1116
+ convertSchemaTerminals() {
1117
+ const exportedTerminals = new Set();
1118
+ for (const diagramObject of DLConverterI7.cimUUID2DiagramObject.values()) {
1119
+ const identifiedObject = this.inputArgs.objects.get(diagramObject.getIdentifiedObjectUUID());
1120
+ if (identifiedObject instanceof ConnectivityNode_1.ConnectivityNode) {
1121
+ identifiedObject.terminals.forEach(terminal => this.convertTerminal(terminal, exportedTerminals));
1122
+ }
1123
+ else if (identifiedObject instanceof ConductingEquipment_1.ConductingEquipment) {
1124
+ identifiedObject.terminals.forEach(terminal => this.convertTerminal(terminal, exportedTerminals));
1125
+ }
1126
+ }
1127
+ }
1128
+ convertTerminal(terminal, exportedTerminals) {
1129
+ if (exportedTerminals.has(terminal.getUUID()))
1130
+ return;
1131
+ exportedTerminals.add(terminal.getUUID());
1132
+ const connectivityNodeUUID = terminal.getConnectivityNodeUUID();
1133
+ const connectivityNode = this.inputArgs.objects.get(connectivityNodeUUID);
1134
+ const conductingEquipmentUUID = terminal.getConductingEquipmentUUID();
1135
+ const conductingEquipment = this.inputArgs.objects.get(conductingEquipmentUUID);
1136
+ if (connectivityNode === undefined || conductingEquipment === undefined)
1137
+ return;
1138
+ const cnDiagramObject = DLConverterI7.getDiagramObjectByUUID(connectivityNodeUUID);
1139
+ const ceDiagramObject = DLConverterI7.getDiagramObjectByUUID(conductingEquipmentUUID);
1140
+ if (cnDiagramObject === undefined || ceDiagramObject === undefined)
1141
+ return;
1142
+ const terminalDiagramObject = new DiagramObject_1.DiagramObject((0, utils_1.generateUUID)());
1143
+ terminalDiagramObject.identifiedObjectUUID = terminal.getUUID();
1144
+ terminalDiagramObject.diagramUUID = this.activeDiagram.getUUID();
1145
+ const cnTerminals = [...connectivityNode.terminals.values()];
1146
+ let isBusbarSectionConnectivityNode = false;
1147
+ for (let a = 0; a < cnTerminals.length && !isBusbarSectionConnectivityNode; ++a) {
1148
+ const possibleBusbarSectionObject = this.inputArgs.objects.get(cnTerminals[a].getConductingEquipmentUUID());
1149
+ if (possibleBusbarSectionObject instanceof BusbarSection_1.BusbarSection) {
1150
+ isBusbarSectionConnectivityNode = true;
1151
+ }
1152
+ }
1153
+ const ceDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
1154
+ ceDiagramObjectPoint.mrid = (0, utils_1.generateUUID)();
1155
+ if (conductingEquipment instanceof ACLineSegment_1.ACLineSegment) {
1156
+ const cnCenterPoint = util_functions_1.DLUtilFunctions.getCenterOfPoints(cnDiagramObject.diagramObjectPoints);
1157
+ let closestDiagramObjectPoint = ceDiagramObject.diagramObjectPoints[0];
1158
+ let dist = util_functions_1.DLUtilFunctions.lengthOfVector([
1159
+ closestDiagramObjectPoint.xPosition - cnCenterPoint[0],
1160
+ closestDiagramObjectPoint.yPosition - cnCenterPoint[1]
1161
+ ]);
1162
+ for (let a = 1; a < ceDiagramObject.diagramObjectPoints.length; ++a) {
1163
+ const distToCheck = util_functions_1.DLUtilFunctions.lengthOfVector([
1164
+ ceDiagramObject.diagramObjectPoints[a].xPosition - cnCenterPoint[0],
1165
+ ceDiagramObject.diagramObjectPoints[a].yPosition - cnCenterPoint[1]
1166
+ ]);
1167
+ if (distToCheck < dist) {
1168
+ closestDiagramObjectPoint = ceDiagramObject.diagramObjectPoints[a];
1169
+ dist = distToCheck;
1170
+ }
1171
+ }
1172
+ ceDiagramObjectPoint.xPosition = closestDiagramObjectPoint.xPosition;
1173
+ ceDiagramObjectPoint.yPosition = closestDiagramObjectPoint.yPosition;
1174
+ }
1175
+ else {
1176
+ ceDiagramObjectPoint.xPosition = ceDiagramObject.diagramObjectPoints[0].xPosition;
1177
+ ceDiagramObjectPoint.yPosition = ceDiagramObject.diagramObjectPoints[0].yPosition;
1178
+ }
1179
+ if (isBusbarSectionConnectivityNode) {
1180
+ this.convertBusbarSectionCNTerminal(terminalDiagramObject, cnDiagramObject, ceDiagramObjectPoint);
1181
+ }
1182
+ else {
1183
+ ceDiagramObjectPoint.diagramObject = terminalDiagramObject;
1184
+ terminalDiagramObject.diagramObjectPoints.push(ceDiagramObjectPoint);
1185
+ const diagramObjectPoint2 = new DiagramObjectPoint_1.DiagramObjectPoint();
1186
+ diagramObjectPoint2.mrid = (0, utils_1.generateUUID)();
1187
+ diagramObjectPoint2.xPosition = cnDiagramObject.diagramObjectPoints[0].xPosition;
1188
+ diagramObjectPoint2.yPosition = cnDiagramObject.diagramObjectPoints[0].yPosition;
1189
+ diagramObjectPoint2.diagramObject = terminalDiagramObject;
1190
+ terminalDiagramObject.diagramObjectPoints.push(diagramObjectPoint2);
1191
+ }
1192
+ for (let a = 0; a < terminalDiagramObject.diagramObjectPoints.length; ++a) {
1193
+ terminalDiagramObject.diagramObjectPoints[a].sequenceNumber = (a + 1);
1194
+ }
1195
+ DLConverterI7.addCimObjects(terminalDiagramObject);
1196
+ }
1197
+ convertBusbarSectionCNTerminal(terminalDiagramObject, cnDiagramObject, ceDiagramObjectPoint) {
1198
+ const dopCE = ceDiagramObjectPoint;
1199
+ const dop1BusbarSection = new DiagramObjectPoint_1.DiagramObjectPoint();
1200
+ dop1BusbarSection.mrid = (0, utils_1.generateUUID)();
1201
+ dop1BusbarSection.xPosition = cnDiagramObject.diagramObjectPoints[0].xPosition;
1202
+ dop1BusbarSection.yPosition = cnDiagramObject.diagramObjectPoints[0].yPosition;
1203
+ const dop2BusbarSection = new DiagramObjectPoint_1.DiagramObjectPoint();
1204
+ dop2BusbarSection.mrid = (0, utils_1.generateUUID)();
1205
+ dop2BusbarSection.xPosition = cnDiagramObject.diagramObjectPoints[1].xPosition;
1206
+ dop2BusbarSection.yPosition = cnDiagramObject.diagramObjectPoints[1].yPosition;
1207
+ const tempVec = util_functions_1.DLUtilFunctions.vec2([dop1BusbarSection.xPosition, dop1BusbarSection.yPosition], [dop2BusbarSection.xPosition, dop2BusbarSection.yPosition], [dopCE.xPosition, dopCE.yPosition]);
1208
+ const dist1 = util_functions_1.DLUtilFunctions.distanceVector2Line(tempVec, [dopCE.xPosition, dopCE.yPosition], [dop1BusbarSection.xPosition, dop1BusbarSection.yPosition]);
1209
+ const dist2 = util_functions_1.DLUtilFunctions.distanceVector2Line(tempVec, [dopCE.xPosition, dopCE.yPosition], [dop2BusbarSection.xPosition, dop2BusbarSection.yPosition]);
1210
+ terminalDiagramObject.diagramObjectPoints.push(dopCE);
1211
+ dopCE.diagramObject = terminalDiagramObject;
1212
+ if (util_functions_1.DLUtilFunctions.isNegativeOrZero(dist1) === util_functions_1.DLUtilFunctions.isNegativeOrZero(dist2)) {
1213
+ const distDopCEdop1BS = util_functions_1.DLUtilFunctions.lengthOfVector([dopCE.xPosition - dop1BusbarSection.xPosition, dopCE.yPosition - dop1BusbarSection.yPosition]);
1214
+ const distDopCEdop2BS = util_functions_1.DLUtilFunctions.lengthOfVector([dopCE.xPosition - dop2BusbarSection.xPosition, dopCE.yPosition - dop2BusbarSection.yPosition]);
1215
+ const distDop1BSdop2BS = util_functions_1.DLUtilFunctions.lengthOfVector([dop1BusbarSection.xPosition - dop2BusbarSection.xPosition, dop1BusbarSection.yPosition - dop2BusbarSection.yPosition]);
1216
+ if (Math.abs(distDopCEdop1BS + distDopCEdop2BS - distDop1BSdop2BS) < util_functions_1.DLUtilFunctions.EPSILON) {
1217
+ const dopIntersection = new DiagramObjectPoint_1.DiagramObjectPoint();
1218
+ dopIntersection.mrid = (0, utils_1.generateUUID)();
1219
+ dopIntersection.xPosition = dopCE.xPosition;
1220
+ dopIntersection.yPosition = dopCE.yPosition;
1221
+ terminalDiagramObject.diagramObjectPoints.push(dopIntersection);
1222
+ dopIntersection.diagramObject = terminalDiagramObject;
1223
+ }
1224
+ else {
1225
+ if (distDopCEdop1BS < distDopCEdop2BS) {
1226
+ terminalDiagramObject.diagramObjectPoints.push(dop1BusbarSection);
1227
+ dop1BusbarSection.diagramObject = terminalDiagramObject;
1228
+ }
1229
+ else {
1230
+ terminalDiagramObject.diagramObjectPoints.push(dop2BusbarSection);
1231
+ dop2BusbarSection.diagramObject = terminalDiagramObject;
1232
+ }
1233
+ }
1234
+ }
1235
+ else {
1236
+ const dopIntersection = new DiagramObjectPoint_1.DiagramObjectPoint();
1237
+ dopIntersection.mrid = (0, utils_1.generateUUID)();
1238
+ dopIntersection.xPosition = tempVec[0];
1239
+ dopIntersection.yPosition = tempVec[1];
1240
+ terminalDiagramObject.diagramObjectPoints.push(dopIntersection);
1241
+ dopIntersection.diagramObject = terminalDiagramObject;
1242
+ }
1243
+ }
1244
+ filterTablesByAvailability(relevantTables) {
1245
+ let filteredRelevantTables = [];
1246
+ for (const relevantTable of relevantTables) {
1247
+ if (this.isTableAvailable(relevantTable)) {
1248
+ filteredRelevantTables.push(relevantTable);
1249
+ }
1250
+ }
1251
+ return filteredRelevantTables;
1252
+ }
1253
+ isTableAvailable(tableName) {
1254
+ return this.i7TableName2Table.has(tableName);
1255
+ }
1256
+ getAvailableColumnNames(tableName) {
1257
+ return this.i7TableName2Table.get(tableName).columnNames;
1258
+ }
1259
+ runAndLogPerformance(func, ...args) {
1260
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1261
+ const startTime = perf_hooks_1.performance.now();
1262
+ yield func.apply(this, args);
1263
+ this.logger.debug(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1264
+ console.log(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
1265
+ });
1266
+ }
1267
+ }
1268
+ exports.DLConverterI7 = DLConverterI7;
1269
+ DLConverterI7.variantenNr2Diagram = new Map();
1270
+ DLConverterI7.type2i7IDs = new Map();
1271
+ DLConverterI7.i7ID2cimUUIDs = new Map();
1272
+ DLConverterI7.i7ID2Type = new Map();
1273
+ DLConverterI7.i7ID2DbNsgObject = new Map();
1274
+ DLConverterI7.cimUUID2i7ID = new Map();
1275
+ DLConverterI7.cimUUID2Object = new Map();
1276
+ DLConverterI7.cimUUID2DiagramObject = new Map();
1277
+ DLConverterI7.i7ID2DbNsgObjectInFrame = new Map();
1278
+ DLConverterI7.purgeData = true;
1279
+ DLConverterI7.cimModelObjects = new Model_1.Model();
1280
+ //# sourceMappingURL=dl-converter-i7.js.map