Поиск/заказ скриптов для БД CyberFleet/CrossPoint
|
|
logoff | Дата: Четверг, 17.05.2012, 13:44 | Сообщение # 1 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Тут можно попросить для себя какой-нить скрипт на основе программы CyberFleet (BNComplex, CityBus, или прочие решения М2М). Приведите его начальное описание - что он должен делать, как результат ожидается. Например: Хотелось бы скрипт/Excel файл, который бы таблицу со списком ТС (ГосНомер, Номер АТ, время последних данных) выводил бы в excel.
|
|
| |
football | Дата: Вторник, 05.02.2013, 15:38 | Сообщение # 2 |
Тверь
Группа: Проверенные
Сообщений: 11
Репутация: 1
Статус: Offline
| Можно ли сделать скрипт неработающие приборы на дату
вот есть работающие
SELECTLastCoords.DEVID, Devices.EQUIPID, Devices.COMMENT, LastCoords.NAVTIME, LastCoords.LAT, LastCoords.LONG, LastCoords.SPEED, LastCoords.SENSORS, AD.DESCRIBTION FROM LastCoordsINNER JOIN Devices ON LastCoords.DEVID=Devices.DEVID WHERE LastCoords.NAVTIME>[Введите дату начала периода] ORDER BYDevices.COMMENT, LastCoords.NAVTIME;
|
|
| |
logoff | Дата: Вторник, 05.02.2013, 16:36 | Сообщение # 3 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| не совсем по нашей тематике скрипт, ибо к CyberFleet не относиться, но я бы сделал вот так
Код SELECTLastCoords.DEVID, Devices.EQUIPID, Devices.COMMENT, LastCoords.NAVTIME, LastCoords.LAT, LastCoords.LONG, LastCoords.SPEED, LastCoords.SENSORS, AD.DESCRIBTION FROM LastCoordsINNER JOIN Devices ON LastCoords.DEVID=Devices.DEVID WHERE LastCoords.NAVTIME<[Введите дату начала периода] ORDER BYDevices.COMMENT, LastCoords.NAVTIME; кстати, это у вас не совсем скрипт, а шаблон... просто замените [Введите дату начала периода] на нужную вам дату, например '2013-02-05 00:00:00'
|
|
| |
football | Дата: Среда, 06.02.2013, 14:06 | Сообщение # 4 |
Тверь
Группа: Проверенные
Сообщений: 11
Репутация: 1
Статус: Offline
| А можно написать скрипт, чтобы показывал приборы, которые не отбиваются за какой-то промежуток времени
|
|
| |
logoff | Дата: Среда, 06.02.2013, 15:02 | Сообщение # 5 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| 1. Определитесь с программой - ваш скрипт не основан на таблицах программы CyberFleet. 2. Задание не понятно. Уточните, что вы понимаете под "не отбиваются за какой-то промежуток времени". 3. Вероятнее всего можно, если будет понятно первые два пункта
|
|
| |
football | Дата: Среда, 06.02.2013, 16:13 | Сообщение # 6 |
Тверь
Группа: Проверенные
Сообщений: 11
Репутация: 1
Статус: Offline
| Хотелось бы скрипт для программы Cyberfleet, который бы выводил таблицу в excel со списком ТС (ГосНомер, Номер АТ, время последних данных машин, которые не выходили на связь в течение 24 часов)
|
|
| |
logoff | Дата: Среда, 06.02.2013, 17:28 | Сообщение # 7 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Этого результата можно добиться и через интерфейс программы. В колонке "Время навигации" в строке фильтра введите <'06.02.2013 12:00' где 06.02.2013 12:00 - время раньше определенного - в результате в списке останкутся только ТС, у которых время навигации раньше чем указанная дата/время
далее список можно экспортировать через меню Отчет - Экспортировать список ТС - список будет передан в Excel
Скрипт будет вот таким select o.ObjectGosNum, o. ObjectGarNum, d.code, cd.tele_time from bn.dbo.FLEET_Object as O inner join bn.dbo.SYS_DEV_CurrentData as CD on cd.ObjectID=O.ObjectID inner join bn.dbo.SYS_DEV_Device as D on d.id=O.Device_ID where tele_time <=dateadd(HOUR,-24,getdate()) --where tele_time <='31/01/2013' and o.ObjectActive=1
о запуске скриптов и сохранении результата описано тут http://bnc.ucoz.net/forum/2-76-1
можно еще попробовать для запуска воспользоватся напрямую excel http://bnc.ucoz.net/load/cyberfleet/cyberfleet_sql_run_script/3-1-0-15
|
|
| |
football | Дата: Четверг, 07.02.2013, 13:07 | Сообщение # 8 |
Тверь
Группа: Проверенные
Сообщений: 11
Репутация: 1
Статус: Offline
| Большое спасибо!!!Буду пробовать Добавлено (07.02.2013, 11:55) --------------------------------------------- Спасибо всё получилось!!!А ещё можно скрипт тоже самое только, чтобы он выдавал ТС, которые вообще ни разу не выходили на связь Добавлено (07.02.2013, 13:07) --------------------------------------------- А ещё хотел спросить, а для Нис платформы реально такой же скрипт сделать про ТС, которые не выходили на связь?
|
|
| |
logoff | Дата: Четверг, 07.02.2013, 21:28 | Сообщение # 9 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Цитата (football) А ещё можно скрипт тоже самое только, чтобы он выдавал ТС, которые вообще ни разу не выходили на связь эм... вряд ли во флите это можно реализовать... ибо факт выхода на связь (установки связи с сервером т.е.) не поймать... а вот то, что не было последних валидных координат никогда это легко в скрипте замените блок условия Код where tele_time <=dateadd(HOUR,-24,getdate()) вот на этот Код where tele_time ='1900-01-01 00:00:00.000' поймаете как раз те машины, которые помечены как "нет данных" в колонке "время навигации"
а что такое "нис платформа"? Из чего состоит? на основе BNComplex?
|
|
| |
football | Дата: Пятница, 08.02.2013, 11:12 | Сообщение # 10 |
Тверь
Группа: Проверенные
Сообщений: 11
Репутация: 1
Статус: Offline
| Практически тоже самое только оболочка другая)
|
|
| |
logoff | Дата: Пятница, 08.02.2013, 12:12 | Сообщение # 11 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| не очень таки понятно что это Если на основе BNComplex, то тут два вариант - 1. В BNCOmplex версии 1.x база данных была на основе файла Access 2. В 2.x база данных на основе SQL.
в первом варианте, если мне не изменяет память, это таблица LastCoord
Код SELECT Devices.devid, LastCoords.DEVID, Devices.EQUIPID, Devices.COMMENT, LastCoords.NAVTIME, LastCoords.LAT, LastCoords.LONG, LastCoords.SPEED, LastCoords.SENSORS FROM [LastCoords]right JOIN [Devices]ON LastCoords.DEVID=Devices.DEVID where LastCoords.DEVID is null ORDER BY Devices.COMMENT, LastCoords.NAVTIME; как вы в ней выполните скрипт... тут уж не знаю... в теории можно и через ту ссылку для запуска скриптов Excel, надо только строку подключения к БД изменить в ней.
во втором случае (новая версия BNComplex) это таблица ObjectsCoords Код /****** Скрипт для команды SelectTopNRows из среды SSMS ******/ SELECT o.[DefaultName],o.[GosNum], d. [DevNum]FROM [BNComplex].[dbo]. [ObjectsCoords]as OC right join [BNComplex].[dbo]. [Objects]as O on O.ObjectID=oc.ObjectID inner join [BNComplex].[dbo]. [DevicesOnObjects]as DoO on DoO.ObjectID=o.ObjectID inner join [BNComplex].[dbo]. [Devices]as D on D.DeviceID=DoO.DeviceID where oc. [ObjectID]is null order by DevNum где BNComplex - это название вашей базы данных BNC в SQL запускать через management studio
|
|
| |
football | Дата: Понедельник, 25.02.2013, 17:01 | Сообщение # 12 |
Тверь
Группа: Проверенные
Сообщений: 11
Репутация: 1
Статус: Offline
| Спасибо огромноее)всё получилось Добавлено (25.02.2013, 17:01) --------------------------------------------- Здравствуйте!А можно ли сделать скрипт, который бы выводил суммарное время отбивки прибора?
|
|
| |
logoff | Дата: Вторник, 26.02.2013, 18:41 | Сообщение # 13 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Цитата (football) Здравствуйте!А можно ли сделать скрипт, который бы выводил суммарное время отбивки прибора? подробности нужны... что вы понимаете под этим?
|
|
| |
football | Дата: Среда, 27.02.2013, 12:01 | Сообщение # 14 |
Тверь
Группа: Проверенные
Сообщений: 11
Репутация: 1
Статус: Offline
| Здравствуйте!А можно ли сделать скрипт, который бы выводил суммарное время отбивки прибора? Добавлено (27.02.2013, 12:01) --------------------------------------------- Например, чтобы скрипт выводил сколько времени в сумме прибор отбивался(был виден) за месяц
|
|
| |
logoff | Дата: Среда, 27.02.2013, 15:55 | Сообщение # 15 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| эм... прибор в любом случае присылает данные периодами. Ваша задача звучит так? "Просуммировать все время между посылками от прибора за период, если перерыв между посылками не превысил пороговое время" Я правильно понимаю?
|
|
| |