Метод «Получить список томов дела для бумажных документов»

Endpoint: GET {hostname}/ldm-digital-archive-service/api/v1/da/files/{id}/volumes/paper

Метод позволяет получить перечень и описание томов дела с рассчитанным остаточным количеством листов в томе дела.

Сценарий выполнения:

  1. Верификация входящего сообщения. В запросе передаются параметры пагинации и сортировки.
  2. Осуществляется получение данных из таблицы «dh_collections», где значение параметра «id» равно {id} в запросе.
  3. Осуществляется получение записей из таблицы «dh_collection_content», где значение параметра «collection_id» равно {id} в запросе.
  4. Для каждой записи, полученной на этапе 3, выполняется запрос на получение описания объекта в контенте «dh_collections», где «id» равно «content_id» записи, найденной на этапе 3.
  5. Выполняется отбор томов дел из перечня, полученного на этапе 4, для которых в атрибуте «fr_file_section_storage_type» указано значение справочника «Способы хранения» со значением «PAPER» параметра «fr_system_code».
  6. Для каждого тома из этапа 5 выполняется расчет остаточного количества листов:

    a. Осуществляется получение записей из таблицы «dh_collection_content», где «collection_id» равно идентификатору тома дела.

    b. Выполняется запрос на получение описания объекта в контенте в сервисе dh-documents-service: «dh_documents», где «id» равно «content_id» записи, найденной на этапе 6a.

    c. Рассчитывается остаточное количество листов в томе дела по формуле: 250 минус сумма листов документов, найденных на этапе 6b (количество листов берется в атрибуте «da_doc_sheets_number» документа).

  7. Сервис возвращает ответ <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'