Метод «Получить список томов дела для бумажных документов»¶
Endpoint: GET {hostname}/ldm-digital-archive-service/api/v1/da/files/{id}/volumes/paper
Метод позволяет получить перечень и описание томов дела с рассчитанным остаточным количеством листов в томе дела.
Сценарий выполнения:
- Верификация входящего сообщения. В запросе передаются параметры пагинации и сортировки.
- Осуществляется получение данных из таблицы «dh_collections», где значение параметра «id» равно {id} в запросе.
- Осуществляется получение записей из таблицы «dh_collection_content», где значение параметра «collection_id» равно {id} в запросе.
- Для каждой записи, полученной на этапе 3, выполняется запрос на получение описания объекта в контенте «dh_collections», где «id» равно «content_id» записи, найденной на этапе 3.
- Выполняется отбор томов дел из перечня, полученного на этапе 4, для которых в атрибуте «fr_file_section_storage_type» указано значение справочника «Способы хранения» со значением «PAPER» параметра «fr_system_code».
-
Для каждого тома из этапа 5 выполняется расчет остаточного количества листов:
a. Осуществляется получение записей из таблицы «dh_collection_content», где «collection_id» равно идентификатору тома дела.
b. Выполняется запрос на получение описания объекта в контенте в сервисе dh-documents-service: «dh_documents», где «id» равно «content_id» записи, найденной на этапе 6a.
c. Рассчитывается остаточное количество листов в томе дела по формуле: 250 минус сумма листов документов, найденных на этапе 6b (количество листов берется в атрибуте «da_doc_sheets_number» документа).
-
Сервис возвращает ответ <200 OK> и массив DhPaperVolumesDto (описание тома и remainingSheetsAmount (integer).
Маппинг параметров запроса «Получить список томов дела для бумажных документов»
| Входящие параметры | Тип данных | Способ передачи параметров | Требования к заполнению |
|---|---|---|---|
| Id | string($uuid) | Path | Идентификатор коллекции |
| page | integer($int32) | Query | Номер страницы, нумерация начинается с 0 |
| size | integer($int32) | Query | Количество возвращаемых записей для одной страницы, по умолчанию задано значение «20» |
| sort | array[string] | Query | Параметр сортировки |
Пример запроса:
curl -X 'GET' \
'https://editor-next.swagger.io/api/v1/da/files/3fa85f64-5717-4562-b3fc-2c963f66afa6/volumes/paper 0'\
-H 'accept: text/plain'