Опрессовки

Журнал опрессовок: гидравлические испытания и акты.

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

Возможности

  • Список опрессовок по 50 на страницу: период, контур, источник и вид испытания, состояние, давления I и II этапа, ответственный, число участков контура, число нарушений, решение комиссии.
  • Плитки «Найдено» и по состояниям «План», «В процессе», «Выполнено» — нажатие отбирает список.
  • Поиск по номеру, названию и описанию контура, границе раздела, решению комиссии, отчёту, примечанию, источнику и ответственному. Фильтры: состояние, вид испытания, источник тепла, ответственный, утверждение, даты «с» и «по».
  • Карточка опрессовки по блокам: «Контур испытаний», «План опрессовки», «Проведение и результат», «Ответственные и руководители». Ниже — линии контура, границы раздела, мероприятия, нарушения испытаний, программы и акты.
  • Создать, изменить, удалить запись; черновик карточки хранится в браузере до следующего открытия.
  • Контур: участки вручную, по номерам или выбором на карте, с парной трубой (подача/обратка).
  • Утверждение плана — у одной записи или «Утвердить план» сразу для нескольких за период; снятие утверждения.
  • Документы записи; выгрузка карточки в Word.
  • Переход на карту: к центру контура, к участку, к узлу границы; от нарушения испытаний — в журнал нарушений.

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

Где хранятся данные. Журнал общий с десктопным ТГИД: каждая опрессовка — строка таблицы opres базы города, и запись из веба сразу видна в десктопе, и наоборот. Участки контура — opresdeployed, границы раздела — list_opres_node1 и list_opres_node2, документы — opresdocuments и opresacts. Нарушения, выявленные при испытании, — записи журнала нарушений со ссылкой на опрессовку (defect.opresid). Справочники: sostoyanie_opres (состояние), opres_types (вид испытания), источники тепла, объекты опрессовочного насоса, подразделения, ответственные.

Период и порядок. В столбце «Период» — дата проведения, а если её нет — плановые начало и окончание. По той же дате работают фильтры «с» и «по» и сортировка: новые сверху.

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

Утверждение плана. План утверждается, если заполнены название, источник тепла, начало и окончание по плану, а в контуре есть хотя бы один участок. Иначе карточка подсказывает, что заполнить. При утверждении записываются дата и подписант. «Утвердить план» в заголовке журнала собирает неутверждённые планы по дате начала и утверждает выбранные. Записи, не прошедшие проверку, остаются с причиной.

Удаление. Вместе с записью удаляются участки контура, границы раздела, документы и акты. Нарушения журнала остаются, но теряют ссылку на опрессовку.

Давления в карточке и списке — в кгс/см², температура расхолаживания — в °C.

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

  • Смотреть журнал, карточки и выгружать Word — любой вошедший пользователь.
  • Создавать, править, удалять, утверждать, менять контур и документы — право «Журналы: ремонты, ПТС, акты, ТУ, привязки» (роли «Редактор» и «Администратор») и включённая запись на сервере. Без них кнопок «Создать», «Утвердить план», «Редактировать» и удаления нет.
  • Для перехода на карту у контура должны быть участки с геометрией.

Шаги

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

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

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

    Окно «Опрессовки»

  3. Журнал открывается списком: плитки-счётчики сверху (нажатие — фильтр), поиск и фильтры, кнопка «Сбросить». Значок прицела в строке показывает запись на карте, стрелка — открывает карточку. Нажмите «Создать» — откроется форма новой опрессовки, состояние по умолчанию — «План». Заполните поля (обязательные отмечены звёздочкой) и нажмите «Сохранить»; «Отмена» закрывает форму без записи. Как это выглядит целиком — на примере журнала нарушений.

    Опрессовки: шаг 3

Примеры

Копия Астаны. В журнале 96 опрессовок, все в состоянии «Выполнено» и с утверждённым планом. Вид «гидравлические испытания» указан у 21, у остальных 75 вид не заполнен. В контурах всего 14 765 участков, к испытаниям привязано 23 нарушения. Давление I этапа — от 4,9 до 12 кгс/см², в среднем 11,51; II этапа — в среднем 15,30.

Запись «Контур опрессовки ТМ-33,ТМ-41,ТМ-50,ТМ-51»:

  • план с 07.08.2023 по 11.08.2023, проведена 09.08.2023, продолжительность 480 мин;
  • давление I этапа 12, II этапа 16 кгс/см², температура расхолаживания 45 °C;
  • в контуре 199 участков, при испытании выявлено 3 нарушения.

Копия Алматы. Журнал пуст, справочники заполнены: 3 состояния, 4 вида испытаний, 99 источников тепла. Окно показывает «Опрессовки не найдены» и под ним — «В журнале пока нет опрессовок — создайте первую или перенесите журнал из десктопной ТГИД».

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

  • «В журнале пока нет опрессовок — создайте первую или перенесите журнал из десктопной ТГИД» — в базе города нет опрессовок; создайте первую кнопкой «Создать».
  • «Опрессовки не найдены» с кнопкой «Сбросить фильтры» — фильтры слишком узкие.
  • «Наименование» уже есть в записи N» — название не уникально; новая запись получает «Контур опрессовки», переименуйте её.
  • «Для утверждения заполните: …» и «Контур пуст — выберите участки, затем утверждайте план.» — не хватает данных плана или участков.
  • «Ни один план не утверждён — см. причины» — у каждой записи пакета указана причина: «не заполнены поля плана», «контур пуст — выберите участки», «уже утверждено».
  • «Справочники не загрузились — фильтры и выбор значений могут быть неполными» — список работает, но выпадающие списки пустые; повторите позже. Если это сообщение появилось после «Создать», карточка новой опрессовки не открывается, пока справочники не загрузятся.
  • «Не удалось загрузить журнал опрессовок», «Опрессовка не найдена», «Не удалось сформировать Word».

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

  • Запись журнала: MUTATIONS_ENABLED=true у API и право journals в матрице прав. При входе через роли PostgreSQL (AUTH_BACKEND=pg) окончательно права проверяет база (sql/pg_auth/03_grants.sql).
  • Каждое создание, правка, удаление, изменение контура, утверждение и его снятие попадают в audit_log с автором (операции INSERT, UPDATE, DELETE, CONTOUR, APPROVE, UNAPPROVE).
  • Таблицы журнала — из базы десктопа; API их не создаёт.

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

  • Чтение: GET /api/pressure-tests (фильтры, страницы до 200 строк, state_counts), GET /api/pressure-tests/lookups, GET /api/pressure-tests/{id} (с relations: участки, границы, мероприятия, нарушения, документы) — routers/operations.py, database/pressure_tests.py.
  • Запись: POST|PATCH|DELETE /api/v1/journals/pressure-tests[/{id}] (mode: plan), контур — GET|PUT …/{id}/contour, утверждение — GET …/approval/candidates, GET …/{id}/approval, POST …/{id}/approve, POST …/approve, POST …/{id}/unapprove, документы — …/{id}/documents, описание полей — GET …/schema. Код — routers/journals.py, database/journal_specs.py (PRESSURE_TESTS), database/journal_write.py.
  • Word: GET /reports/word/opres/{id} (routers/exports_p4.py).
  • Веб: components/PressureTestJournalDialog.vue (ключ pressureTest) на общем JournalShell.vue, JournalDetailFields.vue, JournalRecordPanels.vue, JournalBatchApprovalDialog.vue; правка — composables/useJournalEdit.ts, useJournalRecordForm.ts.
  • Тесты: tests/components/JournalRecordPanels.spec.ts, tests/components/JournalDetailFields.spec.ts, tests/utils/journalWrite.spec.ts, tests/utils/journalDraft.spec.ts; API — tests/test_operations_router.py, tests/test_journals_write.py, tests/test_journal_mutations_qa.py.
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо