29.05.2017
Эффективная Навигация М2М
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум (скрипты, вопросы...) » CyberFleet » Скрипты для CyberFleet, CrossPoint » Скрипт проверки фактов срабатывания дискретных датчиков
Скрипт проверки фактов срабатывания дискретных датчиков
logoffДата: Среда, 22.08.2012, 16:38 | Сообщение # 1
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Скрипт для каждого зарегистрированного датчика подсчитывает количество срабатываний (и общее количество координат)
с указанной даты по текущий момент. Далее в таблице отмечаются строки, когда датчик срабатывал столько же раз, сколько собрано координат, или не срабатывал ни разу

Code
set dateformat dmy
use bn

declare @sdate datetime

select @sdate='01/08/2012' -- дата начала проверки

use bn

SELECT TOP 1000 org.ShortName
        ,o.ObjectGarNum,o.ObjectGosNum
       ,s.[num]
       ,[description]
       ,d.code
    ,co.count
    ,con.count
   FROM [BN].[dbo].[SYS_DEV_Sensor] AS S
   inner join dbo.SYS_DEV_Device as D on d.id=s.device_id
   inner join dbo.FLEET_Object as O on o.Device_ID=s.device_id
   left join dbo.SYS_OrgRequisite as Org on Org.id=O.OrganizationId
   left join  
   (select ObjectID, count(*) [count] from dbo.SYS_DEV_ArchiveData as AD  
    where tele_time>=@sdate
    group by ObjectID) as co on co.ObjectID=O.ObjectID
  left join  (select ObjectID,s.num, count(*) [count] from dbo.SYS_DEV_ArchiveData as AD
  inner join  [BN].[dbo].[SYS_DEV_Sensor] AS S on S.device_id=AD.device_id and s.[SensorActive]=1 -- включен
   and s.[sensor_type_id]=1 -- цифровой
    where ad.tele_time>=@sdate and dbo.FLEET_IsSensorActive (s.num, ad.Digit_Sens_Num, ad.Flags)=1
    group by ObjectID,s.num) as con on con.ObjectID=O.ObjectID and con.num=s.num
         
   where s.[SensorActive]=1 -- датчик включен
   and s.[sensor_type_id]=1 -- датчик цифровой
   and d.deviceactive=1 -- прибор не удален
   --and o.ObjectGarNum like '%366%'
   and ((con.count is null and co.count is not null) or (con.count = co.count))
   and s.num<=8 -- только реальные датчики (для GLX )
   order by org.ShortName,o.ObjectGarNum,s.num
 
Форум (скрипты, вопросы...) » CyberFleet » Скрипты для CyberFleet, CrossPoint » Скрипт проверки фактов срабатывания дискретных датчиков
Страница 1 из 11
Поиск:

LogOff © 2017
Сайт создан в системе uCoz Рейтинг GPS Клуба. GPS навигаторы. GPS мониториг. GPS трекеры. ГЛОНАСС