Метод «Обновить статус томов и дел после согласования сводной описи дел»

Endpoint: PATCH {hostname}/ldm-digital-archive-service/api/v1/da/final-inventory-task/{id}/complete

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

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

  1. Верификация входящего сообщения. В теле входящего сообщения передается параметр «id» сводной описи дел.
  2. Опредяется список томов дел, включенных в сводную опись дел. Осуществляется получение связей описи и томов дела с помощью атрибутивного поиска сервиса dh-relations-service. Передаются параметры «class_name», равный «da_relation_final_inventory_files_sections» и «source_object_id», равный {id} (идентификатор сводной описи дел).
  3. Для каждой связи из списка:

    a. Осуществляется получение тома с помощью атрибутивного поиска сервиса dh-collections-service. Передаются параметры «class_name», равный «fr_dic_file_sections», и «id», равный {targetObjectId} из ответа, полученного на этапе 2.

    b. Обновляются параметры всех полученных томов. Для этого в сервисе dh-collections-service используется метод PUT api/v1/collections/{collectionId}, где в качестве значения параметра «collectionId» передается идентификатор тома из ответа, полученного на этапе 3а. В атрибуте «fr_file_section_state» устанавливается ссылка на значение справочника с кодом класса «fr_dic_file_section_state», у которого «fr_system_code» равен «DESCRIBED_IN_ARCHIVE». Параметр «uri» для атрибута «fr_file_section_state» формируется по шаблону: LDM:///<ldm-digital-archive-service>/<classCode справочника>/<id записи справочника>#applicationCode=<значение настройки для текущего сервиса с ключом ldm.digitalArchiveService.applicationCode>&formCode=<значение настройки для текущего сервиса с ключом ldm.fileSectionState.formCode>.

    c. Проверка. Если все тома дела, в котором находится текущий том, имеют один статус, статус дела меняется. Для этого происходит получение списка всех томов в деле. В сервисе dh-collection-service используется метод GET api/v1/collections/{collectionId}/content, где в качестве значения «collectionId» передается значение «id» параметра «fr_file», полученного на этапе 3а.

    d. Для каждого тома происходит получение тома, находящегося в деле. Для этого в сервисе dh-collections-service используется метод GET api/v1/collections/{collectionId}, где в качестве значения параметра «collectionId» передается идентификатор тома «content.id», полученный на этапе 3с.

    e. Если у каждого тома на этапе 3d атрибут «fr_file_section_state» содержит ссылку на значение справочника с кодом класса «fr_dic_file_section_state», у которого «fr_system_code» равно «DESCRIBED_IN_ARCHIVE», то обновляются параметры дела, в котором находится том. Для этого в сервисе dh-collections–service используется метод PUT api/v1/collections/{collectionId}, где в качестве значения параметра «collectionId» передается значение «id» параметра «fr_file», полученного на этапе 3а. В атрибуте «fr_file_state» устанавливается ссылка на значение справочника с кодом класса «fr_dic_file_state», у которого «da_system_code fr_system_code» равен «DESCRIBED_IN_ARCHIVE». Параметр «uri» для атрибута «fr_file_state» формируется по шаблону: LDM:///<ldm-digital-archive-service>/<classCode справочника>/<id записи справочника>#applicationCode=<значение настройки для текущего сервиса с ключом ldm.digitalArchiveService.applicationCode>&formCode=<значение настройки для текущего сервиса с ключом ldm.fileState.formCode>.

  4. Сервис возвращает ответ <201 Created> и FileSectionsDto с измененными томами.

Маппинг параметров запроса метода «Обновить статус томов и дел после согласования сводной описи дел»

Входящие параметры Тип данных Способ передачи параметров Требования к заполнению
id string($uuid) path Идентификатор сводной описи дел

Пример запроса:

curl -X 'PATCH' \
  'https://editor-next.swagger.io/api/v1/da/final-inventory-task/89cb8e4a-715a-403c-a8b0-c2deb340ac2e/complete' \  
  -H 'accept: text/plain'