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

Материал из TK
Перейти к: навигация, поиск
(WCF)
 
(не показано 10 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
Возвращает табличные данные по запрошенным ТС за период.
 
Возвращает табличные данные по запрошенным ТС за период.
  +
  +
== JSON ==
  +
  +
Вызов:
  +
<pre>http://localhost/ServiceJSON/GetTripTables?session=B05043B71F4B9C67C910163779FFF06EDBBAEF994B2D6C3A84DD96EB767A0F44&schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102&IDs=d090286c-1fd6-4ef2-ae44-8091d04408d1&SD=20151006&ED=20151007-2359&onlineParams=Power,Speed,Signal,SpecConsum,GeoFence,SummaryLevel&tripSplitterIndex=0
  +
</pre>
  +
  +
Дата и время задаются в формате '''yyyyMMdd''' или '''yyyyMMdd-HHmm'''<br/>Если ID'ов больше одного - идентификаторы указывается через запятую.
  +
  +
Результат: [[Media:GetTrips-result.json.txt|скачать файл]]
  +
  +
[[File:AutoGRAPHNET Service GetTripTables.png|RTENOTITLE]]
   
 
== WCF ==
 
== WCF ==
   
 
Определение:
 
Определение:
<pre>Dictionary<Guid, RTripTables> GetTripTables(string schemaName, string deviceIDs, string SD, string ED, string onlineParams, int tripSplitterIndex)</pre>
+
<pre>Dictionary<Guid, RTripTables> GetTripTables(Guid schemaID, string IDs, string SD, string ED, string[] onlineParams, int tripSplitterIndex)</pre>
   
*schemaNameимя схемы
+
*schemaIDID схемы
*deviceIDs – список идентификаторов ТС (их можно получить с помощью [[AutoGRAPH.NET Service EnumDevices|EnumDevices]] – поле ID в классе RGroupItem)
+
*IDs – список идентификаторов ТС (их можно получить с помощью [[AutoGRAPH.NET_Service_EnumDevices|EnumDevices]] – поле ID в классе RGroupItem)
*SD / ED – соответственно начало и конец временного периода. Время местное по часовому поясу сервера.
+
*SD / ED – соответственно начало и конец временного периода. Время в UTC.
*onlineParams - один или больше табличных параметров (через запятую). Отсутствующие у приборов параметры игнорируются и в ответе также отсутствуют
+
*onlineParams - один или больше табличных параметров. Отсутствующие у приборов параметры игнорируются и в ответе также отсутствуют
 
*tripSplitterIndex - идентификатор разбиения на рейсы (по умолчанию 0), -1 если не разбивать на рейсы
 
*tripSplitterIndex - идентификатор разбиения на рейсы (по умолчанию 0), -1 если не разбивать на рейсы
   
 
Результат:
 
Результат:
  +
<pre>public class RTripTables
<pre>
 
public class RTripTables
 
 
{
 
{
 
public Guid ID { get; set; } // ID ТС
 
public Guid ID { get; set; } // ID ТС
Строка 36: Строка 47:
 
public string Name { get; set; } // название параметра
 
public string Name { get; set; } // название параметра
 
public string Caption { get; set; } // описание параметра
 
public string Caption { get; set; } // описание параметра
public object[] Values { get; set; } // массив данных по каждому параметру
+
public object[] Values { get; set; } // массив данных по каждому параметру (тип зависит от ReturnType)
 
public RParameterStatus[] Statuses { get; set; } // список возможных статусов отрезка
 
public RParameterStatus[] Statuses { get; set; } // список возможных статусов отрезка
   
Строка 44: Строка 55:
 
public string Format { get; set; } // формат отображения
 
public string Format { get; set; } // формат отображения
   
  +
public object[] Values { get; set; } // значения, тип зависит от ReturnType
 
 
}
 
}
   
public enum AddValueType : int
+
public enum AddValueType&nbsp;: int
 
{
 
{
 
Curr = 0, // текущее значение (например, уровень топлива)
 
Curr = 0, // текущее значение (например, уровень топлива)
Строка 55: Строка 66:
 
}
 
}
 
</pre>
 
</pre>
 
== JSON ==
 
 
Вызов:
 
<pre>
 
http://localhost:8300/GetTripTables/DemoCEBIT/d090286c-1fd6-4ef2-ae44-8091d04408d1/20151006/20151007-2359/Power,Speed,Signal,SpecConsum,GeoFence,SummaryLevel
 
http://localhost:8300/GetTripTables?schemaID=DemoCEBIT&IDs=d090286c-1fd6-4ef2-ae44-8091d04408d1&SD=20151006&ED=20151007-2359&onlineParams=Power,Speed,Signal,SpecConsum,GeoFence,SummaryLevel
 
</pre>
 
 
Дата и время задаются в формате '''yyyyMMdd''' или '''yyyyMMdd-HHmm'''<br/>Если ID'ов больше одного - идентификаторы указывается через запятую.
 
 
Результат: [[Media:GetTrips-result.json.txt|скачать файл]]
 
 
[[File:AutoGRAPHNET Service GetTripTables.png]]
 

Текущая версия на 14:23, 15 октября 2020

Возвращает табличные данные по запрошенным ТС за период.

JSON

Вызов:

http://localhost/ServiceJSON/GetTripTables?session=B05043B71F4B9C67C910163779FFF06EDBBAEF994B2D6C3A84DD96EB767A0F44&schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102&IDs=d090286c-1fd6-4ef2-ae44-8091d04408d1&SD=20151006&ED=20151007-2359&onlineParams=Power,Speed,Signal,SpecConsum,GeoFence,SummaryLevel&tripSplitterIndex=0

Дата и время задаются в формате yyyyMMdd или yyyyMMdd-HHmm
Если ID'ов больше одного - идентификаторы указывается через запятую.

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

RTENOTITLE

WCF

Определение:

Dictionary<Guid, RTripTables> GetTripTables(Guid schemaID, string IDs, string SD, string ED, string[] onlineParams, int tripSplitterIndex)
  • schemaID – ID схемы
  • IDs – список идентификаторов ТС (их можно получить с помощью EnumDevices – поле ID в классе RGroupItem)
  • SD / ED – соответственно начало и конец временного периода. Время в UTC.
  • onlineParams - один или больше табличных параметров. Отсутствующие у приборов параметры игнорируются и в ответе также отсутствуют
  • tripSplitterIndex - идентификатор разбиения на рейсы (по умолчанию 0), -1 если не разбивать на рейсы

Результат:

public class RTripTables
{
   public Guid ID { get; set; }               // ID ТС
   public string Name { get; set; }           // название ТС
   public RTripTableItem[] Trips { get; set; }// список рейсов
}

public class RTripTableItem 
{
    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 DateTime[] DT { get; set; }        // массив дата-времени для каждой табличной записи
    public RTripTableValues[] Values { get; set; } // табличные данные этого рейса
}

public class RTripTableValues
{
    public string Name { get; set; }          // название параметра
    public string Caption { get; set; }       // описание параметра
    public object[] Values { get; set; }      // массив данных по каждому параметру (тип зависит от ReturnType)
    public RParameterStatus[] Statuses { get; set; } // список возможных статусов отрезка

    public ReturnType ReturnType { get; set; }  // тип данных
    public AddValueType ValueType { get; set; } // модификатор данных
    public string Unit { get; set; }            // единица измерения
    public string Format { get; set; }          // формат отображения


}

public enum AddValueType : int
{
    Curr = 0,    // текущее значение (например, уровень топлива)
    First = 1,   // первое значение в отрезке/рейса (например, время начала рейса или отрезка)
    Last = 2,    // последнее значение в отрезке/рейса (например, время конца рейса или отрезка)
    Diff = 3     // разница между точками (например расход топлива за рейс)
}