AutoGRAPH.NET Service GetTrips — различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 23: | Строка 23: | ||
{ |
{ |
||
public int Index { get; set; } // порядковый номер рейса (с 0) |
public int Index { get; set; } // порядковый номер рейса (с 0) |
||
− | public DateTime SD { get; set; } // дата/время начала рейса |
+ | public DateTime SD { get; set; } // дата/время начала рейса (в UTC) |
− | public DateTime ED { get; set; } // дата/время конца рейса |
+ | public DateTime ED { get; set; } // дата/время конца рейса (в UTC) |
public RPoint PointStart { get; set; } // координата начала рейса |
public RPoint PointStart { get; set; } // координата начала рейса |
||
public RPoint PointEnd { get; set; } // координата конца рейса |
public RPoint PointEnd { get; set; } // координата конца рейса |
||
Строка 36: | Строка 36: | ||
public string[] Params { get; set; } // список имён колонок в отрезке - например "Motion", "Daylight", "Speed", "Speed Avg" |
public string[] Params { get; set; } // список имён колонок в отрезке - например "Motion", "Daylight", "Speed", "Speed Avg" |
||
public RTripStageItem[] Items { get; set; } // строки отрезка |
public RTripStageItem[] Items { get; set; } // строки отрезка |
||
− | public RParameterStatus[] Statuses { get; set; } |
+ | public RParameterStatus[] Statuses { get; set; } // список доступных статусов для данного параметра/отрезка |
public Dictionary<string,object> Total { get; set; } // финальные данные по отрезку (как правило - суммарные данные по всем Items) |
public Dictionary<string,object> Total { get; set; } // финальные данные по отрезку (как правило - суммарные данные по всем Items) |
||
} |
} |
||
Строка 42: | Строка 42: | ||
public class RTripStageItem |
public class RTripStageItem |
||
{ |
{ |
||
− | public int Index { get; set; } |
+ | public int Index { get; set; } // Индекс отрезка (нумерация с 0) |
− | public DateTime SD { get; set; } |
+ | public DateTime SD { get; set; } // дата/время начала отрезка (в UTC) |
− | public DateTime ED { get; set; } |
+ | public DateTime ED { get; set; } // дата/время конца отрезка (в UTC) |
− | public int Status { get; set; } |
+ | public int Status { get; set; } // ID статуса (0 = выключенный, >0 = порядковый номер статуса) |
− | public Guid StatusID { get; set; } |
+ | public Guid StatusID { get; set; } // ID геозоны (если отрезок геозон) |
− | public Guid StatusIDs { get; set; } |
+ | public Guid[] StatusIDs { get; set; } // ID геозон (если есть перекрытия - тут может быть больше одного элемента) |
− | public string Caption { get; set; } |
+ | public string Caption { get; set; } // имя статуса (Move, Park, ...), название геозоны (если отрезок геозон), ФИО водителя, ... |
− | public object[] Values { get; set; } |
+ | public object[] Values { get; set; } // значения для колонок в табличке отрезка (количество и порядок соответствуют RTripStage.Params) |
} |
} |
||
</syntaxhighlight> |
</syntaxhighlight> |
Версия 11:21, 15 мая 2015
Возвращает рейсы по запрошенным ТС за период.
WCF
Определение:
Dictionary<Guid,RTrips> GetTrips(string schemaName, Guid[] deviceIDs, DateTime SD, DateTime ED)
- schemaName – имя схемы
- deviceIDs – список идентификаторов ТС (их можно получить с помощью EnumDevices – поле ID в классе RGroupItem)
- SD / ED – соответственно начало и конец временного периода. Время местное по часовому поясу сервера.
Результат:
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[] 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 http://localhost:8300/GetTrips/Demo/25f86189-adc9-445d-940c-abf860874622,d090286c-1fd6-4ef2-ae44-8091d04408d1/20150413-0000/20150413-2359
Дата и время задаются в формате yyyyMMdd-HHmm
Если ID'ов больше одного - идентификаторы указывается через запятую.
Результат: скачать файл