Andrey Epifancev 99ab7598c9 docs(vsp): OpenSpec change и план AURORA-1883 — просмотр закрытых ВСП (#330)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 11:27:51 +04:00

4.7 KiB
Raw Blame History

Proposal

Why

Замечание заказчика №3 «Справочники» (свод замечаний Фомичева от 27.10.2026, Jira AURORA-1883, эпик AURORA-1876, приоритет «Высокий»): «Предусмотреть возможность просмотра закрытых ВСП, в том числе давно закрытых».

Сейчас справочник ВСП показывает только действующие ВСП: GET /api/v1/dict/info всегда передаёт в сервис is_active=True, параметра статуса нет, выгрузка тоже отдаёт только действующие. ВСП с прошедшей датой закрытия автоматически получает is_active=false (после AURORA-1885 — сразу при сохранении) и пропадает из UI, хотя в v3.vsp остаётся. Посмотреть или исправить его нельзя. В листах формы 2 ячейка «ВСП РФ» строки с закрытым ВСП показывает не рег. номер, а id как число: подписи берутся из /dict/info/dropdown, где только действующие.

What Changes

  • GET /dict/info: новый query-параметр status (active | closed | all, по умолчанию active) и фильтр периода закрытия close_date_start / close_date_end. Закрытые сортируются по дате закрытия, свежие сверху.
  • POST /dict/info/export: те же status, close_date_start, close_date_end в теле.
  • GET /dict/info/dropdown: параметр include_inactive (по умолчанию false) — для подписей закрытых ВСП в листах форм. Удалённые (is_deleted) не возвращаются ни при каком статусе и ни в каком списке.
  • Справочник ВСП (фронт): переключатель «Действующие / Закрытые / Все», поля «Закрыт с / по», колонка «Статус» с бейджем «Действует» / «Закрыт», приглушённый текст закрытых строк; выгрузка учитывает текущий статус и период.
  • Листы формы 2: ячейка ВСП показывает рег. номер; у закрытого — «<рег. номер> (закрыт)»; если ВСП не найден — «ВСП #», а не число. Выбрать для строки можно только действующий ВСП.

Не меняется:

  • поведение по умолчанию: без параметров справочник, выгрузка и выпадающие списки отдают только действующие ВСП;
  • права: исполнитель видит ВСП (и действующие, и закрытые) только своих ССП, админ — все; редактирование и удаление ВСП не меняются;
  • автоматическое закрытие ВСП по дате (_sync_closed_records, AURORA-1885);
  • снятие даты закрытия — AURORA-1886; удаление ВСП админом — AURORA-1884;
  • загрузка «давно закрытых» ВСП из внешнего архива — вне задачи: показываем то, что есть в v3.vsp.

Capabilities

New Capabilities

  • vsp-directory: список, фильтры по статусу и периоду закрытия, выгрузка и выпадающие списки справочника объектов ВСП; подпись ВСП в листах форм.

Modified Capabilities

Нет.

Impact

  • Python: api/src/api/v1/vsp.py (get_vsp, get_vsp_dropdown, export_info), api/src/domain/schemas.py (VSPExportRequest), api/src/services/vsp_service.py (get_list, get_dropdown, export_xlsx), api/src/repository/vsp_repository.py (get_list). Миграции нет.
  • Web: web/src/pages/DictVspPage/ (DictVspPage.jsx, components/DictVspFilters.jsx, components/TableDictVsp.jsx, components/Modals/ModalExport.jsx), web/src/components/RealtimeTable/ (RealtimeTable.jsx, Cell/Cell/Cell.jsx, Cell/EditCell/VspDropdownEditCell.jsx, Modals/SelectVspModal.jsx), новые чистые утилиты utils/vspLabel.js, pages/DictVspPage/utils/vspListParams.js.
  • Тесты: api/tests/integration/test_vsp.py, api/tests/unit/ (репозиторий/сервис), node --test на новые утилиты.