AutoGRAPH.NET Service GetTrips — различия между версиями

Материал из TK
Перейти к: навигация, поиск
(JSON)
 
(не показано 7 промежуточных версий 2 участников)
Строка 1: Строка 1:
  +
Возвращает рейсы по запрошенным ТС за период. Единственное отличие GetTripsTotal - она возвращает только итоговые данные, поле Items класса RTripStage в результате выполнения GetTripsTotal будет всегда null. Все остальные поля заполняются идентично.
Возвращает рейсы по запрошенным ТС за период.
 
  +
Единственное отличие 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 ==
   
 
Определение:
 
Определение:
  +
<pre>Dictionary<Guid,RTrips> GetTrips(Guid schemaID, Guid[] IDs, DateTime SD, DateTime ED, int tripSplitterIndex, string[] tripParams, string[] tripTotalParams)
<pre>
 
Dictionary<Guid,RTrips> GetTrips(string schemaName, 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)
Dictionary<Guid,RTrips> GetTripsTotal(string schemaName, Guid[] IDs, DateTime SD, DateTime ED, int tripSplitterIndex, string[] tripParams, string[] tripTotalParams)
 
 
</pre>
 
</pre>
   
* schemaNameимя схемы
+
*schemaIDID схемы
* IDs – список идентификаторов ТС (их можно получить с помощью [[AutoGRAPH.NET Service EnumDevices|EnumDevices]] – поле ID в классе RGroupItem)
+
*IDs – список идентификаторов ТС (их можно получить с помощью [[AutoGRAPH.NET_Service_EnumDevices|EnumDevices]] – поле ID в классе RGroupItem)
* SD / ED – соответственно начало и конец временного периода. Время местное по часовому поясу сервера.
+
*SD / ED – соответственно начало и конец временного периода. Время в UTC.
* tripSplitterIndex - идентификатор разбиения на рейсы (по умолчанию 0), -1 если не разбивать на рейсы
+
*tripSplitterIndex - идентификатор разбиения на рейсы (по умолчанию 0), -1 если не разбивать на рейсы
* tripParams - если !=null - то возвращаются только указанные рейсовые параметры. По умолчанию (если tripParams==null) - то все параметры.
+
*tripParams - если&nbsp;!=null - то возвращаются только указанные рейсовые параметры. По умолчанию (если tripParams==null) - то все параметры.
* tripTotalParams - если !=null - то возвращаются только указанные итоговые параметры. По умолчанию (если tripTotalParams==null) - то все параметры.
+
*tripTotalParams - если&nbsp;!=null - то возвращаются только указанные итоговые параметры. По умолчанию (если tripTotalParams==null) - то все параметры.
  +
*порядок параметров в Params и ParamTypes и их количество зависит конфигурации ТС в схеме и может быть изменён как при изменении настроек ТС так и при изменении версии ПО.
   
 
Результат:
 
Результат:
<pre>
+
<pre>public class RTrips
public class RTrips
 
 
{
 
{
 
public Guid ID { get; set; } // ID ТС
 
public Guid ID { get; set; } // ID ТС
 
public string Name { get; set; } // название ТС
 
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; } // финальные значения по всем рейсам
 
}
 
}
   
Строка 35: Строка 52:
 
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)
 
public RTripArea[] Areas { get; set; } // полигоны обработанных полей (только для методов GetTripsArea, GetTripsAreaTotal, GetTripAreaItems)
 
}
 
}
Строка 42: Строка 59:
 
{
 
{
 
public string Name { get; set; } // название отрезка
 
public string Name { get; set; } // название отрезка
public string Alias { get; set; } // алиас (некоторые параметры именуются через Alias)
+
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 ReturnType[] ParamTypes { get; set; } // типы параметров
  +
 
public RTripStageItem[] Items { get; set; } // строки отрезка (только если GetTrips, в GetTripsTotal == null)
 
public RTripStageItem[] Items { get; set; } // строки отрезка (только если GetTrips, в GetTripsTotal == null)
 
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)
 
}
 
}
  +
// порядок и количество элементов в Params соответствует ParamTypes
   
 
public class RTripStageItem
 
public class RTripStageItem
Строка 62: Строка 84:
 
</pre>
 
</pre>
   
Аналогия с расположением данных в [[AutoGRAPH.NET]]:
+
Аналогия с расположением данных в [[AutoGRAPH.NET|AutoGRAPH.NET]]:
   
 
{| border="0" cellspacing="0" cellpadding="0" style="width: 100%;"
 
{| border="0" cellspacing="0" cellpadding="0" style="width: 100%;"
Строка 68: Строка 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/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&tripSplitterIndex=0
 
http://localhost:8300/GetTripsTotal/Demo/25f86189-adc9-445d-940c-abf860874622/20150413-0000/20150413-2359/0/*
 
http://localhost:8300/GetTripsTotal/Demo/25f86189-adc9-445d-940c-abf860874622,d090286c-1fd6-4ef2-ae44-8091d04408d1/20150413-0000/20150413-2359/0/*
 
http://localhost:8300/GetTripsTotal?schemaID=Demo&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]]
 

Текущая версия на 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)

Результат: скачать файл

RTENOTITLE


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:

AutoGRAPHNET_Service_GetTrips_table.png