AutoGRAPH.NET Service GetTrips — различия между версиями
Admin (обсуждение | вклад) (→WCF) |
Admin (обсуждение | вклад) (→JSON) |
||
Строка 66: | Строка 66: | ||
Вызов: |
Вызов: |
||
<pre> |
<pre> |
||
− | http://localhost:8300/GetTrips/Demo/25f86189-adc9-445d-940c-abf860874622/20150413-0000/20150413-2359 |
+ | http://localhost:8300/GetTrips/Demo/25f86189-adc9-445d-940c-abf860874622/20150413-0000/20150413-2359/0 |
− | http://localhost:8300/GetTrips/Demo/25f86189-adc9-445d-940c-abf860874622,d090286c-1fd6-4ef2-ae44-8091d04408d1/20150413-0000/20150413-2359 |
+ | http://localhost:8300/GetTrips/Demo/25f86189-adc9-445d-940c-abf860874622,d090286c-1fd6-4ef2-ae44-8091d04408d1/20150413-0000/20150413-2359/0 |
− | http://localhost:8300/GetTrips?schemaID=Demo&IDs=25f86189-adc9-445d-940c-abf860874622&SD=20150413-0000&ED=20150413-2359 |
+ | http://localhost:8300/GetTrips?schemaID=Demo&IDs=25f86189-adc9-445d-940c-abf860874622&SD=20150413-0000&ED=20150413-2359/0 |
</pre> |
</pre> |
||
− | Дата и время задаются в формате '''yyyyMMdd''' или '''yyyyMMdd-HHmm'''<br/>Если ID'ов больше одного - идентификаторы указывается через запятую. |
+ | Дата и время задаются в формате '''yyyyMMdd''' или '''yyyyMMdd-HHmm'''<br/>Если ID'ов больше одного - идентификаторы указывается через запятую.<br/>(последний 0 в URL - параметр tripSplitterIndex) |
Результат: [[Media:GetTrips-result.json.txt|скачать файл]] |
Результат: [[Media:GetTrips-result.json.txt|скачать файл]] |
Версия 09:08, 16 декабря 2015
Возвращает рейсы по запрошенным ТС за период.
WCF
Определение:
Dictionary<Guid,RTrips> GetTrips(string schemaName, Guid[] deviceIDs, DateTime SD, DateTime ED, int tripSplitterIndex)
- schemaName – имя схемы
- deviceIDs – список идентификаторов ТС (их можно получить с помощью EnumDevices – поле ID в классе RGroupItem)
- SD / ED – соответственно начало и конец временного периода. Время местное по часовому поясу сервера.
- tripSplitterIndex - идентификатор разбиения на рейсы (по умолчанию 0), -1 если не разбивать на рейсы
Результат:
public class RTrips { public Guid ID { get; set; } // ID ТС public string Name { get; set; } // название ТС public RTrip[] Trips { get; set; } // рейсы public Dictionary<string,object> Total { get; set; } // финальные значения по всем рейсам } public class RTrip { public int Index { get; set; } // порядковый номер рейса (с 0) public DateTime SD { get; set; } // дата/время начала рейса (в UTC) public DateTime ED { get; set; } // дата/время конца рейса (в UTC) public RPoint PointStart { get; set; } // координата начала рейса public RPoint PointEnd { get; set; } // координата конца рейса public RTripStage[] Stages { get; set; } // отрезки для данного рейса public Dictionary<string,object> Total { get; set; } // параметры для РЕЙСА (визуально это колонки в таблице рейсов после колонок "Начало" и "Конец") } public class RTripStage // отрезки рейса (например "Остановки", "Заправки/сливы") { public string Name { get; set; } // название отрезка public string Alias { get; set; } // алиас (некоторые параметры именуются через Alias) public string[] Params { get; set; } // список имён колонок в отрезке - например "Motion", "Daylight", "Speed", "Speed Avg" public RTripStageItem[] Items { get; set; } // строки отрезка public RParameterStatus[] Statuses { get; set; } // список доступных статусов для данного параметра/отрезка public Dictionary<string,object> Total { get; set; } // финальные данные по отрезку (как правило - суммарные данные по всем Items) } public class RTripStageItem { public int Index { get; set; } // Индекс отрезка (нумерация с 0) public DateTime SD { get; set; } // дата/время начала отрезка (в UTC) public DateTime ED { get; set; } // дата/время конца отрезка (в UTC) public int Status { get; set; } // ID статуса (0 = выключенный, >0 = порядковый номер статуса) public Guid StatusID { get; set; } // ID геозоны (если отрезок геозон) public Guid[] StatusIDs { get; set; } // ID геозон (если есть перекрытия - тут может быть больше одного элемента) public string Caption { get; set; } // имя статуса (Move, Park, ...), название геозоны (если отрезок геозон), ФИО водителя, ... public object[] Values { get; set; } // значения для колонок в табличке отрезка (количество и порядок соответствуют RTripStage.Params) }
Аналогия с расположением данных в AutoGRAPH.NET:
JSON
Вызов:
http://localhost:8300/GetTrips/Demo/25f86189-adc9-445d-940c-abf860874622/20150413-0000/20150413-2359/0 http://localhost:8300/GetTrips/Demo/25f86189-adc9-445d-940c-abf860874622,d090286c-1fd6-4ef2-ae44-8091d04408d1/20150413-0000/20150413-2359/0 http://localhost:8300/GetTrips?schemaID=Demo&IDs=25f86189-adc9-445d-940c-abf860874622&SD=20150413-0000&ED=20150413-2359/0
Дата и время задаются в формате yyyyMMdd или yyyyMMdd-HHmm
Если ID'ов больше одного - идентификаторы указывается через запятую.
(последний 0 в URL - параметр tripSplitterIndex)
Результат: скачать файл