Отчёт по соблюдению расписаний
Отчёт предназначен для контроля фактического выполнения расписания на выбранной автобусной линии.
Он сравнивает плановое время прохождения остановок (по матрице расписания) с фактическим временем посещения остановок и наглядно показывает, насколько фактическое движение совпало с плановым.

Что отображается в отчёте
Отчёт строится по одной выбранной автобусной линии и формируется в виде таблицы, где:
-
Первая колонка — название расписания
-
Каждая следующая колонка — остановка маршрута
-
В каждой ячейке — данные по конкретной остановке для конкретного рейса
В каждой ячейке выводится:
-
План — плановое время прибытия на остановку
-
Факт — фактическое время прибытия на остановку
-
Разница — отклонение фактического времени от планового
-
Объект — транспортное средство (госномер), фактически выполнившее остановку
Если фактическое посещение не зафиксировано — ячейка помечается как «Срыв» (невыполнение)

Как формируется отчёт
1. Берётся выбранная автобусная линия и её состав остановок
2. Загружается история версий расписания, действовавших в указанный период
3. Для каждого дня в отчётном интервале определяется, какая таблица расписания должна применяться:
-
по конкретной дате
-
по дню недели
-
или ежедневно4. Для каждого планового рейса и каждой остановки ищется ближайшее фактическое посещение этой остановки5. Если событие найдено в допустимом окне отклонения — в ячейку выводятся План / Факт / Разница / Объект6. Если событие не найдено — ячейка помечается как «Срыв»
Логика сравнения
-
Отчёт проверяет соблюдение расписания не по конкретному автобусу, а по факту выполнения остановки на линии.
-
Если на линии работает несколько автобусов одновременно, отчёт учитывает любой автобус, который фактически выполнил остановку в нужное время.
-
Для каждого планового времени используется не более одного фактического события.
-
Одно фактическое событие не используется повторно для подтверждения нескольких плановых срабатываний.
-
При изменении расписания внутри отчётного периода применяется та версия расписания, которая действовала в момент конкретного планового рейса.
Цветовая индикация отчёта
-
Зелёный — отклонение минимальное, остановка выполнена близко к плану
-
Жёлтый — допустимое отклонение от расписания
-
Оранжевый — заметное отклонение по времени.
-
Красный — большое отклонение или срыв (фактическое посещение отсутствует)