Поиск неисправностей
Поиск неисправностей: дефекты и индикаторы коррозии по базе — на карте и списком, с итогом по базе и последними записями.
Возможности
- Плитки «Дефекты» и «Индикаторы коррозии» — сколько записей во всей базе; щелчок по плитке оставляет в списке только этот вид, повторный — снимает фильтр.
- Плитки состояний дефектов по всей базе: нарушение, ремонт, после ремонта и «Без состояния», если такие записи есть. Плитки справочные — список по ним не фильтруется.
- Общий список: последние 200 дефектов и последние 200 индикаторов коррозии с датой, объектом, состоянием или этапом, адресом и описанием. Поиск — по названию, адресу, описанию и состоянию.
- Отметка «Дефекты: последние 200 из N» с кнопкой «Журнал» — полный журнал с фильтрами и правкой.
- Переключатели «Дефекты на карте» (оранжевые маркеры) и «Индикаторы коррозии на карте» (жёлтые) — все записи с точкой на карте, без предела 200.
- Щелчок по строке — карта приближается к месту и открывает запись в её журнале.
- «Обновить» в заголовке — перечитать оба журнала.
Как это работает
Окно ничего не считает само: оно читает два журнала — нарушений (таблица defect) и индикаторов коррозии (indikator_korrozii) — и сводит их в одну таблицу.
- Дефект: объект — категория нарушения и номер записи, дата — дата обнаружения, состояние — из справочника состояний, место — адрес, описание — текст нарушения. Порядок журнала — от последней даты осмотра.
- Индикатор коррозии: объект — «Индикатор» и его номер, этап — фаза из журнала индикаторов, дата — извлечения, иначе установки, иначе планирования, место — место установки или адрес, описание — отметка процесса и скорость коррозии.
Числа на плитках — полные итоги журналов, а список — только первая страница каждого журнала (200 записей). Плитки состояний считаются по всем нарушениям базы.
Маркеры на карте — отдельные слои карты: они остаются после закрытия окна и снимаются тем же переключателем. Слой строится из всех записей, у которых есть точка.
Записи читаются при первом открытии окна; при повторном показывается прежний список — нажмите «Обновить». Если не загрузился один журнал, второй показывается, а над списком — предупреждение о первом.
Что нужно для работы
- Вход с любой ролью, включая «Просмотр».
- Записи в журнале нарушений или индикаторов коррозии. Для перелёта и маркеров — точка записи на карте.
Шаги
Откройте «Инструменты» и наберите в поиске «Поиск неисправностей» — пункт выделен рамкой.

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

Плитки вверху — итог по всей базе: щелчок по плитке «Дефекты» или «Индикаторы коррозии» оставляет в списке только этот вид.

Включите «Дефекты на карте» — дефекты появятся на карте оранжевыми маркерами.

Закройте окно: маркеры остаются на карте. Убрать их — тем же переключателем в окне.

Примеры
Копия базы Алматы. Журналы пусты: окно сразу пишет «Неисправности не зарегистрированы» и «В базе нет дефектов и индикаторов коррозии — они появятся здесь после регистрации в журналах». Переключатели слоёв доступны, но маркеров нет.
Копия базы Астаны (замер 31.10.2026): в журнале 1785 нарушений. Плитка «Дефекты» — 1785, в списке — последние 200, над ним «Дефекты: последние 200 из 1 785» и кнопка «Журнал». Почти все нарушения привязаны к участкам (1779 из 1785) — те же записи берут износ и прогноз аварийности.
Если не получается
- «Не удалось загрузить неисправности» — не прочитался ни один журнал; нажмите «Повторить».
- «Не загрузились дефекты: …» или «Не загрузились индикаторы коррозии: …» над списком — второй журнал показан, первый — нет.
- «Журнал «…» недоступен на сервере API — похоже, развёрнута устаревшая версия itwin-api» — на сервере нет маршрута журнала; обновите API.
- «Справочник состояний дефектов не загрузился — плитки состояний не показаны» — список дефектов есть, но без итогов по состояниям.
- «Координаты неисправности не указаны» при щелчке по строке — у записи нет точки; откройте её через «Журнал» и укажите место.
- «Дефекты не показаны на карте: …» — слой не загрузился, переключатель вернулся в «выкл.».
Для разработчика
- API:
GET /api/defects?page=1&page_size=200(до 200 на страницу, в ответеtotalиstate_counts),GET /api/defects/lookups(состояния),GET /api/defects/geojson,GET /api/corrosion-indicators?page=1&page_size=200,GET /api/corrosion-indicators/geojson. Код —database/defects.py,database/corrosion_indicators.py, маршруты —routers/operations.py,routers/registries.py. - Веб:
components/FaultDiagnosticsModal.vue(ключfaultDiagnostics; событияopen-defect,open-corrosion,open-journal), слои —stores/mapStore.ts(toggleDefectsLayer,toggleCorrosionLayer), запросы —services/api/journals.ts. - MCP:
similar_defects(похожие аварии) иfailure_hotspots(места повторных отказов) работают по тому же журналу нарушений. - Тесты:
tests/components/FaultDiagnosticsModal.spec.ts; API —tests/test_registries_router.py.
