2835 lines
114 KiB
XML
2835 lines
114 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<?xml-stylesheet type="text/xsl" href="metadata.xsl"?>
|
||
<metadata>
|
||
|
||
<!-- Для редактирования геозоны -->
|
||
<!--type n="SysGeoFencesLocations" d="_('Coordinates_Geofence')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Geofence')" n="geofence_id" vt="object" maybenull="0" ot="GeoFences" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Latitude')" n="lat" vt="f8"/>
|
||
<prop d="_('Longitude')" n="lon" vt="f8"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_GeoFencesLocations_1(${_user_id},${geofences_id},${lat},${lon});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_GeoFencesLocations_2(${_user_id},${id},${geofence_id},${lat},${lon});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_GeoFencesLocations_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from GeoFencesLocations where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Coordinates_Geofence')" width="860">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_GeoFencesLocations_5(${_user_id},${id},${geofence_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Geofence')" n="geofence_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Geofence')" n="geofence_name" width="30%"/>
|
||
<column d="_('Latitude')" n="lat" width="150"/>
|
||
<column d="_('Longitude')" n="lon" width="150"/>
|
||
</objects-list>
|
||
</type-->
|
||
|
||
<!-- Для смены пароля. -->
|
||
<type n="SysChangePassword" d="_('Change_password')" ObjectID="id">
|
||
<properties>
|
||
<prop d="_('Login')" n="login" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Password')" n="password" vt="string" size="66" maybenull="0"/>
|
||
<prop d="_('New password')" n="newpassword" vt="string" size="66" maybenull="0"/>
|
||
<prop d="_('Repeat password')" n="repeatpassword" vt="string" size="66" maybenull="0"/>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_SysChangePassword_2(${_user_id},${login},${password},${newpassword},${repeatpassword});]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('User_settings')">
|
||
<sql-query><![CDATA[]]></sql-query>
|
||
<filter></filter>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Для смены логина -->
|
||
<type n="SysChangeLogin" d="_('Change_login')" ObjectID="id">
|
||
<properties>
|
||
<prop d="_('Login')" n="login" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('New_login')" n="newlogin" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Password')" n="password" vt="string" size="66" maybenull="0"/>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_SysChangeLogin_2(${_user_id},${login},${newlogin},${password});]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('User_settings')">
|
||
<sql-query><![CDATA[]]></sql-query>
|
||
<filter></filter>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Системный объект. -->
|
||
<type n="SysUsersSettings" d="_('User_settings')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="255"/>
|
||
<prop d="_('Value')" n="value" vt="string" size="255"/>
|
||
<sql-query t="i">
|
||
<![CDATA[select p_SysUsersSettings_1(${_user_id},${name},${value});]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('User_settings')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
SELECT id,name,value
|
||
FROM UsersSettings
|
||
WHERE
|
||
del = FALSE
|
||
and (${id} is null or ${id}=id)
|
||
and user_id=${_user_id}
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="_('Value')" n="value" width="40%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Системный объект. -->
|
||
<type n="SysCompanies" d="Sys _('Company')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="Sys _('Company')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
c.*,
|
||
t.maxlat,
|
||
t.maxlon,
|
||
t.minlat,
|
||
t.minlon
|
||
from
|
||
Companies c
|
||
left join (select max(o.lat) maxlat,max(o.lon) maxlon,min(o.lat) minlat,min(o.lon) minlon, o.company_id from objects o where o.del=false group by o.company_id) t on t.company_id=c.id
|
||
where
|
||
del=false
|
||
and getAccess(${_user_id}, 'Select_Companies')
|
||
and (id in (select company_id from CompaniesUsers where del=false and user_id=${_user_id}))
|
||
order by name;
|
||
]]>
|
||
</sql-query>
|
||
<filter>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="100"/>
|
||
<column d="maxlat" n="maxlat" width="100"/>
|
||
<column d="maxlon" n="maxlon" width="100"/>
|
||
<column d="minlat" n="minlat" width="100"/>
|
||
<column d="minlon" n="minlon" width="100"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Системный объект, используемый для отправки данных клиентской программе для построения маршрута. -->
|
||
<type n="SysObjectsLocations" d="_('Value')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Values')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_SysObjectsLocations_4(${_user_id},${object_id},FROM_UNIXTIME(${date_start}),FROM_UNIXTIME(${date_end}));
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="_('Object') (_('sensor'))" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<column d="object_id" n="object_id" width="100"/>
|
||
<column d="lat" n="lat" width="100"/>
|
||
<column d="lon" n="lon" width="100"/>
|
||
<column d="alt" n="alt" width="100"/>
|
||
<column d="start" n="start" width="100"/>
|
||
<column d="udate" n="udate" width="130"/>
|
||
<column d="dist" n="dist" width="130"/>
|
||
<column d="speed" n="speed" width="70"/>
|
||
<column d="sec" n="sec" width="130"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Системный объект, используемый для отправки данных клиентской программе для построения маркеров критических. -->
|
||
<type n="SysObjectsMessages" d="_('Value')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Values')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_SysObjectsMessages_4(${_user_id}, ${object_id}, FROM_UNIXTIME(${date_start}), FROM_UNIXTIME(${date_end}));
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="_('Object') (_('sensor'))" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<column d="object_id" n="object_id" width="100"/>
|
||
<column d="subject" n="subject" width="100"/>
|
||
<column d="text" n="text" width="100" renderer="html"/>
|
||
<column d="udate" n="udate" width="130"/>
|
||
<column d="lat" n="lat" width="100"/>
|
||
<column d="lon" n="lon" width="100"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="SysObjectsGroups" d="_('Groups_of_objects')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Groups_of_objects')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select og.id,og.name
|
||
from
|
||
ObjectsGroups og
|
||
where
|
||
og.del=false
|
||
and getAccess(${_user_id}, 'Select_ObjectsGroups')
|
||
and (${id} is null or ${id}=og.id)
|
||
and og.company_id in (select company_id from CompaniesUsers where del=false and user_id=${_user_id})
|
||
order by og.name;
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="50%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="SysObjects" d="_('Object_of_observation')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Object_of_observation')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
SELECT
|
||
o.id,
|
||
o.objectgroup_id,
|
||
o.name,
|
||
t.object_id,
|
||
t.lat,
|
||
t.lon,
|
||
t.speed,
|
||
DATE_FORMAT(CONVERT_TZ(t.`date`, '+00:00', (SELECT u.timezone FROM _users u WHERE u.id=${_user_id})), '%H:%i:%s %d.%m.%Y') `date`
|
||
FROM
|
||
Objects o left join
|
||
( select ol.object_id, ol.lat, ol.lon, COALESCE(ol.speed,ol.velocity) speed, ol.`date` from
|
||
ObjectsLocations ol,
|
||
(select object_id, max(date) date from objectslocations where del=false and date<now() and object_id in (select o.id from CompaniesUsers cu join objects o on o.company_id=cu.company_id where cu.del=false and o.del=false and user_id=1) group by object_id) t
|
||
where
|
||
ol.del=false
|
||
and ol.object_id=t.object_id
|
||
and ol.`date`=t.`date`
|
||
) t on t.object_id=o.id
|
||
WHERE
|
||
o.del = FALSE
|
||
and getAccess(${_user_id}, 'Select_Objects')
|
||
and (${id} is null or ${id}=o.id)
|
||
and o.company_id in (select company_id from CompaniesUsers where del=false and user_id=${_user_id})
|
||
ORDER BY
|
||
o.name;
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column n="objectgroup_id" width="100"/>
|
||
<column n="name" width="200"/>
|
||
<column n="lat" width="200"/>
|
||
<column n="lon" width="200"/>
|
||
<column n="speed" width="200"/>
|
||
<column n="date" width="200"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Системный объект. Возвращает список разрешений для текущего пользователя. -->
|
||
<type n="SysAccessList" d="_('Access')" ObjectID="name">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Access')">
|
||
<sql-query>
|
||
<![CDATA[call getAccessList(${_user_id});]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
</filter>
|
||
<column d="_('Identifier')" n="name" width="200"/>
|
||
<column d="_('Allow')" n="allow" width="80"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="SysObjectsSensors" d="_('Sensor')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Sensor') (_('objects'))">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
os.id
|
||
,os.object_id
|
||
,os.name
|
||
,(select CONCAT(round(ord.value,COALESCE(tst.rnd,99)),' ',tst.measurement) from ObjectsReadings ord, TerminalsSensors tr, SensorsTypes tst where ord.terminalsensor_id=tr.id and tr.terminalsensortype_id=tst.id and objectsensor_id=os.id order by ord.date desc limit 1) value
|
||
,DATE_FORMAT(CONVERT_TZ((select date from ObjectsReadings ord where objectsensor_id=os.id order by ord.date desc limit 1), '+00:00', (SELECT u.timezone FROM _users u WHERE u.id=${_user_id})), '%H:%i:%s %d.%m.%Y') `date`
|
||
from
|
||
ObjectsSensors os
|
||
left join Objects o on os.object_id=o.id
|
||
left join TerminalsSensors ts on os.terminalsensor_id=ts.id
|
||
where
|
||
os.del=false
|
||
and getAccess(${_user_id}, 'Select_ObjectsSensors')
|
||
and (${id} is null or ${id}=os.id)
|
||
and (o.company_id in (select company_id from CompaniesUsers where del=false and user_id=${_user_id}) or getAccess(${_user_id}, 'show_all'))
|
||
order by os.name;
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column n="object_id" width="100"/>
|
||
<column n="name" width="150"/>
|
||
<column n="value" width="150"/>
|
||
<column n="date" width="130"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Системный объект для построения графиков -->
|
||
<type n="SysObjectsReadings" d="Sys _('Value')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Sensor_values')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
obr.id,
|
||
obr.objectsensor_id,
|
||
DATE_FORMAT(CONVERT_TZ(obr.date, '+00:00', (SELECT u.timezone FROM _users u WHERE u.id=${_user_id})), '%H:%i:%s %d.%m.%Y') `date`,
|
||
round(obr.value,COALESCE(tst.rnd,99)) value,
|
||
obs.name as objectsensor_name,
|
||
ts.name as terminalsensor_name,
|
||
tst.measurement as terminalsensortype_measurement
|
||
from
|
||
ObjectsReadings obr left join ObjectsSensors obs on obr.objectsensor_id=obs.id
|
||
left join TerminalsSensors ts on obr.terminalsensor_id=ts.id
|
||
left join SensorsTypes tst on ts.terminalsensortype_id=tst.id
|
||
where
|
||
obr.del=false
|
||
/*and getAccess(${_user_id}, 'Select_ObjectsReadings')*/
|
||
and (${id} is null or ${id}=obr.id)
|
||
and (${objectsensor_id} is null or ${objectsensor_id}=obr.objectsensor_id)
|
||
and (${date_start} is null or FROM_UNIXTIME(${date_start})<=obr.date)
|
||
and (${date_end} is null or FROM_UNIXTIME(${date_end})>=obr.date)
|
||
order by objectsensor_id;
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Object') (_('sensor'))" n="objectsensor_id" vt="object" object="ObjectsSensors" FieldCaption="object_name,name" selector="combo"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<column d="objectsensor_id" n="objectsensor_id" width="100" visible="0"/>
|
||
<column d="_('Object') (_('sensor'))" n="objectsensor_name" width="30%"/>
|
||
<column d="_('Terminal') (_('sensor'))" n="terminalsensor_name" width="130"/>
|
||
<column d="_('Value')" n="value" width="100"/>
|
||
<column d="_('Units_of_measurement')" n="terminalsensortype_measurement" width="60"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
<!--column d="_('Fix_date')" n="fix_date" width="130"/-->
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Системный объект, используемый для сохранения пометки о прочтении сообщения. -->
|
||
<type n="SysMessagesUsers" d="_('Messages')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Read')" n="read" vt="b" />
|
||
<sql-query t="u">
|
||
<![CDATA[select p_SysMessagesUsers_2(${_user_id},${id},${read});]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Messages')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
SELECT mu.id, u.name user_name, m.text message_text, mu.date_read, mu.date_create, m.id message_id
|
||
FROM
|
||
MessagesUsers mu
|
||
join _Users u on mu.user_id=u.id
|
||
join Messages m on mu.message_id=m.id
|
||
WHERE
|
||
mu.del = false
|
||
and getAccess(${_user_id}, 'Select_SysMessagesUsers')
|
||
and (${date_start} is null or FROM_UNIXTIME(${date_start})<=mu.date_create)
|
||
and (${date_end} is null or FROM_UNIXTIME(${date_end})>=mu.date_create)
|
||
and (${read} is null or (${read} and date_read is not null) or (not ${read} and date_read is null))
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
<column d="_('Readed')" n="read" vt="b"><![CDATA[0]]></column>
|
||
</filter>
|
||
<column d="_('User')" n="user_name" width="100"/>
|
||
<column d="_('Content')" n="message_text" width="500" renderer="html"/>
|
||
<column d="_('Date_read')" n="date_read" width="130"/>
|
||
<column d="_('Date_create')" n="date_create" width="130"/>
|
||
<column d="message_id" n="message_id" width="50"/>
|
||
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Слои отдельной компании (месторождение итд...) -->
|
||
<type n="SysLayouts" d="_('Layout')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Layouts')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
SELECT
|
||
id,
|
||
path,
|
||
description
|
||
FROM Layouts
|
||
WHERE
|
||
del = FALSE
|
||
and (company_id IN (SELECT company_id FROM CompaniesUsers WHERE del = FALSE AND user_id = ${_user_id}) OR getAccess(${_user_id}, 'show_all'))
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
</filter>
|
||
<column n="id"/>
|
||
<column n="path"/>
|
||
<column n="description"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Статистика создания и обработки карточек дтп -->
|
||
<type n="SysStatistics" d="_('Statistics')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Statistics')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
(SELECT 'Всего сообщений' description, count(1) cnt FROM messages m join objectslocations ol on ol.id=m.objectlocation_id join objects o on o.id = ol.object_id where o.company_id=3 and (${date_start} is null or FROM_UNIXTIME(${date_start})<=m.date_create) and (${date_end} is null or FROM_UNIXTIME(${date_end})>=m.date_create) and m.del=false )
|
||
union all
|
||
(SELECT 'Создано карточек ДТП' description, count(1) cnt FROM incidentcard ic where (${date_start} is null or FROM_UNIXTIME(${date_start})<=ic.date) and (${date_end} is null or FROM_UNIXTIME(${date_end})>=ic.date) and ic.del=false)
|
||
union all
|
||
(SELECT 'В обработке' description, count(1) cnt FROM incidentcard ic where ic.status='В обработке' and (${date_start} is null or FROM_UNIXTIME(${date_start})<=ic.date) and (${date_end} is null or FROM_UNIXTIME(${date_end})>=ic.date) and ic.del=false)
|
||
union all
|
||
(SELECT 'В исполнении' description, count(1) cnt FROM incidentcard ic where ic.status='В исполнении' and (${date_start} is null or FROM_UNIXTIME(${date_start})<=ic.date) and (${date_end} is null or FROM_UNIXTIME(${date_end})>=ic.date) and ic.del=false)
|
||
union all
|
||
(SELECT 'Выполнено' description, count(1) cnt FROM incidentcard ic where ic.status='Выполнено' and (${date_start} is null or FROM_UNIXTIME(${date_start})<=ic.date) and (${date_end} is null or FROM_UNIXTIME(${date_end})>=ic.date) and ic.del=false)
|
||
|
||
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
|
||
<column d="Параметр" n="description" width="70%"/>
|
||
<column d="Значение" n="cnt" width="30%"/>
|
||
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ReportObjectsReadings" d="_('Report_sensors_values')" ObjectID="id">
|
||
<objects-list d="_('Sensors_values')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
SELECT
|
||
o.id
|
||
,o.name object_name
|
||
,ose.name objectsensor_name
|
||
,DATE_FORMAT(CONVERT_TZ(ore.date, '+00:00', (SELECT u.timezone FROM _users u WHERE u.id=${_user_id})), '%d.%m.%Y %H:%i:%s') date
|
||
,ore.value
|
||
,tst.measurement as terminalsensortype_measurement
|
||
FROM
|
||
ObjectsReadings ore JOIN ObjectsSensors ose ON ore.objectsensor_id = ose.id
|
||
JOIN Objects o ON ose.object_id = o.id
|
||
left join TerminalsSensors ts on ore.terminalsensor_id=ts.id
|
||
left join SensorsTypes tst on ts.terminalsensortype_id=tst.id
|
||
WHERE
|
||
ore.del=false
|
||
/*and getAccess(${_user_id}, 'Select_ReportObjectsReadings')*/
|
||
and (${objectsensor_id} is null or ore.objectsensor_id=${objectsensor_id})
|
||
and (${object_id} is null or ose.object_id=${object_id})
|
||
and (${date_start} is null or FROM_UNIXTIME(${date_start})<=ore.date)
|
||
and (${date_end} is null or FROM_UNIXTIME(${date_end})>=ore.date)
|
||
and (${value_min} is null or ${value_min}<=value)
|
||
and (${value_max} is null or ${value_max}>=value)
|
||
ORDER BY o.name, ose.name, ore.date
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Sensor')" n="objectsensor_id" vt="object" object="ObjectsSensors" FieldCaption="object_name,name" selector="combo"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
<column row="2" d="Min _('Value')" n="value_min" vt="f8"/>
|
||
<column d="Max _('Value')" n="value_max" vt="f8"/>
|
||
</filter>
|
||
<column d="_('Object')" n="object_name" width="40%"/>
|
||
<column d="_('Sensor')" n="objectsensor_name" width="40%"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
<column d="_('Value')" n="value" width="80"/>
|
||
<column d="_('Units_of_measurement')" n="terminalsensortype_measurement" width="60"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ReportFuelConsumption" d="_('Fuel_consumption')" ObjectID="id">
|
||
<objects-list d="_('Fuel_consumption')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
Select
|
||
ol.object_id
|
||
,o.name object_name
|
||
,round(sum(ol.dist)/1000,3) as dist
|
||
,o.fuel
|
||
,round(sum(ol.dist)/1000*(o.fuel/100),3) consumption
|
||
from
|
||
ObjectsLocations ol JOIN Objects o ON o.id=ol.object_id
|
||
where
|
||
ol.del=FALSE
|
||
AND o.del=FALSE
|
||
AND o.fuel IS NOT NULL
|
||
and (${object_id} is null or ol.object_id=${object_id})
|
||
and (${date_start} is null or FROM_UNIXTIME(${date_start})<=ol.`date`)
|
||
and (${date_end} is null or FROM_UNIXTIME(${date_end})>=ol.`date`)
|
||
group by ol.object_id
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<column d="_('Object')" n="object_name" width="40%"/>
|
||
<column d="_('Distance') _('km')" n="dist" width="130"/>
|
||
<column d="_('Consumption_rate')" n="fuel" width="130"/>
|
||
<column d="_('Consumption')" n="consumption" width="130"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ReportCrossingGeofences" d="Пересечение границ геозоны" ObjectID="id">
|
||
<objects-list d="Пересечение границ геозоны" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
o.name object_name,
|
||
g.name geofence_name,
|
||
CASE ogp.position WHEN 1 THEN 'внутри' WHEN 0 THEN 'снаружи' ELSE '-' END position,
|
||
DATE_FORMAT(CONVERT_TZ(ol.`date`, '+00:00', (SELECT u.timezone FROM _users u WHERE u.id=${_user_id})), '%H:%i:%s %d.%m.%Y') `date`,
|
||
ol.lat,
|
||
ol.lon
|
||
from
|
||
objectsgeofencesposition ogp
|
||
join objectsgeofences og on og.id=ogp.objectgeofence_id
|
||
join objects o on o.id=og.object_id
|
||
join geofences g on g.id=og.geofence_id
|
||
join objectslocations ol on ol.id=ogp.objectlocation_id
|
||
where
|
||
ogp.del=false
|
||
and (${object_id} is null or og.object_id=${object_id})
|
||
#and (${geofence_id} is null or ogp.geofence_id=${geofence_id})
|
||
and (${date_start} is null or FROM_UNIXTIME(${date_start})<=ol.`date`)
|
||
and (${date_end} is null or FROM_UNIXTIME(${date_end})>=ol.`date`)
|
||
and (o.company_id in (select company_id from CompaniesUsers where del=false and user_id=${_user_id}) or getAccess(${_user_id}, 'show_all'))
|
||
ORDER BY o.name, g.name, ol.`date` DESC
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1" width="1024">
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Geofence')" n="geofence_id" vt="object" object="GeoFences" FieldCaption="name" selector="combo"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<column d="_('Object')" n="object_name" width="40%"/>
|
||
<column d="_('Geofence')" n="geofence_name" width="40%"/>
|
||
<column d="_('Position')" n="position" width="80"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
<column d="_('Latitude')" n="lat" width="100"/>
|
||
<column d="_('Longitude')" n="lon" width="100"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!--Отчёт дневной пробег и скорость-->
|
||
<type n="CarGPSDays" d="CarGPSDays" ObjectID="car_id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('Day_mileage_and_speed')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_CarGPSDays_5(${_user_id},${object_id},FROM_UNIXTIME(${date_start}),FROM_UNIXTIME(${date_end}));
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column d="_('From_date')" n="date_start" vt="dateTime" row="2"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="50%"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
<column d="_('Kilometers_distance')" n="dist" width="100"/>
|
||
<column d="_('Speed') km/h" n="speed" width="110"/>
|
||
<column d="_('Kilometers_distance_without_signal')" n="edist" width="180"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Отчёт -->
|
||
<type n="CarGPSHours" d="CarGPSHours" ObjectID="car_id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="CarGPSHours">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_CarGPSHours_5(${_user_id}, ${object_id}, FROM_UNIXTIME(${date_start}), FROM_UNIXTIME(${date_end}));
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column d="_('From_date')" n="date_start" vt="dateTime" row="2"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="50%"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
<column d="_('Kilometers_distance')" n="dist" width="110"/>
|
||
<column d="_('Speed') km/h" n="speed" width="110"/>
|
||
<column d="_('Kilometers_distance_without_signal')" n="edist" width="180"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="Сountries" d="Страна" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<prop d="Полное наименование" n="fullname" vt="string" size="255" maybenull="0"/>
|
||
<prop d="2х символьное обозначение" n="alpha2" vt="string" size="2" maybenull="0"/>
|
||
<prop d="3х символьное обозначение" n="alpha3" vt="string" size="3" maybenull="0"/>
|
||
<prop d="ISO символьное обозначение" n="iso" vt="string" size="10" maybenull="0"/>
|
||
<prop d="Расположение" n="location" vt="string" size="255" maybenull="0"/>
|
||
<prop d="Точное расположение" n="location_precise" vt="string" size="255" maybenull="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Сountries_1(${_user_id},${name},${fullname},${alpha2},${alpha3},${iso},${location},${location_precise});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Сountries_2(${_user_id},${id},${name},${fullname},${alpha2},${alpha3},${iso},${location},${location_precise});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Сountries_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p_Сountries_4(${_user_id},${id},0,NULL);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="Страны">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select * from countries
|
||
where
|
||
del=false
|
||
and (${id} is null or ${id}=id)
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Named')" n="name" vt="string"/>
|
||
<column d="_('User')" n="user_id" vt="object" object="_Users" FieldCaption="surname,name,patronymic" fn="fio"/> <!-- selector="combo" -->
|
||
</filter>
|
||
|
||
<column d="_('Named')" n="name" width="60%"/>
|
||
<column d="Полное наименование" n="fullname" width="200"/>
|
||
<column d="2х символьное обозначение" n="alpha2" width="200"/>
|
||
<column d="3х символьное обозначение" n="alpha3" width="200"/>
|
||
<column d="ISO символьное обозначение" n="iso" width="200"/>
|
||
<column d="Расположение" n="location" width="200"/>
|
||
<column d="Точное расположение" n="location_precise" width="200"/>
|
||
|
||
</objects-list>
|
||
</type>
|
||
|
||
|
||
<type n="Companies" d="_('Company')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="Страна" n="country_id" vt="object" maybenull="1" ot="Сountries" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<prop d="_('Company_site')" n="site" vt="string" size="100"/>
|
||
<prop d="_('Contact_phone')" n="phone" vt="string" size="100"/>
|
||
<prop d="Описание" n="description" vt="text" maybenull="0"/> <!-- maybenull не менять по этому полю определяю автоматом ли созданна компания -->
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Companies_1(${_user_id},${country_id},${name},${site},${phone},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Companies_2(${_user_id},${id},${country_id},${name},${site},${phone},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Companies_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p_Companies_4(${_user_id},${id},0,NULL);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Company')" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_Companies_5(${_user_id},${id},${name},${user_id},${with_users});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Named')" n="name" vt="string"/>
|
||
<column d="_('User')" n="user_id" vt="object" object="_Users" FieldCaption="surname,name,patronymic" fn="fio"/>
|
||
<column d="С пользователями" n="with_users" vt="b"><![CDATA[]]></column>
|
||
</filter>
|
||
<column d="Страна" n="country_name" width="100"/>
|
||
<column d="_('Named')" n="name" width="60%"/>
|
||
<column d="_('Site')" n="site" width="200"/>
|
||
<column d="_('Description')" n="description" width="200"/>
|
||
<column d="_('Users')" n="count" width="110">
|
||
<type n="CompaniesUsers">
|
||
<objects-list>
|
||
<filter>
|
||
<column n="company_id"><![CDATA[${id}]]>
|
||
</column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="CompaniesUsers" d="_('Company')->_('User')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Company')" n="company_id" vt="object" maybenull="0" ot="Companies" FieldCaption="name" selector="combo">
|
||
<type n="Companies">
|
||
<objects-list>
|
||
<filter>
|
||
<column n="with_users"><![CDATA[]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</prop>
|
||
<prop d="_('User')" n="user_id" vt="object" maybenull="1" ot="_Users" FieldCaption="surname,name,patronymic" fn="fio"/><!-- selector="combo" -->
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_CompaniesUsers_1(${_user_id},${company_id},${user_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_CompaniesUsers_2(${_user_id},${id},${company_id},${user_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_CompaniesUsers_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p_CompaniesUsers_4(${_user_id},${id},0,NULL);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="Компании->Пользователи">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_CompaniesUsers_5(${_user_id},${id},${company_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Company')" n="company_name" width="60%"/>
|
||
<column d="_('User')" n="user_name" width="40%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="Terminals" d="_('Terminal')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Parent')" n="parent_id" vt="object" ot="Terminals" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Phone')" n="phone" vt="string" size="20"/>
|
||
<prop d="E-mail" n="email" vt="string" size="50"/>
|
||
<prop d="_('Serial number')" n="serial" vt="string" size="50"/>
|
||
<prop d="_('Terminal model')" n="terminalmodel_id" vt="object" maybenull="0" ot="TerminalsModels" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Reserved to the company')" n="company_id" vt="object" maybenull="0" ot="Companies" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Comments')" n="comments" vt="text" size="500"/>
|
||
|
||
<prop d="Отправка только при изменении" n="change" vt="b"/>
|
||
<prop d="Периодичность отправки (сек)" n="delay" vt="i4"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Terminals_1(${_user_id},${name},${phone},${email},${serial},${terminalmodel_id},${company_id},${comments},${change},${delay});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Terminals_2(${_user_id},${id},${name},${phone},${email},${serial},${terminalmodel_id},${company_id},${comments},${change},${delay});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Terminals_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p_Terminals_4(${_user_id},${id},0,NULL);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Terminals')" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_Terminals_5(${_user_id},${id},${company_id},${install},${terminal_id},${name},${serial});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Installed to the object')" n="install" vt="b"></column>
|
||
<column d="_('But') terminal_id" n="terminal_id" vt="i4" visible="1"/>
|
||
<column d="_('Named')" n="name" vt="string" size="50"/>
|
||
<column d="_('Serial number') (IMEI)" n="serial" vt="string" size="50"/>
|
||
</filter>
|
||
<column d="_('Reserved to the company')" n="company_name" width="300"/>
|
||
<column d="_('Installed to the object')" n="object_name" width="160"/>
|
||
<column d="_('Named')" n="name" width="300"/>
|
||
<column d="_('Phone')" n="phone" width="150"/>
|
||
<column d="E-mail" n="email" width="220"/>
|
||
<column d="_('Serial number')" n="serial" width="120"/>
|
||
<column d="_('Count sensors')" n="tscnt" width="120">
|
||
<type n="TerminalsSensors">
|
||
<objects-list d="_('Sensors_types')">
|
||
<filter height="1">
|
||
<column n="terminal_id"><![CDATA[${id}]]>
|
||
</column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
<column d="Настройки" n="tstcnt" width="120">
|
||
<type n="TerminalsSettings">
|
||
<objects-list>
|
||
<filter>
|
||
<column n="terminal_id"><![CDATA[${id}]]>
|
||
</column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="TerminalsSettings" d="Настройки терминала" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
|
||
<prop d="_('Terminal')" n="terminal_id" vt="object" maybenull="0" ot="Terminals" FieldCaption="name" selector="combo"/>
|
||
<prop d="Настройка терминала" n="terminalmodelsetting_id" vt="object" maybenull="0" ot="TerminalsModelsSettings" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Value')" n="value" vt="string" size="100" maybenull="0"/>
|
||
<prop d="Старое значение" n="value_old" vt="string" size="100"/>
|
||
<prop d="Send" n="send" vt="b" />
|
||
<prop d="Дата отправки" n="date" vt="dateTime"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_TerminalsSettings_1(${_user_id},${terminal_id},${terminalmodelsetting_id},${value},${value_old},${send},FROM_UNIXTIME(${date}));]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_TerminalsSettings_2(${_user_id},${id},${terminal_id},${terminalmodelsetting_id},${value},${value_old},${send},FROM_UNIXTIME(${date}));]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_TerminalsSettings_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select id,terminal_id,terminalmodelsetting_id,value,value_old,send,UNIX_TIMESTAMP(date) as date from TerminalsSettings where id=${id};]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="Настройки терминалов" width="1100">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
ts.id,
|
||
t.name as terminal_name,
|
||
tms.name as settings_name,
|
||
ts.terminal_id,
|
||
ts.terminalmodelsetting_id,
|
||
ts.value,
|
||
ts.value_old,
|
||
ts.send,
|
||
ts.date
|
||
from
|
||
TerminalsSettings ts
|
||
join terminals t on t.id=ts.terminal_id
|
||
join TerminalsModelsSettings tms on tms.id=ts.terminalmodelsetting_id
|
||
where
|
||
ts.del=false
|
||
and (${id} is null or ts.id=${id})
|
||
and (${terminal_id} is null or terminal_id=${terminal_id})
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Terminal')" n="terminal_id" vt="object" object="Terminals" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
|
||
<column d="_('Terminal')" n="terminal_name" width="200"/>
|
||
<column d="Тип настройки" n="settings_name" width="200"/>
|
||
<column d="Значение" n="value" width="150"/>
|
||
<column d="Старое значение" n="value_old" width="150"/>
|
||
<column d="Отправлен" n="send" width="150"/>
|
||
<column d="Дата отправки" n="date" width="150"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="TerminalsModels" d="_('Terminal_model')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<sql-query t="i">
|
||
<![CDATA[select p_TerminalsModels_1(${_user_id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_TerminalsModels_2(${_user_id},${id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_TerminalsModels_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p_TerminalsModels_4(${_user_id},${id},0,NULL);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Models_of_terminals')" width="600">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_TerminalsModels_5(${_user_id},${id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="80%"/>
|
||
|
||
<column d="Датчики" n="cntsn" width="120">
|
||
<type n="TerminalsModelsSensors">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="terminalmodel_id"><![CDATA[${id}]]>
|
||
</column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
<column d="Виды настроек" n="cnts" width="120">
|
||
<type n="TerminalsModelsSettings">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="terminalmodel_id"><![CDATA[${id}]]>
|
||
</column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="TerminalsModelsSensors" d="_('Models_sensors')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
|
||
<prop d="_('Terminal_model')" n="terminalmodel_id" vt="object" maybenull="0" ot="TerminalsModels" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<prop d="Значение по умолчанию" n="value" vt="string" size="100" maybenull="0"/>
|
||
<prop d="_('Description')" n="description" vt="text" size="255" maybenull="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_TerminalsModelsSensors_i(${_user_id},${terminalmodel_id},${name},${value},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_TerminalsModelsSensors_u(${_user_id},${id},${terminalmodel_id},${name},${value},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_TerminalsModelsSensors_d(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from TerminalsModelsSensors where id=${id};]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Models_sensors')" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
tms.id,
|
||
tm.name as terminalmodel_name,
|
||
tms.serial,
|
||
tms.name,
|
||
tss.name as terminalsensortype_name,
|
||
tms.coefficient,
|
||
tms.correction,
|
||
tms.hide,
|
||
tms.description
|
||
from
|
||
TerminalsModelsSensors tms
|
||
LEFT join terminalsmodels tm on tm.id=tms.terminalmodel_id
|
||
LEFT join sensorstypes tss on tss.id=tms.terminalsensortype_id
|
||
where
|
||
tms.del=false
|
||
and (${id} is null or tms.id=${id})
|
||
and (${terminalmodel_id} is null or ${terminalmodel_id}=tms.terminalmodel_id)
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Terminal_model')" n="terminalmodel_id" vt="object" object="TerminalsModels" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
|
||
<column d="_('Terminal_model')" n="terminalmodel_name" width="150"/>
|
||
<column d="Идентификатор" n="serial" width="150"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="Вид датчика" n="terminalsensortype_name" width="150"/>
|
||
<column d="_('Coefficient')" n="coefficient" width="150"/>
|
||
<column d="_('Correction')" n="correction" width="150"/>
|
||
<column d="_('Hide')" n="hide" width="150"/>
|
||
<column d="_('Description')" n="description" width="450"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="TerminalsModelsSettings" d="_('Models_settings')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
|
||
<prop d="_('Terminal_model')" n="terminalmodel_id" vt="object" maybenull="0" ot="TerminalsModels" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<prop d="Значение по умолчанию" n="value" vt="string" size="100" maybenull="0"/>
|
||
<prop d="_('Description')" n="description" vt="text" size="255" maybenull="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_TerminalsModelsSettings_1(${_user_id},${terminalmodel_id},${name},${value},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_TerminalsModelsSettings_2(${_user_id},${id},${terminalmodel_id},${name},${value},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_TerminalsModelsSettings_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from TerminalsModelsSettings where id=${id};]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Models_settings')" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
tms.id,
|
||
tm.name as terminalmodel_name,
|
||
tms.name,
|
||
tms.value,
|
||
tms.description
|
||
from
|
||
TerminalsModels tm
|
||
join TerminalsModelsSettings tms on tm.id=tms.terminalmodel_id
|
||
where
|
||
tms.del=false
|
||
and (${id} is null or tms.id=${id})
|
||
and (${terminalmodel_id} is null or ${terminalmodel_id}=tms.terminalmodel_id)
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Terminal_model')" n="terminalmodel_id" vt="object" object="TerminalsModels" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
|
||
<column d="_('Terminal_model')" n="terminalmodel_name" width="150"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="Значение по умолчанию" n="value" width="40%"/>
|
||
<column d="_('Description')" n="description" width="450"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="TerminalsSensors" d="_('Sensor')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Terminal')" n="terminal_id" vt="object" maybenull="0" ot="Terminals" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Identifier')" n="serial" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Sensor_type')" n="terminalsensortype_id" vt="object" maybenull="0" ot="SensorsTypes" FieldCaption="name,measurement" selector="combo"/>
|
||
<prop d="Отправка при изменении" n="change" vt="b"/>
|
||
<prop d="Периодичность отправки (сек)" n="delay" vt="i4"/>
|
||
<prop d="_('Correction') +" n="correction" vt="f4"/>
|
||
<prop d="_('Coefficient') *" n="coefficient" vt="f4"/>
|
||
<prop d="Скрыть при создании объекта *" n="hide" vt="b" maybenull="0"><![CDATA[1]]></prop>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_TerminalsSensors_1(${_user_id},${terminal_id},${serial},${name},${terminalsensortype_id},${coefficient},${correction},${hide});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_TerminalsSensors_2(${_user_id},${id},${terminal_id},${serial},${name},${terminalsensortype_id},${coefficient},${correction},${hide});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_TerminalsSensors_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p_TerminalsSensors_4(${_user_id},${id},0,NULL);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Sensor_of_devices')" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_TerminalsSensors_5(${_user_id},${id},${terminal_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Terminal')" n="terminal_id" vt="object" object="Terminals" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
|
||
<column d="_('Terminal')" n="terminal_name" width="40%"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="_('Measurement')" n="measurement" width="150"/>
|
||
<column d="_('Correction')" n="correction" width="150"/>
|
||
<column d="_('Coefficient')" n="coefficient" width="150"/>
|
||
<column d="_('Hide')" n="hide" width="150"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="SensorsTypes" d="_('Sensor_model')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="50" maybenull="0">
|
||
<type n="_Translations">
|
||
<objects-list>
|
||
<filter>
|
||
<column n="identifier"><![CDATA[${name}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</prop>
|
||
<prop d="_('Units_of_measurement')" n="measurement" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Rounded_to')" n="rnd" vt="i4" />
|
||
<sql-query t="i">
|
||
<![CDATA[select p_SensorsTypes_1(${_user_id},${name},${measurement},${rnd});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_SensorsTypes_2(${_user_id},${id},${name},${measurement},${rnd});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_SensorsTypes_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p_SensorsTypes_4(${_user_id},${id},0,NULL);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Sensors_models')" width="600">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_SensorsTypes_5(${_user_id},${id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="50%"/>
|
||
<column d="_('Measurement')" n="measurement" width="100"/>
|
||
<column d="_('Rounded_to')" n="rnd" width="100"/>
|
||
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ObjectsGroups" d="_('Groups_of_objects')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Company')" n="company_id" vt="object" maybenull="0" ot="Companies" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="50" maybenull="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_ObjectsGroups_1(${_user_id},${company_id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_ObjectsGroups_2(${_user_id},${id},${company_id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_ObjectsGroups_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from ObjectsGroups where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Groups_of_objects')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_ObjectsGroups_5(${_user_id},${id},${company_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Company')" n="comany_name" width="60%"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="_('Count_objects')" n="count_objects" width="150">
|
||
<type n="Objects">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="objectgroup_id"><![CDATA[${id}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
<column d="Пользователей" n="count_users" width="150">
|
||
<type n="ObjectsGroupsUsers">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="objectgroup_id"><![CDATA[${id}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ObjectsGroupsUsers" d="Группа -> Пользователь" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Object') _('group')" n="objectgroup_id" vt="object" maybenull="0" ot="ObjectsGroups" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('User')" n="user_id" vt="object" maybenull="0" ot="_Users" FieldCaption="surname,name,patronymic" fn="fio" selector="combo"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_ObjectsGroupsUsers_1(${_user_id},${objectgroup_id},${user_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_ObjectsGroupsUsers_2(${_user_id},${id},${objectgroup_id},${user_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_ObjectsGroupsUsers_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from ObjectsGroupsUsers where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="Группа -> Пользователь">
|
||
<sql-query>
|
||
<![CDATA[
|
||
SELECT
|
||
ogu.id,
|
||
og.name name_group,
|
||
CONCAT(COALESCE(CONCAT(u.surname,' '),''), COALESCE(CONCAT(u.name,' '),''), COALESCE(CONCAT(u.patronymic,' '),'')) name_user
|
||
from
|
||
ObjectsGroupsUsers ogu
|
||
JOIN objectsgroups og ON ogu.objectgroup_id=og.id
|
||
JOIN _users u ON ogu.user_id = u.id
|
||
where
|
||
ogu.del=false
|
||
and (${id} is null or ogu.id=${id})
|
||
and (${objectgroup_id} is null or ${objectgroup_id} = ogu.objectgroup_id)
|
||
order by og.name,u.surname,u.name
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Group')" n="objectgroup_id" vt="object" object="ObjectsGroups" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="Группа" n="name_group" width="60%"/>
|
||
<column d="Пользователь" n="name_user" width="40%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="CarTypes" d="_('Car_types')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Model')" n="model" vt="string" size="100" maybenull="0"/>
|
||
<prop d="_('Category')" n="category" vt="string" size="100" maybenull="0"/>
|
||
<prop d="_('Description')" n="description" vt="string" size="255" maybenull="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_CarTypes_1(${_user_id},${model},${category},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_CarTypes_2(${_user_id},${id},${model},${category},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_CarTypes_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from CarTypes where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Objects_of_observation')" width="840">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
*
|
||
from
|
||
CarTypes
|
||
where (${id} is null or ${id}=id)
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Model')" n="model" width="200"/>
|
||
<column d="_('Category')" n="category" width="150"/>
|
||
<column d="_('Description')" n="description" width="150"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="Objects" d="_('Object_of_observation')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Object_type')" n="cartype_id" vt="object" maybenull="0" ot="CarTypes" FieldCaption="model" selector="combo"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<prop d="Фотография" n="image_data1" vt="blob" cd="image_name1"/>
|
||
<prop d="Имя файла фотографии" n="image_name1" vt="string" size="250" visible="0"/>
|
||
<prop d="_('Company')" n="company_id" vt="object" maybenull="0" ot="Companies" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Group')" n="objectgroup_id" vt="object" maybenull="0" ot="ObjectsGroups" FieldCaption="comany_name,name" selector="combo"/>
|
||
<prop d="_('Terminal')" n="terminal_id" vt="object" ot="Terminals" FieldCaption="name,serial" selector="combo">
|
||
<![CDATA[]]>
|
||
<!-- Если задано addid то должно обязательно выбрать поле с таким id. -->
|
||
<type n="Terminals">
|
||
<objects-list d="_('Terminals')">
|
||
<filter>
|
||
<column n="terminal_id"><![CDATA[${terminal_id}]]></column>
|
||
<column n="install"><![CDATA[0]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</prop>
|
||
<prop d="_('Stationary')" n="static" vt="b" maybenull="0"><![CDATA[0]]></prop>
|
||
|
||
<prop d="_('Latitude')" n="lat" vt="f8" visible="0" />
|
||
<prop d="_('Longitude')" n="lon" vt="f8" visible="0" />
|
||
<prop d="_('Icon')" n="icon_id" vt="object" maybenull="0" ot="Icons" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Fuel_economy') (л/100км)" n="fuel" vt="f8"/>
|
||
<prop d="Максимальная скорость (км/ч)" n="speed" vt="f8"/>
|
||
<prop d="_('Description')" n="description" vt="text" size="500"/>
|
||
|
||
<prop d="Скрыть" n="hide" vt="b" maybenull="0"><![CDATA[0]]></prop>
|
||
|
||
<prop d="Предупреждать после неактивности (мин.)" n="inactivity" vt="i4"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Objects_1(${_user_id},${cartype_id},${name},${image_data1},${image_name1},${company_id},${objectgroup_id},${terminal_id},${static},${lon},${lat},${icon_id},${fuel},${speed},${description},${hide},${inactivity});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Objects_2(${_user_id},${id},${cartype_id},${name},${image_data1},${image_name1},${company_id},${objectgroup_id},${terminal_id},${static},${lon},${lat},${icon_id},${fuel},${speed},${description},${hide},${inactivity});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Objects_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from Objects where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Objects_of_observation')" width="1125">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_Objects_5(${_user_id},${id},${company_id},${objectgroup_id},${name});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Group')" n="objectgroup_id" vt="object" object="ObjectsGroups" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Name')" n="name" vt="string" size="50"/>
|
||
|
||
</filter>
|
||
<column d="_('Company')" n="company_name" width="200"/>
|
||
<column d="_('Group')" n="objectgroup_name" width="150"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="Фото" n="photo" width="50"/>
|
||
<column d="_('Terminal')" n="terminal_name" width="150"/>
|
||
<column d="_('Stationary')" n="static" width="50"/>
|
||
|
||
<column d="_('Date') создания записи" n="date_create" width="135"/>
|
||
<column d="_('lat')" n="lat" width="50"/>
|
||
<column d="_('lon')" n="lon" width="50"/>
|
||
<column d="_('Date') GPS" n="date" width="135"/>
|
||
|
||
<column d="Датчиков" n="count" width="70">
|
||
<type n="ObjectsSensors">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="object_id"><![CDATA[${id}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
<column d="Геозон" n="count_g" width="70">
|
||
<type n="ObjectsGeoFences">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="object_id"><![CDATA[${id}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="Icons" d="_('Icons')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<prop d="Значок" n="file" vt="blob" cd="file_name" maybenull="0"/>
|
||
<prop d="Значок имя" n="file_name" vt="string" size="250" maybenull="0" visible="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Icons_1(${_user_id},${name},${file},${file_name});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Icons_2(${_user_id},${id},${name},${file},${file_name});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Icons_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from Icons where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Icons')" width="640">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
`id`,
|
||
`name`,
|
||
SUBSTRING(`file_name`,LOCATE('_',`file_name`) +1 ) `file_name`,
|
||
OCTET_LENGTH(`file`) size
|
||
from Icons
|
||
where
|
||
del=FALSE
|
||
and (${id} is null or ${id}=id);
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="_('File') _('Named')" n="file_name" width="40%"/>
|
||
<column d="_('Size') (_('byte'))" n="size" width="40%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="GeoFences" d="_('Geofence')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Company')" n="company_id" vt="object" maybenull="0" ot="Companies" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0"/>
|
||
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_GeoFences_1(${_user_id},${company_id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_GeoFences_2(${_user_id},${id},${company_id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_GeoFences_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from GeoFences where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Geofences')" width="840">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_GeoFences_5(${_user_id},${id},${company_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Company')" n="company_name" width="150"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="_('Coordinate')" n="count" width="90">
|
||
<type n="GeoFencesLocations">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="geofence_id"><![CDATA[${id}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="GeoFencesLocations" d="_('Coordinates_Geofence')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
|
||
<prop d="_('Geofence')" n="geofence_id" vt="object" maybenull="0" ot="GeoFences" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Latitude')" n="lat" vt="f8"/>
|
||
<prop d="_('Longitude')" n="lon" vt="f8"/>
|
||
<prop d="_('Position')" n="pos" vt="i4"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_GeoFencesLocations_1(${_user_id},${geofence_id},${lat},${lon},${pos});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_GeoFencesLocations_2(${_user_id},${id},${geofence_id},${lat},${lon},${pos});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_GeoFencesLocations_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from GeoFencesLocations where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Coordinates_Geofence')" width="400">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_GeoFencesLocations_5(${_user_id},${id},${geofence_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Geofence')" n="geofence_id" vt="object" object="GeoFences" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<!--column d="_('Geofence')" n="geofence_name" width="30%"/-->
|
||
<column d="_('Latitude')" n="lat" width="150"/>
|
||
<column d="_('Longitude')" n="lon" width="150"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="Routes" d="_('Route')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Name')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<prop d="_('Date')" n="date" vt="dateTime" maybenull="1"/>
|
||
<prop d="_('Object')" n="object_id" vt="object" maybenull="0" ot="Objects" FieldCaption="name" selector="combo"/>
|
||
<prop d="Начальная точка маршрута" n="start_city_id" vt="object" maybenull="0" ot="Cities" FieldCaption="country_name,name" selector="combo"/>
|
||
<prop d="Конечная точка маршрута" n="stop_city_id" vt="object" maybenull="0" ot="Cities" FieldCaption="country_name,name" selector="combo"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Routes_1(${_user_id},${name},FROM_UNIXTIME(${date}),${object_id},${start_city_id},${stop_city_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Routes_2(${_user_id},${id},${name},FROM_UNIXTIME(${date}),${object_id},${start_city_id},${stop_city_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Routes_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select id,name,UNIX_TIMESTAMP(`date`) `date`,object_id,start_object_id,stop_object_id,start_lat,start_lon,stop_lat,stop_lon,start_city_id,stop_city_id from Routes where id=${id}
|
||
]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Routes')" width="840">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
r.id,
|
||
r.name,
|
||
DATE_FORMAT(CONVERT_TZ(r.`date`, '+00:00', (SELECT u.timezone FROM _users u WHERE u.id=${_user_id})), '%H:%i:%s %d.%m.%Y') `date`,
|
||
o.name object_name,
|
||
cs.name AS start_city_name,
|
||
ce.name AS stop_city_name,
|
||
coalesce((select sum(1) from RoutesLocations where route_id=r.id),0) count
|
||
from
|
||
Routes r
|
||
left join Objects o on r.object_id = o.id
|
||
left join cities cs on cs.id=r.start_city_id
|
||
left join cities ce on ce.id=r.stop_city_id
|
||
where
|
||
r.del=false
|
||
and (${id} is null or ${id} = r.id)
|
||
and (${object_id} is null or ${object_id}=r.start_object_id)
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Object')" n="object_name" width="150"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
|
||
<column d="Начальная точка маршрута" n="start_city_name" width="130"/>
|
||
<column d="Конечная точка маршрута" n="stop_city_name" width="130"/>
|
||
|
||
<column d="_('Coordinate')" n="count" width="90">
|
||
<type n="RoutesLocations">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="route_id"><![CDATA[${id}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="Cities" d="_('City')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Name')" n="name" vt="string" size="100" maybenull="0"/>
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Cities_1(${_user_id},${name},FROM_UNIXTIME(${date}),${object_id},${start_city_id},${stop_city_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Cities_2(${_user_id},${id},${name},FROM_UNIXTIME(${date}),${object_id},${start_city_id},${stop_city_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Cities_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from Citi where id=${id}
|
||
]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Cities')" width="840">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
ci.id,
|
||
co.name as country_name,
|
||
ci.name
|
||
from
|
||
Cities ci
|
||
left join Countries co on co.id=ci.country_id
|
||
where
|
||
ci.del=false
|
||
and (${id} is null or ${id} = ci.id)
|
||
order by co.name,ci.name
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Country')" n="country_name" width="40%"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
|
||
<type n="RoutesLocations" d="_('Coordinates Geofence')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
|
||
<prop d="_('Route')" n="route_id" vt="object" maybenull="0" ot="Routes" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Latitude')" n="lat" vt="f8" maybenull="0"/>
|
||
<prop d="_('Longitude')" n="lon" vt="f8" maybenull="0"/>
|
||
<prop d="_('Position')" n="pos" vt="i4"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_RoutesLocations_1(${_user_id},${route_id},${lat},${lon},${pos});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_RoutesLocations_2(${_user_id},${id},${route_id},${lat},${lon},${pos});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_RoutesLocations_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from RoutesLocations where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Coordinates_Geofence')" width="400">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select id,lon,lat,pos from RoutesLocations
|
||
where
|
||
del = false
|
||
and (${id} is null or ${id}=id)
|
||
and (${route_id} is null or ${route_id}=route_id)
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Route')" n="route_id" vt="object" object="Routes" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<!--column d="_('Geofence')" n="geofence_name" width="30%"/-->
|
||
<column d="_('Latitude')" n="lat" width="150"/>
|
||
<column d="_('Longitude')" n="lon" width="150"/>
|
||
<column d="_('Position')" n="pos" width="150"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Для связывания объекта и геозоны -->
|
||
<type n="ObjectsGeoFences" d="_('Object')->_('Geofence')" ObjectID="id">
|
||
<properties>
|
||
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Object')" n="object_id" vt="object" maybenull="0" ot="Objects" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Geofence')" n="geofence_id" vt="object" maybenull="0" ot="GeoFences" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('True_position')" n="include" vt="b" maybenull="0">
|
||
<options>
|
||
<option d="_('inside')" val="1"/>
|
||
<option d="_('outside')" val="0"/>
|
||
</options>
|
||
</prop>
|
||
<prop d="_('Only_at_border')" n="border" vt="b" maybenull="0"/>
|
||
<prop d="_('Inform')" n="inform" vt="b" maybenull="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_ObjectsGeoFences_1(${_user_id},${object_id},${geofence_id},${include},${border},${inform});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_ObjectsGeoFences_2(${_user_id},${id},${object_id},${geofence_id},${include},${border},${inform});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_ObjectsGeoFences_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from ObjectsGeoFences where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Object')->_('Geofence')" width="840">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_ObjectsGeoFences_5(${_user_id},${id},${object_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Object')" n="object_name" width="150"/>
|
||
<column d="_('Geofence')" n="geofence_name" width="150"/>
|
||
<column d="_('Inside')" n="include" width="150"/>
|
||
<column d="_('Boundary')" n="border" width="150"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Только для того чтобы заполнить выпадающий список в "ObjectsSensors". -->
|
||
<type n="TerminalsSensorsSelect" d="Sensor for ComboBox" ObjectID="id">
|
||
<objects-list d="TerminalsSensorsSelect">
|
||
<sql-query d="Sensor for ComboBox">
|
||
<![CDATA[
|
||
select
|
||
ts.id
|
||
,concat(COALESCE(t.name,''),' ',COALESCE(ts.name,''),' (',COALESCE(ts.serial,''),')') name
|
||
from
|
||
TerminalsSensors ts join terminals t on t.id=ts.terminal_id,
|
||
Objects o
|
||
where
|
||
ts.del=false
|
||
and ts.terminal_id=o.terminal_id
|
||
and (${id} is null or ${id}=ts.id)
|
||
/* Выбираем не установленные датчики терминала по объекту ${object_id} и присвоенному объекту терминалу. Кроме текущего датчика ${terminalsensor_id} если он не на другом терминале. */
|
||
and (o.id=${object_id} and ts.id not in (select os.terminalsensor_id from objectssensors os join objects ob on ob.id=os.object_id where ob.del=false and os.del=false and os.terminalsensor_id is not null and (${terminalsensor_id} is null or os.terminalsensor_id!=${terminalsensor_id})))
|
||
order by ts.name;
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="terminalsensor_id" n="terminalsensor_id" vt="string"><![CDATA[]]></column>
|
||
<column d="object_id" n="object_id" vt="string"><![CDATA[]]></column>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="50%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ObjectsSensors" d="_('Sensor_of_object')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Object')" n="object_id" vt="object" maybenull="0" ot="Objects" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Sensor')" n="terminalsensor_id" vt="object" ot="TerminalsSensorsSelect" FieldCaption="name" selector="combo">
|
||
<type n="TerminalsSensorsSelect">
|
||
<objects-list>
|
||
<filter >
|
||
<column n="terminalsensor_id"><![CDATA[${terminalsensor_id}]]></column>
|
||
<column n="object_id"><![CDATA[${object_id}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</prop>
|
||
<prop d="Скрыть" n="hide" vt="b" maybenull="0"><![CDATA[0]]></prop>
|
||
|
||
<sql-query t="i"> <!-- i-insert Для вставки записи -->
|
||
<![CDATA[select p_ObjectsSensors_1(${_user_id},${name},${object_id},${terminalsensor_id},${hide});]]>
|
||
</sql-query>
|
||
<sql-query t="u"> <!-- u-update Для для редактирования -->
|
||
<![CDATA[select p_ObjectsSensors_2(${_user_id},${id},${name},${object_id},${terminalsensor_id},${hide});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_ObjectsSensors_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s"> <!-- s-select Выборка для редактирования записи -->
|
||
<![CDATA[select * from ObjectsSensors where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Sensors_of_objects')" width="950">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_ObjectsSensors_5(${_user_id},${id},${object_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Object')" n="object_name" width="150"/>
|
||
<column d="_('Named')" n="name" width="40%"/>
|
||
<!--column d="_('Last value')" n="value" width="155"/>
|
||
<column d="_('Date of the last value')" n="date" width="130"/-->
|
||
<column d="_('Sensor')" n="terminalsensor_name" width="200"/>
|
||
<column d="Скрыть" n="hide" width="70"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ObjectsReadings" d="_('Readings')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Sensor') (_('Object'))" n="objectsensor_id" vt="object" maybenull="0" ot="ObjectsSensors" FieldCaption="object_name,name" selector="combo"/>
|
||
<prop d="_('Sensor') (_('Devices'))" n="terminalsensor_id" vt="object" maybenull="0" ot="TerminalsSensors" FieldCaption="terminal_name,name" selector="combo"/>
|
||
|
||
<prop d="_('Value')" n="value" vt="f8" size="50" maybenull="0"/>
|
||
<prop d="_('Date')" n="date" vt="dateTime" maybenull="0"/>
|
||
<prop d="fix_date" n="fix_date" vt="dateTime" visible="1"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_ObjectsReadings_1(${_user_id},${objectsensor_id},${terminalsensor_id},${value},FROM_UNIXTIME(${date}),FROM_UNIXTIME(${fix_date}));]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_ObjectsReadings_2(${_user_id},${id},${objectsensor_id},${terminalsensor_id},${value},FROM_UNIXTIME(${date}),FROM_UNIXTIME(${fix_date}));]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_ObjectsReadings_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[
|
||
select
|
||
id,
|
||
del,
|
||
seq,
|
||
objectsensor_id,
|
||
terminalsensor_id,
|
||
value,
|
||
UNIX_TIMESTAMP(`date`) date,
|
||
UNIX_TIMESTAMP(`fix_date`) fix_date
|
||
from
|
||
ObjectsReadings
|
||
where id=${id};
|
||
]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Sensor_readings')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_ObjectsReadings_5(${_user_id},${id},${object_id},${objectsensor_id},FROM_UNIXTIME(${date_start}),FROM_UNIXTIME(${date_end}));
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Object') (_('Sensor'))" n="objectsensor_id" vt="object" object="ObjectsSensors" FieldCaption="object_name,name" selector="combo"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<!--column d="objectsensor_id" n="objectsensor_id" width="100" visible="0"/-->
|
||
<column d="_('Object') (_('Sensor'))" n="objectsensor_name" width="30%"/>
|
||
<column d="_('Terminal') (_('Sensor'))" n="terminalsensor_name" width="130"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
<column d="_('Value')" n="value" width="100"/>
|
||
<column d="_('Units_of_measurement')" n="terminalsensortype_measurement" width="60"/>
|
||
<column d="_('Fix_date')" n="fix_date" width="130"/>
|
||
<column d="_('Delay')" n="delay" width="130"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ObjectsLocations" d="_('GPS_readings')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
|
||
<prop d="_('Terminal')" n="terminal_id" vt="object" maybenull="0" ot="Terminals" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Object')" n="object_id" vt="object" maybenull="0" ot="Objects" FieldCaption="name" selector="combo"/>
|
||
<prop d="lat" n="lon" vt="f8"/>
|
||
<prop d="lon" n="lon" vt="f8"/>
|
||
<prop d="alt" n="i4" vt="f8"/>
|
||
<prop d="_('Date')" n="date" vt="dateTime" size="50" maybenull="0"/>
|
||
<prop d="_('Fixation_date')" n="fix_date" vt="dateTime" size="50" maybenull="0"/>
|
||
<prop d="dist" n="f4" vt="f8"/>
|
||
<prop d="speed" n="f4" vt="f8"/>
|
||
<prop d="sec" n="f4" vt="f8"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_ObjectsLocations_1(${_user_id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_ObjectsLocations_2(${_user_id},${id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_ObjectsLocations_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from ObjectsLocations where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('GPS_readings')" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_ObjectsLocations_5(${_user_id},${id},${object_id},FROM_UNIXTIME(${date_start}),FROM_UNIXTIME(${date_end}));
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Object') (_('Sensor'))" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo">
|
||
<type n="Objects">
|
||
<objects-list>
|
||
<filter height="1">
|
||
<column n="company_id"><![CDATA[]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<!--column d="object_id" n="object_id" width="100" visible="0"/-->
|
||
<column d="_('Object')" n="object_name" width="30%"/>
|
||
<column d="_('Terminal')" n="terminal_name" width="30%"/>
|
||
<column d="_('Latitude')" n="lat" width="70"/>
|
||
<column d="_('Longitude')" n="lon" width="70"/>
|
||
<column d="_('Speed') m/s" n="speed" width="100"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
<column d="_('Fix_date')" n="fix_date" width="130"/>
|
||
<column d="_('Delay')" n="delay" width="130"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="MessagesTypes" d="_('Types_of_messages')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Name')" n="subject" vt="string" size="50" />
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_MessagesTypes_1(${_user_id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_MessagesTypes_2(${_user_id},${id},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_MessagesTypes_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from MessagesTypes where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Types_of_messages')" width="400">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select * from MessagesTypes where ${id} is null or id=${id}
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Name')" n="name" width="100%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="Messages" d="_('Message')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Subject')" n="subject" vt="string" size="255" />
|
||
<prop d="_('Message')" n="text" vt="text" />
|
||
<prop d="object_id" n="object_id" vt="i4" />
|
||
<prop d="objectreading_id" n="objectreading_id" vt="i4" />
|
||
<prop d="objectlocation_id" n="objectlocation_id" vt="i4" />
|
||
<prop d="incidentcar_id" n="incidentcar_id" vt="i4" />
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Messages_1(${_user_id},${subject},${text},${object_id},${objectreading_id},${objectlocation_id},${incidentcar_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Messages_2(${_user_id},${id},${subject},${text},${object_id},${objectreading_id},${objectlocation_id},${incidentcar_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Messages_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from Messages where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Messages')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_Messages_5(${_user_id},${id},FROM_UNIXTIME(${date_start}),FROM_UNIXTIME(${date_end}),${company_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Subject')" n="subject" width="150"/>
|
||
<column d="_('Contents')" n="text" width="60%" renderer="html"/>
|
||
<column d="_('Creation_date')" n="date_create" width="130"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Столбцы не путать потому что используется в проге -->
|
||
<type n="MessagesUsers" d="_('User_messages')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('User')" n="user_id" vt="object" maybenull="0" ot="_Users" FieldCaption="name"/>
|
||
<prop d="_('Message')" n="message_id" vt="object" maybenull="0" ot="Messages" FieldCaption="subject"/>
|
||
<prop d="_('Reading_date')" n="date_read" vt="dateTime" />
|
||
<!--prop d="_('Creation_date')" n="date_create" vt="dateTime" /-->
|
||
<prop d="На почту" n="mail" vt="b" />
|
||
<prop d="Через SMS" n="sms" vt="b" />
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_MessagesUsers_1(${_user_id},${user_id},${message_id},${date_read},${mail},${sms});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_MessagesUsers_2(${_user_id},${id},${user_id},${message_id},${date_read},${mail},${sms});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_MessagesUsers_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from MessagesUsers where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Users_messages')" width="1200">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_MessagesUsers_5(${_user_id},${id},${user_id},FROM_UNIXTIME(${date_start}),FROM_UNIXTIME(${date_end}),${read});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('User')" n="user_id" vt="object" object="_Users" FieldCaption="surname,name,patronymic" selector="combo" visible="0"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
<column d="_('Read')" n="read" vt="b"><![CDATA[0]]>
|
||
</column>
|
||
</filter>
|
||
<column d="_('User')" n="user_name" width="100"/>
|
||
<column d="_('Content')" n="message_text" width="60%" renderer="html"/>
|
||
<column d="_('Date_read')" n="date_read" width="130"/>
|
||
<column d="_('Date_create')" n="date_create" width="130"/>
|
||
<column d="object_id" n="object_id" width="100"/>
|
||
<column d="incidentcard_id" n="incidentcard_id" width="100"/>
|
||
<column d="objectreading_id" n="objectreading_id" width="100"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="IncidentCard" d="Карточка ДТП (на всё)" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="Статус" n="status" vt="string" size="100" />
|
||
<prop d="_('Object')" n="object_id" vt="object" maybenull="0" ot="Objects" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Message')" n="message_id" vt="object" maybenull="0" ot="Messages" FieldCaption="name" selector="combo"/>
|
||
<prop d="Номер" n="number" vt="string" size="100" />
|
||
<prop d="Дата совершения ДТП" n="date" vt="dateTime" maybenull="0"/>
|
||
<prop d="Место совершения ДТП" n="address_type" vt="string" size="255" />
|
||
<prop d="Адресс" n="address" vt="string" size="255" />
|
||
<prop d="Дорожные условия" n="street_state" vt="string" size="100" />
|
||
<prop d="Недостатки улично-дорожной сети" n="street_limitation" vt="string" size="255" />
|
||
<prop d="Погодные условия" n="weather_state" vt="string" size="255" />
|
||
<prop d="Вид ДТП" n="incident_type" vt="string" size="255" />
|
||
<prop d="Нарушение Правил дорожного движения" n="violation_sda" vt="string" size="255" />
|
||
<prop d="Фабула ДТП" n="story" vt="text" />
|
||
<prop d="Количество: раненых" n="wounded" vt="i4" />
|
||
<prop d="Погибших" n="perished" vt="i4" />
|
||
<prop d="Виновный участник ДТП" n="culprit" vt="string" size="255" />
|
||
<prop d="Состояние виновника ДТП" n="culprit_state" vt="string" size="255" />
|
||
<prop d="Сведения о виновном пешеходе, велосипедисте, возчике (Ф.И.О., дата рождения)" n="culprit_name" vt="string" size="255" />
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_IncidentCard_1(${_user_id},${status},${object_id},${message_id},${number},FROM_UNIXTIME(${date}),${address_type},${address},${street_state},${street_limitation},${weather_state},${incident_type},${violation_sda},${story},${wounded},${perished},${culprit},${culprit_state},${culprit_name});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_IncidentCard_2(${_user_id},${id},${status},${object_id},${message_id},${number},FROM_UNIXTIME(${date}),${address_type},${address},${street_state},${street_limitation},${weather_state},${incident_type},${violation_sda},${story},${wounded},${perished},${culprit},${culprit_state},${culprit_name});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_IncidentCard_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[
|
||
select
|
||
id,del,seq,
|
||
status,
|
||
object_id,
|
||
message_id,
|
||
number,
|
||
UNIX_TIMESTAMP(`date`) date,
|
||
address_type,
|
||
address,
|
||
street_state,
|
||
street_limitation,
|
||
weather_state,
|
||
incident_type,
|
||
violation_sda,
|
||
story,
|
||
wounded,
|
||
perished,
|
||
culprit,
|
||
culprit_state,
|
||
culprit_name
|
||
from
|
||
IncidentCard
|
||
where
|
||
id=${id}
|
||
]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="Карточка ДТП">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
ic.id,
|
||
ic.status,
|
||
ic.number,
|
||
DATE_FORMAT(CONVERT_TZ(ic.`date`, '+00:00', (SELECT u.timezone FROM _users u WHERE u.id=${_user_id})), '%H:%i:%s %d.%m.%Y') `date`,
|
||
ic.street_state,
|
||
ol.lat,
|
||
ol.lon,
|
||
UNIX_TIMESTAMP(ol.date) utime,
|
||
ol.object_id
|
||
from
|
||
IncidentCard ic
|
||
join objects o on ic.object_id=o.id
|
||
left join Messages m on m.id=ic.message_id
|
||
left join objectslocations ol on ol.id=m.objectlocation_id
|
||
where
|
||
ic.del=false
|
||
and (${id} is null or ${id}=ic.id)
|
||
and (${company_id} is null or ${company_id} = o.company_id)
|
||
and (${status} is null or status=${status})
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo" visible="0"/>
|
||
<column d="_('Статус')" n="status" vt="string" selector="combo">
|
||
<options>
|
||
<option d="" val=""/>
|
||
<option d="В обработке" val="В обработке"/>
|
||
<option d="В исполнении" val="В исполнении"/>
|
||
<option d="Выполнено" val="Выполнено"/>
|
||
</options>
|
||
</column>
|
||
</filter>
|
||
|
||
<column d="Статус" n="status" width="100"/>
|
||
<column d="Номер карточки" n="number" width="130"/>
|
||
<column d="Дата совершения ДТП" n="date" width="160"/>
|
||
<column d="Дорожные условия" n="street_state" width="400"/>
|
||
|
||
<column d="lat" n="lat" width="130"/>
|
||
<column d="lon" n="lon" width="130"/>
|
||
<column d="utime" n="utime" width="130"/>
|
||
<column d="object_id" n="object_id" width="130"/>
|
||
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="IncidentService" d="Прикрепленные службы" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="Карточка ДТП" n="incidentcard_id" vt="object" maybenull="0" ot="IncidentCard" FieldCaption="date" selector="combo"/>
|
||
<prop d="Служба" n="object_id" vt="object" maybenull="0" ot="Objects" FieldCaption="name" selector="combo"/>
|
||
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_IncidentService_1(${_user_id},${incidentcard_id},${object_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_IncidentService_2(${_user_id},${id},${incidentcard_id},${object_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_IncidentService_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[
|
||
select
|
||
id,del,seq,
|
||
incidentcard_id,
|
||
object_id
|
||
from
|
||
IncidentService
|
||
where
|
||
id=${id}
|
||
]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="Прикрепленные службы">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
i.id,
|
||
o.name object_name,
|
||
ic.date
|
||
from
|
||
IncidentService i
|
||
join Objects o on i.object_id = o.id
|
||
join IncidentCard ic on i.incidentcard_id = ic.id
|
||
where
|
||
i.del=false
|
||
and (${id} is null or ${id}=i.id)
|
||
and (${incidentcard_id} is null or ${incidentcard_id}=i.incidentcard_id)
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="Карточка ДТП" n="incidentcard_id" vt="object" object="IncidentCard" FieldCaption="date" selector="combo"/>
|
||
</filter>
|
||
|
||
<column d="Карточка ДТП" n="date" width="130"/>
|
||
<column d="Служба" n="object_name" width="70%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="IncidentCar" d="Машина в карточке ДТП" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="Карточка ДТП" n="incidentcard_id" vt="object" ot="IncidentCard" FieldCaption="number" visible="0"/>
|
||
<prop d="Категория ТС" n="category" vt="string" size="10"/>
|
||
<prop d="Расположение рулевого управления" n="wheel" vt="string" size="100"><![CDATA[Левое]]></prop>
|
||
<prop d="Государственный регистрационный номерной знак" n="registration" vt="string" size="100"/>
|
||
<prop d="Марка, модель ТС, год выпуска" n="model" vt="string" size="100"/>
|
||
<prop d="Фамилия, имя, отчество водителя" n="driver" vt="string" size="255"/>
|
||
<prop d="№ водительского удостоверения, дата выдачи" n="license" vt="string" size="100"/>
|
||
<prop d="Количество пассажиров" n="passengers" vt="i4"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_IncidentCar_1(${_user_id},${incidentcard_id},${category},${wheel},${registration},${model},${driver},${license},${passengers});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_IncidentCar_2(${_user_id},${id},${incidentcard_id},${category},${wheel},${registration},${model},${driver},${license},${passengers});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_IncidentCar_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from IncidentCar where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="Карточка ДТП">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select * from IncidentCar
|
||
where
|
||
del=false
|
||
and (${id} is null or ${id}=id)
|
||
and (${incidentcard_id} is null or ${incidentcard_id}=incidentcard_id)
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="Карточка ДТП" n="incidentcard_id" vt="object" object="IncidentCard" FieldCaption="date" selector="combo"/>
|
||
</filter>
|
||
|
||
<column d="Категория ТС" n="category" width="100"/>
|
||
<column d="Расположение рулевого управления" n="wheel" width="100"/>
|
||
<column d="Государственный регистрационный номерной знак" n="registration" width="100"/>
|
||
<column d="Марка, модель ТС, год выпуска" n="model" width="100"/>
|
||
<column d="Фамилия, имя, отчество водителя" n="driver" width="255"/>
|
||
<column d="№ водительского удостоверения, дата выдачи" n="license" width="200"/>
|
||
<column d="Количество пассажиров" n="passengers" width="200"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<!-- Слои отдельной компании (месторождение итд...) -->
|
||
<type n="Layouts" d="_('Layout')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Company')" n="company_id" vt="object" maybenull="0" ot="Companies" FieldCaption="name" selector="combo"/>
|
||
<prop d="HTTP _('Path')" n="path" vt="string" size="255" maybenull="0"/>
|
||
<prop d="_('Description')" n="description" vt="string" size="255" maybenull="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_Layouts_1(${_user_id},${company_id},${path},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_Layouts_2(${_user_id},${id},${company_id},${path},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_Layouts_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from Layouts where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Layouts')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
SELECT *
|
||
FROM Layouts
|
||
WHERE
|
||
del = FALSE
|
||
and (${id} is null or ${id}=id)
|
||
and (${company_id} IS NULL OR ${company_id} = company_id)
|
||
and (company_id IN (SELECT company_id FROM CompaniesUsers WHERE del = FALSE AND user_id = ${_user_id}) OR getAccess(${_user_id}, 'show_all'))
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Path')" n="path" width="200"/>
|
||
<column d="_('Description')" n="description" width="500"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ObjectsSensorsLimits" d="_('The_boundary_values_of_the_sensors')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Sensor_of_devices')" n="objectsensor_id" vt="object" maybenull="0" ot="ObjectsSensors" FieldCaption="object_name,name" selector="combo"/>
|
||
<prop d="_('Minimum_value')" n="min" vt="f8" />
|
||
<prop d="_('Maximum_value')" n="max" vt="f8" />
|
||
<prop d="_('Only_on_the_boundary')" n="border" vt="b" maybenull="0" />
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_ObjectsSensorsLimits_1(${_user_id},${objectsensor_id},${min},${max},${border});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_ObjectsSensorsLimits_2(${_user_id},${id},${objectsensor_id},${min},${max},${border});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_ObjectsSensorsLimits_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from ObjectsSensorsLimits where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('The_boundary_values_of_the_sensors')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p_ObjectsSensorsLimits_5(${_user_id},${id},${company_id},${object_id},${objectsensor_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Company')" n="company_id" vt="object" object="Companies" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Object')" n="object_id" vt="object" object="Objects" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Sensor')" n="objectsensor_id" vt="object" object="ObjectsSensors" FieldCaption="object_name,name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Object')" n="object_name" width="40%"/>
|
||
<column d="_('Sensor')" n="objectsensor_name" width="40%"/>
|
||
<column d="min" n="min" width="50"/>
|
||
<column d="max" n="max" width="50"/>
|
||
<column d="_('Boundary')" n="border" width="80"/>
|
||
|
||
<column d="_('Ways_to_send_messages')" n="count" width="70">
|
||
<type n="ObjectsSensorsLimitsMessagesTypes">
|
||
<objects-list width="500">
|
||
<filter height="0">
|
||
<column n="objectsensorlimit_id"><![CDATA[${id}]]>
|
||
</column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="ObjectsSensorsLimitsMessagesTypes" d="_('Types_of_messages')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Sensor_limit')" n="objectsensorlimit_id" vt="object" maybenull="0" ot="ObjectsSensorsLimits" FieldCaption="objectsensor_name" visible="0"/>
|
||
<prop d="_('Types_of_messages')" n="messagestypes_id" vt="object" maybenull="0" ot="MessagesTypes" FieldCaption="name" selector="combo"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p_ObjectsSensorsLimitsMessagesTypes_1(${_user_id},${objectsensorlimit_id},${messagestypes_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p_ObjectsSensorsLimitsMessagesTypes_2(${_user_id},${id},${objectsensorlimit_id},${messagestypes_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p_ObjectsSensorsLimitsMessagesTypes_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from ObjectsSensorsLimitsMessagesTypes where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Types_of_messages')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select
|
||
oslmt.id,
|
||
os.name limit_name,
|
||
mt.name type_name
|
||
from
|
||
ObjectsSensorsLimitsMessagesTypes oslmt
|
||
join ObjectsSensorsLimits osl on osl.id = oslmt.objectsensorlimit_id
|
||
JOIN objectssensors os ON os.id = osl.objectsensor_id
|
||
join MessagesTypes mt on mt.id = oslmt.messagestypes_id
|
||
where
|
||
oslmt.del=false
|
||
and (${id} is null or oslmt.id=${id})
|
||
and (${objectsensorlimit_id} is null or oslmt.objectsensorlimit_id = ${objectsensorlimit_id})
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="objectsensorlimit_id" n="objectsensorlimit_id" vt="i4" visible="0"/>
|
||
</filter>
|
||
<column d="_('Sensor_limit')" n="limit_name" width="70%"/>
|
||
<column d="_('Type')" n="type_name" width="200"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_System" d="_('System')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Identifier')" n="name" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Value')" n="value" vt="string" size="255"/>
|
||
<prop d="_('Description')" n="description" vt="string" size="500"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p__System_1(${_user_id},${name},${value},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__System_2(${_user_id},${id},${name},${value},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__System_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from _System where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('System')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select * from _System
|
||
where
|
||
del=false
|
||
and getAccess(${_user_id}, 'Select__System')
|
||
and (${id} is null or id=${id})
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Identifier')" n="name" vt="string"/>
|
||
<column d="_('Description')" n="description" vt="string"/>
|
||
</filter>
|
||
<column d="_('Identifier')" n="name" width="200"/>
|
||
<column d="_('Value')" n="value" width="70%"/>
|
||
<column d="_('Description')" n="description" width="70%"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_Actions" d="_('Action')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Identifier')" n="name" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Description')" n="description" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Rule')" n="rule" vt="string" size="255" maybenull="1"/>
|
||
<sql-query t="i">
|
||
<![CDATA[select p__Actions_1(${_user_id},${name},${description},${rule});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__Actions_2(${_user_id},${id},${name},${description},${rule});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__Actions_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from _Actions where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Actions')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p__Actions_5(${_user_id},${id},${name},${description});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Identifier')" n="name" vt="string"/>
|
||
<column d="_('Description')" n="description" vt="string"/>
|
||
</filter>
|
||
<column d="_('Description')" n="description" width="70%"/>
|
||
<column d="_('Identifier')" n="name" width="280"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_Groups" d="***_('Access role')***" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Parental_role')" n="parent_id" vt="object" ot="_Groups" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Role_name')" n="name" vt="string" size="50" maybenull="0">
|
||
<type n="_Translations">
|
||
<objects-list>
|
||
<filter>
|
||
<column n="identifier"><![CDATA[${name}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</prop>
|
||
<prop d="_('Role_description')" n="description" vt="text"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p__Groups_1(${_user_id},${parent_id},${name},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__Groups_2(${_user_id},${id},${parent_id},${name},${description});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__Groups_3(${_user_id}, ${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p__Groups_4(${_user_id}, ${id}, 0);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="***_('Access role')***" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p__Groups_5(${_user_id}, ${id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<!--column d="Родительская роль" n="parent_name" width="20%"/-->
|
||
<column d="_('Role')" n="name" width="50%"/>
|
||
<column d="_('Description')" n="description" width="50%"/>
|
||
<column d="_('Access')" n="count" width="70">
|
||
<type n="_Access">
|
||
<objects-list>
|
||
<filter>
|
||
<column n="group_id"><![CDATA[${id}]]></column>
|
||
</filter>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_Users" d="_('User')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Surname')" n="surname" vt="string" size="50" maybenull="0"/> <!-- enabled="0" -->
|
||
<prop d="_('Name')" n="name" vt="string" size="50" maybenull="0"/> <!-- enabled="0" -->
|
||
<prop d="_('Patronymic')" n="patronymic" vt="string" size="50" maybenull="0"/> <!-- enabled="0" -->
|
||
<prop d="_('Phones') ;" n="phone" vt="string" size="255"/>
|
||
<prop d="E-mail" n="email" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('Login')" n="login" vt="string" size="50" maybenull="0"/>
|
||
<!--prop d="_('Password')" n="password" vt="string" size="66"/><![CDATA[]]></prop-->
|
||
<prop d="_('Password_expiration')" n="expiration" vt="date"/> <!-- Срок действия пароля -->
|
||
<prop d="_('Renewal_password') (_('days'))" n="renewal" vt="i4"><![CDATA[60]]></prop> <!-- Продление пароля -->
|
||
<prop d="hash" n="hash" vt="string" size="37" visible="0"/>
|
||
<prop d="sessionid" n="sessionid" vt="string" size="37" visible="0"/>
|
||
<prop d="_('IP')" n="ip" vt="string" size="500"/>
|
||
<prop d="_('Description')" n="description" vt="text" size="500"/>
|
||
<prop d="Android ID" n="android_id" vt="string" size="500"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p__Users_1(${_user_id},${surname},${name},${patronymic},${phone},${email},${login},null,FROM_UNIXTIME(${expiration}),${renewal},${hash},${ip},${description},${android_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__Users_2(${_user_id},${id},${surname},${name},${patronymic},${phone},${email},${login},null,FROM_UNIXTIME(${expiration}),${renewal},${hash},${ip},${description},${android_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__Users_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[SELECT id,del,seq,name,surname,patronymic,phone,email,login,'' `password`,UNIX_TIMESTAMP(`expiration`) expiration,`renewal`,`hash`,`sessionid`,`ip`,`description`,`android_id` FROM _Users WHERE del = FALSE and (${id} is null or id=${id})]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Users')" width="950">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p__Users_5(${_user_id},${id},${fio},${group_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('S.N.P.')" n="fio" vt="string"/>
|
||
<column d="_('Role')" n="group_id" vt="object" object="_Groups" FieldCaption="name" selector="combo"/>
|
||
</filter>
|
||
<column d="_('Last_enter')" n="lastlogin" width="130"/>
|
||
<column d="_('Surname')" n="surname" width="100"/>
|
||
<column d="_('Name')" n="name" width="100"/>
|
||
<column d="_('Patronymic')" n="patronymic" width="100"/>
|
||
<column d="E-mail" n="email" width="100"/>
|
||
|
||
<column d="_('Password_expiration')" n="expiration" width="100"/>
|
||
<column d="_('Renewal_password')" n="renewal" width="100"/>
|
||
|
||
<column d="_('Roles')" n="group_name" width="30%">
|
||
<type n="_UsersGroups">
|
||
<objects-list>
|
||
<filter>
|
||
<column n="user_id">
|
||
<![CDATA[${id}]]>
|
||
</column>
|
||
</filter>
|
||
<column n="device" visible="0"/>
|
||
</objects-list>
|
||
</type>
|
||
</column>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_UsersGroups" d="_('User_roles')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('User')" n="user_id" vt="object" maybenull="0" ot="_Users" FieldCaption="surname,name,patronymic" selector="combo"/>
|
||
<prop d="_('Access_role')" n="group_id" vt="object" maybenull="0" ot="_Groups" FieldCaption="name" selector="combo"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p__UsersGroups_1(${_user_id},${user_id},${group_id});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__UsersGroups_2(${_user_id},${id},${user_id},${group_id});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__UsersGroups_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from _UsersRoles where id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('User_roles')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p__UsersGroups_5(${_user_id},${id},${user_id});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('User')" n="user_id" vt="object" object="_Users" FieldCaption="surname,name,patronymic" selector="combo"/>
|
||
</filter>
|
||
<column d="_('User')" n="user_name" width="300"/>
|
||
<column d="_('Role')" n="group_name" width="300"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_Access" d="_('Access')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Access_role')" n="group_id" vt="object" maybenull="0" ot="_Groups" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Action')" n="action_id" vt="object" maybenull="0" ot="_Actions" FieldCaption="description" selector="combo"/>
|
||
<prop d="_('Allow')" n="allow" vt="b" maybenull="0"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p__Access_1(${_user_id},${group_id},${action_id},${allow});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__Access_2(${_user_id},${id},${group_id},${action_id},${allow});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__Access_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from _Access where ${id} is null or id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Access')" width="1024">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p__Access_5(${_user_id},${id},${group_id},${description},${name});
|
||
]]>
|
||
</sql-query>
|
||
<filter height="150">
|
||
<column d="id" n="id" vt="string" visible="0"><![CDATA[]]></column>
|
||
<column d="_('Role')" n="group_id" vt="object" object="_Groups" FieldCaption="name" selector="combo"><![CDATA[]]></column>
|
||
<column d="_('Description')" n="description" vt="string"><![CDATA[]]></column>
|
||
<column d="_('Identifier')" n="name" vt="string"><![CDATA[]]></column>
|
||
</filter>
|
||
<column d="_('Access_role')" n="group_name" width="400"/>
|
||
<column d="_('Allow')" n="allow" width="80"/>
|
||
<column d="_('Description')" n="description" width="50%"/>
|
||
<column d="_('Identifier')" n="identifier" width="150"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_SynObjects" d="_('Synchronization_objects')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0"/>
|
||
<prop d="_('Synchronization_service')" n="synservice_id" vt="object" maybenull="0" ot="_SynServices" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Synchronization_order')" n="sort" vt="i4" maybenull="0"/>
|
||
<prop d="_('Named')" n="name" vt="string" size="50" maybenull="0"/>
|
||
<prop d="_('The_interval_between_the_update_in_s')" n="interval" vt="i4" maybenull="0"/>
|
||
<prop d="_('At_a_time')" n="limit" vt="i4" maybenull="0"/>
|
||
<prop d="_('Time_of_the_last_synchronization')" n="time" vt="i4"/>
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p__SynObjects_1(${_user_id},${synservice_id},${sort},${name},${interval},${limit},${time});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__SynObjects_2(${_user_id},${id},${synservice_id},${sort},${name},${interval},${limit},${time});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__SynObjects_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[select * from _SynObjects where ${id} is null or id=${id}]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Synchronization_objects')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select so.*,ss.name synservice_name from _SynObjects so join _SynServices ss on so.synservice_id=ss.id
|
||
where
|
||
so.del=false
|
||
and getAccess(${_user_id}, 'Select__SynObjects')
|
||
and (${id} is null or so.id=${id})
|
||
order by sort
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Service')" n="synservice_name" width="200"/>
|
||
<column d="_('Order')" n="sort" width="200"/>
|
||
<column d="_('Named')" n="name" width="200"/>
|
||
<column d="_('Interval')" n="interval" width="200"/>
|
||
<column d="_('Limit')" n="limit" width="200"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_SynServices" d="_('Synchronization_services')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0" />
|
||
<prop d="_('Named')" n="name" vt="string" size="100" maybenull="0" />
|
||
<prop d="_('Host')" n="host" vt="string" size="255" />
|
||
<prop d="_('Login')" n="login" vt="string" size="50" />
|
||
<prop d="_('Password')" n="password" vt="string" size="33" />
|
||
<sql-query t="i">
|
||
<![CDATA[select * from p__SynServices_1(${_user_id},${name},${host},${login},${password});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select * from p__SynServices_2(${_user_id},${id},${name},${host},${login},${password});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select * from p__SynServices_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p__SynServices_4(${_user_id}, ${id}, 0, null);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Synchronization_services')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select * from _SynServices
|
||
where
|
||
del=false
|
||
and getAccess(${_user_id}, 'Select__SynServices')
|
||
and (${id} is null or id=${id})
|
||
;
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Named')" n="name" width="200"/>
|
||
<column d="_('Host')" n="host" width="200"/>
|
||
<column d="_('Login')" n="login" width="200"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_History" d="_('History')" ObjectID="id">
|
||
<properties>
|
||
</properties>
|
||
<objects-list d="_('History')">
|
||
<sql-query>
|
||
<![CDATA[
|
||
call p__History_5(${_user_id},${user_id},${table},${data_id},FROM_UNIXTIME(${date_start}),FROM_UNIXTIME(${date_end}));
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="_('User')" n="user_id" vt="object" object="_Users" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Table')" n="table" vt="string"/>
|
||
<column d="_('Field')" n="data_id" vt="i4"/>
|
||
<column row="2" d="_('From_date')" n="date_start" vt="dateTime"/>
|
||
<column d="_('To_date')" n="date_end" vt="dateTime"/>
|
||
</filter>
|
||
<column d="_('User')" n="name" width="100"/>
|
||
<column d="_('Table')" n="table" width="150"/>
|
||
<column d="_('Field')" n="data_id" width="60"/>
|
||
<column d="_('Data')" n="data" width="60%"/>
|
||
<column d="_('Date')" n="date" width="130"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_Languages" d="_('Language')" ObjectID="id">
|
||
<properties>
|
||
<prop d="id" n="id" vt="string" size="37" visible="0" />
|
||
<prop d="_('Short_name')" n="short_name" vt="string" size="50" maybenull="0" />
|
||
<prop d="_('Name')" n="name" vt="string" size="100" maybenull="0" />
|
||
<sql-query t="i">
|
||
<![CDATA[select p__Languages_1(${_user_id},${short_name},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__Languages_2(${_user_id},${id},${short_name},${name});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__Languages_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p__Languages_4(${_user_id}, ${id}, 0, null);]]>
|
||
</sql-query>
|
||
</properties>
|
||
<objects-list d="_('Language')" width="550">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select * from
|
||
_languages
|
||
where
|
||
del=false
|
||
and (${id} is null or id=${id})
|
||
]]>
|
||
</sql-query>
|
||
<filter height="0">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
</filter>
|
||
<column d="_('Short_name')" n="short_name" width="200"/>
|
||
<column d="_('Name')" n="name" width="250"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
<type n="_Translations" d="_('Translation')" ObjectID="id">
|
||
<properties>
|
||
|
||
<prop d="id" n="id" vt="string" size="37" visible="0" />
|
||
<prop d="_('Language')" n="language_id" vt="object" maybenull="0" ot="_Languages" FieldCaption="name" selector="combo"/>
|
||
<prop d="_('Identifier')" n="identifier" vt="string" size="500" maybenull="0" />
|
||
<prop d="_('Translation')" n="translation" vt="string" size="500" maybenull="0" />
|
||
|
||
<sql-query t="i">
|
||
<![CDATA[select p__Translations_1(${_user_id},${language_id},${identifier},${translation});]]>
|
||
</sql-query>
|
||
<sql-query t="u">
|
||
<![CDATA[select p__Translations_2(${_user_id},${id},${language_id},${identifier},${translation});]]>
|
||
</sql-query>
|
||
<sql-query t="d">
|
||
<![CDATA[select p__Translations_3(${_user_id},${id});]]>
|
||
</sql-query>
|
||
<sql-query t="s">
|
||
<![CDATA[call p__Translations_4(${_user_id}, ${id}, 0, null);]]>
|
||
</sql-query>
|
||
|
||
</properties>
|
||
<objects-list d="_('Translation')" width="1000">
|
||
<sql-query>
|
||
<![CDATA[
|
||
select t.*,l.name language_name from _translations t join _languages l on l.id=t.language_id
|
||
where
|
||
t.del=false
|
||
and (${id} is null or t.id=${id})
|
||
and (${language_id} is null or t.language_id=${language_id})
|
||
and (${identifier} is NULL or upper(identifier) like concat('%',upper(${identifier}),'%'))
|
||
and (${translation} is NULL or upper(translation) like concat('%',upper(${translation}),'%'))
|
||
order by t.identifier, l.name;
|
||
]]>
|
||
</sql-query>
|
||
<filter height="1">
|
||
<column d="id" n="id" vt="string" visible="0"/>
|
||
<column d="_('Language')" n="language_id" vt="object" object="_Languages" FieldCaption="name" selector="combo"/>
|
||
<column d="_('Identifier')" n="identifier" vt="string"/>
|
||
<column d="_('Translation')" n="translation" vt="string"/>
|
||
</filter>
|
||
<column d="_('Language')" n="language_name" width="100"/>
|
||
<column d="_('Identifier')" n="identifier" width="400"/>
|
||
<column d="_('Translation')" n="translation" width="400"/>
|
||
</objects-list>
|
||
</type>
|
||
|
||
</metadata> |