Files
qt5-legatus-legacy/Lts/Services/AssetManagement/asm_service.xml
T
2026-08-13 18:33:10 +02:00

245 lines
13 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<service namespace="AssetManagement" abbreviation="ASM" procNames="AssetManagement" exerciseDependency="Global" groups="Core" prio="2">
<rcs>
<Id Id="$Id$"/>
<HeadURL HeadURL="$HeadURL$"/>
<Author Author="$Author$"/>
</rcs>
<tables>
<table name="asm_asset">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<column name="asset_type_id" datatype="integer" isForeignKey="1"/>
<column name="location_id" datatype="integer" isForeignKey="1"/>
<column name="sub_location" datatype="integer" default="0" comment="0-left, 1-right"/>
<column name="certificate" datatype="bytea"/>
<column name="properties" datatype="jsonb"/>
<foreignKey name="FK_asm_asset_asm_asset_type">
<source table="asm_asset" column="asset_type_id"/>
<destination table="asm_asset_type" column="id"/>
</foreignKey>
<foreignKey name="FK_asm_asset_asm_location">
<source table="asm_asset" column="location_id"/>
<destination table="asm_location" column="id"/>
</foreignKey>
</table>
<table name="asm_asset_type">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="asm_egcu_relay_info" comment="EGCU-Relay-Names">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="relay_id" datatype="integer" comment="Index of Relay"/>
<column name="name" datatype="text" comment="Name of relay"/>
<column name="description" datatype="text" comment="description of relay"/>
<column name="properties" datatype="text" comment="properties of relay"/>
<constraint name="UQ_asm_egcu_relay_info_id" type="unique">
<column name="id"/>
</constraint>
<constraint name="UQ_asm_egcu_relay_info_name" type="unique">
<column name="name"/>
</constraint>
<constraint name="UQ_asm_egcu_relay_info_relay_id" type="unique">
<column name="relay_id"/>
</constraint>
</table>
<table name="asm_location">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<column name="description" datatype="text"/>
</table>
<table name="asm_map_description">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<column name="description" datatype="text"/>
<column name="training_area_id" datatype="integer" isForeignKey="1"/>
<column name="map_type_id" datatype="integer" isForeignKey="1"/>
<column name="url" datatype="text" comment="List of map information with link to a geo-server"/>
<column name="min_scale" datatype="real" default="-1"/>
<column name="max_scale" datatype="real" default="-1"/>
<column name="obj_order" datatype="integer"/>
<column name="map_description_type_id" datatype="integer" isForeignKey="1"/>
<foreignKey name="FK_map_map_type">
<source table="asm_map_description" column="map_type_id"/>
<destination table="asm_map_type" column="id"/>
</foreignKey>
<foreignKey name="FK_map_training_area">
<source table="asm_map_description" column="training_area_id"/>
<destination table="asm_training_area" column="id"/>
</foreignKey>
<foreignKey name="FK_asm_map_description_asm_map_description_type" referential_integrity="DeleteCascade">
<source table="asm_map_description" column="map_description_type_id"/>
<destination table="asm_map_description_type" column="id"/>
</foreignKey>
</table>
<table name="asm_map_description_type">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="asm_map_type">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<constraint name="UQ_map_type_id" type="unique">
<column name="id"/>
</constraint>
</table>
<table name="asm_technical_area">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<column name="training_area_id" datatype="integer" isForeignKey="1"/>
<column name="position" datatype="point_2d"/>
<column name="width" datatype="integer"/>
<column name="length" datatype="integer"/>
<column name="charge_type_id" datatype="integer" isForeignKey="1"/>
<foreignKey name="FK_asm_technical_area_asm_training_area" referential_integrity="DeleteCascade">
<source table="asm_technical_area" column="training_area_id"/>
<destination table="asm_training_area" column="id"/>
</foreignKey>
<foreignKey name="FK_asm_technical_area_pdm_charge_type" referential_integrity="DeleteCascade">
<source table="asm_technical_area" column="charge_type_id"/>
<destination service="ProjectDataManagement" serviceAbbr="pdm" schema="pdm" table="pdm_charge_type" column="id"/>
</foreignKey>
</table>
<table name="asm_training_area">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<column name="bottom_left" datatype="point_2d"/>
<column name="height" datatype="integer"/>
<column name="width" datatype="integer"/>
<column name="image" datatype="bytea"/>
<constraint name="UQ_asm_training_area_id" type="unique">
<column name="id"/>
</constraint>
</table>
</tables>
<views/>
<dbServiceStructs>
<serviceStruct name="AsmAsset" table="asm_asset"/>
<serviceStruct name="AsmEgcuRelayInfo" table="asm_egcu_relay_info"/>
<serviceStruct name="AsmLocation" table="asm_location"/>
<serviceStruct name="AsmMapDescription" table="asm_map_description"/>
<serviceStruct name="AsmTechnicalArea" table="asm_technical_area"/>
<serviceStruct name="AsmTrainingArea" table="asm_training_area"/>
<table name="asm_asset"/>
<table name="asm_egcu_relay_info"/>
<table name="asm_location"/>
<table name="asm_map_description"/>
<table name="asm_technical_area"/>
<table name="asm_training_area"/>
</dbServiceStructs>
<topicTypes>
<topicType name="Asset" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" baseValueType="Core::BaseEntity">
<column name="assetTypeId" idlType="AssetType"/>
<column name="locationId" idlType="long"/>
<column name="subLocation" idlType="long"/>
<column name="certificate" idlType="sequence&lt;octet&gt;"/>
<column name="properties" idlType="string"/>
</topicType>
<topicType name="Location" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" baseValueType="Core::BaseEntity">
<column name="description" idlType="string"/>
</topicType>
<topicType name="MapDescription" baseValueType="Core::BaseEntity">
<column name="mapTypeId" idlType="MapType"/>
<column name="trainingAreaId" idlType="long"/>
<column name="description" idlType="string"/>
<column name="url" idlType="string"/>
<column name="minScale" idlType="double"/>
<column name="maxScale" idlType="double"/>
<column name="mapDescriptionTypeId" idlType="MapDescriptionType"/>
</topicType>
<topicType name="TrainingArea" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="1" baseValueType="Core::BaseEntity">
<column name="bottomLeft" idlType="Core::GeoPosition2D"/>
<column name="height" idlType="long"/>
<column name="width" idlType="long"/>
<column name="image" idlType="sequence&lt;octet&gt;"/>
<column name="map2D" idlType="sequence&lt;MapDescription&gt;"/>
<column name="scene3D" idlType="sequence&lt;MapDescription&gt;"/>
<column name="elevation" idlType="sequence&lt;MapDescription&gt;"/>
<column name="sceneObjects" idlType="sequence&lt;MapDescription&gt;"/>
</topicType>
<topicType name="WorkstationLogout" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="originatorId" idlType="long" isKey="1"/>
<column name="ids" idlType="sequence&lt;long&gt;"/>
<column name="shutdownAction" idlType="ShutdownAction" comment="if true, also shut down the workstation"/>
<column name="sampleTime" idlType="long long"/>
</topicType>
<topicType name="RelayInfo" extensibility="EXTENSIBLE" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" baseValueType="Core::BaseEntity">
<column name="description" idlType="string"/>
<column name="property" idlType="string"/>
</topicType>
</topicTypes>
<functionTopics>
<functionTopic name="RelayInfoRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="RelayInfoRemoveRequest" replyTopicName="RelayInfoRemoveReply" routeInReplay="0"/>
<functionTopic name="RelayInfoModify" requestTopicType="RelayInfo" replyTopicType="Core::FunctionReply" requestTopicName="RelayInfoModifyRequest" replyTopicName="RelayInfoModifyReply" routeInReplay="0"/>
<functionTopic name="AssetModify" requestTopicType="Asset" replyTopicType="Core::FunctionReply" requestTopicName="AssetModifyRequest" replyTopicName="AssetModifyReply" routeInReplay="0"/>
<functionTopic name="AssetRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="AssetRemoveRequest" replyTopicName="AssetRemoveReply" routeInReplay="0"/>
<functionTopic name="MapDescriptionModify" requestTopicType="MapDescription" replyTopicType="Core::FunctionReply" requestTopicName="MapDescriptionModifyRequest" replyTopicName="MapDescriptionModifyReply" routeInReplay="0"/>
<functionTopic name="MapDescriptionRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="MapDescriptionRemoveRequest" replyTopicName="MapDescriptionRemoveReply" routeInReplay="0"/>
<functionTopic name="TrainingAreaModify" requestTopicType="TrainingArea" replyTopicType="Core::FunctionReply" requestTopicName="TrainingAreaModifyRequest" replyTopicName="TrainingAreaModifyReply" routeInReplay="0"/>
<functionTopic name="TrainingAreaRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="TrainingAreaRemoveRequest" replyTopicName="TrainingAreaRemoveReply" routeInReplay="0"/>
<functionTopic name="WorkstationLogout" requestTopicType="WorkstationLogout" replyTopicType="Core::FunctionReply" requestTopicName="WorkstationLogoutRequest" replyTopicName="WorkstationLogoutReply" routeInReplay="0"/>
</functionTopics>
<customDtcFunctions>
<customDtcFunction>
<function name="isAARWorkstation" returns="bool">
<parameter pos="1" name="wsName" type="const QString &amp;"/>
</function>
</customDtcFunction>
<customDtcFunction>
<function name="getAssetId" returns="int">
<parameter pos="1" name="wsName" type="const QString &amp;"/>
</function>
</customDtcFunction>
</customDtcFunctions>
<enumerations>
<enumeration name="MapType" table="asm_map_type">
<attribute key="Unknown" value="0"/>
<attribute key="Topographic" value="1"/>
<attribute key="Aerial" value="2"/>
<attribute key="Feature" value="3"/>
<attribute key="Elevation" value="4"/>
<attribute key="SceneObjects" value="5"/>
</enumeration>
<enumeration name="ShutdownAction">
<attribute key="NoAction" value="0"/>
<attribute key="Logout" value="1"/>
<attribute key="Shutdown" value="2"/>
<attribute key="Reboot" value="3"/>
</enumeration>
<enumeration name="AssetType" table="asm_asset_type">
<attribute key="Unknown" value="0"/>
<attribute key="Workstation" value="1"/>
<attribute key="Printer" value="2"/>
<attribute key="Beamer" value="3"/>
<attribute key="ProjectionWorkstation" value="4"/>
<attribute key="MobileAfterActionVehicle" value="5"/>
<attribute key="AdlerSAA" value="6"/>
</enumeration>
<enumeration name="MapDescriptionType" table="asm_map_description_type">
<attribute key="Map2D" value="1"/>
<attribute key="Scene3D" value="2"/>
<attribute key="Elevation" value="3"/>
<attribute key="SceneObj" value="4"/>
</enumeration>
</enumerations>
<operatorRights offset="4"/>
</service>