kz.arta.synergy.server.api.rest.works
Class WorkFlowService

java.lang.Object
  extended by kz.arta.synergy.server.api.rest.works.WorkFlowService

public class WorkFlowService
extends java.lang.Object

Created by IntelliJ IDEA. User: topa Date: 5/24/13 Time: 1:05 PM To change this template use File | Settings | File Templates.


Field Summary
static java.lang.String DOCUMENT
          Комментарии для документа
static java.lang.String PERSONAL
          Личные комментарии
static java.lang.String WORK
          Комментарии для работы
 
Constructor Summary
WorkFlowService()
           
 
Method Summary
 java.lang.String acceptWorkResult(java.lang.String workID, java.lang.String resultID, java.lang.String locale)
           Метод подтверждает результат работы

URL rest/api/workflow/work/accept_result
Method GET

 java.lang.String addAttachment(java.lang.String workID, org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput input, java.lang.String path, java.lang.String locale)
          Deprecated. используйте StorageService#startUploadFile и createAttachment
 java.lang.String addComment(java.lang.String workID, java.lang.String commentID, java.lang.String comment, java.lang.String type, java.lang.String locale)
           Добавляет/изменяет комментарий к работе

URL rest/api/workflow/work/{workID}/comments/save
Method POST

 java.lang.String createAttachment(java.lang.String workID, java.lang.String path, java.lang.String fileName, java.lang.String filePath, java.lang.String locale)
          Метод добавляет вложение к работе из временного файла, загруженного на сервер с помощью API хранилища

URL work/{workID}/attachment/create
Method POST

 java.lang.String createWork(java.lang.String name, java.lang.String startDate, java.lang.String finishDate, java.lang.String userID, java.lang.String authorID, java.util.List<java.lang.String> resUserID, java.lang.String priority, java.lang.String completionFormID, boolean force, java.lang.String moduleID, java.lang.String comment, java.lang.String repeat, java.util.HashSet<java.lang.String> path, java.lang.String locale)
          

Создает новую работу и возвращает полную информацию о ней

URL rest/api/workflow/work/create
POST POST

Обязательные для создания работы поля, в списке ниже отмечены *

 java.lang.String deleteAttachment(java.lang.String nodeUUID, java.lang.String locale)
          

Удаляет файл вложений к работе

URL rest/api/workflow/work/remove_file
Method GET

 java.lang.String deleteComment(java.lang.String commentID, java.lang.String locale)
           Удаляет комментарий

URL rest/api/workflow/work/comments/remove
Method GET

Пример удаления комментария


 java.lang.String deleteWork(java.lang.String locale, java.lang.String workID)
          

Удаляет работу

URL rest/api/workflow/work/delete
GET

 java.lang.String doCreateAttachment(java.lang.String workID, java.lang.String path, java.lang.String fileName, java.lang.String filePath, java.lang.String locale, int successResult, java.lang.String successMessage)
           
 javax.ws.rs.core.Response finishProcess(java.lang.String procInstID, java.lang.String signal, java.lang.String comment, java.lang.String rawdata, java.lang.String signdata, java.lang.String certificate, java.lang.String certID, boolean addSignature, java.lang.String locale)
           Метод завершает процесс согласования/утверждения/ознакомления

URL rest/api/workflow/finish_process
Method POST

 java.lang.String getAttachments(java.lang.String workID, int count, boolean getCounters, java.lang.String locale)
          

Возвращает отсортированный в обратном порядке по дате добавления список файлов работы (из вложений и прочих)

URL rest/api/workflow/work/{workID}/last_attachments
Method GET



Возвращает информацию о вложениях как список json.

 java.lang.String getComments(java.lang.String workID, int start, int count, boolean getCounters, java.lang.String type, java.lang.String locale)
           Возвращает комментарии к работе отсортированные в обратном порядке по дате добавления

URL rest/api/workflow/work/{workID}/comments
Method GET

Возвращает информацию о комментариях как список json
Поля одного комментария

commentID - uuid комментария
comment - текст комментария
author - автор
author.userID - uuid автора
author.name - имя автора же
created - дата создания
comment_icon_type - тип иконки комментария
created_label - время от даты создания либо время создания
type - тип, константы в arta.synergy.web.common.client.constants.CommentType
is_editable - возможно ли редактирование данного комментария
is_deletable - возможно ли удаление данного комментария

Пример получения последних трех комментариев
http://хост:порт/Synergy/rest/api/workflow/work/uuid_работы/comments?

 java.lang.String getCounters()
           Метод возвращает информацию о счетчиках работ

URL rest/api/workflow/get_counters
Method GET

Метод список элементов json следующего формата:
key - идентификатор фильтра,
value - значение фильтра
Идентификатор фильтра строится по следующему правилу
для общего количества работ в фильтре: {тип фильтра}_{uuid фильтра}_{uuid объекта}
для новых работ в фильтре: {тип фильтра}_{uuid фильтра}_{uuid объекта}_
Если для данного фильтра uuid фильтра или uuid объекта отсутствуют, то вместо них подставляется null

Примеры

Идентификатор для фильтра "На исполнении" OWN_WORKS_null_null - общее количество работ и OWN_WORKS_null_null_ - количество новых работ
Если в списке будет возвращено
{ "key": "OWN_WORKS_null_null", "value": "198"}, { "key": "OWN_WORKS_null_null_", "value": "2"},
значит у пользователя На исполнении 198 работ и из них 2 новых.

 java.lang.String getDefaultWorkFields(java.lang.String locale)
          

Возвращает значения по умолчанию для создания новой работы в формате yyyy-MM-dd HH:mm

URL rest/api/workflow/work/create_defaults
Method GET

 java.lang.String getExecutionProcess(java.lang.String locale, java.lang.String documentID, java.lang.String workID)
           Метод возвращает ход исполнения по документу

URL rest/api/workflow/get_execution_process
Method GET

 java.lang.String getFilters(java.lang.String filterType, java.lang.String parentID, java.lang.String parentObjectID, boolean getCounters, java.lang.String locale, java.lang.String userID)
           Возвращает список фильтров пользователя.
 java.lang.String getFormForCompletionResult(java.lang.String formUUID, java.lang.String workID, java.lang.String locale)
           Создает форму для создания результата по форме завершения "форма"

URL rest/api/workflow/work/get_form_for_result
Method GET

 java.lang.String getFullAttachments(java.lang.String workID, java.lang.String locale)
          

Возвращает все файлы данной работы по двум группам - вложения и прочие

URL rest/api/workflow/work/{workID}/attachments
Method GET



Возвращает информацию о файлах как объект json:

[{attachments: [..list of attachments ..]}, {work_files: [..list of work files ..]}]

 java.lang.String getHost()
           
 java.lang.String getProcessFinishInfo(java.lang.String workID, java.lang.String locale)
           Возвращает информацию, необходимую для построения диалога завершения работы по согласованию/утверждению/ознакомлению

URL rest/api/workflow/process_info
GET

Поля для описания экрана завершения работы:
need_comment_input - необходимо ли наличие поля ввода для комментария
need_enter_positive_comment - обязателен ли ввод комментария при согласии/утверждении
need_enter_negative_comment - обязателен ли ввод комментария при отказе
rawdata - Base64 закодированная строка для идентификации подписываемых данных
demandSign - требовать подписи
Для каждой кнопки:
label - Название кнопки
signal - результат завершения
color - цвет (значение из kz.arta.synergy.server.api.rest.works.ActionColor)

 arta.synergy.web.common.client.data.bp.route.Route getResponsibleRoute(java.lang.String userID, java.lang.String name, java.util.Date finishDate, java.lang.String completionFormID)
           
 java.lang.String getSendWorkInfo(java.lang.String workID, java.lang.String documentID, java.lang.String actionType, java.lang.String operationType, java.lang.String locale)
           Возвращает информацию необходимую для построения диалога отправки работы на согласование/утверждение/ознакомление/перепоручение/передача

URL rest/api/workflow/send_work_info
GET

Поля для описания экрана завершения работы:
name - название отправляемой работы
finish_date - дата завершения отправляемой работы по-умолчанию (в формате yyyy-MM-dd HH:mm:ss)
button_name - название кнопки действия
screen_name - название экрана
button_color - цвет кнопки действия (константа из ActionColor)
show_all - true - отображать всех пользователей, false - только подчиненных

 java.lang.String getSubWorks(java.lang.String workID, int startRecord, int recordsCount, java.lang.String locale)
          

Возвращает работы дочерние для данной работы

URL rest/api/workflow/subworks/{workID}
GET

 java.lang.String getUserID()
           
 java.lang.String getWorkActions(java.lang.String workID, java.lang.String locale)
          Deprecated. этот метод считается устаревшим, используйте rest/api/workflow/work_actions
 java.lang.String getWorkCompletionData(java.lang.String workID, java.lang.String locale)
           Метод возвращает информацию о результате завершения данной работы и список подтвержденных результатов дочерних работ

URL rest/api/workflow/work/get_completion_data
Method GET

 java.lang.String getWorkCompletionResult(java.lang.String workID, java.lang.String locale)
           Метод возвращает информацию о результате завершения данной работы

URL rest/api/workflow/work/completion_result
Method GET

 java.lang.String getWorkDialogs(java.lang.String uuid, java.lang.String type, java.lang.String locale)
          Метод возвращает описание диалога по его uuid

URL: rest/api/workflow/get_dialog_info
Тип: GET
 java.lang.String getWorkDocumentInfo(java.lang.String workID, java.lang.String locale)
          

Возвращает информацию о документе, соответствующем данной работе

URL rest/api/workflow/work/{workID}/document
Method GET


 java.lang.String getWorkItems(java.lang.String workID, java.lang.String locale)
          Метод возвращает набор действий, которые может совершить авторизованный пользователь над работой

URL: rest/api/workflow/work_actions
Тип: GET

Каждое действие характеризуется следующими полями:
action - идентификатор действия, значение из kz.arta.synergy.server.api.rest.works.WorkActionType
operation - идентификатор операции, значение из kz.arta.synergy.server.api.rest.works.WorkActionSubType (может отсутствовать)
label - название действия
color - идентификатор цвета, значение из kz.arta.synergy.server.api.rest.works.ActionColor
 java.lang.String getWorks(int startRecord, int recordsCount, java.lang.String search, java.lang.String filterType, java.lang.String filterID, java.lang.String objectID, java.lang.String sortColumn, boolean isAscSort, boolean hasExtSearchParams, int periodType, java.lang.String extStartDate, java.lang.String extFinishDate, boolean extShowCompleted, boolean extShowDeleted, int extDateSearchType, java.lang.String userID, java.lang.String locale)
           Возвращает список работ пользователя userID.
 java.lang.String getWorksById(java.util.List<java.lang.String> workID, java.lang.String locale)
           Возвращает список работ по их идентификаторам

URL rest/api/workflow/works_by_id
Method GET

 java.lang.String markWorkSeen(java.lang.String workID)
           Метод отмечает данную работу как "просмотренную"

URL rest/api/workflow/work/set_seen
Method GET

 java.lang.String rejectWorkResult(java.lang.String workID, java.lang.String resultID, java.lang.String startDate, java.lang.String finishDate, int progress, java.lang.String comment, java.lang.String locale)
           Метод отклоняет результат работы

URL rest/api/workflow/work/reject_result
Method POST

 java.lang.String resolutionInfo(java.lang.String workID, java.lang.String locale)
          Метод возвращает описание экрана для завершения процесса резолюции

URL: rest/api/workflow/screen_resolution_info
Тип: GET
 java.lang.String saveWork(java.lang.String name, java.lang.String startDate, java.lang.String userID, java.lang.String finishDate, java.lang.String priority, java.lang.String completionFormID, java.lang.String actionID, java.lang.String repeat, java.lang.String locale)
          

Изменяет работу и возвращает информацию об измененной работе

URL rest/api/workflow/work/save
POST

 java.lang.String setWorkProgress(java.lang.String workID, int progress, java.lang.String locale)
          

Изменяет прогресс работы

URL rest/api/workflow/work/set_progress
Method GET

 java.lang.String setWorkResult(java.lang.String workID, java.lang.String completionForm, java.lang.String locale)
           Задает результат завершения работы

URL rest/api/workflow/work/set_result
Method POST


Набор полей передаваемых методу зависит от формы завершения данной работы.

 java.lang.String setWorkState(java.lang.String workID, int stateID, java.lang.String locale)
          

URL rest/api/workflow/work/set_state
Method GET

 java.lang.String startRoute(java.lang.String finishDate, java.util.List<java.lang.String> resUserID, java.lang.String userID, java.lang.Integer type, java.lang.String name, java.lang.String completionFormID, java.lang.String workID, java.lang.String documentID, java.lang.String locale)
           Отправляет работу по маршруту (перепоручение, согласование, ознакомление или утверждение)

URL rest/api/workflow/work/start_route
Method POST

 java.lang.String transferWork(java.lang.String workID, java.lang.String name, java.lang.String userID, java.lang.String locale)
           Метод выполняет передачу работы другому пользователю

URL rest/api/workflow/work/transfer
Method POST

 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WORK

public static final java.lang.String WORK
Комментарии для работы

See Also:
Constant Field Values

DOCUMENT

public static final java.lang.String DOCUMENT
Комментарии для документа

See Also:
Constant Field Values

PERSONAL

public static final java.lang.String PERSONAL
Личные комментарии

See Also:
Constant Field Values
Constructor Detail

WorkFlowService

public WorkFlowService()
Method Detail

getWorks

public java.lang.String getWorks(int startRecord,
                                 int recordsCount,
                                 java.lang.String search,
                                 java.lang.String filterType,
                                 java.lang.String filterID,
                                 java.lang.String objectID,
                                 java.lang.String sortColumn,
                                 boolean isAscSort,
                                 boolean hasExtSearchParams,
                                 int periodType,
                                 java.lang.String extStartDate,
                                 java.lang.String extFinishDate,
                                 boolean extShowCompleted,
                                 boolean extShowDeleted,
                                 int extDateSearchType,
                                 java.lang.String userID,
                                 java.lang.String locale)

Возвращает список работ пользователя userID.

URL rest/api/workflow/works/list/{userID}
Method GET

Parameters:
startRecord - номер записи начала списка
recordsCount - максимальное количество записей в списке, 0 - если необходимо получить все записи списка
search - строка фильтра
filterType - одно из значений перечисления WorkFilterType
filterID - UUID пользовательского фильтра
objectID - UUID объекта фильтра (например проекта, группы работ, пользователя)
sortColumn - название столбца сортировки
isAscSort - true - прямой порядок сортировки, false - обратный
hasExtSearchParams - заданы ли параметры расширенного фильтра, нижеследующие переменные, начинающиеся с ext имеют смысл, только если значение данной переменной true
periodType - одна из констант SearchConstants SEARCH_TYPE_CURRENT, SEARCH_TYPE_CUSTOM, NEAREST_WEEK_ACTIONS, NEAREST_MONTH_ACTIONS, NEAREST_QUARTER_ACTIONS, LATEST_WEEK_ACTIONS, LATEST_MONTH_ACTIONS, LATEST_QUARTER_ACTIONS
extStartDate - дата начала поискового периода, имеет смысл если значение periodType=SEARCH_TYPE_CUSTOM, format dd-MM-yyyy
extFinishDate - дата начала поискового периода, имеет смысл если значение periodType=SEARCH_TYPE_CUSTOM, format dd-MM-yyyy
extShowCompleted - true - отображать завершенные, false - не отображать
extShowDeleted - true - отображать удаленные, false - не отображать
extDateSearchType - одна из констант ActionSearchParams SEARCH_DATES_ALL, SEARCH_DATES_FINISHDATE, SEARCH_DATES_STARTDATE, SEARCH_DATES_FINISHED
userID - UUID пользователя
locale - локаль пользователя, по умолчанию - ru
Returns:
список работ
See Also:
WorkFilterType, SearchConstants, ActionSearchParams, WorkUtilWrapper.getWorkJson(arta.synergy.web.common.client.data.actions.Action, arta.synergy.web.common.client.data.mbo.User, String, String)

getWorksById

public java.lang.String getWorksById(java.util.List<java.lang.String> workID,
                                     java.lang.String locale)

Возвращает список работ по их идентификаторам

URL rest/api/workflow/works_by_id
Method GET

Parameters:
workID - идентификатор работы (параметр может передан несколько раз)
locale - локаль пользователя (по умолчанию ru)
Returns:

getFilters

public java.lang.String getFilters(java.lang.String filterType,
                                   java.lang.String parentID,
                                   java.lang.String parentObjectID,
                                   boolean getCounters,
                                   java.lang.String locale,
                                   java.lang.String userID)

Возвращает список фильтров пользователя.

URL rest/api/workflow/works/filters/{userID}
Method GET


Про фильтры:
Фильтры имеют иерархическую структуру. Условно фильтры можно разделить на четыре категории:
1. Фильтры первого уровня
Это фильтры находящиеся на первом уровне иерархии, например: на исполнении, на контроле и т.д. Такие фильтры характеризуются только типом фильтра.
2. Статические фильтры
Это постоянные фильтры, физически хранящиеся в БД, каждый такой фильтр имеет свой уникальный идентификатор, характеризуется идентификатором, типом и идентификатором родительского фильтра (если такой существует)
3. Динамические фильтры
Это фильтры динамически формируемые согласно объектам родительского фильтра. Например, содержимое фильтра "На контроле" - это динамические фильтры, каждый фильтр соответствует пользователю; аналогично у фильтра Проекты - состав так же динамический, зависит от количества проектов, по которым у данного пользователя есть работы. Эти фильтры не фиксированные и в базе не хранятся и не имеют собственных идентификаторов, главный характеризующий их признак - тип фильтра и идентификатор объекта.
4. Статические подфильтры динамических фильтров
Это фильтры хранящиеся в БД, но отбражающиеся пользователю только в случае если отображается родительский фильтр. Для фильтров данного типа характеризуюшими параметрами являются - тип фильтра, идентификатор фильтра, тип родительского объекта, идентификатор родительского фильтра (если такой существует)


Для использования API надо руководствоваться несколькими правилами:
1. Корневые элементы можно получить отправив запрос без параметров
2. Для получения дочерних элементов корневых фильров надо передать один параметр - тип фильтра
3. Для получения дочерних элементов динамического фильтра надо передать два парамтра - тип фильтра и идентификатор объекта родительского фильтра
4. Для получения дочерних элементов фильтра, имеющего идентификатор, надо передать - тип и идентификатор

Примеры

Для получения корневых элементов, надо послать запрос
rest/api/workflow/works/filters/{userID}

Рассмотрим получение статических фильтров. Допустим у нас есть фильтр верхнего уровня с типом OWN_WORKS, описание которого выглядит следующим образом:
{"name": "На исполнении", "filterType":"OWN_WORKS"},
для получения его дочерних фильтров надо послать запрос:
rest/api/workflow/works/filters/{userID}?filterType=OWN_WORKS
Допустим в результате был возвращен фильтр с uuid-ом filterUUID-1 который описывается, так:
{"filterID": "filterUUID-1", "name": "На подпись", "filterType":"OWN_WORKS"}
чтобы получить его дочерние фильтры необходимо отправить такой запрос
rest/api/workflow/works/filters/{userID}?filterType=OWN_WORKS&parentID=filterUUID-1

Рассмотрим получение динамических фильтров.

Допустим у нас есть фильтр верхнего уровня, который может содержать динамически формируемые подфильтры и тип этого фильтра PROJECT_WORKS. Для получения его подфильтров необходимо отправить запрос:
rest/api/workflow/works/filters/{userID}?filterType=PROJECT_WORKS
Например, среди возвращенных фильтров был следующий
{"objectID": "b2b78b71-2419-4ef1-a834-a74125dfbdf5", "name": "План моих работ"}
Тогда получение его дочерних фильтров будет выглядеть:
rest/api/workflow/works/filters/{userID}?filterType=PROJECT_WORKS&parentObjectID=b2b78b71-2419-4ef1-a834-a74125dfbdf5
И в результате получим ответ:
{"parentObjectID": "b2b78b71-2419-4ef1-a834-a74125dfbdf5", "filterID": "ee230d4f-6def-4d1c-9127-092a0963d029", "name": "от Руководителя"}
Для того чтобы получить дочерние элементы этого фильтра необходимо отправить запрос:
rest/api/workflow/works/filters/{userID}filterType=PROJECT_WORKS&parentID=ee230d4f-6def-4d1c-9127-092a0963d029

Parameters:
filterType - тип фильтра,
parentID - UUID родительского фильтра
parentObjectID - UUID объекта родительского фильтра
locale - локаль пользователя, по умолчанию ru
userID - UUID пользователя
Returns:
список фильтров в формате json
See Also:
WorkUtilWrapper.getFilterJson(arta.synergy.web.common.client.data.actions.filter.Filter, arta.synergy.web.common.client.data.actions.WorkCounters), arta.synergy.ejb.works

getComments

public java.lang.String getComments(java.lang.String workID,
                                    int start,
                                    int count,
                                    boolean getCounters,
                                    java.lang.String type,
                                    java.lang.String locale)

Возвращает комментарии к работе отсортированные в обратном порядке по дате добавления


URL rest/api/workflow/work/{workID}/comments
Method GET

Возвращает информацию о комментариях как список json
Поля одного комментария

commentID - uuid комментария
comment - текст комментария
author - автор
author.userID - uuid автора
author.name - имя автора же
created - дата создания
comment_icon_type - тип иконки комментария
created_label - время от даты создания либо время создания
type - тип, константы в arta.synergy.web.common.client.constants.CommentType
is_editable - возможно ли редактирование данного комментария
is_deletable - возможно ли удаление данного комментария

Пример получения последних трех комментариев
http://хост:порт/Synergy/rest/api/workflow/work/uuid_работы/comments?count=3

Parameters:
workID - uuid работы
start - номер первой записи (отсчет с 0)
count - количество записей в возвращаемом списке
type - для чего получаем комментарии (WORK - работа, DOCUMENT - документ принадлежащий работе, PERSONAL - личные комментарии)
getCounters - true - получить количество комментариев, иначе - false
locale - локаль пользователя, по-умолчанию ru
Returns:
Если getCounters= true, возвращается json вида
{list: [{комментарий_1}, {комментарий_2}, ..., {комментарий_n}], count: количество_комментариев_в_фильтре}
Если getCounters=false, возвращается просто список комментариев [{комментарий_1}, {комментарий_2}, ..., {комментарий_n}]
See Also:
CommentType

addComment

public java.lang.String addComment(java.lang.String workID,
                                   java.lang.String commentID,
                                   java.lang.String comment,
                                   java.lang.String type,
                                   java.lang.String locale)

Добавляет/изменяет комментарий к работе


URL rest/api/workflow/work/{workID}/comments/save
Method POST

Parameters:
workID - uuid работы
commentID - uuid комментария, для добавления нового комментария - не передавать
comment - текст комментария (передается как параметр формы)
locale - локаль пользователя (по-умолчанию ru)
type - если к работе добавляется личный комментарий - передать: PERSONAL
Returns:
код выполнения result и сообщение об ошибке message в случае неуспешного выполнения. Если result = 0, выполнено успешно, иначе произошла ошибка

addAttachment

public java.lang.String addAttachment(java.lang.String workID,
                                      org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput input,
                                      java.lang.String path,
                                      java.lang.String locale)
Deprecated. используйте StorageService#startUploadFile и createAttachment

Добавляет файл к работе


URL rest/api/workflow/work/{workID}/attachment/add
Method POST
Enctype multipart/form-data



название поля формы для вложения - body

Parameters:
workID - uuid работы
path - строка показывающая, в какую подпапку контейнера файлов работы необходимо положить файл. Возможные значения:
  • ase:attachmentContainer (DocFileType.INBOX_FILE)
  • ase:workContainer (DocFileType.WORK_FILE)
locale - локаль пользователя (по-умолчанию ru)
Returns:
код выполнения result и сообщение об ошибке message в случае неуспешного выполнения. Если result = 0, выполнено успешно, иначе произошла ошибка

createAttachment

public java.lang.String createAttachment(java.lang.String workID,
                                         java.lang.String path,
                                         java.lang.String fileName,
                                         java.lang.String filePath,
                                         java.lang.String locale)

Метод добавляет вложение к работе из временного файла, загруженного на сервер с помощью API хранилища

URL work/{workID}/attachment/create
Method POST

Parameters:
workID - UUID работы
path - строка показывающая, в какую подпапку контейнера файлов работы необходимо положить файл. Возможные значения:
  • ase:attachmentContainer (DocFileType.INBOX_FILE)
  • ase:workContainer (DocFileType.WORK_FILE)
fileName - Название загружаемого файла
filePath - Путь к временному файлу, загруженному на сервер
locale - локаль пользователя, по-умолчанию ru
Returns:
json объект с полями - result - код выполнения операции (0 - успешно, 666 - предупреждение (на добавление файла во вложения нет прав, и файл добавился в прочие), 13 - внутреняя ошибка сервера или ошибка данных), В случае успешного выполнения так же возвращается полная информация о работе.
See Also:
StorageService.startUploadFile(String), StorageService.uploadPart(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput, String, String)

doCreateAttachment

public java.lang.String doCreateAttachment(java.lang.String workID,
                                           java.lang.String path,
                                           java.lang.String fileName,
                                           java.lang.String filePath,
                                           java.lang.String locale,
                                           int successResult,
                                           java.lang.String successMessage)

deleteComment

public java.lang.String deleteComment(java.lang.String commentID,
                                      java.lang.String locale)

Удаляет комментарий

URL rest/api/workflow/work/comments/remove
Method GET

Пример удаления комментария


Parameters:
commentID - uuid комментария
locale - локаль пользователя, по-умолчанию - ru
Returns:

getAttachments

public java.lang.String getAttachments(java.lang.String workID,
                                       int count,
                                       boolean getCounters,
                                       java.lang.String locale)

Возвращает отсортированный в обратном порядке по дате добавления список файлов работы (из вложений и прочих)

URL rest/api/workflow/work/{workID}/last_attachments
Method GET



Возвращает информацию о вложениях как список json.
Поля одного вложения
uuid - идентификатор файла
dataUUID - идентификатор данных по форме (только если это файл по форме)
mobile - имеется ли мобильное представление у формы (только если это файл по форме)
name - название файла
is_editable - возможно ли изменять/удалять файл
created_label - читабельное время создания файла от текущего момента
created - время создания файла
icon урл изображения для предпросмотра, в случае его отсутствия - урл иконки типа файла

Пример запроса на получение трех последних вложений
http://хост:порт/Synergy/rest/api/workflow/work/uuid_работы/last_attachments?count=3

Parameters:
workID - uuid работы
count - количество файлов которое должно быть возвращено (по умолчанию 0)
getCounters - если true, метод так же возвращает общее количество вложений данной работы
locale - локаль пользователя, по умолчанию ru
Returns:
Если getCounters= true, возвращается json вида
{list: [{вложение_1}, {вложение_2}, ..., {вложение_n}], count: количество_вложений работы}
Если getCounters=false, возвращается просто список вложений [{вложение_1}, {вложение_2}, ..., {вложение_n}]

getWorkDocumentInfo

public java.lang.String getWorkDocumentInfo(java.lang.String workID,
                                            java.lang.String locale)

Возвращает информацию о документе, соответствующем данной работе

URL rest/api/workflow/work/{workID}/document
Method GET


Parameters:
workID - UUID работы
locale - локаль пользователя, по-умолчанию ru
Returns:
json c полями:
documentID

getFullAttachments

public java.lang.String getFullAttachments(java.lang.String workID,
                                           java.lang.String locale)

Возвращает все файлы данной работы по двум группам - вложения и прочие

URL rest/api/workflow/work/{workID}/attachments
Method GET



Возвращает информацию о файлах как объект json:

[{attachments: [..list of attachments ..]}, {work_files: [..list of work files ..]}]

Каждый файл из attachments и work_files описывается следующими полями
uuid - идентификатор файла
name - название файла
is_editable - возможно ли изменять/удалять файл
created_label - читабельное время создания файла от текущего момента
created - время создания файла
icon урл изображения для предпросмотра, в случае его отсутствия - урл иконки типа файла

Пример ответа, в котором есть один файл вложений и один файл прочих

          [{"attachments":
              [{"uuid": "d55ae76a-f451-452d-93cb-3c6b28ba2335",
                "name": "Изображение.jpg",
                "created_label": "15 минут назад",
                "created": "2013-06-26 09:12:54","icon":
                "preview?identifier=d55ae76a-f451-452d-93cb-3c6b28ba2335"}]
           },
           {"work_files":
              [{"uuid": "d55ae76a-f451-452d-93cb-3c6b28ba2332",
                "name": "Документ.doc",
                "created_label": "15 минут назад",
                "created": "2013-06-26 09:12:54","icon":
                "preview?identifier=d55ae76a-f451-452d-93cb-3c6b28ba2332"}]
           }]
 

Parameters:
workID - - uuid работы
locale - - локаль пользователя, по умолчанию ru
Returns:

deleteAttachment

public java.lang.String deleteAttachment(java.lang.String nodeUUID,
                                         java.lang.String locale)

Удаляет файл вложений к работе

URL rest/api/workflow/work/remove_file
Method GET

Parameters:
nodeUUID - идентификатор файла который надо удалить
locale - локаль пользователя (по-умолчанию ru)
Returns:
Объект json с полями
errorCode код выполнения (0- успешно, иначе - ошибка)
errorMessage сообщение, характеризующее успешное выполнение либо ошибку

getDefaultWorkFields

public java.lang.String getDefaultWorkFields(java.lang.String locale)

Возвращает значения по умолчанию для создания новой работы в формате yyyy-MM-dd HH:mm

URL rest/api/workflow/work/create_defaults
Method GET

Parameters:
locale -
Returns:

createWork

public java.lang.String createWork(java.lang.String name,
                                   java.lang.String startDate,
                                   java.lang.String finishDate,
                                   java.lang.String userID,
                                   java.lang.String authorID,
                                   java.util.List<java.lang.String> resUserID,
                                   java.lang.String priority,
                                   java.lang.String completionFormID,
                                   boolean force,
                                   java.lang.String moduleID,
                                   java.lang.String comment,
                                   java.lang.String repeat,
                                   java.util.HashSet<java.lang.String> path,
                                   java.lang.String locale)

Создает новую работу и возвращает полную информацию о ней

URL rest/api/workflow/work/create
POST POST

Обязательные для создания работы поля, в списке ниже отмечены *

Parameters:
name - *название работе (FormParam)
startDate - *дата и время начала работы в формате yyyy-MM-dd HH:mm:ss (FormParam)
finishDate - *дата и время завершения работы в формате yyyy-MM-dd HH:mm:ss (FormParam)
userID - uuid ответственного (FormParam)
authorID - *uuid автора работы (FormParam)
resUserID - uuid исполнителей работы (параметр resUserID должен быть указан столько раз- сколько исполнителей есть у работы, например resUserID=user_uid_1&resUserID=user_uid_2&resUserID=user_uid_3) (FormParam)
priority - *приоритет (FormParam)
completionFormID - форма завершения (FormParam)
locale - локаль, по-умолчанию ru (QueryParam)
force - необходимо передать true для того чтобы можно было создать работу, даже если у авторизованного пользователя нет прав ставить работу исполнителю. Этот параметр принимается в счет только если одновременно передается параметр moduleID, который равен идентификатору внешнего модуля. Это ограничение сделано с целью не допустить без контрольное создание работ в обход системы прав.
moduleID - идентификатор модуля (из таблицы outer_modules)
comment - комментарий, который будет добавлен к работе после ее создания
path - список вложений, которые будут добавлены при создании работы. параметр path должен быть указан столько раз, сколько вложений нужно добавить строка path должна выгядеть слеующим обраом: ПУТЬ:ИМЯ, где: ПУТЬ - путь до врменного файла, созданого на серере при помощи метода rest/api/storage/start_upload, ИМЯ - имя добавляемого вложения
repeat - данные о периоде повторения работы (не обяз., по умолчанию "Нет");
Returns:
json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке.
В случае успешного выполнения так же возвращается полная информация о работе ответственного пользователя. Если работа создается без указания ответственного (только для исполнителей) информация о созданных работах не возвращается.
See Also:
WorkUtilWrapper.getCommentJson(arta.synergy.web.common.client.data.actions.ActionComment, String, String), StorageService.startUploadFile(java.lang.String), StorageService.uploadPart(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput, java.lang.String, java.lang.String)

saveWork

public java.lang.String saveWork(java.lang.String name,
                                 java.lang.String startDate,
                                 java.lang.String userID,
                                 java.lang.String finishDate,
                                 java.lang.String priority,
                                 java.lang.String completionFormID,
                                 java.lang.String actionID,
                                 java.lang.String repeat,
                                 java.lang.String locale)

Изменяет работу и возвращает информацию об измененной работе

URL rest/api/workflow/work/save
POST

Parameters:
name - название работы
startDate - дата и время начала работы в формате yyyy-MM-dd HH:mm:ss
finishDate - дата и время завершения работы в формате yyyy-MM-dd HH:mm:ss
priority - приоритет работы
userID - uuid ответственного
completionFormID - идентификатор формы завершения
actionID - uuid работы
locale - локаль работы
repeat - данные о периоде повторения работы (не обяз., по умолчанию "Нет");
Returns:

getSubWorks

public java.lang.String getSubWorks(java.lang.String workID,
                                    int startRecord,
                                    int recordsCount,
                                    java.lang.String locale)

Возвращает работы дочерние для данной работы

URL rest/api/workflow/subworks/{workID}
GET

Parameters:
workID - uuid работы
locale - локаль пользователя, по-умолчанию ru
Returns:
список дочерних работ как json
See Also:
WorkUtilWrapper.getCommentJson(arta.synergy.web.common.client.data.actions.ActionComment, String, String)

deleteWork

public java.lang.String deleteWork(java.lang.String locale,
                                   java.lang.String workID)

Удаляет работу

URL rest/api/workflow/work/delete
GET

Parameters:
locale - локаль пользователя
workID - uuid работы, которую необходимо удалить
Returns:
json объект информацию о результате выполнения действия
errorCode - результат выполнения (0 - успешно, 1 - иначе)
errorMessage - сообщение о результате выполнения (для положительного и отрицательного результата)

setWorkProgress

public java.lang.String setWorkProgress(java.lang.String workID,
                                        int progress,
                                        java.lang.String locale)

Изменяет прогресс работы

URL rest/api/workflow/work/set_progress
Method GET

Parameters:
workID - uuid работы
progress - новое значение прогресса (0-100)
locale - локаль пользователя (по-умолчанию ru)
Returns:

setWorkState

public java.lang.String setWorkState(java.lang.String workID,
                                     int stateID,
                                     java.lang.String locale)

URL rest/api/workflow/work/set_state
Method GET

Parameters:
workID - UUID работы
stateID - новый статус работы
locale - локаль пользователя (по умолчанию ru)
Returns:
json объект:
errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
errorMessage сообщение о результате выполнения (успешном либо не успешном)
work измененные данные о работе (только в результате успешного выполнения)
See Also:
ActionStates.COMPLETED, WorkUtilWrapper.getWorkJson(arta.synergy.web.common.client.data.actions.Action, arta.synergy.web.common.client.data.mbo.User, String, String)

markWorkSeen

public java.lang.String markWorkSeen(java.lang.String workID)

Метод отмечает данную работу как "просмотренную"

URL rest/api/workflow/work/set_seen
Method GET

Parameters:
workID - uuid работы
Returns:
Возвращает json объект о результате выполнения errorCode = 0 - выполнено успешно, иначе - нет

getWorkCompletionResult

public java.lang.String getWorkCompletionResult(java.lang.String workID,
                                                java.lang.String locale)

Метод возвращает информацию о результате завершения данной работы

URL rest/api/workflow/work/completion_result
Method GET

Parameters:
workID - UUID работы
locale - локаль пользователя, по-умолчанию ru
Returns:
объект json с информацией о результате завершения
See Also:
WorkUtilWrapper.getJson(arta.synergy.web.common.client.data.actions.completion.CompletionResult, String)

getWorkActions

@Deprecated
public java.lang.String getWorkActions(java.lang.String workID,
                                                  java.lang.String locale)
Deprecated. этот метод считается устаревшим, используйте rest/api/workflow/work_actions

Возвращает набор действий, которые может совершить авторизованный пользователь над данной работой

URL rest/api/workflow/work/get_actions
GET


Каждое действие характеризуется следующими полями:
action - идентификатор действия, значение из kz.arta.synergy.server.api.rest.works.WorkActionType
operation - идентификатор операции, значение из kz.arta.synergy.server.api.rest.works.WorkActionSubType (может отсутствовать)
label - название действия
color - идентификатор цвета, значение из kz.arta.synergy.server.api.rest.works.ActionColor

Parameters:
workID - uuid работы
locale - локаль пользователя, по-умолчанию ru
Returns:
массив json объектов с информацией о возможных действиях
See Also:
WorkActionType, WorkActionSubType, ActionColor

getProcessFinishInfo

public java.lang.String getProcessFinishInfo(java.lang.String workID,
                                             java.lang.String locale)

Возвращает информацию, необходимую для построения диалога завершения работы по согласованию/утверждению/ознакомлению

URL rest/api/workflow/process_info
GET

Поля для описания экрана завершения работы:
need_comment_input - необходимо ли наличие поля ввода для комментария
need_enter_positive_comment - обязателен ли ввод комментария при согласии/утверждении
need_enter_negative_comment - обязателен ли ввод комментария при отказе
rawdata - Base64 закодированная строка для идентификации подписываемых данных
demandSign - требовать подписи
Для каждой кнопки:
label - Название кнопки
signal - результат завершения
color - цвет (значение из kz.arta.synergy.server.api.rest.works.ActionColor)

Parameters:
workID - идентификатор работы
locale - локаль пользователя
Returns:
информацию необходимую для построения экрана завершения работы
See Also:
ActionColor

getSendWorkInfo

public java.lang.String getSendWorkInfo(java.lang.String workID,
                                        java.lang.String documentID,
                                        java.lang.String actionType,
                                        java.lang.String operationType,
                                        java.lang.String locale)

Возвращает информацию необходимую для построения диалога отправки работы на согласование/утверждение/ознакомление/перепоручение/передача

URL rest/api/workflow/send_work_info
GET

Поля для описания экрана завершения работы:
name - название отправляемой работы
finish_date - дата завершения отправляемой работы по-умолчанию (в формате yyyy-MM-dd HH:mm:ss)
button_name - название кнопки действия
screen_name - название экрана
button_color - цвет кнопки действия (константа из ActionColor)
show_all - true - отображать всех пользователей, false - только подчиненных

Parameters:
workID - идентификатор работы
documentID - идентификатор документа
actionType - идентификатор действия
operationType - идентификатор операции
locale - локаль пользователя
Returns:
информацию необходимую для построения экрана завершения работы
See Also:
ActionColor

finishProcess

public javax.ws.rs.core.Response finishProcess(java.lang.String procInstID,
                                               java.lang.String signal,
                                               java.lang.String comment,
                                               java.lang.String rawdata,
                                               java.lang.String signdata,
                                               java.lang.String certificate,
                                               java.lang.String certID,
                                               boolean addSignature,
                                               java.lang.String locale)

Метод завершает процесс согласования/утверждения/ознакомления

URL rest/api/workflow/finish_process
Method POST

Parameters:
procInstID - идентификатор процесса (родительского для процесса работы, поле procInstID работы)
signal - название сигнала
comment - комментарий, может отсутствовать
rawdata - base-64 закодированные подписываемые данные (получаются в методе getProcessFinishInfo/process_info) (параметр обязателен если включена настройка требовать подпись)
signdata - base-64 закодированные подписанные данные (параметр обязателен если включена настройка требовать ключ и сертификат)
certificate - base-64 закодированный сертификат пользователя (параметр обязателен при наличии параметра signdata) (обяз. если включена настройка требовать ключ и сертификат)
certID - идентификатор сертификата, получаемый в методе verificationkey (certID::::sigalg) (обяз. если включена настройка требовать ключ и сертификат)
addSignature - необходимо ли добавить подпись
locale - локаль пользователя (по умолчанию ru)
Returns:
информацию о результате выполнения действия: errorCode = 0 - выполнено успешно, иначе - не выполнено, errorMessage - сообщение об ошибке/успешном выполнении действия

getWorkCompletionData

public java.lang.String getWorkCompletionData(java.lang.String workID,
                                              java.lang.String locale)

Метод возвращает информацию о результате завершения данной работы и список подтвержденных результатов дочерних работ

URL rest/api/workflow/work/get_completion_data
Method GET

Parameters:
workID - UUID работы
locale - локаль пользователя (по умолчанию ru)
Returns:
возвращает json следующей структуры:
result - результат завершения данной работы
previous_results - список подтвержденных результатов дочерних работ
See Also:
WorkUtilWrapper.getJson(arta.synergy.web.common.client.data.actions.completion.CompletionResult, String)

acceptWorkResult

public java.lang.String acceptWorkResult(java.lang.String workID,
                                         java.lang.String resultID,
                                         java.lang.String locale)

Метод подтверждает результат работы

URL rest/api/workflow/work/accept_result
Method GET

Parameters:
workID - UUID работы
resultID - UUID результата работы
locale - локаль пользователя (по умолчанию ru)
Returns:
json объект:
errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
errorMessage сообщение о результате выполнения (успешном либо не успешном)
work измененные данные о работе (только в результате успешного выполнения)

rejectWorkResult

public java.lang.String rejectWorkResult(java.lang.String workID,
                                         java.lang.String resultID,
                                         java.lang.String startDate,
                                         java.lang.String finishDate,
                                         int progress,
                                         java.lang.String comment,
                                         java.lang.String locale)

Метод отклоняет результат работы

URL rest/api/workflow/work/reject_result
Method POST

Parameters:
workID - UUID работы
resultID - UUID результата работы
startDate - дата время начала работы в формате yyyy-MM-dd HH:mm
finishDate - дата время завершения работы в формате yyyy-MM-dd HH:mm
progress - измененный прогресс работы
comment - комментарий отклонения
locale - локаль пользоаптеля (по умолчанию ru)
Returns:
json объект:
errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
errorMessage сообщение о результате выполнения (успешном либо не успешном)
work измененные данные о работе (только в результате успешного выполнения)

setWorkResult

public java.lang.String setWorkResult(java.lang.String workID,
                                      java.lang.String completionForm,
                                      java.lang.String locale)

Задает результат завершения работы


URL rest/api/workflow/work/set_result
Method POST


Набор полей передаваемых методу зависит от формы завершения данной работы.
Для формы завершения файл надо передать поля:
type должно быть равно file, если выбран новый файл, storage - если выбран файл из хранилища, work - если выбран файл работы.
file_identifier идентификатор файла, нужен если type == storage || type == work
file_name название файла, нужен если type == storage || type == work || type == file
file_path путь ко временному файлу результата, type = file (для загрузки файла надо использовать методы StorageService#startUploadFile и StorageService#uploadPart)

Для формы завершения комментарий надо передать поле:
comment сам комментарий результата

Для того, чтобы в качестве собственного результата завершения данной работы указать подтвержденный результат дочерней работы необходимо передать поле:
resultID идентификатор результата завершения дочерней работы


Примеры параметров для задания результата.
Для формы завершения "комментарий"
workID=UUID_работы
completionForm=COMMENT
comment=Текст комментария о резульате завершения работы

Для формы завершения "файл" (выбор нового файла с устройства)
workID=UUID_работы
completionForm=FILE
type=file
file_name=Название_выбранного_изображения.png
file_path=Путь_ко_временному_файлу_полученный_от_метода_startUploadFile

Для формы завершения "файл" (выбор из работы)
workID=UUID_работы
completionForm=FILE
type=work
file_name=Название_выбранного_файла.doc
file_identifier=идентификатор файла

Для формы завершения "форма"
workID=UUID_работы
completionForm=FILE
type=work
file_identifier=идентификатор файла формы

Для задания в качестве собственного результата результата дочерней работы (для любой формы завершения)
workID=UUID_работы
completionForm=форма_завершения_данной_работы
resultID=идентификатор_результата_завершения_дочерней_работы

Parameters:
workID - UUID работы
completionForm - форма завершения работы
locale - локаль пользователя (по умолчанию ru)
Returns:
json объект:
errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
errorMessage сообщение о результате выполнения (успешном либо не успешном)
work измененные данные о работе (только в результате успешного выполнения)
See Also:
StorageService.startUploadFile(String), (String)

getFormForCompletionResult

public java.lang.String getFormForCompletionResult(java.lang.String formUUID,
                                                   java.lang.String workID,
                                                   java.lang.String locale)

Создает форму для создания результата по форме завершения "форма"


URL rest/api/workflow/work/get_form_for_result
Method GET

Parameters:
formUUID - UUID формы, соответствующей форме завершения
workID - UUID работы
locale - локаль пользователя, по-умолчанию ru
Returns:
Json с полями:
file_identifier - uuid файла с данными
dataUUID - uuid файла с данными
dataUUID - uuid данных по форме
comment - комментарий

startRoute

public java.lang.String startRoute(java.lang.String finishDate,
                                   java.util.List<java.lang.String> resUserID,
                                   java.lang.String userID,
                                   java.lang.Integer type,
                                   java.lang.String name,
                                   java.lang.String completionFormID,
                                   java.lang.String workID,
                                   java.lang.String documentID,
                                   java.lang.String locale)

Отправляет работу по маршруту (перепоручение, согласование, ознакомление или утверждение)


URL rest/api/workflow/work/start_route
Method POST

Parameters:
finishDate - Дата завершения работ по маршруту в формате yyyy-MM-dd HH:mm:ss
resUserID - список идентификаторов пользователей, которым отправляется работа
userID - uuid ответственного (можно не передавать)
type - тип, одно из значений:
RouteItemElementType.AGREEMENT_ITEM 0 - согласование
RouteItemElementType.APPROVAL_ITEM 1 - утверждение
RouteItemElementType.ACQUAINTANCE_ITEM 2 - ознакомление
RouteItemElementType.ASSIGNMENT_ITEM 3 - перепоручение
name - название работы
completionFormID - UUID формы завершения, имеет смысл только для типа RouteItemElementType.ASSIGNMENT_ITEM 3
workID - UUID родительской работы
documentID - UUID документа
locale - локаль пользователя, по-умолчанию ru
Returns:
json объект:
errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
errorMessage сообщение о результате выполнения (успешном либо не успешном)
work измененные данные о работе (только в результате успешного выполнения)

getResponsibleRoute

public arta.synergy.web.common.client.data.bp.route.Route getResponsibleRoute(java.lang.String userID,
                                                                              java.lang.String name,
                                                                              java.util.Date finishDate,
                                                                              java.lang.String completionFormID)

transferWork

public java.lang.String transferWork(java.lang.String workID,
                                     java.lang.String name,
                                     java.lang.String userID,
                                     java.lang.String locale)

Метод выполняет передачу работы другому пользователю


URL rest/api/workflow/work/transfer
Method POST

Parameters:
workID - UUID работы (FormParam)
name - название работы (FormParam)
userID - UUID пользователя, которому необходимо передать работу
locale - локаль пользователя, по-умолчанию ru (QueryParam)
Returns:
json объект:
errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
errorMessage сообщение о результате выполнения (успешном либо не успешном)
workID id работы при успешном выполнении

getCounters

public java.lang.String getCounters()

Метод возвращает информацию о счетчиках работ


URL rest/api/workflow/get_counters
Method GET

Метод список элементов json следующего формата:
key - идентификатор фильтра,
value - значение фильтра
Идентификатор фильтра строится по следующему правилу
для общего количества работ в фильтре: {тип фильтра}_{uuid фильтра}_{uuid объекта}
для новых работ в фильтре: {тип фильтра}_{uuid фильтра}_{uuid объекта}_
Если для данного фильтра uuid фильтра или uuid объекта отсутствуют, то вместо них подставляется null

Примеры

Идентификатор для фильтра "На исполнении" OWN_WORKS_null_null - общее количество работ и OWN_WORKS_null_null_ - количество новых работ
Если в списке будет возвращено
{ "key": "OWN_WORKS_null_null", "value": "198"}, { "key": "OWN_WORKS_null_null_", "value": "2"},
значит у пользователя На исполнении 198 работ и из них 2 новых.

Идентификатор для фильтра "На подпись": OWN_WORKS_c83a3be1-3659-43eb-a600-5ca1efd8dddb_null - для общего количества работ, OWN_WORKS_c83a3be1-3659-43eb-a600-5ca1efd8dddb_null_ - для новых работ, (c83a3be1-3659-43eb-a600-5ca1efd8dddb uuid фильтра разный для всех пользователей)
Если в списке будет возвращено
{ "key": "OWN_WORKS_c83a3be1-3659-43eb-a600-5ca1efd8dddb_null", "value": "12"}, { "key": "OWN_WORKS_c83a3be1-3659-43eb-a600-5ca1efd8dddb_null_", "value": "0"}
Значит у данного пользователя 12 работ в фильтре на подпись и из них 0 новых

Рассмотрим дочерние фильтры для фильтра "на контроле". У этих фильтров может отсутствовать идентификатор фильтра, но присутствует идентификатор объекта (т.е. пользователя)

Для фильтра первого уровня вложенности в фильтре "На контроле" идентификаторы будут выглядеть следующим образом: ON_CONTROL_null_43e85c79-91a2-4b40-8896-6c63f8e1adc6 для общего количества работ в фильтре.

Если для данного фильтра в списке отсутствует количество работ, значит счетчик для данного фильтра в интерфейсе пользователя отображать не нужно. Если отсутствует счетчик количества новых работ, значит количество новых работ можно считать равным 0

Returns:
список счетчиков // * @see #getFilters(String, String, String, String, String)

getExecutionProcess

public java.lang.String getExecutionProcess(java.lang.String locale,
                                            java.lang.String documentID,
                                            java.lang.String workID)

Метод возвращает ход исполнения по документу


URL rest/api/workflow/get_execution_process
Method GET

Parameters:
locale - локаль пользователя, по-умолчанию ru
documentID - идентификатор документа
workID - идентификатор работы (должен быть указан один параметр или идентификатор документа или идентификатор работы)
Returns:

Метод возвращает список элементов хода исполнения,информацию о типах работ и маршруте выполнения. Для каждого элeмента передаются:

authorID идентификатор пользователя запустившего процесс
authorName имя пользователя запустившего процесс
name название элемента хода исполнения
started стамп времени начала процесса в формате yyyy-MM-dd HH:mm:ss
finished стамп времени завершения процесса в формате yyyy-MM-dd HH:mm:ss (отсутствует, если процесс еще не завершен)
comment комментарий хода исполнения
finishedUserID UUID пользователя, завершившего процесс
finishedUser имя пользователя, завершившего процесс (не менять формат, в котором это имя выводится)
responsibleUserID UUID пользователя, ответственного за выполнение
responsibleUserName ФИО пользователя, ответственного за выполнение
itemID UUID процесса
code код процесса в строковом формате
typeID тип процесса. Допустимые варианты описаны ниже
actionID UUID действия, создаваемого процессом (работы, согласования, отправки документа и т.д.)
length заданная длительность процесса
lengthType тип длительности (*). Один из следующих вариантов:HOURS - длительность задана в часах;DAYS - длительность задана в рабочих днях;
completionFormID UUID формы завершения
subProcesses массив подпроцессов, который содержит те же элементы, что и сам процесс

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

  • ASSIGNMENT_ITEM - работа
  • AGREEMENT_ITEM - согласование
  • APPROVAL_ITEM - утверждение
  • ACQUAINTANCE_ITEM - ознакомление
  • RESOLUTION_ACTION - резолюция
  • SEND_DOCUMENT - отправка документа
  • BLOCKING_PROCESS - блокирующий процесс
  • REGISTRATION_ITEM - регистрация
  • ROUTE_ITEM - маршрут
  • SEND_DOCUMENT_BY_FORM - отправка документа по форме
  • POSITION_APPOINMENT_ITEM - назначение на должность
  • POSITION_TRANSFER_ITEM - перевод
  • POSITION_DISCHARGE_ITEM - увольнение
  • COPY_TO_PR_FOLDER_ITEM - копирование в личную папку
  • CALENDAR_APPOINTEMENT_ITEM - назначение календаря
  • REGISTER_EVENT_ITEM - событие реестра
  • QUERY_RESULT - результат запроса
  • COMMON_PROCESS_BY_FORM - работа по форме
  • POINTERS_INPUT - ввод значения показателя
  • TIMER - таймер
  • ROUTE_TEMPLATE - запуск маршрута по шаблону
  • CONDITION - условный переход
  • COPY_TO_CARD - копирование в карточку
  • REASSIGN_WORK - переназначение работ

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

 [
   {
      "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": []
          }
      ]
  }
 ]
 

getHost

public java.lang.String getHost()

getUserID

public java.lang.String getUserID()

getWorkItems

public java.lang.String getWorkItems(java.lang.String workID,
                                     java.lang.String locale)
Метод возвращает набор действий, которые может совершить авторизованный пользователь над работой

URL: rest/api/workflow/work_actions
Тип: GET

Каждое действие характеризуется следующими полями:
action - идентификатор действия, значение из kz.arta.synergy.server.api.rest.works.WorkActionType
operation - идентификатор операции, значение из kz.arta.synergy.server.api.rest.works.WorkActionSubType (может отсутствовать)
label - название действия
color - идентификатор цвета, значение из kz.arta.synergy.server.api.rest.works.ActionColor

Parameters:
workID - uuid работы
locale - локаль пользователя, по-умолчанию ru
Returns:
массив json объектов с информацией о возможных действиях
See Also:
WorkActionType, WorkActionSubType, ActionColor

resolutionInfo

public java.lang.String resolutionInfo(java.lang.String workID,
                                       java.lang.String locale)
Метод возвращает описание экрана для завершения процесса резолюции

URL: rest/api/workflow/screen_resolution_info
Тип: GET

Parameters:
workID - workID (uuid работы)
locale - локаль (ru/en/kz, по умолчанию - ru)
Returns:
json строка, где: name - название экрана, label - заголовок сообщения, message - сообщение, buttons - кнопки

getWorkDialogs

public java.lang.String getWorkDialogs(java.lang.String uuid,
                                       java.lang.String type,
                                       java.lang.String locale)
Метод возвращает описание диалога по его uuid

URL: rest/api/workflow/get_dialog_info
Тип: GET

Parameters:
uuid - uuid диалога (параметр не обязателен)
type - используется для получения описания диалога по умолчанию ( WORK - диалог создания работы, DOCUMENT_PROJECT - диалог создания документа, TEMPLATE_PROJECT - диалог создания документа по шаблону)
locale - локаль (ru/en/kz, по умолчанию - ru)
Returns:
json строка
    {
    name: "КАСТОМНЫЙ ДИАЛОГ",
    uuid: "363fed9c-2dcc-4037-936d-6338cebcb4bc",
    default: "true",
    special: "true",
    type: "WORK",
    steps: [
    [{
    "type": "NAME",
    "number": 1,
    "show": true
    }... ...{
    "type": "COMMENT",
    "number": 7,
    "show": false
    }] ...
    ]
    }
    


name - название диалога (в зависимости от локали)
uuid - идентификатор диалога
default - является ли диалог диалогом по умолчанию для текущего типа
special - является ли диалог "особым"
type - тип диалога (WORK, DOCUMENT_PROJECT, TEMPLATE_PROJECT)
steps - список компонентов для каждого из шагов

Каждое поле состоит из следующих полей:
type - тип, все возможные типы указаны ниже
number - порядковый номер поле
show - показать или нет
Внимание: поле number может остуствовать или иметь значение null, это означает для типа компонента не указан номер и он имеет порядок по умолчаню

Описание типы компонентов для диалога создания работы:

NAME - Название
RESPONSIBLE - Ответственный
AUTHOR - Автор
USERS - Исполнитель
DATES - Сроки
PRIORITY - Приоритет
LOAD - Нагрузка
ATTACH_FILE - Приложить файл
KEYWORDS - Ключевые слова
REPEAT - Повторять
COMPLETION_FORM - Форма завершения
COMMENT - Комментарий

Описание типы компонентов для диалога создания проекта документа:

NAME_P - Название
DOCUMENT_TYPE - Тип документа
COMPLETION_P - Завершение
PRIORITY_P - Приоритет
ATTACH_FILE_P - Прикрепить файл
KEYWORDS_P - Ключевые слова

Описание типы компонентов для диалога создания проекта документа по шаблону:

NAME_T - Название
DOC_TEMPLATE - Шаблон документа
CREATE_WORK - Создать работу
COMPLETION_T - Завершение
PRIORITY_T - Приоритет
KEYWORDS_T - Ключевые слова
See Also:
WorkDialogType.WORK, WorkDialogType.DOCUMENT_PROJECT, WorkDialogType.TEMPLATE_PROJECT