Запрос событий в СПИК
Для запроса событий в СПИК существуют сервисы SpicTpmEventService (периоды движения) и SpicFuelEventService (заправки и сливы).
Запрос событий можно осуществить следующим образом:
- Пройти авторизацию в системе СКАУТ (если не пройдена).
- Получить список идентификаторов Объектов мониторинга, по которым необходимо получить события.
- Сформировать запрос для получения события и указать список идентификаторов ОМ, по которым необходимо получить данные.
- Получить события, вызвав у одного из сервисов необходимый метод с параметром, полученным на шаге 2. При успешном выполнении сервис вернёт результат, в котором будут находиться события.
Пример на C#:
public SpicObjectTpmEventTypeCollection[] GetTpmEvents()
{
// создаем клиент сервиса
var tmpServiceClient = new SpicSoapTpmEventServiceClient();
// формируем запрос
var unitTypeId = new Guid("0F1E3A4A-88F5-4166-9BE8-76033DD85D08");
var request = new SpicObjectsEventTypeRequest
{
Objects = new[]
{
new SpicObjectIdentity {ObjectId = 245, ObjectTypeId = unitTypeId},
new SpicObjectIdentity {ObjectId = 412, ObjectTypeId = unitTypeId},
new SpicObjectIdentity {ObjectId = 1240, ObjectTypeId = unitTypeId},
new SpicObjectIdentity {ObjectId = 3, ObjectTypeId = unitTypeId}
},
Period = new SpicDateTimeRange
{
Begin = DateTime.Now.AddDays(-1),
End = DateTime.Now
}
};
// запрашиваем у сервера события
var response = tmpServiceClient.GetEventsByCommitTime(request);
return response.Collection.Collections;
}
Пример на JS:
function getTpmEvents(authorizationToken)
{
// создаем клиент сервиса
var requestProvider = new HttpJsonRequestProvider();
// формируем запрос
var unitTypeId = "0F1E3A4A-88F5-4166-9BE8-76033DD85D08";
var request = {
Object: [
{ ObjectId: 245, ObjectTypeId: unitTypeId },
{ ObjectId: 412, ObjectTypeId: unitTypeId },
{ ObjectId: 1240, ObjectTypeId: unitTypeId },
{ ObjectId: 3, ObjectTypeId: unitTypeId }
],
Period: {
Begin: "/Date(" + (new Date().getTime() - 86400000) + ")/",
End: "/Date(" + new Date().getTime() + ")/"
}
};
// запрашиваем у сервера события
var response = requestProvider.POSTAuthorized("http://localhost:8081/spic/TpmEvent/rest", request, authorizationToken);
return response.Collection.Collections;
}
[[Запрос статистик в СПИК|<<Назад]] [[Документация по СПИК|К оглавлению]] [[Адреса сервисов в REST и SOAP. СПИК|Далее>>]]