Метод «Создать новое дело»

Endpoint: POST {hostname}/ldm-file-register-service/api/v1/files

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

  1. Верификация входящего сообщения.
  2. Выполняется расчет срока окончания хранения дела (атрибут «fr_file_storage_end_date»), если значение атрибута «fr_transit_file» равно «false»:

    a. Из параметра «fr_standart_document_types» (значение параметра «cardinality» равно «MULTI») из входящего сообщения берется первый попавшийся объект и осуществляется получение его описания по id. Для получения описания используется метод GET /api/v1/items/{id} сервиса dh-documents-service.

    b. Рассчитывается срок хранения дела по формуле: «fr_file_storage_start_date» (дата из тела входящего сообщения) + количество лет из параметра «fr_storage_period» записи справочника, полученного на этапе 2a, минус 1 день (например, дата начала 01.01.2025 + 5 лет = 31.12.2029). Если значение параметра «fr_file_storage_start_date» и/или «fr_storage_period» не указаны или имеют значение «null», то не выполняется расчет.

  3. По значению «id» параметра «frFileStorageType» из входящего сообщения выполняется запрос в таблицу «dh_items» и получается значение «frSystemCode». Значение параметра «frSystemCode» равно «ELECTRONIC».

  4. Выполняется создание нового дела с помощью метода POST /api/v1/collections сервиса dh-collections-service.
  5. Выполняется создание нового тома дела с помощью метода POST /api/v1/files/{id}/volumes. В теле запроса передаются данные, указанные в таблице. Предварительно необходимо получить описание записи бизнес-объекта с кодом класса, равным значению параметра «r_dic_file_section_state», у которого значение параметра «fr_system_code» равно «CREATED».
  6. Сервис возвращает ответ <201 Created> и DhCollectionDto с созданным делом.

Маппинг параметров запроса метода «Создать новое дело»

Входящие параметры Тип данных Способ передачи параметров Требования к заполнению
name string Body Заполняется по шаблону: <name дела> пробел Том <frFileSectionNumber>». Например, «Приказы по основной деятельности Том 1»
className string Body Значение «fr_dic_file_sections»
description string Body Заполняется по шаблону: <name дела> пробел Том <frFileSectionNumber>». Например, «Приказы по основной деятельности Том 1
fr_file_section_number - - Значение «1»
fr_file_section_storage_type - - Элемент справочника «Способы хранения», аналогичный объекту link, переданному в теле сообщения при создании дела
fr_file - - Ссылка на дело, которое создается в рамках данного метода. Параметр «uri» формируется по шаблону: LDM:///<ldm-file-register-service>/<classCode справочника>/<id дела>#applicationCode=<значение настройки для текущего сервиса с ключом ldm.fileRegisterService.applicationCode>&forrmCode=<значение настройки для текущего сервиса с ключом ldm.file.formCode>
fr_file_section_state - - Ссылка на запись справочника, описание которого получено на этапе 4. Параметр «uri» формируется по шаблону: LDM:///<ldm-file-register-service>/<classCode справочника>/<id тома дела>#applicationCode=<значение настройки для текущего сервиса с ключом ldm.fileRegisterService.applicationCode>&forrmCode=<значение настройки для текущего сервиса с ключом ldm.fileSectionState.formCode>

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

curl -X 'POST' \
  'https://editor-next.swagger.io/api/v1/files' \
  -H 'accept: text/plain' \
  -H 'Content-Type: application/json' \
  -d '{
{
 "name": "string",
  "description": "string",
  "className": "string",
  "additionalProp1": "string",
  "additionalProp2": "string",
  "additionalProp3": "string"
}
}'