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

Код
use bn

set nocount on
set dateformat ymd
declare @GarNum varchar(20), @ObjetID int, @start datetime, @stop datetime,@zonename varchar(256), @zoneid int
select @zonename='зона 1', @GarNum='м614тх',@start='2013-07-24 11:10:40',@stop='2013-07-24 11:16:02'
select @ObjetID=ObjectID from [dbo].[FLEET_Object] as O where o.ObjectGarNum=@GarNum and ObjectActive=1
if @ObjetID is null begin print 'ТС не найдено ' return
end
if exists (select zoneid from [dbo].[FLEET_Zone] where name=@zonename and ZoneActive=1) begin print 'Зона: '+@zonename+' уже существует' return
end
if not exists (select long,lat from dbo.SYS_DEV_ArchiveData  where Objectid=@ObjetID and tele_Time between @start and @stop)
begin print 'Данные за указанный период по указнному ТС не найдены: ' return
end

insert into [dbo].[FLEET_Zone]([Name],[Type],[GlobalType],[ZoneActive],[Comment])
       values (@zonename,1,1,1,'Автосоздание зоны '+@zonename+' '+@GarNum +  convert (varchar(30),@start,120)+'-'+convert (varchar(30),@stop,120))

select @zoneid=@@IDENTITY

insert into [dbo].[FLEET_ZoneDescript] ([ZoneID],long,lat,orderby)
select @zoneid, long,lat, ROW_NUMBER () over (order by tele_time)from dbo.SYS_DEV_ArchiveData  where Objectid=@ObjetID and tele_Time between @start and @stop order by tele_time

настройка данных скрипта производится в строке
select @zonename='зона 1', @GarNum='м614тх',@start='2013-07-24 11:10:40',@stop='2013-07-24 11:16:02'

где "Зона 1" 0 название будущей зоны (зоны не должно быть с таким названием - проверка что зоны нет)
@GarNum - точный гаражный номер - проверка что тс найдено
@start = начало выборки истории
@stop = конец выборки истории
что бы не создавать пустых зон встроена проверка, что по указанному тс за указанный период данные есть
Прикрепления: 4454319.png(58Kb)
 
grefeos9260Дата: Вторник, 07.02.2017, 09:13 | Сообщение # 2
Группа: Проверенные
Сообщений: 1
Репутация: 0
Статус: Offline
Стоит MS SQL 2000 там такой функции нет 'ROW_NUMBER' что делать ?

Сообщение 195, уровень 15, состояние 10, строка 22
'ROW_NUMBER' is not a recognized function name.
 
logoffДата: Понедельник, 27.03.2017, 20:39 | Сообщение # 3
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Цитата grefeos9260 ()
Стоит MS SQL 2000 там такой функции нет 'ROW_NUMBER' что делать ?
Обновите до 2005 хотя бы...
 
Форум (скрипты, вопросы...) » CyberFleet » Скрипты для CyberFleet, CrossPoint » Создание зоны из истории движения техники (создается полигон)
Страница 1 из 11
Поиск:

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