Справочный центр Wialon

exec_report

Метод exec_report используется для выполнения отчета.

Конечная точка

Copied!
svc=report/exec_report&params={
  "reportResourceId": <long>,
  "reportTemplateId": <long>,
  "reportObjectId": <long>,
  "reportObjectSecId": <long>,
  "reportObjectIdList": [
    <uint>,
    ...
  ],
  "interval": {
    "from": <uint>,
    "to": <uint>,
    "flags": <uint>
  },
  "remoteExec": <uint>,
  "reportTemplate": <object>
}

Параметры

Запрос может содержать следующие параметры. Обязательные параметры отмечены звездочкой (*).

Название Описание
reportResourceId* ID ресурса. Отчет выполняется от имени создателя ресурса, если reportTemplateId равен 0.
reportTemplateId* ID шаблона.
reportObjectId* ID элемента.
reportObjectSecId* ID подчиненного элемента (водителя, прицепа или их группы); 0, если у элемента нет подчиненных элементов.
reportObjectIdList Массив ID дополнительных элементов (для отчета по группам объектов).
interval* Настройки интервала отчета.
from* Начало интервала, время Unix.
to* Конец интервала, время Unix. Если from больше to, отчет выполняется без ошибки, но не содержит таблиц.
flags* Флаги интервала.
remoteExec Укажите значение 1 для этого параметра, чтобы отчет выполнялся на сервере Webreport. Параметр необязателен и используется, только если после этого выполняется запрос report/get_report_status. Если в возвращаемом результате содержится "remoteExec":1, отчет принят сервером в обработку, и время его выполнения ограничено 5 минутами.
Укажите 0 или не указывайте этот параметр, чтобы отчет выполнялся на сервере Web. В этом случае время его выполнения ограничено 2 минутами.
reportTemplate JSON шаблона отчета, который можно получить после запроса report/get_report_data. Параметр необязателен и используется, только если reportTemplateId равен 0.
Шаблон должен содержать ключи n, ct, p и tbl. Значение n не может быть пустым. Массив tbl должен содержать хотя бы одну таблицу. Каждая таблица должна содержать ключи n, l, c, cl, s, sl, p, sch и f, а объект sch — ключи f1, f2, t1, t2, m, y и w. Если какой-либо из этих ключей отсутствует, возвращается ошибка 4.

Флаги интервала

Флаг Описание Значение параметра from Значение параметра to Комментарии
0x00 (0) Указанный интервал. Значение метки времени в секундах. Значение метки времени в секундах.
0x01 (1) От указанного времени до сегодняшнего дня. Значение метки времени в секундах. 0 Любое значение, переданное в параметре, заменяется текущим временем сервера.
0x02 (2) За предыдущие n дней. 0 Количество дней. Любое значение, переданное в параметре from, заменяется последним полным периодом или текущим временем сервера, если присутствует флаг 0x20.
0x04 (4) За предыдущие n недель. 0 Количество недель.
0x08 (8) За предыдущие n месяцев. 0 Количество месяцев.
0x10 (16) За предыдущие n лет. 0 Количество лет.
0x20 (32) Включая текущий период.
0x40 (64) За предыдущие n часов. 0 Количество часов.
0x80 (128) За предыдущие n минут. 0 Количество минут.

Ответ

Copied!
{
    "reportResult": {                       /* результат выполнения отчета */
        "msgsRendered": <int>,              /* загружены сообщения: 0 — нет, 1 — да */
        "stats": [                          /* массив статистических параметров */
            ["<text>", "<text>"]            /* [название параметра, значение] */
        ],
        "tables": [                         /* массив таблиц */
            {
                "name": "<text>",           /* тип таблицы */
                "label": "<text>",          /* название */
                "grouping": {               /* настройки группировки таблицы из шаблона; могут быть пустыми */
                    "type": "<text>",       /* тип группировки */
                    ...
                },
                "flags": <uint>,            /* флаги таблицы (см. ниже) */
                "rows": <uint>,             /* количество строк */
                "level": <uint>,            /* максимальный уровень в таблице */
                "columns": <uint>,          /* количество столбцов */
                "header": ["<text>"],       /* массив заголовков таблицы */
                "total": [                  /* итого; только если у таблицы есть флаг 0x10 */
                    "<text>"                /* массив ячеек */
                ],
                "header_type": ["<text>"],  /* массив типов заголовков таблицы */
                "totalRaw": [               /* массив значений строки «Итого»; только если у таблицы есть флаг 0x10 */
                    {
                        "v": <double>,      /* исходное значение ячейки */
                        "vt": <uint>        /* тип значения */
                    },
                    ...
                ]
            }
        ],
        "attachments": [                    /* массив вложений (графиков, фотографий) */
            {                               /* для графиков */
                "name": "<text>",           /* название */
                "type": "<text>",           /* тип: chart — график, photo — фотография */
                "c": "<text>",              /* столбцы графика, строка JSON */
                "datasets": ["<text>"],     /* массив с названиями кривых графика */
                "axis_y": ["<text>"],       /* массив наименований осей 'Y' */
                "axis_x": "<text>",         /* наименование оси 'X' */
                "flags": <uint>,            /* формат оси, см. описание ниже */
                "p": "<text>"               /* настройки графика */
            },
            {                               /* для фотографий и видео */
                "name": "<text>",           /* название и перечисленные ниже параметры, разделенные символом ";" */
                "ftm": "<text>",            /* форматированная дата */
                "uid": "<text>",            /* ID объекта */
                "tm": "<text>",             /* время Unix */
                "idx": "<text>",            /* индекс одновременно зарегистрированных однотипных вложений */
                "lat": "<text>",            /* широта */
                "lon": "<text>",            /* долгота */
                "type": "<text>",           /* тип вложения */
                "zone": <JSON>,             /* информация о геозоне */
                "tags": <JSON>              /* информация о тегах */
            }
        ]
    },
    "reportLayer": {                        /* графический слой */
        "name": "<text>",                   /* название слоя */
        "bounds": [
            <double>,                       /* минимальная широта */
            <double>,                       /* минимальная долгота */
            <double>,                       /* максимальная широта */
            <double>                        /* максимальная долгота */
        ],
        "units": [                          /* объекты, треки которых есть в слое */
            {
                "id": <long>,               /* ID объекта */
                "msgs": {
                    "count": <uint>,        /* количество сообщений */
                    "first": {              /* первое сообщение с координатами */
                        "time": <uint>,     /* время сообщения, время Unix */
                        "lat": <double>,    /* широта */
                        "lon": <double>     /* долгота */
                    },
                    "last": {...}           /* последнее сообщение с координатами, тот же формат */
                },
                "mileage": <double>,        /* пробег */
                "max_speed": <double>,      /* максимальная скорость */
                "trips": [                  /* поездки; только если трек разделен на поездки */
                    {
                        "first": {...},     /* первое сообщение поездки, тот же формат */
                        "last": {...},      /* последнее сообщение поездки, тот же формат */
                        "mileage": <double>,
                        "max_speed": <double>,
                        "color": "<text>"   /* цвет поездки, #RRGGBB */
                    }
                ]
            }
        ]
    },
    "layerCount": <uint>                    /* количество слоев, которые должны быть объединены в слое отчета */
}

В Wialon Local поле c графика доступно начиная с версии 2404.

Для получения всех доступных типов таблиц используйте метод report/get_report_tables.

Подробности о поле zone смотрите на странице resource/get_zone_data.

Подробности о поле tags смотрите на странице resource/update_tag.

Флаги таблиц

Флаг Описание
0x1 (1) Группировка по дням.
0x2 (2) Ограничение по времени.
0x4 (4) Группировка по неделям.
0x8 (8) Группировка по месяцам.
0x10 (16) Итого.
0x20 (32) Графики: разделять датчики.
0x100 (256) Детализация: частичная.
0x200 (512) Графики: отсчет с нуля.
0x400 (1024) Накапливать интервалы.
0x800 (2048) Детализация: полная.
0x1000 (4096) Нумерация строк.
0x2000 (8192) Выполнение таблицы только по элементу отчета (не по подчиненным элементам).
0x4000 (16384) Группировка записей по сменам.
0x8000 (32768) Обрезать интервалы в таблице.
0x200000 (2097152) Группировка по поездкам.
0x400000 (4194304) Группировка по типам нарушения.
0x10000000 (268435456) Группировка по дням недели.
0x20000000 (536870912) Группировка по дням месяца.
0x40000000 (1073741824) Группировка по годам.

Флаги графиков

Флаг Дополнительный флаг Описание
0x4 (4) Корректируемый максимум для оси Y.
0x10 (16) Формат, указанный в настройках шаблона.
0x1 (1) Добавочный для 0x10 (установить формат “H:M:S”).
0x2 (2) Добавочный для 0x10 (установить формат “Y-m-E”).
0x80 (128) Общий тип.
0x100 (256) 24-часовой формат.
0x20 (32) 24-часовой формат (добавочный для 0x100).
0x2 (2) 12-часовой формат (добавочный для 0x20).
0x40 (64) Отображение дней недели (добавочный для 0x100).

Коды ошибок

Код Описание
4 Неверные входные параметры: не указан обязательный параметр, шаблон с указанным reportTemplateId не существует, либо reportTemplateId равен 0, а параметр reportTemplate не указан или содержит не все обязательные ключи (см. параметр reportTemplate).
6 Неопределенная ошибка.
7 Одна из следующих ошибок:
  • служба отчетов недоступна на сервере
  • элемент из reportObjectId не существует или у вас нет права доступа Запрос сообщений и отчетов на него
  • ресурс из reportResourceId не существует или у вас нет права доступа Просмотр шаблонов отчетов на него

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.