AutoGRAPH.NET Service CacheFind

Материал из TK
Перейти к: навигация, поиск

Выполняет поиск статусов в кэшированных данных.

JSON

Вызов:

http://localhost/ServiceJSON/CacheFind?schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102&IDs=25f86189-adc9-445d-940c-abf860874622&SD=20150401-0000&ED=20150413-2359&stageName=GeoFeonce1&values=1,2&withValues=0
  • schemaID - ID схемы
  • IDs - ID устройств (если ID'ов больше одного - идентификаторы указывается через запятую)
  • SD - дата-время начала периода в формате yyyyMMdd или yyyyMMdd-HHmm
  • ED - дата-время конца периода в формате yyyyMMdd или yyyyMMdd-HHmm
  • stageName - название отрезка
  • values - одно или несколько значений для поиска (целочисленное значение или GUID - в случае геозон, водителей или инструментов)
  • withValues - включать (1) или не включать (0) в ответ все значения параметров в найденных отрезках

Результат - словарь (Dictionary<Guid, CacheFindResult> - ключом является ID ТС) с данными:

public class CacheFindResult
{
    public Guid ID { get; set; }     // ID ТС
    public string Name { get; set; } // название ТС
    public int Serial { get; set; }  // серийный номер ТС
    
    public CacheFindResultItem[] Items { get; set; } // 0 или более найденных значений отрезков 
}
public class CacheFindResultItem
{
    public DateTime SD { get; set; }        // дата/время начала срабатывания датчика (UTC)
    public DateTime ED { get; set; }        // дата/время конца срабатывания датчика (UTC)
    public string Status { get; set; }      // значение датчика - целочисленное или GUID
    public string Caption { get; set; }     // название состояния ("Вкл", "Превышение", название геозоны, ФИО водителя или инструмента)
    public RPoint StartPoint { get; set; }  // точка, соответствующая началу срабатывания датчика
    public RPoint EndPoint { get; set; }    // точка, соответствующая концу срабатывания датчика
    
    public Dictionary<string, object> Values { get; set; } // значения рейсовых параметров в точке срабатывания датчика (только если withValues=1, в противном случае null)
}