Формулировка проблемы: необходимо реализовать 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
действие не осуществляется.