AutoGRAPH.NET Service GetTrips — различия между версиями
Admin (обсуждение | вклад) |
|||
(не показано 27 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
+ | Возвращает рейсы по запрошенным ТС за период. Единственное отличие GetTripsTotal - она возвращает только итоговые данные, поле Items класса RTripStage в результате выполнения GetTripsTotal будет всегда null. Все остальные поля заполняются идентично. |
||
− | Возвращает рейсы по запрошенным ТС за период. |
||
+ | |||
+ | == JSON == |
||
+ | |||
+ | Вызов: |
||
+ | <pre>http://localhost/ServiceJSON/GetTrips?session=B05043B71F4B9C67C910163779FFF06EDBBAEF994B2D6C3A84DD96EB767A0F44&schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102&IDs=25f86189-adc9-445d-940c-abf860874622&SD=20150413-0000&ED=20150413-2359&tripSplitterIndex=0 |
||
+ | http://localhost/ServiceJSON/GetTripsTotal?session=B05043B71F4B9C67C910163779FFF06EDBBAEF994B2D6C3A84DD96EB767A0F44&schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102&IDs=25f86189-adc9-445d-940c-abf860874622&SD=20150413-0000&ED=20150413-2359&tripSplitterIndex=0 |
||
+ | </pre> |
||
+ | |||
+ | Дата и время задаются в формате '''yyyyMMdd''' или '''yyyyMMdd-HHmm'''<br/>Если ID'ов больше одного - идентификаторы указывается через запятую.<br/>(последний 0 в URL - параметр tripSplitterIndex) |
||
+ | |||
+ | Результат: [[Media:GetTrips-result.json.txt|скачать файл]] |
||
+ | |||
+ | [[File:AutoGRAPHNET Service GetTrips.png|RTENOTITLE]] |
||
+ | |||
+ | |||
== WCF == |
== WCF == |
||
− | Определение: |
+ | Определение: |
− | Dictionary<Guid,RTrips> GetTrips( |
+ | <pre>Dictionary<Guid,RTrips> GetTrips(Guid schemaID, Guid[] IDs, DateTime SD, DateTime ED, int tripSplitterIndex, string[] tripParams, string[] tripTotalParams) |
+ | Dictionary<Guid,RTrips> GetTripsTotal(Guid schemaID, Guid[] IDs, DateTime SD, DateTime ED, int tripSplitterIndex, string[] tripParams, string[] tripTotalParams) |
||
− | </syntaxhighlight> |
||
+ | </pre> |
||
− | * |
+ | *schemaID – ID схемы |
− | * |
+ | *IDs – список идентификаторов ТС (их можно получить с помощью [[AutoGRAPH.NET_Service_EnumDevices|EnumDevices]] – поле ID в классе RGroupItem) |
− | *SD / ED |
+ | *SD / ED – соответственно начало и конец временного периода. Время в UTC. |
+ | *tripSplitterIndex - идентификатор разбиения на рейсы (по умолчанию 0), -1 если не разбивать на рейсы |
||
+ | *tripParams - если !=null - то возвращаются только указанные рейсовые параметры. По умолчанию (если tripParams==null) - то все параметры. |
||
+ | *tripTotalParams - если !=null - то возвращаются только указанные итоговые параметры. По умолчанию (если tripTotalParams==null) - то все параметры. |
||
+ | *порядок параметров в Params и ParamTypes и их количество зависит конфигурации ТС в схеме и может быть изменён как при изменении настроек ТС так и при изменении версии ПО. |
||
− | Результат: |
+ | Результат: |
− | public class RTrips |
+ | <pre>public class RTrips |
{ |
{ |
||
+ | public Guid ID { get; set; } // ID ТС |
||
+ | public string Name { get; set; } // название ТС |
||
+ | public int Serial { get; set; } // серийный номер прибора |
||
+ | public string VRN { get; set; } // номер ТС (свойство VehicleRegNumber) |
||
+ | public DateTime SD { get; set; } // дата/время начала первого рейса (в UTC) |
||
+ | public DateTime ED { get; set; } // дата/время конца последнего рейса (в UTC) |
||
public RTrip[] Trips { get; set; } // рейсы |
public RTrip[] Trips { get; set; } // рейсы |
||
− | public Dictionary<string,object> Total { get; set; } // финальные значения по всем рейсам |
+ | public Dictionary<string, object> Total { get; set; } // финальные значения по всем рейсам |
} |
} |
||
Строка 21: | Строка 47: | ||
{ |
{ |
||
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; } // координата конца рейса |
||
public RTripStage[] Stages { get; set; } // отрезки для данного рейса |
public RTripStage[] Stages { get; set; } // отрезки для данного рейса |
||
− | public Dictionary<string,object> Total { get; set; } // параметры для РЕЙСА (визуально это колонки в таблице рейсов после колонок "Начало" и "Конец") |
+ | public Dictionary<string, object> Total { get; set; } // параметры для РЕЙСА (визуально это колонки в таблице рейсов после колонок "Начало" и "Конец") |
+ | public RTripArea[] Areas { get; set; } // полигоны обработанных полей (только для методов GetTripsArea, GetTripsAreaTotal, GetTripAreaItems) |
||
} |
} |
||
Строка 32: | Строка 59: | ||
{ |
{ |
||
public string Name { get; set; } // название отрезка |
public string Name { get; set; } // название отрезка |
||
+ | public string Alias { get; set; } // алиас (некоторые параметры именуются через Alias), может быть пустой строкой |
||
+ | |||
public string[] Params { get; set; } // список имён колонок в отрезке - например "Motion", "Daylight", "Speed", "Speed Avg" |
public string[] Params { get; set; } // список имён колонок в отрезке - например "Motion", "Daylight", "Speed", "Speed Avg" |
||
− | public |
+ | public ReturnType[] ParamTypes { get; set; } // типы параметров |
+ | |||
− | public RParameterStatus[] Statuses { get; set; } |
||
+ | public RTripStageItem[] Items { get; set; } // строки отрезка (только если GetTrips, в GetTripsTotal == null) |
||
− | public Dictionary<string,object> Total { get; set; } // финальные данные по отрезку (как правило - суммарные данные по всем Items) |
||
+ | public RParameterStatus[] Statuses { get; set; } // список доступных статусов для данного параметра/отрезка |
||
+ | |||
+ | public Dictionary<string, object> Total { get; set; } // финальные данные по отрезку (как правило - суммарные данные по всем Items) |
||
} |
} |
||
+ | // порядок и количество элементов в Params соответствует ParamTypes |
||
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 |
+ | public Guid StatusID { get; set; } // ID геозоны (если отрезок геозон) |
− | public |
+ | public Guid[] StatusIDs { get; set; } // ID геозон (если есть перекрытия - тут может быть больше одного элемента) |
+ | public string Caption { get; set; } // имя статуса (Move, Park, ...), название геозоны (если отрезок геозон), ФИО водителя, ... |
||
+ | public object[] Values { get; set; } // значения для колонок в табличке отрезка (количество и порядок соответствуют RTripStage.Params) |
||
} |
} |
||
+ | </pre> |
||
− | </syntaxhighlight> |
||
− | Аналогия с расположением данных в |
+ | Аналогия с расположением данных в [[AutoGRAPH.NET|AutoGRAPH.NET]]: |
{| border="0" cellspacing="0" cellpadding="0" style="width: 100%;" |
{| border="0" cellspacing="0" cellpadding="0" style="width: 100%;" |
||
Строка 55: | Строка 90: | ||
| http://wiki.tk-chel.ru/images/a/ac/AutoGRAPHNET_Service_GetTrips_table.png<br/><br/> |
| http://wiki.tk-chel.ru/images/a/ac/AutoGRAPHNET_Service_GetTrips_table.png<br/><br/> |
||
|} |
|} |
||
− | |||
− | == JSON == |
||
− | |||
− | Вызов: <pre>http://localhost:8300/GetTrips/Demo/25f86189-adc9-445d-940c-abf860874622/20150413-0000/20150413-2359</pre> |
||
− | |||
− | дата и время задаются в формате yyyyMMdd-HHmm |
||
− | |||
− | Результат: [[Media:GetTrips-result.json.txt|скачать файл]] |
||
− | |||
− | [[File:AutoGRAPHNET Service GetTrips.png]] |
Текущая версия на 14:20, 15 октября 2020
Возвращает рейсы по запрошенным ТС за период. Единственное отличие GetTripsTotal - она возвращает только итоговые данные, поле Items класса RTripStage в результате выполнения GetTripsTotal будет всегда null. Все остальные поля заполняются идентично.
JSON
Вызов:
http://localhost/ServiceJSON/GetTrips?session=B05043B71F4B9C67C910163779FFF06EDBBAEF994B2D6C3A84DD96EB767A0F44&schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102&IDs=25f86189-adc9-445d-940c-abf860874622&SD=20150413-0000&ED=20150413-2359&tripSplitterIndex=0 http://localhost/ServiceJSON/GetTripsTotal?session=B05043B71F4B9C67C910163779FFF06EDBBAEF994B2D6C3A84DD96EB767A0F44&schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102&IDs=25f86189-adc9-445d-940c-abf860874622&SD=20150413-0000&ED=20150413-2359&tripSplitterIndex=0
Дата и время задаются в формате yyyyMMdd или yyyyMMdd-HHmm
Если ID'ов больше одного - идентификаторы указывается через запятую.
(последний 0 в URL - параметр tripSplitterIndex)
Результат: скачать файл
WCF
Определение:
Dictionary<Guid,RTrips> GetTrips(Guid schemaID, Guid[] IDs, DateTime SD, DateTime ED, int tripSplitterIndex, string[] tripParams, string[] tripTotalParams) Dictionary<Guid,RTrips> GetTripsTotal(Guid schemaID, Guid[] IDs, DateTime SD, DateTime ED, int tripSplitterIndex, string[] tripParams, string[] tripTotalParams)
- schemaID – ID схемы
- IDs – список идентификаторов ТС (их можно получить с помощью EnumDevices – поле ID в классе RGroupItem)
- SD / ED – соответственно начало и конец временного периода. Время в UTC.
- tripSplitterIndex - идентификатор разбиения на рейсы (по умолчанию 0), -1 если не разбивать на рейсы
- tripParams - если !=null - то возвращаются только указанные рейсовые параметры. По умолчанию (если tripParams==null) - то все параметры.
- tripTotalParams - если !=null - то возвращаются только указанные итоговые параметры. По умолчанию (если tripTotalParams==null) - то все параметры.
- порядок параметров в Params и ParamTypes и их количество зависит конфигурации ТС в схеме и может быть изменён как при изменении настроек ТС так и при изменении версии ПО.
Результат:
public class RTrips { public Guid ID { get; set; } // ID ТС public string Name { get; set; } // название ТС public int Serial { get; set; } // серийный номер прибора public string VRN { get; set; } // номер ТС (свойство VehicleRegNumber) public DateTime SD { get; set; } // дата/время начала первого рейса (в UTC) public DateTime ED { get; set; } // дата/время конца последнего рейса (в UTC) 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 RTripArea[] Areas { get; set; } // полигоны обработанных полей (только для методов GetTripsArea, GetTripsAreaTotal, GetTripAreaItems) } 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 ReturnType[] ParamTypes { get; set; } // типы параметров public RTripStageItem[] Items { get; set; } // строки отрезка (только если GetTrips, в GetTripsTotal == null) public RParameterStatus[] Statuses { get; set; } // список доступных статусов для данного параметра/отрезка public Dictionary<string, object> Total { get; set; } // финальные данные по отрезку (как правило - суммарные данные по всем Items) } // порядок и количество элементов в Params соответствует ParamTypes 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: