Формулировка проблемы: необходимо реализовать API-метод, позволяющий запускать маршрут по реестру.
Решение: необходимо реализовать следующий метод:
URL метода: rest/api/registry/route/start
.
Тип запроса: POST
.
Метод принимает следующие строковые параметры:
registryID
- UUID
реестра
(обяз.);
documentID
- UUID
документа (обяз.);
subject
- краткое содержание документа
(обяз.);
dataUUID
- UUID
данных по
форме (обяз.);
data
- данные о маршруте;
type
- тип маршрута реестра, один из
вариантов:
ACTIVATE
- маршрут активации элемента;
CHANGE
- маршрут изменения элемента;
DELETE
- маршрут удаления элемента;
locale
- локаль пользователя,
ru/en/kz
(не обяз., по умолчанию
ru
).
Параметр data
должен представлять собой
json
со следующими полями:
before
- описание предварительных этапов;
after
- описание последующих этапов.
Каждый из полей before
/
after
, в свою очередь, содержит
json
c полями:
routeID
- UUID
данной
части маршрута;
items
- описание этапов данной части
маршрута:
itemID
- UUID
этапа;
code
- код этапа;
users
- описание подэтапов данного этапа:
name
- название подэтапа;
itemID
- UUID
подэтапа;
typeID
- тип операции, один из
следующих вариантов:
ASSIGNMENT_ITEM
- работа;
AGREEMENT_ITEM
- согласование;
APPROVAL_ITEM
- утверждение;
ACQUAINTANCE_ITEM
- ознакомление;
RESOLUTION_ACTION
- резолюция;
SEND_DOCUMENT
- отправка
документа;
BLOCKING_PROCESS
- блокирующий
процесс;
REGISTRATION_ITEM
- регистрация;
ROUTE_ITEM
- маршрут;
routeID
- UUID
маршрута (только для типа операции
ROUTE_ITEM
);
routeName
- название маршрута (только
для типа операции ROUTE_ITEM
);
userID
- ответственный за подэтап;
lengthType
- тип длительности, один
из следующих вариантов:
HOURS
- длительность в рабочих
часах;
DAYS
- длительность в рабочих
днях;
DATE
- дата завершения в формате
yyyy-MM-dd
;
length
- значение длительности / даты
завершения подэтапа:
для длительности - только положительные числа, дробная часть отделена точкой;
для даты завершения - только в описанном формате;
workLoadType
- тип нагрузки, один из
следующих вариантов:
PERCENT
- % рабочего времени;
HOURS_A_DAY
- количество часов в
день;
HOURS
- общее количество рабочих
часов;
DAYS
- общее количество рабочих
дней;
workloadValue
- значение нагрузки
подэтапа:
только положительные числа, дробная часть отделена точкой;
returnNumber
- номер этапа возврата;
completionFormID
-
UUID
формы завершения.
В параметре data
каждый описанный параметр
является обязательным для передачи в API. Неиспользуемые для
выбранного типа операции поля при создании работы должны
игнорироваться. Например, если для типа операции
"согласование" (AGREEMENT_ITEM
) указать
валидный completionFormID
, при создании этого
согласования указанная форма завершения не должна присвоиться (т.к.
у согласований не может быть формы завершения).
В случае неуспешного выполнения возвращается json
с полями:
errorCode
- код выполнения (число, отличное
от 0);
errorMessage
- «Ошибка получения событий
реестра».
Альтернативные потоки событий.
Альтернативный поток №1. Параметр registryID
не передан, либо он пустой. Сервер возвращает ошибку:
Не передан параметр registryID
действие не осуществляется.
Альтернативный поток №2. Передан некорректный (несуществующий)
параметр registryID
. Сервер возвращает
ошибку:
Передан некорректный параметр registryID
действие не осуществляется.
Альтернативный поток №3. Параметр documentID
не передан, либо он пустой. Сервер возвращает ошибку:
Не передан параметр documentID
действие не осуществляется.
Альтернативный поток №4. Передан некорректный (несуществующий)
параметр documentID
. Сервер возвращает
ошибку:
Передан некорректный параметр documentID
действие не осуществляется.
Альтернативный поток №5. Параметр subject
не
передан, либо он пустой. Сервер возвращает ошибку:
Не передан параметр subject
действие не осуществляется.
Альтернативный поток №6. Параметр dataUUID
не
передан, либо он пустой. Сервер возвращает ошибку:
Не передан параметр dataUUID
действие не осуществляется.
Альтернативный поток №7. Передан некорректный (несуществующий)
параметр dataUUID
. Сервер возвращает ошибку:
Передан некорректный параметр dataUUID
действие не осуществляется.
Альтернативный поток №8. Параметр type
не
передан, либо он пустой. Сервер возвращает ошибку:
Не передан параметр type
действие не осуществляется.
Альтернативный поток №9. Передан некорректный (несуществующий)
параметр type
. Сервер возвращает ошибку:
Передан некорректный параметр type
действие не осуществляется.
Альтернативный поток №10. Параметр data
не
передан, либо он пустой. Сервер возвращает ошибку:
Не передан параметр data
действие не осуществляется.
Альтернативный поток №11. В параметре data
не
передан, либо передан пустой, любой вложенный параметр. Сервер
возвращает ошибку:
Передан некорректный параметр data
действие не осуществляется.
Альтернативный поток №12. В параметре data
передан некорректный (несуществующий) вложенный параметр
typeID
. Сервер возвращает ошибку:
Передан некорректный параметр typeID
действие не осуществляется.
Альтернативный поток №13. В параметре data
передан некорректный (несуществующий) вложенный параметр
userID
. Сервер возвращает ошибку:
Передан некорректный параметр userID
действие не осуществляется.
Альтернативный поток №14. В параметре data
передан некорректный (несуществующий) вложенный параметр
routeID
. Сервер возвращает ошибку:
Передан некорректный параметр routeID
действие не осуществляется.
Альтернативный поток №15. В параметре data
передан некорректный (несуществующий) вложенный параметр
lengthType
. Сервер возвращает ошибку:
Передан некорректный параметр lengthType
действие не осуществляется.
Альтернативный поток №16. В параметре data
передан некорректный вложенный параметр
length
. Сервер возвращает ошибку:
Передан некорректный параметр length
действие не осуществляется.
Альтернативный поток №17. В параметре data
передан некорректный (несуществующий) вложенный параметр
workLoadType
. Сервер возвращает ошибку:
Передан некорректный параметр workLoadType
действие не осуществляется.
Альтернативный поток №18. В параметре data
передан некорректный вложенный параметр
workloadValue
. Сервер возвращает ошибку:
Передан некорректный параметр workloadValue
действие не осуществляется.
Альтернативный поток №19. В параметре data
передан некорректный (несуществующий) вложенный параметр
returnNumber
. Сервер не возвращает ошибку,
возврату должно присвоиться значение по умолчанию «Нет».
Альтернативный поток №20. В параметре data
передан некорректный (несуществующий) вложенный параметр
completionFormID
. Сервер возвращает ошибку:
Передан некорректный параметр completionFormID
действие не осуществляется.