Задача [API63]: Получение данных о маршруте конкретного документа

Формулировка проблемы: необходимо доработать API-метод getExecutionProcess, добавив к возвращаемым полям информацию о типах работ и маршруте выполнения.

Решение:

URL метода: rest/api/workflow/get_execution_process

Тип запроса: GET.

Метод принимает следующие параметры:

Замечание:

Должен присутствовать один из параметров workID, либо documentID, при этом обработка ситуации передачи должна остаться прежней. В связи с этим в постановке будет отсутствовать описание альтернативных потоков событий, связанных с неправильной передачей параметров.

В случае успешного выполнения возвращать json, который содержит массив элементов хода выполения, которые имеют следующие поля (новые добавляемые поля будут помечены (*)):

Замечание:

Не нужно менять правила отображения пустых полей, которые уже существуют в данном API. Для новых добавленных полей правила отображения пустых полей должны быть такими же, что и для уже существующих (отображать значение null или пустую строку "").

Список допустимых вариантов для поля typeID:

Замечание:

В случае неуспешного выполнения старые возвращаемые коды ошибки и их текст должны остаться прежними. В связи с этим в постановке отсутствует описание этого случая. Для новых возникающих ошибок необходимо добавить новые коды, но оставить текст ошибки прежним.

Пример возвращаемого массива:

[
  {
    "authorID": "cf9f8a9a-1ccc-4327-b829-a71e472d393e",
    "authorName": "Калиев Е.Д. (+77015550077)",
    "name": "Согласовано",
    "started": "2015-10-13 10:37:45",
    "finished": "2015-10-13 11:37:45",
    "comment": "OK",
    "finishedUserID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
    "finishedUser": "Акбердиева И.М. (+ 7 702 560 89 89)",
    "responsibleUserID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
    "responsibleUserName": "Акбердиева И.М. (+ 7 702 560 89 89)",
    "itemID": "7b097e72-e303-487f-83a1-cb76397abd57",
    "code": "soglasovanie",
    "typeID": "AGREEMENT_ITEM",
    "actionID": "33397e72-e303-487f-83a1-bb12397abd57",
    "length": "8.0",
    "lengthType": "HOURS",
    "completionFormID": "",
    "subProcesses": []
  },
  {
    "authorID": "dd7f8a9a-1ccc-4327-b829-a71e472d393e",
    "authorName": "Калиев Е.Д. (+77015550077)",
    "name": "На ознакомлении",
    "started": "2015-10-13 11:37:45",
    "finished": "",
    "comment": "",
    "finishedUserID": "",
    "finishedUser": "",
    "responsibleUserID": "aa497e72-e222-487f-83a1-cb76397abd57",
    "responsibleUserName": "Колыванов И.М. (+ 7 707 565 89 89)",
    "itemID": "88897e72-e303-487f-83a1-cb76397abd57",
    "code": "",
    "typeID": "ACQUAINTANCE_ITEM",
    "actionID": "44x97e72-e303-487f-83a1-bb12397abd57",
    "length": "8.0",
    "lengthType": "HOURS",
    "completionFormID": "",
    "subProcesses": [
      {
        "authorID": "cf9f8a9a-1ccc-4327-b829-a71e472d393e",
        "authorName": "Акбердиева И.М. (+ 7 702 560 89 89)",
        "name": "Согласовано",
        "started": "2015-10-13 12:37:45",
        "finished": "2015-10-13 13:37:45",
        "comment": "OK",
        "finishedUserID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
        "finishedUser": "Арыстанов И.М. (+ 7 707 565 89 89)",
        "responsibleUserID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
        "responsibleUserName": "Арыстанов И.М. (+ 7 707 565 89 89)",
        "itemID": "99997e72-e303-487f-83a1-cb76397abd57",
        "code": "soglasovanie",
        "typeID": "AGREEMENT_ITEM",
        "actionID": "12397e72-e303-487f-83a1-bb12397abd57",
        "length": "8.0",
        "lengthType": "HOURS",
        "completionFormID": "",
        "subProcesses": []
      }
    ]
  }
]