6.9 KiB
primary-files-ui Specification
Purpose
Аналитик загружает первичные файлы ЮЛ в контексте версии и видит в панели «Первичные документы» [39]/[40] файлы и их документы со статусами распознавания; список обновляется сам, пока идёт распознавание.
Requirements
Requirement: Загрузка файлов ЮЛ в контексте версии
Панель «Файлы ЮЛ» [39]/[40], открытая из строки ЮЛ карточки версии, SHALL загружать выбранные файлы одним запросом
POST /consolidations/{consolidation_id}/legal-entities/{legal_entity_id}/files (multipart, поле files повторяется),
где consolidation_id — консолидация открытой версии (из списка консолидаций ГК в сторе по current_version_id),
без других полей формы и без query consolidation_version_id. Тип и период документа не спрашиваются. Кнопка
«Загрузить документы» SHALL быть недоступна с подсказкой «Загрузка доступна только в версии в работе», если статус
открытой версии не INITIATED, DOCUMENTS_PROCESSING или DATA_CORRECTION. После ответа панель SHALL показать итог:
принятые файлы (accepted[].name) и отклонённые с причиной (rejected[].name + message). Ответ 422 с телом
UploadResult SHALL трактоваться как «ни один файл не принят» с тем же показом rejected[]; ответ 422 с detail
(ENTITY_NOT_IN_PERIMETER), 409 (CONSOLIDATION_NOT_EDITABLE) и прочие ошибки — показом message.
Scenario: Часть файлов отклонена
- WHEN аналитик загружает ОСВ-файл и файл, уже загруженный ранее у этого ЮЛ
- THEN первый показан принятым, второй — отклонённым с текстом причины
DUPLICATE_FILEот сервера
Scenario: Все файлы отклонены
- WHEN сервер отвечает 422 с телом
UploadResult - THEN панель показывает каждый отклонённый файл с причиной, а не общую ошибку
Scenario: Загрузка идёт в консолидацию
- WHEN панель открыта из версии консолидации 2024 Q3 и аналитик загружает файл
- THEN запрос уходит на
/consolidations/{id консолидации 2024 Q3}/legal-entities/{id ЮЛ}/filesбез query; после приёма файл появляется в столе панели
Scenario: Версия не в работе
- WHEN панель открыта из версии в статусе
CANCELLED - THEN кнопка «Загрузить документы» недоступна, при наведении — подсказка
Requirement: Список файлов и документов ЮЛ
Панель SHALL по умолчанию показывать рабочий стол консолидации открытой версии —
GET /consolidations/{consolidation_id}/legal-entities/{id}/files (новые первыми): имя, статус файла по-русски
(«Обработка» для UPLOADED/PROCESSING, «Ошибка» с причиной из job для ERROR) и вложенные documents[] — тип
(«ОСВ <счёт>», «Бух. баланс», «ОФР», «Расшифровка», «Прочее»), период («2024 К1», «2024 · 9 мес.», «период не
определён»), статус документа («Требуется проверка», «Загружен» для CONFIRMED, «Ошибка»). Документы OSV, BALANCE,
INCOME SHALL быть ссылками на /documents/:document_id. Переключатель «Все документы организации» SHALL переключать
панель на GET /legal-entities/{id}/files; в этом режиме у файла не из текущей консолидации в подписи SHALL стоять его
консолидация: «<год> К» по списку консолидаций ГК, «вне консолидации» при consolidation_id = null, «другая
консолидация», если id нет в списке. Если консолидация открытой версии не определена (версии нет в списке ГК), панель
SHALL работать в режиме «все» без переключателя.
Scenario: PDF с двумя формами
- WHEN файл
aep_6.pdfраспознан - THEN под файлом видны два документа — «Бух. баланс» и «ОФР» со статусом «Требуется проверка», каждый открывает экран проверки
Scenario: Стол и все документы
- WHEN у ЮЛ есть файлы, загруженные в консолидации 2024 Q3 и 2024 Q4, и файл, загруженный без контекста; панель открыта из версии 2024 Q3
- THEN по умолчанию виден только файл 2024 Q3; после переключателя «Все документы организации» видны все три, у файла 2024 Q4 подпись «2024 К4», у файла без контекста — «вне консолидации», у файла 2024 Q3 подписи нет
Requirement: Опрос до окончания распознавания
Пока панель открыта и среди файлов активного списка (стол или все документы) есть UPLOADED или PROCESSING, панель
SHALL перечитывать этот список раз в 5 секунд и SHALL прекратить опрос, когда таких файлов нет или панель закрыта.
Переключение режима или смена ЮЛ SHALL сбрасывать список и перечитывать его. При закрытии панели карточка версии SHALL
перечитываться (обновить ячейки чек-листа).
Scenario: Опрос останавливается
- WHEN все файлы активного списка перешли в
PROCESSEDилиERROR - THEN запросы списка файлов прекращаются