Показатели

Показатели эксплуатации: аварийность, ремонты, износ, наряды, отключения и сеть — графики за период по всей сети или по видимой области карты.

Где найти
«Инструменты» (значок чемоданчика справа вверху) → Эксплуатация → «Показатели». То же — палитрой команд: Ctrl+K и начните набирать название.
Права
доступно всем, кто вошёл.
Читаю как

Возможности

  • Период: «12 месяцев», «Этот год», «Прошлый год» или «Свой» — даты «С» и «По».
  • «Только видимая область карты» — показатели по той части города, что на экране; при каждом сдвиге карты они пересчитываются сами.
  • Плитки: «Дефектов за период», «Открытых дефектов», «Повреждений на 100 км в год», «Средний срок ремонта», «Средний износ», «Открытых нарядов», «Просрочено нарядов», «Отключений за период».
  • Графики: дефекты по месяцам, по категориям и по состоянию; износ участков по категориям; наряды по статусам; сеть по годам прокладки и по диаметрам.
  • Щелчок по столбцу любого из трёх графиков дефектов — эти дефекты точками на карте; «Оставить на карте» закрывает окно и оставляет точки.
  • «Таблицы» — те же данные числами для отчёта; «Графики» — обратно к диаграммам.

Как это работает

Окно запрашивает у сервера одну сводку. Ничего не сохраняет: каждый раз считает заново по базе города.

Период. «12 месяцев» — с первого числа того же месяца год назад по сегодня (5 ноября 2026 года это 01.11.2025–05.11.2026, 370 дней). «Этот год» — с 1 января по сегодня, «Прошлый год» — весь прошлый год. Свой период — не длиннее 10 лет, начало не позже конца. На графике по месяцам есть все месяцы периода, в том числе пустые.

Дефекты берутся из журнала нарушений десктопа (таблица defect):

Плитка Что считается
Дефектов за период записи, у которых дата обнаружения попала в период; записи без даты обнаружения не считаются
Открытых дефектов записи в состоянии «Нарушение» или «Ремонт» — на сегодня, без учёта периода
Повреждений на 100 км в год дефекты за период / длина сети, км × 100 × 365,25 / дней в периоде
Средний срок ремонта у записей с датой завершения ремонта в периоде — среднее число дней от обнаружения до завершения

В «Повреждения на 100 км» идут все записи журнала за период, любой категории («Износ», «Реконструкция т/тр», без категории), а не только порывы. Чтобы увидеть долю порывов, смотрите график «Дефекты по категориям».

Наряды (таблица tgid_work_order). «Открытых нарядов» — сейчас в статусах «Заявка», «Назначен», «В работе». «Просрочено нарядов» — открытые, у которых плановое окончание уже прошло. График «Наряды по статусам» — все наряды на сегодня, период на него не влияет.

Отключения (таблица tgid_outage). «Отключений за период» — неотменённые отключения, время которых пересекается с периодом. Берётся фактическое начало и конец, если они записаны, иначе плановые.

Сеть — участки основной схемы с паспортом: без участков внутренних схем узлов, удалённых и копий-сценариев. Длина — из паспорта участка. Год — дата перекладки, если её нет — дата прокладки; год раньше 1900 или позже текущего считается ошибкой ввода и попадает в «нет даты». Диаметры — по условному проходу: до 100, 101–200, 201–300, 301–500, 501–700, свыше 700 мм. Сводка сети тяжёлая (сотни тысяч участков), сервер держит её 10 минут: правка паспорта появится в окне не сразу.

Износ — последний сохранённый расчёт износа (с наибольшим номером). Фильтры окна к нему не применяются: ни период, ни видимая область. Если расчётов не было, плитка «Средний износ» показывает «—», графика износа нет. Подпись графика — «Последний расчёт износа», а подсказка под графиками напоминает: «Износ — по последнему расчёту износа (дата), без отбора по видимой области.». Как считается износ — в разделе Индекс износа.

Видимая область карты. Дефекты отбираются по точке записи (записи без точки не попадают), наряды и отключения — по своей точке, сеть — по участкам, задевающим экран. Пересчёт идёт через 0,6 с после остановки карты.

Точки на карте. Щелчок по столбцу запрашивает дефекты того же периода и области с отбором по месяцу, категории или состоянию. Столбец «не указано» показывает записи без категории или состояния. На карту выводится не больше 5000 точек — тогда в сообщении «(показаны не все)». Цвет точки — состояние: «Нарушение» — красный, «Ремонт» — оранжевый, «После ремонта» — серый.

Что нужно для работы

  • Права: любой вошедший пользователь, включая роль «Просмотр». Окно только читает.
  • Данные: журнал нарушений в базе города (даты обнаружения и завершения ремонта, точки на карте), паспорта участков (длина, диаметр, даты), для плитки износа — хотя бы один расчёт износа. Наряды и отключения — если ими пользуются в вебе.

Шаги

  1. Откройте «Инструменты» и наберите в поиске «Показатели» — пункт выделен рамкой.

    Пункт «Показатели» в панели «Инструменты»

  2. Нажмите пункт — откроется окно.

    Окно «Показатели»

  3. «Только видимая область карты» — показатели считаются только по участкам и событиям в той части города, что сейчас на экране. Пока окно открыто, показатели пересчитываются при каждом сдвиге карты.

    Показатели: шаг 3

  4. «Таблицы» показывает те же данные числами — их удобно скопировать в отчёт; «Графики» возвращает диаграммы.

    Показатели: шаг 4

Примеры

Копия Астаны, «12 месяцев» (01.11.2025–05.11.2026). Дефектов за период — 35: 32 «Порыв», 3 «Износ»; по состоянию 20 «Нарушение» и 15 «Ремонт». Больше всего — декабрь 2025 (10). Открытых дефектов — 110: это все записи журнала в состояниях «Нарушение» (78) и «Ремонт» (32), независимо от периода. Сеть — 7151,8 км, 98 187 участков. Повреждений на 100 км в год: 35 / 7151,8 × 100 × 365,25 / 370 = 0,48. Средний срок ремонта — 4,0 дн. по 15 записям, ремонт которых завершён в периоде. Средний износ — 30,1 % (расчёт № 17 от 31.10.2026). Нарядов и отключений в копии нет — плитки показывают 0.

Копия Астаны, свой период 01.01.2019–31.12.2019. Дефектов — 151, больше всего в октябре (33). Повреждений на 100 км в год — 2,11 (151 / 7151,8 × 100 × 365,25 / 365). Но по категориям: 69 без категории, 48 «Износ», 29 «Реконструкция т/тр», 3 «Нарушение работы сетей» и только 2 «Порыв»; по источнику 145 записей — «Ремонт». Плитка считает все записи журнала, поэтому 2,11 — не частота порывов. Щелчок по столбцу «не указано» покажет на карте те 69 записей.

Копия Алматы на стенде инструкции, «12 месяцев». Журнал нарушений пуст: плитки дефектов — 0, на месте графиков дефектов — «Дефектов за период нет». Сеть — 4542,6 км, 90 853 участка: 3845,5 км в «2010-е» и 697,1 км «нет даты» — даты прокладки в копии почти все одного десятилетия. Средний износ — 27,7 % (расчёт № 3). Наряды: 5, все «Отменён», поэтому «Открытых нарядов» — 0.

Если не получается

  • «Показатели не загружены» с причиной «Начало периода позже конца» — в своём периоде дата «С» позже даты «По».
  • «Показатели не загружены» с причиной «Период — не больше 10 лет» — сократите свой период.
  • «Дефекты на карте не показаны» — сервер не ответил на запрос точек; повторите щелчок по столбцу.
  • Щелчок по столбцу дал меньше точек, чем высота столбца, — у части записей нет точки на карте.
  • «Средний износ» показывает «—», графика износа нет — расчёт износа не выполнялся; в подсказке под графиками — «по последнему расчёту износа (не выполнялся)».
  • Числа сети не изменились после правки паспорта — сводка сети обновляется раз в 10 минут.
  • Износ не изменился при сдвиге карты с «Только видимой областью карты» — так и должно быть: износ берётся из последнего расчёта целиком, без отбора по видимой области.
  • «Открытых дефектов» больше, чем «Дефектов за период», — так и должно быть: открытые считаются за всё время.

Для администратора

  • Окно ничего не пишет в базу и не требует флагов сервера.
  • Используются таблицы defect, remontcat, statedefect, defecttypes, linesobj, heatpipesections, tgid_scenario, tgid_work_order, tgid_outage, calculation_iznos, wear_out. Если таблиц нарядов или отключений в базе нет, их показатели — нули.
  • «Открытые» состояния дефекта — коды 1 и 2 справочника statedefect («Нарушение», «Ремонт»). Если в базе города коды другие, плитка «Открытых дефектов» будет неверной.

Для разработчика

  • API: GET /api/v1/kpi/dashboard (date_from, date_to, fileid, bbox — «минДолгота,минШирота, максДолгота,максШирота» в WGS84), GET /api/v1/kpi/defects/geojson (те же фильтры и month «ГГГГ-ММ», category_id, state_id; 0 — без категории или состояния). Код — routers/kpi.py, database/kpi.py (NETWORK_CACHE_S, MAX_PERIOD_DAYS, MAX_POINTS, DIAMETER_BUCKETS, DEFECT_OPEN_STATES).
  • Веб: components/KpiDashboardDialog.vue (ключ kpiDashboard), components/KpiTile.vue, правила периодов и графиков — utils/kpi.ts, запросы — services/api/kpi.ts.
  • Тесты: API — tests/test_kpi.py; vitest — tests/utils/kpi.spec.ts, tests/components/KpiTile.spec.ts; e2e — e2e/functions.spec.ts (окно открывается, плитки видны).
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо