arta.synergy.web.common.client.util

Interface ProjectTemplateService

kz.arta.synergy.api.rest.projects.template

Class ProjectTemplateService

kz.arta.synergy.api.rest.projects

Class ProjectService

kz.arta.synergy.api.rest.confimport

Class ImportConfigurationServlet

kz.arta.synergy.api.rest.dictionary

Class DictionaryService

  • java.lang.Object
    • kz.arta.synergy.api.rest.dictionary.DictionaryService


  • public class DictionaryService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 31.10.13 Time: 14:34 To change this template use File | Settings | File Templates.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String addRecord(DictionaryRecord record)
      Добавляет запись справочника

      URL rest/api/dictionary/record/add
      Method POST

      Вызывать метод можно только от имени пользователя с ролью "Методолог"

      "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате { "dictCode": "apitest", "itemID": null, "columns": [ { "code": "number", "value": "42", "valueKZ": null, "valueRU": null, "valueEN": null }, { "code": "field_name", "value": "Поле с переводами", "valueKZ": "казахский", "valueRU": "русский", "valueEN": "английский" }, { "code": "field_desc", "value": "Тест переводов", "valueKZ": null, "valueRU": null, "valueEN": null } ] } , где
      dictCode - код справочника
      itemID - идентификатор записи справочника (в данном методе не используется)
      columns - список столбцов справочника, где code - код столбца справочника value - значение столбца справочника valueKZ, valueRU, valueEN - локализованные значения столбца справочника

      java.lang.String editRecord(DictionaryRecord record)
      Изменяет запись справочника

      URL rest/api/dictionary/record/edit
      Method POST

      Вызывать метод можно только от имени пользователя с ролью "Методолог"

      "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате { "dictCode": "apitest", "itemID": "195af529-35ee-4bd7-a2b8-bcc04c731283", "columns": [ { "code": "number", "value": "42", "valueKZ": null, "valueRU": null, "valueEN": null }, { "code": "field_name", "value": "Поле с переводами", "valueKZ": "казахский", "valueRU": "русский", "valueEN": "английский" }, { "code": "field_desc", "value": "Тест переводов", "valueKZ": null, "valueRU": null, "valueEN": null } ] } , где
      dictCode - код справочника
      itemID - идентификатор редактируемой записи справочника
      columns - список столбцов справочника, где code - код столбца справочника value - значение столбца справочника valueKZ, valueRU, valueEN - локализованные значения столбца справочника

      Response editRecords(DictionaryRecord[] records)
      Изменяет запись справочника

      URL rest/api/dictionary/record/edit
      Method POST

      Вызывать метод можно только от имени пользователя с ролью "Методолог"

      "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате { "dictCode": "apitest", "itemID": "195af529-35ee-4bd7-a2b8-bcc04c731283", "columns": [ { "code": "number", "value": "42", "valueKZ": null, "valueRU": null, "valueEN": null }, { "code": "field_name", "value": "Поле с переводами", "valueKZ": "казахский", "valueRU": "русский", "valueEN": "английский" }, { "code": "field_desc", "value": "Тест переводов", "valueKZ": null, "valueRU": null, "valueEN": null } ] } , где
      dictCode - код справочника
      itemID - идентификатор редактируемой записи справочника
      columns - список столбцов справочника, где code - код столбца справочника value - значение столбца справочника valueKZ, valueRU, valueEN - локализованные значения столбца справочника

      java.util.Collection<DictionaryItem> findDictionaryItems(java.lang.String organizationRecordIdColumnId, java.lang.String orgID) 
      java.util.Dictionary getDictionaryByCode(java.lang.String fieldsDictionaryCode, boolean loadItems) 
      java.lang.String getDictionaryValues(java.lang.String locale, java.lang.String dictionaryCode)
      Возвращает информацию о справочнике по его коду: столбцы, значения

      URL rest/api/dictionary/get_by_code
      Method GET


      Метод возвращает json с полями:
      dictionary_code - код справочника
      dictionaryID - идентификатор справочника
      columns - список столбцов справочника
      items - список значений справочника

      Для каждого столбца (columns) передается:
      columnID идентификатор столбца
      code код столбца

      Для каждого значения (items) передаются:
      itemID - идентификатор значения
      values - список значений каждого столбца.

      java.lang.String getHost() 
      java.lang.String getUserID() 
      java.lang.String removeRecord(DictionaryRecord record)
      Удаляет запись справочника

      URL rest/api/dictionary/record/remove
      Method POST

      Вызывать метод можно только от имени пользователя с ролью "Методолог"

      "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате { "dictCode": "apitest", "itemID": "195af529-35ee-4bd7-a2b8-bcc04c731283", } , где
      dictCode - код справочника
      itemID - идентификатор удаляемой записи справочника

      java.lang.String saveItem(DictionaryItem item) 
      java.lang.String saveTranslations(java.lang.String id, java.lang.String nameId, java.lang.String mapJS) 
      Response updateDictionary(DictionaryDefinitionJson json) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DictionaryService

        public DictionaryService()
    • Method Detail

      • getDictionaryValues

        public java.lang.String getDictionaryValues(java.lang.String locale,
                                                    java.lang.String dictionaryCode)

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

        URL rest/api/dictionary/get_by_code
        Method GET


        Метод возвращает json с полями:
        dictionary_code - код справочника
        dictionaryID - идентификатор справочника
        columns - список столбцов справочника
        items - список значений справочника

        Для каждого столбца (columns) передается:
        columnID идентификатор столбца
        code код столбца

        Для каждого значения (items) передаются:
        itemID - идентификатор значения
        values - список значений каждого столбца. Для каждого значения передаются:
        columnID - идентификатор столбца
        value - значение
        translation - перевод значения согласно локали пользователя (перевод может отсутствовать. Если перевод присутствует, значит в качестве значения для данного столбца надо брать его, если отсутствует - значение поля value)


        Рассмотрим пример справочника форм завершения с кодом work_completion:

         {"dictionary_code" : "work_completion", "dictionaryID": "0b247762-f049-49e7-93e5-fa7c93a779d7", "columns": [
         {
         "columnID": "27e8d020-5db5-4b05-a3e2-ba364453a940",
         "code": "form_type"
         },
         {
         "columnID": "5b3ab9bc-ea13-4fce-a37c-a83298dee427",
         "code": "form_type_name"
         },
         {
         "columnID": "9f7778ba-c3b9-4653-ba4e-560ddb800ded",
         "code": "is_result_free"
         },
         {
         "columnID": "3b359c6b-5f17-4324-a6c2-3a3bc2e400b6",
         "code": "additional_params"
         }
         ], "items": [
         {
         "itemID": "36826cf9-5da9-49bf-9b79-3e3f9c0873a1",
         "values": [
         {
         "value": "child=true",
         "columnID": "3b359c6b-5f17-4324-a6c2-3a3bc2e400b6"
         },
         {
         "value": "0",
         "columnID": "9f7778ba-c3b9-4653-ba4e-560ddb800ded"
         },
         {
         "value": "2",
         "columnID": "27e8d020-5db5-4b05-a3e2-ba364453a940"
         },
         {
         "value": "Документ",
         "columnID": "5b3ab9bc-ea13-4fce-a37c-a83298dee427" ,
         "translation": "Документ"
         }
         ]
         },
         {
         "itemID": "55dad228-2653-47c2-898a-ad263c2e7def",
         "values": [
         {
         "value": "0",
         "columnID": "9f7778ba-c3b9-4653-ba4e-560ddb800ded"
         },
         {
         "value": "0",
         "columnID": "27e8d020-5db5-4b05-a3e2-ba364453a940"
         },
         {
         "value": "Комментарий",
         "columnID": "5b3ab9bc-ea13-4fce-a37c-a83298dee427" ,
         "translation": "Комментарий"
         }
         ]
         },
         {
         "itemID": "5a753b31-db44-4e56-b922-fabeb29502ff",
         "values": [
         {
         "value": "1",
         "columnID": "27e8d020-5db5-4b05-a3e2-ba364453a940"
         },
         {
         "value": "Файл",
         "columnID": "5b3ab9bc-ea13-4fce-a37c-a83298dee427" ,
         "translation": "Файл"
         }
         ]
         }
         ]}
         

        В табличном виде значения данного справочника можно отобразить следующим образом:
             ____________________________________________________________________________________________________________________________
             |form_type       |form_type_name         | is_result_free        |additional_params  | Идентификатор значения              |
             |2               |Документ               |0                      |child=true         |36826cf9-5da9-49bf-9b79-3e3f9c0873a1 |
             |0               |Комментарий            |0                      |                   |55dad228-2653-47c2-898a-ad263c2e7def |
             |1               |Файл                   |                       |                   |5a753b31-db44-4e56-b922-fabeb29502ff |
             ____________________________________________________________________________________________________________________________
         


        Parameters:
        locale - локаль пользователя
        dictionaryCode - код справочника
        Returns:
        json с полями описанными выше
      • addRecord

        public java.lang.String addRecord(DictionaryRecord record)
        Добавляет запись справочника

        URL rest/api/dictionary/record/add
        Method POST

        Вызывать метод можно только от имени пользователя с ролью "Методолог"

        "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате

         {
         "dictCode": "apitest",
         "itemID": null,
         "columns": [
          {
              "code": "number",
              "value": "42",
              "valueKZ": null,
              "valueRU": null,
              "valueEN": null
          },
          {
              "code": "field_name",
              "value": "Поле с переводами",
              "valueKZ": "казахский",
              "valueRU": "русский",
              "valueEN": "английский"
          },
          {
              "code": "field_desc",
              "value": "Тест переводов",
              "valueKZ": null,
              "valueRU": null,
              "valueEN": null
          }
         ]
         }
         
        , где
        dictCode - код справочника
        itemID - идентификатор записи справочника (в данном методе не используется)
        columns - список столбцов справочника, где
            code - код столбца справочника
            value - значение столбца справочника
            valueKZ, valueRU, valueEN - локализованные значения столбца справочника

        Parameters:
        record - запись справочника в формате JSON
        Returns:
        JSON с результатом выполнения
      • editRecord

        public java.lang.String editRecord(DictionaryRecord record)
        Изменяет запись справочника

        URL rest/api/dictionary/record/edit
        Method POST

        Вызывать метод можно только от имени пользователя с ролью "Методолог"

        "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате

         {
         "dictCode": "apitest",
         "itemID": "195af529-35ee-4bd7-a2b8-bcc04c731283",
         "columns": [
          {
              "code": "number",
              "value": "42",
              "valueKZ": null,
              "valueRU": null,
              "valueEN": null
          },
          {
              "code": "field_name",
              "value": "Поле с переводами",
              "valueKZ": "казахский",
              "valueRU": "русский",
              "valueEN": "английский"
          },
          {
              "code": "field_desc",
              "value": "Тест переводов",
              "valueKZ": null,
              "valueRU": null,
              "valueEN": null
          }
         ]
         }
         
        , где
        dictCode - код справочника
        itemID - идентификатор редактируемой записи справочника
        columns - список столбцов справочника, где
            code - код столбца справочника
            value - значение столбца справочника
            valueKZ, valueRU, valueEN - локализованные значения столбца справочника

        Parameters:
        record - запись справочника в формате JSON
        Returns:
        JSON с результатом выполнения
      • editRecords

        public Response editRecords(DictionaryRecord[] records)
        Изменяет запись справочника

        URL rest/api/dictionary/record/edit
        Method POST

        Вызывать метод можно только от имени пользователя с ролью "Методолог"

        "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате

         {
         "dictCode": "apitest",
         "itemID": "195af529-35ee-4bd7-a2b8-bcc04c731283",
         "columns": [
          {
              "code": "number",
              "value": "42",
              "valueKZ": null,
              "valueRU": null,
              "valueEN": null
          },
          {
              "code": "field_name",
              "value": "Поле с переводами",
              "valueKZ": "казахский",
              "valueRU": "русский",
              "valueEN": "английский"
          },
          {
              "code": "field_desc",
              "value": "Тест переводов",
              "valueKZ": null,
              "valueRU": null,
              "valueEN": null
          }
         ]
         }
         
        , где
        dictCode - код справочника
        itemID - идентификатор редактируемой записи справочника
        columns - список столбцов справочника, где
            code - код столбца справочника
            value - значение столбца справочника
            valueKZ, valueRU, valueEN - локализованные значения столбца справочника

        Parameters:
        record - запись справочника в формате JSON
        Returns:
        JSON с результатом выполнения
      • removeRecord

        public java.lang.String removeRecord(DictionaryRecord record)
        Удаляет запись справочника

        URL rest/api/dictionary/record/remove
        Method POST

        Вызывать метод можно только от имени пользователя с ролью "Методолог"

        "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате

         {
         "dictCode": "apitest",
         "itemID": "195af529-35ee-4bd7-a2b8-bcc04c731283",
         }
         
        , где
        dictCode - код справочника
        itemID - идентификатор удаляемой записи справочника

        Parameters:
        record - запись справочника в формате JSON
        Returns:
        JSON с результатом выполнения
      • getHost

        public java.lang.String getHost()
      • getUserID

        public java.lang.String getUserID()
      • findDictionaryItems

        public java.util.Collection<DictionaryItem> findDictionaryItems(java.lang.String organizationRecordIdColumnId,
                                                                        java.lang.String orgID)
      • saveItem

        public java.lang.String saveItem(DictionaryItem item)
      • saveTranslations

        public java.lang.String saveTranslations(java.lang.String id,
                                                 java.lang.String nameId,
                                                 java.lang.String mapJS)
      • getDictionaryByCode

        public java.util.Dictionary getDictionaryByCode(java.lang.String fieldsDictionaryCode,
                                                        boolean loadItems)
kz.arta.synergy.api.rest.dictionary

Class DictionariesService

  • java.lang.Object
    • kz.arta.synergy.api.rest.dictionary.DictionariesService


  • public class DictionariesService
    extends java.lang.Object
    Created by: Abzal Kultayev Date: 21.06.16 Time: 12:45
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response getDictionariesList(boolean getHidden, java.lang.String locale)
      Получение списка справочников

      URL rest/api/dictionaries
      Method GET Метод принимает следующие входные параметры:

      Response getDictionaryInfo(java.lang.String code, boolean getColumns, boolean getItems, java.lang.String locale)
      Получение описания и/или записей справочника

      URL rest/api/dictionaries/{code}
      Method GET

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DictionariesService

        public DictionariesService()
    • Method Detail

      • getDictionariesList

        public Response getDictionariesList(boolean getHidden,
                                            java.lang.String locale)

        Получение списка справочников

        URL rest/api/dictionaries
        Method GET

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

        Parameters:
        getHidden - возвращать ли скрытые справочники, true/false (не обяз., по умолчанию false)
        locale - код локали (не обяз., по умолчанию ru)
        Returns:
        Данные в JSON формате

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

                [
                    {
                    "id": "eb77639e-60b8-4a50-8327-0482063e8935",
                    "code": "resolution_work_types",
                    "name": "Типы работ по резолюции",
                    "comment": "Значения выпадающего списка типа работы при наложении резолюции"
                    },
                    {
                    "id": "467d3eac-252c-427e-bd27-ba8704587257",
                    "code": "calendar_types",
                    "name": "Назначения календаря",
                    "comment": "Статусы сотрудников"
                    },
                    {
                    "id": "7b953be8-bddb-4ce4-bbfd-ae9548f69c7f",
                    "code": "BookPointer",
                    "name": "Уровень проведения тренингов",
                    "comment": ""
                    },
                    {
                    "id": "a830ed90-1ef5-4829-b3a4-efa8d087ed6a",
                    "code": "BookPointer2",
                    "name": "Уровень корпоративного духа",
                    "comment": ""
                    },
                    {
                    "id": "9b077c41-4efa-48ce-8ce9-af2fe6145e96",
                    "code": "send_items",
                    "name": "Пункты меню отправки",
                    "comment": "Пункты меню отправки документа/работы"
                    },
                    {
                    "id": "f75e8f6a-7b5a-493b-946b-ac35a628624f",
                    "code": "Vid_otpuska",
                    "name": "Виды отпусков",
                    "comment": ""
                    },
                    {
                    "id": "dfb986ca-6dd2-415f-9304-bfab19d6d4af",
                    "code": "nazionalnost",
                    "name": "Национальности",
                    "comment": ""
                    },
                    {
                    "id": "a0b8ee66-2820-4fb7-991d-4723955ccef5",
                    "code": "action_progress",
                    "name": "Подписи прогресса поручений",
                    "comment": "Подписи прогресса поручений"
                    },
                    {
                    "id": "2d7729d7-1230-4c1c-a952-ebb4cf65278a",
                    "code": "resolution",
                    "name": "Тексты резолюций",
                    "comment": "Справочник стандартных текстов резолюций"
                    },
                    {
                    "id": "b08289f0-fd6b-4b3c-bc99-fae8d4296acb",
                    "code": "obrazovanie",
                    "name": "Образование",
                    "comment": ""
                    }
                ]
         
      • getDictionaryInfo

        public Response getDictionaryInfo(java.lang.String code,
                                          boolean getColumns,
                                          boolean getItems,
                                          java.lang.String locale)

        Получение описания и/или записей справочника

        URL rest/api/dictionaries/{code}
        Method GET

        Parameters:
        code - код справочника.
        getColumns - возвращать ли описание справочника, true/false (не обяз., по умолчанию true)
        getItems - возвращать ли записи справочника, true/false (не обяз., по умолчанию true)
        locale - код локали (не обяз., по умолчанию ru)
        Returns:
        Данные в JSON формате.

        Метод должен возвращать массив с параметрами:

        • id - идентификатор справочника
        • code - код справочника
        • name - имя справочника
        • comment - комментарий к справочнику
        • columns - список столбцов справочника (для getColumns = true)
        • items - список значений справочника (для getItems = true)

        Для каждого столбца справочника (columns) передается:

        • id - идентификатор столбца
        • code - код столбца
        • name - имя столбца
        • comment - комментарий столбца
        • translate - переводить ли значение столбца, true/false
        Примечание: Каждый столбец из columns определяется ключом, который соответствует значению кода столбца (поле code).

        Для каждой записи справочника (items) передаются значения кода столбца, а внутри каждого столбца - непосредственно значения записи

        • id - идентификатор значения
        • value - значение
        • translation - перевод значения согласно локали пользователя; может отсутствовать (соответствует значению null), тогда в качестве значения для данного столбца надо использовать значение поля value
        Примечание

        Каждая запись из items определяется ключом, который соответствует значению идентификатора значения (поле id)

        В свою очередь, внутри записи каждый вложенный массив определяется ключом, который соответствует значению кода столбца (поле code)

        Пример возвращаемого массива
                {
                    "id": "eb77639e-60b8-4a50-8327-0482063e8935",
                    "code": "send_items",
                    "name": "Пункты меню отправки",
                    "comment": "Пункты меню отправки документа/работы",
                    "columns": {
                        "item_number": {
                            "id": "e5d3ce83-25d1-46ae-94f9-c33930fc1565",
                            "code": "item_number",
                            "name": "Порядковый номер",
                            "comment": "Используется для задания порядка пунктов меню отправки",
                            "translate": false
                        },
                        "item_name": {
                            "id": "03e23318-71ec-4ced-a54c-73affaf43079",
                            "code": "item_name",
                            "name": "Название пункта меню отправки",
                            "comment": "Текст, который будет отображаться в соответствующем пункте меню",
                            "translate": true
                        },
                        "item_process": {
                            "id": "27f3090b-0a57-4c1f-8343-c56e8d39117d",
                            "code": "item_process",
                            "name": "Действие, которое осуществляет пункт",
                            "comment": "",
                            "translate": false
                        }
                    },
                    "items": {
                        "b7c8861f-37df-4fe4-9f67-4f1cb243b008": {
                            "item_number": {
                                "id": "b7c8861f-37df-4fe4-9f67-4f1cb243b008",
                                "value": "3",
                                "translation": null
                            },
                            "item_name": {
                                "id": "b7c8861f-37df-4fe4-9f67-4f1cb243b008",
                                "value": "Перепоручить",
                                "translation": "Перепоручить"
                            },
                            "item_process": {
                                "id": "b7c8861f-37df-4fe4-9f67-4f1cb243b008",
                                "value": "assignment",
                                "translation": null
                            }
                        },
                        "80c92a72-988f-422a-92b9-70cd37f15dbc": {
                            "item_number": {
                                "id": "80c92a72-988f-422a-92b9-70cd37f15dbc",
                                "value": "6",
                                "translation": null
                            },
                            "item_name": {
                                "id": "80c92a72-988f-422a-92b9-70cd37f15dbc",
                                "value": "На утверждение",
                                "translation": "На утверждение"
                            },
                            "item_process": {
                                "id": "80c92a72-988f-422a-92b9-70cd37f15dbc",
                                "value": "approval",
                                "translation": null
                            }
                        }
                    }
                }
         

        Альтернативный поток событий. Передан некорректный параметр code: справочника с таким кодом не существует. Сервер возвращает следующий ответ (с HTTP-кодом 200):

                {
                    "errorCode": "13",
                    "errorMessage": "Справочник с кодом %значение% не найден"
                }
         
kz.arta.synergy.api.rest.registry

Class RegistryService

  • java.lang.Object
    • kz.arta.synergy.api.rest.registry.RegistryService


  • public class RegistryService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 19.09.13 Time: 9:39 To change this template use File | Settings | File Templates.
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static Logger LOGGER1 
    • Constructor Summary

      Constructors 
      Constructor and Description
      RegistryService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String activateRegistryDocument(java.lang.String documentID, java.lang.String dataUUID, java.lang.String summary, java.lang.String locale, java.lang.String ignoreSignature)
      Запускает событие "Активация" записи реестра (документа)

      URL rest/api/registry/activate_doc
      Method GET
      Response countRegistryData(java.lang.String registryID, java.lang.String registryCode, java.lang.String filterID, java.lang.String filterCode, java.lang.String searchString, int pageNumber, int countInPart, java.lang.String locale, java.lang.String sortCmpID, boolean sortDesc, java.lang.String andCombineGroup, boolean loadData, boolean searchByTerm, java.util.List<java.lang.String> statuses, java.util.List<java.lang.String> fields)
      ЕСЛИ ЗАПРОС ПРЕВЫШАЕТ 2048 СИМВОЛОВ - НУЖНО ИСПОЛЬЗОВАТЬ АНАЛОГИЧНЫЙ POST МЕТОД Api позволяет выполнять операции сложения, среднего арифметического, минимального и максимального числа по записям реестра.
      Response countRegistryDataPost(java.lang.String registryID, java.lang.String registryCode, java.lang.String filterID, java.lang.String filterCode, java.lang.String searchString, int pageNumber, int countInPart, java.lang.String locale, java.lang.String sortCmpID, boolean sortDesc, java.lang.String andCombineGroup, boolean loadData, boolean searchByTerm, java.util.List<java.lang.String> statuses, java.util.List<java.lang.String> fields)
      Api позволяет выполнять операции сложения, среднего арифметического, минимального и максимального числа по записям реестра.
      java.lang.String createCollectionRegistryDocument(java.lang.String registryID, java.lang.String registryCode, java.lang.String locale, int count)
      Создает указанное количество новых документов по реестру

      URL rest/api/registry/create_collection_doc
      Method GET
      java.lang.String createRegistryDocument(java.lang.String registryID, java.lang.String registryCode, java.lang.String locale, boolean wasOpened)
      Создает новый документ по реестру

      URL rest/api/registry/create_doc
      Method GET

      Пример использования можно посмотреть в классе kz.arta.synergy.rest.api.sample.registry.CreateAndFillDocExample
      Response createRegistryDocumentWithRCC(CreateRegistryDocumentOperation operation) 
      Response deleteCentralFilter(java.lang.String registryCode, java.lang.String filterCode, java.lang.String locale) 
      java.lang.String deleteRegistryDocument(java.lang.String documentID, java.lang.String dataUUID, java.lang.String locale)
      Запускает событие "Удаление" записи реестра (документа)

      URL rest/api/registry/delete_doc
      Method GET
      Response deleteUserFilter(java.lang.String filterID, java.lang.String locale) 
      java.lang.String getFavorite(boolean bookmarks, boolean mobile, java.lang.String locale)
      Метод возвращает список документов для окошка "Избранное"

      URL: rest/api/registry/favorite
      Тип GET
      java.util.List<RegistryFilterJson> getFilterTree(java.lang.String parentID, java.util.List<RegisterFilter> filters, java.lang.String locale, boolean loadIcon) 
      java.lang.String getRegistry(java.lang.String registryID, java.lang.String code, java.lang.String user, java.lang.String locale)
      Получение данных о реестре

      URL rest/api/registry/info

      Response getRegistryCollations(java.lang.String registryCode, java.lang.String collatedRegistryCode)
      Возвращает полную информацию о сопоставлении между двумя указанными реестрами URL: rest/api/registry/collation_info Тип: GET
      Response getRegistryData(java.lang.String registryID, java.lang.String registryCode, java.lang.String user, java.lang.String filterID, java.lang.String filterCode, java.lang.String searchString, int pageNumber, int countInPart, java.lang.String sortCmpID, boolean sortDesc)
      Получение записей реестра
      Response getRegistryDataExt(java.lang.String registryID, java.lang.String registryCode, java.lang.String filterID, java.lang.String filterCode, java.lang.String searchString, int pageNumber, int countInPart, java.lang.String locale, java.lang.String sortCmpID, boolean sortDesc, java.lang.String andCombineGroup, boolean loadData, boolean searchByTerm, java.util.List<java.lang.String> statuses, java.util.List<java.lang.String> fields)
      расширенный метод получения записей реестра

      URL rest/api/registry/data_ext
      Method GET

      Параметры поиска включают:

      registryID - идентификатор реестра (можно не указывать, если указан код)
      registryCode - код реестра (можно не указывать если указан идентификатор)
      filterID - идентификатор фильтра (не обязательное).

      Response getRegistryDataExtPost(java.lang.String registryID, java.lang.String registryCode, java.lang.String filterID, java.lang.String filterCode, java.lang.String searchString, int pageNumber, int countInPart, java.lang.String locale, java.lang.String sortCmpID, boolean sortDesc, java.lang.String andCombineGroup, boolean loadData, boolean searchByTerm, java.util.List<java.lang.String> statuses, java.util.List<java.lang.String> fields)
      расширенный метод получения записей реестра

      URL rest/api/registry/data_ext_post
      Method POST

      Параметры поиска включают:

      registryID - идентификатор реестра (можно не указывать, если указан код)
      registryCode - код реестра (можно не указывать если указан идентификатор)
      filterID - идентификатор фильтра (не обязательное).

      Response getRegistryFilters(java.lang.String registryID, java.lang.String registryCode, java.lang.String type, java.lang.String locale, java.lang.String getIcon)
      Получение фильтров реестра вместе с правами авторизованного пользователя и условиями фильтра Тип: GET URL: rest/api/registry/filters
      Response getRegistryList(java.lang.String regGroupID, java.lang.String locale)
      Получение списка доступных пользователю реестров

      URL rest/api/registry/list
      Method GET
      Метод возвращает группы реестров и реестры в виде дерева (в соответствии с навигатором), а также список прав пользователя на данные реестры.

      java.lang.String getRoute(java.lang.String registryID, java.lang.String registryCode, java.lang.String type, java.lang.String locale) 
      java.lang.String getUserID() 
      java.lang.String modifyRegistryDocument(java.lang.String documentID, java.lang.String dataUUID, java.lang.String summary, java.lang.String locale)
      Запускает событие "Изменение" записи реестра (документа)

      URL rest/api/registry/modify_doc
      Method GET
      <any> parseMetaItem(<any> metaItem, DateFormat fm) 
      java.lang.String registriesSearch(RegistryFileSearch searchParam)
      Поиск файлов в реестрах Тип: POST URL: rest/api/registry/files/search
      Response restoreRegistryDocument(java.lang.String documentId)
      Данный метод восстанавливает документ, идентификатор которого введен в запросе.
      Response saveOrEditCentralFilter(RegistryCentralFilterDTO registryCentralFilterDTO, java.lang.String locale) 
      Response saveOrEditUserFilter(RegistryCentralFilterDTO registryCentralFilterDTO) 
      java.lang.String searchFavorite(int start, java.lang.String search)
      Метод используется для поиска избранных реестров

      URL: rest/api/registry/search_favorite
      Тип GET
      java.lang.String setBookmark(java.lang.String itemID, boolean bookmark, java.lang.String locale)
      Метод устанавливет реестр как "Избранный", либо наоборот

      URL: rest/api/registry/set_bookmark
      Тип GET
      java.lang.String startRoute(java.lang.String registryID, java.lang.String documentID, java.lang.String subject, java.lang.String dataUUID, java.lang.String data, java.lang.String type, java.lang.String locale)
      Метод запускает маршрут

      >URL: rest/api/registry/route/start
      Тип POST
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOGGER1

        public static final Logger LOGGER1
    • Constructor Detail

      • RegistryService

        public RegistryService()
    • Method Detail

      • createRegistryDocument

        public java.lang.String createRegistryDocument(java.lang.String registryID,
                                                       java.lang.String registryCode,
                                                       java.lang.String locale,
                                                       boolean wasOpened)
        Создает новый документ по реестру

        URL rest/api/registry/create_doc
        Method GET

        Пример использования можно посмотреть в классе kz.arta.synergy.rest.api.sample.registry.CreateAndFillDocExample
        Parameters:
        registryID - UUID реестра (параметр обязателен если не передан код реестра)
        registryCode - код реестра (параметр обязателен если не передан UUID реестра)
        wasOpened - был ли документ ранее открыт. Не обязательный, по умолчанию - false. Определяет вид документа при первом открытии в клиенте.
        locale - локаль пользователя
        Returns:
        В случае успешного выполнения возвращает json c полями
        errorCode - код выполнения (в случае успешного выполнения - 0)
        documentID - uuid созданного документа
        dataUUID - uuid созданных данных по форме
        asfNodeID - uuid файла по форме в хранилище
        В случае не успешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке
      • createCollectionRegistryDocument

        public java.lang.String createCollectionRegistryDocument(java.lang.String registryID,
                                                                 java.lang.String registryCode,
                                                                 java.lang.String locale,
                                                                 int count)
        Создает указанное количество новых документов по реестру

        URL
        rest/api/registry/create_collection_doc
        Method GET
        Parameters:
        registryID - UUID реестра (параметр обязателен если не передан код реестра)
        registryCode - Код реестра (параметр обязателен если не передан UUID реестра)
        locale - локаль пользователя
        count - количество записей
        Returns:
        В случае успешного выполнения возвращает json c полями
        errorCode - код выполнения (в случае успешного выполнения - 0)
        documents - массив объектов с полями:
        documentID - uuid созданного документа
        dataUUID - uuid созданных данных по форме
        asfNodeID - uuid файла по форме в хранилище
        В случае не успешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке
      • activateRegistryDocument

        public java.lang.String activateRegistryDocument(java.lang.String documentID,
                                                         java.lang.String dataUUID,
                                                         java.lang.String summary,
                                                         java.lang.String locale,
                                                         java.lang.String ignoreSignature)
        Запускает событие "Активация" записи реестра (документа)

        URL rest/api/registry/activate_doc
        Method GET
        Parameters:
        documentID - идентификатор документа (необязательный)
        dataUUID - идентификатор файла по форме (необязательный)
        locale - локаль пользователя
        summary - краткое изложение маршрута
        Returns:
        В случае успешного выполнения возвращает json c полями
        errorCode - код выполнения (в случае успешного выполнения - 0)
        documentID - uuid документа
        dataUUID - uuid данных по форме
        В случае неуспешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке

        Запись реестра может быть найдена как по идентификатору документа (параметр documentID), так и по идентификатору данных по форме (параметр dataUUID). Хотя бы один из этих параметров должен быть указан, если указаны оба, то будет произведена проверка что указанные идентификаторы относятся к одной записи реестра.


        Возможные причины возврата ошибки
        1. Запись реестра (документ) не найдена
        2. Для реестра задано событие активации записи и маршрут этого события содержит предварительные или последующие этапы.

      • modifyRegistryDocument

        public java.lang.String modifyRegistryDocument(java.lang.String documentID,
                                                       java.lang.String dataUUID,
                                                       java.lang.String summary,
                                                       java.lang.String locale)
        Запускает событие "Изменение" записи реестра (документа)

        URL rest/api/registry/modify_doc
        Method GET
        Parameters:
        documentID - идентификатор документа (необязательный)
        dataUUID - идентификатор файла по форме (необязательный)
        locale - локаль пользователя
        summary - краткое изложение маршрута
        Returns:
        В случае успешного выполнения возвращает json c полями
        errorCode - код выполнения (в случае успешного выполнения - 0)
        documentID - uuid документа
        dataUUID - uuid данных по форме
        В случае неуспешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке

        Запись реестра может быть найдена как по идентификатору документа (параметр documentID), так и по идентификатору данных по форме (параметр dataUUID). Хотя бы один из этих параметров должен быть указан, если указаны оба, то будет произведена проверка что указанные идентификаторы относятся к одной записи реестра.


        Возможные причины возврата ошибки
        1. Запись реестра (документ) не найдена
        2. Для реестра задано событие изменения записи и маршрут этого события содержит предварительные или последующие этапы.

      • restoreRegistryDocument

        public Response restoreRegistryDocument(java.lang.String documentId)
        Данный метод восстанавливает документ, идентификатор которого введен в запросе.

        URL rest/api/registry/restore_doc
        Method GET
        Parameters:
        documentId - идентификатор документа (необязательный)
        Returns:
        При успешном выполнении метод возвращает json-объект с кодом HTTP 200:
        errorCode - код выполнения (в случае успешного выполнения - 0)
        errorMessage - сообщение об успешном выполнении
        В случае не успешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке
      • deleteRegistryDocument

        public java.lang.String deleteRegistryDocument(java.lang.String documentID,
                                                       java.lang.String dataUUID,
                                                       java.lang.String locale)
        Запускает событие "Удаление" записи реестра (документа)

        URL rest/api/registry/delete_doc
        Method GET
        Parameters:
        documentID - идентификатор документа (необязательный)
        dataUUID - идентификатор файла по форме (необязательный)
        locale - локаль пользователя
        Returns:
        В случае успешного выполнения возвращает json c полями
        errorCode - код выполнения (в случае успешного выполнения - 0)
        documentID - uuid удаленного документа
        dataUUID - uuid удаленных данных по форме
        В случае не успешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке

        Запись реестра может быть найдена как по идентификатору документа (параметр documentID), так и по идентификатору данных по форме (параметр dataUUID). Хотя бы один из этих параметров должен быть указан, если указаны оба, то будет произведена проверка что указанные идентификаторы относятся к одной записи реестра.


        Возможные причины возврата ошибки
        1. Запись реестра (документ) не найдена
        2. У пользователя нет прав на удаление записей реестра
        3. Запись реестра находится в неактивном состоянии (черновик)
        4. Для реестра задано событие удаления записи и маршрут этого события содержит предварительные или последующие этапы.

      • getFavorite

        public java.lang.String getFavorite(boolean bookmarks,
                                            boolean mobile,
                                            java.lang.String locale)
        Метод возвращает список документов для окошка "Избранное"

        URL: rest/api/registry/favorite
        Тип GET
        Parameters:
        bookmarks - true - отображать только избранные, false (по умолчанию) - отображать все
        locale - локаль
        mobile - true - возвращать реестры, содержащие формы только с мобильным представлением, false - все (по умолчанию)
        Returns:
        json строка

        Примеры:
        URL: http://127.0.0.1:8080/Synergy/rest/api/registry/favorite
            [
            {
            "itemID": "8049c154-7d19-4cb3-8f9e-013de869525c",
            "group": "true",
            "name": "Группа 1"
            },
            {
            "itemID": "d4176542-e76d-41c9-9278-1a06d317d687",
            "group": "true",
            "name": "Группа 2"
            },
            {
            "itemID": "fafe269c-0871-4697-85c5-1c473b48c0b5",
            "group": "false",
            "isBookmark" : "true"
            "registryID": "30ab9d73-95dc-4281-9326-47ac05837838",
            "formID": "dec6966f-6002-49ac-8013-b55f3c21763a",
            "formName": "api-test-form",
            "name": "Пункт 1"
            }
            ]
            

        Элемент может являться либо группой, либо пунктом.
        Если group = true, это значит, то данный элемент является группой, иначе - пункт.
        Для группы сервер возвращает параметры:
        itemID - uuid пункта
        group - группа или нет
        name - имя группы
        parentID - uuid родителя (если есть)

        Для пункта сервер возвращает параметры:
        itemID - uuid пункта
        group - группа или нет
        name - имя группы
        registryID - uuid реестра
        formID - uuid формы
        formName - имя формы
        isBookmark - является ли элемент текущий пункт избранным
        parentID - uuid родителя (если есть)
      • searchFavorite

        public java.lang.String searchFavorite(int start,
                                               java.lang.String search)
        Метод используется для поиска избранных реестров

        URL: rest/api/registry/search_favorite
        Тип GET
        Parameters:
        start - позиция с которой начинается поиск (для первого поиска передавать не надо)
        search - строка поиска
        Returns:
        json вида {"position" : "3"}, где position - позиция найденного элемента. если ничего не нашлось - position будет равен -1
      • setBookmark

        public java.lang.String setBookmark(java.lang.String itemID,
                                            boolean bookmark,
                                            java.lang.String locale)
        Метод устанавливет реестр как "Избранный", либо наоборот

        URL: rest/api/registry/set_bookmark
        Тип GET
        Parameters:
        itemID - itemID пункта
        bookmark - сделать пункт "избранным" - true, убрать "избранность" - false
        locale - локаль
        Returns:

        В случае неуспешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке
      • getRoute

        public java.lang.String getRoute(java.lang.String registryID,
                                         java.lang.String registryCode,
                                         java.lang.String type,
                                         java.lang.String locale)
      • startRoute

        public java.lang.String startRoute(java.lang.String registryID,
                                           java.lang.String documentID,
                                           java.lang.String subject,
                                           java.lang.String dataUUID,
                                           java.lang.String data,
                                           java.lang.String type,
                                           java.lang.String locale)
        Метод запускает маршрут

        >URL: rest/api/registry/route/start
        Тип POST
        Parameters:
        registryID - идентификатор реестра
        documentID - идентификатор документа
        subject - имя документа
        dataUUID - идентификатор данных по форме
        data - данные о маршруте (см. ниже)
        type - тип события (ACTIVATE - активация, CHANGE - изменение, DELETE - удаление)
        locale - локаль
        Returns:

        В случае неуспешного выполнения возвращается json с полями:
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке
        В случае успешного выполнения возвращается идентификатор созданного дерева процессов
        Строка data должна выглядеть следующим образом:
            {
            "before": {
            "routeID": "cf9f8a9a-1ccc-4327-b829-a71e472d393e",
            "items": [
            {
            "itemID": "7b097e72-e303-487f-83a1-cb76397abd57",
            "code": "",
            "users": [
            {
            "name": "1",
            "itemID": "7b097e72-e303-487f-83a1-cb76397abd57",
            "typeID": "ASSIGNMENT_ITEM",
            "userID": "ecb06f77-7ad7-4f54-9479-18fe932be337",
            "length": "8.0",
            "lengthType": "HOURS",
            "workloadValue": "50.0",
            "workLoadType": "PERCENT",
            "returnNumber": "",
            "completionFormID": "",
            "completionFormCode": ""
            },
            {
            "name": "2",
            "itemID": "7b097e72-e303-487f-83a1-cb76397abd57",
            "typeID": "ASSIGNMENT_ITEM",
            "userID": "ecb06f77-7ad7-4f54-9479-18fe932be337",
            "length": "8.0",
            "lengthType": "HOURS",
            "workloadValue": "50.0",
            "workLoadType": "PERCENT",
            "returnNumber": "",
            "completionFormID": "",
            "completionFormCode": ""
            }
            ]
            },
            {
            "itemID": "dc890ecf-e340-4ada-b7e6-d6541486a599",
            "code": "",
            "users": [
            {
            "name": "3",
            "itemID": "dc890ecf-e340-4ada-b7e6-d6541486a599",
            "typeID": "AGREEMENT_ITEM",
            "userID": "ecb06f77-7ad7-4f54-9479-18fe932be337",
            "length": "8.0",
            "lengthType": "HOURS",
            "workloadValue": "50.0",
            "workLoadType": "PERCENT",
            "returnNumber": "",
            "completionFormID": "",
            "completionFormCode": ""
            },
            {
            "name": "4",
            "itemID": "dc890ecf-e340-4ada-b7e6-d6541486a599",
            "typeID": "AGREEMENT_ITEM",
            "userID": "ecb06f77-7ad7-4f54-9479-18fe932be337",
            "length": "8.0",
            "lengthType": "HOURS",
            "workloadValue": "50.0",
            "workLoadType": "PERCENT",
            "returnNumber": "",
            "completionFormID": "",
            "completionFormCode": ""
            }
            ]
            }
            ]
            },
            "after": {
            "routeID": "",
            "items": []
            }
            }
            Где:
            before - описание предварительных этапов
            after - описание последующих этапов
            Каждое из этих полей, в свою, очередь состоит из:
            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 - маршрут
            userID - ответственный за подэтап
            length - значение длительности подэтапа
            lengthType - тип длительности, один из следующих вариантов:
            HOURS - длительность в рабочих часах
            DAYS - длителность в рабочих днях
            DATE - дата завершения в формате `yyyy-MM-dd`;
            workloadValue - значение нагрузки подэтапа
            workLoadType - тип нагрузки, один из следующих вариантов:
            PERCENT - % рабочего времени
            HOURS_A_DAY - количество часов в день
            HOURS - общее количество рабочих часов
            DAYS - общее количество рабочих дней
            returnNumber - номер этапа возврата
            completionFormID - UUID формы завершения при наличии, либо пусто ( можно указывать либо данный параметр либо параметр completionFormCode, при этом если передаются оба поля, то completionFormCode в приоритете)
            completionFormCode - код формы завершения при наличии, либо пусто ( можно указывать либо данный параметр либо параметр completionFormID, при этом если передаются оба поля, то completionFormCode в приоритете)
            routeID - UUID маршрута (актуален только для типа "Маршрут")
            
        See Also:
        RegistryConsts.ACTIVATE, RegistryConsts.CHANGE, RegistryConsts.DELETE
      • getUserID

        public java.lang.String getUserID()
      • getRegistryData

        public Response getRegistryData(java.lang.String registryID,
                                        java.lang.String registryCode,
                                        java.lang.String user,
                                        java.lang.String filterID,
                                        java.lang.String filterCode,
                                        java.lang.String searchString,
                                        int pageNumber,
                                        int countInPart,
                                        java.lang.String sortCmpID,
                                        boolean sortDesc)
        Получение записей реестра
        Parameters:
        registryID - ид реестра
        registryCode - код реестра (можно не указывать если указан идентификатор)
        filterID - ID фильтра (не обязательное). Если параметр не указан, то выполняется поиск по всему реестру.
        filterCode - код фильтра (не обязательное, если указан filterID).
        user - пользователь, получающий записи реестра (Параметр user не может быть использован)
        searchString - строка поиска записей реестра
        pageNumber - номер страницы
        countInPart - количество записей на странице
        sortCmpID - идентификатор столбца(компонента) по которому будет происходить сортировка
        sortDesc - обратная сортировка, работает всвязке с sortCmpID
        Returns:
        json с записями реестра
      • countRegistryData

        public Response countRegistryData(java.lang.String registryID,
                                          java.lang.String registryCode,
                                          java.lang.String filterID,
                                          java.lang.String filterCode,
                                          java.lang.String searchString,
                                          int pageNumber,
                                          int countInPart,
                                          java.lang.String locale,
                                          java.lang.String sortCmpID,
                                          boolean sortDesc,
                                          java.lang.String andCombineGroup,
                                          boolean loadData,
                                          boolean searchByTerm,
                                          java.util.List<java.lang.String> statuses,
                                          java.util.List<java.lang.String> fields)
        ЕСЛИ ЗАПРОС ПРЕВЫШАЕТ 2048 СИМВОЛОВ - НУЖНО ИСПОЛЬЗОВАТЬ АНАЛОГИЧНЫЙ POST МЕТОД Api позволяет выполнять операции сложения, среднего арифметического, минимального и максимального числа по записям реестра. Большинство параметров совпадают с api /registry/data_ext Параметры: fieldCode - код поля, обязательно числового, countType - тип операции. Может принимать значения: sum, min, max, avg Если операцию нужно выполнить над несколькими полями, передавать их следует с числовым индексом: fieldCode=код&countType=операция&fieldCode1=код_следующего_поля&countType1=операция_над этим полем и т.д. Все поля, которые записаны в fieldCode, необходимо передать в параметр fields через запятую. Api возвращает агрегированные данные в формате "application/json; charset=utf-8".
        Parameters:
        registryID - - id реестра
        registryCode - - код реестра
        filterID - - id фильтра
        filterCode - - код фильтра
        searchString - - поисковая строка
        pageNumber - - номер страницы
        countInPart - - количество данных за раз
        locale - - локаль
        sortCmpID -
        sortDesc -
        andCombineGroup -
        loadData -
        statuses -
        fields - - все поля, которые записаны в fieldCode, необходимо передать в параметр fields через запятую. Для каждого fieldCode должен быть свой countType. Если нужно считать по нескольким полям формы, сделать: ?fieldCode=[field_code]&countType=[countType]&fieldCode1=[field_code1]&countType1=[countType1]&....2..3 и т.д.
        Returns:
      • countRegistryDataPost

        public Response countRegistryDataPost(java.lang.String registryID,
                                              java.lang.String registryCode,
                                              java.lang.String filterID,
                                              java.lang.String filterCode,
                                              java.lang.String searchString,
                                              int pageNumber,
                                              int countInPart,
                                              java.lang.String locale,
                                              java.lang.String sortCmpID,
                                              boolean sortDesc,
                                              java.lang.String andCombineGroup,
                                              boolean loadData,
                                              boolean searchByTerm,
                                              java.util.List<java.lang.String> statuses,
                                              java.util.List<java.lang.String> fields)
        Api позволяет выполнять операции сложения, среднего арифметического, минимального и максимального числа по записям реестра. Большинство параметров совпадают с api /registry/data_ext Параметры: fieldCode - код поля, обязательно числового, countType - тип операции. Может принимать значения: sum, min, max, avg Если операцию нужно выполнить над несколькими полями, передавать их следует с числовым индексом: fieldCode=код&countType=операция&fieldCode1=код_следующего_поля&countType1=операция_над этим полем и т.д. Все поля, которые записаны в fieldCode, необходимо передать в параметр fields через запятую. Api возвращает агрегированные данные в формате "application/json; charset=utf-8". параметры передавать через x-www-form-urlencoded
        Parameters:
        registryID - - id реестра
        registryCode - - код реестра
        filterID - - id фильтра
        filterCode - - код фильтра
        searchString - - поисковая строка
        pageNumber - - номер страницы
        countInPart - - количество данных за раз
        locale - - локаль
        sortCmpID -
        sortDesc -
        andCombineGroup -
        loadData -
        statuses -
        fields - - все поля, которые записаны в fieldCode, необходимо передать в параметр fields через запятую. Для каждого fieldCode должен быть свой countType. Если нужно считать по нескольким полям формы, сделать: ?fieldCode=[field_code]&countType=[countType]&fieldCode1=[field_code1]&countType1=[countType1]&....2..3 и т.д.
        Returns:
      • getRegistryDataExt

        public Response getRegistryDataExt(java.lang.String registryID,
                                           java.lang.String registryCode,
                                           java.lang.String filterID,
                                           java.lang.String filterCode,
                                           java.lang.String searchString,
                                           int pageNumber,
                                           int countInPart,
                                           java.lang.String locale,
                                           java.lang.String sortCmpID,
                                           boolean sortDesc,
                                           java.lang.String andCombineGroup,
                                           boolean loadData,
                                           boolean searchByTerm,
                                           java.util.List<java.lang.String> statuses,
                                           java.util.List<java.lang.String> fields)
        расширенный метод получения записей реестра

        URL rest/api/registry/data_ext
        Method GET

        Параметры поиска включают:

        registryID - идентификатор реестра (можно не указывать, если указан код)
        registryCode - код реестра (можно не указывать если указан идентификатор)
        filterID - идентификатор фильтра (не обязательное). Если параметр не указан, то выполняется поиск по всему реестру
        filterCode - код фильтра (не обязательное, если указан filterID)
        searchString - поисковая строка
        pageNumber - номер отображаемой страницы (начиная с 0)
        countInPart - количество записей на странице
        locale - локаль
        sortCmpID - идентификатор компонента, по которому нужно производить сортировку (если отсутствует применяется сортировка по умолчанию для реестра)
        sortDesc - направление сортировки, true - сортировка по возрастанию, false - по убыванию
        groupTerm - тип склеивания групп условий (про них описано чуть позже), может принимать значения and, or. по умолчанию равен and
        loadData - поднимать ли или нет данные реестра, принимает значения true, false. по умолчанию true
        searchByTerm - полнотекстовый по отдельным терминам по пробелам (по умолчанию true, если false - ищет по полному вхождению подстроки)
        registryRecordStatus - условия на статусы поднимаемых записей, одно из следующих значений ["STATE_SUCCESSFUL", "STATE_NOT_FINISHED", "NO_ROUTE", "STATE_UNSUCCESSFUL"], можно передавать вот так registryRecordStatus=NO_ROUTE&registryRecordStatus=STATE_NOT_FINISHED
        fields - ID компонентов формы, значения которых нужно возвращать для каждой записи реестра, можно передавать вот так fields=text1&fields=text2&fields=number1


        Группы условий
        При необходимости отфильтровать записи реестра с учетом нескольких условий, можно воспользоваться группами
        Каждая группа включает в себя следующий набор полей:

        field идентификатор поля (может быть передано несколько значений)
        condition код условия (может быть передано несколько значений, количество переданных значений должно быть равно количеству переданных значений параметра field)


        • MORE - больше (для чисел, дат)

        • MORE_OR_EQUALS - больше или равно (для чисел, дат)

        • LESS - меньше (для чисел, дат)

        • LESS_OR_EQUALS - меньше или равно (для чисел, дат)

        • EQUALS - равно (для чисел, дат)

        • NOT_EQUALS - не равно (для чисел, дат)

        • CONTAINS - одно из выбранных в компоненте значений равно переданному параметру (используется для выпадающих списков, переключателей вариантов, выборе вариантов)

        • NOT_CONTAINS - ни одно из выбранных в компоненте значений не равно переданному параметры (используется для выпадающих списков, переключателей вариантов, выборе вариантов)

        • START - строка начинается с переданного параметра

        • NOT_START - строка не начинается с переданного параметра

        • NOT_END - строка не заканчивается на переданный параметр

        • END - строка заканчивается на переданный параметр

        • TEXT_NOT_EQUALS - строка не равна

        • TEXT_EQUALS - строка равна


        value поиск по полю value (может быть передано несколько значений, количество переданных значений должно быть равно количеству переданных значений параметра field)
        key поиск по полю key (может быть передано несколько значений, количество переданных значений должно быть равно количеству переданных значений параметра field)
        term тип склеивания условий внутри группы, если условий передано несколько, принимает значения and, or. по умолчанию равен and

        в каждой группе можно указывать только key или только value

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

        Для дат в значении надо передавать unix timestamp в миллисекундах.

        Примеры

        rest/api/registry/data_ext?registryID=0454848c-683d-40bb-8d92-729341823dcf&pageNumber=0&countInPart=15&loadData=true&field=numberField1&condition=MORE&key=200&field=listBox&condition=CONTAINS&key=1&term=and
        в данном случае поднимутся все записи реестра, в которых значение числового поля numberField1 > 200 и значение компонента listBox = 1

        rest/api/registry/data_ext?registryID=0454848c-683d-40bb-8d92-729341823dcf&pageNumber=0&countInPart=15&loadData=true&field=numberField1&condition=MORE&key=200&field=listBox&condition=CONTAINS&key=1&term=or
        в данном случае поднимутся все записи реестра, в которых значение числового поля numberField1 > 200 или значение компонента listBox = 1

        rest/api/registry/data_ext?registryID=0454848c-683d-40bb-8d92-729341823dcf&pageNumber=0&countInPart=15&loadData=true&field=numberField1&condition=MORE&key=200&field=listBox&condition=CONTAINS&key=1&term=or
        в данном случае поднимутся все записи реестра, в которых значение числового поля numberField1 > 200 или значение компонента listBox = 1

        rest/api/registry/data_ext?registryID=0454848c-683d-40bb-8d92-729341823dcf&pageNumber=0&countInPart=15&loadData=true&groupTerm=or&field=numberField1&condition=MORE&key=200&field=listBox&condition=CONTAINS&key=1&term=and&field1=numberField1&condition1=LESS&key1=30
        в данном случае поднимутся все записи реестра, в которых (значение числового поля numberField1 > 200 и значение компонента listBox = 1) ЛИБО (значение числового поля numberField1 < 30)


        Возвращаемые параметры
        Тип возвращаемого объекта зависит от параметра loadData
        loadData=true, то возврается объект типа
            {
                "result": [
                    {
                        "registryID": "идентификатор реестра",
                        "dataUUID": "идентификатор данных по форме",
                        "documentID": "идентификатор документа",
                        "fieldValue": {
                            "textbox": "текстовое значение поля textbox",
                            "cmp-3hnrdp": "текстовое значение поля cmp-3hnrdp",
                            ...
                        },
                        "fieldKey": {
                            "textbox": "ключ поля textbox",
                            "cmp-3hnrdp": "ключ поля cmp-3hnrdp",
                            ...
                        },
                        "status": "STATE_SUCCESSFUL",
                        "state": 2
                    },
                    ....
                ],
                "recordsCount": 31
             }

        поле status принимает следующие значения:
        STATE_SUCCESSFUL - запись активирована
        STATE_NOT_FINISHED - запись в процессе
        NO_ROUTE - запись не активирована
        STATE_UNSUCCESSFUL - запись не активирована



        loadData=false, то возврается объект типа
             {
                 "data": [
                     {
                         "dataUUID": "479c99d6-0271-4063-82b6-0277fc22e263",
                         "documentID": "ebcd6930-0222-11e6-9a58-3085a93a6496"
                     },
                     ...
                 ],
                 "count": 31
             }
         



      • getRegistryList

        public Response getRegistryList(java.lang.String regGroupID,
                                        java.lang.String locale)
        Получение списка доступных пользователю реестров

        URL rest/api/registry/list
        Method GET
        Метод возвращает группы реестров и реестры в виде дерева (в соответствии с навигатором), а также список прав пользователя на данные реестры. При этом те реестры, которые в навигаторе не отображаются, не должны возвращаться (реестры без права просмотра списка).

        Метод возвращает массив JSON, состоящий из следующих полей:

        для группы реестров:*

        - `regGroupID` - идентификатор группы реестров;

        - `regGroupName` - название группы реестров;

        - `consistOf` - массив, состоящий из групп реестров и реестров, входящих в данную группу;

        для реестра:*

        - `registryID` - идентификатор реестра

        - `registryName` - название реестра

        - `registryCode` - код реестра

        - `rights` - массив, состоящий из списка прав, которые присутствует у авторизованного пользователя на данный реестр. Может состоять из следующих строк:

        - `rr_create` - право на создание;

        - `rr_list` - право на просмотр списка;

        - `rr_read` - право просмотр данных;

        - `rr_edit` - право на редактирование;

        - `rr_modify` - право на изменение;

        - `rr_delete` - право на удаление;

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

        `rest/api/registry/list`

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


             [
             {
             "regGroupID": "8862e0fb-d334-462b-a8e8-e83b4f4e8f58",
             "regGroupName": "Сервисы ДРТ",
             "consistOf": [
             {
             "registryID": "c56b2970-d3d8-11e6-833d-001ef892a4ee",
             "registryName": "Feature Requests",
             "registryCode": "Feature_Requests",
             "rights": [
             "rr_create",
             "rr_list",
             "rr_read",
             "rr_edit",
             "rr_modify",
             "rr_delete"
             ]
             },
             {
             "registryID": "0112b29b-95ad-45fd-b5c3-317613b3ab46",
             "registryName": "Заявки в ДРТ",
             "registryCode": "Заявки_в_ДРТ",
             "rights": [
             "rr_create",
             "rr_list",
             "rr_read",
             "rr_edit"
             ]
             }
             ]
             },
             {
             "regGroupID": "4d8db8c0-d340-11e6-8212-001ef892a4ee",
             "regGroupName": "Приказы",
             "consistOf": [
             {
             "regGroupID": "77c72a08-9851-4963-b36c-bee7fcf39b8f",
             "regGroupName": "Приказы по отпускам",
             "consistOf": [
             {
             "registryID": "a6598ca6-ab62-4187-964e-576a2c7173fe",
             "registryName": "Приказ о трудовом отпуске",
             "registryCode": "prikaz_o_trudovom_otpuske",
             "rights": [
             "rr_create",
             "rr_list",
             "rr_read",
             "rr_edit",
             "rr_delete"
             ]
             }
             ]
             },
             {
             "regGroupID": "4cfb3cc0-d340-11e6-8212-001ef892a4ee",
             "regGroupName": "Приказы по приему на работу",
             "consistOf": [
             {
             "registryID": "032af000-d30d-11e6-833d-001ef892a4e",
             "registryName": "Приказ о приеме на работу (ЦА)",
             "registryCode": "prikaz_o_prieme_na_rabotu_CA",
             "rights": [
             "rr_create",
             "rr_list",
             "rr_read"
             ]
             }
             ]
             }
             ]
             },
             {
             "registryID": "ba9e43e4-3a95-474a-90a4-36ba79a7d9f9",
             "registryName": "Уведомление о сроках итерации",
             "registryCode": "uvedomlenie_o_srokah_iteracii",
             "rights": [
             "rr_list",
             "rr_read"
             ]
             }
             ]
        

      • getRegistryDataExtPost

        public Response getRegistryDataExtPost(java.lang.String registryID,
                                               java.lang.String registryCode,
                                               java.lang.String filterID,
                                               java.lang.String filterCode,
                                               java.lang.String searchString,
                                               int pageNumber,
                                               int countInPart,
                                               java.lang.String locale,
                                               java.lang.String sortCmpID,
                                               boolean sortDesc,
                                               java.lang.String andCombineGroup,
                                               boolean loadData,
                                               boolean searchByTerm,
                                               java.util.List<java.lang.String> statuses,
                                               java.util.List<java.lang.String> fields)
        расширенный метод получения записей реестра

        URL rest/api/registry/data_ext_post
        Method POST

        Параметры поиска включают:

        registryID - идентификатор реестра (можно не указывать, если указан код)
        registryCode - код реестра (можно не указывать если указан идентификатор)
        filterID - идентификатор фильтра (не обязательное). Если параметр не указан, то выполняется поиск по всему реестру
        filterCode - код фильтра (не обязательное, если указан filterID)
        searchString - поисковая строка
        pageNumber - номер отображаемой страницы (начиная с 0)
        countInPart - количество записей на странице
        locale - локаль
        sortCmpID - идентификатор компонента, по которому нужно производить сортировку (если отсутствует применяется сортировка по умолчанию для реестра)
        sortDesc - направление сортировки, true - сортировка по возрастанию, false - по убыванию
        groupTerm - тип склеивания групп условий (про них описано чуть позже), может принимать значения and, or. по умолчанию равен and
        loadData - поднимать ли или нет данные реестра, принимает значения true, false. по умолчанию true
        searchByTerm - полнотекстовый по отдельным терминам по пробелам (по умолчанию true, если false - ищет по полному вхождению подстроки)
        registryRecordStatus - условия на статусы поднимаемых записей, одно из следующих значений ["STATE_SUCCESSFUL", "STATE_NOT_FINISHED", "NO_ROUTE", "STATE_UNSUCCESSFUL"], можно передавать вот так registryRecordStatus=NO_ROUTE&registryRecordStatus=STATE_NOT_FINISHED
        fields - ID компонентов формы, значения которых нужно возвращать для каждой записи реестра, можно передавать вот так fields=text1&fields=text2&fields=number1


        Группы условий
        При необходимости отфильтровать записи реестра с учетом нескольких условий, можно воспользоваться группами
        Каждая группа включает в себя следующий набор полей:

        field идентификатор поля (может быть передано несколько значений)
        condition код условия (может быть передано несколько значений, количество переданных значений должно быть равно количеству переданных значений параметра field)


        • MORE - больше (для чисел, дат)

        • MORE_OR_EQUALS - больше или равно (для чисел, дат)

        • LESS - меньше (для чисел, дат)

        • LESS_OR_EQUALS - меньше или равно (для чисел, дат)

        • EQUALS - равно (для чисел, дат)

        • NOT_EQUALS - не равно (для чисел, дат)

        • CONTAINS - одно из выбранных в компоненте значений равно переданному параметру (используется для выпадающих списков, переключателей вариантов, выборе вариантов)

        • NOT_CONTAINS - ни одно из выбранных в компоненте значений не равно переданному параметры (используется для выпадающих списков, переключателей вариантов, выборе вариантов)

        • START - строка начинается с переданного параметра

        • NOT_START - строка не начинается с переданного параметра

        • NOT_END - строка не заканчивается на переданный параметр

        • END - строка заканчивается на переданный параметр

        • TEXT_NOT_EQUALS - строка не равна

        • TEXT_EQUALS - строка равна


        value поиск по полю value (может быть передано несколько значений, количество переданных значений должно быть равно количеству переданных значений параметра field)
        key поиск по полю key (может быть передано несколько значений, количество переданных значений должно быть равно количеству переданных значений параметра field)
        term тип склеивания условий внутри группы, если условий передано несколько, принимает значения and, or. по умолчанию равен and

        в каждой группе можно указывать только key или только value

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

        Для дат в значении надо передавать unix timestamp в миллисекундах.

        Примеры

        rest/api/registry/data_ext?registryID=0454848c-683d-40bb-8d92-729341823dcf&pageNumber=0&countInPart=15&loadData=true&field=numberField1&condition=MORE&key=200&field=listBox&condition=CONTAINS&key=1&term=and
        в данном случае поднимутся все записи реестра, в которых значение числового поля numberField1 > 200 и значение компонента listBox = 1

        rest/api/registry/data_ext?registryID=0454848c-683d-40bb-8d92-729341823dcf&pageNumber=0&countInPart=15&loadData=true&field=numberField1&condition=MORE&key=200&field=listBox&condition=CONTAINS&key=1&term=or
        в данном случае поднимутся все записи реестра, в которых значение числового поля numberField1 > 200 или значение компонента listBox = 1

        rest/api/registry/data_ext?registryID=0454848c-683d-40bb-8d92-729341823dcf&pageNumber=0&countInPart=15&loadData=true&field=numberField1&condition=MORE&key=200&field=listBox&condition=CONTAINS&key=1&term=or
        в данном случае поднимутся все записи реестра, в которых значение числового поля numberField1 > 200 или значение компонента listBox = 1

        rest/api/registry/data_ext?registryID=0454848c-683d-40bb-8d92-729341823dcf&pageNumber=0&countInPart=15&loadData=true&groupTerm=or&field=numberField1&condition=MORE&key=200&field=listBox&condition=CONTAINS&key=1&term=and&field1=numberField1&condition1=LESS&key1=30
        в данном случае поднимутся все записи реестра, в которых (значение числового поля numberField1 > 200 и значение компонента listBox = 1) ЛИБО (значение числового поля numberField1 < 30)


        Возвращаемые параметры
        Тип возвращаемого объекта зависит от параметра loadData
        loadData=true, то возврается объект типа
             {
                 "result": [
                     {
                     "registryID": "идентификатор реестра",
                     "dataUUID": "идентификатор данных по форме",
                     "documentID": "идентификатор документа",
                     "fieldValue": {
                        "textbox": "текстовое значение поля textbox",
                        "cmp-3hnrdp": "текстовое значение поля cmp-3hnrdp",
                        ...
                     },
                     "fieldKey": {
                         "textbox": "ключ поля textbox",
                         "cmp-3hnrdp": "ключ поля cmp-3hnrdp",
                         ...
                     },
                     "status": "STATE_SUCCESSFUL",
                     "state": 2
                     },
                     ....
                 ],
                 "recordsCount": 31
             }

        поле status принимает следующие значения:
        STATE_SUCCESSFUL - запись активирована
        STATE_NOT_FINISHED - запись в процессе
        NO_ROUTE - запись не активирована
        STATE_UNSUCCESSFUL - запись не активирована



        loadData=false, то возврается объект типа
             {
                 "data": [
                     {
                         "dataUUID": "479c99d6-0271-4063-82b6-0277fc22e263",
                         "documentID": "ebcd6930-0222-11e6-9a58-3085a93a6496"
                     },
                     ...
                 ],
                 "count": 31
             }
         



      • getRegistry

        public java.lang.String getRegistry(java.lang.String registryID,
                                            java.lang.String code,
                                            java.lang.String user,
                                            java.lang.String locale)
        Получение данных о реестре

        URL rest/api/registry/info

        Parameters:
        registryID - ид реестра
        code - код реестра
        user - пользователь, получающий данные о реестре
        Returns:
        описание реестра в виде строки JSON
      • registriesSearch

        public java.lang.String registriesSearch(RegistryFileSearch searchParam)

        Поиск файлов в реестрах

        Тип: POST

        URL: rest/api/registry/files/search

        Parameters:
        searchParam - параметры поиска Все поля, кроме registries - не обязательные и не учитываются при ограничениях поиска. Список реестров не должен быть пуст и содержать идентификаторов, которые не являются идентификаторами реестров. Описание JSON:
        • registries - массив UUID реестров, по которым должен осуществляться поиск (обяз.)
        • contains - строка, которая должна содержаться в искомых файлах (не обяз.)
        • notContains - строка, которая не должна содержаться в искомых файлах (не обяз.)
        • sortType - тип сортировки файлов (не обяз., по умолчанию 0), одна из констант:
          • 0 - по релевантности
          • 1 - по дате
          • 2 - по популярности
        • modifiedFrom - начало периода последнего изменения в формате yyyy-MM-dd (не обяз.)
        • modifiedTo - завершение периода последнего изменения в формате yyyy-MM-dd (не обяз.)
        • metadata - массив объекто со свойствами, которыми должны обладать искомые файлы (не обяз.):
          • name - код свойства
          • value - значение свойства (для текстовых свойств)
          • values - массив из двух значений свойства (диапазон дат "от" и "до")
        • categories - массив идентификаторов классификаторов, которым должны принадлежать искомые файлы (не обяз.)
        • firstResult - номер первой записи для возвращаемых результатов выборки (не обяз., по умолчанию 0)
        • maxResult - количество записей, которые должны быть возвращены (не обяз., по умолчанию 30)
        • locale - локаль пользователя
        Пример:
        
         {
         "registries": ["7ce1feff-a3f0-4f4e-8bf6-59e37caf553f", "7b953be8-bddb-4ce4-bbfd-ae9548f69c7f"],
         "contains": "Документ",
         "notContains": "Работа",
         "sortType": 2,
         "modifiedFrom": "2016-01-01",
         "modifiedTo": "2016-01-31",
         "metadata": [
         {
         "name": "subject",
         "value": "Тема"
         },
         {
         "name": "date",
         "values": ["2015-01-01", "2015-01-31"]
         },
         {
         "name": "language",
         "value": "Русский"
         }
         ],
         "categories": [1, 2, 3],
         "firstResult": 1,
         "maxResult": 3
         }
         
        Returns:
        JSON объект результата Описание JSON результата:
        • count - общее количество найденных записей
        • list - список найденных файлов
          • identifier - идентификатор файла
          • documentID - идентификатор документа, которому файл принадлежит
          • uuid - идентификатор данных по форме основной формы записи реестра
          • aiType - тип файла
          • name - название файла
          • path - путь к файлу
          • iconUrl - ссылка до иконки файла
        Пример:
         {
         "count": 10,
         "list": [
         {
         "identifier": "3a170735-4fa3-4e2b-87ae-f346ace3487f",
         "documentID": "0f3a99ac-a712-40ea-98fe-3642af96b860",
         "uuid": "e871ad70-2c87-11e6-b39a-d238769c712c",
         "ai_type": "ai_image",
         "name": "Успешное проведение презентации.jpg",
         "path": "Хранилище/Успешное проведение презентации.jpg",
         "iconUrl": "rest/api/storage/icons/get?aiType=ai_image&fileName=Успешное проведение презентации.jpg"
         },
         {
         "identifier": "bd523ca2-a2f5-4a8b-ace5-26b300628e32",
         "documentID": "212af63f-597b-41a8-bbaf-6987d84651ac",
         "uuid": "e871ad70-2c87-11e6-b39a-d238769c712c",
         "ai_type": "ai_text",
         "name": "Стратегическое планирование.doc",
         "path": "Хранилище/Стратегическое планирование.doc",
         "iconUrl": "rest/api/storage/icons/get?aiType=ai_text&fileName=Стратегическое планирование.doc"
         },
         {
         "identifier": "d9fed65d-600f-4eae-bba8-78cbee46bc57",
         "documentID": "5156cafe-8fd4-4e39-bb56-4014f42353a5",
         "uuid": "1825899d-d7a5-4c0d-b42e-882a2ab0c3d0",
         "ai_type": "ai_text",
         "name": "Отраслевая программа.pdf",
         "path": "Хранилище/Отраслевая программа.pdf",
         "iconUrl": "rest/api/storage/icons/get?aiType=ai_text&fileName=Отраслевая программа.pdf"
         },
         {
         "identifier": "dfsdf4546-600f-4eae-bba8-78cbee46bc57",
         "documentID": "tfghfgh-545f-5fgg-hngfh-545c4f42353a5",
         "uuid": "1855899d-d7a5-4c9d-b56e-998a2ab0c3c2",
         "aiType": "ai_text",
         "name": "Общая программа.pdf",
         "path": "Хранилище/Общая программа.pdf",
         "iconUrl": "rest/api/storage/icons/get?aiType=ai_text&fileName=Общая программа.pdf"
         }
         ]
         }
         
      • getRegistryFilters

        public Response getRegistryFilters(java.lang.String registryID,
                                           java.lang.String registryCode,
                                           java.lang.String type,
                                           java.lang.String locale,
                                           java.lang.String getIcon)

        Получение фильтров реестра вместе с правами авторизованного пользователя и условиями фильтра

        Тип: GET

        URL: rest/api/registry/filters

        Parameters:
        registryID - ID реестра
        registryCode - код реестра
        type - требуемые типы фильтров (не обязательное). Может принимать значения:
        • all - все фильтры (значение по умолчанию);
        • user - пользовательские;
        • service - централизованные;
        Если в параметре передано другое значение, оно обрабатывается как all.
        locale - код локали
        getIcon - возвращать иконку фильтра. По умолчанию принимает значение true.
        Returns:
        Возвращает дерево фильтров вместе с их условиями и правами пользователя, отправившего запрос, в формате JSON.
      • deleteUserFilter

        public Response deleteUserFilter(java.lang.String filterID,
                                         java.lang.String locale)
      • deleteCentralFilter

        public Response deleteCentralFilter(java.lang.String registryCode,
                                            java.lang.String filterCode,
                                            java.lang.String locale)
      • saveOrEditCentralFilter

        public Response saveOrEditCentralFilter(RegistryCentralFilterDTO registryCentralFilterDTO,
                                                java.lang.String locale)
      • getFilterTree

        public java.util.List<RegistryFilterJson> getFilterTree(java.lang.String parentID,
                                                                java.util.List<RegisterFilter> filters,
                                                                java.lang.String locale,
                                                                boolean loadIcon)
      • parseMetaItem

        public <any> parseMetaItem(<any> metaItem,
                                   DateFormat fm)
      • getRegistryCollations

        public Response getRegistryCollations(java.lang.String registryCode,
                                              java.lang.String collatedRegistryCode)

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

        URL: rest/api/registry/collation_info

        Тип: GET

        Parameters:
        registry_code - код реестра, из которого производится сопоставление
        collated_registry_code - код реестра, в который производится сопоставление
        Returns:
        Возвращает массив объектов с таким содержанием: id сопоставления, массив объектов-полей с настройками сопоставления
kz.arta.synergy.api.rest.translation

Class TranslationService

  • java.lang.Object
    • kz.arta.synergy.api.rest.translation.TranslationService
  • All Implemented Interfaces:
    TranslationServiceIF


    public class TranslationService
    extends java.lang.Object
    implements TranslationServiceIF
    User: Mikhail Milyutin Date: 14.12.15. Time: 11:49. Сервисы для работы с языковыми настройками (Переводы, Языки)
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String getLocale() 
      java.lang.Integer getSearchObjectsSize(java.lang.String localeID, java.lang.String searchString, int entityType, boolean notTranslated)
      Получение размера возвращаемого результата при поиске
      java.util.List<SynergyLocale> getSynergyLocales(boolean visible)
      Получение языков находящихся в Synergy
      EntityTranslation getTranslations(long translationID)
      Получение переводов по id перевода
      Translation getTranslationSize(int entityType, boolean notTranslated)
      Получение количества записей при запросе ресурсов
      java.lang.Boolean removeTranslations(long translationID)
      Удаление перевода сущности
      java.lang.Boolean saveLocales(java.util.List<SynergyLocale> locales)
      Сохранение локалей
      java.lang.Boolean saveResourceTranslations(java.util.List<TranslationObject> translations)
      Сохранение переводов сущностей и переводов сообшений, используется в редакторе ресурсов
      java.lang.Long saveTranslations(EntityTranslation entityTranslation)
      Сохранение переводов
      java.util.List<TranslationObject> searchObjects(java.lang.String localeID, java.lang.String searchString, int start, int length, int entityType, boolean notTranslated)
      Поиск объектов соответствующий запросу частями
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TranslationService

        public TranslationService()
    • Method Detail

      • getSynergyLocales

        public java.util.List<SynergyLocale> getSynergyLocales(boolean visible)
        Description copied from interface: TranslationServiceIF
        Получение языков находящихся в Synergy
        Specified by:
        getSynergyLocales in interface TranslationServiceIF
        Parameters:
        visible - - только видимые
      • saveLocales

        public java.lang.Boolean saveLocales(java.util.List<SynergyLocale> locales)
        Description copied from interface: TranslationServiceIF
        Сохранение локалей
        Specified by:
        saveLocales in interface TranslationServiceIF
        Parameters:
        locales - - список локалей
      • getTranslations

        public EntityTranslation getTranslations(long translationID)
        Description copied from interface: TranslationServiceIF
        Получение переводов по id перевода
        Specified by:
        getTranslations in interface TranslationServiceIF
        Parameters:
        translationID - - id перевода
      • saveTranslations

        public java.lang.Long saveTranslations(EntityTranslation entityTranslation)
        Description copied from interface: TranslationServiceIF
        Сохранение переводов
        Specified by:
        saveTranslations in interface TranslationServiceIF
        Parameters:
        entityTranslation - - переводы
      • getTranslationSize

        public Translation getTranslationSize(int entityType,
                                              boolean notTranslated)
        Description copied from interface: TranslationServiceIF
        Получение количества записей при запросе ресурсов
        Specified by:
        getTranslationSize in interface TranslationServiceIF
      • removeTranslations

        public java.lang.Boolean removeTranslations(long translationID)
        Description copied from interface: TranslationServiceIF
        Удаление перевода сущности
        Specified by:
        removeTranslations in interface TranslationServiceIF
        Parameters:
        translationID - - id перевода
      • saveResourceTranslations

        public java.lang.Boolean saveResourceTranslations(java.util.List<TranslationObject> translations)
        Description copied from interface: TranslationServiceIF
        Сохранение переводов сущностей и переводов сообшений, используется в редакторе ресурсов
        Specified by:
        saveResourceTranslations in interface TranslationServiceIF
        Parameters:
        translations - - список объектов с переводами
      • searchObjects

        public java.util.List<TranslationObject> searchObjects(java.lang.String localeID,
                                                               java.lang.String searchString,
                                                               int start,
                                                               int length,
                                                               int entityType,
                                                               boolean notTranslated)
        Description copied from interface: TranslationServiceIF
        Поиск объектов соответствующий запросу частями
        Specified by:
        searchObjects in interface TranslationServiceIF
        Parameters:
        localeID - - локаль
        searchString - - строка поиска, может быть пустой, тогда будет выборка из всех, нужно для выборки по типу и непереведенности
        start - - откуда начинать выбирать
        length - - сколько выбрать
        entityType - - тип сущности
        notTranslated - - выбирать только не переведенные
      • getSearchObjectsSize

        public java.lang.Integer getSearchObjectsSize(java.lang.String localeID,
                                                      java.lang.String searchString,
                                                      int entityType,
                                                      boolean notTranslated)
        Description copied from interface: TranslationServiceIF
        Получение размера возвращаемого результата при поиске
        Specified by:
        getSearchObjectsSize in interface TranslationServiceIF
        Parameters:
        localeID - - локаль
        searchString - - строка поиска, может быть пустой, тогда будет выборка из всех, нужно для выборки по типу и непереведенности
        entityType - - тип сущности
        notTranslated - - выбирать только не переведенные
      • getLocale

        public java.lang.String getLocale()
kz.arta.synergy.api.rest.userchooser

Class UserChooserService

  • java.lang.Object
    • kz.arta.synergy.api.rest.userchooser.UserChooserService


  • public class UserChooserService
    extends java.lang.Object
    Created with IntelliJ IDEA. User: topa Date: 30.06.13 Time: 21:49 To change this template use File | Settings | File Templates.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response addOftenChosenUsers(java.util.List<java.lang.String> users)
      метод сохраняет последних выбранных пользователей для пользователя
      url: /rest/api/userchooser/addOftenUsers
      method: GET
      Parameters:
      userID - идентификатор пользователя (может повторяться)

      Возвращает json c полями errorCode, errorMessage, где
      - errorCode код ошибки (0, если ошибки нет)
      - errorMessage расшифровка ошибки (пустая строка, если ошибки нет)

      если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      Response checkDepartments(int pageNumber, int countInPart, java.lang.String departmentID, java.lang.String filterDepartmentID, java.lang.String filterChildDepartmentID, java.lang.String filterPositionID, java.lang.String search, boolean showChildDepartments, java.lang.String filterHrUser, java.util.List<java.lang.String> valuesToCheck, java.lang.String filterUserID, java.lang.String locale)
      проверка подходят ли переданные департаменты под указанные параметры поиска url: /rest/api/userchooser/checkDepartments method : GET
      startRecord - по умолчанию 0
      recordsCount - по умолчанию 30
      locale - локаль
      departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
      search параметр текстового поиска
      customFields не используется
      filterDepartmentID идентификатор непосредственного родительского подразделения
      filterChildDepartmentID идентификатор непосредственного родительского подразделения
      filterPositionID идентификатор непосредственного родительского подразделения
      filterUserID идентификатор пользователя чьи должности необходимо показать
      valuesToCheck проверяемые значения идентификаторов передается как valuesToCheck=identifier1&valuesToCheck=identifier2
      Response checkPositions(int startRecord, int recordsCount, boolean showAll, boolean showOnlyVacant, java.lang.String locale, java.lang.String userID, java.lang.Integer operationType, java.lang.String search, java.lang.String departmentID, java.lang.String filterDepartmentID, java.lang.String filterUserID, java.util.List<java.lang.String> valuesToCheck)
      проверка подходят ли переданные должности под переданные параметры выборки
      Response checkUsers(java.lang.String locale, boolean showAll, int levelsCount, int groupID, java.lang.String search, java.lang.Integer operationType, java.lang.Integer ownerOperationType, java.lang.String departmentID, java.lang.String userID, java.lang.String showNoPosition, java.lang.String filterPositionID, java.lang.String filterDepartmentID, java.lang.String positionType, java.util.List<java.lang.String> usersToCheck)
      проверка подходят ли данные пользователи под указанные параметры
      url: /rest/api/userchooser/search_ext
      method : GET
      locale локаль пользователя
      showAll Если значение переменной стоит true, то должны быть отображены не только подчиненные но и все пользователи
      levelsCount Количество уровней "вниз" по оргструктуре от данного пользователя
      groupID идентификатор группы.
      Response getAllPositions(int startRecord, int recordsCount, boolean showOnlyVacant, java.lang.String locale, java.lang.String userID, java.lang.String search, java.lang.String departmentID, java.lang.String filterDepartmentID, java.lang.String filterUserID)
      получение списка должностей url: /rest/api/userchooser/search_all_positions method : GET
      startRecord - по умолчанию 0
      recordsCount - по умолчанию 30
      locale - локаль
      departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
      search параметр текстового поиска
      showOnlyVacant - false по умолчанию, отображать только вакантные должности
      actorID пользователь от имени которого выполнять поиск
      filterDepartmentID идентификатор непосредственного родительского подразделения
      filterUserID идентификатор пользователя чьи должности необходимо показать
      Response getDepartments(int pageNumber, int countInPart, java.lang.String departmentID, java.lang.String filterDepartmentID, java.lang.String filterChildDepartmentID, java.lang.String filterPositionID, java.lang.String search, boolean showChildDepartments, java.lang.String filterHrUser, java.lang.String filterUserID, java.lang.String locale)
      получение списка департаментов url: /rest/api/userchooser/search_dept method : GET Параметры:
      locale - локаль
      departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
      filterDepartmentID идентификатор непосредственного родительского подразделения
      filterChildDepartmentID идентификатор непосредственного родительского подразделения
      filterPositionID идентификатор непосредственного родительского подразделения
      search параметр текстового поиска
      Описание ответа:
      массив найденных должностей
      поля возвращаемой сущности
      departmentId -идентификатор департамента
      departmentName наименование
      hasChildren имеются ли дочерние подразделения
      parentName наименование родительского департамента

      если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      Response getDepartments(java.util.List<java.lang.String> departmentIDs, java.lang.String locale)
      получение информации о должностях
      url: /rest/api/userchooser/getUserInfo
      method : GET
      Response getOftenChosenUsers(int startRecord, int recordsCount, java.lang.String locale, boolean showAll, java.lang.String search, java.lang.Integer operationType, java.lang.Integer ownerOperationType, java.lang.String filterPositionID, java.lang.String filterDepartmentID, java.lang.Integer positionType, java.util.List<java.lang.String> customFields, java.lang.String userNameDisplayType)
      получение списка часто выбираемых пользователей пользователей url: /rest/api/userchooser/getOftenChosenUsers method : GET
      startRecord C какой записи поднимать пользователей
      recordsCount Какое кол-во записей поднимать
      locale локаль пользователя
      showAll Если значение переменной стоит true, то должны быть отображены не только подчиненные но и все пользователи
      search Строка поиска
      operationType Тип действия Если данный параметр задан, то список пользователей будет подгружаться не только от имени actorID, но и от имени тех пользователей, которые делегировали ему право на operationType
      ownerOperationType Если данный параметр задан, то список пользователей в выборке ограничивается теми пользователями, которые делегировали actorID право на ownerOperationType и самим actorID
      filterPositionID UUID должности - фильтра.
      Response getOftenPositions(int startRecord, int recordsCount, boolean showAll, boolean showOnlyVacant, java.lang.String locale, java.lang.String userID, java.lang.Integer operationType, java.lang.String search, java.lang.String departmentID, java.lang.String filterDepartmentID, java.lang.String filterUserID, java.util.List<java.lang.String> customFields)
      получение списка часто выбираемых должностей
      url: /rest/api/userchooser/getOftenChosenPositions
      method : GET
      startRecord - по умолчанию 0
      recordsCount - по умолчанию 30
      showAll - false по умолчанию; отображать все должности (false - отображать подчиненные должности)
      showOnlyVacant - false по умолчанию, отображать только вакантные должности
      locale - локаль
      userID пользователь от имени которого выполнять поиск
      operationType - тип операции для получения пользователей которые делегировали права пользователю (по ним определяется максимальный уровень иерархии верх который нужно отображать и подчиненные должности)
      search параметр текстового поиска
      departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
      filterDepartmentID идентификатор непосредственного родительского подразделения
      filterUserID идентификатор пользователя чьи должности необходимо показать
      customField не используется
      Response getPositions(int startRecord, int recordsCount, boolean showAll, boolean showOnlyVacant, java.lang.String locale, java.lang.String userID, java.lang.Integer operationType, java.lang.String search, java.lang.String departmentID, java.lang.String filterDepartmentID, java.lang.String filterUserID, java.util.List<java.lang.String> customFields)
      получение списка должностей url: /rest/api/userchooser/search_pos
      startRecord - по умолчанию 0
      recordsCount - по умолчанию 30
      locale - локаль
      departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
      search параметр текстового поиска
      showAll - false по умолчанию; отображать все должности (false - отображать подчиненные должности)
      showOnlyVacant - false по умолчанию, отображать только вакантные должности
      operationType - тип операции для получения пользователей которые делегировали права пользователю (по ним определяется максимальный уровень иерархии верх который нужно отображать и подчиненные должности)
      mode - по умолчанию 0(COMMON_MODE).
      Response getPositions(java.util.List<java.lang.String> positionIDs, java.lang.String locale)
      получение информации о должностях
      url: /rest/api/userchooser/getUserInfo
      method : GET
      Response getUserCalendarStatus(java.lang.String userID, java.lang.String date, java.lang.String locale)

      url: /rest/api/userchooser/getUserCalendarStatus
      method : GET
      userID идентификатор пользователя чьи статусы нам необходимо получить
      date дата в формате yyy-MM-dd
      locale локаль Пример запроса:

      `rest/api/userchooser/getUserCalendarStatus?

      java.lang.String getUserID() 
      java.lang.String getUsers(int startRecord, int recordsCount, java.lang.String locale, boolean showAll, int levelsCount, int groupID, java.lang.String groupCode, java.lang.String search, java.lang.Integer operationType, java.lang.Integer ownerOperationType, java.lang.String departmentID, java.lang.String userID)
      Метод выполняет поиск пользователей

      URL rest/api/userchooser/search
      Method GET

      Для каждого пользователя возвращаются следующие данные
      userID - идентификатор пользователя
      name - имя пользователя в формате Фамилия И.О.

      Response getUsers(java.util.List<java.lang.String> userIDs, java.lang.String locale)
      получение информации о пользователях (группах, контактах)
      url: /rest/api/userchooser/getUserInfo
      method : GET Описание ответа: массив объектов с информацией о пользователях
      departmentName наименование департамента
      firstname имя
      lastname фамилия
      patronymic отчество
      personID идентификатор пользователя
      personName имя пользователя
      positionName наименование должности
      customFields - свойства элемента, зависят от типа элемента (смотрите пункт про определение типа сущности по идентификатору)

      Определение типа сущности по идентификатору и доп поля этой сущности
      если userID начинается
      "g-" - группа (type - groupId, id - идентификатор группы, code - код группы)
      "contact-" - контакт (contactType - организация или человек, email - почта если есть, id - идентификатор контакта, type - contact, calendarColor - цвет статуса, calendarStatusLabel - подпись статуса)
      "text-" - текст (type - text, text - true, calendarColor - цвет статуса, calendarStatusLabel - подпись статуса)
      иначе пользователь( type - person, id идентификатор пользователя, calendarType - тип календарного статуса, calendarStatus - статус, calendarColor - цвет статуса, calendarTitle - название статуса, calendarStatusLabel - подпись в чузере статуса, calendarStartDate - дата начала, calendarFinishDate - дата завершения

      если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      Response getUsersCalendarStatus(java.util.List<java.lang.String> users, java.lang.String date, java.lang.String locale)

      url: /rest/api/userchooser/getUsersCalendarStatus
      method : GET Пример ответа: { "4bd1ef2e-3271-4dd3-ac67-9a8017abe1f4": { "type": 1, "status": "free", "color": "#fecebe", "title": "ОТПУСК!!!"
      Response getUsersExt(int startRecord, int recordsCount, java.lang.String locale, boolean showAll, int levelsCount, int groupID, java.lang.String groupCode, java.lang.String search, java.lang.Integer operationType, java.lang.Integer ownerOperationType, java.lang.String departmentID, java.lang.String userID, java.lang.String showNoPosition, java.lang.String filterPositionID, java.lang.String filterDepartmentID, java.lang.String positionType, java.util.List<java.lang.String> customFields, java.lang.String userNameDisplayType, boolean showEmailContacts, boolean showGroups)
      получение списка пользователей
      url: /rest/api/userchooser/search_ext
      method : GET
      startRecord C какой записи поднимать пользователей
      recordsCount Какое кол-во записей поднимать
      locale локаль пользователя
      showAll Если значение переменной стоит true, то должны быть отображены не только подчиненные но и все пользователи
      levelsCount Количество уровней "вниз" по оргструктуре от данного пользователя
      groupID идентификатор группы.
      Response getUserStatusInPeriod(java.lang.String start, java.lang.String finish, java.lang.String type, java.lang.String locale, int startRecord, int recordsCount, java.lang.String sortByDate)
      Апи получения пользователей с назначенным календарем Метод возвращает список пользователей, назначенный период которых полностью или
      частично попадает в указанный промежуток времени.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UserChooserService

        public UserChooserService()
    • Method Detail

      • getUsers

        public java.lang.String getUsers(int startRecord,
                                         int recordsCount,
                                         java.lang.String locale,
                                         boolean showAll,
                                         int levelsCount,
                                         int groupID,
                                         java.lang.String groupCode,
                                         java.lang.String search,
                                         java.lang.Integer operationType,
                                         java.lang.Integer ownerOperationType,
                                         java.lang.String departmentID,
                                         java.lang.String userID)

        Метод выполняет поиск пользователей

        URL rest/api/userchooser/search
        Method GET

        Для каждого пользователя возвращаются следующие данные
        userID - идентификатор пользователя
        name - имя пользователя в формате Фамилия И.О.
        position - название должности

        Примеры:
        Получение списка подчиненных пользователей

        rest/api/userchooser/search?showAll=false


        Получение списка всех пользователей (подчиненных и не подчиненных)

        rest/api/userchooser/search?showAll=true


        Получение списка всех пользователей, подчиненных user1

        rest/api/userchooser/search?showAll=true&userID=user1


        Получение списка всех пользователей (подчиненных и не подчиненных) в имени/фамилии которых содержится строка "абв"

        rest/api/userchooser/search?showAll=true&search=абв


        Получение списка всех пользователей (подчиненных и не подчиненных) в имени/фамилии которых содержится строка "абв" из департамента с идентификатором department1

        rest/api/userchooser/search?showAll=true&search=абв&departmentID=department1


        Получение списка всех пользователей, которым есть право ставить работу

        rest/api/userchooser/search?showAll=false&operationType=101


        Получение списка всех пользователей, которые делегировали право на создание работы

        rest/api/userchooser/search?showAll=true&ownerOperationType=101


        startRecord первая запись списка
        recordsCount количество записей в списке
        locale локаль пользователя
        showAll true - показывать всех пользователей, иначе - только подчиненных
        search строка поиска, вырождается в условие "содержит ли имя или фамилия пользователя эту строку".
        operationType идентификатор действия. Нужно использовать, если для получения списка пользователей необходимо учесть делегированные права на это действие. Например, для получения списка пользователей, которым можно ставить работу
        ownerOperationType - идентификатор действия для получения списка пользователей, которые делегировали данное действие текущему пользователю. Например, для получения списка пользователей, от имени которых можно создавать работы
        departmentID идентификатор департамента внутри которого необходимо осуществить поиск. По-умолчанию null - это означает, что поиск осуществляется по всей орг. структуре
        groupID id группы пользователя
        groupCode код группы пользователя
        levelsCount параметр для будущего использования
        Returns:
        список пользователей как список json
      • getUsersExt

        public Response getUsersExt(int startRecord,
                                    int recordsCount,
                                    java.lang.String locale,
                                    boolean showAll,
                                    int levelsCount,
                                    int groupID,
                                    java.lang.String groupCode,
                                    java.lang.String search,
                                    java.lang.Integer operationType,
                                    java.lang.Integer ownerOperationType,
                                    java.lang.String departmentID,
                                    java.lang.String userID,
                                    java.lang.String showNoPosition,
                                    java.lang.String filterPositionID,
                                    java.lang.String filterDepartmentID,
                                    java.lang.String positionType,
                                    java.util.List<java.lang.String> customFields,
                                    java.lang.String userNameDisplayType,
                                    boolean showEmailContacts,
                                    boolean showGroups)
        получение списка пользователей
        url: /rest/api/userchooser/search_ext
        method : GET
        startRecord C какой записи поднимать пользователей
        recordsCount Какое кол-во записей поднимать
        locale локаль пользователя
        showAll Если значение переменной стоит true, то должны быть отображены не только подчиненные но и все пользователи
        levelsCount Количество уровней "вниз" по оргструктуре от данного пользователя
        groupID идентификатор группы. Если параметр задан в чузер подтягиваются пользователи, входящие в данную группу
        groupCode код группы. Если параметр задан в чузер подтягиваются пользователи, входящие в данную группу
        search Строка поиска
        operationType Тип действия Если данный параметр задан, то список пользователей будет подгружаться не только от имени userID, но и от имени тех пользователей, которые делегировали ему право на operationType
        ownerOperationType Если данный параметр задан, то список пользователей в выборке ограничивается теми пользователями, которые делегировали userID право на ownerOperationType и самим userID
        departmentID Идентификатор подразделения. Если он задан должен отображаться список пользователей только этого подразделения
        userID Идентификатор пользователя от имени которого выполняется поиск пользователей
        showNoPosition Отображать пользователей, не назначенных на должность
        filterPositionID UUID должности - фильтра. В чузере отображаются только пользователи, занимающие данную должность
        filterDepartmentID UUID подразделения - фильра. В чузере отображаются только пользователи, занимающие должность в данном подразделении (рекурсивно)
        positionType Тип должности Если данный параметр задан, то в чузере отображаются только те пользователи, которые относятся к подразделению, в котором userID занимает должность с типом positionType


        customFields перечень дополнительных полей, которые можно подгрузить для данного пользователя (передаются параметрами с названием customField=) может принимать одно значение is_inferior
        userNameDisplayType тип отображения имени пользователя (full, short)
        showEmailContacts подтягивать контакты
        showGroups подтягивать группы о_О
        Returns:
        список пользователей с полями
        personName имя (полное в формате)
        personID идентификатор
        departmentName наименование департамента
        positionName должность
        customFields доп поля (которые запрашивались)
        lastname фамилия
        firstname имя
        patronymic отчество
      • getUsers

        public Response getUsers(java.util.List<java.lang.String> userIDs,
                                 java.lang.String locale)
        получение информации о пользователях (группах, контактах)
        url: /rest/api/userchooser/getUserInfo
        method : GET Описание ответа: массив объектов с информацией о пользователях
        departmentName наименование департамента
        firstname имя
        lastname фамилия
        patronymic отчество
        personID идентификатор пользователя
        personName имя пользователя
        positionName наименование должности
        customFields - свойства элемента, зависят от типа элемента (смотрите пункт про определение типа сущности по идентификатору)

        Определение типа сущности по идентификатору и доп поля этой сущности
        если userID начинается
        "g-" - группа (type - groupId, id - идентификатор группы, code - код группы)
        "contact-" - контакт (contactType - организация или человек, email - почта если есть, id - идентификатор контакта, type - contact, calendarColor - цвет статуса, calendarStatusLabel - подпись статуса)
        "text-" - текст (type - text, text - true, calendarColor - цвет статуса, calendarStatusLabel - подпись статуса)
        иначе пользователь( type - person, id идентификатор пользователя, calendarType - тип календарного статуса, calendarStatus - статус, calendarColor - цвет статуса, calendarTitle - название статуса, calendarStatusLabel - подпись в чузере статуса, calendarStartDate - дата начала, calendarFinishDate - дата завершения

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
        Parameters:
        userIDs - идентификаторы пользователей передаются как userID=identifier1&userID=identifier2&userID=identifier3 (смотрите пункт про определение типа сущности по идентификатору)
        locale - локаль
      • getPositions

        public Response getPositions(java.util.List<java.lang.String> positionIDs,
                                     java.lang.String locale)
        получение информации о должностях
        url: /rest/api/userchooser/getUserInfo
        method : GET
        Parameters:
        positionIDs - идентификаторы должностей передаются как positionID=identifier1&positionID=identifier2&positionID=identifier3
        locale -
        Returns:

        code код
        departmentName наименование департамента
        elementID идентификатор должности
        elementName наименование должности
        id идентификатор должности
        info наименование департамента
        name наименование должности
        translation не используется
        type не используется

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • getDepartments

        public Response getDepartments(java.util.List<java.lang.String> departmentIDs,
                                       java.lang.String locale)
        получение информации о должностях
        url: /rest/api/userchooser/getUserInfo
        method : GET
        Parameters:
        departmentIDs - идентификаторы должностей передаются как positionID=identifier1&positionID=identifier2&positionID=identifier3
        locale -
        Returns:

        departmentId - идентификатор департамента
        departmentName наименование
        parentName наименование родительского департамента
        hasChildren - имеет ли департамент дочерние департаменты

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • getUsersCalendarStatus

        public Response getUsersCalendarStatus(java.util.List<java.lang.String> users,
                                               java.lang.String date,
                                               java.lang.String locale)

        url: /rest/api/userchooser/getUsersCalendarStatus
        method : GET Пример ответа:
          {
              "4bd1ef2e-3271-4dd3-ac67-9a8017abe1f4": {
                  "type": 1,
                  "status": "free",
                  "color": "#fecebe",
                  "title": "ОТПУСК!!!",
                  "statusLabel": "отпуск",
                  "startDate": 1456423200000,
                  "finishDate": 1474480800000
              },
              "1": {
                  "type": 1,
                 "status": "free",
                  "color": "#456789",
                  "title": "Командировка",
                  "statusLabel": "Командировка",
                  "startDate": 1456423200000,
                  "finishDate": 1474480800000
              }
          }
         


        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
        Parameters:
        users - несколько пользователей userID=userid1&userID=userid2
        date - дата в формате yyy-MM-dd
        locale - локаль
      • getUserCalendarStatus

        public Response getUserCalendarStatus(java.lang.String userID,
                                              java.lang.String date,
                                              java.lang.String locale)

        url: /rest/api/userchooser/getUserCalendarStatus
        method : GET
        userID идентификатор пользователя чьи статусы нам необходимо получить
        date дата в формате yyy-MM-dd
        locale локаль Пример запроса:

        `rest/api/userchooser/getUserCalendarStatus?userID=407d94f5-c8dd-469d-8328-ae426f04dbd4`

        Пример возвращаемого объекта JSON: [ { "type": 3, "status": "free", "color": "green", "title": "Ежегодный оплачиваемый отпуск", "statusLabel": "В отпуске с 28.12.16 по 04.01.17", "startDate": "2016-12-28", "finishDate": "2017-01-04", "makeVacant": 0 }, { "type": 3, "status": "free", "color": "green", "title": "Ежегодный оплачиваемый отпуск", "statusLabel": "В отпуске с 26.12.16 по 29.12.16", "startDate": "2016-12-26", "finishDate": "2016-12-29", "makeVacant": 0 } ]

      • getUserStatusInPeriod

        public Response getUserStatusInPeriod(java.lang.String start,
                                              java.lang.String finish,
                                              java.lang.String type,
                                              java.lang.String locale,
                                              int startRecord,
                                              int recordsCount,
                                              java.lang.String sortByDate)

        Апи получения пользователей с назначенным календарем

        Метод возвращает список пользователей, назначенный период которых полностью или
        частично попадает в указанный промежуток времени.
        URL метода: /rest/api/userchooser/getUserStatusInPeriod
        method : GET
        Parameters:
        start - дата начала периода, в формате `YYYY-MM-DD` (обяз.)
        finish - дата завершения периода, в формате `YYYY-MM-DD` (обяз.);
        type - тип назначенного статуса, соответствует полю type справочника "Назначение календаря" c кодом calendar_types (необяз.). Если задан данный параметр, то возвращаются пользователи, тип периода которых соответствует указанному значению, может принимать только целые положительные значения;
        locale - локаль;
        startRecord - номер записи результатов, начиная с которой будут возвращены записи (по умолчанию 0)
        recordsCount - количество результатов, которое необходимо вернуть (по умолчанию 30). Максимальное значение параметра 100
        sortByDate - направление сортировки результатов по выходному параметру дате начала периода start. Тип сортировки - дата. Принимает следующие значения (необяз.):
        • asc - записи отсортируются по возрастанию;
        • desc- записи отсортируются по убыванию.
        По умолчанию параметр принимает значение asc, любое другое значение,
        несоответствующее ни одному из возможных значений, будет интерпретировано
        как asc.
        Returns:
        В случае успешного выполнения метод возвращает массив объектов JSON, состоящий из следующих полей:
        • userID - идентификатор пользователя;
        • start - дата начала периода;
        • finish - дата завершения периода;
        • type - тип статуса;
        • title - название статуса;
        • statusLabel - название текущего статуса сотрудника;
        • color - цвет статуса;
        • busyStatus - тип занятости в данный период. Принимает следующие значения:
          • busy - занят в каждый день периода,
          • standart - обычное рабочее время,
          • free - свободен в каждый день периода.
        • makeVacant - признак занятости штатной единицы. Принимает следующие значения:
          • 0 - пользователь с таким статусом занимает штатную единицу на период действия статуса;
          • 1 - пользователь с таким статусом не занимает штатную единицу на период действия статуса.

          Примечание. Пользователь может возвращаться в списке результатов несколько раз, так как пользователю может быть назначено несколько статусов в разные периоды времени.

          Для пользователя может быть несколько статусов в течение выбранного периода времени
          Пример ответа: ```javascript

          [
          {
          "userID": "8f85e270-ebf1-11e5-835c-525400bb7fc6",
          "start": "2016-02-05",
          "finish": "2016-02-25",
          "calendarType":
          {
          "type": "0",
          "title": "Отпуск",
          "statusLabel": "В отпуске с {date.start} по {date.finish}",
          "color": "#5462ef",
          "busyStatus": "free",
          "makeVacant": "0"
          }
          },
          {
          "userID": "59377550-ea78-11e5-835c-525400bb7fc6",
          "start": "2016-02-15",
          "finish": "2017-02-15",
          "calendarType":
          {
          "type": "2",
          "title": "Декретный отпуск",
          "stateLabel": "В декретном отпуске с {date.start} по {date.finish}",
          "color": "#5462ef",
          "busyStatus": "free",
          "makeVacant": "1"
          }
          },
          {
          "userID": "8f85e270-ebf1-11e5-835c-525400bb7fc6",
          "start": "2016-02-28",
          "finish": "2016-03-05",
          "calendarType":
          {
          "type": "1",
          "title": "Командировка",
          "statusLabel": "В командировке с {date.start} по {date.finish}",
          "color": "#5462ef",
          "busyStatus": "busy",
          "makeVacant": "0"
          }
          },
          {
          "userID": "08c164b0-e775-11e5-835c-525400bb7fc6",
          "start": "2016-03-17",
          "finish": "2016-03-23",v "calendarType":
          {
          "type": "1",
          "title": "Командировка",
          "stateLabel": "В командировке с {date.start} по {date.finish}",
          "color": "#5462ef",
          "busyStatus": "busy",
          "makeVacant": "0"
          }
          }
          ]

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

           {
          "errorCode": 13,
          "errorMessage": "Передан некорректный параметр start"
          }
          Код ответа для внутренней ошибки - HTTP 500(INTERNAL_SERVER_ERROR), для неверных параметров - HTTP 400(BAD_REQUEST)
      • checkUsers

        public Response checkUsers(java.lang.String locale,
                                   boolean showAll,
                                   int levelsCount,
                                   int groupID,
                                   java.lang.String search,
                                   java.lang.Integer operationType,
                                   java.lang.Integer ownerOperationType,
                                   java.lang.String departmentID,
                                   java.lang.String userID,
                                   java.lang.String showNoPosition,
                                   java.lang.String filterPositionID,
                                   java.lang.String filterDepartmentID,
                                   java.lang.String positionType,
                                   java.util.List<java.lang.String> usersToCheck)
        проверка подходят ли данные пользователи под указанные параметры
        url: /rest/api/userchooser/search_ext
        method : GET
        locale локаль пользователя
        showAll Если значение переменной стоит true, то должны быть отображены не только подчиненные но и все пользователи
        levelsCount Количество уровней "вниз" по оргструктуре от данного пользователя
        groupID идентификатор группы. Если параметр задан в чузер подтягиваются пользователи, входящие в данную группу
        search Строка поиска
        operationType Тип действия Если данный параметр задан, то список пользователей будет подгружаться не только от имени userID, но и от имени тех пользователей, которые делегировали ему право на operationType
        ownerOperationType Если данный параметр задан, то список пользователей в выборке ограничивается теми пользователями, которые делегировали userID право на ownerOperationType и самим userID
        departmentID Идентификатор подразделения. Если он задан должен отображаться список пользователей только этого подразделения
        userID Идентификатор пользователя от имени которого выполняется поиск пользователей
        showNoPosition Отображать пользователей, не назначенных на должность
        filterPositionID UUID должности - фильтра. В чузере отображаются только пользователи, занимающие данную должность
        filterDepartmentID UUID подразделения - фильра. В чузере отображаются только пользователи, занимающие должность в данном подразделении (рекурсивно)
        userToCheck Список идентификаторов пользователей. Это поле используется если задан один из параметров фильтра (должность или подразделение)
        positionType Тип должности
        customFields перечень дополнительных полей, которые можно подгрузить для данного пользователя (передаются параметрами с названием customField=) может принимать одно значение is_inferior
        userNameDisplayType тип отображения имени пользователя (full, short)
        Returns:
        возвращается первый подходящий по параметры поиска пользователь среди переданных, если таковых нет, то возвращается первый из выборки
        personName имя (полное в формате)
        personID идентификатор
        departmentName наименование департамента
        positionName должность
        customFields доп поля (которые запрашивались)
        lastname фамилия
        firstname имя
        patronymic отчество

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • checkPositions

        public Response checkPositions(int startRecord,
                                       int recordsCount,
                                       boolean showAll,
                                       boolean showOnlyVacant,
                                       java.lang.String locale,
                                       java.lang.String userID,
                                       java.lang.Integer operationType,
                                       java.lang.String search,
                                       java.lang.String departmentID,
                                       java.lang.String filterDepartmentID,
                                       java.lang.String filterUserID,
                                       java.util.List<java.lang.String> valuesToCheck)
        проверка подходят ли переданные должности под переданные параметры выборки
        Parameters:
        startRecord - первая позиция выборки (по умолчанию 0)
        recordsCount - количество в выборке (по умолчанию 30)
        showAll - показывать все должности, по умолчанию нет (если нет - то отображаются только подчиненные должности)
        showOnlyVacant - отображать только вакантные должности, по умолчанию нет
        locale - локаль
        userID - идентификатор пользователя от имени которого нужно выполнять поиск
        operationType - - тип операции для получения пользователей которые делегировали права пользователю (по ним определяется максимальный уровень иерархии верх который нужно отображать и подчиненные должности)
        search - текстовый поиск
        departmentID - идентификатор департамента, чьи дочерние должности (всю иерархию) необходимо отображать для всей иерархии
        filterDepartmentID - идентификатор департамента чьи непосредственные должности нужно отображать
        filterUserID - идентификатор пользователя чьи должности необходимо отображать
        valuesToCheck - проверяемые значения идентификаторов должностей передается как valuesToCheck=identifier1&valuesToCheck=identifier2
        Returns:
        возвращается массив, который содержит один элемент: первый подходящий по параметры поиска пользователь среди переданных, если таковых нет, то возвращается первый из выборки поля возвращаемой сущности
        code код
        departmentName наименование департамента
        elementID идентификатор должности
        elementName наименование должности
        translation не используется
        type не используется

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • addOftenChosenUsers

        public Response addOftenChosenUsers(java.util.List<java.lang.String> users)
        метод сохраняет последних выбранных пользователей для пользователя
        url: /rest/api/userchooser/addOftenUsers
        method: GET
        Parameters:
        userID - идентификатор пользователя (может повторяться)

        Возвращает json c полями errorCode, errorMessage, где
        - errorCode код ошибки (0, если ошибки нет)
        - errorMessage расшифровка ошибки (пустая строка, если ошибки нет)

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • getOftenChosenUsers

        public Response getOftenChosenUsers(int startRecord,
                                            int recordsCount,
                                            java.lang.String locale,
                                            boolean showAll,
                                            java.lang.String search,
                                            java.lang.Integer operationType,
                                            java.lang.Integer ownerOperationType,
                                            java.lang.String filterPositionID,
                                            java.lang.String filterDepartmentID,
                                            java.lang.Integer positionType,
                                            java.util.List<java.lang.String> customFields,
                                            java.lang.String userNameDisplayType)
        получение списка часто выбираемых пользователей пользователей url: /rest/api/userchooser/getOftenChosenUsers method : GET
        startRecord C какой записи поднимать пользователей
        recordsCount Какое кол-во записей поднимать
        locale локаль пользователя
        showAll Если значение переменной стоит true, то должны быть отображены не только подчиненные но и все пользователи
        search Строка поиска
        operationType Тип действия Если данный параметр задан, то список пользователей будет подгружаться не только от имени actorID, но и от имени тех пользователей, которые делегировали ему право на operationType
        ownerOperationType Если данный параметр задан, то список пользователей в выборке ограничивается теми пользователями, которые делегировали actorID право на ownerOperationType и самим actorID
        filterPositionID UUID должности - фильтра. В чузере отображаются только пользователи, занимающие данную должность
        filterDepartmentID UUID подразделения - фильра. В чузере отображаются только пользователи, занимающие должность в данном подразделении (рекурсивно)
        positionType Тип должности
        customFields перечень дополнительных полей, которые можно подгрузить для данного пользователя (передаются параметрами с названием customField=) может принимать одно значение is_inferior
        userNameDisplayType тип отображения имени пользователя (full, short)
        Returns:
        список пользователей с полями
        personName имя (полное в формате)
        personID идентификатор
        departmentName наименование департамента
        positionName должность
        customFields доп поля (которые запрашивались)
        lastname фамилия
        firstname имя
        patronymic отчество

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • getPositions

        public Response getPositions(int startRecord,
                                     int recordsCount,
                                     boolean showAll,
                                     boolean showOnlyVacant,
                                     java.lang.String locale,
                                     java.lang.String userID,
                                     java.lang.Integer operationType,
                                     java.lang.String search,
                                     java.lang.String departmentID,
                                     java.lang.String filterDepartmentID,
                                     java.lang.String filterUserID,
                                     java.util.List<java.lang.String> customFields)
        получение списка должностей url: /rest/api/userchooser/search_pos
        startRecord - по умолчанию 0
        recordsCount - по умолчанию 30
        locale - локаль
        departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
        search параметр текстового поиска
        showAll - false по умолчанию; отображать все должности (false - отображать подчиненные должности)
        showOnlyVacant - false по умолчанию, отображать только вакантные должности
        operationType - тип операции для получения пользователей которые делегировали права пользователю (по ним определяется максимальный уровень иерархии верх который нужно отображать и подчиненные должности)
        mode - по умолчанию 0(COMMON_MODE). Если 1(OFTEN_CHOSEN_MODE)
        actorID пользователь от имени которого выполнять поиск
        customFields не используется
        filterDepartmentID идентификатор непосредственного родительского подразделения
        filterUserID идентификатор пользователя чьи должности необходимо показать массив найденных должностей поля возвращаемой сущности
        code код
        departmentName наименование департамента
        elementID идентификатор должности
        elementName наименование должности
        translation не используется
        type не используется
        customFields не используется

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • getAllPositions

        public Response getAllPositions(int startRecord,
                                        int recordsCount,
                                        boolean showOnlyVacant,
                                        java.lang.String locale,
                                        java.lang.String userID,
                                        java.lang.String search,
                                        java.lang.String departmentID,
                                        java.lang.String filterDepartmentID,
                                        java.lang.String filterUserID)
        получение списка должностей url: /rest/api/userchooser/search_all_positions method : GET
        startRecord - по умолчанию 0
        recordsCount - по умолчанию 30
        locale - локаль
        departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
        search параметр текстового поиска
        showOnlyVacant - false по умолчанию, отображать только вакантные должности
        actorID пользователь от имени которого выполнять поиск
        filterDepartmentID идентификатор непосредственного родительского подразделения
        filterUserID идентификатор пользователя чьи должности необходимо показать
        Returns:
        массив найденных должностей поля возвращаемой сущности
        code код
        departmentName наименование департамента
        elementID идентификатор должности
        elementName наименование должности
        translation не используется
        type не используется
        customFields не используется

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • getOftenPositions

        public Response getOftenPositions(int startRecord,
                                          int recordsCount,
                                          boolean showAll,
                                          boolean showOnlyVacant,
                                          java.lang.String locale,
                                          java.lang.String userID,
                                          java.lang.Integer operationType,
                                          java.lang.String search,
                                          java.lang.String departmentID,
                                          java.lang.String filterDepartmentID,
                                          java.lang.String filterUserID,
                                          java.util.List<java.lang.String> customFields)
        получение списка часто выбираемых должностей
        url: /rest/api/userchooser/getOftenChosenPositions
        method : GET
        startRecord - по умолчанию 0
        recordsCount - по умолчанию 30
        showAll - false по умолчанию; отображать все должности (false - отображать подчиненные должности)
        showOnlyVacant - false по умолчанию, отображать только вакантные должности
        locale - локаль
        userID пользователь от имени которого выполнять поиск
        operationType - тип операции для получения пользователей которые делегировали права пользователю (по ним определяется максимальный уровень иерархии верх который нужно отображать и подчиненные должности)
        search параметр текстового поиска
        departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
        filterDepartmentID идентификатор непосредственного родительского подразделения
        filterUserID идентификатор пользователя чьи должности необходимо показать
        customField не используется
        Returns:
        массив найденных должностей поля возвращаемой сущности
        code код
        departmentName наименование департамента
        elementID идентификатор должности
        elementName наименование должности
        translation не используется
        type не используется

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • getDepartments

        public Response getDepartments(int pageNumber,
                                       int countInPart,
                                       java.lang.String departmentID,
                                       java.lang.String filterDepartmentID,
                                       java.lang.String filterChildDepartmentID,
                                       java.lang.String filterPositionID,
                                       java.lang.String search,
                                       boolean showChildDepartments,
                                       java.lang.String filterHrUser,
                                       java.lang.String filterUserID,
                                       java.lang.String locale)
        получение списка департаментов url: /rest/api/userchooser/search_dept method : GET Параметры:
        locale - локаль
        departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
        filterDepartmentID идентификатор непосредственного родительского подразделения
        filterChildDepartmentID идентификатор непосредственного родительского подразделения
        filterPositionID идентификатор непосредственного родительского подразделения
        search параметр текстового поиска
        Описание ответа:
        массив найденных должностей
        поля возвращаемой сущности
        departmentId -идентификатор департамента
        departmentName наименование
        hasChildren имеются ли дочерние подразделения
        parentName наименование родительского департамента

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
        Parameters:
        pageNumber - номер страницы результата (0 по умолчанию)
        countInPart - количество департаментов в ответе (30 по умолчанию)
        showChildDepartments - показывать ли дочерние подразделения
        filterHrUser - Фильтр ограничивает департаменты теми, к которым имеет доступ hr-пользователь
        filterUserID - идентификатор пользователя чьи должности необходимо показать
      • checkDepartments

        public Response checkDepartments(int pageNumber,
                                         int countInPart,
                                         java.lang.String departmentID,
                                         java.lang.String filterDepartmentID,
                                         java.lang.String filterChildDepartmentID,
                                         java.lang.String filterPositionID,
                                         java.lang.String search,
                                         boolean showChildDepartments,
                                         java.lang.String filterHrUser,
                                         java.util.List<java.lang.String> valuesToCheck,
                                         java.lang.String filterUserID,
                                         java.lang.String locale)
        проверка подходят ли переданные департаменты под указанные параметры поиска url: /rest/api/userchooser/checkDepartments method : GET
        startRecord - по умолчанию 0
        recordsCount - по умолчанию 30
        locale - локаль
        departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
        search параметр текстового поиска
        customFields не используется
        filterDepartmentID идентификатор непосредственного родительского подразделения
        filterChildDepartmentID идентификатор непосредственного родительского подразделения
        filterPositionID идентификатор непосредственного родительского подразделения
        filterUserID идентификатор пользователя чьи должности необходимо показать
        valuesToCheck проверяемые значения идентификаторов передается как valuesToCheck=identifier1&valuesToCheck=identifier2
        Returns:
        массив найденных департаментов поля возвращаемой сущности
        departmentId -идентификатор департамента
        departmentName наименование
        hasChildren имеются ли дочерние подразделения
        parentName наименование родительского департамента

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.ab

Class AddressBookService

  • java.lang.Object
    • kz.arta.synergy.api.rest.ab.AddressBookService


  • public class AddressBookService
    extends java.lang.Object
    User: Mikhail Milyutin Date: 21.10.14. Time: 13:39.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String getAddressBookItem(java.lang.String itemID, java.lang.String locale)
      Получение данных об объекте из адресной книги по id
      Тип: GET
      URL: rest/api/addressbook/get_addressbook_item
      Response getAddressBookItems(int countInPart, int pageNumber, java.lang.String search, java.lang.String startLetter, int itemType, java.lang.String userID, java.lang.String locale) 
      java.lang.String getUserID() 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AddressBookService

        public AddressBookService()
    • Method Detail

      • getAddressBookItem

        public java.lang.String getAddressBookItem(java.lang.String itemID,
                                                   java.lang.String locale)
        Получение данных об объекте из адресной книги по id
        Тип: GET
        URL: rest/api/addressbook/get_addressbook_item
        Parameters:
        itemID - - id объекта
        locale - - локаль
        Returns:
        - json с данными


        Пример персона
        {
        "type": "person",
        "lastName": "Иванов",
        "firstName": "Иван",
        "patronymic": "Иванович",
        "birthDate": "1993-10-12",
        "isPublic": "false",
        "photoUrl": "contact_photo?itemID=6de27bc6-1da0-4fec-b03f-5d917c3f3413",
        "note": "Пример примечания",
        "tags": "Ключевое слово1, Ключевое слово2",
        "formUUID": "null",
        "formCode": "",
        "phone": [
        "230101"
        ],
        "im": [
        "i.ivanov@jabber.arta.kz"
        ],
        "mail": [
        "ivanov_ivan@ivan.ru"
        ],
        "mobile": [
        "87022301010",
        "87012301010"
        ],
        "url": [
        "http://ww.kz"
        ]
        }
        Поле photoUrl - относительная ссылка на фото, добавляется к url, пример: http://127.0.0.1:8080/Synergy/contact_photo?itemID=6de27bc6-1da0-4fec-b03f-5d917c3f3413

      • getAddressBookItems

        public Response getAddressBookItems(int countInPart,
                                            int pageNumber,
                                            java.lang.String search,
                                            java.lang.String startLetter,
                                            int itemType,
                                            java.lang.String userID,
                                            java.lang.String locale)
        Parameters:
        countInPart - сколько элементов в одной странице, по умолчанию 15
        pageNumber - номер страницы, по умолчанию 0
        search - текст поска
        startLetter - точно не знаю
        itemType - 0 искать по пользователям, 1 искать по организациям по умолчанию 0.
        userID - пользователь, чья адресная книга просматривается
        locale - локаль
        Returns:
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.common

Class SettingsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.common.SettingsService


  • public class SettingsService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 18.07.13 Time: 10:40 To change this template use File | Settings | File Templates.
    • Constructor Summary

      Constructors 
      Constructor and Description
      SettingsService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String getProcesses(java.lang.String locale)
      Метод возвращает список основных процессов, которые используется в системе

      URL: rest/api/settings/get_processes
      Тип GET
      java.lang.String getSettings(java.lang.String locale)
      Метод возвращает настройки приложения, необходимые для работы приложения

      URL rest/api/settings/get
      Method GET



      day_start_time - время начала рабочего дня
      day_finish_time - время завершения рабочего дня
      work_completion_forms - список доступных форм завершения работы, для каждой формы завершения указываются
      id - код формы завершения
      name - название формы завершения
      docflow_demand_sign_before_assign - обязательно ли подписание документов перед отправкой;
      display_author_input - отображать ли поле "автор" при создании работы
      allow_create_additional_resolutions - разрешить накладывать дополнительные резолюции
      do_not_remove_resolution_work - не удалять работу, на которую была наложена резолюция
      completion_date_for_resolution - подставлять дату завершения документа в пункты резолюции
      date_resolution_after_finish_document - разрешено ли ставить работы по резолюции, завершающиеся после документа
      resolution_create_levels - количество уровней оргструктуры с правом на создание резолюции
      docflow_resolution_template - шаблон пункта резолюции
      allow_add_work_responsibles - разрешать добавлять к работе соисполнителей (не из числа подчниненных)
      set_work_from_responsible - ставить работы исполнителям от имени ответственного
      allow_resend_work - позволять передавать работу
      signed_off - лейбл "Отписано"
      current_priorities - текущие приоритеты в системе
      all_priorities - все доступные приоритеты в системе
      dialogs - все доступные диалоги в системе (name - имя, uuid - uuid, type - тип)
      work_items - доступные пункты меню (модуль "Потоки работ")
      document_items - доступные пункты меню (модуль "Документы")
      file_items - доступные пункты меню (модуль "Файлы")
      day_length - длительность рабочего дня (из календаря Системы)
      default_work_length - время на выполнение работы по умолчанию
      default_document_project_work_length - время на выполнение проекта документа (в т.ч. по шаблону) по умолчанию
      default_agreement_length - время на выполнение согласования по умолчанию
      default_approvement_length - время на выполнение утверждения по умолчанию
      default_acquaintance_length - время на выполнение ознакомления по умолчанию
      systemName - наименование системы
      resolution_work_types - доступные пункты типов работ по резолюции, для каждого пункта указываются
      needCert - требовать ключ и сертификат
      enableEDS - настроено ли ЭЦП dict_id - UUID записи справочника; item_number - порядковый номер пункта в выпадающем списке; item_process - действие, которое осуществляет пункт; item_name - название пункта типа работы.

      java.lang.String getUserID()
      Метод возвращает UUID пользователя, вызвавшего метод
      Response getWorkDays(java.lang.String date_start, java.lang.String date_finish, java.lang.String type)
      Метод возвращает периоды рабочего времени с типами для каждого дня в запрашиваемом интервале

      URL: rest/api/settings/calendar
      Тип GET
      java.lang.String setSettings(<any> settings)
      Изменение настроек системы.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SettingsService

        public SettingsService()
    • Method Detail

      • getSettings

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

        Метод возвращает настройки приложения, необходимые для работы приложения

        URL rest/api/settings/get
        Method GET



        day_start_time - время начала рабочего дня
        day_finish_time - время завершения рабочего дня
        work_completion_forms - список доступных форм завершения работы, для каждой формы завершения указываются
        id - код формы завершения
        name - название формы завершения
        docflow_demand_sign_before_assign - обязательно ли подписание документов перед отправкой;
        display_author_input - отображать ли поле "автор" при создании работы
        allow_create_additional_resolutions - разрешить накладывать дополнительные резолюции
        do_not_remove_resolution_work - не удалять работу, на которую была наложена резолюция
        completion_date_for_resolution - подставлять дату завершения документа в пункты резолюции
        date_resolution_after_finish_document - разрешено ли ставить работы по резолюции, завершающиеся после документа
        resolution_create_levels - количество уровней оргструктуры с правом на создание резолюции
        docflow_resolution_template - шаблон пункта резолюции
        allow_add_work_responsibles - разрешать добавлять к работе соисполнителей (не из числа подчниненных)
        set_work_from_responsible - ставить работы исполнителям от имени ответственного
        allow_resend_work - позволять передавать работу
        signed_off - лейбл "Отписано"
        current_priorities - текущие приоритеты в системе
        all_priorities - все доступные приоритеты в системе
        dialogs - все доступные диалоги в системе (name - имя, uuid - uuid, type - тип)
        work_items - доступные пункты меню (модуль "Потоки работ")
        document_items - доступные пункты меню (модуль "Документы")
        file_items - доступные пункты меню (модуль "Файлы")
        day_length - длительность рабочего дня (из календаря Системы)
        default_work_length - время на выполнение работы по умолчанию
        default_document_project_work_length - время на выполнение проекта документа (в т.ч. по шаблону) по умолчанию
        default_agreement_length - время на выполнение согласования по умолчанию
        default_approvement_length - время на выполнение утверждения по умолчанию
        default_acquaintance_length - время на выполнение ознакомления по умолчанию
        systemName - наименование системы
        resolution_work_types - доступные пункты типов работ по резолюции, для каждого пункта указываются
        needCert - требовать ключ и сертификат
        enableEDS - настроено ли ЭЦП

        • dict_id - UUID записи справочника;
        • item_number - порядковый номер пункта в выпадающем списке;
        • item_process - действие, которое осуществляет пункт;
        • item_name - название пункта типа работы.
        Parameters:
        locale - локаль пользователя
        Returns:
        настройки как объект json
        See Also:
        arta.synergy.web.common.client.data.actions.dialog.WorkDialogType#WORK, arta.synergy.web.common.client.data.actions.dialog.WorkDialogType#DOCUMENT_PROJECT, arta.synergy.web.common.client.data.actions.dialog.WorkDialogType#TEMPLATE_PROJECT
      • setSettings

        public java.lang.String setSettings(<any> settings)

        Изменение настроек системы. Можно изменить настройки для администратора и для методолога. Администратору и методологу доступны свои настройки, соответствующий разделением в интерфейсе.

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


        URL: rest/api/settings/set
        Тип POST

        Все настройки надо передавать в форме. Название, параметра должна совпадать с id настройки. Если не будет найден ни одна настройка по такому id. Сервер вернет следующую ошибку:

        {"errorCode": 13, "errorMessage": ""Настройка с id {id} не найдена"} Объект ответа это json с полями
        errorCode код выполнения (0- успешно, иначе - ошибка)
        errorMessage сообщение, характеризующее успешное выполнение либо ошибку

        Настройки, доступные для администратора:

        • management_url- url приложения
        • pass_min_length- минимальная длина пароля
        • pass_digit_count- минимальное количество цифровых символов
        • pass_up_letter_count- минимальное количество букв верхнего регистра
        • pass_low_letter_count- минимальное количество букв нижнего регистра
        • pass_special_count- минимальное количество специальных символов
        • pass_equal_seq_count- минимальное количество последовательных одинаковых символов
        • pass_class_equal_seq_count- минимальное количество последовательных одинаковых символов одного класса
        • pass_equals_login- запрет совпадения пароля с логином
        • pass_equals_fam- запрет совпадения пароля с фамилией
        • pass_equals_name- запрет совпадения пароля с именем
        • pass_equals_patronymic- запрет совпадения пароля с отчеством
        • pass_unsuccess_try_count- количество неудачных попыток
        • pass_timeout- таймаут
        • pass_progress_timeout- прогрессивный таймаут
        • pass_timeout_reset- период сброса количества неудачных попыток(с времени последней неудачной авторизации)
        • help_url- дрес службы поддержки
        • email_download_interval- нтервал загрузки почтовых сообщений
        • email_download_messages_limit- оличество почтовых сообщений, загружаемых за один раз
        • email_redownload_attempts_count- аксимальное количество попыток загрузить письмо
        • email_max_body_size- аксимальный размер тела сообщения
        • email_max_message_size- аксимальный размер загружаемого письма
        • email_load_self_mails- олучать письма от собственного адреса
        • email_max_jms_msg_time_to_live - симальное время жизни сообщения в очереди jms


        • Настройки, доступные для методолога:

          • docflow_sign_agreement - подписывать согласования
          • docflow_sign_approvement - подписывать утверждения
          • docflow_sign_acq - подписывать ознакомления
          • docflow_demand_certificate - требовать ключ и сертификат
          • docflow_demand_sign_before_assign -требовать подпись перед отправкой документа
          • protocol_demand_aggreement -требовать согласование протокола
          • protocol_demand_approvement -требовать утверждение протокола,
          • protocol_demand_registration -требовать регистрацию протокола
          • allow_create_additional_resolutions - разрешить накладывать дополнительные резолюции
          • docflow_resolution_template -шаблон пункта резолюции
          • document_close_agreement -закрывать окно просмотра работы после согласования
          • document_close_approvement -закрывать окно просмотра работы после утверждения
          • document_close_acq - закрывать окно просмотра работы после ознакомления
          • document_close_assignment -закрывать окно просмотра работы после завершения работы
          • use_create_child_doc_btn -отображать кнопку для создания дочернего документа в окне документа
          • user_name_default_type - отображать полное фио пользователя в компоненте выбора пользователя
          • docs_default_display_period - показывать документы, созданные за последние (месяцев)
          • show_in_field_on_execution - отображать в поле "на исполнении"
          • check_in_reg_inc_documents - осуществлять проверку на совпадения при регистрации входящих документов
          • resolution_create_levels - количество уровней оргструктуры с правом на создание резолюции
          • completion_date_for_resolution - подставлять дату завершения документа в пункты резолюции
          • date_resolution_after_finish_document -разрешить ставить работы по резолюции, завершающиеся позже документа
          • use_action_progress_book -использовать справочник значений прогресса для поручений
          • set_work_from_responsible - ставить работы исполнителям от имени ответственного
          • allow_resend_work -разрешить передавать работы другим исполнителям
          • allow_add_work_responsibles -разрешить добавлять соисполнителей к работам, не являющихся подчиненными
          • show_future_works -отображать будущие работы
          • show_future_route_steps -отображать в ходе исполнения будущие этапы
          • demand_positive_comment -требовать ввода комментария при согласовании/утверждении
          • demand_negative_comment -требовать ввода комментария при отказе в согласовании/утверждении
          • allow_create_work_longer_parent -разрешать создавать дочерние работы, завершающиеся позже родительской
          • allow_delegation_to_all -разрешать делегирование прав всем сотрудникам
          • max_user_send_level -максимальный уровень иерархии вверх, которому можно отправить документ (0 - все уровни структуры)
          • works_completion_form_by_default -формат отображения поля автора в ходе выполнения
          • default_work_length -создание и перепоручение работы (в том числе по маршруту) // время на выполнение работ по-умолчанию
          • default_document_project_work_length -работа по проекту документа (в том числе по шаблону)
          • default_agreement_length -огласование
          • default_approvement_length -утверждение
          • default_acquaintance_length -ознакомление
          • plan_calc_type - расчет мероприятий проекта
          • plan_dates_type - тип ввода дат мероприятий проекта
          • plan_hide_completed - скрывать завершенные проекты и портфели в навигаторе
          • project_cost_pointer_measure - единица измерения стоимости проектов
          • system_name_kz - наименование системы на казахском языке
          • system_name_ru - наименование системы на русском языке
          • system_name_en - именование системы на английском языке
      • getProcesses

        public java.lang.String getProcesses(java.lang.String locale)
        Метод возвращает список основных процессов, которые используется в системе

        URL: rest/api/settings/get_processes
        Тип GET
        Parameters:
        locale - локаль пользователя
             В случае успешного выполнения возвращает json c полями:
             name - название процесса на языке локали, переданной в параметре locale
             number - порядковый номер следования в списке
             type - тип операции, один из следующих вариантов:
                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 - переназначение работ
         
      • getWorkDays

        public Response getWorkDays(java.lang.String date_start,
                                    java.lang.String date_finish,
                                    java.lang.String type)
        Метод возвращает периоды рабочего времени с типами для каждого дня в запрашиваемом интервале

        URL: rest/api/settings/calendar
        Тип GET
        Parameters:
        date_start - дата начала интервала в формате yyyy-MM-dd (обязат.)
        date_finish - дата завершения интервала в формате yyyy-MM-dd (обязат.)
        type - тип дня, может быть стандартный "standard", нестандартный "custom", выходной "holiday" (не обязат.)
        Returns:
         Пример запроса без указания параметра type:
          `rest/api/settings/calendar?date_start=2016-05-01&date_finish=2016-05-04`
         Пример ответа на запрос без указания параметра type:
        {
          "2015-05-01": [
          {
              "type": "holiday"
          }
                        ],
          "2015-05-02": [
          {
              "start": "09:00",
              "finish": "13:00",
              "type": "custom"
          }
                        ],
              "2015-05-03": [
          {
              "type" : "holiday"
          }
                        ],
          "2015-05-04": [
          {
              "start": "09:00",
              "finish": "13:00",
              "type" : "standard"
          },
          {
              "start": "14:00",
              "finish": "18:00",
              "type" : "standard"
          }
                        ]
          }
         Где ключами являются даты интервала в формате yyyy-MM-dd,
         а значениями - список объектов с полями start, finish и type
         в которых указано время начала и завершения промежутка
         рабочего времени в формате HH:mm и тип дня этого промежутка
         Пример запроса с указанием параметра type:
          `rest/api/settings/calendar?date_start=2016-05-01&date_finish=2016-05-04&type=standard`
         Пример ответа на запрос с указанием параметра type:
        {
          "2015-05-03": [
          {
              "start": "09:00",
              "finish": "13:00",
              "type" : "standard"
          },
          {
              "start": "14:00",
              "finish": "18:00",
              "type" : "standard"
          }
                        ],
          "2015-05-04": [
          {
              "start": "09:00",
              "finish": "13:00",
              "type" : "standard"
          },
          {
              "start": "14:00",
              "finish": "18:00",
              "type" : "standard"
          }
                        ]
          }
        
      • getUserID

        public java.lang.String getUserID()
        Метод возвращает UUID пользователя, вызвавшего метод
kz.arta.synergy.api.rest.auth

Class AuthService

  • java.lang.Object
    • kz.arta.synergy.api.rest.auth.AuthService


  • public class AuthService
    extends java.lang.Object
    Сервис в котором есть методы для авторизации пользователя Created by: Abzal Kultayev Date: 28.04.16 Time: 16:03
    • Constructor Summary

      Constructors 
      Constructor and Description
      AuthService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response checkUser()
      API для авторизации пользователя
      Response checkUserIsAdmin(java.lang.String role)
      API для авторизации суперадмина и суперметодолога

      URL rest/api/auth/{role}
      Method GET
      java.lang.String getUserID() 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AuthService

        public AuthService()
    • Method Detail

      • checkUserIsAdmin

        public Response checkUserIsAdmin(java.lang.String role)
        API для авторизации суперадмина и суперметодолога

        URL rest/api/auth/{role}
        Method GET
        Parameters:
        role - роль пользователя, с которой он хочет авторизоваться, один из трех вариантов
        • user - пользователь (по умолчанию)
        • methodologist - суперметодолог
        • administrator - суперадминистратор
        Returns:
        HTTP код 200 в случае успешной аутентификации, 401 - если пользователь не имеет доступа в систему, не найден или передан неправильный пароль, 403 - в случае, если он не обладает указанной ролью, 500 - ошибка на сервере.

        Альтернативные потоки событий.
        Альтернативный поток №1. Переданный в HTTP Basic Auth пароль пользователя неверен, такой пользователь отсутствует в системе или он не имеет доступа в систему. Сервер возвращает ошибку HTTP 401.
        Альтернативный поток №2. Пользователь не обладает указанной в параметре ролью. Сервер возвращает ошибку HTTP 403.
        Альтернативный поток №3. Во время выполнения метода на сервере произошла ошибка. Сервер возвращает ошибку HTTP 500.
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.bp

Class ProcessesService

  • java.lang.Object
    • kz.arta.synergy.api.rest.bp.ProcessesService


  • public class ProcessesService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 12.11.13 Time: 11:31 To change this template use File | Settings | File Templates.
    • Constructor Summary

      Constructors 
      Constructor and Description
      ProcessesService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response competeProcess(java.lang.String signal, java.lang.String executionID, java.lang.String locale)
      Метод отправляет сигнал блокирующему процессу для его завершения в системе и восстановления работы маршрута

      URL rest/api/processes/signal
      Method GET

      Так же метод принимает дополнительные опциональные параметры, передаваемые процессу.

      java.lang.String getHost() 
      java.lang.String getUserID() 
      Response retryBP(java.lang.String documentID)
      Метод переотправки в очередь незавершенных блок процессов в указанном документе *

      URL rest/api/processes/retry_bp *
      Method POST Пример:
      rest/api/processes/retry_bp?

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProcessesService

        public ProcessesService()
    • Method Detail

      • competeProcess

        public Response competeProcess(java.lang.String signal,
                                       java.lang.String executionID,
                                       java.lang.String locale)

        Метод отправляет сигнал блокирующему процессу для его завершения в системе и восстановления работы маршрута

        URL rest/api/processes/signal
        Method GET

        Так же метод принимает дополнительные опциональные параметры, передаваемые процессу.
        Для того чтобы передать параметр и значение необходимо передать запросу параметры :
        paramN=название_параметра и valueN=значение_параметра, где N - порядковый номер параметра (нумерация с 1)
        Поддерживаемые параметры:

        • resolution
        • - комментарий, который будет отображаться в ходе исполнения документа для данного процесса

        Примеры:

        Успешное завершение процесса с комментарием
        rest/api/processes/signal?signal=got_agree¶m1=resolution&value1=Действие успешно выполнено&executionID=id_процесса

        Успешное завершение процесса без комментария
        rest/api/processes/signal?signal=got_agree&executionID=id_процесса

        Не успешное завершение процесса с комментарием
        rest/api/processes/signal?signal=got_refuse¶m1=resolution&value1=Действие не выполнено&executionID=id_процесса

        Не успешное завершение процесса без комментария
        rest/api/processes/signal?signal=got_refuse&executionID=id_процесса

        Parameters:
        signal - результат завершения блокирующего процесса: got_agree - успешное завершения, got_refuse - неуспешное завершение
        executionID - идентификатор процесса
        locale - локаль
        Returns:
      • retryBP

        public Response retryBP(java.lang.String documentID)
        Метод переотправки в очередь незавершенных блок процессов в указанном документе *

        URL rest/api/processes/retry_bp *
        Method POST

        Пример:


        rest/api/processes/retry_bp?documentID=document_identifier

        Parameters:
        documentID - query param ид документа
        Returns:
        сообщение о выполнении метода
      • getHost

        public java.lang.String getHost()
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.mobile

Class MobileUtilsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.mobile.MobileUtilsService


  • public class MobileUtilsService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 20.02.14 Time: 15:33 To change this template use File | Settings | File Templates.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String addDeviceToken(java.lang.String token, java.lang.String type, java.lang.String locale)
      Метод добавляет в систему token устройства для авторизовавшегося пользователя

      URL rest/api/mobile/utils/add_token
      Method GET

      Параметры метода:
      token идентификатор устройства
      type тип устройства
      locale локаль пользователя Объект ответа:
      json c полями:
      errorCode результат выполнения метода (0 - успешно, иначе - ошибка)
      errorMessage сообщение об ошибке

      java.lang.String getLocale() 
      java.lang.String getUserID() 
      java.lang.String removeDeviceToken(java.lang.String token, java.lang.String locale)
      Метод добавляет в систему token устройства для авторизовавшегося пользователя

      URL rest/api/mobile/utils/remove_token
      Method GET

      Параметры метода:
      token идентифкатор устройства
      locale локаль пользователя Ответ:
      json c полями:
      errorCode результат выполнения метода (0 - успешно, иначе - ошибка)
      errorMessage сообщение об ошибке

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MobileUtilsService

        public MobileUtilsService()
    • Method Detail

      • addDeviceToken

        public java.lang.String addDeviceToken(java.lang.String token,
                                               java.lang.String type,
                                               java.lang.String locale)

        Метод добавляет в систему token устройства для авторизовавшегося пользователя


        URL rest/api/mobile/utils/add_token
        Method GET

        Параметры метода:
        token идентификатор устройства
        type тип устройства
        locale локаль пользователя Объект ответа:
        json c полями:

        errorCode

        результат выполнения метода (0 - успешно, иначе - ошибка)

        errorMessage

        сообщение об ошибке
      • removeDeviceToken

        public java.lang.String removeDeviceToken(java.lang.String token,
                                                  java.lang.String locale)

        Метод добавляет в систему token устройства для авторизовавшегося пользователя


        URL rest/api/mobile/utils/remove_token
        Method GET

        Параметры метода:
        token идентифкатор устройства
        locale локаль пользователя Ответ:
        json c полями:

        errorCode

        результат выполнения метода (0 - успешно, иначе - ошибка)

        errorMessage

        сообщение об ошибке
      • getUserID

        public java.lang.String getUserID()
      • getLocale

        public java.lang.String getLocale()
kz.arta.synergy.api.rest.admin

Class UsersService

  • java.lang.Object
    • kz.arta.synergy.api.rest.admin.UsersService


  • public class UsersService
    extends java.lang.Object
    User: vsl Date: 3/25/16 Time: 9:04 AM апи для управления сессиями пользователя
    • Constructor Summary

      Constructors 
      Constructor and Description
      UsersService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String getUserID() 
      Response listLoggedInUsers(java.lang.String showIdsStr) 
      Response logout(java.util.List<java.lang.String> users) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UsersService

        public UsersService()
    • Method Detail

      • logout

        public Response logout(java.util.List<java.lang.String> users)
      • listLoggedInUsers

        public Response listLoggedInUsers(java.lang.String showIdsStr)
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.admin

Class FormIndexService

  • java.lang.Object
    • kz.arta.synergy.api.rest.admin.FormIndexService


  • public class FormIndexService
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor and Description
      FormIndexService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response getMaxVersion(java.lang.String locale, boolean continueLast, long sleepTime)
      Начинает индекс форм URL: /rest/api/admin/forms/index Тип: POST Данный метод доступен только пользователям с правами суперадминистратора.
      Response getState(java.lang.String locale, boolean getMessages)
      Статус текущего индексирования URL: /rest/api/admin/forms/index Тип: GET Данный метод доступен только пользователям с правами суперадминистратора.
      java.lang.String getUserID() 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FormIndexService

        public FormIndexService()
    • Method Detail

      • getMaxVersion

        public Response getMaxVersion(java.lang.String locale,
                                      boolean continueLast,
                                      long sleepTime)

        Начинает индекс форм

        URL: /rest/api/admin/forms/index

        Тип: POST

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

        continue(true, false) - продолжить предыдущий индекс, по умолчанию false

        interval(число) - время между индексом на отдельные данные форм

        Returns:
        Возвращает 200, если индексирование началось. Json объект в противном случае: { "errorCode": 13, "errorMessage":"Индексирование уже начато" }
      • getState

        public Response getState(java.lang.String locale,
                                 boolean getMessages)

        Статус текущего индексирования

        URL: /rest/api/admin/forms/index

        Тип: GET

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

        messages(true, false) - возвращать ли сообщения индексирования

        Returns:
        Возвращает 200, если индексирование началось. Json объект в противном случае. { "running": true, "messages": ["first messages", "second message"] }
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.admin

Class DocumentIndexService

  • java.lang.Object
    • kz.arta.synergy.api.rest.admin.DocumentIndexService


  • public class DocumentIndexService
    extends java.lang.Object
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response getMaxVersion(java.lang.String locale, boolean continueLast, long sleepTime)
      Начинает индекс документов URL: /rest/api/admin/docs/index Тип: POST Данный метод доступен только пользователям с правами суперадминистратора.
      Response getState(java.lang.String locale, boolean getMessages)
      Статус текущего индексирования URL: /rest/api/admin/docs/index Тип: GET Данный метод доступен только пользователям с правами суперадминистратора.
      java.lang.String getUserID() 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DocumentIndexService

        public DocumentIndexService()
    • Method Detail

      • getMaxVersion

        public Response getMaxVersion(java.lang.String locale,
                                      boolean continueLast,
                                      long sleepTime)

        Начинает индекс документов

        URL: /rest/api/admin/docs/index

        Тип: POST

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

        continue(true, false) - продолжить предыдущий индекс, по умолчанию false

        interval(число) - время между индексом на отдельные данные форм

        Returns:
        Возвращает 200, если индексирование началось. Json объект в противном случае: { "errorCode": 13, "errorMessage":"Индексирование уже начато" }
      • getState

        public Response getState(java.lang.String locale,
                                 boolean getMessages)

        Статус текущего индексирования

        URL: /rest/api/admin/docs/index

        Тип: GET

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

        messages(true, false) - возвращать ли сообщения индексирования

        Returns:
        Возвращает 200, если индексирование началось. Json объект в противном случае. { "running": true, "messages": ["first messages", "second message"] }
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.admin

Class DBService

  • java.lang.Object
    • kz.arta.synergy.api.rest.admin.DBService


  • public class DBService
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor and Description
      DBService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String getDbVersion()

      Текущая версия базы данных

      URL: rest/api/admin/db/current_version

      Type: GET

      java.lang.String getMaxVersion()

      Максимальная версия базы данных, на которую можно обновиться

      URL: rest/api/admin/db/max_version

      Type: GET

      java.lang.String getMessages()

      Сообщении об выполнения обновления базы данных.

      java.lang.String getUserID() 
      java.lang.String onDbUpdated()

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

      java.lang.String startUpdate()

      Запуск обновления базы данных.

      java.lang.String updatingIsCompleted()

      Проверка статуса выполнения обновление базы.

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DBService

        public DBService()
    • Method Detail

      • getMaxVersion

        public java.lang.String getMaxVersion()

        Максимальная версия базы данных, на которую можно обновиться

        URL: rest/api/admin/db/max_version

        Type: GET

        Returns:
        json данные об статусе выполнения запроса и с версией базы данных
        Пример возвращаемых данных метода, при успешном выполнении
        {
        "errorCode": 0,
        "errorMessage": "Success",
        "data": "270",
        }


        Пример возвращаемых данных метода, в случае ошибки
        {
        "errorCode": 13,
        "errorMessage": "Ошибка исполнения",
        "data": null,
        }
      • getDbVersion

        public java.lang.String getDbVersion()

        Текущая версия базы данных

        URL: rest/api/admin/db/current_version

        Type: GET

        Returns:
        json данные об статусе выполнения запроса и с текущей версией базы данных
        Пример возвращаемых данных метода, при успешном выполнении
        {
        "errorCode": 0,
        "errorMessage": "Success",
        "data": "263",
        }


        Пример возвращаемых данных метода, в случае ошибки
        {
        "errorCode": 13,
        "errorMessage": "Ошибка исполнения",
        "data": null,
        }
      • startUpdate

        public java.lang.String startUpdate()

        Запуск обновления базы данных. Статус выполнения обновления можно проверить с помощью методов /rest/api/admin/db/messages или /rest/api/admin/db/updating_is_completed

        Процесс обновления базы данных:

        1. /rest/api/admin/db/current_version - получаем текущую версию базы
        2. /rest/api/admin/db/max_version - получаем доступную версию
        3. Сравниваем полученные версии, если текущая версия базы меньше чем доступное, то запускаем обновление /rest/api/admin/db/start_update
        4. Периодический проверяем статус обновления /rest/api/admin/db/updating_is_completed
        5. После завершения обновления выполняем метод /rest/api/admin/db/on_db_updated
        Returns:
        json данные об статусе выполнения запроса
        Пример возвращаемых данных метода, при успешном выполнении
        {
        "errorCode": 0,
        "errorMessage": "Success"
        }


        Пример возвращаемых данных метода, в случае ошибки
        {
        "errorCode": 13,
        "errorMessage": "Ошибка исполнения"
        }
        See Also:

        URL: rest/api/admin/db/start_update

        Type: GET

      • getMessages

        public java.lang.String getMessages()

        Сообщении об выполнения обновления базы данных. Если в сообщениях присутствует сообщение с типом "-1" ("type": -1) то обновление завершено.

        URL: rest/api/admin/db/messages

        Type: GET

        Returns:
        json данные об статусе выполнения запроса и с версией базы данных
        Пример возвращаемых данных метода
        {
        "errorCode": 0,
        "errorMessage": "Success",
        "data": [{
        "message": "Creating indexes",
        "type": 0,
        "date": 1416196612376
        }, {
        "message": "reports indexes created",
        "type": 0,
        "date": 1416196612378
        }, {
        "message": "Обновление завершено",
        "type": -1,
        "date": 1416196612378
        }]
        }
      • updatingIsCompleted

        public java.lang.String updatingIsCompleted()

        Проверка статуса выполнения обновление базы.

        URL: rest/api/admin/db/updating_is_completed

        Type: GET

        Returns:
        json данные об выполнении обновления базы
        Пример возвращаемых данных метода, если обновление уже завершено
        {
        "errorCode": 0,
        "errorMessage": "Success",
        "data": true
        }


        Пример возвращаемых данных метода, если обновление еще не завершено
        {
        "errorCode": 0,
        "errorMessage": "Success",
        "data": false
        }
      • onDbUpdated

        public java.lang.String onDbUpdated()

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

        URL: rest/api/admin/db/on_db_updated

        Type: GET

        Returns:
        json данные об статусе выполнения запроса и с версией базы данных
        Пример возвращаемых данных метода, при успешном выполнении
        {
        "errorCode": 0,
        "errorMessage": "Success"
        }


        Пример возвращаемых данных метода, в случае ошибки
        {
        "errorCode": 13,
        "errorMessage": "Ошибка исполнения"
        }
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.diary

Class DiaryService

  • java.lang.Object
    • kz.arta.synergy.api.rest.diary.DiaryService


  • public class DiaryService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 19.06.13 Time: 8:45 To change this template use File | Settings | File Templates.
    • Constructor Summary

      Constructors 
      Constructor and Description
      DiaryService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String createTask(java.lang.String task, java.lang.String taskID, java.lang.String start, java.lang.String finish, boolean wholeDay, java.lang.String userID, java.lang.String locale)
      Метод для создания/изменения задачи URL rest/api/diary/tasks/{userID}/save
      Method POST
      java.lang.String deleteTask(java.lang.String taskID, java.lang.String locale)
      Метод для удаление задачи URL rest/api/diary/tasks/delete
      Method GET
      java.lang.String getModifiedTasks(java.lang.String userID, java.lang.String locale, java.lang.String lastModified)

      Метод возвращает заметки измененные за последнее время URL rest/api/diary/tasks/{userID}
      Method GET
      Пример:
      http://хост:порт/Synergy/rest/api/diary/tasks/uuid_пользователя?
      Response getTask(java.lang.String taskID, java.lang.String locale)
      Получение заметки по идентификатору URL /rest/api/diary/tasks/get
      Method GET Метод принимает следующие входные параметры:

      - `taskID` - `uuid` заметки (обяз.);

      - `locale` - локаль.

      java.lang.String getUserID() 
      Response getUserTasks(java.lang.String userID, java.lang.String start, java.lang.String finish, java.lang.String locale)
      Получения заметок пользователя из календаря за промежуток времени URL rest/api/diary/tasks/{userID}/all
      Method GET
      Response setTaskState(java.lang.String taskID, java.lang.String locale)
      Метод для завершения заментки URL rest/api/diary/tasks/complete
      Method GET
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DiaryService

        public DiaryService()
    • Method Detail

      • getModifiedTasks

        public java.lang.String getModifiedTasks(java.lang.String userID,
                                                 java.lang.String locale,
                                                 java.lang.String lastModified)

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

        URL rest/api/diary/tasks/{userID}
        Method GET


        Пример:
        http://хост:порт/Synergy/rest/api/diary/tasks/uuid_пользователя?last-modified=2013-01-01%2008:00:00
        Для описания оорфмата json смотрите документацию метода taskToJson(Task)
        Parameters:
        userID - uuid пользователя, чьи задачи необходимо посмотреть
        locale - локаль
        lastModified - стамп времени
        Returns:
        список заметок, измененных с момента lastModified в формате json
        See Also:
        #taskToJson(arta.synergy.web.common.client.data.tasks.Task)
      • createTask

        public java.lang.String createTask(java.lang.String task,
                                           java.lang.String taskID,
                                           java.lang.String start,
                                           java.lang.String finish,
                                           boolean wholeDay,
                                           java.lang.String userID,
                                           java.lang.String locale)

        Метод для создания/изменения задачи

        URL rest/api/diary/tasks/{userID}/save
        Method POST

        Parameters:
        task - текст задачи
        taskID - идентификатор задачи (в случае добавления новой задачи должен отсутствовать)
        start - дата начала в формате yyyy-MM-dd либо yyyy-MM-dd HH:mm:00 (первый для задач в течение дня, второй для задач с конкретным временем)
        finish - дата завершения в формате yyyy-MM-dd либо yyyy-MM-dd HH:mm:00 (первый для задач в течение дня, второй для задач с конкретным временем)
        wholeDay - в течение целого дня или нет
        userID - идентификатор пользователя для которого создается задача
        locale - локаль
        Returns:
        json вида {errorCode: code_value, errorMessage: some_message} Если errorCode = 0, значит действие было выполнено успешно, иначе- нет и в errorMessage должна содержаться информация об ошибке
      • deleteTask

        public java.lang.String deleteTask(java.lang.String taskID,
                                           java.lang.String locale)

        Метод для удаление задачи

        URL rest/api/diary/tasks/delete
        Method GET

        Parameters:
        taskID - идентификатор задачи
        locale - локаль
      • setTaskState

        public Response setTaskState(java.lang.String taskID,
                                     java.lang.String locale)

        Метод для завершения заментки

        URL rest/api/diary/tasks/complete
        Method GET

        Parameters:
        taskID - идентификатор задачи (в случае добавления новой задачи должен отсутствовать)
        locale - локаль

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

        `/rest/api/diary/tasks/complete?taskID=e6fc40b0-9fe4-11e6-9ce4-001ef892a4ee`

        Пример возвращаемого объекта:

        { "errorCode": 0, "errorMessage": "Заметка успешно завершена" }

      • getTask

        public Response getTask(java.lang.String taskID,
                                java.lang.String locale)

        Получение заметки по идентификатору

        URL /rest/api/diary/tasks/get
        Method GET Метод принимает следующие входные параметры:

        - `taskID` - `uuid` заметки (обяз.);

        - `locale` - локаль.

        Метод возвращает описание заметки с указанным идентификатором.

        В случае успешного выполнения метод возвращает объект `JSON`, состоящий из следующих полей:

        - `taskID` - `uuid` заметки;

        - `task` - текст заметки;

        - `start` - дата и время начала исполнения заметки, в формате `yyyy-MM-dd HH:mm:ss`;

        - `finish` - дата и время завершения исполнения заметки, в формате `yyyy-MM-dd HH:mm:ss`;

        - `wholeDay` - признак исполнения заметки в течение дня. Одно из следующих значений:

        - `true` - установлен срок исполнения "в течение дня";

        - `false` - не установлен срок исполнения "в течение дня".

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

        `rest/api/diary/tasks/get?taskID=e6fc40b0-9fe4-11e6-9ce4-001ef892a4ee`

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

        { "taskID" : "e6fc40b0-9fe4-11e6-9ce4-001ef892a4ee", "task" : "заметка №1", "start" : "2016-12-05 10:00:00", "finish" : "2016-12-05 16:00:00", "wholeDay" : false }

      • getUserTasks

        public Response getUserTasks(java.lang.String userID,
                                     java.lang.String start,
                                     java.lang.String finish,
                                     java.lang.String locale)

        Получения заметок пользователя из календаря за промежуток времени

        URL rest/api/diary/tasks/{userID}/all
        Method GET

        Parameters:
        start - дата начала в формате yyyy-MM-dd
        finish - дата завершения в формате yyyy-MM-dd
        userID - идентификатор пользователя чьи заметки необходимо получить
        locale - локаль

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

        `rest/api/diary/tasks/8f60bf3b-0fff-11e9-bfb4-001ef892a4ee/all?start=2016-12-05&finish=2016-12-25`

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

        [ { "taskID" : "e6fc40b0-9fe4-11e6-9ce4-001ef892a4ee", "task" : "заметка №1", "start" : "2016-12-05 10:00:00", "finish" : "2016-12-05 16:00:00" }, { "taskID" : "5dfc40b0-9fe4-11e6-9ce4-001ef892a4ee", "task" : "заметка №2", "start" : "2016-12-10 09:45:00", "finish" : "2016-12-10 12:00:00" }, { "taskID" : "21sdd1sb0-9fe4-11e6-9ce4-001ef892a4ee", "task" : "заметка №3", "start" : "2016-12-20 09:00:00", "finish" : "2016-12-20 18:00:00" }, { "taskID" : "11lc40b0-5fkh-11e6-9ce4-001ef892a4ee", "task" : "заметка №4", "start" : "2016-12-25 09:00:00", "finish" : "2016-12-25 18:00:00" } ]

      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.app

Class ApplicationImportServlet

  • java.lang.Object
    • HttpServlet
      • kz.arta.synergy.api.rest.app.ApplicationImportServlet


  • public class ApplicationImportServlet
    extends HttpServlet
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void doPost(HttpServletRequest req, HttpServletResponse res) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ApplicationImportServlet

        public ApplicationImportServlet()
    • Method Detail

      • doPost

        protected void doPost(HttpServletRequest req,
                              HttpServletResponse res)
                       throws ServletException,
                              java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.api.rest.app

Class ApplicationExportServlet

  • java.lang.Object
    • HttpServlet
      • kz.arta.synergy.api.rest.app.ApplicationExportServlet


  • public class ApplicationExportServlet
    extends HttpServlet
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void doGet(HttpServletRequest req, HttpServletResponse res) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ApplicationExportServlet

        public ApplicationExportServlet()
    • Method Detail

      • doGet

        protected void doGet(HttpServletRequest req,
                             HttpServletResponse res)
                      throws ServletException,
                             java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.api.rest.personalrecord

Class PersonalRecordService

  • java.lang.Object
    • kz.arta.synergy.api.rest.personalrecord.PersonalRecordService


  • public class PersonalRecordService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 06.05.13 Time: 12:57 To change this template use File | Settings | File Templates.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response createFolders()
      Метод используется для создания папок личного дела в хранилище
      Тип: POST
      URL: rest/api/storage/recreatefolders
      java.lang.String getForms(java.lang.String userID, java.lang.String locale)
      Метод возвращает информацию о личных карточках пользователя (названия и идентификаторы форм)

      URL rest/api/personalrecord/forms/{userID}
      Method GET

      Метод возвращает список из элементов, каждый из которых описывает одну личную карточку.

      java.lang.String getUserID() 
      Response removeOldFolders()
      Метод используется для удаления из хранилища всех папок личного дела, которых нет в таблицах MySql, но есть в хранилище.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PersonalRecordService

        public PersonalRecordService()
    • Method Detail

      • getForms

        public java.lang.String getForms(java.lang.String userID,
                                         java.lang.String locale)

        Метод возвращает информацию о личных карточках пользователя (названия и идентификаторы форм)

        URL rest/api/personalrecord/forms/{userID}
        Method GET

        Метод возвращает список из элементов, каждый из которых описывает одну личную карточку. Для каждой личной карточки возвращаются поля:
        form-uuid - идентификатор формы
        formCode - код формы
        name - название личной карточки
        editable - есть ли право у данного пользователя менять поля данной карточки
        data-uuid - идентификатор файла по форме
        mandatory - является ли данная карточка обязательной к заполнению

        Parameters:
        userID - UUID пользователя, чьи карточки необходимо получить (PathParam)
        locale - локаль пользователя, делающего запрос (QueryParam)
        Returns:
        список элементов json
      • createFolders

        public Response createFolders()
        Метод используется для создания папок личного дела в хранилище
        Тип: POST
        URL: rest/api/storage/recreatefolders
        Returns:
        в случае успешного выполнения сервер возвращает текст, в случае ошибки:

        errorCode 13
        errorMessage сообщение, характеризующее ошибку
        Пример успешного выполнения: {"Папки успешно созданы"}
      • removeOldFolders

        public Response removeOldFolders()
        Метод используется для удаления из хранилища всех папок личного дела, которых нет в таблицах MySql, но есть в хранилище.
        Тип: POST
        URL: rest/api/storage/removeoldfolders
        Returns:
        в случае успешного выполнения сервер возвращает текст, в случае ошибки:

        errorCode 13
        errorMessage сообщение, характеризующее ошибку
        Пример успешного выполнения: {"Папки успешно созданы"}
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.groups

Class GroupsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.groups.GroupsService


  • public class GroupsService
    extends java.lang.Object
    Created by exile Date: 18.02.16 Time: 14:36
    • Constructor Summary

      Constructors 
      Constructor and Description
      GroupsService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response get(int groupID, java.lang.String search, java.lang.String locale) 
      Response getGroupContent(java.lang.String search, java.lang.Integer parentGroupID, java.lang.Integer startRecord, java.lang.Integer recordsCount, java.lang.Integer right, boolean loadAutoGroups, java.lang.String locale) 
      Response getGroups(java.lang.String search, java.lang.Integer parentGroupID, java.lang.String parentGroupCode, java.lang.Integer startRecord, java.lang.Integer recordsCount, boolean loadAllHierarchy, java.lang.Integer right, boolean loadAutoGroups, java.lang.String locale)
      поиск групп
      java.lang.String getUserID() 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GroupsService

        public GroupsService()
    • Method Detail

      • getGroups

        public Response getGroups(java.lang.String search,
                                  java.lang.Integer parentGroupID,
                                  java.lang.String parentGroupCode,
                                  java.lang.Integer startRecord,
                                  java.lang.Integer recordsCount,
                                  boolean loadAllHierarchy,
                                  java.lang.Integer right,
                                  boolean loadAutoGroups,
                                  java.lang.String locale)
        поиск групп
      • getGroupContent

        public Response getGroupContent(java.lang.String search,
                                        java.lang.Integer parentGroupID,
                                        java.lang.Integer startRecord,
                                        java.lang.Integer recordsCount,
                                        java.lang.Integer right,
                                        boolean loadAutoGroups,
                                        java.lang.String locale)
      • get

        public Response get(int groupID,
                            java.lang.String search,
                            java.lang.String locale)
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.filecabinet

Class DepartmetnsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.filecabinet.DepartmetnsService


  • public class DepartmetnsService
    extends java.lang.Object

    Created by IntelliJ IDEA.
    User: topa
    Date: 23.08.13
    Time: 18:30
    Содержит методы для управления департаментами - создание/изменение, удаление, получение информации о департаменте
    Корневым подразделением орг структуры является депертамент, создаваемый по умолчанию, он имеет идентификатор "1".
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String deleteDepartment(java.lang.String departmentID, java.lang.String locale)
      Метод удаляет подразделение

      URL rest/api/departments/delete
      Method GET

      java.lang.String getDepartment(java.lang.String departmentID, java.lang.String locale)
      Метод возвращает информацию о подразделении подразделение

      URL rest/api/departments/get
      Method GET

      java.lang.String getDepartmentCards(java.lang.String departmentID, java.lang.String locale)
      Возвращает список дополнительных карточек для данного подразделения

      URL rest/api/departments/get_cards
      Method GET
      Для заполнения полей карточки надо использовать метод APIFormsService#save

      java.lang.String getDepartmentsAsList(java.lang.String locale, java.lang.Integer partNumber, java.lang.Integer countInPart)
      Метод возвращает список подразделений (без учета структуры)

      URL rest/api/departments/list
      Method GET
      * @return Список департаментов, описание полей департамента смотрите в методе FileCabinetWrapper#getDepartmentasJson

      java.lang.String getDepartmentsByFieldValue(java.lang.String formUUID, java.lang.String formCode, java.lang.String fieldName, java.lang.String value, java.lang.String locale)
      ВНИМАНИЕ!
      java.lang.String getDepartmentsContent(java.lang.String departmentID, boolean onlyPosition, boolean onlyDepartments, java.lang.String locale)
      Метод используется для получения информации о департаменте (подразделения и должности)
      Тип: GET
      URL: rest/api/departments/content
      java.lang.String getUserID() 
      java.lang.String saveDepartment(java.lang.String nameRu, java.lang.String nameKz, java.lang.String nameEn, java.lang.String positionNameRu, java.lang.String positionNameKz, java.lang.String positionNameEn, java.lang.String pointersCode, java.lang.String departmentID, java.lang.String parentDepartmentID, int number, java.lang.String locale)
      Метод создает/изменяет подразделение орг структуры

      URL rest/api/departments/save
      Method POST

      Response searchDepartments(java.util.List<java.lang.String> codes, java.util.List<java.lang.String> names, int recordsCount, int startRecord, java.lang.String codeSearchTypeP, java.lang.String nameSearchTypeP, java.lang.String deleted, java.lang.String locale)
      Метод поиска подразделений URL: /rest/api/departments/search Тип: GET Метод принимает следующие параметры: name - название подразделения (необяз.), может быть передано несколько значений pointer_code - код показателя (необяз.), может быть передано несколько значений recordsCount - количество результатов, которые необходимо вернуть (по умолчанию 30).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DepartmetnsService

        public DepartmetnsService()
    • Method Detail

      • saveDepartment

        public java.lang.String saveDepartment(java.lang.String nameRu,
                                               java.lang.String nameKz,
                                               java.lang.String nameEn,
                                               java.lang.String positionNameRu,
                                               java.lang.String positionNameKz,
                                               java.lang.String positionNameEn,
                                               java.lang.String pointersCode,
                                               java.lang.String departmentID,
                                               java.lang.String parentDepartmentID,
                                               int number,
                                               java.lang.String locale)

        Метод создает/изменяет подразделение орг структуры

        URL rest/api/departments/save
        Method POST

        Parameters:
        nameRu - Название подразделения на русском языке, FormParam
        nameKz - Название подразделения на казахском языке, FormParam
        nameEn - Название подразделения на английском языке, FormParam
        positionNameRu - Название должности руководителя на русском языке, FormParam
        positionNameKz - Название должности руководителя на казахском языке, FormParam
        positionNameEn - Название должности руководителя на английском языке, FormParam
        pointersCode - код показателя, FormParam
        number - порядковый номер подразделения
        departmentID - UUID подразделения (для создания нового подразделения необходимо передать null), FormParam
        parentDepartmentID - UUID родительского подразделения, FormParam
        locale - локаль, QueryParam
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке. В случае успешного выполнения так же возвращается departmentID созданного/измененного подразделения.
      • deleteDepartment

        public java.lang.String deleteDepartment(java.lang.String departmentID,
                                                 java.lang.String locale)

        Метод удаляет подразделение

        URL rest/api/departments/delete
        Method GET

        Parameters:
        departmentID - UUID подразделения, которое надо удалить (QueryParam)
        locale - локаль (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке/успешном выполнении
      • getDepartment

        public java.lang.String getDepartment(java.lang.String departmentID,
                                              java.lang.String locale)

        Метод возвращает информацию о подразделении подразделение

        URL rest/api/departments/get
        Method GET

        Parameters:
        departmentID - UUID подразделения, QueryParam
        locale - локаль, QueryParam
        Returns:
        json, описание полей см в FileCabinetWrapper#getDepartmentasJson
        See Also:
        FileCabinetWrapper#getDepartmentasJson(arta.synergy.web.common.client.data.filecabinet.Department, String)
      • getDepartmentsAsList

        public java.lang.String getDepartmentsAsList(java.lang.String locale,
                                                     java.lang.Integer partNumber,
                                                     java.lang.Integer countInPart)

        Метод возвращает список подразделений (без учета структуры)

        URL rest/api/departments/list
        Method GET
        * @return Список департаментов, описание полей департамента смотрите в методе FileCabinetWrapper#getDepartmentasJson

        See Also:
        FileCabinetWrapper#getDepartmentasJson(arta.synergy.web.common.client.data.filecabinet.Department, String)
      • getDepartmentsContent

        public java.lang.String getDepartmentsContent(java.lang.String departmentID,
                                                      boolean onlyPosition,
                                                      boolean onlyDepartments,
                                                      java.lang.String locale)
        Метод используется для получения информации о департаменте (подразделения и должности)
        Тип: GET
        URL: rest/api/departments/content
        Parameters:
        departmentID - идентификатор департамента
        onlyPosition - true - отображение должностей только одного департамента (по умолчанию false)
        onlyDepartments - true - отображение подотделов только одного департамента (по умолчанию false)
        locale - локаль
        Returns:
        Пример возвращаемого массива:
                [
                  {
                    "departments":
                    [
                      {
                        "departmentID": "7b097e72-e303-487f-83a1-cb76397abd57",
                        "departmentName": "Департамент технологий",
                        "hasChildDepartments" : false,
                        "pointerCode" : "code",
                        "departmentHead":
                        {
                          "headID": "f9b0b304-c856-4bcf-8615-e13cded16a14",
                          "headName": "Иванов И.И."
                        }
                      },
                      {
                        "departmentID": "8ii056e72-e563-667f-14j7-cb31867qwe66",
                        "departmentName": "Департамент развития",
                        "hasChildDepartments" : true,
                        "departmentHead":
                        {
                          "headID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
                          "headName": "Петров П.П."
                        }
                      }
                    ],
                    "positions":
                    [
                      {
                        "positionID": "dc890ecf-e340-4ada-b7e6-d6541486a599",
                        "positionName": "Маркетолог",
                        "code": "shifr2",
                        "pointerCode": "code2",
                        "employees":
                        [
                          {
                            "employeeID": "f40b665c-f1f4-40b3-bdc5-291911def539",
                            "employeeName": "Попов П.В."
                          },
                          {
                            "employeeID": "22cc3118-3bcd-4543-98b4-a30982ba5c2a",
                            "employeeName": "Сидоров С.В."
                          },
                          {
                            "employeeID": "414acd59-aaf8-4202-8c00-b39e1fe73bbc",
                            "employeeName": "Орлов О.О."
                          }
                        ]
                      },
                      {
                        "positionID": "2d9a641d-178c-4b05-b2f4-a231958718fd",
                        "positionName": "Финансовый аналитик",
                        "code": "shifr1",
                        "pointerCode": "code1",
                        "employees":
                        [
                          {
                            "employeeID": "c4ddd6b1-ade2-4ee2-ace5-aaec6a81d02a",
                            "employeeName": "Мартынов М.М."
                          },
                          {
                            "employeeID": "ee71a4c6-888a-4f04-86de-44ab394f5749",
                            "employeeName": "Быков Г.Г."
                          }
                        ]
                      },
                      {
                        "positionID": "22a48f88-199a-4398-8eb6-15ba8ef35deb",
                        "positionName": "Юрист",
                        "code": "shifr3",
                        "pointerCode": "code3",
                        "employees":
                        [
                          {
                            "employeeID": "a2ba229b-366f-4d9c-b8bd-31742a7a519a",
                            "employeeName": "Мусина А.М."
                          },
                          {
                            "employeeID": "a5b67a57-bcba-4513-bc2d-089400457a53",
                            "employeeName": "Дарбаева Г.Г."
                          },
                          {
                            "employeeID": "ca936f83-3d4e-4c09-b393-9e548d18bc04",
                            "employeeName": "Жакин Н.Б."
                          },
                          {
                            "employeeID": "ff666f77-7ii8-5b09-o565-2f555v33qq11",
                            "employeeName": "Васильев Г.В."
                          }
                        ]
                      }
                    ]
                  }
                ]
             
        departments - массив подотделов данного департамента:
        departmentID - UUID подразделения
        departmentName - название подотдела на языке локали, переданной в параметре locale
        hasChildDepartments - есть ли дочерние департаменты
        pointerCode - код для показателей департамента
        departmentHead - руководитель подотдела:
        headID - UUID руководителя
        headName - Ф.И.О. руководителя в формате "Фамилия И.О."
        positions - массив должностей данного департамента:
        positionID - UUID должности
        positionName - название должности на языке локали, переданной в параметре locale
        pointerCode - код для показателей должности
        code - шифр должности
        type - тип должности
        employees - массив сотрудников на данной должности:
        employeeID - UUID сотрудника
        employeeName - Ф.И.О. сотрудника в формате "Фамилия И.О."
      • getDepartmentCards

        public java.lang.String getDepartmentCards(java.lang.String departmentID,
                                                   java.lang.String locale)

        Возвращает список дополнительных карточек для данного подразделения

        URL rest/api/departments/get_cards
        Method GET
        Для заполнения полей карточки надо использовать метод APIFormsService#save

        Parameters:
        departmentID - UUID подразделения
        locale - локаль пользователя
        Returns:
        список json объектов с информацией о карточке подразделения, для каждой карточки присутствуют поля:
        form-uuid uuid формы
        formCode - код формы
        name название карточки
        editable true - есть право наредактирование, иначе - false
        data-uuid uuid данных по данной карточке
        mandatory true - карточкая обязательна для заполнения, иначе - false
        See Also:
        APIFormsService.save(String, String, String, String, String, String)
      • getDepartmentsByFieldValue

        public java.lang.String getDepartmentsByFieldValue(java.lang.String formUUID,
                                                           java.lang.String formCode,
                                                           java.lang.String fieldName,
                                                           java.lang.String value,
                                                           java.lang.String locale)

        ВНИМАНИЕ! Логика данного метода реализована некорректно, поэтому не рекомендуем его использовать. В скором времени метод будет заменен на правильный

        Находит подразделения по значению поля дополнительной карточки и возвращает список их идентификаторов

        URL rest/api/departments/get_by_field_value
        Method GET


        Предполагается, что данный метод будет использоваться для реализации интеграционных решений (синхронизации орг структуры ARTA Synergy с орг структурой сторонней системы). В дополнительной карточке подразделения может храниться идентификатор соответствующего подразделения в сторонней системе, этот метод позволит найти идентификатор подразделения в нашей системе по его идентификатору из сторонней системы

        Поиск производится по сначала по ключу, а в случае отсутствия ключа - по значению (key и value из данных компонента, /api/asforms/data/{dataUUID}).

        Для компонента "Переключатель вариантов" это порядок обратный, сначала по value, затем - по key. Надо учитывать, что в этом компоненте из-за особенностей реализации в key хранится название вариантов, а в value - значение.

        Parameters:
        formUUID - uuid формы, по полю которой необходимо произвести поиск
        formCode - code формы, по полю которой необходимо произвести поиск
        fieldName - название поля, по которому необходимо произвести поиск
        value - значение поля
        locale - локаль пользователя
        Returns:
        список, состоящий из идентификаторов подразделений
      • getUserID

        public java.lang.String getUserID()
      • searchDepartments

        public Response searchDepartments(java.util.List<java.lang.String> codes,
                                          java.util.List<java.lang.String> names,
                                          int recordsCount,
                                          int startRecord,
                                          java.lang.String codeSearchTypeP,
                                          java.lang.String nameSearchTypeP,
                                          java.lang.String deleted,
                                          java.lang.String locale)

        Метод поиска подразделений

        URL: /rest/api/departments/search

        Тип: GET

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

        • name - название подразделения (необяз.), может быть передано несколько значений
        • pointer_code - код показателя (необяз.), может быть передано несколько значений
        • recordsCount - количество результатов, которые необходимо вернуть (по умолчанию 30). Максимальное значение параметра 100
        • startRecord - номер записи результатов, начиная с которой будут возвращены записи (по умолчанию 0)
        • searchTypeN - тип сравнения для параметра name (по умолчанию partial). Может принимать следующие значения:
          • exact - точное совпадение поискового запроса и значения поля
          • partial - вхождение поискового запроса в значение поля
        • searchTypePC - тип сравнения для параметра pointer_code (по умолчанию exact). Может принимать следующие значения:
          • exact - точное совпадение поискового запроса и значения поля
          • partial - вхождение поискового запроса в значение поля
        • deleted - включать ли в результат поиска удаленные департаменты. Допустимые значения: true или false
        • locale - локаль пользователя. Данный параметр учитывается при поиске по названию должности

        В случае успешного выполнения метод возвращает массив строк, являющихся идентификаторами подразделений.

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

        /rest/api/departments/search?pointer_code=dep1&pointer_code=dep3

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

        [ "rgg66d1-ad54-5462-aef5-aggrr55fd02a", "vgikwj4c6-88gh-ef44-3ffe-oepjfee5d6" ]

        При указании одновременно разных параметров результат запроса будет связан логическим И.

        Пример запроса: /rest/api/departments/search?pointer_code=dep5&name=Департамент5

        А при указании одновременно одинаковых параметров, результат будет производится по логическому ИЛИ.

        Пример запроса: /rest/api/departments/search?pointer_code=code1&pointer_code=code2

        В случае если по переданным входным параметрам ничего не найдено, сервер возвращает пустой массив.

kz.arta.synergy.api.rest.filecabinet

Class UsersService

  • java.lang.Object
    • kz.arta.synergy.api.rest.filecabinet.UsersService


  • public class UsersService
    extends java.lang.Object
     User: topa
     Date: 03.05.13
     Time: 17:52
     
    Since:
    2.31
    • Constructor Summary

      Constructors 
      Constructor and Description
      UsersService() 
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response changeCredentials(java.lang.String login, java.lang.String password, java.lang.String passwordConfirm, java.lang.String actionCode, java.lang.String locale)
      API для изменение логина или пароля текущего пользователя.
      java.lang.String checkExistence(java.lang.String login, java.lang.String code, java.lang.String mail, boolean loadData, java.lang.String term)
      Метод проверки существования пользователя

      URL rest/api/filecabinet/user/checkExistence
      Method GET

      java.lang.String createUser(java.lang.String lastname, java.lang.String firstname, java.lang.String patronymic, java.lang.String pointersCode, boolean isChancellery, boolean isConfigurator, boolean isAdmin, java.lang.String email, java.lang.String jid, java.lang.String privateFolder, boolean hasAccess, boolean hasPrivateFolder, java.util.List<java.lang.String> hrDepartmentID, java.lang.String userID, java.lang.String login, java.lang.String password, java.lang.String locale)
      Метод создает/изменяет пользователя

      URL rest/api/filecabinet/user/save
      Method POST

      java.lang.String deleteUser(java.lang.String userID, java.lang.String locale)
      Метод удаляет пользователя из системы

      URL rest/api/filecabinet/user/delete
      Method GET

      Response getUser(java.lang.String userID, java.lang.String locale, boolean getGroups)
      Load and return basic iformation on user as json object
      Response getUserContacts(java.lang.String userID, java.lang.String locale)
      Список контактов пользователя
      java.lang.String getUserID() 
      static Response getUserInner(java.lang.String userId, java.lang.String locale, boolean getGroups) 
      java.lang.String getUsersByFieldValue(java.lang.String formUUID, java.lang.String formCode, java.lang.String fieldName, java.lang.String value, java.lang.String locale)
      ВНИМАНИЕ!
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UsersService

        public UsersService()
    • Method Detail

      • getUser

        public Response getUser(java.lang.String userID,
                                java.lang.String locale,
                                boolean getGroups)
        Load and return basic iformation on user as json object
      • getUserInner

        public static Response getUserInner(java.lang.String userId,
                                            java.lang.String locale,
                                            boolean getGroups)
      • getUserContacts

        public Response getUserContacts(java.lang.String userID,
                                        java.lang.String locale)
        Список контактов пользователя
        Parameters:
        userID - uuid пользователя
        locale - локаль
        Returns:
      • createUser

        public java.lang.String createUser(java.lang.String lastname,
                                           java.lang.String firstname,
                                           java.lang.String patronymic,
                                           java.lang.String pointersCode,
                                           boolean isChancellery,
                                           boolean isConfigurator,
                                           boolean isAdmin,
                                           java.lang.String email,
                                           java.lang.String jid,
                                           java.lang.String privateFolder,
                                           boolean hasAccess,
                                           boolean hasPrivateFolder,
                                           java.util.List<java.lang.String> hrDepartmentID,
                                           java.lang.String userID,
                                           java.lang.String login,
                                           java.lang.String password,
                                           java.lang.String locale)

        Метод создает/изменяет пользователя

        URL rest/api/filecabinet/user/save
        Method POST

        Parameters:
        lastname - фамилия, FormParam
        firstname - имя, FormParam
        patronymic - отчество, FormParam
        pointersCode - код показателя, FormParam
        isChancellery - является ли сотрудником канцелярии, FormParam
        isConfigurator - является ли методологом, FormParam
        isAdmin - является ли администратором системы, FormParam
        email - почтовый адрес для уведомлений, FormParam
        jid - адрес jabber аккаунта, FormParam
        privateFolder - личная папка, FormParam
        hasAccess - имеет ли доступ в систему, FormParam
        hrDepartmentID - UUID подразделений, в которых является сотрудником ОКК, FormParam
        userID - идентификатор пользователя. Необходимо передавать если должно выполниться изменение существующего пользователя
        hasPrivateFolder - создавать ли личную папку пользователя. Имеет смысл только при создании пользователя
        locale - локаль пользователя, QueryParam
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке. В случае успешного выполнения так же возвращается userID идентификатор созданного/измененного пользователя
      • changeCredentials

        public Response changeCredentials(java.lang.String login,
                                          java.lang.String password,
                                          java.lang.String passwordConfirm,
                                          java.lang.String actionCode,
                                          java.lang.String locale)

        API для изменение логина или пароля текущего пользователя.

        URL rest/api/filecabinet/user/changeCredentials
        Method POST

        Parameters:
        login - новый логин, x-www-form-urlencoded
        password - новый пароль, x-www-form-urlencoded
        passwordConfirm - подтвержение нового пароля, x-www-form-urlencoded
        actionCode - тип дейтсвия. CHANGE_ALL - смена логина и пароля, CHANGE_LOGIN - смена логина, CHANGE_PASSWORD - смена пароля. x-www-form-urlencoded
        locale - локаль, x-www-form-urlencoded
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке.
      • deleteUser

        public java.lang.String deleteUser(java.lang.String userID,
                                           java.lang.String locale)

        Метод удаляет пользователя из системы

        URL rest/api/filecabinet/user/delete
        Method GET

        Parameters:
        userID - UUID пользователя, которого надо удалить (QueryParam)
        locale - локаль пользователя, выполняющего действие (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке.
      • checkExistence

        public java.lang.String checkExistence(java.lang.String login,
                                               java.lang.String code,
                                               java.lang.String mail,
                                               boolean loadData,
                                               java.lang.String term)

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

        URL rest/api/filecabinet/user/checkExistence
        Method GET

        Parameters:
        login - логин пользователя (QueryParam)
        code - код пользователя (QueryParam)
        mail - код пользователя (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке. (при ошибке) result - true/false (при успешнов выполнении)
      • getUsersByFieldValue

        public java.lang.String getUsersByFieldValue(java.lang.String formUUID,
                                                     java.lang.String formCode,
                                                     java.lang.String fieldName,
                                                     java.lang.String value,
                                                     java.lang.String locale)

        ВНИМАНИЕ! Логика данного метода реализована некорректно, поэтому не рекомендуем его использовать. В скором времени метод будет заменен на правильный

        Находит пользователей по значению поля дополнительной карточки и возвращает список их идентификаторов

        URL rest/api/filecabinet/get_by_field_value
        Method GET


        Предполагается, что данный метод будет использоваться для реализации интеграционных решений (синхронизации пользователей ARTA Synergy с пользователями сторонней системы). В дополнительной карточке пользователя может храниться идентификатор соответствующего пользователя в сторонней системе (или иное поле, присутствующее в обоих системах и позволяющее установить соответствие между пользователями, например, ИИН) этот метод позволит найти идентификатор пользователя в нашей системе по его идентификатору из сторонней системы

        Поиск производится по сначала по ключу, а в случае отсутствия ключа - по значению (key и value из данных компонента, /api/asforms/data/{dataUUID}).

        Для компонента "Переключатель вариантов" это порядок обратный, сначала по value, затем - по key. Надо учитывать, что в этом компоненте из-за особенностей реализации в key хранится название вариантов, а в value - значение.

        Parameters:
        formUUID - uuid формы, по полю которой необходимо произвести поиск
        formCode - uuid формы, по полю которой необходимо произвести поиск
        fieldName - название поля, по которому необходимо произвести поиск
        value - значение поля
        locale - локаль пользователя
        Returns:
        список, состоящий из идентификаторов пользователей
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.filecabinet

Class PositionsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.filecabinet.PositionsService


  • public class PositionsService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 23.08.13 Time: 18:08

    Содержит методы для управления должностями, назначением на должности

    • Constructor Summary

      Constructors 
      Constructor and Description
      PositionsService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String appointAssistant(java.lang.String nameRu, java.lang.String nameKz, java.lang.String nameEn, int number, java.lang.String departmentID, java.util.List<java.lang.String> childDepartmentID, java.lang.String userID, java.lang.String locale)
      Метод создает должность заместителя подразделения и назначает на него пользователя

      URL rest/api/positions/assistant/appoint
      Method POST

      java.lang.String appointToPosition(java.lang.String positionID, java.lang.String userID, java.lang.String locale)
      Метод назначает на должность специалиста/руководителя подразделения

      URL rest/api/positions/appoint
      Method GET

      java.lang.String deleteAssistant(java.lang.String assistantID, java.lang.String locale)
      Метод удаляет должность заместителя и увольняет с нее назначенного пользователя

      URL rest/api/positions/assistant/delete
      Method GET

      java.lang.String deletePosition(java.lang.String positionID, java.lang.String locale)
      Метод удаляет должность специалиста

      URL rest/api/positions/delete
      Method GET

      java.lang.String dischargeFromPosition(java.lang.String positionID, java.lang.String userID, java.lang.String locale)
      Метод снимает с должности специалиста/руководителя подразделения

      URL rest/api/positions/discharge
      Method GET

      java.lang.String getAssistants(java.lang.String departmentID, java.lang.String locale)
      Возвращает информацию о заместителях руководителя подразделения

      URL rest/api/positions/assistant/get
      Method GET

      java.lang.String getPosition(java.lang.String positionID, java.lang.String locale)
      Метод возвращает информацию о должности

      URL rest/api/positions/get
      Method GET

      java.lang.String getPositionCards(java.lang.String positionID, java.lang.String locale)
      Возвращает список дополнительных карточек для данной должности

      URL rest/api/positions/get_cards
      Method GET


      Для заполнения полей карточки надо использовать метод APIFormsService#save

      java.lang.String getPositionsByFieldValue(java.lang.String formUUID, java.lang.String formCode, java.lang.String fieldName, java.lang.String value, java.lang.String locale)
      ВНИМАНИЕ!
      Response getPositionsWithCards(java.lang.String departmentID, int startRecord, int recordsCount, java.lang.String locale)
      Метод для получения информации о должностях департамента с карточками

      URL /rest/api/positions/getPositionsWithCards
      Method GET

      Можно указать несколько компонентов для каждой карточки.

      java.lang.String getUserID() 
      java.lang.String saveAssistant(java.lang.String nameRu, java.lang.String nameKz, java.lang.String nameEn, int number, java.lang.String departmentID, java.util.List<java.lang.String> childDepartmentID, java.lang.String userID, java.lang.String assistantID, java.lang.String locale)
      Метод изменяет данные заместителя руководителя

      URL rest/api/positions/assistant/save
      Method POST

      java.lang.String savePosition(java.lang.String nameRu, java.lang.String nameKz, java.lang.String nameEn, java.lang.String pointersCode, java.lang.String departmentID, java.lang.String positionID, int positionType, int number, java.lang.String locale)
      Метод создает/изменяет должность (специалиста/руководителя) орг структуры

      URL rest/api/positions/save
      Method POST

      Response searchPositions(java.util.List<java.lang.String> pointerCodes, java.lang.String pointerCodeSearchTypeP, java.util.List<java.lang.String> names, java.lang.String nameSearchTypeP, java.util.List<java.lang.String> codes, java.lang.String codeSearchTypeP, java.lang.String deleted, int recordsCount, int startRecord, java.lang.String locale)
      Метод поиска должностей URL: /rest/api/positions/search Тип: GET Метод принимает следующие параметры: name - название должности (необяз.), может быть передано несколько значений code - шифр должности (необяз.), может быть передано несколько значений pointer_code - код показателя (необяз.), может быть передано несколько значений recordsCount - количество результатов, которые необходимо вернуть (по умолчанию 30).
      Response searchPositionWithCardFields(int startRecord, int recordsCount, boolean showAll, boolean showOnlyVacant, java.lang.String locale, java.lang.String userID, java.lang.String search, java.lang.String departmentID, java.lang.String filterDepartmentID, java.lang.String filterUserID, java.lang.String formID, java.util.List<java.lang.String> cmpIds)
      получение списка должностей с полями карточек
      url: /rest/api/positions/searchPositionWithCardFields
      method : GET
      startRecord - по умолчанию 0
      recordsCount - по умолчанию 30
      locale - локаль
      departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
      search параметр текстового поиска
      showAll - false по умолчанию; отображать все должности (false - отображать подчиненные должности)
      showOnlyVacant - false по умолчанию, отображать только вакантные должности (по ним определяется максимальный уровень иерархии верх который нужно отображать и подчиненные должности)
      userID пользователь от имени которого выполнять поиск
      filterDepartmentID идентификатор непосредственного родительского подразделения
      filterUserID идентификатор пользователя чьи должности необходимо показать
      formID идентификатор формы поля карточки которой нужно поднять
      cmpId идентификаторы полей (можно передавать несколько cmpId=id1&cmpId=id2&cmpId=id3 и так далее)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PositionsService

        public PositionsService()
    • Method Detail

      • savePosition

        public java.lang.String savePosition(java.lang.String nameRu,
                                             java.lang.String nameKz,
                                             java.lang.String nameEn,
                                             java.lang.String pointersCode,
                                             java.lang.String departmentID,
                                             java.lang.String positionID,
                                             int positionType,
                                             int number,
                                             java.lang.String locale)

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

        URL rest/api/positions/save
        Method POST

        Parameters:
        nameRu - Название должности на русском языке, FormParam
        nameKz - Название должности на казахском языке, FormParam
        nameEn - Название должности на английском языке, FormParam
        pointersCode - код показателя, FormParam
        positionID - UUID должности, FormParam
        departmentID - UUID родительского подразделения, FormParam
        positionType - тип должности, FormParam
        number - порядковый номер дожности, может отсутствовать, FormParam
        locale - локаль, QueryParam
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке. В случае успешного выполнения так же возвращается positionID идентификатор созданной/измененной должности
      • deletePosition

        public java.lang.String deletePosition(java.lang.String positionID,
                                               java.lang.String locale)

        Метод удаляет должность специалиста

        URL rest/api/positions/delete
        Method GET

        Parameters:
        positionID - UUID должности, которую необходимо удалить (QueryParam)
        locale - локаль (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке/успешном выполнении
      • getPosition

        public java.lang.String getPosition(java.lang.String positionID,
                                            java.lang.String locale)

        Метод возвращает информацию о должности

        URL rest/api/positions/get
        Method GET

        Parameters:
        positionID - UUID должности (QueryParam)
        locale - локаль (QueryParam)
        Returns:
      • getPositionsWithCards

        public Response getPositionsWithCards(java.lang.String departmentID,
                                              int startRecord,
                                              int recordsCount,
                                              java.lang.String locale)

        Метод для получения информации о должностях департамента с карточками

        URL /rest/api/positions/getPositionsWithCards
        Method GET

        Можно указать несколько компонентов для каждой карточки. При этом необходимо будет указать параметр positionFormID и один или несколько cmpID.
        При указании одновременно нескольких наборов параметров необходимо дополнительно передать параметры поиска, прибавив к названиям параметров
        порядковый номер набора параметров. Количество наборов параметров, которые можно добавить неограничено. Главное соблюдать правильную нумерацию
        названий параметров: 1, 2, 3 и т.д. Первый набор не имеет порядкового номера. Таким образом, метод получит дополнительный набор параметров
        positionFormID1, cmpID1, positionFormID2, cmpID2 и т.д.Соотношение positionFormIDx к cmpIDx - один ко многим.
        Пример запроса:
        /rest/api/positions/getPositionsWithCards?departmentID=4df92af0-da1d-11e5-9c63-1e88d1bc0767&positionFormID=373c3270-cf0b-11e5-a154-1e88d1bc0767&cmpID=category&cmpID=rang
        &positionFormID1=23727710-cf22-11e5-a154-1e88d1bc0767&cmpID1=group&positionFormID2=13727710-cf22-11e5-a154-1e88d1bc0767&cmpID2=text&cmpID2=date

        Parameters:
        departmentID - идентификатор подразделения, должности которого необходимо вернуть;
        recursive - флаг рекурсивности поиска должностей (по умолч. false, необязательный):
        • true - поиск производится по всему дереву подразделения;
        • false - поиск производится непосредственно в указанном подразделении;

        cmpIsNeeded - флаг необходимости возврата полей карточки (по умолч. true, не обязательный). Принимает значения:
        • true - возврат полей карточки требуется;
        • false - возврат полей карточки не требуется;

        positionFormID - идентификатор карточки должностей, данные которой необходимо вернуть,обязателен, если в запросе не указан параметр cmpIsNeeded=false;
        positionFormCode - код карточки должностей, данные которой необходимо вернуть,обязателен, если в запросе не указан параметр cmpIsNeeded=false;
        cmpID - идентификатор элемента формы, информацию из которого необходимо вернуть. Может быть передано несколько значений, обязателен, если в запросе не указан параметр cmpIsNeeded=false;
        startRecord - номер записи результатов, начиная с которой будут возвращены записи(по умолчанию 0, не обязательный);
        recordsCount - количество результатов, которые необходимо вернуть (по умолчанию 30, максимум 50, не обязательный);
        locale - локаль;
        Returns:
        В случае успешного выполнения метод возвращает JSON в виде объектов с ключами по positionFormID и cmpID:
        • positionID - идентификатор должности;
        • positionName - наименование должности;
        • positionType - тип должности, один из следующих вариантов:
          • 1 - Руководитель;
          • 2 - Специалист;
          • 32 - Исполняющий обязанности;
          • 256 - Заместитель;
        • formUUID - идентификатор формы карточки должности;
        • formCode - код формы карточек должностей;
        • cmpData - данные из поля в карточке должностей.

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

         [
         { "positionID": "81ac53f0-c351-11e5-ab17-1e88d1bc0767",
          "positionName": "Водитель",
          "positionType": "256",
          "forms":[
            {
               "formUUID":"373c3270-cf0b-11e5-a154-1e88d1bc0767",
               "formCode":"form_code",
               "asfDataUUID":"41fd8240-b822-11e5-8630-525400bb7fc6",
            "values":[
               { "category":"2" },
               { "rang":"5" } ]
         },
         {
           "formUUID":"23727710-cf22-11e5-a154-1e88d1bc0767",
           "formCode":"form_code",
          "asfDataUUID":"182eeca0-d98e-11e5-8c91-525400bb7fc6",
           "values":[
               { "group":"основная" } ]
         },
         {
           "formUUID":"13727710-cf22-11e5-a154-1e88d1bc0767",
           "formCode":"form_code",
           "asfDataUUID":"45dg8240-b822-11e5-8630-525400bb7fc6",
           "values":[
               { "text":"Добавить в штатное расписание" },
               { "date":"2016-05-02" } ]
         }
           ]
         },
         { "positionID": "693616c0-d49b-11e5-a5fb-1e88d1bc0767",
          "positionName": "Водитель",
          "positionType": "2",
          "forms":[
          {
            "formUUID":"373c3270-cf0b-11e5-a154-1e88d1bc0767",
            "formCode":"form_code",
            "asfDataUUID":"c952f930-cfd5-11e5-bae8-525400bb7fc6",
            "values":[
               { "category":"3" },
               { "rang":"7" } ]
         },
         {
           "formUUID":"23727710-cf22-11e5-a154-1e88d1bc0767",
           "formCode":"form_code",
           "asfDataUUID":"1d8b0c40-91dd-11e5-9fa7-525400bb7fc6",
           "values":[
               { "group":"вспомогательная" } ]
         },
         {
           "formUUID":"13727710-cf22-11e5-a154-1e88d1bc0767",
           "formCode":"form_code",
           "asfDataUUID":"26lg8240-25jz-11e5-8630-525400bb7fc6",
           "values":[
               { "text":"Есть в штатном расписании" },
               { "date":"2015-06-02" } ]
               }
         ]
         },
         { "positionID": "ccee5340-c991-11e5-afba-1e88d1bc0767",
          "positionName": "Водитель",
          "positionType": "2",
          "forms":[
         {
            "formUUID":"373c3270-cf0b-11e5-a154-1e88d1bc0767",
            "formCode":"form_code",
            "asfDataUUID":"822ac240-b428-11e5-8630-525400bb7fc6",
            "values":[
               { "category":"2" },
               { "rang":"6" } ]
         },
         {
           "formUUID":"23727710-cf22-11e5-a154-1e88d1bc0767",
           "formCode":"form_code",
           "asfDataUUID":"39877130-9f17-11e5-9ae6-525400bb7fc6",
           "values":[
               { "group":"обслуживающая" } ]
         },
         {
           "formUUID":"13727710-cf22-11e5-a154-1e88d1bc0767",
           "formCode":"form_code",
           "asfDataUUID":"d66dd140-b822-11e5-8630-525400bb7fc6",
           "values":[
               { "text":"Добавить в штатное расписание" },
               { "date":"2016-02-15" } ]
         }
           ]
         }
         ]
         

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

         {
         "errorCode": 13,
         "errorMessage": "Передан некорректный параметр departmentID"
         }
         
        Код ответа для внутренней ошибки - HTTP 500(INTERNAL_SERVER_ERROR), для неверных параметров - HTTP 400(BAD_REQUEST)
      • appointToPosition

        public java.lang.String appointToPosition(java.lang.String positionID,
                                                  java.lang.String userID,
                                                  java.lang.String locale)

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

        URL rest/api/positions/appoint
        Method GET

        Parameters:
        positionID - UUID должности на которую надо назначить специалиста (QueryParam)
        userID - UUID пользоватля, которого надо назначить на должность (QueryParam)
        locale - локаль пользователя, вызвавшего метод (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке/успешном выполнении
      • dischargeFromPosition

        public java.lang.String dischargeFromPosition(java.lang.String positionID,
                                                      java.lang.String userID,
                                                      java.lang.String locale)

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

        URL rest/api/positions/discharge
        Method GET

        Parameters:
        positionID - UUID должности (QueryParam)
        userID - UUID пользователя, которого надо снять с должности positionID (QueryParam)
        locale - локаль пользователя, вызвавшего метод (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке/успешном выполнении
      • appointAssistant

        public java.lang.String appointAssistant(java.lang.String nameRu,
                                                 java.lang.String nameKz,
                                                 java.lang.String nameEn,
                                                 int number,
                                                 java.lang.String departmentID,
                                                 java.util.List<java.lang.String> childDepartmentID,
                                                 java.lang.String userID,
                                                 java.lang.String locale)

        Метод создает должность заместителя подразделения и назначает на него пользователя

        URL rest/api/positions/assistant/appoint
        Method POST

        Parameters:
        nameRu - название должности на русском языке (FormParam)
        nameKz - название должности на казахском языке (FormParam)
        nameEn - название должности на русском языке (FormParam)
        departmentID - UUID родительского департамента (FormParam)
        childDepartmentID - UUID-ы дочерних подразделений (FormParam)
        userID - UUID пользователя которого надо назначить на должность (FormParam)
        number - порядковый номер для сортировки (по умолчанию 0) (FormParam)
        locale - локаль пользователя, вызвавшего метод (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке. В случае успешного выполнения так же возвращается assistantID идентификатор созданной должности заместителя
      • saveAssistant

        public java.lang.String saveAssistant(java.lang.String nameRu,
                                              java.lang.String nameKz,
                                              java.lang.String nameEn,
                                              int number,
                                              java.lang.String departmentID,
                                              java.util.List<java.lang.String> childDepartmentID,
                                              java.lang.String userID,
                                              java.lang.String assistantID,
                                              java.lang.String locale)

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

        URL rest/api/positions/assistant/save
        Method POST

        Parameters:
        nameRu - название должности на русском языке (FormParam)
        nameKz - название должности на казахском языке (FormParam)
        nameEn - название должности на русском языке (FormParam)
        departmentID - UUID родительского департамента (FormParam)
        childDepartmentID - UUID-ы дочерних подразделений (FormParam)
        userID - UUID пользователя которого надо назначить на должность (FormParam)
        number - порядковый номер для сортировки (по умолчанию 0) (FormParam)
        assistantID - идентификатор заместителя (FormParam)
        locale - локаль пользователя, вызвавшего метод (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке. В случае успешного выполнения так же возвращается assistantID идентификатор созданной должности заместителя
      • getAssistants

        public java.lang.String getAssistants(java.lang.String departmentID,
                                              java.lang.String locale)

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

        URL rest/api/positions/assistant/get
        Method GET

        Parameters:
        departmentID - идентификатор подразделения, для которого необходимо получить заместителей
        locale - локаль пользователя
        Returns:
        список заместителей, см FileCabinetWrapper#getAssistantJson
        See Also:
        FileCabinetWrapper#getAssistantJson(arta.synergy.web.common.client.data.filecabinet.Assistant)
      • deleteAssistant

        public java.lang.String deleteAssistant(java.lang.String assistantID,
                                                java.lang.String locale)

        Метод удаляет должность заместителя и увольняет с нее назначенного пользователя

        URL rest/api/positions/assistant/delete
        Method GET

        Parameters:
        assistantID - UUID должности заместителя
        locale - локаль пользователя, вызвавшего метод
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке
      • getPositionCards

        public java.lang.String getPositionCards(java.lang.String positionID,
                                                 java.lang.String locale)

        Возвращает список дополнительных карточек для данной должности

        URL rest/api/positions/get_cards
        Method GET


        Для заполнения полей карточки надо использовать метод APIFormsService#save

        Parameters:
        positionID - uuid должности
        locale - локаль пользователя
        Returns:
        список json объектов с информацией о карточке должности, для каждой карточки присутствуют поля:
        form-uuid uuid формы
        formCode код формы
        name название карточки
        editable true - есть право наредактирование, иначе - false
        data-uuid uuid данных по данной карточке
        mandatory true - карточкая обязательна для заполнения, иначе - false
        See Also:
        APIFormsService#save(String, String, String, boolean, String)
      • getPositionsByFieldValue

        public java.lang.String getPositionsByFieldValue(java.lang.String formUUID,
                                                         java.lang.String formCode,
                                                         java.lang.String fieldName,
                                                         java.lang.String value,
                                                         java.lang.String locale)

        ВНИМАНИЕ! Логика данного метода реализована некорректно, поэтому не рекомендуем его использовать. В скором времени метод будет заменен на правильный

        Находит должности по значению поля дополнительной карточки и возвращает список их идентификаторов

        URL rest/api/positions/get_by_field_value
        Method GET


        Предполагается, что данный метод будет использоваться для реализации интеграционных решений (синхронизации орг структуры ARTA Synergy с орг структурой сторонней системы). В дополнительной карточке должности может храниться идентификатор соответствующей должности в сторонней системе, этот метод позволит найти идентификатор должности в нашей системе по ее идентификатору в сторонней системы

        Поиск производится по сначала по ключу, а в случае отсутствия ключа - по значению (key и value из данных компонента, /api/asforms/data/{dataUUID}).

        Для компонента "Переключатель вариантов" это порядок обратный, сначала по value, затем - по key. Надо учитывать, что в этом компоненте из-за особенностей реализации в key хранится название вариантов, а в value - значение.

        Parameters:
        formUUID - идентификатор формы
        formCode - код формы
        fieldName - название поля
        value - значение поля
        locale - локаль пользователя
        Returns:
        список идентификаторов должностей
      • getUserID

        public java.lang.String getUserID()
      • searchPositions

        public Response searchPositions(java.util.List<java.lang.String> pointerCodes,
                                        java.lang.String pointerCodeSearchTypeP,
                                        java.util.List<java.lang.String> names,
                                        java.lang.String nameSearchTypeP,
                                        java.util.List<java.lang.String> codes,
                                        java.lang.String codeSearchTypeP,
                                        java.lang.String deleted,
                                        int recordsCount,
                                        int startRecord,
                                        java.lang.String locale)

        Метод поиска должностей

        URL: /rest/api/positions/search

        Тип: GET

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

        • name - название должности (необяз.), может быть передано несколько значений
        • code - шифр должности (необяз.), может быть передано несколько значений
        • pointer_code - код показателя (необяз.), может быть передано несколько значений
        • recordsCount - количество результатов, которые необходимо вернуть (по умолчанию 30). Максимальное значение параметра 100
        • startRecord - номер записи результатов, начиная с которой будут возвращены записи (по умолчанию 0)
        • searchTypeN - тип сравнения для параметра name (по умолчанию partial). Может принимать следующие значения:
          • exact - точное совпадение поискового запроса и значения поля
          • partial - вхождение поискового запроса в значение поля
        • searchTypeC - тип сравнения для параметра code (по умолчанию partial). Может принимать следующие значения:
          • exact - точное совпадение поискового запроса и значения поля
          • partial - вхождение поискового запроса в значение поля
        • searchTypePC - тип сравнения для параметра pointer_code (по умолчанию exact). Может принимать следующие значения:
          • exact - точное совпадение поискового запроса и значения поля
          • partial - вхождение поискового запроса в значение поля
        • deleted - включать ли в результат поиска удаленные должности. Допустимые значения: true или false
        • locale - локаль пользователя. Данный параметр учитывается при поиске по названию должности

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

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

        /rest/api/positions/search?name=Администратор&name=Менеджер

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

        [ "rgg66d1-ad54-5462-aef5-aggrr55fd02a", "vgikwj4c6-88gh-ef44-3ffe-oepjfee5d6" ]

        При указании одновременно разных параметров результат запроса будет связан логическим И.

        Пример запроса: /rest/api/positions/search?pointer_code=dep5&code=TRJ163

        А при указании одновременно одинаковых параметров, результат будет производится по логическому ИЛИ.

        Пример запроса: /rest/api/positions/search?name=Админ&name=Ассистент

        В случае если по переданным входным параметрам ничего не найдено, сервер возвращает пустой массив.

      • searchPositionWithCardFields

        public Response searchPositionWithCardFields(int startRecord,
                                                     int recordsCount,
                                                     boolean showAll,
                                                     boolean showOnlyVacant,
                                                     java.lang.String locale,
                                                     java.lang.String userID,
                                                     java.lang.String search,
                                                     java.lang.String departmentID,
                                                     java.lang.String filterDepartmentID,
                                                     java.lang.String filterUserID,
                                                     java.lang.String formID,
                                                     java.util.List<java.lang.String> cmpIds)
        получение списка должностей с полями карточек
        url: /rest/api/positions/searchPositionWithCardFields
        method : GET
        startRecord - по умолчанию 0
        recordsCount - по умолчанию 30
        locale - локаль
        departmentID идентификатора департамент чьи дочерние должности (всю иерархию) нужно вернуть
        search параметр текстового поиска
        showAll - false по умолчанию; отображать все должности (false - отображать подчиненные должности)
        showOnlyVacant - false по умолчанию, отображать только вакантные должности (по ним определяется максимальный уровень иерархии верх который нужно отображать и подчиненные должности)
        userID пользователь от имени которого выполнять поиск
        filterDepartmentID идентификатор непосредственного родительского подразделения
        filterUserID идентификатор пользователя чьи должности необходимо показать
        formID идентификатор формы поля карточки которой нужно поднять
        cmpId идентификаторы полей (можно передавать несколько cmpId=id1&cmpId=id2&cmpId=id3 и так далее)
        Returns:
        массив найденных должностей поля возвращаемой сущности
        code код
        departmentName наименование департамента
        elementID идентификатор должности
        elementName наименование должности
        translation не используется
        type не используется
        customFields дополнительные поля тут будет информация о карточке должности и полях (cmpIds)
        например
        customFields.asfDataId - идентификатор файла по форме карточки должности
        customFields.cmpId1_key - ключ значения поля карточки 1
        customFields.cmpId1_value - значение поле карточки 1
        customFields.cmpId2_key - ключ значения поля карточки 2
        customFields.cmpId2_value - значение поле карточки 2

        если в процессе произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
kz.arta.synergy.api.rest.cors

Class AccessForbiddenServlet

  • java.lang.Object
    • HttpServlet
      • kz.arta.synergy.api.rest.cors.AccessForbiddenServlet


  • public class AccessForbiddenServlet
    extends HttpServlet
    Created by exile Date: 08.08.16 Time: 16:28 класс обрабатывает 401 ошибку
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String WWW_AUTHENTICATE
      наименование хедера мы меняем этот хедер чтобы браузер не показывал свое окошко с вводом логина и пароля
      static java.lang.String WWW_AUTHENTICATE_VALUE 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void service(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • WWW_AUTHENTICATE

        public static final java.lang.String WWW_AUTHENTICATE
        наименование хедера мы меняем этот хедер чтобы браузер не показывал свое окошко с вводом логина и пароля
        See Also:
        Constant Field Values
      • WWW_AUTHENTICATE_VALUE

        public static final java.lang.String WWW_AUTHENTICATE_VALUE
        See Also:
        Constant Field Values
    • Constructor Detail

      • AccessForbiddenServlet

        public AccessForbiddenServlet()
    • Method Detail

      • service

        protected void service(HttpServletRequest httpServletRequest,
                               HttpServletResponse httpServletResponse)
                        throws ServletException,
                               java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.api.rest.report

Class ReportService

  • java.lang.Object
    • kz.arta.synergy.api.rest.report.ReportService


  • public class ReportService
    extends java.lang.Object
    Класс отвечает за API взаимодействия с модулем отчетов. User: MGetmanov Date: 05.09.14 Time: 11:32
    • Constructor Summary

      Constructors 
      Constructor and Description
      ReportService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response getReport(java.lang.String fileName, java.lang.String reportID, java.lang.String reportCode, java.lang.String parentIdentifier, java.lang.Boolean inline)
      Метод позволяет получить результат выполнения отчета для пользователя.
      java.lang.String getReportListForUser()
      Метод позволяет получить информацию о доступных текущему пользователю отчетов.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReportService

        public ReportService()
    • Method Detail

      • getReportListForUser

        public java.lang.String getReportListForUser()
        Метод позволяет получить информацию о доступных текущему пользователю отчетов. Данные передаются в формате JSON в кодировке utf-8. JSON имеет поля: reportID - идентификатор отчета nameen - название отчета для англоязычной локали nameru - название отчета для русскоязычной локали namekz - название отчета для казахскоязычной локали defaultName - имя файла по умолчанию fileName - имя файла objectType - идентификатор objectType отчета. Object Type - задается битовой маской

        Объект конфигуратора - 0

        Тип объекта цель - 2

        Тип объекта поручение - 4

        Тип объекта мероприятие (план) - 64

        Тип объекта Задача - 8

        Тип объекта показатель - 16

        Пользователь - 32

        План - 256

        Портфель проектов - 128

        Документ в журнале документов - 1024

        Процесс - 512

        Департамент - 2048

        Должность - 4096

        Маршрут - 8192

        Карта - 16384

        Файл - 32768

        Реестр - 65536

        Карточка документа - 131072

        Группа - 262144

        loadType - идентификатор типа загрузки отчета

        1 - загрузить файл, 2 - сохранить в хранилище

        Так же предаются параметры для каждого отчета. Они предаются в поле params, являющимся массивом JSON объектов Объект с описанием параметров содержит поля: code - Код параметра label - Подпись параметра value - Значение параметра по умолчанию type - Java класс, определяющий тип данных принимаемым в качетсве объекта параметра isOptional - является ли данный параметр опциональным

        Для обращения к API методу необходимо обратиться по URL [SYNERGY_HOST]/Synergy/rest/api/report/list

        Returns:
        - JSON с результатами запроса
      • getReport

        public Response getReport(java.lang.String fileName,
                                  java.lang.String reportID,
                                  java.lang.String reportCode,
                                  java.lang.String parentIdentifier,
                                  java.lang.Boolean inline)
        Метод позволяет получить результат выполнения отчета для пользователя. Данные передаются в формате JSON в кодировке utf-8 или байтовым потоком - в зависимости от настроек отчета. При передаче параметров необходимо учитывать, что идентификаторы параметров регистрозависимые JSON имеет поля: reportDate - Дата создания отчета в формате GWT identifier - идентификатор файла отчета в хранилище path - путь отчету в хранилище parentIdentifier - (не обязательный) идентификатор родительской директории, если не передан, то метод возвращает отчет в виде файла. В случае если отчет требует передачи параметров они должны быть переданы в url параметрах. Например если отчет требует передачи userID то в строку запроса необходимо добавить &userID=[USER_ID]. Для параметров users_names, user_names, department_name, departments_name, action_name, actions_name нужно передавать соответствующие идентификаторы. В случае перечисления идентификаторы разделять запятыми. Например, &user_names=userID1, userID2 Обязательные параметры для отчета обязательно должны присутствовать в строке запроса. Для обращения к API методу необходимо обратиться по URL [SYNERGY_HOST]/Synergy/rest/api/report/do
        Parameters:
        fileName - - требуемое имя файла. Если имя файла не было передано то будет использовано имя файла по умолчанию.
        reportID - - идентификатор отчета
        reportCode - - код отчета
        parentIdentifier - - идентификатор папки для сохранения отчета
        inline - - тип передачи (true - inline/false - attachment)
        Returns:
        - результат выполнения запроса
kz.arta.synergy.api.rest.storage

Class FileDownloadServlet

  • java.lang.Object
    • DefaultHttpServlet
      • kz.arta.synergy.api.rest.storage.FileDownloadServlet


  • public class FileDownloadServlet
    extends DefaultHttpServlet
    Created by IntelliJ IDEA. User: neox Date: 06.02.2015 Time: 14:07:12 Сервелет для загрузки исходного файла
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void doGet(HttpServletRequest req, HttpServletResponse res) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FileDownloadServlet

        public FileDownloadServlet()
    • Method Detail

      • doGet

        protected void doGet(HttpServletRequest req,
                             HttpServletResponse res)
                      throws ServletException,
                             java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.api.rest.storage

Class StorageGroupsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.storage.StorageGroupsService


  • public class StorageGroupsService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 26.05.13 Time: 16:37 To change this template use File | Settings | File Templates.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String addUserToGroup(java.lang.String userID, int groupID, java.lang.String groupCode, java.lang.String locale)
      Метод добавляет пользователя в группу

      URL rest/api/storage/groups/add_user
      Method GET

      java.lang.String getGroups(java.lang.String locale, int startRecord, int recordsCount)
      Метод возвращает список групп

      URL rest/api/storage/groups/list
      Method GET

      java.lang.String getUserID() 
      java.lang.String removeUserFromGroup(java.lang.String userID, int groupID, java.lang.String groupCode, java.lang.String locale)
      Удаляет пользователя из группы

      URL rest/api/storage/groups/remove_user
      Method GET

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StorageGroupsService

        public StorageGroupsService()
    • Method Detail

      • addUserToGroup

        public java.lang.String addUserToGroup(java.lang.String userID,
                                               int groupID,
                                               java.lang.String groupCode,
                                               java.lang.String locale)

        Метод добавляет пользователя в группу

        URL rest/api/storage/groups/add_user
        Method GET

        Parameters:
        userID - идентификатор пользователя
        groupID - идентификатор группы
        groupCode - код группы
        locale -
        Returns:
      • removeUserFromGroup

        public java.lang.String removeUserFromGroup(java.lang.String userID,
                                                    int groupID,
                                                    java.lang.String groupCode,
                                                    java.lang.String locale)

        Удаляет пользователя из группы

        URL rest/api/storage/groups/remove_user
        Method GET

        Parameters:
        userID - идентификатор пользователя
        groupID - идентификатор группы
        groupCode - код группы
        locale -
        Returns:
      • getGroups

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

        Метод возвращает список групп

        URL rest/api/storage/groups/list
        Method GET

        Parameters:
        locale - локаль авторизованного пользователя
        startRecord - номер первой записи
        recordsCount - количество записей в списке
        Returns:
        json объект - список групп, для каждой группы указаны:
        groupID - идентификатор группы
        groupCode - код группы
        name - название группы
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.storage

Class PDFDownloadServlet

  • java.lang.Object
    • DefaultHttpServlet
      • kz.arta.synergy.api.rest.storage.PDFDownloadServlet


  • public class PDFDownloadServlet
    extends DefaultHttpServlet
    Created by IntelliJ IDEA. User: topa Date: 05.04.2010 Time: 16:17:12
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void doGet(HttpServletRequest req, HttpServletResponse res) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PDFDownloadServlet

        public PDFDownloadServlet()
    • Method Detail

      • doGet

        protected void doGet(HttpServletRequest req,
                             HttpServletResponse res)
                      throws ServletException,
                             java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.api.rest.storage

Class ASFFileServlet

  • java.lang.Object
    • DefaultHttpServlet
      • kz.arta.synergy.api.rest.storage.ASFFileServlet


  • public class ASFFileServlet
    extends DefaultHttpServlet
    Created by val Date: 01.04.2013 Time: 16:27
    • Constructor Summary

      Constructors 
      Constructor and Description
      ASFFileServlet() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void doGet(HttpServletRequest req, HttpServletResponse res) 
      protected void doPost(HttpServletRequest req, HttpServletResponse res) 
      java.util.Map<java.lang.String,java.lang.Object> getImportingForms() 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ASFFileServlet

        public ASFFileServlet()
    • Method Detail

      • doPost

        protected void doPost(HttpServletRequest req,
                              HttpServletResponse res)
                       throws ServletException,
                              java.io.IOException
        Throws:
        ServletException
        java.io.IOException
      • doGet

        protected void doGet(HttpServletRequest req,
                             HttpServletResponse res)
                      throws ServletException,
                             java.io.IOException
        Throws:
        ServletException
        java.io.IOException
      • getImportingForms

        public java.util.Map<java.lang.String,java.lang.Object> getImportingForms()
kz.arta.synergy.api.rest.storage

Class IconServlet

  • java.lang.Object
    • HttpServlet
      • kz.arta.synergy.api.rest.storage.IconServlet


  • public class IconServlet
    extends HttpServlet
    Created by IntelliJ IDEA. User: topa Date: 05.07.13 Time: 16:51 To change this template use File | Settings | File Templates.
    • Constructor Summary

      Constructors 
      Constructor and Description
      IconServlet() 
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      static void init(ServletContext cnxt) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IconServlet

        public IconServlet()
    • Method Detail

      • init

        public static void init(ServletContext cnxt)
      • doGet

        protected void doGet(HttpServletRequest request,
                             HttpServletResponse response)
                      throws ServletException,
                             java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.api.rest.storage

Class StorageService

  • java.lang.Object
    • kz.arta.synergy.api.rest.storage.StorageService


  • public class StorageService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 04.09.13 Time: 10:33 To change this template use File | Settings | File Templates.
    • Constructor Summary

      Constructors 
      Constructor and Description
      StorageService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String add(java.lang.String folderID, java.lang.String path, java.lang.String name, java.lang.String locale)
      Метод используется для добавления файла в хранилище
      Тип: POST
      URL: rest/api/storage/add
      Response addFile(java.lang.String dataUUID, java.lang.String filePath, java.lang.String fileName, boolean overwrite)
      добавляет загруженный на сервер файл в файл по форме Path rest/api/storage/asffile/addFile
      Response addVersion(VersionFile versionFile)
      Загрузка новой версии файла на сервер

      URL: rest/api/storage/add/version
      Тип: POST
      { "fileId": "b7b469fa-62de-4462-adbd-f51d03dc854", "path": "/opt/synergy/jboss/standalone/tmp/Synergy/upload.tmp/516408e9-7094-45df-8ae7-e077b4d8daa2", "compareHash": false }
      Response asfFile(MultipartFormDataInput input, java.lang.String nodeID, java.lang.String dataUUID)
      загрузка файла в файл по форме (для реквестов более 2-х мегабайт работать не будет) Path rest/api/storage/asffile/upload
      Response canEditAsfData(java.lang.String documentId) 
      Response copy(java.util.Map<java.lang.String,java.lang.String> params)
      копировать файл из хранилища в файл по форме Path rest/api/storage/asffile/copy
      java.lang.String copy(java.lang.String fileID, java.lang.String documentID, java.lang.String container, java.lang.String locale)
      Метод используется для копирования файла из хранилища в документ
      Тип: POST
      URL: rest/api/storage/copy
      java.lang.String create(java.lang.String folderID, java.lang.String folderName, java.lang.String locale)
      Метод используется для создания папки в хранилище
      Тип: POST
      URL: rest/api/storage/create
      java.lang.String createAttachment(java.lang.String docID, java.lang.String path, java.lang.String fileName, java.lang.String filePath, java.lang.String locale)
      Метод добавляет вложение к документу из временного файла, загруженного на сервер с помощью API хранилища

      URL rest/api/storage/document/{docID}/attachment/create
      Method POST

      Response createHtd(java.util.Map<java.lang.String,java.lang.String> params) 
      Response getDescription(java.lang.String nodeId)
      Возвращает список версий
      java.lang.String getDescription(java.lang.String elementID, boolean mobile, java.lang.String locale)
      Возвращает детальную информацию папки/файла
      URL: rest/api/storage/description
      Тип: GET
      java.lang.String getIdentifierByPath(java.lang.String path)
      Получение идентификатора файла либо папки по пути

      URL: rest/api/storage/get_identifier_by_path
      Тип: GET

      java.lang.String getPathToElement(java.lang.String elementID, java.lang.String locale) 
      java.lang.String getUserID() 
      java.lang.String listFavoriteFolders()
      Метод возвращает избранные папки в хранилище Метод не принимает никакие параметры.
      java.lang.String listFiles(java.lang.String parentID, boolean getOnlyFolders, java.lang.String locale)
      Метод возвращает список файлов в папке с идентификатором parentID

      URL rest/api/storage/list
      Method GET

      java.lang.String move(java.lang.String elementID, java.lang.String folderID, java.lang.String locale)
      Метод используется для перемещения файла или папки в хранилище
      Тип: POST
      URL: rest/api/storage/move
      java.lang.String remove(java.lang.String elementID, java.lang.String locale)
      Метод используется для удаления файла или папки в хранилище
      Тип: POST
      URL: rest/api/storage/remove
      java.lang.String rename(java.lang.String elementID, java.lang.String elementName, java.lang.String locale)
      Метод используется для переименования файла/папки в хранилище
      Тип: POST
      URL: rest/api/storage/rename
      java.lang.String search(java.lang.String contains, java.lang.String notContains, java.util.List<java.lang.Integer> categoryID, java.lang.String aiType, java.lang.String folderID, java.lang.String modifiedFrom, java.lang.String modifiedTo, int sizeType, int sortType, boolean includeUnpublished, boolean includeExpired, boolean includeCompanions, int firstResult, int maxResult, java.lang.String searchArea, java.lang.String locale)
      Выполняет поиск в хранилище и возвращает список найденных файлов/папок

      URL rest/api/storage/search
      Method POST

      java.lang.String startUploadFile(java.lang.String locale)
      Метод создает временный файл на стороне сервера

      URL rest/api/storage/start_upload
      Method GET
      Метод создает временный файл, для дальнейшего его использования в процессе загрузки файла на сервер.

      java.lang.String uploadPart(MultipartFormDataInput input, java.lang.String file, java.lang.String locale)
      Дописывает байты во временный файл

      URL rest/api/storage/upload_part
      Method POST
      Enctype multipart/form-data

      название поля формы для части файла должно называться - body

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StorageService

        public StorageService()
    • Method Detail

      • startUploadFile

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

        Метод создает временный файл на стороне сервера


        URL rest/api/storage/start_upload
        Method GET

        Метод создает временный файл, для дальнейшего его использования в процессе загрузки файла на сервер. Метод возвращает путь к созданному файлу, который необходимо использовать далее в методе upload_part

        Процесс загрузки файла на сервер должен выглядить следующим образом:

        • 1. Вызываем метод start_upload и получаем путь ко временному файлу
        • 2. Записываем частями байты файла, несколько раз последовательно вызывая метод upload_part
        • 3. используем идентификатор файла в другом методе API, где это необходимо (добавление файла к работе, указание результата работы и т.п.)

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

        public java.lang.String uploadPart(MultipartFormDataInput input,
                                           java.lang.String file,
                                           java.lang.String locale)

        Дописывает байты во временный файл


        URL rest/api/storage/upload_part
        Method POST
        Enctype multipart/form-data

        название поля формы для части файла должно называться - body

        Parameters:
        file - имя временного файла, полученного методом startUploadFile (QueryParam)
        locale - локаль пользователя (QueryParam)
        Returns:
        See Also:
        startUploadFile(String)
      • getIdentifierByPath

        public java.lang.String getIdentifierByPath(java.lang.String path)
        Получение идентификатора файла либо папки по пути

        URL: rest/api/storage/get_identifier_by_path
        Тип: GET

        Parameters:
        path - путь до файла или папки хранилища
        Returns:
        json с описанием папки/файла:
        * identifier - идентификатор папки или файла;
        * is_folder (true/false) - папка («true») или файл («false»);
        * size - размер файла в байтах (для папки значение = 0);
        * path - полный путь до папки или файла;
        * name - название папки или файла;
        * modified - дата и время последнего изменения папки или файла (в формате yyyy-mm-dd hh:mm:ss);
        * userName - ФИО пользователя, выполнившего последнее изменение папки или файла (в формате Фамилия Имя О.);
        * userID - идентификатор пользователя, выполнившего последнее изменение папки или файла;
        * right - сумма чисел, определяющая набор прав на папку или файл;
        * mime - mime тип файла (отображается только при значении is_folder = «false»);
        * icon - ссылка до иконки файла (отображается только при значении is_folder = «false»).

        Пример возвращаемого json для папки http://host:port/Synergy/rest/api/storage/get_identifier_by_path?path=Хранилище/01_
             {
                "identifier": "6cacb59f-a1d6-447b-9f85-06829e942309",
                "is_folder": true,
                "size": "0",
                "path": "/company_root/01_",
                "name": "01_",
                "modified": "2013-05-24 16:15:03",
                "userName": "Admin1 Admin1 A.",
                "userID": "1",
                "right": 0,
                "notEmpty": true
             }
         
        
         Пример возвращаемого json для файла http://host:port/Synergy/rest/api/storage/get_identifier_by_path?path=Хранилище/01_/1.doc
         
             {
                "identifier": "d2a75a06-618a-4058-a6ae-99f8440d8973",
                "is_folder": false,
                "size": "2218",
                "path": "/company_root/01_/1.doc",
                "name": "1.doc",
                "modified": "2014-01-28 11:05:39",
                "userName": "Petrov Petrov ",
                "userID": "a8b370ee-138a-40a6-bd32-7f6435a1b4af",
                "right": 0,
                "mime": "text/html",
                "ai_type": "ai_text",
                "icon": "rest/api/storage/icons/get?aiType=ai_text&fileName=1.doc",
                "notEmpty": false
             }
         
      • listFiles

        public java.lang.String listFiles(java.lang.String parentID,
                                          boolean getOnlyFolders,
                                          java.lang.String locale)

        Метод возвращает список файлов в папке с идентификатором parentID


        URL rest/api/storage/list
        Method GET

        Parameters:
        parentID - - идентификатор папки, если не передан, то возвращаются все корневые папки, на которые пользователь имеет право, в том числе личная папка пользователя
        getOnlyFolders - - (true/false) - отображать ли только папки (не обяз., по умолчанию значение false);
        locale - - локаль пользователя
        Returns:
        json со списком файлов и папок:
        * identifier - идентификатор папки или файла;
        * is_folder (true/false) - папка («true») или файл («false»);
        * size - размер файла в байтах (для папки значение = 0);
        * path - полный путь до папки или файла;
        * name - название папки или файла;
        * modified - дата и время последнего изменения папки или файла (в формате yyyy-mm-dd hh:mm:ss);
        * userName - ФИО пользователя, выполнившего последнее изменение папки или файла (в формате Фамилия Имя О.);
        * userID - идентификатор пользователя, выполнившего последнее изменение папки или файла;
        * right - сумма чисел, определяющая набор прав на папку или файл;
        * mime - mime тип файла (отображается только при значении is_folder = «false»);
        * icon - ссылка до иконки файла (отображается только при значении is_folder = «false»).

        Пример возвращаемого массива для папок
           [
             {
               "identifier": "5719212b-97b9-4558-9e67-baa04d0adc62",
               "is_folder": true,
               "size": "0",
               "path": "/aiservice/home/ee71a4c6-888a-4f04-86de-44ab394f5749",
               "name": "Мои документы",
               "modified": "0007-05-04 10:12:00",
               "userName": "Слепаков Иван И.",
               "userID": "ee71a4c6-888a-4f04-86de-44ab394f5749",
               "right": 7,
              },
              {
                "identifier": "91d1816a-b30e-47ea-988c-bd8864daa253",
                "is_folder": true,
                "size": "0",
                "path": "/company_root",
                "name": "company_root",
                "modified": "2011-10-10 09:13:39",
                "userName": " ",
                "userID": "0000-0000-0000-0002",
                "right": 7,
              }
           ]
         
        Пример возвращаемого массива для файлов
           [
             {
               "identifier":"f5003070-3740-4920-a4c5-01f8bf440774",
               "is_folder":false,
               "size":"19644",
               "path":"/company_root/Проект/Файл1.odt",
               "name":"Файл1.odt",
               "modified":"2013-03-13 16:35:45",
               "userName":"Слепаков Иван И.",
               "userID":"ee71a4c6-888a-4f04-86de-44ab394f5749",
               "right":7,
               "mime ":"application/vnd.oasis.opendocument.text",
               "icon":"rest/api/storage/icons/get?aiType=ai_text&fileName=Файл1.odt"
             },
             {
               "identifier":"a8bb8fba-b418-4fcb-9b86-519c261c446f",
               "is_folder":false,
               "size":"850",
               "path":"/company_root/Проект/Файл2.htd",
               "name":"Файл2.htd",
               "modified":"0016-05-03 03:15:00",
               "userName":"Слепаков Иван И.",
               "userID":"ee71a4c6-888a-4f04-86de-44ab394f5749",
               "right":7,
               "mime ":"text/htd",
               "icon":"rest/api/storage/icons/get?aiType=ai_htd&fileName=Файл2.htd"
             }
           ]
           
      • listFavoriteFolders

        public java.lang.String listFavoriteFolders()

        Метод возвращает избранные папки в хранилище

        Метод не принимает никакие параметры.


        URL: rest/api/storage/favorite_folders
        Тип: GET

        Returns:

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

        • identifier - идентификатор папки
        • name - название закладки.

        Пример возвращаемого массива
          [
             {
                 "identifier": "5719212b-97b9-4558-9e67-baa04d0adc62"
                 "name": "Общие документы"
             },
             {
                 "identifier": "91d1816a-b30e-47ea-988c-bd8864daa253"
                 "name": "Регламенты"
             }
          ]
         
      • search

        public java.lang.String search(java.lang.String contains,
                                       java.lang.String notContains,
                                       java.util.List<java.lang.Integer> categoryID,
                                       java.lang.String aiType,
                                       java.lang.String folderID,
                                       java.lang.String modifiedFrom,
                                       java.lang.String modifiedTo,
                                       int sizeType,
                                       int sortType,
                                       boolean includeUnpublished,
                                       boolean includeExpired,
                                       boolean includeCompanions,
                                       int firstResult,
                                       int maxResult,
                                       java.lang.String searchArea,
                                       java.lang.String locale)

        Выполняет поиск в хранилище и возвращает список найденных файлов/папок


        URL rest/api/storage/search
        Method POST

        Parameters:
        contains - строка, которая должна содержаться в искомых файлах
        notContains - строка, которая не должна содержаться в искомых файлах
        categoryID - идентификатор классификатора, которому должны принадлежать искомые файлы. Значение данного параметра может быть передано несколько раз.
        aiType - определяет тип искомых файлов. Может быть передано значение одной из констант:
        • AIConstants.AI_FOLDER
        • AIConstants.AI_DOCUMENT
        • AIConstants.AI_IMAGE
        • AIConstants.AI_AUDIO
        • AIConstants.AI_VIDEO
        • AI_APPLICATION

        Параметр можно не передавать. В этом случае поиск вернет все файлы.
        folderID - идентификатор папки хранилища, в которой необходимо осуществить поиск. Параметр можно не передавать, в этом случае поиск будет произведен по всем файлам, на которые у пользователя есть права
        modifiedFrom - начало периода последнего изменения в формате yyyy-MM-dd, параметр не нужно передавать если нет необходимости выполнять поиск по дате изменения
        modifiedTo - завершение периода последнего изменения в формате yyyy-MM-dd, параметр не нужно передавать если нет необходимости выполнять поиск по дате изменения
        sizeType - определяет размер искомого файла. Значением параметра может быть одно из значений констант:
        • AIConstants.ALL_SIZES
        • AIConstants.LITTLE
        • AIConstants.MIDDLE
        • AIConstants.BIG
        Значение по-умолчанию: AIConstants.ALL_SIZES
        sortType - параметр определяет тип сортировки файлов. Значением параметра может быть одно из значений констант:
        • ExtendedSearchParams.SORT_RELEVANCE
        • ExtendedSearchParams.SORT_DATE
        • ExtendedSearchParams.SORT_READSCOUNT
        Значение по-умолчанию ExtendedSearchParams.SORT_RELEVANCE
        includeUnpublished - отображать ли в результатах поиска неопубликованные файлы, значение по-умолчаню - нет
        includeExpired - отображать ли в результатах поиска файлы, срок действия которых истек,
        includeCompanions - осуществлять ли поиск в папках документов, проектов, значение по-умолчанию - нет
        firstResult - номер первой записи для возвращаемых результатов выборки, значение по-умолчанию - 1
        maxResult - количество записей, которые должны быть возвращены, значение по-умолчанию - 30
        locale - локаль пользователя
        searchArea - определяет область действия поиска. Значением параметра может быть одно из значений констант:
        • name - осуществлять поиск только по названиям файлов
        • content - осуществлять поиск только по содержимому файлов
        • all - осуществлять поиск одновременно и по названию, и по содержимому файлов. Значение по умолчанию.
        Returns:
        json вида
         
        {
        "list": [] список найденных файлов
        "begin": "", номер первой записи
        "length": "", количество возвращенных записей
        "count": "" общее количество найденных записей
        }
        Json каждого результата поиска имеет вид
         
        {
        identifier: идентификатор файла
        ai_type: тип файла
        name: название файла
        path: путь к файлу
        modified: стам изменения
        parentID: идентификатор родительского элемента
        fragments: фрагменты текста файла наиболее удовлетворяющие поиску (поле может отсутствовать)
        icon_url: ссылка до иконки файла (поле может отсутствовать)
        right: сумма чисел, определяющая набор прав на папку или файл
        }
        See Also:
        arta.remote.client.AIConstants#AI_FOLDER, arta.remote.client.AIConstants#AI_DOCUMENT, arta.remote.client.AIConstants#AI_IMAGE, arta.remote.client.AIConstants#AI_AUDIO, arta.remote.client.AIConstants#AI_VIDEO, arta.remote.client.AIConstants#AI_APPLICATION, arta.remote.client.AIConstants#ALL_SIZES, arta.remote.client.AIConstants#LITTLE, arta.remote.client.AIConstants#MIDDLE, arta.remote.client.AIConstants#BIG, ExtendedSearchParams#SORT_RELEVANCE, ExtendedSearchParams#SORT_DATE, ExtendedSearchParams#SORT_READSCOUNT
      • getPathToElement

        public java.lang.String getPathToElement(java.lang.String elementID,
                                                 java.lang.String locale)
      • getUserID

        public java.lang.String getUserID()
      • createAttachment

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

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


        URL rest/api/storage/document/{docID}/attachment/create
        Method POST

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

        public java.lang.String remove(java.lang.String elementID,
                                       java.lang.String locale)
        Метод используется для удаления файла или папки в хранилище
        Тип: POST
        URL: rest/api/storage/remove
        Parameters:
        elementID - идентификатор файла либо папки (обязательный параметр)
        locale - локаль
        Returns:
        метод возвращает объект json с полями
        errorCode код выполнения (0 - успешно, иначе - ошибка)
        errorMessage сообщение, характеризующее успешное выполнение либо ошибку
      • move

        public java.lang.String move(java.lang.String elementID,
                                     java.lang.String folderID,
                                     java.lang.String locale)
        Метод используется для перемещения файла или папки в хранилище
        Тип: POST
        URL: rest/api/storage/move
        Parameters:
        elementID - идентификатор файла либо папки (что перемещаем, обязательный параметр)
        folderID - идентификатор папки (куда перемещаем, обязательный параметр)
        locale - локаль
        Returns:
        метод возвращает объект json с полями
        errorCode код выполнения (0 - успешно, иначе - ошибка)
        errorMessage сообщение, характеризующее успешное выполнение либо ошибку
      • rename

        public java.lang.String rename(java.lang.String elementID,
                                       java.lang.String elementName,
                                       java.lang.String locale)
        Метод используется для переименования файла/папки в хранилище
        Тип: POST
        URL: rest/api/storage/rename
        Parameters:
        elementID - идентификатор файла либо папки (обязательный параметр)
        elementName - новое имя файла либо папки (обязательный параметр)
        locale - локаль
        Returns:
        объект json с полями
        errorCode код выполнения (0 - успешно, иначе - ошибка)
        errorMessage сообщение, характеризующее успешное выполнение либо ошибку
      • create

        public java.lang.String create(java.lang.String folderID,
                                       java.lang.String folderName,
                                       java.lang.String locale)
        Метод используется для создания папки в хранилище
        Тип: POST
        URL: rest/api/storage/create
        Parameters:
        folderID - идентификатор папки, внутри которой происходит создание (обязательный параметр)
        folderName - имя новой папки
        locale - локаль
        Returns:
        в случае успешного выполнения метод возвращает объект json с одним полем folderID - идентификатор новой папки, в случае ошибки:

        errorCode 13
        errorMessage сообщение, характеризующее ошибку
        Пример успешного выполнения: {"folderID" : "550e8400-e29b-41d4-a716-446655440000"}
      • copy

        public java.lang.String copy(java.lang.String fileID,
                                     java.lang.String documentID,
                                     java.lang.String container,
                                     java.lang.String locale)
        Метод используется для копирования файла из хранилища в документ
        Тип: POST
        URL: rest/api/storage/copy
        Parameters:
        fileID - идентификатор файла (обязательный параметр)
        documentID - идентификатор документа, куда будет копироваться файл (обязательный параметр)
        container - контейнер (приложения либо прочие, по умолчанию - ase:attachmentContainer)
        locale - локаль
        Returns:
        в случае успешного выполнения сервер возвращает объект json с одним полем fileID - идентификатор нового файла, в случае ошибки:

        errorCode 13
        errorMessage сообщение, характеризующее ошибку
        Пример успешного выполнения: {"fileID" : "550e8400-e29b-41d4-a716-446655440000"}
        See Also:
        arta.synergy.web.common.client.data.bp.docflow.constants.DocFileType#INBOX_FILE, arta.synergy.web.common.client.data.bp.docflow.constants.DocFileType#WORK_FILE
      • add

        public java.lang.String add(java.lang.String folderID,
                                    java.lang.String path,
                                    java.lang.String name,
                                    java.lang.String locale)
        Метод используется для добавления файла в хранилище
        Тип: POST
        URL: rest/api/storage/add
        Parameters:
        folderID - идентификатор папки куда будет добавляться файл (обязательное поле)
        path - абсолютный путь до файла (обязательное поле)
        name - имя файла (обязательное поле)
        locale - локаль
        Returns:
        в случае успешного выполнения сервер возвращает объект json с одним полем fileID - идентификатор нового файла, в случае ошибки:

        errorCode 13
        errorMessage сообщение, характеризующее ошибку
        Пример успешного выполнения: {"fileID" : "550e8400-e29b-41d4-a716-446655440000"}
      • getDescription

        public java.lang.String getDescription(java.lang.String elementID,
                                               boolean mobile,
                                               java.lang.String locale)
        Возвращает детальную информацию папки/файла
        URL: rest/api/storage/description
        Тип: GET
        Parameters:
        elementID - идентификатор папки или файла (обяз.)
        locale - локаль пользователя
        Returns:
        В случае успешного выполнения возвращаемый json содержит следующие поля:
        • identifier - идентификатор папки или файла
        • is_folder (true/false) - папка («true») или файл («false»)
        • size - размер файла в байтах (для папки значение = 0)
        • path - полный путь до папки или файла
        • name - название папки или файла
        • modified - дата и время последнего изменения папки или файла (в формате yyyy-mm-dd hh:mm:ss)
        • userName - ФИО пользователя, выполнившего последнее изменение папки или файла (в формате Фамилия Имя О.)
        • userID - идентификатор пользователя, выполнившего последнее изменение папки или файла
        • right - сумма чисел, определяющая набор прав на папку или файл
        • mime - mime тип файла (отображается только при значении is_folder = «false»)
        • icon - ссылка до иконки файла (отображается только при значении is_folder = «false»)
        • parents - массив идентификаторов всех папок из path, причем порядок следования идентификаторов в массиве должен соответствовать порядку в параметре path (слева направо)
        • ai_type - тип элемента хранилища, один из следующих вариантов:
          • ai_folder - папка
          • ai_document - текстовый файл
          • ai_image - файл изображения
          • ai_audio - аудиофайл
          • ai_video - видеофайл
          • ai_application - прочие файлы

        Набор прав на папку или файл, права в системе:

           READ = 1 (право на просмотр элемента)
           ADD = 2 (право на добавление нового элемента)
           DELETE = 4 (право на удаление элемента)
           EDIT_FOLDER_VIEW = 8 (право на редактирование index страницы папки)
           EDIT_DOCUMENT = 16 (право на редактирование документа)
           ADD_COMMENT = 32 (право на добавление комментариев)
           EDIT_COMMENT = 64 (право на редактирование комментариев)
           DELETE_COMMENT = 128 (право на удаление комментариев)
           READ_COMMENT = 256 (право на просмотр комментариев)
           READ_VERSIONS = 512 (право на просмотр версий документа)
           EDIT_VERSIONS = 1024 (право на восстановление версий документа)
           EDIT_METADATA = 2048 (право на редактирование свойств документа)
           READ_METADATA = 4096 (право на просмотр свойств документа)
           EDIT_CATEGORIES = 8192 (право на редактирование классификатора документа)
           READ_CATEGORIES = 16384 (право на просмотр классификатора документа)
           ADD_DOCUMENT_REFERENCES = 32768 (право на добавление документа в список ссылок документа)
           EDIT_DOCUMENT_REFERENCES = 65536 (право на редактирование списка ссылок документа)
           DELETE_DOCUMENT_REFERENCES = 131072 (право на удаление ссылок документа)
           READ_DOCUMENT_REFERENCES = 262144 (право на просмотр списка ссылок документа)
           LOAD_DOCUMENT = 524288 (право на загрузку файла документа)
           MOVE = 2097152 (право на перемещение / переименовывание элемента)
           CHANGE_PERMISSION = 4194304 (право на назначение прав)
           FULL_ACCESS = 2147483647
         

        В случае неуспешного выполнения вовзращается json с полями:

        • errorCode - код выполнения (число, отличное от 0)
        • errorMessage - сообщение об ошибке (см. ниже)

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

          {
              "identifier": "f5003070-3740-4920-a4c5-01f8bf440774",
              "is_folder": false,
              "size": "19644",
              "path": "/company_root/Проект/Файл1.odt",
              "name": "Файл1.odt",
              "modified": "2013-03-13 16:35:45",
              "userName": "Слепаков Иван И.",
              "userID": "ee71a4c6-888a-4f04-86de-44ab394f5749",
              "right": 7,
              "mime ": "application/vnd.oasis.opendocument.text",
              "icon": "rest/api/storage/icons/get?aiType=ai_text&fileName=Файл1.odt",
              "parents": ["d1f91787-ac5d-4650-a7c0-1cdfbdd12165", "5860da7f-0615-4f46-8264-d8605d97ef9e"],
        "     ai_type": "ai_document"
          }
         
      • createHtd

        public Response createHtd(java.util.Map<java.lang.String,java.lang.String> params)
      • copy

        public Response copy(java.util.Map<java.lang.String,java.lang.String> params)
        копировать файл из хранилища в файл по форме Path rest/api/storage/asffile/copy
        Parameters:
        params - {objectId : , targetId : , dataId : } где objectId - идентификатор объекта targetId - идентификатор ноды данных по форме dataId - идентификатор данных по форме
        Returns:
      • asfFile

        public Response asfFile(MultipartFormDataInput input,
                                java.lang.String nodeID,
                                java.lang.String dataUUID)
                         throws java.io.IOException,
                                javax.naming.NamingException,
                                RepositoryException
        загрузка файла в файл по форме (для реквестов более 2-х мегабайт работать не будет) Path rest/api/storage/asffile/upload
        Parameters:
        input - данные файла
        nodeID - идентификатор ноды
        dataUUID - идентификатор данных
        Returns:
        {fileId : identifier}
        Throws:
        java.io.IOException
        javax.naming.NamingException
        RepositoryException
      • addFile

        public Response addFile(java.lang.String dataUUID,
                                java.lang.String filePath,
                                java.lang.String fileName,
                                boolean overwrite)
        добавляет загруженный на сервер файл в файл по форме Path rest/api/storage/asffile/addFile
        Parameters:
        dataUUID - идентификатор данных по форме
        filePath - путь до загруженного файла
        fileName - имя файла
        overwrite - перезапись файла
        Returns:
        {fileId : identifier}
      • canEditAsfData

        public Response canEditAsfData(java.lang.String documentId)
      • getDescription

        public Response getDescription(java.lang.String nodeId)
        Возвращает список версий
        Parameters:
        nodeId - идентификатор узла (документа, файла и тд)
        Returns:
        массив AIVersion
        • identifier - Ид файла
        • nodeIdentifier - Ид ноды
        • author - Автор
        • created - Дата создания
        • modified - Дата изменения
        • comment - Комментарий версии
        • length - Размер файла
      • addVersion

        public Response addVersion(VersionFile versionFile)
        Загрузка новой версии файла на сервер

        URL: rest/api/storage/add/version
        Тип: POST
              {
                  "fileId": "b7b469fa-62de-4462-adbd-f51d03dc854",
                  "path": "/opt/synergy/jboss/standalone/tmp/Synergy/upload.tmp/516408e9-7094-45df-8ae7-e077b4d8daa2",
                  "compareHash": false
              }
         
        Parameters:
        versionFile -
        Returns:
        В случае успешного выполнения возвращаемый json содержит следующие поля:
        • fileId - идентификатор файла
              {
                  "ErrorCode": "0",
                  "fileId": "b575fbde-5a1d-49b6-8599-30c51b9dd1fc"
              }
         
kz.arta.synergy.api.rest.logger

Class LoggerService

  • java.lang.Object
    • kz.arta.synergy.api.rest.logger.LoggerService


  • public class LoggerService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 26.07.13 Time: 17:40 To change this template use File | Settings | File Templates.
    • Constructor Summary

      Constructors 
      Constructor and Description
      LoggerService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String addLog(java.lang.String providerID, int actionType, java.lang.String log)
      Метод добавляет запись в журнал логов системы

      URL rest/api/logger/add
      Method POST

      Все параметры запроса должны быть параметрами формы

      java.lang.String getHost() 
      java.lang.String getUserID() 
      java.lang.String log(LogDTO log) 
      java.lang.String start(java.util.HashMap<java.lang.String,java.lang.Object> options) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LoggerService

        public LoggerService()
    • Method Detail

      • addLog

        public java.lang.String addLog(java.lang.String providerID,
                                       int actionType,
                                       java.lang.String log)

        Метод добавляет запись в журнал логов системы


        URL rest/api/logger/add
        Method POST

        Все параметры запроса должны быть параметрами формы

        Parameters:
        providerID - идентификатор источника логов
        actionType - код действия
        log - текст лога
        Returns:
        json объект:
        errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
        errorMessage сообщение о результате выполнения (в случае не успешного выполнения)
      • start

        public java.lang.String start(java.util.HashMap<java.lang.String,java.lang.Object> options)
      • log

        public java.lang.String log(LogDTO log)
      • getHost

        public java.lang.String getHost()
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.person

Class PersonLoad

  • java.lang.Object
    • kz.arta.synergy.api.rest.person.PersonLoad


  • public class PersonLoad
    extends java.lang.Object
    api работы для работы с нагрузкой и эффективностью пользователей
    Since:
    24.08.15 17:50
kz.arta.synergy.api.rest.person

Class PersonService

  • java.lang.Object
    • kz.arta.synergy.api.rest.person.PersonService


  • public class PersonService
    extends java.lang.Object
    Created with IntelliJ IDEA. User: topa Date: 6/3/13 Time: 8:11 PM To change this template use File | Settings | File Templates.
    • Constructor Summary

      Constructors 
      Constructor and Description
      PersonService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response checkExtModuleUserRights(java.lang.String moduleCode)
      API проверки прав на внешний модуль Проверяет, есть ли у авторизованного пользователя права на модуль

      URL rest/api/person/check_ext_module
      Method GET

      Response deleteUserAuthKey(java.lang.String moduleID)
      удаляет ключ авторизации пользователя вне сессии

      URL rest/api/person/invalidate_auth_key
      Method GET

      java.lang.String deleteUserPhoto(java.lang.String userID, java.lang.String locale)
      Метод удаляет фотографию пользователя

      URL /rest/api/person/photo/delete
      Method GET

      java.lang.String generateUserAuthToken(java.lang.String moduleID)
      генерирует ключ для авторизации пользователя вне сессии

      URL rest/api/person/generate_auth_key
      Method GET

      java.lang.String getAccountFullName(java.lang.String userID) 
      Response getCreateMenuItems()
      Возвращает доступные пользователю пункты меню кнопки "Создать".
      java.lang.String getSSOHash(java.lang.String clientParams)
      Метод возвращает SSOHash пользователя

      URL /rest/api/person/SSOHash
      Method GET

      Response getUser(java.lang.String locale, boolean getGroups)
      Авторизует пользователя и возвращает информацию о нем
      Response getUserDepartments(java.lang.String userID, java.lang.String userCode)
      Возвращает список из ID и кодов подразделений, к которым принадлежит этот пользователь, начиная с его непосредственного подразделения и вверх до корня

      URL rest/api/person/get_user_departments
      Method GET

      Response getUserDepartments(java.lang.String userID, java.lang.String userCode, java.lang.String depID, java.lang.String depCode) 
      java.lang.String getUserID() 
      Response setCreateMenuItems(java.util.List<CreateMenuBookmarkDTO> bookmarks)
      Метод для установки избранных пунктов выпадающего меню кнопки "Создать"

      URL /rest/api/person/set_create_menu_items
      Method POST Принимает массив JSON, с указанием параметров: [  {   "itemID": "66679726-f0c2-4fa4-8681-04ebaf350d09",   "is_bookmark": "true"  } ]

      Response updateUserAuthKey(java.lang.String moduleID)
      обновление аренды токена

      URL rest/api/person/update_auth_key_expire
      Method GET

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PersonService

        public PersonService()
    • Method Detail

      • getUser

        public Response getUser(java.lang.String locale,
                                boolean getGroups)
        Авторизует пользователя и возвращает информацию о нем
      • generateUserAuthToken

        public java.lang.String generateUserAuthToken(java.lang.String moduleID)
        генерирует ключ для авторизации пользователя вне сессии

        URL rest/api/person/generate_auth_key
        Method GET

        Parameters:
        moduleID - код модуля
        Returns:
        json объект с полями:
        errorCode код выполнения: 0- в случае успешного выполнения, иначе - в случае возникновения ошибки
        errorMessage сообщение об ошибке
        key сгенерированный ключ пользователя
      • deleteUserAuthKey

        public Response deleteUserAuthKey(java.lang.String moduleID)
        удаляет ключ авторизации пользователя вне сессии

        URL rest/api/person/invalidate_auth_key
        Method GET

        Parameters:
        moduleID - код модуля
        Returns:
        json объект с полями:
        errorCode код выполнения: 0- в случае успешного выполнения, иначе - в случае возникновения ошибки
        errorMessage сообщение об ошибке
      • checkExtModuleUserRights

        public Response checkExtModuleUserRights(java.lang.String moduleCode)
        API проверки прав на внешний модуль Проверяет, есть ли у авторизованного пользователя права на модуль

        URL rest/api/person/check_ext_module
        Method GET

        Parameters:
        moduleCode - код модуля
        Returns:
        true - есть права или false - нет прав
        errorCode код выполнения: статус 200 в случае успешного выполнения, иначе - в случае возникновения ошибки
        errorMessage код ошибки и сообщение об ошибке
      • updateUserAuthKey

        public Response updateUserAuthKey(java.lang.String moduleID)
        обновление аренды токена

        URL rest/api/person/update_auth_key_expire
        Method GET

        Parameters:
        moduleID - код модуля
        Returns:
        json объект с полями:
        errorCode код выполнения: 0- в случае успешного выполнения, иначе - в случае возникновения ошибки
        errorMessage сообщение об ошибке
      • deleteUserPhoto

        public java.lang.String deleteUserPhoto(java.lang.String userID,
                                                java.lang.String locale)

        Метод удаляет фотографию пользователя

        URL /rest/api/person/photo/delete
        Method GET

        Parameters:
        userID - UUID пользователя
        locale - локаль пользователя, выполняющего действие
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке/успешном выполнении
      • getSSOHash

        public java.lang.String getSSOHash(java.lang.String clientParams)

        Метод возвращает SSOHash пользователя

        URL /rest/api/person/SSOHash
        Method GET

        Parameters:
        clientParams - параметр, содержащий user-agent и host пользователя
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке/успешном выполнении
      • getAccountFullName

        public java.lang.String getAccountFullName(java.lang.String userID)
      • getUserDepartments

        public Response getUserDepartments(java.lang.String userID,
                                           java.lang.String userCode)
        Возвращает список из ID и кодов подразделений, к которым принадлежит этот пользователь, начиная с его непосредственного подразделения и вверх до корня

        URL rest/api/person/get_user_departments
        Method GET

        Parameters:
        userID - UUID пользователя
        userCode - код пользователя
        Returns:
        список из ID и кодов подразделений, к которым принадлежит этот пользователь

        [
         [
          {
           "id": "59a00c22-b997-4093-a12a-e0d4b309be77",
           "code": "dep4"
          },
          {
           "id": "1",
           "code": "root"
          }
         ],
         [
          {
           "id": "ad565113-8842-4294-a33a-badb3cfed3e6",
           "code": "dep1.1"
          },
          {
           "id": "07f5d8fe-0057-42b8-9a57-f4e8b28cbd9b",
           "code": "dep1"
          },
          {
           "id": "1",
           "code": "root"
          }
         ]
        ]
      • getUserDepartments

        public Response getUserDepartments(java.lang.String userID,
                                           java.lang.String userCode,
                                           java.lang.String depID,
                                           java.lang.String depCode)
        Parameters:
        userID - UUID пользователя
        userCode - код пользователя
        depID - UUID подразделения
        depCode - код подразделения
        Returns:
        true, если пользователь принадлежит указанному подразделению или одному из его родительских, и false в противном случае.
      • getCreateMenuItems

        public Response getCreateMenuItems()
        Возвращает доступные пользователю пункты меню кнопки "Создать". Отбор пунктов зависит от групп, в которых состоит пользователь.

        URL rest/api/person/get_create_menu_items
        Method GET Не принимает параметры - берёт ID текущего (авторизованного)пользователя

        Returns:
        Древовидный JSON, со структурой групп, подгрупп, и пунктов меню, доступных пользователю

        [
         {
          "menu_itemID": "UUID пункта меню",
          "registryID": "UUID реестра",
          "title": "Наименование пункта меню",
          "is_bookmark": "добавлять по-умолчанию в избранное",
         "translations": [
          {
           "locale": "c",
           "value": "Тестовая группа",
           "editByUser": true
          },
          {
           "locale": "en",
           "value": "Тестовая группа",
           "editByUser": true
          },
          {
           "locale": "ru",
           "value": "Тестовая группа",
           "editByUser": true
          },
          {
           "locale": "kk",
           "value": "Тестовая группа",
           "editByUser": true
          },
          {
           "locale": "fr",
           "value": "Тестовая группа",
           "editByUser": true
          }
         ],
         "parentID": "UUID родительского объекта",
         "is_group": "является группой или пунктом меню"
         "items": [] "массив объектов - подгрупп, или пунктов меню"
         }
        ]
      • setCreateMenuItems

        public Response setCreateMenuItems(java.util.List<CreateMenuBookmarkDTO> bookmarks)

        Метод для установки избранных пунктов выпадающего меню кнопки "Создать"

        URL /rest/api/person/set_create_menu_items
        Method POST Принимает массив JSON, с указанием параметров: [  {   "itemID": "66679726-f0c2-4fa4-8681-04ebaf350d09",   "is_bookmark": "true"  } ]

        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка), errorMessage - сообщение об ошибке/успешном выполнении
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.person

Class UserPhotoServlet

  • java.lang.Object
    • LoadPhotoServlet
      • kz.arta.synergy.api.rest.person.UserPhotoServlet


  • public class UserPhotoServlet
    extends LoadPhotoServlet
    User: user Date: 20.01.14 Time: 12:14 Сервлет для получения, изменения фотографии пользователя

    POST - добавление, изменении фотографии пользователя, параметр uploadFormElement - файл, userid - uuid пользователя, locale - локаль

    GET - получение фотографии пользователя, параметр userid - uuid пользователя, max_width - макс. ширина, max_height - макс. высота

    Пример получения фотографии
    http://хост:порт/Synergy/rest/api/person/photo/load?userid=1
    • Constructor Summary

      Constructors 
      Constructor and Description
      UserPhotoServlet() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UserPhotoServlet

        public UserPhotoServlet()
    • Method Detail

      • doPost

        protected void doPost(HttpServletRequest request,
                              HttpServletResponse response)
                       throws ServletException,
                              java.io.IOException
        Throws:
        ServletException
        java.io.IOException
      • doGet

        protected void doGet(HttpServletRequest request,
                             HttpServletResponse response)
                      throws ServletException,
                             java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.api.rest.notifications

Class NotificationsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.notifications.NotificationsService


  • public class NotificationsService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 14.01.14 Time: 18:08 To change this template use File | Settings | File Templates.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String get(long lastGetTime, boolean subscribedOnly, java.util.List<java.lang.Integer> actionType, java.util.List<java.lang.Integer> objectType, java.lang.String locale)
      Метод возвращает уведомления для авторизованного пользователя

      URL rest/api/notifications/get
      Method GET

      java.lang.String getHost() 
      java.lang.String getUserID() 
      Response send(NotificationSend sendInfo)
      Метод API для отправки произвольного уведомления пользователю URL: rest/api/notifications/send
      Method POST
      Метод принимает следующие входные параметры (json):

      header - заголовок/тема уведомления (не обяз.);
      message - тело уведомления (обяз.);
      users - массив uuid пользователей, которым необходимо отправить уведомление;
      groups - массив uuid групп пользователей, которым необходимо отправить уведомление;
      logins - массив логинов пользователей, которым необходимо отправить уведомление;
      emails - массив произвольных e-mail, которым необходимо отправить уведомление;
      locale - локаль.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NotificationsService

        public NotificationsService()
    • Method Detail

      • get

        public java.lang.String get(long lastGetTime,
                                    boolean subscribedOnly,
                                    java.util.List<java.lang.Integer> actionType,
                                    java.util.List<java.lang.Integer> objectType,
                                    java.lang.String locale)

        Метод возвращает уведомления для авторизованного пользователя


        URL rest/api/notifications/get
        Method GET

        Parameters:
        lastGetTime - Время последнего получения уведомлений в миллисекундах, если ранее уведомления не запрашивались значние передавать не надо - система сама определит количество последних уведомлений, которые надо вернуть
        subscribedOnly - true - система вернет только те типы уведомлений на получение которых пользователь подписан, согласно настройкам в системе, false - вернет все типы уведомлений
        actionType - идентификатор типа уведомления (action_types.typeID), передача этого ограничивает возвращаемые уведомления данным типом/типами. Если необходимо передать несколько типов уведомлений - параметр надо указать в запросе несколько раз
        objectType - идентификатор объекта, передача этого параметра ограничиывает возвращаемые уведомления по типу объекта, к которому они относятся. Если необходимо передать несколько типов объектов - параметр надо указать в запросе несколько раз Обрабатываются значения парамтра:
        4 - работа, проекты
        8 - задача
        2 - цель
        16 - показатель
        locale - локаль авторизованного пользователя
        Returns:
        список уведомлений, удовлетворяющих параметрам и текущее время в миллисекундах. Это время надо передать при получении следующей порции уведомлений.
        Формат ответа:
         
        {
        "lasGetTime": "yyyy-MM-dd HH:ss:mm", - стамп времени получения уведомлений
        "notifications": - список уведомлений
        [
        {
        "time":"", - время события
        "notification":"" - текст уведомления
        }, ...
        ]
      • send

        public Response send(NotificationSend sendInfo)

        Метод API для отправки произвольного уведомления пользователю URL: rest/api/notifications/send
        Method POST
        Метод принимает следующие входные параметры (json):

        header - заголовок/тема уведомления (не обяз.);
        message - тело уведомления (обяз.);
        users - массив uuid пользователей, которым необходимо отправить уведомление;
        groups - массив uuid групп пользователей, которым необходимо отправить уведомление;
        logins - массив логинов пользователей, которым необходимо отправить уведомление;
        emails - массив произвольных e-mail, которым необходимо отправить уведомление;
        locale - локаль.
        Пример передаваемого запроса: { "header": "Срочное собрание!", "message": "Прошу Вас собраться в 10:00 в актовом зале.", "users": ["7b953be8-bddb-4ce4-bbfd-ae9548f69c7f", "e65f62fa-7045-4b5b-b61d-46ca00ea7af1"], "groups": [1, 5, 7], "logins": ["Абдрешен", "Слепаков", "user_100500", "1"], "emails": ["bobrov@arta.kz"] }

        Parameters:
        sendInfo - json-объект;
        Returns:
        В случае успешного выполнения json со следующими полями:
        • errorCode = 0
        • errorMessage = Уведомление отправлено
        в случае ошибки вернет json со следующими полями
        • errorCode = код ошибки
        • errorMessage = сообщение
        Пример возвращаемого json-объекта при успешном выполнении метода:
            {
                "errorCode": 0,
                "errorMessage": "Уведомление отправлено"
            }
         
      • getHost

        public java.lang.String getHost()
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.docs

Class DocFlowService

  • java.lang.Object
    • kz.arta.synergy.api.rest.docs.DocFlowService


  • public class DocFlowService
    extends java.lang.Object
    Created by vitaliy.zaretskiy on 11.09.14.
    • Constructor Summary

      Constructors 
      Constructor and Description
      DocFlowService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String addComment(java.lang.String documentID, java.lang.String workID, java.lang.String commentID, java.lang.String comment, java.lang.String locale)
      Добавляет/изменяет комментарий к документу

      URL: rest/api/docflow/doc/comments/save
      Тип POST
      Response create(DocumentRCC rcc) 
      java.lang.String createAttachment(java.lang.String documentID, java.lang.String path, java.lang.String fileName, java.lang.String filePath, java.lang.String locale)
      Метод добавляет вложение к документу из временного файла, загруженного на сервер с помощью API метода rest/api/storage/start_upload

      URL: rest/api/docflow/doc/attachment/create
      Тип: POST
      java.lang.String deleteAttachment(java.lang.String fileUUID, java.lang.String locale)
      Метод удаляет вложение

      URL: rest/api/docflow/doc/attachment/remove
      Тип GET
      Response deleteChildDocument(java.lang.String parent_documentID, java.lang.String child_documentID)
      Метод удаляет дочерний документ у родительского документа

      URL: rest/api/docflow/doc/delete_child_document
      Тип: POST
      java.lang.String deleteComment(java.lang.String commentID, java.lang.String locale)
      Метод удаляет комментарий

      URL: rest/api/docflow/doc/comments/remove
      Тип GET
      Response deleteResolutionItem(java.lang.String itemID)
      Метод удаляет пункт резолюции.
      Response deleteResolutionProject(java.lang.String projectID)
      Метод удаляет проект резолюции.
      java.lang.String doCreateAttachment(java.lang.String documentID, java.lang.String path, java.lang.String fileName, java.lang.String filePath, java.lang.String locale, boolean warning, java.lang.String successMessage) 
      java.lang.String finDocByNumber(java.lang.String number)
      API-метод, позволяющий получить идентификатор документа по его номеру (если таких документов несколько, возвращается первый).
      java.lang.String getAttachments(java.lang.String documentID, int count, boolean getCounters, java.lang.String locale)
      Метод возвращает отсортированный в обратном порядке по дате добавления список файлов документа (из вложений и прочих)

      URL: /rest/api/doc/last_attachments
      Тип: GET

      Возвращает информацию о вложениях как список json.
      java.lang.String getChildDocumentsList(java.lang.String documentID, java.lang.String locale)
      Метод возвращает список дочерних документов для родительского

      URL: rest/api/docflow/doc/child_documents
      Тип: GET
      java.lang.String getComments(java.lang.String documentID, int start, int count, boolean getCounters, java.lang.String locale)
      Метод возвращает комментарии к документу отсортированные в обратном порядке по дате добавления

      URL: rest/api/docflow/doc/comments/list
      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/docflow/doc/comments/list?
      java.lang.String getDocCode(java.lang.String typeId) 
      Response getDocType(java.lang.String code, java.lang.String locale)
      Метод API для получения описания типа документа
      URL: rest/api/docflow/doctypes/{docTypeCode}
      Method GET
      Response getDocTypes(java.lang.String registerID, java.lang.String description, int page, int recordsCount, java.lang.String locale)
      Метод API для получения списка типов документов
      URL: rest/api/docflow/doctypes
      Method GET
      Response getDocumentChangeHistory(java.lang.String documentID, java.lang.String locale)
      Метод API получения истории изменения документа URL: rest/api/docflow/doc/changes
      Method GET
      Пример возвращаемого json-объекта при успешном выполнении метода: [ { "host": "", "userName": "Admin A.A
      java.lang.String getDocumentFilters(java.lang.String filterType, java.lang.String filterID, java.lang.String objectID, java.lang.String locale)
      Метод возвращает список фильтров в документах по заданным параметрам

      URL: rest/api/docflow/doc/documents_filters
      Тип: GET
      java.util.List<ProcessHistory> getDocumentHistory(java.lang.String documentID, java.lang.String locale) 
      java.lang.String getDocumentInfo(java.lang.String documentID, java.lang.String locale)
      Метод возвращает полную информацию о документе

      URL: rest/api/docflow/doc/document_info
      Тип: GET

      Пример работы метода:
      URL: http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/document_info?
      java.lang.String getDocumentItems(java.lang.String documentID, java.lang.String locale)
      Метод возвращает набор действий, которые может совершить авторизованный пользователь над документом

      URL: rest/api/docflow/document_actions
      Тип: GET

      Каждое действие характеризуется следующими полями:
      action - идентификатор действия, значение из WorkActionType
      operation - идентификатор операции, значение из WorkActionSubType (может отсутствовать)
      label - название действия
      color - идентификатор цвета, значение из ActionColor
      Response getDocumentProcesses(java.lang.String documentID, java.lang.String locale)
      Метод API получения списка ид процессов маршрута в документе, которые запустил авторизованный пользователь URL: rest/api/docflow/doc/processes
      Method GET
      Пример возвращаемого json-объекта при успешном выполнении метода: [ { "procInstID": "600149", "name": "13.06.2018 12.14.27" }, { "procInstID": "600153", "name": "13.06.2018 12.14.34" } ]
      java.lang.String getDocumentRCC(java.lang.String documentID, java.lang.String locale)
      API-метод, позволяющий получить РКК документа.
      java.lang.String getDocumentsList(java.lang.String filterType, java.lang.String filterID, java.lang.String objectID, int pageNumber, int countInPart, java.lang.String locale)
      Метод возвращает список документов для заданных параметров

      URL: rest/api/docflow/doc/documents
      Тип: GET
      Ответ в виде json из списка документов.
      java.lang.String getFavoriteFilters(java.lang.String locale)
      Метод возвращает описание избранных фильтров
      Поведение метода аналогично api методу /rest/api/doc/documents_filters - разница лишь в том, что данный метод не принимает никаких параметров (кроме локали)
      Если избранных фильтров нет - сервер вернет пустой массив ("[]")

      URL: rest/api/docflow/doc/favorite_doc_filters
      Тип: GET
      java.lang.String getFullAttachments(java.lang.String documentID, java.lang.String locale)
      Метод возвращает все файлы данного документа по двум группам - вложения и прочие

      URL: rest/api/docflow/doc/attachments
      Тип: GET

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

      {attachments: [..list of attachments ..], work_files: [..list of work files ..]}
      java.lang.String getResolutions(java.lang.String workID, java.lang.String documentID, java.lang.String locale)
      Возвращает информацию о резолюциях

      URL: rest/api/docflow/doc/get_resolution
      Тип: GET
      java.lang.String getRoutes(java.lang.String search, boolean bookmarks, java.lang.String locale)
      Получение списка маршрутов доступных пользователю

      URL: rest/api/docflow/doc/routes
      Тип: GET
      java.lang.String getSignList(java.lang.String documentID, java.lang.String locale)
      API-метод, позволяющий получить список подписей для данного документа.
      Response reject(java.lang.String documentID, java.lang.String comment, java.lang.String locale) 
      Response resendDocument(java.lang.String documentID) 
      Response save(DocumentRCC rcc) 
      java.lang.String saveCorrespondentOrg(java.lang.String name)
      Добавление корреспондента-организации в общесистемный список
      Тип: POST
      URL: rest/api/docflow/doc/create_correspondent_org
      Response saveLogRecord(LogRecord record) 
      java.lang.String saveResolutionRoute(java.lang.String data, java.lang.String workID, java.lang.String documentID, java.lang.String type, boolean controlled, java.lang.String projectID, java.lang.String locale)
      Метод сохраняет/подтверждает резолюцию

      URL: rest/api/docflow/doc/save_resolution
      Тип: POST
      Response sendDocument(DocSendInfo sendInfo)
      Метод API для пересылки документов URL: rest/api/docflow/doc/send
      Method POST
      Метод принимает следующие входные параметры (json):

      documentID - uuid документа, который необходимо переслать (обяз.);
      users - массив uuid пользователей, которым необходимо переслать документ;
      groups - массив uuid групп пользователей, которым необходимо переслать документ;
      emails - массив произвольных e-mail, которым необходимо переслать документ;
      locale - локаль.
      Response sendOnRegistration(java.lang.String documentID, java.lang.String locale) 
      Response setChildDocuments(java.lang.String documentID, java.util.List<java.lang.String> childrenIDArray) 
      java.lang.String setHidden(java.lang.String documentID, boolean hidden, java.lang.String filterType, java.lang.String locale)
      Метод скрывает/восстанавливает документ

      URL: rest/api/docflow/doc/hide
      Тип: GET
      java.lang.String setSeen(java.lang.String documentID, boolean seen, java.lang.String filterType, java.lang.String locale)
      Метод отмечает документ как "Просмотренный"

      URL: rest/api/docflow/doc/set_seen
      Тип: GET
      Response sign(java.lang.String locale, java.lang.String documentID, java.lang.String rawdata, java.lang.String signdata, java.lang.String certificate, java.lang.String certID)
      API-метод подписания документа

      URL rest/api/docflow/sign
      Method POST

      Response stopRoute(java.lang.String documentID, java.lang.String procInstID, java.lang.String locale)
      Метод API для прерывания маршрута документа.
      Response transferDocumentAttachments(FileTransferOperation operation)
      Метод API для трансфера файлов вложений из одного документа в другой URL: rest/api/docflow/doc/attachment/transfer
      Method POST
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DocFlowService

        public DocFlowService()
    • Method Detail

      • sendOnRegistration

        public Response sendOnRegistration(java.lang.String documentID,
                                           java.lang.String locale)
      • reject

        public Response reject(java.lang.String documentID,
                               java.lang.String comment,
                               java.lang.String locale)
      • saveLogRecord

        public Response saveLogRecord(LogRecord record)
      • getResolutions

        public java.lang.String getResolutions(java.lang.String workID,
                                               java.lang.String documentID,
                                               java.lang.String locale)
        Возвращает информацию о резолюциях

        URL: rest/api/docflow/doc/get_resolution
        Тип: GET
        Parameters:
        workID - actionID работы
        documentID - uuid документа
        locale - локаль
        Returns:
        json массив с описанием резолюций
        Пример:
         [
             {
                 "statusID": 0,
                 "projectID": "64750f61-3393-425b-b07d-f63974372fa5",
                 "author": "Messi Leonel",
                 "canEdit": "true",
                 "controlled": "true",
                 "maxFinishDate" : "2014-12-17 00:00:00"
                 "items": [
                     {
                         "name": "12345",
                         "itemID" : "32310f61-3393-425b-b07d-f63974372fa5",
                         "userID": "e45a1a15-3c8a-434f-afa7-4d4df8baa579",
                         "user": "Messi Leonel",
                         "users": [
                             {
                                 "user": "AAПроверка AA",
                                 "userID": "9a426339-a140-4ca1-ada5-e441257660f1"
                             },
                             {
                                 "user": "AABBCC ddff",
                                 "userID": "da902b13-a3e8-4e7e-adfd-0bf5e67be5ae"
                             }
                         ],
                         "finishdate": {
                             "date": "1414519200000"
                         },
                         "typeID": 3,
                         "completionFormID": "4eb20dc9-e0ca-4a8a-846b-4ea3b9a46150",
                         "completionFormCode": "comment",
                         "dict_id": "bebebebe-fefe-cece-dede-1234567890ab",
                         "item_name": "Работа"
                     }
                 ]
             }
         ]
         


        В данном примере видим, что наложена одна резолюция. Может быть и больше. Если резолюций вообще нет - сервер вернет пустую резолюцию.

        Параметры описания резолюции:
        statusID - статус резолюции (0 - резолюция сохранена, 1 - резолюция наложена, 2 - резолюция удалена)
        projectID - projectID резолюции. нужен для редактирования резолюции, этот projectID будет передан в api метод /doc/save_resolution
        author - автор резолюции
        canEdit - есть ли возможность редактировать резолюцию текущему пользователю
        controlled - выставлена ли галочка "Является контрольным"
        maxFinishDate - максимальная дата пункта резолюции (данный параметр актуален, если выставлена галочка в конфигураторе "Разрешить ставить работы по резолюции, завершающиеся позже документа")
        items - пункты резолюции

        Параметры пунктов резолюции:
        name - имя пункта резолюции
        itemID - id пункта резолюции
        userID - uuid ответственного
        user - имя ответственного
        users - исполнители
        finishdate - дата завершения в миллисекундах
        type - тип (3 - работа, 0 - согласование, 1 - утверждение, 2 - ознакомление, 17 - отправка документа, 28 - блокирующий процесс)
        completionFormID - id формы завершения
        completionFormCode - код формы завершения
        dict_id - id пункта типа работ по резолюции
        item_name - наименование пункта типа работ по резолюции
      • saveResolutionRoute

        public java.lang.String saveResolutionRoute(java.lang.String data,
                                                    java.lang.String workID,
                                                    java.lang.String documentID,
                                                    java.lang.String type,
                                                    boolean controlled,
                                                    java.lang.String projectID,
                                                    java.lang.String locale)
        Метод сохраняет/подтверждает резолюцию

        URL: rest/api/docflow/doc/save_resolution
        Тип: POST
        Parameters:
        data - json строка с пунктами резолюции
        workID - uuid работы
        documentID - uuid доукмента
        controlled - "является контрольным" (по умолчанию - false)
        type - тип резолюции (SAVE - сохранить, ACCEPT - подтвердить)
        projectID - projectID резолюции. можно получить из api метода rest/api/docflow/doc/get_resolution. если создается новая резолюция - передавать этот параметр не надо, во всех остальных случаях надо (редактирование существующей)
        locale - локаль
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка)

        Пример строки data:
         [
             {
                 "name": "item 1",
                 "userID": "fdb874fa-e5cf-4454-bd7c-1727fed23a3e",
                 "usersID": [
                     "fdb874fa-e5cf-4454-bd7c-1727fed23a3e",
                     "c6caf840-d39b-41fc-83c6-e015a264677a"
                 ],
                 "finishDate": "1411722780000",
                 "typeID": "0",
                 "completionFormID": "4eb20dc9-e0ca-4a8a-846b-4ea3b9a46150",
                 "completionFormCode": "comment",
                 "itemID": "52230dc9-e0ca-4a8a-846b-4ea3b9a46150",
                 "dict_id": "fefefefe-cafe-babe-face-1234567890ab"
             }
         ]
         


        где:

        name - имя резолюции
        userID - id ответственного
        usersID - id исполнителей
        finishDate - время завершения в миллисекундах
        typeID - тип резолюции (3 - работа, 0 - согласование, 1 - утверждение, 2 - ознакомление, 33 - резолюция, 17 - отправка документа))
        completionFormID - id формы завершения ( можно указывать либо данный параметр либо параметр completionFormCode, при этом если передаются оба поля, то completionFormCode в приоритете)
        completionFormCode - код формы завершения ( можно указывать либо данный параметр либо параметр completionFormID, при этом если передаются оба поля, то completionFormCode в приоритете)
        itemID - id пункта резолюции
        dict_id - id пункта справочника работ по резолюции
        *один из параметров typeID или dict_id является обязательным, если указаны оба, то typeID игнорируется
      • deleteResolutionItem

        public Response deleteResolutionItem(java.lang.String itemID)
        Метод удаляет пункт резолюции. При условии, что резолюция ещё не утверждена, и текущий пользователь - автор самой резолюции

        URL: rest/api/docflow/doc/delete_resolution_item
        Тип: POST
        Parameters:
        itemID - id пункта резолюции
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка)
      • deleteResolutionProject

        public Response deleteResolutionProject(java.lang.String projectID)
        Метод удаляет проект резолюции. При условии, что резолюция ещё не утверждена, и текущий пользователь - автор самой резолюции

        URL: rest/api/docflow/doc/delete_resolution_project
        Тип: POST
        Parameters:
        projectID - id проекта резолюции
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка)
      • saveCorrespondentOrg

        public java.lang.String saveCorrespondentOrg(java.lang.String name)
        Добавление корреспондента-организации в общесистемный список
        Тип: POST
        URL: rest/api/docflow/doc/create_correspondent_org
        Parameters:
        name - название организации(FormParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка)
      • getDocumentFilters

        public java.lang.String getDocumentFilters(java.lang.String filterType,
                                                   java.lang.String filterID,
                                                   java.lang.String objectID,
                                                   java.lang.String locale)
        Метод возвращает список фильтров в документах по заданным параметрам

        URL: rest/api/docflow/doc/documents_filters
        Тип: GET
        Parameters:
        filterType - тип фильтра
        filterID - uuid фильтра
        objectID - objectID фильтра
        locale - локаль
        Returns:
        json строка (список фильтров)
        Примеры работы метода:
        Все начинается с отправки метода без каких-либо параметров (кроме локали)
        URL: http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/documents_filters?locale=ru
        Сервер вернет:
         [
             {
                 "name": "Журналы",
                 "filterType": "REGISTER_FILTER",
                 "count": "17",
                 "hasChildren": "true"
             },
             {
                 "name": "Дела",
                 "filterType": "DOCFILE_FILTER",
                 "count": "0",
                 "hasChildren": "true"
             },
             {
                 "name": "Все",
                 "filterType": "ALL_USER_DOCUMENTS",
                 "count": "321",
                 "hasChildren": "true"
             }
         ]
         


        Если параметр hasChildren = true - это значит, что данный фильтр содержит дочерние.
        К примеру пользователь захотел получить список фильтров, которые находится «внутри» фильтра «Журналы».
        Чтобы это осуществить — нужно обратиться к этому же методу + добавить один параметр filterType (тип фильтра).
        URL: http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/documents_filters?filterType=REGISTER_FILTER&locale=ru
        Сервер вернет описание фильтров второго уровня, к примеру:
         [
             {
                 "name": "Внутренние документы",
                 "filterType": "REGISTER_FILTER",
                 "objectID": "internal_docs",
                 "count": "2",
                 "hasChildren": "true"
             },
             {
                 "name": "Входящие документы",
                 "filterType": "REGISTER_FILTER",
                 "objectID": "in_docs",
                 "count": "12",
                 "hasChildren": "true"
             },
             {
                 "name": "Договоры",
                 "filterType": "REGISTER_FILTER",
                 "objectID": "2f74f563-7366-4d60-a86d-15843108f256",
                 "count": "0",
                 "hasChildren": "true"
             }
         ]
         


        Например пользователь захотел провалиться еще глубже, к примеру в фильтр «Внутренние документы».
        Для этого надо добавить к существующему запросу еще один параметр — objectID.
        URL: http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/documents_filters?filterType=REGISTER_FILTER?objectID=internal_docs&locale=ru
        Сервер вернет описание фильтров третьего уровня, к примеру:
         [
             {
                 "name": "On registration",
                 "filterType": "REGISTER_FILTER",
                 "filterID": "3e54a5c4-603a-418f-bb43-c34117b7f855",
                 "objectID": "internal_docs",
                 "count": "1",
                 "hasChildren": "true"
             },
             {
                 "name": "In progress",
                 "filterType": "REGISTER_FILTER",
                 "filterID": "03f46a0c-bafb-4aa0-b4dd-708be03f5c35",
                 "objectID": "internal_docs",
                 "count": "0",
                 "hasChildren": "true"
             },
             {
                 "name": "Expired",
                 "filterType": "REGISTER_FILTER",
                 "filterID": "8dfdd85d-3c55-47fc-8ab6-d76387e359a0",
                 "objectID": "internal_docs",
                 "count": "0",
                 "hasChildren": "true"
             }
         ]
         


        Можно попасть на четвертый уровень — в таком случае необходимо еще добавить параметр filterID.
        URL: http://192.168.2.153:8080/Synergy/rest/api/docflow/doc/documents_filters?filterType=REGISTER_FILTER&objectID=internal_docs&filterID=3e54a5c4-603a-418f-bb43-c34117b7f855&locale=ru
        Сервер вернет описание фильтров четвертого уровня, к примеру:
         [
             {
                 "name": "Фильтр четвертого уровня 1",
                 "filterType": "REGISTER_FILTER",
                 "filterID": "8e0b82ff-7832-4e7b-adbe-6b495fe8f617",
                 "objectID": "internal_docs",
                 "count": "1",
                 "hasChildren": "false"
             },
             {
                 "name": "Фильтр четвертого уровня 2",
                 "filterType": "REGISTER_FILTER",
                 "filterID": "e5c62d5e-df03-43cc-8899-c1a91855f432",
                 "objectID": "internal_docs",
                 "count": "1",
                 "hasChildren": "false"
             }
         ]
         


        Начиная с четвертого уровня — новых параметров не добавляется.
        Для других фильтров («Дела», «Все») поведение метода аналогично.
      • getFavoriteFilters

        public java.lang.String getFavoriteFilters(java.lang.String locale)
        Метод возвращает описание избранных фильтров
        Поведение метода аналогично api методу /rest/api/doc/documents_filters - разница лишь в том, что данный метод не принимает никаких параметров (кроме локали)
        Если избранных фильтров нет - сервер вернет пустой массив ("[]")

        URL: rest/api/docflow/doc/favorite_doc_filters
        Тип: GET
        Parameters:
        locale - локаль
        Returns:
        json строка (список фильтров)
      • getDocumentsList

        public java.lang.String getDocumentsList(java.lang.String filterType,
                                                 java.lang.String filterID,
                                                 java.lang.String objectID,
                                                 int pageNumber,
                                                 int countInPart,
                                                 java.lang.String locale)
        Метод возвращает список документов для заданных параметров

        URL: rest/api/docflow/doc/documents
        Тип: GET
        Ответ в виде json из списка документов.
        Примеры работы метода:
        URL: http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/documents
        Сервер вернет список документов, в данном примере 1 документ.
         [
             {
                 "name": "Документ 1",
                 "content" : "",
                 "documentID": "8c081b77-5d03-4ce3-89a8-b551a73fc1d9",
                 "number": "",
                 "author": "Бобров С.Е.",
                 "docTypeId": "inner"
                 "user": "Абдрешен Л.С.",
                 "regUser": "",
                 "resUsers": "",
                 "to": "",
                 "from": "",
                 "correspondent": "",
                 "correspondentOrg": "",
                 "type": "DOCUMENT",
                 "createDate": "2014-11-13 15:50:00",
                 "regDate": "2014-11-13 16:42:00",
                 "statusID": "NOT_STARTED",
                 "isExpired": "false",
                 "isSoonExpired": "true",
                 "hasChildren": "false",
                 "hasResolution": "false",
                 "isNew": "false",
                 "hidden": "false",
                 "registered": "false",
                 "finished": "false",
                 "inProgress": "false",
                 "controlled": "false",
                 "hasAttachments": "true",
                 "defective": "false",
                 "actions":["35d757cf-5c91-4939-9b72-7bc4af84ebf4","305fa7a9-6497-4cdf-a14a-6fb344199538","41755a49-9d37-4beb-8814-03d69dce55c9"]
             }
         ]
         


        Описание параметров:

        name - краткое содержание документа
        content - значащее содержимое
        documentID - uuid документа
        number - номер документа
        author - ФИО автора документа
        docTypeID - тип журнала документа (внутренний, исходящий, входящий)
        user - ФИО пользователя, которому отписан документ
        regUser - ФИО пользователя, зарегистрировавшего документ
        resUsers - ФИО пользователей, у которых документ находится на исполнении
        to - ФИО адресатов
        from - ФИО адресантов
        correspondent - корреспондент
        correspondentOrg - корреспондент (орг)
        type - признак происхождения (EMAIL/DOCUMENT)
        createDate - время и дата создания документа в формате (DD.MM.YY hh:mm)
        regDate - время и дата регистрации документа в формате (DD.MM.YY hh:mm)
        statusID - статус документа (NOT_STARTED - на регистрации, IN_PROGRESS - на исполнении, FINISHED - завершен, DRAFT - отклонен)
        isExpired - хотя бы одна работа по маршруту документа просрочена
        isSoonExpired - хотя бы у одной работы по маршруту документа истекает срок
        hasChildren - имеет ли данный документ дочерние
        hasResolution - наложена ли резолюция на данный документ
        isNew - есть ли изменения в документе непросмотренные пользователем
        hidden - скрыт ли документ
        registered - зарегистрирован ли документ
        finished - завершен ли документ
        inProgress - находится ли документ в процессе
        actions - массив, состоящий из идентификаторов работ по данному документу. В массиве возвращаются работы, которые находятся на исполнении пользователя, вызвавшего API метод.
        controlled - является ли документ контрольным
        hasAttachments - имеет ли данный документ вложения
        defective - бракованный ли документ

        Чтобы получить список документов в находящиеся в каком-либо фильтре - нужно передать параметры этого фильтра в текущий метод. (Параметры получаются путем вызова метода /rest/api/doc/documents_filters).
        К примеру:
        1. http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/documents?filterType=REGISTER_FILTER
        2. http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/documents?filterType=REGISTER_FILTER&objectID=internal_docs
        3. http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/documents?filterType=REGISTER_FILTER&objectID=internal_docs&filterID=3e54a5c4-603a-418f-bb43-c34117b7f855
        Parameters:
        filterType - тип фильтра
        filterID - id фильтра
        objectID - objectID фильтра
        pageNumber - номер страницы пагинации результатов
        countInPart - количество результатов на странице пагинации
        locale - локаль
      • getChildDocumentsList

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

        URL: rest/api/docflow/doc/child_documents
        Тип: GET
        Parameters:
        documentID - documentID (uuid родительского документа, для которого получаются дочерние, имеет смысл передавать только в том случае, если параметр hasChildren у родителя = true)
        locale - локаль
        Returns:
        json строка (список документов)
      • setChildDocuments

        public Response setChildDocuments(java.lang.String documentID,
                                          java.util.List<java.lang.String> childrenIDArray)
      • deleteChildDocument

        public Response deleteChildDocument(java.lang.String parent_documentID,
                                            java.lang.String child_documentID)
        Метод удаляет дочерний документ у родительского документа

        URL: rest/api/docflow/doc/delete_child_document
        Тип: POST
        Parameters:
        parent_documentID - documentID родительского документа, у которого удаляется дочерний
        child_documentID - documentID дочернего документа, который подлежит удалению
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка) errorMessage - текстовая расшифровка кода операции
      • getDocumentInfo

        public java.lang.String getDocumentInfo(java.lang.String documentID,
                                                java.lang.String locale)
        Метод возвращает полную информацию о документе

        URL: rest/api/docflow/doc/document_info
        Тип: GET

        Пример работы метода:
        URL: http://127.0.0.1:8080/Synergy/rest/api/docflow/doc/document_info?documentID=8c081b77-5d03-4ce3-89a8-b551a73fc1d9
        Сервер вернет информацию о документе:
         [
             {
                 "name": "Документ 1",
                 "content" : "",
                 "documentID": "8c081b77-5d03-4ce3-89a8-b551a73fc1d9",
                 "number": "",
                 "author": "Бобров С.Е.",
                 "docTypeId": "inner"
                 "user": "Абдрешен Л.С.",
                 "regUser": "",
                 "resUsers": "",
                 "to": "",
                 "from": "",
                 "correspondent": "",
                 "correspondentOrg": "",
                 "type": "DOCUMENT",
                 "createDate": "2014-11-13 15:50:00",
                 "regDate": "2014-11-13 16:42:00",
                 "statusID": "NOT_STARTED",
                 "isExpired": "false",
                 "isSoonExpired": "true",
                 "hasChildren": "false",
                 "hasResolution": "false",
                 "isNew": "false",
                 "hidden": "false",
                 "registered": "false",
                 "finished": "false",
                 "inProgress": "false",
                 "controlled": "false",
                 "hasAttachments": "true",
                 "defective": "false",
                 "wasOpened": "true",
                 "actions" : ["fb051b77-6ds3-4c3f-833a8-b551a73fc1fs"],
                 "bases" : ["3c051b77-5ds3-4ce3-84a8-b551a73fc1d9"]
                 "rawdata" : "Z5IhLZaw8Ne8WCr0JkGlNn4hXdI="
             }
         ]
         


        Описание параметров:

        name - краткое содержание документа
        content - значащее содержимое
        documentID - uuid документа
        number - номер документа
        author - ФИО автора документа
        docTypeID - тип журнала документа (внутренний, исходящий, входящий)
        user - ФИО пользователя, которому отписан документ
        regUser - ФИО пользователя, зарегистрировавшего документ
        resUsers - ФИО пользователей, у которых документ находится на исполнении
        to - ФИО адресатов
        from - ФИО адресантов
        correspondent - корреспондент
        correspondentOrg - корреспондент (орг)
        type - признак происхождения (EMAIL/DOCUMENT)
        createDate - время и дата создания документа в формате (DD.MM.YY hh:mm)
        regDate - время и дата регистрации документа в формате (DD.MM.YY hh:mm)
        statusID - статус документа (NOT_STARTED - на регистрации, IN_PROGRESS - на исполнении, FINISHED - завершен, DRAFT - отклонен)
        isExpired - хотя бы одна работа по маршруту документа просрочена
        isSoonExpired - хотя бы у одной работы по маршруту документа истекает срок
        hasChildren - имеет ли данный документ дочерние
        hasResolution - наложена ли резолюция на данный документ
        isNew - есть ли изменения в документе непросмотренные пользователем
        hidden - скрыт ли документ
        registered - зарегистрирован ли документ
        finished - завершен ли документ
        inProgress - находится ли документ в процессе
        controlled - является ли документ контрольным
        hasAttachments - имеет ли данный документ вложения
        defective - бракованный ли документ
        wasOpened - был ли документ просмотрен
        actions - если пользователь по данному документу имеет несколько работ - uuid'ы этих работ будут находиться в массиве actions.
        bases - основания документа
        registryID - идентификатор реестра, в котором находится документ (может отсутствовать, если документ не принадлежит никакому реестру)
        registryName - имя реестра, в котором находится документ (может отсутствовать, если документ не принадлежит никакому реестру)
        formName - имя формы
        formID - идентификатор формы
        formCode - код формы
        asfDataID - идентификатор данных по форме реестра документа (может отсутствовать, если документ не принадлежит никакому реестру)
        rawdata - Base64 подписываемых данных документа
        processing - статус записи реестра (true - находится в процессе)
        activate - статус записи реестра (true - запись активирована)
        Parameters:
        documentID - documentID
        locale - локаль
        Returns:
        json строка
      • getAttachments

        public java.lang.String getAttachments(java.lang.String documentID,
                                               int count,
                                               boolean getCounters,
                                               java.lang.String locale)
        Метод возвращает отсортированный в обратном порядке по дате добавления список файлов документа (из вложений и прочих)

        URL: /rest/api/doc/last_attachments
        Тип: GET

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

        Пример запроса на получение трех последних вложений
        http://хост:порт/Synergy/rest/api/docflow/doc/last_attachments?count=3&documentID=UUID
        Parameters:
        documentID - uuid документа
        count - количество файлов которое должно быть возвращено (по умолчанию 3)
        getCounters - если true - метод так же возвращает общее количество вложений документа (по умолчанию false)
        locale - локаль пользователя
        Returns:
        если getCounters= true, возвращается json вида
        {list: [{вложение_1}, {вложение_2}, ..., {вложение_n}], count: количество_вложений документа }
        если getCounters=false, возвращается просто список вложений [{вложение_1}, {вложение_2}, ..., {вложение_n}]
      • getFullAttachments

        public java.lang.String getFullAttachments(java.lang.String documentID,
                                                   java.lang.String locale)
        Метод возвращает все файлы данного документа по двум группам - вложения и прочие

        URL: rest/api/docflow/doc/attachments
        Тип: 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",
                      "is_editable": "true",
                      "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",
                      "is_editable": "true",
                      "created_label": "15 минут назад",
                      "created": "2013-06-26 09:12:54",
                      "icon": "preview?identifier=d55ae76a-f451-452d-93cb-3c6b28ba2332"
                  }
              ]
         }
         
        Parameters:
        documentID - - uuid документа
        locale - - локаль пользователя
        Returns:
        описано выше
      • createAttachment

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

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



        URL: rest/api/docflow/doc/attachment/create
        Тип: POST
        Parameters:
        documentID - UUID документа
        path - строка показывающая, в какой контейнер необходимо положить файл. (ase:attachmentContainer, ase:workContainer)
        fileName - название загружаемого файла
        filePath - путь к временному файлу, загруженному на сервер
        locale - локаль пользователя
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка),
      • doCreateAttachment

        public java.lang.String doCreateAttachment(java.lang.String documentID,
                                                   java.lang.String path,
                                                   java.lang.String fileName,
                                                   java.lang.String filePath,
                                                   java.lang.String locale,
                                                   boolean warning,
                                                   java.lang.String successMessage)
      • deleteAttachment

        public java.lang.String deleteAttachment(java.lang.String fileUUID,
                                                 java.lang.String locale)
        Метод удаляет вложение

        URL: rest/api/docflow/doc/attachment/remove
        Тип GET
        Parameters:
        fileUUID - идентификатор файла, который надо удалить
        locale - локаль пользователя
        Returns:
        Объект json с полями
        errorCode код выполнения (0- успешно, иначе - ошибка)
        errorMessage сообщение, характеризующее успешное выполнение либо ошибку
      • getComments

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

        URL: rest/api/docflow/doc/comments/list
        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/docflow/doc/comments/list?documentID=UUID&count=3
        Parameters:
        documentID - uuid документа
        start - номер первой записи (отсчет с 0)
        count - количество записей в возвращаемом списке (по умолчанию 3)
        getCounters - true - получить количество комментариев, иначе - false
        locale - локаль пользователя
        Returns:
        если getCounters= true, возвращается json вида
        {list: [{комментарий_1}, {комментарий_2}, ..., {комментарий_n}], count: количество_комментариев_в_фильтре}
        если getCounters = false, возвращается просто список комментариев [{комментарий_1}, {комментарий_2}, ..., {комментарий_n}]
      • addComment

        public java.lang.String addComment(java.lang.String documentID,
                                           java.lang.String workID,
                                           java.lang.String commentID,
                                           java.lang.String comment,
                                           java.lang.String locale)
        Добавляет/изменяет комментарий к документу

        URL: rest/api/docflow/doc/comments/save
        Тип POST
        Parameters:
        documentID - uuid документа
        workID - uuid работы
        commentID - uuid комментария, для добавления нового комментария - не передавать
        comment - текст комментария (передается как параметр формы)
        locale - локаль пользователя На данный момент поддерживается только один тип simple - к телу комментария добавляются названия объектов.
      • deleteComment

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

        URL: rest/api/docflow/doc/comments/remove
        Тип GET
        Parameters:
        commentID - uuid комментария
        locale - локаль пользователя
      • getDocumentItems

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

        URL: rest/api/docflow/document_actions
        Тип: GET

        Каждое действие характеризуется следующими полями:
        action - идентификатор действия, значение из WorkActionType
        operation - идентификатор операции, значение из WorkActionSubType (может отсутствовать)
        label - название действия
        color - идентификатор цвета, значение из ActionColor
        Parameters:
        documentID - uuid работы
        locale - локаль пользователя
        Returns:
        массив json объектов с информацией о возможных действиях
        See Also:
        WorkActionType, WorkActionSubType, ActionColor
      • setHidden

        public java.lang.String setHidden(java.lang.String documentID,
                                          boolean hidden,
                                          java.lang.String filterType,
                                          java.lang.String locale)
        Метод скрывает/восстанавливает документ

        URL: rest/api/docflow/doc/hide
        Тип: GET
        Parameters:
        documentID - documentID (uuid документа)
        filterType - фильтр, в котором скрывается документ
        hidden - true - скрыть документ, false - восстановить
        locale - локаль
        Returns:

        В случае неуспешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке
        See Also:
        arta.synergy.web.common.client.data.bp.docflow.DocSearchParams#USER_OWN_DOCUMENTS, arta.synergy.web.common.client.data.bp.docflow.DocSearchParams#USER_SENT_DOCUMENTS, arta.synergy.web.common.client.data.bp.docflow.DocSearchParams#USER_RECEIVED_DOCUMENTS, arta.synergy.web.common.client.data.bp.docflow.DocSearchParams#ALL_USER_DOCUMENTS
      • setSeen

        public java.lang.String setSeen(java.lang.String documentID,
                                        boolean seen,
                                        java.lang.String filterType,
                                        java.lang.String locale)
        Метод отмечает документ как "Просмотренный"

        URL: rest/api/docflow/doc/set_seen
        Тип: GET
        Parameters:
        documentID - documentID (uuid документа)
        seen - true/false (просмотрен документ либо нет)
        filterType - тип фильтра, из которого скрывается документ
        locale - локаль
        Returns:

        В случае неуспешного выполнения возвращается json с полями
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке
      • getRoutes

        public java.lang.String getRoutes(java.lang.String search,
                                          boolean bookmarks,
                                          java.lang.String locale)
        Получение списка маршрутов доступных пользователю

        URL: rest/api/docflow/doc/routes
        Тип: GET
        Parameters:
        search - строка поиска (поиск производится только по наименованию маршрутов)
        bookmarks - true - отображать только скрытые, false - отображать все (по умолчанию)
        locale - локаль
        Returns:
        json строка (успешно/неуспешно) Пример:
            [
            {
            "routeID": "c4ddd6b1-ade2-4ee2-ace5-aaec6a81d02a",
            "routeName": "Анализ бухгалтерского баланса",
            "authorID": "ee71a4c6-888a-4f04-86de-44ab394f5749",
            "authorName": "Слепаков И.И.",
            "isBookmark": "false"
            },
            {
            "routeID": "22a48f88-199a-4398-8eb6-15ba8ef35deb",
            "routeName": "Анализ бухгалтерского баланса №2",
            "authorID": "ee71a4c6-888a-4f04-86de-44ab394f5749",
            "authorName": "Слепаков И.И.",
            "isBookmark": "true"
            }
            ]
         

        routeID - uuid маршрута
        routeName - наименование реестра
        authorID - uuid автора
        authorName - имя автора
        isBookmark - является ли реестр "Избранным"
      • getDocCode

        public java.lang.String getDocCode(java.lang.String typeId)
      • getDocumentHistory

        public java.util.List<ProcessHistory> getDocumentHistory(java.lang.String documentID,
                                                                 java.lang.String locale)
      • getDocumentRCC

        public java.lang.String getDocumentRCC(java.lang.String documentID,
                                               java.lang.String locale)

        API-метод, позволяющий получить РКК документа.

        URL rest/api/docflow/doc/rcc
        Method GET

        Parameters:
        documentID - UUID документа (обяз.);
        locale - локаль;
        Returns:
        В случае успешного выполнения возвращаемая json в самом общем виде имеет следующие поля:

        (1) Для документов с типом журнала внутренний:


        • content - краткое содержание в строковом формате;
        • registerID - UUID журнала, по которому был выбран тип документа;
        • registerName - название журнала, по которому был выбран тип документа. Отобразить название в соответствии с локалью в строковом формате;
        • number - номер в строковом формате, установленном для данного документа;
        • regDate - отображается для зарегистрированных документов в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС";
        • length - отображается в числовом формате в случае, если при настройке типа документа был использован способ ввода срока "Длительность";
        • lengthType - отображает тип длительности в зависимости от установленной настройки "Способ расчета срока" (отображается в случае отображения поля length) и принимает один из следующих значений:
          • "WORKING_DAYS" - в рабочих днях;
          • "CALENDAR_DAYS" - в календарных днях;
        • finishDate - отображается в формате "ГГГГ-ММ-ДД" в случае, если при настройке типа документа был использован способ ввода срока "Дата завершения";
        • authorID - UUID автора документа;
        • authorName - ФИО автора документа;
        • registeredByID - UUID зарегестрировавшего документ;
        • registeredByName - ФИО зарегистрировавшего документ;
        • controlled - является ли контрольным (true - да, false - нет);
        • caseID - UUID дела;
        • caseName - название дела, в которое был списан документ. Отобразить название в соответствии с локалью в строковом формате;
        • bases - массив, содержащий UUID оснований;
        • executorID - UUID исполнителя.
        • executorName - ФИО исполнителя.
        • registered - true, если документ зарегистрирован, иначе false
        • mandatoryFields - представляет собой массив строк с кодами обязательных для заполнения полей. В случае, если какое-либо из полей РКК передается в виде нескольких полей JSON, в mandatoryFields указываются они все

        (2) Для документов с типом журнала входящий:


        • content - краткое содержание в строковом формате;
        • registerID - UUID журнала, по которому был выбран тип документа
        • registerName - название журнала, по которому был выбран тип документа. Отобразить название в соответствии с локалью в строковом формате
        • number - номер в строковом формате, установленном для данного документа;
        • regDate - отображается для зарегистрированных документов в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС";
        • length - отображается в числовом формате в случае, если при настройке типа документа был использован способ ввода срока "Длительность";
        • lengthType - отображает тип длительности в зависимости от установленной настройки "Способ расчета срока" (отображается в случае отображения поля length) и принимает один из следующих значений:
          • "WORKING_DAYS" - в рабочих днях;
          • "CALENDAR_DAYS" - в календарных днях;
        • finishDate - отображается в формате "ГГГГ-ММ-ДД" в случае, если при настройке типа документа был использован способ ввода срока "Дата завершения";
        • correspondentOrg - название корреспондента-организации в строковом формате;
        • correspondent - название корреспондента в строковом формате;
        • registeredByID - UUID зарегестрировавшего документ;
        • registeredByName - ФИО зарегистрировавшего документ;
        • controlled - является ли контрольным (true - да, false - нет);
        • numberOut - номер исх. в строковом формате, установленном для данного документа;
        • dateOut - дата исх. в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС";
        • caseID - UUID дела;
        • caseName - название дела, в которое был списан документ. Отобразить название в соответствии с локалью в строковом формате;
        • bases - массив, содержащий UUID оснований;
        • executorID - UUID исполнителя.
        • executorName - ФИО исполнителя.
        • mandatoryFields - представляет собой массив строк с кодами обязательных для заполнения полей. В случае, если какое-либо из полей РКК передается в виде нескольких полей JSON, в mandatoryFields указываются они все

        (3) Для документов с типом журнала исходящий:


        • content - краткое содержание в строковом формате;
        • registerID - UUID журнала, по которому был выбран тип документа;
        • registerName - название журнала, по которому был выбран тип документа. Отобразить название в соответствии с локалью в строковом формате;
        • number - номер в строковом формате, установленном для данного документа;
        • regDate - отображается для зарегистрированных документов в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС";
        • correspondentOrg - название корреспондента-организации в строковом формате;
        • correspondent - название корреспондента в строковом формате;
        • authorID - UUID автора документа;
        • authorName - ФИО автора;
        • registeredByID - UUID зарегестрировавшего документ;
        • registeredByName - ФИО зарегистрировавшего документ;
        • controlled - является ли контрольным (true - да, false - нет);
        • caseID - UUID дела;
        • caseName - название дела, в которое был списан документ. Отобразить название в соответствии с локалью в строковом формате
        • bases - массив, содержащий UUID оснований;
        • data - Также должны отображаться данные из формы "Дополнительной карточки";
        • mandatoryFields - представляет собой массив строк с кодами обязательных для заполнения полей. В случае, если какое-либо из полей РКК передается в виде нескольких полей JSON, в mandatoryFields указываются они все
        *так же вовращаются недефолтные поля, что включены в особой настройке карточки хотя бы одного типа документа данного типа журнала. Такими полями могут быть

        для документов с типом журнала входящий:

        • authorID - UUID автора документа

        для документов с типом журнала внутренний:

        • correspondentOrg - название корреспондента-организации в строковом формате
        • correspondent - название корреспондента в строковом формате
        • numberOut - номер исх. в строковом формате, установленном для данного документа
        • dateOut - дата исх. в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС"

        для документов с типом журнала исходящий:

        • numberOut - номер исх. в строковом формате, установленном для данного документа
        • dateOut - дата исх. в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС"

        В случае неуспешного выполнения возвращается json с полями:

        • errorCode - код выполнения (число, отличное от 0);
        • errorMessage - "Ошибка получения РКК документа".

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

         {
              "content": "Future requests.",
              "registerID": "888cfa2e-6d55-4ed5-b1be-890ffad560dq",
              "registerName": "Исходящие документы",
              "number": "{obwii}-{dd}.{MM}.{yyyy}",
              "regDate": "",
              "correspondentOrg": "",
              "correspondent": "",
              "authorID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
              "authorName": "Aбдрешен Леонид Аркадьевич",
              "registeredByID": "",
              "registeredByName": ""
              "controlled": true,
              "caseID": "",
              "caseName": "",
              "bases": [],
              "data":[
                  {
                  "id": "cmp-numericinput",
                  "type": "numericinput",
                  "value": "20.00"
                  },
                  {
                  "id": "cmp-id",
                  "type": "personlink",
                  "label": "Label-text",
                  "value": "идентификатор записи адресной книги"
                  }
              ],
              "mandatoryFields": [
                  "caseID", "caseName", "executorID", "executorName"
              ]
         }
         
      • finDocByNumber

        public java.lang.String finDocByNumber(java.lang.String number)

        API-метод, позволяющий получить идентификатор документа по его номеру (если таких документов несколько, возвращается первый).

        URL rest/api/docflow/findDocByNumber
        Method GET

        Parameters:
        number - номер (обяз.);
        Returns:
        В случае успешного выполнения возвращается идентификатор документа

        В случае неуспешного выполнения возвращается json с полями:

        • errorCode - код выполнения (число, отличное от 0)
        • errorMessage - "Ошибка получения подписей документа"
      • getSignList

        public java.lang.String getSignList(java.lang.String documentID,
                                            java.lang.String locale)

        API-метод, позволяющий получить список подписей для данного документа.

        URL rest/api/docflow/doc/sign_list
        Method GET

        Parameters:
        documentID - UUID документа (обяз.)
        locale - локаль
        Returns:
        В случае успешного выполнения json возвращает массив, содержащий элементы со следующими полями:
        • userID - UUID подписавшего сотрудника
        • userName - Ф.И.О. подписавшего сотрудника
        • userPosition - должность подписавшего сотрудника
        • date - стамп времени подписания в формате: "ГГГГ-ММ-ДД ЧЧ:ММ:СС"
        • comment - комментарий
        • actionType - тип действия, при котором совершили подписание. Один из следующих вариантов:
          • SIGN_ITEM - подписано с помощью действия "Подписать"
          • AGREEMENT_ITEM - подписано при согласовании
          • APPROVAL_ITEM - подписано при утверждении
          • ACQUAINTANCE_ITEM - подписано при ознакомлении
        • signType - тип подписи. Один из следующих вариантов
          • SIMPLE - обычная подпись
          • ECS - электронная подпись, при её валидности

        В случае неуспешного выполнения возвращается json с полями:

        • errorCode - код выполнения (число, отличное от 0)
        • errorMessage - "Ошибка получения подписей документа"

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

             [
             {
                 "userID": "Unknown",
                 "userName": "Unknown U.",
                 "userPosition": "Канцелярия",
                 "date": "2023-07-05 10:54:28",
                 "comment": "",
                 "actionType": "SIGN_ITEM",
                 "signType": "ECS",
                 "action": "Подпись",
                 "actionResult": "Подписано",
                 "nameOgrInfo": "акционерное общество \"Казахстанский центр индустрии и экспорта \"QazIndustry\"",
                 "bin": "100640016414",
                 "iin": "941220350774",
                 "keyReleaseDate": "15.03.2023",
                 "keyExpiryDate": "14.03.2024",
                 "email": "k.serikov@arta.pro"
             },
             {
              "userID": "78w96q2e-6d55-4ed5-b1be-890ffad280ba",
              "userName": "Захаров М.П.",
              "userPosition": "Заместитель директора",
              "date": "2015-05-20 10:11:12",
              "comment": "OK",
              "actionType": "AGREEMENT_ITEM"
              "signType": "ECS"
             }
             ]
         
      • sign

        public Response sign(java.lang.String locale,
                             java.lang.String documentID,
                             java.lang.String rawdata,
                             java.lang.String signdata,
                             java.lang.String certificate,
                             java.lang.String certID)

        API-метод подписания документа

        URL rest/api/docflow/sign
        Method POST

        Parameters:
        locale - локаль пользователя
        documentID - UUID документа (обяз.)
        rawdata - данные для подписи base64 (обяз.)
        signdata - Base64 закодированная строка с подписью (обяз., если включена настройка "Требовать ключ и сертификат")
        certificate - сертификат base64 (обяз. если включена настройка требовать ключ и сертификат)
        certID - идентификатор сертификата, получаемый в методе verificationkey (certID::::sigalg) (обяз., если включена настройка "Требовать ключ и сертификат");
        Returns:
        В случае успешного выполнения json со следующими полями:
        • errorCode = 0
        • errorMessage = Данные сохранены
        в случае ошибки вернет json со следующими полями
        • errorCode = код ошибки
        • errorMessage = сообщение
      • transferDocumentAttachments

        public Response transferDocumentAttachments(FileTransferOperation operation)

        Метод API для трансфера файлов вложений из одного документа в другой

        URL: rest/api/docflow/doc/attachment/transfer
        Method POST
        Parameters:
        operation - - Метод принимает следующие параметры (json):

        toDocId - UUID документа, в который будут отправлены файлы (обяз.)
        path - параметр, определяющий в какую папку контейнера файлов документа необходимо положить файл. Возможные значения:
        • ase:attachmentContainer - папка "Приложения"
        • ase:workContainer - папка "Прочие"
        По умолчанию принимается значение ase:attachmentContainer.
        fromDocId - UUID документа, из которого будут отправлены файлы (обяз.)
        fileCollision - параметр (необяз., по умолчанию skip), который определяет поведение метода при совпадении названия файла или идентификатора файла (в том числе файл с другим идентификатором, но одинаковым названием, если передача файла производится по идентификатору). Принимает следующие параметры:
        • overwrite - файл полностью перезаписывается
        • skip - данный файл пропускается, то есть не передается
        • version - файл добавляется в качестве новой версии файла.

        files - массив отправляемых файлов из документа fromDocId со следующими полями (обяз.):
        • fileUUID - идентификатор файла
        • fileName - название файла с расширением
        • filePath - папка, контейнера файлов документа, в которой находится данный файл (необяз., по умолчанию ase:attachmentContainer). Используется только вместе с параметром fileName. Может принимать следующие значения:
          • ase:attachmentContainer - папка "Приложения"
          • ase:workContainer - папка "Прочие".

        В элементе массива обязательно должен присутствовать либо параметр fileUUID, либо fileName.
        Если в элементе массива введен fileUUID, то параметры fileName, filePath игнорируются и передается файл с указанным идентификатором. Если в элементе массива не введен fileUUID, то передается файл с указанным названием.
        Если в массиве один и тот же файл указан несколько раз, то передается он только один раз. Для следующих случаев:
        • два элемента массива содержат одинаковые fileUUID
        • два элемента массива содержат одинаковые fileName и filePath (одновременно)
        • один из элементов массива содержит fileName и filePath файла, идентификатор которого соответствует одному из fileUUID, указанному в другом элементе массива.

        Пример передаваемого запроса:
            {
            "toDocId" : "359e0450-5248-11e6-81e4-5a14ad700067",
            "path": "ase:workContainer",
            "fromDocId" : "96491790-4e33-11e6-a28a-5a14ad700067",
            "fileCollision" : "version",
            "files":
            [
            { "fileUUID" : "0db3a170-4e38-11e6-8030-001ef892a4ee"},
            { "fileUUID" : "f30f6b31-4cbe-11e6-8030-001ef892a4ee"},
            {
            "fileUUID" : "831b5d10-4da5-11e6-812b-5a14ad700067",
            "fileName" : "test.pdf",
            "filePath" : "ase:workContainer"
            },
        
            {
            "fileName" : "test.htd",
            "filePath" : "ase:workContainer`"
            },
            {  "fileName" : "file1.pdf"}
            ]
            }
         
        Returns:
        В случае успешного выполнения json со следующими полями:
        • errorCode = 0
        • errorMessage = Файлы добавлены
        в случае ошибки вернет json со следующими полями
        • errorCode = код ошибки
        • errorMessage = сообщение
        Пример возвращаемого json-объекта при успешном выполнении метода:
               {
                    "errorCode": 0,
                    "errorMessage": "Файлы добавлены"
               }
         
      • getDocTypes

        public Response getDocTypes(java.lang.String registerID,
                                    java.lang.String description,
                                    int page,
                                    int recordsCount,
                                    java.lang.String locale)

        Метод API для получения списка типов документов
        URL: rest/api/docflow/doctypes
        Method GET

        Parameters:
        registerID - идентификатор журнала (необяз.). При вводе данного параметра возвращаются те типы документов, которые относятся к данному журналу
        description - параметр (необяз., по умолчанию short), который принимает следующие значения:
        • full - возвращается полное описание типа документа
        • short - возвращается только идентификатор, код и название типа документа
        page - номер страницы результатов, начиная с которой будут возвращены записи (по умолчанию 0)
        recordsCount - количество результатов, которые необходимо вернуть (по умолчанию 30). Максимальное значение параметра 100
        locale - локаль
        Returns:
        Данный метод возвращает список всех типов документов либо при указании идентификатора журнала список типов документов данного журнала с полным либо кратким описанием. Список типов документов возвращается с учетом прав пользователя, который вызывает API метод, на данные типы документов. Если у пользователя нет доступа к какому-либо типу документа, то данный тип не возвращается в списке.
        Метод при условии description=short возвращает массив JSON, состоящий из следующих полей
        • typeID - идентификатор типа документа
        • code - код типа документа
        • name - название типа документа
        Метод при условии description=full возвращает массив JSON, состоящий из следующих полей:
        • typeID - идентификатор типа документа
        • code - код типа документа
        • name - название типа документа
        • calc_method_term - способ расчета срока, один из следующих вариантов:
          • WORKING_DAYS - в рабочих днях
          • CALENDAR_DAYS - в календарных днях
        • duration - длительность по умолчанию (в днях)
        • input_method_term - способ ввода срока, один из следующих вариантов:
          • DURATION - длительность
          • FINISH_DATE - дата завершения
        • registerID - идентификатор журнала
        • baseRegisterID - идентификатор базового журнала
        • formID - идентификатор формы
        • form_type - тип реализации формы, один из следующих вариантов:
          • 0 - форма на основе xform
          • 1 - новая реализация форм
        • routes - массив, который содержит названия шаблонов маршрутов
        • checkDocCard - валидация ркк перед отправкой: true - проводится валидация РКК перед отправкой документа, false - валидация не проводится
        • demand_resuser - требовать ввода исполнителя: true - требуется ввод исполнителя перед отправкой документа, false - ввод исполнителя не требуется
        • demand_docfile - требовать указания дела: true - требуется указание дела перед отправкой документа, false - указание дела не требуется
        • demand_regcomment - требовать ввода комментария при регистрации: true - требуется ввод комментария при регистрации, false - ввод комментария не требуется
        • reg_condition - массив, который содержит условия регистрации. В данном массиве возвращаются только те условия, которые отмечены для проверки на наличие. Если ни одно из условий не отмечено, то массив возвращается пустой. Условия регистрации следующие
          • `demand_signature` - наличие подписи
          • `demand_approval` - наличие утверждения
          • `demand_resolution` - наличие резолюции
        • fields - массив объектов со следующими полями:
          • name - название поля РКК, один из следующих вариантов:
            • subject - краткое содержание
            • doc_type - тип документа
            • number - номер
            • reg_date - дата регистрации
            • duration - длительность/завершение
            • correspondent_org - корреспондент (орг)
            • correspondent - корреспондент
            • author - автор
            • reg_user - зарегистрировал
            • control - является контрольным
            • base_number - номер исх.
            • base_date - дата исх.
            • doc_file - дело
            • base - основание
            • user - исполнитель
            В данном массиве объектов возвращаются только те поля, которые отмечены для отображения в карточке документа. Поля, которые не отображаются в карточке документа, в данном массиве объектов не возвращаются.
          • number - порядковый номер поля, отсутствует только для поля user.
        Пример возвращаемого массива при условии description=full:
            [
            {
                "typeID" : "f30f6b31-4cbe-12e31f70-8030-0012a4ee",
                    "code" : "internal",
                    "name" : "Внутренние документы",
                    "calc_method_term" : "WORKING_DAYS",
                    "duration" : 5,
                    "input_method_term" : "DURATION",
                    "registerID" : "8f85e270-ebf1-11e5-835c-525400bb7fc6",
                    "baseRegisterID" : "aa55e270-ebf1-11e5-835c-525400bb7fc6",
                    "formID" : "52sf2270-4cc0-11e6-8030-001ef892a4ee",
                    "form_type" : 0,
                    "routes" :
                [
                "Шаблон приказов",
                        "Шаблон заявлений"
                ],
                "checkDocCard" : false,
                    "demand_resuser" : false,
                    "demand_docfile" : false,
                    "demand_regcomment" : false,
                    "reg_condition" :
                [
                "demand_signature",
                        "demand_approval"
                ],
                "fields" :
                [
                { "name" : "subject", "number" : 1  },
                { "name" : "doc_type", "number" : 2  },
                { "name" : "number", "number" : 3   },
                { "name" : "reg_date", "number" : 4  },
                { "name" : "correspondent_org", "number" : 5  },
                { "name" : "correspondent", "number" : 6  },
                { "name" : "author", "number" : 7 },
                { "name" : "reg_user", "number" : 9 },
                { "name" : "control", "number" : 10  },
                { "name" : "doc_file", "number" : 13  },
                { "name" : "base", "number" : 14  }
                ]
            },
            {
                "typeID" : "0db3a170-4e38-11e6-8030-001ef892a4ee",
                    "code" : "incoming",
                    "name" : "Входящие документы",
                    "calc_method_term" : "WORKING_DAYS",
                    "duration" : 5,
                    "input_method_term" : "DURATION",
                    "registerID" : "8f85e270-ebf1-11e5-835c-525400bb7fc6",
                    "baseRegisterID" : "aa55e270-ebf1-11e5-835c-525400bb7fc6",
                    "formID" : "22s12270-4cc0-11e6-8030-001ef892a4ee",
                    "form_type" : 0,
                    "routes" :
                [
                "Шаблон входящих писем",
                        "Шаблон писем"
                ],
                "checkDocCard" : false,
                    "demand_resuser" : false,
                    "demand_docfile" : false,
                    "demand_regcomment" : false,
                    "reg_condition" :
                [
                "demand_signature",
                        "demand_approval"
                ],
                "fields" :
                [
                { "name" : "subject", "number" : 1  },
                { "name" : "doc_type", "number" : 2  },
                { "name" : "number", "number" : 3   },
                { "name" : "reg_date", "number" : 4  },
                { "name" : "correspondent_org", "number" : 5  },
                { "name" : "correspondent", "number" : 6  },
                { "name" : "author", "number" : 7 },
                { "name" : "reg_user", "number" : 9 },
                { "name" : "control", "number" : 10  },
                { "name" : "doc_file", "number" : 13  },
                { "name" : "base", "number" : 14  }
                ]
            },
            {
                "typeID" : "fd96dff0-4e37-11e6-8030-001ef892a4ee",
                    "code" : "outgoing",
                    "name" : "Исходящие документы",
                    "calc_method_term" : "WORKING_DAYS",
                    "duration" : 5,
                    "input_method_term" : "DURATION",
                    "registerID" : "8f85e270-ebf1-11e5-835c-525400bb7fc6",
                    "baseRegisterID" : "aa55e270-ebf1-11e5-835c-525400bb7fc6",
                    "formID" : "21df270-4cc0-11e6-8030-001ef892a4ee",
                    "form_type" : 0,
                    "routes" :
                [
                "Шаблон заявок",
                        "Шаблон заявок на закуп"
                ],
                "checkDocCard" : false,
                    "demand_resuser" : false,
                    "demand_docfile" : false,
                    "demand_regcomment" : false,
                    "reg_condition" :
                [
                "demand_signature",
                        "demand_approval"
                ],
                "fields" :
                [
                { "name" : "subject", "number" : 1  },
                { "name" : "doc_type", "number" : 2  },
                { "name" : "number", "number" : 3   },
                { "name" : "reg_date", "number" : 4  },
                { "name" : "correspondent_org", "number" : 5  },
                { "name" : "correspondent", "number" : 6  },
                { "name" : "author", "number" : 7 },
                { "name" : "reg_user", "number" : 9 },
                { "name" : "control", "number" : 10  },
                { "name" : "doc_file", "number" : 13  },
                { "name" : "base", "number" : 14  }
                ]
            }
            ]
         
      • getDocType

        public Response getDocType(java.lang.String code,
                                   java.lang.String locale)

        Метод API для получения описания типа документа
        URL: rest/api/docflow/doctypes/{docTypeCode}
        Method GET

        Parameters:
        code - код типа документа (обяз.);
        locale - локаль
        Returns:
        Метод возвращает полное описание типа документа по его коду, в том числе и перечень отображаемых в карточке документа полей с учетом прав пользователя, который вызывает API метод, на данный тип документа. Метод возвращает объект JSON, состоящий из следующих полей
        • typeID - идентификатор типа документа
        • code - код типа документа
        • name - название типа документа
        • calc_method_term - способ расчета срока, один из следующих вариантов:
          • WORKING_DAYS - в рабочих днях
          • CALENDAR_DAYS - в календарных днях
        • duration - длительность по умолчанию (в днях)
        • input_method_term - способ ввода срока, один из следующих вариантов:
          • DURATION - длительность
          • FINISH_DATE - дата завершения
        • registerID - идентификатор журнала
        • baseRegisterID - идентификатор базового журнала
        • formID - идентификатор формы
        • form_type - тип реализации формы, один из следующих вариантов:
          • 0 - форма на основе xform
          • 1 - новая реализация форм
        • routes - массив, который содержит названия шаблонов маршрутов
        • checkDocCard - валидация ркк перед отправкой: true - проводится валидация РКК перед отправкой документа, false - валидация не проводится
        • demand_resuser - требовать ввода исполнителя: true - требуется ввод исполнителя перед отправкой документа, false - ввод исполнителя не требуется
        • demand_docfile - требовать указания дела: true - требуется указание дела перед отправкой документа, false - указание дела не требуется
        • demand_regcomment - требовать ввода комментария при регистрации: true - требуется ввод комментария при регистрации, false - ввод комментария не требуется
        • reg_condition - массив, который содержит условия регистрации. В данном массиве возвращаются только те условия, которые отмечены для проверки на наличие. Если ни одно из условий не отмечено, то массив возвращается пустой. Условия регистрации следующие
          • `demand_signature` - наличие подписи
          • `demand_approval` - наличие утверждения
          • `demand_resolution` - наличие резолюции
        • fields - массив объектов со следующими полями:
          • name - название поля РКК, один из следующих вариантов:
            • subject - краткое содержание
            • doc_type - тип документа
            • number - номер
            • reg_date - дата регистрации
            • duration - длительность/завершение
            • correspondent_org - корреспондент (орг)
            • correspondent - корреспондент
            • author - автор
            • reg_user - зарегистрировал
            • control - является контрольным
            • base_number - номер исх.
            • base_date - дата исх.
            • doc_file - дело
            • base - основание
            • user - исполнитель
            В данном массиве объектов возвращаются только те поля, которые отмечены для отображения в карточке документа. Поля, которые не отображаются в карточке документа, в данном массиве объектов не возвращаются.
          • number - порядковый номер поля, отсутствует только для поля user.
        Пример возвращаемого объекта JSON при указании кода типа документа:
            {
                "typeID" : "fd96dff0-4e37-11e6-8030-001ef892a4ee",
                    "code" : "outgoing",
                    "name" : "Исходящие документы",
                    "calc_method_term" : "WORKING_DAYS",
                    "duration" : 5,
                    "input_method_term" : "DURATION",
                    "registerID" : "8f85e270-ebf1-11e5-835c-525400bb7fc6",
                    "baseRegisterID" : "aa55e270-ebf1-11e5-835c-525400bb7fc6",
                    "formID" : "66df2270-4cc0-11e6-8030-001ef892a4ee",
                    "form_type" : 0,
                    "routes" :
                [
                "Шаблон заявок",
                        "Шаблон заявок на закуп"
                ],
                "checkDocCard" : false,
                    "demand_resuser" : false,
                    "demand_docfile" : false,
                    "demand_regcomment" : false,
                    "reg_condition" :
                [
                "demand_signature",
                        "demand_approval"
                ],
                "fields" :
                [
                { "name" : "subject", "number" : 1  },
                { "name" : "doc_type", "number" : 2  },
                { "name" : "number", "number" : 3   },
                { "name" : "reg_date", "number" : 4  },
                { "name" : "correspondent_org", "number" : 5  },
                { "name" : "correspondent", "number" : 6  },
                { "name" : "author", "number" : 7 },
                { "name" : "reg_user", "number" : 9 },
                { "name" : "control", "number" : 10  },
                { "name" : "doc_file", "number" : 13  },
                { "name" : "base", "number" : 14  }
                ]
            }
         
      • sendDocument

        public Response sendDocument(DocSendInfo sendInfo)

        Метод API для пересылки документов URL: rest/api/docflow/doc/send
        Method POST
        Метод принимает следующие входные параметры (json):

        documentID - uuid документа, который необходимо переслать (обяз.);
        users - массив uuid пользователей, которым необходимо переслать документ;
        groups - массив uuid групп пользователей, которым необходимо переслать документ;
        emails - массив произвольных e-mail, которым необходимо переслать документ;
        locale - локаль. Пример передаваемого запроса: { "documentID": "7ce1feff-a3f0-4f4e-8bf6-59e37caf553f", "users": ["7b953be8-bddb-4ce4-bbfd-ae9548f69c7f", "e65f62fa-7045-4b5b-b61d-46ca00ea7af1"], "groups": [1, 5], "emails": ["bobrov@arta.kz"] }

        Parameters:
        sendInfo - json-объект;
        Returns:
        В случае успешного выполнения json со следующими полями:
        • errorCode = 0
        • errorMessage = Документ отправлен
        в случае ошибки вернет json со следующими полями
        • errorCode = код ошибки
        • errorMessage = сообщение
        Пример возвращаемого json-объекта при успешном выполнении метода:
                {
                    "errorCode": 0,
                    "errorMessage": "Документ отправлен"
                }
         
      • getDocumentProcesses

        public Response getDocumentProcesses(java.lang.String documentID,
                                             java.lang.String locale)

        Метод API получения списка ид процессов маршрута в документе, которые запустил авторизованный пользователь URL: rest/api/docflow/doc/processes
        Method GET
        Пример возвращаемого json-объекта при успешном выполнении метода:

             [
                {
                    "procInstID": "600149",
                    "name": "13.06.2018 12.14.27"
                },
                {
                    "procInstID": "600153",
                    "name": "13.06.2018 12.14.34"
                }
             ]
         
        Parameters:
        documentID - ид документа
        locale - локаль
        Returns:
        список процессов маршрута
      • stopRoute

        public Response stopRoute(java.lang.String documentID,
                                  java.lang.String procInstID,
                                  java.lang.String locale)

        Метод API для прерывания маршрута документа. Прерывание маршрута возможно если пользователь выполняющий запрос автор работы или методолог синерджи. URL: rest/api/docflow/doc/stop_route
        Method POST
        В случае успешного выполнения json со следующими полями:

        • errorCode = 0
        • errorMessage = Маршрут прерван
        в случае ошибки вернет json со следующими полями
        • errorCode = код ошибки
        • errorMessage = сообщение
        Пример возвращаемого json-объекта при успешном выполнении метода:
             {
                "errorCode": 0,
                 "errorMessage": "Маршрут прерван"
             }
             
        Parameters:
        documentID - - ид документа, в случае передачи этого параметра, будут прерваны все маршруты в документе, которые запустил авторизованный пользователь
        procInstID - - ид процесса прерываемого маршрута (procInstID приоритетнее, чем documentID)
        locale - - локаль
        Returns:
      • getDocumentChangeHistory

        public Response getDocumentChangeHistory(java.lang.String documentID,
                                                 java.lang.String locale)

        Метод API получения истории изменения документа URL: rest/api/docflow/doc/changes
        Method GET
        Пример возвращаемого json-объекта при успешном выполнении метода:

             [
             {
             "host": "",
             "userName": "Admin A.A.",
             "date": 1655095767000,
             "userID": "1",
             "description": "Значения полей РКК:\nКраткое содержание: Тест1,\n Номер: ,\n Дата регистрации:  ,\n Является контрольным: Нет,\n Зарегистрировал: ,\n Списать в: ,\n Основание: ,\n Исполнитель: ,\n Дата завершения: 14-06-2022,\n Длительность: 1,\n Корреспондент: ,\n Корреспондент организация: ,\n Номер исх.: ,\n Дата исх.: ",
             "comment": "Документ создан"
             },
             {
             "host": null,
             "userName": "Admin A.A.",
             "date": 1655123026000,
             "userID": "1",
             "actionName": "Создание",
             "fileName": "The longest bike.pdf",
             "folderName": "Приложения",
             "actionID": 2,
             "fileID": "463d2868-0526-4b60-be5d-39ac2d5ddac7",
             "comment": null
             }
             ]
         
        Parameters:
        documentID - uuid документа
        locale - локаль
        Returns:
        историю изменений документа
      • resendDocument

        public Response resendDocument(java.lang.String documentID)
kz.arta.synergy.api.rest.sign

Class SignService

  • java.lang.Object
    • kz.arta.synergy.api.rest.sign.SignService


  • public class SignService
    extends java.lang.Object
    REST сервис взаимодействия c applet-ом подписей
    Since:
    09.01.14 8:50
    • Constructor Summary

      Constructors 
      Constructor and Description
      SignService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String getAlg(java.lang.String cert)
      Получение алгоритма сертификата
      Response getDigest(java.lang.String idDocument)
      Получение дайджеста по списку файлов из динамической таблицы (atachments) формы
      Response getEsedoSignsGET(java.lang.String idDocument)
      Сохранение подписи для ЕСЭДО
      Response getEsedoSignsPOST(java.lang.String idDocument)
      Сохранение подписи для ЕСЭДО
      Response getEsedoSled(java.lang.String idDocument) 
      java.lang.String getSOH(java.lang.String sn)
      Метод получения подписываемого ключа
      KeyJoinResult joinByKey(java.lang.String certificate, java.lang.String signedSerialNumber, java.lang.String keyInfo, java.lang.String username, java.lang.String firstName, java.lang.String lastName)
      Добавление пользователя для авторизации по ключу
      Response parseSignersInfo(java.util.Map<java.lang.String,java.lang.String> sign)
      Сохранение подписи для ЕСЭДО
      java.lang.String saveSign(java.lang.String keyID, java.lang.String sourceDate, java.lang.String signedData) 
      java.lang.String testSign(java.lang.String keyID, java.lang.String docID, java.lang.String locale, java.lang.String userID)
      проверка подписей документа
      java.lang.String verificationKey(java.lang.String uuid, java.lang.String oid, java.lang.String pemCer, java.lang.String endTime, java.lang.String caID, java.lang.String edsInfo)
      проверяет статус ключа и в случае действительности сохраняет его в базе данных

      URL /rest/sign/verificationkey
      Method POST

      java.lang.String verificationKeyNCA(java.lang.String uuid, java.lang.String oid, java.lang.String pemCer, java.lang.String endTime, java.lang.String caID, java.lang.String edsInfo)
      проверяет статус ключа и в случае действительности сохраняет его в базе данных

      URL /rest/sign/verificationkey
      Method POST

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SignService

        public SignService()
    • Method Detail

      • verificationKey

        public java.lang.String verificationKey(java.lang.String uuid,
                                                java.lang.String oid,
                                                java.lang.String pemCer,
                                                java.lang.String endTime,
                                                java.lang.String caID,
                                                java.lang.String edsInfo)
        проверяет статус ключа и в случае действительности сохраняет его в базе данных

        URL /rest/sign/verificationkey
        Method POST

        Parameters:
        uuid - - идентификатор пользователя, от которого происходит проверка ключа (обяз.);
        oid - - устаревший параметр, не используется (необяз.);
        pemCer - - сериализированный сертификат в кодировке Base64 (обяз.);
        endTime - - дата завершения сертификата (обяз.);
        caID - - идентификатор корневого сертификата (необяз., по умолч. 0);
        edsInfo - - информация о сертификате, отображается при проверке сертификата KeyInf.KEY_CN, KeyInf.KEY_O для Synergy агента (необяз.);
        Returns:
        строка следующего вида ::::, состояющую из параметров:
        • entryID - идентификатор сертификата, публичная часть ключа;
        • algorithm - алгоритм подписи, используемый для сертификата.

        Пример возвращаемой строки: 4::::Sha1WithRSA
        • Если переданный сертификат был просрочен, метод возвращает ошибку в виде строки с текстом "CERT END".
        • Если переданный сертификат был отозван, метод возвращает ошибку в виде строки с текстом "CERT REVOKED".
        • Если не найден сертификационный центр переданного сертификата, метод возвращает ошибку в виде строки с текстом "DISTRIBUTION_CENTER_NOT_FOUND".

        Примечание. Отсутствие "::::" в возвращаемой строке указывает на наличие прочих ошибок.
      • verificationKeyNCA

        public java.lang.String verificationKeyNCA(java.lang.String uuid,
                                                   java.lang.String oid,
                                                   java.lang.String pemCer,
                                                   java.lang.String endTime,
                                                   java.lang.String caID,
                                                   java.lang.String edsInfo)
        проверяет статус ключа и в случае действительности сохраняет его в базе данных

        URL /rest/sign/verificationkey
        Method POST

        Parameters:
        uuid - - идентификатор пользователя, от которого происходит проверка ключа (обяз.);
        oid - - устаревший параметр, не используется (необяз.);
        pemCer - - сериализированный сертификат в кодировке Base64 (обяз.);
        endTime - - дата завершения сертификата (обяз.);
        caID - - идентификатор корневого сертификата (необяз., по умолч. 0);
        edsInfo - - информация о сертификате, отображается при проверке сертификата KeyInf.KEY_CN, KeyInf.KEY_O для Synergy агента (необяз.);
        Returns:
        строка следующего вида ::::, состояющую из параметров:
        • entryID - идентификатор сертификата, публичная часть ключа;
        • algorithm - алгоритм подписи, используемый для сертификата.

        Пример возвращаемой строки: 4::::Sha1WithRSA
        • Если переданный сертификат был просрочен, метод возвращает ошибку в виде строки с текстом "CERT END".
        • Если переданный сертификат был отозван, метод возвращает ошибку в виде строки с текстом "CERT REVOKED".
        • Если не найден сертификационный центр переданного сертификата, метод возвращает ошибку в виде строки с текстом "DISTRIBUTION_CENTER_NOT_FOUND".

        Примечание. Отсутствие "::::" в возвращаемой строке указывает на наличие прочих ошибок.
      • saveSign

        public java.lang.String saveSign(java.lang.String keyID,
                                         java.lang.String sourceDate,
                                         java.lang.String signedData)
      • testSign

        public java.lang.String testSign(java.lang.String keyID,
                                         java.lang.String docID,
                                         java.lang.String locale,
                                         java.lang.String userID)
        проверка подписей документа
        Parameters:
        keyID - - идентификатор ключа
        docID - - идентификатор документа
        locale - - локаль с которой необходимо вернуть данные
        Returns:
        данные проверки
      • joinByKey

        public KeyJoinResult joinByKey(java.lang.String certificate,
                                       java.lang.String signedSerialNumber,
                                       java.lang.String keyInfo,
                                       java.lang.String username,
                                       java.lang.String firstName,
                                       java.lang.String lastName)
        Добавление пользователя для авторизации по ключу
        Parameters:
        certificate - - BASE64 сертификата пользователя
        signedSerialNumber - - подпись на серийный номер ключа
        keyInfo - - Информация по ключу в JSON
        firstName - - Имя
        lastName - - Фамилия
        Returns:
        - результат добавления пользователя
      • getSOH

        public java.lang.String getSOH(java.lang.String sn)
        Метод получения подписываемого ключа
        Parameters:
        sn - - серийный номер для которого происходит генерации подписываемого ключа
        Returns:
        - подписываемый ключ, привязанный к серийному номеру
      • getAlg

        public java.lang.String getAlg(java.lang.String cert)
        Получение алгоритма сертификата
        Parameters:
        cert - - сериализованный сертификат
        Returns:
        в поле result содержит ошибку или алгоритм
      • getDigest

        public Response getDigest(java.lang.String idDocument)
        Получение дайджеста по списку файлов из динамической таблицы (atachments) формы
        Parameters:
        idDocument - - Идентификатор документа
        Returns:
        в поле result содержит ошибку или дайджест для подписи
      • getEsedoSignsPOST

        public Response getEsedoSignsPOST(java.lang.String idDocument)
        Сохранение подписи для ЕСЭДО
        Parameters:
        idDocument - - Идентификатор документа
        Returns:
        "ok" : "error"
      • getEsedoSignsGET

        public Response getEsedoSignsGET(java.lang.String idDocument)
        Сохранение подписи для ЕСЭДО
        Parameters:
        idDocument - - Идентификатор документа
        Returns:
        "ok" : "error"
      • getEsedoSled

        public Response getEsedoSled(java.lang.String idDocument)
      • parseSignersInfo

        public Response parseSignersInfo(java.util.Map<java.lang.String,java.lang.String> sign)
        Сохранение подписи для ЕСЭДО
        Parameters:
        sign - - Идентификатор документа
        Returns:
        "ok" : "error"
kz.arta.synergy.api.rest.works

Class WorkFlowService

  • java.lang.Object
    • kz.arta.synergy.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

      Fields 
      Modifier and Type Field and Description
      static java.lang.String DOCUMENT
      Комментарии для документа
      static java.lang.String PERSONAL
      Личные комментарии
      static java.lang.String WORK
      Комментарии для работы
    • Constructor Summary

      Constructors 
      Constructor and Description
      WorkFlowService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method and Description
      Response 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, 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

      Response 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, java.lang.String completionFormCode, 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

      Response dismissTimer(java.lang.String id)
      Метод API для прерывания таймера URL: rest/api/workflow/dismiss_timer
      Method POST
      Метод принимает следующие входные параметры:

      id - ид таймера В случае успешного выполнения json со следующими полями: errorCode = 0 errorMessage = Таймер прерван в случае ошибки вернет json со следующими полями errorCode = код ошибки errorMessage = сообщение Пример возвращаемого json-объекта при успешном выполнении метода: { "errorCode": 0, "errorMessage": "Таймер прерван" }
      Пример возвращаемого json-объекта при ошибке: { "errorCode": 0, "errorMessage": "Таймер прерван" }
      { "errorCode": 3, "errorMessage": "Не передан либо передан некорректный параметр id" }
      { "errorCode": 2, "errorMessage": "Пользователь не авторизован, или у пользователя недостаточно прав для изменения." }
      { "errorCode": 13, "errorMessage": "Таймер с кодом %значение% не найден. " }
      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) 
      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)
      Возвращает список фильтров пользователя.
      Response getFinishDate(java.lang.String startDate, java.lang.String duration)
      Метод возвращает дату завершения по дате начала и длительности

      URL: rest/api/workflow/get_finish_date
      Тип: GET
      Response getFormForCompletionResult(java.lang.String formUUID, java.lang.String formCode, 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 - цвет (значение из ActionColor)

      Route getResponsibleRoute(java.lang.String userID, java.lang.String name, java.util.Date finishDate, java.lang.String completionFormCode) 
      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 - только подчиненных

      Response 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 - идентификатор действия, значение из WorkActionType
      operation - идентификатор операции, значение из WorkActionSubType (может отсутствовать)
      label - название действия
      color - идентификатор цвета, значение из ActionColor
      Response 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.
      Response getWorksByFilterCode(int startRecord, int recordsCount, java.lang.String search, java.lang.String filterType, java.lang.String filterCode, 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, java.lang.String filterID, java.lang.String objectID)
      Возвращает список работ пользователя userID с общим числом работ, удовлетворяющих условиям поиска

      URL rest/api/workflow/works/list_ext
      Method GET

      Response getWorksById(java.util.List<java.lang.String> workID, java.lang.String locale)
      Возвращает список работ по их идентификаторам

      URL rest/api/workflow/works_by_id
      Method GET

      Response getWorkTime(java.lang.String startDate, java.lang.String finishDate)
      Метод возвращает время в секундах от указанного времени `startDate` и `finishDate` в рабочих часах.
      java.lang.String markWorkSeen(java.lang.String workID)
      Метод отмечает данную работу как "просмотренную"

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

      Response 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
      Response 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 completionFormCode, java.lang.String actionID, java.lang.String repeat, java.lang.String locale)

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

      URL rest/api/workflow/work/save
      POST

      Response setStartdate(java.lang.String id, java.lang.String startdate)
      Метод API для обновления таймера URL: rest/api/workflow/set_startdate
      Method POST
      Метод принимает следующие входные параметры:

      id - ид таймера
      startdate - Дата и время запуска таймера в формате yyyy-MM-dd либо yyyy-MM-dd HH:mm:00 В случае успешного выполнения json со следующими полями: errorCode = 0 errorMessage = Таймер обновлен в случае ошибки вернет json со следующими полями errorCode = код ошибки errorMessage = сообщение Пример возвращаемого json-объекта при успешном выполнении метода: { "errorCode": 0, "errorMessage": "Таймер обновлен" }
      Пример возвращаемого json-объекта при ошибке:
      { "errorCode": 3, "errorMessage": "Не передан либо передан некорректный параметр id" }
      { "errorCode": 2, "errorMessage": "Пользователь не авторизован, или у пользователя недостаточно прав для изменения." }
      { "errorCode": 13, "errorMessage": "Таймер с кодом %значение% не найден. " }
      { "errorCode": 666, "errorMessage": "Таймер ранее запущен" }
      { "errorCode": 4, "errorMessage": "Некорректно указана дата startdate" }
      Response setWorkProgress(java.lang.String workID, int progress, java.lang.String locale)

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

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

      Response setWorkResponsibles(java.lang.String locale, ActionResponsibles responsibles)
      Метод API указывает исполнителей для работ, где указана должность URL: rest/api/workflow/work/set_responsibles
      Method POST
      Метод принимает следующие входные параметры (json):

      workID - ид работы
      responsibles - массив uuid пользователей должности, которым будет назначена работа; Пример передаваемого запроса: { "workID": "6e90e0a1-efe4-4d78-93e5-4540315560e0", "responsibles":["02a5723f-811d-4f62-94c9-ccdf2d74cd1e"] } В случае успешного выполнения json со следующими полями: errorCode = 0 errorMessage = Данные сохранены в случае ошибки вернет json со следующими полями errorCode = код ошибки errorMessage = сообщение Пример возвращаемого json-объекта при успешном выполнении метода: { "errorCode": 0, "errorMessage": "Данные сохранены" }
      Response setWorkResult(java.lang.String workID, java.lang.String completionForm, java.lang.String locale) 
      Response setWorkState(java.lang.String workID, int stateID, java.lang.String locale)

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

      Response 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 completionFormCode, 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 Response 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, если filterType DELEGATED, то userID должен быть равным objectID, если они не равны, то userID заменяется на objectID, поскольку objectID - UUID пользователя, чью работы просматриваются в автофильтре делегированные

        На исполнении
        OWN_WORKS,
        На контроле
        ON_CONTROL,
        протокольные
        PROTOCOL_WORKS,
        проектные
        PROJECT_WORKS,
        автофильтр делегированные
        DELEGATED,
        группы
        GROUPS;

        filterID - UUID пользовательского фильтра
        objectID - UUID объекта фильтра (например проекта, группы работ, пользователя)
        sortColumn - название столбца сортировки
        isAscSort - true - прямой порядок сортировки, false - обратный
        hasExtSearchParams - заданы ли параметры расширенного фильтра, нижеследующие переменные, начинающиеся с ext имеют смысл, только если значение данной переменной true
        periodType - целочисленная переменная, приминающая следующие значения

        Текущие мероприятия
        SEARCH_TYPE_CURRENT = 0;
        Мероприятия за произвольный промежуток времени
        SEARCH_TYPE_CUSTOM = 1;
        Будущая неделя (+7 дней от текущей даты)
        NEAREST_WEEK_ACTIONS = 2;
        Будущий месяц (+1 месяц от текущей даты)
        NEAREST_MONTH_ACTIONS = 3;
        Будущий квартал (+3 месяца от текущей даты)
        NEAREST_QUARTER_ACTIONS = 4;
        Прошедшая неделя (-7 дней от текущей даты)
        LATEST_WEEK_ACTIONS = 7;
        Прошедший месяц (-1 месяц от текущей даты)
        LATEST_MONTH_ACTIONS = 8;
        Прошедший квартал (-3 месяца от текущей даты)
        LATEST_QUARTER_ACTIONS = 9;
        Сегодня
        NEAREST_DAY_ACTIONS = 6;

        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 - целочисленная переменная, принимающая следующие значения

        Поиск по всем датам
        SEARCH_DATES_ALL = 0;
        Поиск по дате завершения
        SEARCH_DATES_STARTDATE = 1;
        Поиск по дате начала
        SEARCH_DATES_FINISHDATE = 2;
        Поиск по дате фактического завершения
        SEARCH_DATES_FINISHED = 3;

        userID - UUID пользователя
        locale - локаль пользователя
        Returns:
        список работ

        Если авторизованный пользователь не имеет право видеть список работ userID, то вернется ошибка

          {
           "errorCode":2,
           "errorMessage":"У вас нет доступа к списку работ указанного пользователя"
           }
          
        See Also:
        arta.synergy.web.common.client.data.actions.filter.WorkFilterType, arta.synergy.web.common.client.constants.SearchConstants, arta.synergy.web.common.client.data.actions.ActionSearchParams
      • getWorksByFilterCode

        public Response getWorksByFilterCode(int startRecord,
                                             int recordsCount,
                                             java.lang.String search,
                                             java.lang.String filterType,
                                             java.lang.String filterCode,
                                             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,
                                             java.lang.String filterID,
                                             java.lang.String objectID)

        Возвращает список работ пользователя userID с общим числом работ, удовлетворяющих условиям поиска

        URL rest/api/workflow/works/list_ext
        Method GET

        Parameters:
        userID - UUID пользователя
        startRecord - номер записи начала списка
        recordsCount - максимальное количество записей в списке, 0 - если необходимо получить все записи списка
        search - строка фильтра
        filterType - одно из значений перечисления WorkFilterType

        На исполнении
        OWN_WORKS,
        На контроле
        ON_CONTROL,
        протокольные
        PROTOCOL_WORKS,
        автофильтр делегированные
        DELEGATED,
        группы
        GROUPS;

        filterID - UUID пользовательского фильтра
        objectID - UUID объекта фильтра (например проекта, группы работ, пользователя)
        filterCode - код централизованного фильтра
        sortColumn - название столбца сортировки
        isAscSort - true - прямой порядок сортировки, false - обратный
        hasExtSearchParams - заданы ли параметры расширенного фильтра, нижеследующие переменные, начинающиеся с ext имеют смысл, только если значение данной переменной true
        periodType - целочисленная переменная, приминающая следующие значения

        Текущие мероприятия
        SEARCH_TYPE_CURRENT = 0;
        Мероприятия за произвольный промежуток времени
        SEARCH_TYPE_CUSTOM = 1;
        Будущая неделя (+7 дней от текущей даты)
        NEAREST_WEEK_ACTIONS = 2;
        Будущий месяц (+1 месяц от текущей даты)
        NEAREST_MONTH_ACTIONS = 3;
        Будущий квартал (+3 месяца от текущей даты)
        NEAREST_QUARTER_ACTIONS = 4;
        Прошедшая неделя (-7 дней от текущей даты)
        LATEST_WEEK_ACTIONS = 7;
        Прошедший месяц (-1 месяц от текущей даты)
        LATEST_MONTH_ACTIONS = 8;
        Прошедший квартал (-3 месяца от текущей даты)
        LATEST_QUARTER_ACTIONS = 9;
        Сегодня
        NEAREST_DAY_ACTIONS = 6;

        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 - целочисленная переменная, принимающая следующие значения

        Поиск по всем датам
        SEARCH_DATES_ALL = 0;
        Поиск по дате завершения
        SEARCH_DATES_STARTDATE = 1;
        Поиск по дате начала
        SEARCH_DATES_FINISHDATE = 2;
        Поиск по дате фактического завершения
        SEARCH_DATES_FINISHED = 3;

        locale - локаль пользователя
        Returns:
        список работ

        Если авторизованный пользователь не имеет право видеть список работ userID, то вернется ошибка

          {
           "errorCode":2,
           "errorMessage":"У вас нет доступа к списку работ указанного пользователя"
           }
          
        See Also:
        arta.synergy.web.common.client.data.actions.filter.WorkFilterType, arta.synergy.web.common.client.constants.SearchConstants, arta.synergy.web.common.client.data.actions.ActionSearchParams
      • getWorksById

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

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

        URL rest/api/workflow/works_by_id
        Method GET

        Parameters:
        workID - идентификатор работы (параметр может передан несколько раз)
        locale - локаль пользователя
        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 - локаль пользователя
        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 - локаль пользователя
        Returns:
        Если getCounters= true, возвращается json вида
        {list: [{комментарий_1}, {комментарий_2}, ..., {комментарий_n}], count: количество_комментариев_в_фильтре}
        Если getCounters=false, возвращается просто список комментариев [{комментарий_1}, {комментарий_2}, ..., {комментарий_n}]
        See Also:
        arta.synergy.web.common.client.constants.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 - локаль пользователя
        type - если к работе добавляется личный комментарий - передать: PERSONAL
        Returns:
        код выполнения result и сообщение об ошибке message в случае неуспешного выполнения. Если result = 0, выполнено успешно, иначе произошла ошибка
      • addAttachment

        public java.lang.String addAttachment(java.lang.String workID,
                                              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 - локаль пользователя
        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 - локаль пользователя
        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 - локаль пользователя
        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 - локаль пользователя
        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 - локаль пользователя
        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 - - локаль пользователя
        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 - локаль пользователя
        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 Response 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,
                                   java.lang.String completionFormCode,
                                   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) ( можно указывать либо данный параметр либо параметр w completionFormCode, при этом если передаются оба поля, то completionFormCode в приоритете)
        completionFormCode - код формы завершения (FormParam) ( можно указывать либо данный параметр либо параметр completionFormID, при этом если передаются оба поля, то completionFormCode в приоритете)
        locale - локаль (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 Response 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 completionFormCode,
                                 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:00
        finishDate - дата и время завершения работы в формате yyyy-MM-dd HH:mm:00
        priority - приоритет работы
        userID - uuid ответственного
        completionFormID - идентификатор формы завершения
        completionFormCode - код формы завершения
        actionID - uuid работы
        locale - локаль работы
        repeat - данные о периоде повторения работы (не обяз., по умолчанию "Нет");
        Returns:
      • getSubWorks

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

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

        URL rest/api/workflow/subworks/{workID}
        GET Возвращает список дочерних работ

        Parameters:
        workID - uuid работы
        locale - локаль пользователя
        startRecord - начальный офсет в общем списке результатов
        recordsCount - колечество результатов в ответе
        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 Response 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 - локаль пользователя
        Returns:
      • setWorkState

        public Response 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 - локаль пользователя
        Returns:
        json объект:
        errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
        errorMessage сообщение о результате выполнения (успешном либо не успешном)
        work измененные данные о работе (только в результате успешного выполнения)
        See Also:
        ActionStates#COMPLETED
      • 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 - локаль пользователя
        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 - идентификатор действия, значение из WorkActionType
        operation - идентификатор операции, значение из WorkActionSubType (может отсутствовать)
        label - название действия
        color - идентификатор цвета, значение из ActionColor

        Parameters:
        workID - uuid работы
        locale - локаль пользователя
        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 - цвет (значение из 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 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 - локаль пользователя
        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 - локаль пользователя
        Returns:
        возвращает json следующей структуры:
        result - результат завершения данной работы
        previous_results - список подтвержденных результатов дочерних работ
        See Also:
        WorkUtilWrapper#getJson(arta.synergy.web.common.client.data.actions.completion.CompletionResult, String)
      • acceptWorkResult

        public Response 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 - локаль пользователя
        Returns:
        json объект:
        errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
        errorMessage сообщение о результате выполнения (успешном либо не успешном)
        work измененные данные о работе (только в результате успешного выполнения)
      • rejectWorkResult

        public Response 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 - локаль пользователя
        Returns:
        json объект:
        errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
        errorMessage сообщение о результате выполнения (успешном либо не успешном)
        work измененные данные о работе (только в результате успешного выполнения)
      • setWorkResult

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

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

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


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

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

        public Response 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 completionFormCode,
                                   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 ( можно указывать либо данный параметр либо параметр completionFormCode, при этом если передаются оба поля, то completionFormCode в приоритете)
        completionFormCode - Код формы завершения, имеет смысл только для типа RouteItemElementType.ASSIGNMENT_ITEM 3 ( можно указывать либо данный параметр либо параметр completionFormID, при этом если передаются оба поля, то completionFormCode в приоритете)
        workID - UUID родительской работы
        documentID - UUID документа
        locale - локаль пользователя
        Returns:
        json объект:
        errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
        errorMessage сообщение о результате выполнения (успешном либо не успешном)
        work измененные данные о работе (только в результате успешного выполнения)
      • getResponsibleRoute

        public Route getResponsibleRoute(java.lang.String userID,
                                         java.lang.String name,
                                         java.util.Date finishDate,
                                         java.lang.String completionFormCode)
      • 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 - локаль пользователя (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 - локаль пользователя
        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 идентификатор формы завершения
        completionFormCode Код формы завершения
        routeItemID Идентификатор этапа маршрута (общий для всех параллельных работ)
        durationFact Возвращает время выполнение работы в рабочих днях (Ответ возвращается в секундах)
        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": "",
              "completionFormCode": "",
              "routeItemID": "b94047e9-bb62-4271-a287-6e743962a72c",
              "durationFact": 3600,
              "subProcesses": [],
              "timerID": ""
          },
          {
              "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": "",
              "completionFormCode": "",
              "routeItemID": "b94047e9-bb62-4271-a287-6e743962a72c",
              "durationFact": 0,
              "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": "",
                      "completionFormCode": "",
                      "routeItemID": "0977dfc7-96ab-4370-8734-eb7a13c0ff70",
                      "durationFact": 0,
                      "subProcesses": [],
                      "timerID": ""
                  }
              ],
              "timerID": ""
          }
         ]
         
      • getHost

        public java.lang.String getHost()
      • getUserID

        public java.lang.String getUserID()
      • getWorkTime

        public Response getWorkTime(java.lang.String startDate,
                                    java.lang.String finishDate)
        Метод возвращает время в секундах от указанного времени `startDate` и `finishDate` в рабочих часах.

        URL: rest/api/workflow/getWorkTime
        Тип: GET
        Parameters:
        startDate - Дата начала
        finishDate - Конечная дата
        Returns:
        json объект времени в рабочих часах возвращающий: миллисекунды, секунды, минуты, часы, дни

        startDate Передать значение в виде: 2019-02-20 09:40:52
        finishDate Передать значение в виде: 2019-02-20 15:49:16
      • getFinishDate

        public Response getFinishDate(java.lang.String startDate,
                                      java.lang.String duration)
        Метод возвращает дату завершения по дате начала и длительности

        URL: rest/api/workflow/get_finish_date
        Тип: GET
        Parameters:
        startDate - Дата начала
        duration - Длительность (в минутах)
        Returns:
        string в формате yyyy-MM-dd HH:mm:ss

        startDate Передать значение в виде: 2019-02-20 09:40:52
        duration Передать значение в виде: 90
      • getWorkItems

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

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

        Каждое действие характеризуется следующими полями:
        action - идентификатор действия, значение из WorkActionType
        operation - идентификатор операции, значение из WorkActionSubType (может отсутствовать)
        label - название действия
        color - идентификатор цвета, значение из ActionColor
        Parameters:
        workID - uuid работы
        locale - локаль пользователя
        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 - локаль
        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 - локаль
        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:
        arta.synergy.web.common.client.data.actions.dialog.WorkDialogType#WORK, arta.synergy.web.common.client.data.actions.dialog.WorkDialogType#DOCUMENT_PROJECT, arta.synergy.web.common.client.data.actions.dialog.WorkDialogType#TEMPLATE_PROJECT
      • setWorkResponsibles

        public Response setWorkResponsibles(java.lang.String locale,
                                            ActionResponsibles responsibles)

        Метод API указывает исполнителей для работ, где указана должность URL: rest/api/workflow/work/set_responsibles
        Method POST
        Метод принимает следующие входные параметры (json):

        workID - ид работы
        responsibles - массив uuid пользователей должности, которым будет назначена работа; Пример передаваемого запроса: { "workID": "6e90e0a1-efe4-4d78-93e5-4540315560e0", "responsibles":["02a5723f-811d-4f62-94c9-ccdf2d74cd1e"] } В случае успешного выполнения json со следующими полями:

        • errorCode = 0
        • errorMessage = Данные сохранены
        в случае ошибки вернет json со следующими полями
        • errorCode = код ошибки
        • errorMessage = сообщение
        Пример возвращаемого json-объекта при успешном выполнении метода:
             {
                "errorCode": 0,
                "errorMessage": "Данные сохранены"
             }
         
        Parameters:
        responsibles - json-объект;
        locale - локаль
        Returns:
      • dismissTimer

        public Response dismissTimer(java.lang.String id)

        Метод API для прерывания таймера URL: rest/api/workflow/dismiss_timer
        Method POST
        Метод принимает следующие входные параметры:

        id - ид таймера В случае успешного выполнения json со следующими полями:

        • errorCode = 0
        • errorMessage = Таймер прерван
        в случае ошибки вернет json со следующими полями
        • errorCode = код ошибки
        • errorMessage = сообщение
        Пример возвращаемого json-объекта при успешном выполнении метода:
             {
             "errorCode": 0,
             "errorMessage": "Таймер прерван"
             }
         

        Пример возвращаемого json-объекта при ошибке:
             {
             "errorCode": 0,
             "errorMessage": "Таймер прерван"
             }
         

             {
             "errorCode": 3,
             "errorMessage": "Не передан либо передан некорректный параметр id"
             }
         

             {
             "errorCode": 2,
             "errorMessage": "Пользователь не авторизован, или у пользователя недостаточно прав для изменения."
             }
         

             {
             "errorCode": 13,
             "errorMessage": "Таймер с кодом %значение% не найден. "
             }
         
        Parameters:
        id - ;
        Returns:
      • setStartdate

        public Response setStartdate(java.lang.String id,
                                     java.lang.String startdate)

        Метод API для обновления таймера URL: rest/api/workflow/set_startdate
        Method POST
        Метод принимает следующие входные параметры:

        id - ид таймера
        startdate - Дата и время запуска таймера в формате yyyy-MM-dd либо yyyy-MM-dd HH:mm:00 В случае успешного выполнения json со следующими полями:

        • errorCode = 0
        • errorMessage = Таймер обновлен
        в случае ошибки вернет json со следующими полями
        • errorCode = код ошибки
        • errorMessage = сообщение
        Пример возвращаемого json-объекта при успешном выполнении метода:
             {
             "errorCode": 0,
             "errorMessage": "Таймер обновлен"
             }
         

        Пример возвращаемого json-объекта при ошибке:
             {
             "errorCode": 3,
             "errorMessage": "Не передан либо передан некорректный параметр id"
             }
         

             {
             "errorCode": 2,
             "errorMessage": "Пользователь не авторизован, или у пользователя недостаточно прав для изменения."
             }
         

             {
             "errorCode": 13,
             "errorMessage": "Таймер с кодом %значение% не найден. "
             }
         

             {
             "errorCode": 666,
             "errorMessage": "Таймер ранее запущен"
             }
         

             {
             "errorCode": 4,
             "errorMessage": "Некорректно указана дата startdate"
             }
         
        Parameters:
        id - ;
        startdate - ;
        Returns:
kz.arta.synergy.api.rest.events

Class EventsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.events.EventsService


  • public class EventsService
    extends java.lang.Object
    Created by vitaliy.zaretskiy on 12.12.14.
    • Constructor Summary

      Constructors 
      Constructor and Description
      EventsService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String createEvent(java.lang.String eventName, java.lang.String eventMsg)
      Метод добавляет событие

      URL rest/api/events/create
      Method POST

      Все параметры запроса должны быть параметрами формы


      Для работы api прописать очередь в JBOSS_HOME/standalone/configuration/standalone-onesynergy.xml и listener в JBOSS_HOME/standalone/configuration/arta/api-observation-configuration.xml
      Пример можно посмотреть здесь: http://gitlab.lan.arta.kz/community/blocking-process-template/blob/master/README.md

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EventsService

        public EventsService()
    • Method Detail

      • createEvent

        public java.lang.String createEvent(java.lang.String eventName,
                                            java.lang.String eventMsg)

        Метод добавляет событие


        URL rest/api/events/create
        Method POST

        Все параметры запроса должны быть параметрами формы


        Для работы api прописать очередь в JBOSS_HOME/standalone/configuration/standalone-onesynergy.xml и listener в JBOSS_HOME/standalone/configuration/arta/api-observation-configuration.xml
        Пример можно посмотреть здесь: http://gitlab.lan.arta.kz/community/blocking-process-template/blob/master/README.md

        Parameters:
        eventName - название события
        eventMsg - набор параметров события
        Returns:
        json объект:
        errorCode код выполнения, 0 - успешно, иначе - произошла ошибка
        errorMessage сообщение о результате выполнения (в случае не успешного выполнения)
kz.arta.synergy.api.rest.delegation

Class DelegationService

  • java.lang.Object
    • kz.arta.synergy.api.rest.delegation.DelegationService


  • public class DelegationService
    extends java.lang.Object

    Сервис для получения, добавления и удаления прав на выполнение действий в системе.
    Делегируемые права:
    See Also:
    arta.synergy.web.common.client.constants.OperationType#TASKS_VIEW, arta.synergy.web.common.client.constants.OperationType#TASK_CREATED, arta.synergy.web.common.client.constants.OperationType#TASK_CHANGED, arta.synergy.web.common.client.constants.OperationType#TASK_DELETED, arta.synergy.web.common.client.constants.OperationType#TASK_STATE_CHANGED, arta.synergy.web.common.client.constants.OperationType#ASSIGNMENT_VIEW, arta.synergy.web.common.client.constants.OperationType#ASSIGNMENT_CREATE, arta.synergy.web.common.client.constants.OperationType#ASSIGNMENT_CHANGED, arta.synergy.web.common.client.constants.OperationType#ASSIGNMENT_PROGRESS_CHANGED, arta.synergy.web.common.client.constants.OperationType#ASSIGNMENT_DELETED, arta.synergy.web.common.client.constants.OperationType#ASSIGNMENT_STATE_CHANGED, arta.synergy.web.common.client.constants.OperationType#AGREE, arta.synergy.web.common.client.constants.OperationType#APPROVE, arta.synergy.web.common.client.constants.OperationType#PLAN_VIEW, arta.synergy.web.common.client.constants.OperationType#ACTION_CHANGED, arta.synergy.web.common.client.constants.OperationType#ACTION_COMMENT_CHANGED, arta.synergy.web.common.client.constants.OperationType#ACTION_ASSIGNED
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String addDelegatedActions(java.lang.String userID, java.util.ArrayList<java.lang.String> actionID, java.lang.String locale)
      Добавление делегированных прав на выполнение действий в системе
      URL: rest/api/delegation/add_delegated_actions
      Method POST
      java.lang.String delegatedActions(java.lang.String locale)
      Возвращает список делегированных пользователем прав

      URL rest/api/delegation/delegated_actions
      Method GET

      java.lang.String deleteDelegatedActions(java.lang.String userID, java.util.ArrayList<java.lang.String> actionID, java.lang.String locale)
      Удаление делегированных прав на выполнение действий в системе
      URL: rest/api/delegation/delete_delegated_actions
      Method POST
      java.lang.String getDelegatedActions(java.lang.String userID, java.lang.String delegatedID, int objectType, java.lang.String locale)
      Возвращает список делегированных пользователю прав сгруппированных по типу объекта

      URL rest/api/delegation/get_delegated_actions
      Method GET

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

      actionID - id права
      actionName - название права
      isDelegated - признак назначенного делегированного права
      isRequired - признак обязательности права

      Пример
      http://хост:порт/Synergy/rest/api/delegation/get_delegated_actions?

      java.lang.String getUserID() 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DelegationService

        public DelegationService()
    • Method Detail

      • getDelegatedActions

        public java.lang.String getDelegatedActions(java.lang.String userID,
                                                    java.lang.String delegatedID,
                                                    int objectType,
                                                    java.lang.String locale)

        Возвращает список делегированных пользователю прав сгруппированных по типу объекта


        URL rest/api/delegation/get_delegated_actions
        Method GET

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

        actionID - id права
        actionName - название права
        isDelegated - признак назначенного делегированного права
        isRequired - признак обязательности права

        Пример
        http://хост:порт/Synergy/rest/api/delegation/get_delegated_actions?userID=966f46bf-7c95-4e16-93b7-69ead48a94cd&objectType=0

        Parameters:
        userID - uuid пользователя - обязательный параметр
        delegatedID - uuid пользователя, кем были делегированы права, если не указано возвращаются все права пользователя
        objectType - тип объекта, если 0 возвращаются права по всем типам
        locale - локаль пользователя
        Returns:
        возвращается json вида
        [{objectType: 4, actions: [{"actionID": "111", "actionName": "Просмотр", "isDelegated": true, "isRequired": true }, {"actionID": "106", "actionName": "Изменение процента выполнения", "isDelegated": true, "isRequired": false }]}, {objectType: 8, actions: []}, {objectType: 64, actions: []}]
      • delegatedActions

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

        Возвращает список делегированных пользователем прав


        URL rest/api/delegation/delegated_actions
        Method GET

        Parameters:
        locale - локаль пользователя
        Returns:
        возвращается json вида

        {
        "delegatedTasks": [{
        "userId": "id",
        "userName": "Фамилия И.",
        "actions":[{"actionId" :6, "actionName": "Просмотр" }]
        }],
        "delegatedActions": [{
        "userId": "id",
        "userName": "Фамилия И.",
        "actions":[{"actionId" :130, "actionName": "Просмотр" }]
        }],
        "delegatedAssignments": [{
        "userId": "id",
        "userName": "Фамилия И.",
        "actions":[{"actionId" :111, "actionName": "Просмотр" }]
        }]
        }
      • addDelegatedActions

        public java.lang.String addDelegatedActions(java.lang.String userID,
                                                    java.util.ArrayList<java.lang.String> actionID,
                                                    java.lang.String locale)

        Добавление делегированных прав на выполнение действий в системе


        URL: rest/api/delegation/add_delegated_actions
        Method POST
        Parameters:
        userID - UUID пользователя, которому делегированы права (обяз., FormParam)
        actionID - ID действий, на которые следует добавить права (целое число, обяз., FormParam) Возможные значения перечислены в описании класса - константы из OperationType
        locale - локаль пользователя (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка)
      • deleteDelegatedActions

        public java.lang.String deleteDelegatedActions(java.lang.String userID,
                                                       java.util.ArrayList<java.lang.String> actionID,
                                                       java.lang.String locale)

        Удаление делегированных прав на выполнение действий в системе


        URL: rest/api/delegation/delete_delegated_actions
        Method POST
        Parameters:
        userID - UUID пользователя, которому делегированы права (обяз., FormParam)
        actionID - ID действий, права на которые следует удалить (целое число, обяз., FormParam). Возможные значения перечислены в описании класса - константы из OperationType
        locale - локаль пользователя (QueryParam)
        Returns:
        json объект с полями - errorCode - код выполнения операции (0 успешно, иначе - ошибка)
      • getUserID

        public java.lang.String getUserID()
kz.arta.synergy.api.rest.asforms

Class APIFormsService

  • java.lang.Object
    • kz.arta.synergy.api.rest.asforms.APIFormsService


  • public class APIFormsService
    extends java.lang.Object
    Created by IntelliJ IDEA. User: topa Date: 06.05.13 Time: 15:45 To change this template use File | Settings | File Templates.
    • Constructor Summary

      Constructors 
      Constructor and Description
      APIFormsService() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response advancedSearch(ASFSearchParameters params)
      Метод для расширенного поиска данных по форме или записям реестра, получения записей реестра

      URL rest/api/asforms/search/advanced
      Method POST

      "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате

      { "query": "where `цвет фона.TEXT` like 'бел%' and `сложность` like 'очень%'", "parameters": [ "цвет фона.TEXT", "сложность" ], "startRecord": 0, "recordsCount": 50, "showDeleted": "true", "searchInRegistry": "true" "registryRecordStatus" : ["STATE_SUCCESSFUL", "STATE_NOT_FINISHED", "NO_ROUTE", "STATE_UNSUCCESSFUL"] } , где

      query - строка SQL-подобного поискового запроса
      Строку надо составлять из преположения, что она добавится к sql-запросу для примерно такой таблицы:
      uuid цвет фона.TEXT сложность uuid1 белый сложно uuid2 черный легко uuid3 желтый просто Столбцы таблицы определяются содержимым параметра 'parameters' из запроса.

      java.lang.String asErrorToJson(ServerResult result, ObjectMapper mapper)
      Возвращает результат в json, включая поля кода ошибки и сообщения
      Response collateOut(java.lang.String srcDataId, java.lang.String srcDataStr, java.lang.String collationGroup, java.lang.String destFormId, java.lang.String destRegistryId) 
      Response getDefaultDataContent(java.lang.String formID, java.lang.String formCode)
      получение данных файла по форме по умолчанию (заполняются преднастроенные значения) Тип:GET URL:rest/api/asforms/getDefaultContent
      byte[] getDefaultDocumentContent(java.lang.String formID)
      Получение старой формы для dt-int ДУБЛИРОВАННЫЙ КОД - из-за авторизации ИЗ
      java.lang.String getFormData(java.util.List<java.lang.String> dataUUIDs, java.lang.String locale)
      Возвращает данные формы по идентификатору данных (может быть использован для получения данных одновременно по несольким формам)

      URL rest/api/asforms/data/get
      Method GET


      request parameters: locale - optional user locale

      java.lang.String getFormData(java.lang.String dataUUID, int version, java.lang.String locale)
      Возвращает данные формы по идентификатору данных

      URL rest/api/asforms/data/{dataUUID}
      Method GET


      request parameters: locale - optional user locale

      java.lang.String getFormDefinition(java.lang.String formID, boolean isMobile, java.lang.String locale)
      Метод возвращает описание формы

      URL rest/api/asforms/form/{formID}
      Method GET

      Response getFormDefinitionExt(java.lang.String formID, java.lang.String formCode, int version)
      Метод возвращает описание формы

      URL rest/api/asforms/form_ext
      Method GET

      Response getFormDefinitionVersions(java.lang.String formID, boolean isShowDeleted)
      Получение списка версий описания (конфигурации) формы по идентификатору формы Тип:GET URL:rest/api/asforms/form/{formID}/versions
      java.lang.String getPrintable(java.lang.String dataUUID, java.lang.String locale) 
      Response getRegistryAndDocumentIds(java.util.List<java.lang.String> dataUUIDs)
      Получение идентификаторов документов по идентификаторам данных.
      java.lang.String getUserID() 
      java.lang.String list(java.lang.String formUUID)
      Получение списка UUID данных по форме по UUID формы

      URL rest/api/asforms/data/list/{formUUID}
      Method GET

      java.lang.String loadCollatedDate(java.lang.String regID, java.lang.String collationGroup, java.lang.String dataUUID)
      Получение данных используемых при сопоставлении Тип:GET URL:rest/api/asforms/form/collatedData
      java.lang.String loadCollatedDate(java.lang.String registryDocumentId, java.lang.String collationGroup, java.lang.String dataUUID, java.lang.String formId)
      Получение данных используемых при сопоставлении Тип:GET URL:rest/api/asforms/form/collatedData
      Response printWithMixin(PrintTemplateJson request)
      Печать данных формы на основе ее представления URL rest/api/asforms/data/print
      Method POST Входные параметры:
        dataUUID (обяз.) - идентификатор данных по форме format (обяз.) - формат печатного представления (PDF/ODT/DOCX/DOC) mixin (не обяз.) - массив данных компонентов форм, которые необходимо заменить (при отсутствии параметра метод вернет стандартное печатное представление) locale (не обяз.) - код локали Метод возвращает файл с заполненным печатным представлением в указанном формате.
      byte[] printWithTemplate(java.lang.String dataUUID, java.lang.String format, java.lang.String locale)
      Печать формы на основе ее представления
      Response save(java.lang.String formUUID, java.lang.String formCode, java.lang.String uuid, java.lang.String parentID, java.lang.String data, java.lang.String eventProperties)
      Метод сохраняет данные по форме URL rest/api/asforms/data/save
      Method POST
      Поле data с данными должно иметь формат:
      "data": [{"id":"field1_id", "value": "field1_value", "type":"widgetType1"}, ..., {{"id":"fieldN_id", "value": "fieldN_value", "type":"widgetType1"}}]
      Отдельные поля кроме id и value могут так же иметь параметр label
      Поля обязательно должны содержать тип компонента формы.
      Response search(java.lang.String locale)
      Метод для поиска данных по форме или записям реестра, получения записей реестра

      URL rest/api/asforms/search
      Method GET

      Параметры поиска включают:
      formUUID идентификатор формы (может быть передано несколько значений)
      formCode code формы (может быть передано несколько значений)
      search поисковая строка (может быть передано несколько значений, может отсутствовать)
      field названия компонентов (может быть передано несколько значений, может отсутствовать)
      type тип сравнения (может отсутствовать), может принимать значения: exact - точное совпадение поискового запроса и значения компоненита.

      Response searchIndex(java.lang.String locale)
      Метод для поиска данных по форме или записям реестра, получения записей реестра

      URL rest/api/asforms/search_index
      Method GET

      Параметры поиска включают:
      formUUID идентификатор формы (может быть передано несколько значений)
      formCode code формы (может быть передано несколько значений)
      search поисковая строка (может быть передано несколько значений, может отсутствовать)
      field названия компонентов (может быть передано несколько значений, может отсутствовать)
      type тип сравнения (может отсутствовать), может принимать значения: exact - точное совпадение поискового запроса и значения компоненита.

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • APIFormsService

        public APIFormsService()
    • Method Detail

      • getFormData

        public java.lang.String getFormData(java.lang.String dataUUID,
                                            int version,
                                            java.lang.String locale)

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

        URL rest/api/asforms/data/{dataUUID}
        Method GET


        request parameters: locale - optional user locale

        Parameters:
        dataUUID - - идентификатор данных по форме
        locale - - user locale
        Returns:
        data as json
      • getFormData

        public java.lang.String getFormData(java.util.List<java.lang.String> dataUUIDs,
                                            java.lang.String locale)

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

        URL rest/api/asforms/data/get
        Method GET


        request parameters: locale - optional user locale

        Parameters:
        dataUUIDs- - идентификатор данных по форме (может быть передано несколько значений). Например, dataUUID=uuid1&dataUUID=uuid2&dataUUID=uuid3
        locale - - user locale
        Returns:
        data as json
      • getFormDefinition

        public java.lang.String getFormDefinition(java.lang.String formID,
                                                  boolean isMobile,
                                                  java.lang.String locale)

        Метод возвращает описание формы

        URL rest/api/asforms/form/{formID}
        Method GET

        Parameters:
        formID - идентификатор формы (asf_definition.uuid)
        isMobile - true - работаем с формой которая имеет мобильное представление
        locale - локаль пользователя
        Returns:
        json описание формы
      • getFormDefinitionExt

        public Response getFormDefinitionExt(java.lang.String formID,
                                             java.lang.String formCode,
                                             int version)

        Метод возвращает описание формы

        URL rest/api/asforms/form_ext
        Method GET

        Parameters:
        formID - идентификатор формы (asf_definition.uuid)
        formCode - код формы (asf_definition.code)
        version - номер версии формы. Если в качестве значения передать "0", то вернется последняя (актуальная) версия формы.
        Returns:
        json описание формы
      • search

        public Response search(java.lang.String locale)

        Метод для поиска данных по форме или записям реестра, получения записей реестра

        URL rest/api/asforms/search
        Method GET

        Параметры поиска включают:
        formUUID идентификатор формы (может быть передано несколько значений)
        formCode code формы (может быть передано несколько значений)
        search поисковая строка (может быть передано несколько значений, может отсутствовать)
        field названия компонентов (может быть передано несколько значений, может отсутствовать)
        type тип сравнения (может отсутствовать), может принимать значения:

        • exact - точное совпадение поискового запроса и значения компоненита.
        • partial - вхождения поискового запроса в знаение компонента

        sortField - название компонента по которому будет осуществлена сортировка (может быть передано несколько значений, может отсутствовать)
        sortDir - направление сортировки, возможные значения: "asc", "desc" (может быть передано несколько значений, может отсутствовать). Любое другое значение или его отсутствие будет интерпретировано как "asc".
        sortType - тип сортировки содержимого поля, возможные значения: "string" - сортируется как строка, "decimal" - сортируется как число. (может быть передано несколько значений, может отсутствовать). Любое другое значение или его отсутствие будет интерпретировано как "string".

        При формировании запроса все условия параметров поиска соединяются с помощью оператора OR. Например, в параметры поиска было передано два идентификатора формы (formUUID1, formUUID2), два названия поля (field1, field2) и две поисковых строки (search1, search2) и тип сравнения partial. Тогда в результатах поиска будут все записи по формам formUUID1 и formUUID2, у которых (field1 содержит search1 ИЛИ field2 содержит search1 ИЛИ field1 содержит search2 ИЛИ field2 содержит search2)
        Если не передать параметр field, то метод вернет все данные данной формы.

        Несколько наборов параметров поиска
        Если необходимо наложить разные условия на разные поля формы, то можно передать параметры поиска дополнительно, прибавив к названиям параметров порядковый номер набора параметров. Количество наборов параметров, которые можно добавить неограничено. Главное соблюдать правильную нумерацию названий параметров: 1, 2, 3 и т.д. (первый набор может не иметь порядкового номера)
        Таким образом, метод должен получить дополнительный набор параметров formUUID1, search1, field1, type1, formUUID2, search2, field2, type2 и т.д.
        По-умолчанию условия различных наборов соединяются между собой оператором ИЛИ, чтобы это изменить, необходимо передать параметр term, который может принимать значения: or - для объединения наборов условий оператором ИЛИ, and - для объединения наборов условий оператором И.
        Например, необходимо найти все записи реестра по форме с идентификатором uuid для которых field1 равно str1 и field2 содержит str2, тогда запрос будет выглядеть следующим образом:
        formUUID=uuid&search=str1&field=field1&type=exact&formUUID1=uuid&search1=str2&field1=field2&type1=partial&term=and


        Прочие параметры:
        startRecord номер записи результатов, начиная с которого будут возвращены записи (отсчет с 0)
        recordsCount количество результатов, которые надо вернуть
        showDeleted необходимо ли в результатах возвращать удаленные записи (по-умолчанию true)
        searchInRegistry необходимо передать значение этого параметра false , если осуществляется по данным форм, не входящим в реестр
        getDocIds если передать этот параметр со значением true, то в результаты поиска так же будут включать идентификаторы документов реестра
        Например, необходимо, чтобы метод вернул первые 30 результатов поиска, надо к запросу добавить параметры startRecord=0&recordsCount=30, для того чтобы получить вторую страницу с результатами поиска (следующие 30 записей), необходимо передать параметры startRecord=30&recordsCount=30 и т.д.
        Returns:
        список идентификаторов данных форм как список json: ["uuid1", "uuid2", "uuid3"]
        Если передан параметр getDocIds=true, то так же возвращаются идентификаторы документов: [{"dataUUID": "uuid1", "documentID": "docID1"}, {"dataUUID": "uuid2", "documentID": "docID2"}, {"dataUUID": "uuid3", "documentID": "docID3"}]
      • searchIndex

        public Response searchIndex(java.lang.String locale)

        Метод для поиска данных по форме или записям реестра, получения записей реестра

        URL rest/api/asforms/search_index
        Method GET

        Параметры поиска включают:
        formUUID идентификатор формы (может быть передано несколько значений)
        formCode code формы (может быть передано несколько значений)
        search поисковая строка (может быть передано несколько значений, может отсутствовать)
        field названия компонентов (может быть передано несколько значений, может отсутствовать)
        type тип сравнения (может отсутствовать), может принимать значения:

        • exact - точное совпадение поискового запроса и значения компоненита.
        • partial - вхождения поискового запроса в знаение компонента

        sortField - название компонента по которому будет осуществлена сортировка (может быть передано несколько значений, может отсутствовать)
        sortDir - направление сортировки, возможные значения: "asc", "desc" (может быть передано несколько значений, может отсутствовать). Любое другое значение или его отсутствие будет интерпретировано как "asc".
        sortType - тип сортировки содержимого поля, возможные значения: "string" - сортируется как строка, "decimal" - сортируется как число. (может быть передано несколько значений, может отсутствовать). Любое другое значение или его отсутствие будет интерпретировано как "string".

        При формировании запроса все условия параметров поиска соединяются с помощью оператора OR. Например, в параметры поиска было передано два идентификатора формы (formUUID1, formUUID2), два названия поля (field1, field2) и две поисковых строки (search1, search2) и тип сравнения partial. Тогда в результатах поиска будут все записи по формам formUUID1 и formUUID2, у которых (field1 содержит search1 ИЛИ field2 содержит search1 ИЛИ field1 содержит search2 ИЛИ field2 содержит search2)
        Если не передать параметр field, то метод вернет все данные данной формы.

        Несколько наборов параметров поиска
        Если необходимо наложить разные условия на разные поля формы, то можно передать параметры поиска дополнительно, прибавив к названиям параметров порядковый номер набора параметров. Количество наборов параметров, которые можно добавить неограничено. Главное соблюдать правильную нумерацию названий параметров: 1, 2, 3 и т.д. (первый набор может не иметь порядкового номера)
        Таким образом, метод должен получить дополнительный набор параметров formUUID1, search1, field1, type1, formUUID2, search2, field2, type2 и т.д.
        По-умолчанию условия различных наборов соединяются между собой оператором ИЛИ, чтобы это изменить, необходимо передать параметр term, который может принимать значения: or - для объединения наборов условий оператором ИЛИ, and - для объединения наборов условий оператором И.
        Например, необходимо найти все записи реестра по форме с идентификатором uuid для которых field1 равно str1 и field2 содержит str2, тогда запрос будет выглядеть следующим образом:
        formUUID=uuid&search=str1&field=field1&type=exact&formUUID1=uuid&search1=str2&field1=field2&type1=partial&term=and


        Прочие параметры:
        startRecord номер записи результатов, начиная с которого будут возвращены записи (отсчет с 0)
        recordsCount количество результатов, которые надо вернуть
        showDeleted необходимо ли в результатах возвращать удаленные записи (по-умолчанию true)
        searchInRegistry необходимо передать значение этого параметра false , если осуществляется по данным форм, не входящим в реестр
        Например, необходимо, чтобы метод вернул первые 30 результатов поиска, надо к запросу добавить параметры startRecord=0&recordsCount=30, для того чтобы получить вторую страницу с результатами поиска (следующие 30 записей), необходимо передать параметры startRecord=30&recordsCount=30 и т.д.
        Returns:
        список идентификаторов данных форм и идентификаторов документов, и количество найденных совпадений {count : 1000, data : [{"dataUUID": "uuid1", "documentID": "docID1"}, {"dataUUID": "uuid2", "documentID": "docID2"}, {"dataUUID": "uuid3", "documentID": "docID3"}] }
      • advancedSearch

        public Response advancedSearch(ASFSearchParameters params)

        Метод для расширенного поиска данных по форме или записям реестра, получения записей реестра

        URL rest/api/asforms/search/advanced
        Method POST

        "Content-type" запроса должен быть "application/json; charset=utf-8" и в теле запроса JSON в следующем формате

         {
         "query": "where `цвет фона.TEXT` like 'бел%' and `сложность` like 'очень%'",
         "parameters":   [ "цвет фона.TEXT", "сложность" ],
         "startRecord":      0,
         "recordsCount":     50,
         "showDeleted":      "true",
         "searchInRegistry": "true"
         "registryRecordStatus" : ["STATE_SUCCESSFUL", "STATE_NOT_FINISHED", "NO_ROUTE", "STATE_UNSUCCESSFUL"]
         }
         
        , где

        query - строка SQL-подобного поискового запроса
        Строку надо составлять из преположения, что она добавится к sql-запросу для примерно такой таблицы:

        uuid цвет фона.TEXT сложность
        uuid1 белый сложно
        uuid2 черный легко
        uuid3 желтый просто
        Столбцы таблицы определяются содержимым параметра 'parameters' из запроса. В частности эта таблица составлена для запроса с parameters = [ "цвет фона.TEXT", "сложность" ]. Примечание: набор параметров в запросе `query` не обязательно должен совпадать с `parameters`
        В названия параметров можно добавить суффиксы: 'TEXT', 'INT' или 'DATE'. В случае отстутствия суффикса поведение не отличается от поведения с 'TEXT'. Суффиксы описывают тип данных, который будет находится в соответствущем столбце:
          'TEXT' -- текст 'INT' -- числа 'DATE' -- дата

        В запрос query можно добавлять условие для поиска по идентификатору (uuid) либо коду (code) формы, например

         {
         "query": "where `цвет фона.TEXT` like 'бел%' and `сложность` like 'очень%' and uuid = 'идентификатор_формы'",
         "parameters":   [ "цвет фона.TEXT", "сложность" ],
         "startRecord":      0,
         "recordsCount":     50,
         "showDeleted":      "true",
         "searchInRegistry": "true"
         "registryRecordStatus" : ["STATE_SUCCESSFUL", "STATE_NOT_FINISHED", "NO_ROUTE", "STATE_UNSUCCESSFUL"]
         }
         {
         "query": "where `цвет фона.TEXT` like 'бел%' and `сложность` like 'очень%' and code = 'код_формы'",
         "parameters":   [ "цвет фона.TEXT", "сложность" ],
         "startRecord":      0,
         "recordsCount":     50,
         "showDeleted":      "true",
         "searchInRegistry": "true"
         "registryRecordStatus" : ["STATE_SUCCESSFUL", "STATE_NOT_FINISHED", "NO_ROUTE", "STATE_UNSUCCESSFUL"]
         }
         
        Запрос не должен ограничивать размер, т.е. не должно быть LIMIT clause, эта информация передается в параметрах startRecord и recordsCount. Примеры запросов:

        Выбрать все элементы с uuid1 или uuid2, у которых поле 'field1' равно 'value1' и поле 'field two' содержит 'value2':
        query : "where uuid = ('uuid1' or uuid = 'uuid2') and field1 = 'value1' and `field two` like '%value2%'
        params: ["field1", "field two"]

        Выбрать все элементы с полем `количество наград` > 10
        query: `количество наград.INT` > 10
        params: ["количество наград.INT"]
        В запросе надо добавить кавычки (backtick) вокруг названия "количество наград", потому что там есть пробел.

        Выбрать все элементы, у которых есть поле `количество наград` и отсортировать результаты по этому полю в порядке возрастания
        query: `количество наград.INT` is not null order by `количество наград.INT` asc
        params: ["количество наград.INT"]

        Выбрать все элементы, у которых есть поле `количество наград` и отсортировать результаты по этому полю в порядке убывания
        query: `количество наград.INT` is not null order by `количество наград.INT` desc
        params: ["количество наград.INT"]

        Выбрать все записи с датой, которая входит в последние 30 дней:
        query: WHERE TO_DAYS(NOW()) - TO_DAYS(`date_col.DATE`) <= 30
        params: ["date_col.DATE"]

        Выбрать все записи с датой, ранее 15 ноября 2015 года
        query: WHERE `date_col.DATE` < '2015-11-15 00:00:00'
        params: ["date_col.DATE"]

        Выбрать все записи с датой, позднее 15 ноября 2015 года
        query: WHERE date(`date_col.DATE`) > '2015-11-15'
        params: ["date_col.DATE"]

        Пример запроса с компонентами одной динамической таблицы:

                   {
                     "query": " where ( `user1.TEXT` = 'Иванов%' or `user1.TEXT` = 'Петров%' and ( `startdate1.DATE` > '2016-09-01 00:00:00' and `finishdate1.DATE` < '2016-10-01 00:00:00') ) ",
                     "parameters": [],
                     "dynParams" : [ [ "user1.TEXT", "startdate1.DATE", "finishdate1.DATE" ] ],
                     "startRecord":      0,
                     "recordsCount":     50,
                     "showDeleted":      "true",
                     "searchInRegistry": "true",
                     "registryRecordStatus": ["STATE_SUCCESSFUL"]
                   }
             

        Пример запроса с компонентами нескольких динамических таблиц

                 {
                     "query": " where (  ( `startdate1.DATE` > '2016-09-01 00:00:00' and `finishdate1.DATE` < '2016-10-01 00:00:00')  or (`startdate2.DATE` > '2016-09-01 00:00:00' and `finishdate2.DATE` < '2016-10-01 00:00:00') ) ",
                     "parameters": [],
                     "dynParams" : [ [ "startdate1.DATE", "finishdate1.DATE" ], [ "startdate2.DATE", "finishdate2.DATE" ] ],
                     "startRecord":      0,
                     "recordsCount":     50,
                     "showDeleted":      "true",
                     "searchInRegistry": "true",
                     "registryRecordStatus": ["STATE_SUCCESSFUL"]
                 }
             


        Прочие параметры:
        startRecord номер записи результатов, начиная с которого будут возвращены записи (отсчет с 0)
        recordsCount количество результатов, которые надо вернуть
        showDeleted необходимо ли в результатах возвращать удаленные записи (по-умолчанию true)
        searchInRegistry необходимо передать значение этого параметра false , если осуществляется по данным форм, не входящим в реестр
        dynParams массив, состоящий из массивов параметров, использующихся в строке query. Массив параметров - это массив компонентов одной динамической таблицы. То есть компоненты другой динамической таблицы должны быть записаны в отдельном массиве параметров.

        Компоненты динамической таблицы должны быть указаны в виде названия компонента без имени самой динамической таблицы. dynParams задействованы те же суффиксы, что и в параметре parameters. Они обозначают тип данных, который содержит компонент динамической таблицы: TEXT - текст INT - число DATE - дата При отсутствии суффикса по умолчанию используется суффикс TEXT. При указании параметра в массиве dynParams с одним из данных суффиксов поиск должен производиться по всему столбцу всех динамических таблиц, в которых находится указанный в запросе компонент


        registryRecordStatus передать несколько из параметров:
        STATE_UNSUCCESSFUL - не успешно завершенный,
        NO_ROUTE - не запущенный,
        STATE_NOT_FINISHED - незавершенный,
        STATE_SUCCESSFUL - успешно завершенный
        чтобы произвести поиск по записям реестра который имеют соответствующий статус

        Результат - массив из объектов. Каждый объект содержит поле "dataUUID". Если в параметрах указан поиск в реестре, то каждый объект также содержит поле "documentID", и "registryRecordStatus" - который отображает текущий статус записи реестра.
        Пример: [{"dataUUID": "uuid1", "documentID": "docID1", registryRecordStatus: STATE_UNSUCCESSFUL},
        {"dataUUID": "uuid2", "documentID": "docID2", registryRecordStatus: NO_ROUTE},
        {"dataUUID": "uuid3", "documentID": "docID3", registryRecordStatus: STATE_NOT_FINISHED}].
        {"dataUUID": "uuid3", "documentID": "docID3", registryRecordStatus: STATE_SUCCESSFUL}].

        Parameters:
        params - параметры поиска в JSON
        Returns:
        JSON с результатом выполнения
        See Also:
        RegistryRecordStatus
      • getPrintable

        public java.lang.String getPrintable(java.lang.String dataUUID,
                                             java.lang.String locale)
      • list

        public java.lang.String list(java.lang.String formUUID)
        Получение списка UUID данных по форме по UUID формы

        URL rest/api/asforms/data/list/{formUUID}
        Method GET

        Parameters:
        formUUID - UUID формы
        Returns:
        список идентификаторов данных по форме по указанному formUUID
      • save

        public Response save(java.lang.String formUUID,
                             java.lang.String formCode,
                             java.lang.String uuid,
                             java.lang.String parentID,
                             java.lang.String data,
                             java.lang.String eventProperties)

        Метод сохраняет данные по форме

        URL rest/api/asforms/data/save
        Method POST


        Поле data с данными должно иметь формат:
        "data": [{"id":"field1_id", "value": "field1_value", "type":"widgetType1"}, ..., {{"id":"fieldN_id", "value": "fieldN_value", "type":"widgetType1"}}]
        Отдельные поля кроме id и value могут так же иметь параметр label
        Поля обязательно должны содержать тип компонента формы. Типы компонентов содержаться можно посмотреть по ссылке

        Поле eventProperties должно иметь формат ключ - значение, ключ должен соответствовать регулярному выражению [a-zA-Z_][a-zA-Z_0-9]*
        Ключи formID, dataUUID зарезервированы, при передаче подобных ключей значения будут перезаписаны параметрами события
        { "paramA": "paramA value", "paramB": "paramB value" }


        Пример использования можно посмотреть в классе kz.arta.synergy.rest.api.sample.registry.CreateAndFillDocExample
        Parameters:
        formUUID - UUID формы (параметр запроса). В случае если идентификатор формы не указан либо указан невалидный, он будет получен по идентификатору данных. Отсутствие идентификатор формы приводит к повышенной нагрузки при сохранении данных по форме.
        formCode - код формы
        uuid - UUID данных по форме (параметр запроса)
        parentID - идентификатор папки в хранилище, в которой должен быть создан файл по форме (обязателен, если не передан uuid)
        data - усеченный json с данными по форме (параметр формы). Смотри пример данных
        eventProperties - @FormParam json с параметрами для отправки в событие изменения данных по форме (необязательный параметр)
        Returns:
        В случае успешного выполнения возвращает json с полями:
        errorCode - код результата выполнения (0)
        uuid - uuid данных по форме
        В случае не выполнения, возвращает json с полями:
        errorCode - код выполнения (число, отличное от 0)
        errorMessage - сообщение об ошибке
      • getDefaultDocumentContent

        public byte[] getDefaultDocumentContent(java.lang.String formID)
                                         throws java.lang.Exception
        Получение старой формы для dt-int ДУБЛИРОВАННЫЙ КОД - из-за авторизации ИЗ
        Throws:
        java.lang.Exception
        See Also:
        kz.arta.synergy.ejb.forms.rest.ASFService#getDefaultDocumentContent(java.lang.String)
      • printWithTemplate

        public byte[] printWithTemplate(java.lang.String dataUUID,
                                        java.lang.String format,
                                        java.lang.String locale)
                                 throws java.lang.Exception
        Печать формы на основе ее представления
        Parameters:
        dataUUID - - идентификатор данных по форме
        format - - формат получаемого файла
        Returns:
        - итоговый файл
        Throws:
        java.lang.Exception
      • printWithMixin

        public Response printWithMixin(PrintTemplateJson request)
                                throws java.lang.Exception

        Печать данных формы на основе ее представления

        URL rest/api/asforms/data/print
        Method POST

        Входные параметры:

        • dataUUID (обяз.) - идентификатор данных по форме
        • format (обяз.) - формат печатного представления (PDF/ODT/DOCX/DOC)
        • mixin (не обяз.) - массив данных компонентов форм, которые необходимо заменить (при отсутствии параметра метод вернет стандартное печатное представление)
        • locale (не обяз.) - код локали

        Метод возвращает файл с заполненным печатным представлением в указанном формате.

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

                    {
                        "dataUUID" : "957d39a0-e3b0-11e6-9f62-525400d0e1cb",
                        "format" : "PDF"
                    }
                
        Throws:
        java.lang.Exception
      • getRegistryAndDocumentIds

        public Response getRegistryAndDocumentIds(java.util.List<java.lang.String> dataUUIDs)
                                           throws java.io.IOException

        Получение идентификаторов документов по идентификаторам данных.

        Метод учитывает данные только по тем формам, которые используются в функциональности реестров.

        Тип:GET

        URL:rest/api/asforms/data/document

        Parameters:
        dataUUIDs - идентификатор данных по форме (обяз.), может быть передано несколько значений Пример: dataUUID=uuid1&dataUUID=uuid2
        Returns:
        JSON результата

        В случае успешного выполнения, метод возвращает json-строку в виде объектов с ключами по dataUUID:

        • documentID - идентификатор документа, которому принадлежит dataUUID
        • registryID - идентификатор реестра, которому принадлежит документ documentID

        Пример:

        
         {
         "7ce1feff-a3f0-4f4e-8bf6-59e37caf553f": {
         "documentID": "0f3a99ac-a712-40ea-98fe-3642af96b860"
         "registryID": "3a170735-4fa3-4e2b-87ae-f346ace3487f"
         },
         "7b953be8-bddb-4ce4-bbfd-ae9548f69c7f": {
         "documentID": "212af63f-597b-41a8-bbaf-6987d84651ac",
         "registryID": "3a170735-4fa3-4e2b-87ae-f346ace3487f"
         }
         }
         
        Throws:
        java.io.IOException
      • loadCollatedDate

        public java.lang.String loadCollatedDate(java.lang.String regID,
                                                 java.lang.String collationGroup,
                                                 java.lang.String dataUUID)

        Получение данных используемых при сопоставлении

        Тип:GET

        URL:rest/api/asforms/form/collatedData

        Parameters:
        regID - - UUID документа, из которого будут браться данные (обяз.)
        dataUUID - - UUID данных, в которые будет происходить сопоставление (обяз.)
        collationGroup - - UUID, по которому будет происходить сопоставление (обяз.)
        version - -версия данных по форме (обяз.)

        Правила передачи запроса:

        rest/api/asforms/form/collatedData/regID/dataUUID/collationGroup/?version=0

        Пример: rest/api/asforms/form/collatedData/7fb464cc-f303-4f40-880f-37d3b5879581/f40b665c-f1f4-40b3-bdc5-291911def539/ff94d282-5da1-42fe-95f3-a3db09597ee1/?version=0

        Returns:
        JSON результата

        В случае успешного выполнения метод возвращает массив объектов JSON, состоящий из следующих полей:/p>

        • collatedFormID - UUID сопоставленной формы
        • name - название карточки
        • uuid - UUID сопоставления
        • collationGroup - UUID группы сопоставлений
        • fields - список сопоставленных полей
          • inField - поле-приемник формы
          • outField - поле-исходник формы
          • label - наименование;
          • uuid - UUID сопоставления
          • collationType - способ сопоставления, один из следующих вариантов: EQUAL, PREFIX, POSTFIX, HTD

        В случае же неуспешного выполнения (например, не переданы либо переданы некорректные входные идентификаторы) метод возвращает `null`.

        Пример:

        
         [
            {
               "collatedFormID":"9b077c41-4efa-48ce-8ce9-af2fe6145e96",
               "name":"PROCESS",
               "uuid":"dfb986ca-6dd2-415f-9304-bfab19d6d4af",
               "collationGroup":"ff94d282-5da1-42fe-95f3-a3db09597ee1",
               "fields":  [
                  {
                     "inField": "date1",
                     "outField": "date2",
                     "label": "Дата",
                     "uuid": "dfb986ca-6dd2-415f-9304-bfab19d6d4af",
                     "collationType": "EQUAL"
                  },
                  {
                     "inField": "text1",
                     "outField": "text2",
                     "label": "Текст",
                     "uuid": "dfb986ca-6dd2-415f-9304-bfab19d6d4af",
                     "collationType": "EQUAL"
                  }
               ]
            }
         ]
         
      • loadCollatedDate

        public java.lang.String loadCollatedDate(java.lang.String registryDocumentId,
                                                 java.lang.String collationGroup,
                                                 java.lang.String dataUUID,
                                                 java.lang.String formId)

        Получение данных используемых при сопоставлении

        Тип:GET

        URL:rest/api/asforms/form/collatedData

        Parameters:
        registryDocumentId - - UUID документа, из которого будут браться данные (обяз.)
        dataUUID - - UUID данных, в которые будет происходить сопоставление (обяз.)
        formId - - UUID данных, в которые будет происходить сопоставление (обяз.)
        collationGroup - - UUID, по которому будет происходить сопоставление (обяз.)
        formId - - UUID формы (необязательный параметр)

        Правила передачи запроса:


        rest/api/asforms/form/collate?registryDocumentID=7fb464cc-f303-4f40-880f-37d3b5879581&dataUUID=f40b665c-f1f4-40b3-bdc5-291911def539&collationGroup=ff94d282-5da1-42fe-95f3-a3db09597ee1&version=1
        rest/api/asforms/form/collate?registryDocumentID=7fb464cc-f303-4f40-880f-37d3b5879581&formId=f40b665c-f1f4-40b3-bdc5-291911def539&collationGroup=ff94d282-5da1-42fe-95f3-a3db09597ee1&version=1
        Returns:
        JSON результата

        В случае успешного выполнения метод возвращает массив объектов JSON, состоящий из следующих полей:/p>

        • collatedFormID - UUID сопоставленной формы
        • name - название карточки
        • uuid - UUID сопоставления
        • collationGroup - UUID группы сопоставлений
        • fields - список сопоставленных полей
          • inField - поле-приемник формы
          • outField - поле-исходник формы
          • label - наименование;
          • uuid - UUID сопоставления
          • collationType - способ сопоставления, один из следующих вариантов: EQUAL, PREFIX, POSTFIX, HTD

        В случае же неуспешного выполнения (например, не переданы либо переданы некорректные входные идентификаторы) метод возвращает `null`.

        Пример:

        
         [
            {
               "collatedFormID":"9b077c41-4efa-48ce-8ce9-af2fe6145e96",
               "name":"PROCESS",
               "uuid":"dfb986ca-6dd2-415f-9304-bfab19d6d4af",
               "collationGroup":"ff94d282-5da1-42fe-95f3-a3db09597ee1",
               "fields":  [
                  {
                     "inField": "date1",
                     "outField": "date2",
                     "label": "Дата",
                     "uuid": "dfb986ca-6dd2-415f-9304-bfab19d6d4af",
                     "collationType": "EQUAL"
                  },
                  {
                     "inField": "text1",
                     "outField": "text2",
                     "label": "Текст",
                     "uuid": "dfb986ca-6dd2-415f-9304-bfab19d6d4af",
                     "collationType": "EQUAL"
                  }
               ]
            }
         ]
         
      • collateOut

        public Response collateOut(java.lang.String srcDataId,
                                   java.lang.String srcDataStr,
                                   java.lang.String collationGroup,
                                   java.lang.String destFormId,
                                   java.lang.String destRegistryId)
      • asErrorToJson

        public java.lang.String asErrorToJson(ServerResult result,
                                              ObjectMapper mapper)
                                       throws java.io.IOException
        Возвращает результат в json, включая поля кода ошибки и сообщения
        Parameters:
        mapper - маппер для json
        Throws:
        java.io.IOException
      • getDefaultDataContent

        public Response getDefaultDataContent(java.lang.String formID,
                                              java.lang.String formCode)

        получение данных файла по форме по умолчанию (заполняются преднастроенные значения)

        Тип:GET

        URL:rest/api/asforms/getDefaultContent

        Parameters:
        formID - идентификатор формы
        formCode - код формы
        Returns:
        данные по форме по умолчанию {"data" : [ {}, {}, {} ]}
      • getUserID

        public java.lang.String getUserID()
      • getFormDefinitionVersions

        public Response getFormDefinitionVersions(java.lang.String formID,
                                                  boolean isShowDeleted)

        Получение списка версий описания (конфигурации) формы по идентификатору формы

        Тип:GET

        URL:rest/api/asforms/form/{formID}/versions

        Returns:
        список версий по форме [ { "uuid": "e1533098-66bd-4da4-8695-ffba9032c903", "version": 1, "isDeleted": false, "name": "Название формы en", "nameru": "Название формы ru", "namekz": "Название формы kz", "description": "Описание формы", "created": 1655920800000, "modified": 1655920800000, "createdBy": "4a9e4645-cb7b-4646-a90d-88a8cdda333d", "modifiedBy": "4a9e4645-cb7b-4646-a90d-88a8cdda333d", "userShortNameCreated": "Admin A. A.", "userShortNameModified": "Admin A. A." } ]
kz.arta.synergy.api.rest.asforms

Class FormPlayerIconService

  • java.lang.Object
    • kz.arta.synergy.api.rest.asforms.FormPlayerIconService


  • public class FormPlayerIconService
    extends java.lang.Object
    Created by exile Date: 18.02.16 Time: 10:02 апи для получения значений для компонентов формы js проигрывателя форм
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Response getUserPhoto(java.lang.String personID, java.lang.Integer maxWidth, java.lang.Integer maxHeight, boolean inscribe) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FormPlayerIconService

        public FormPlayerIconService()
    • Method Detail

      • getUserPhoto

        public Response getUserPhoto(java.lang.String personID,
                                     java.lang.Integer maxWidth,
                                     java.lang.Integer maxHeight,
                                     boolean inscribe)
kz.arta.synergy.api.rest.asforms

Class FormPlayerService

  • java.lang.Object
    • kz.arta.synergy.api.rest.asforms.FormPlayerService


  • public class FormPlayerService
    extends java.lang.Object
    Created by exile Date: 18.02.16 Time: 10:02 апи для получения значений для компонентов формы js проигрывателя форм
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String documentAttribute(java.lang.String dataUUID, java.lang.String field, java.lang.String locale)
      получение значения поля ркк документа

      URL rest/api/formPlayer/documentAttribute
      Method GET

      java.lang.String formatDate(java.lang.String format, java.lang.String date, java.lang.String locale)
      получение форматированного локализованного значения даты

      URL rest/api/formPlayer/formatDate
      Method GET

      java.lang.String formatDocLink(java.lang.String documentID, java.lang.String format, java.lang.String locale)
      получение значения компонента ссылка на документа

      URL rest/api/formPlayer/documentLink
      Method GET

      Response getAsfDataUUID(java.lang.String documentID)
      получение идентификатора данных по форме

      URL rest/api/formPlayer/getAsfDataUUID
      Method GET

      Response getCompletionForm(java.lang.String completionFormID)
      получения описания формы завершения

      URL rest/api/formPlayer/getCompletionForm
      Method GET

      Response getCustomComponent(java.lang.String code)
      получение информации о пользовательском компоненте
      Response getDocumentBases(java.lang.String dataUUID, java.lang.String locale)
      получение списка оснований документа

      URL rest/api/formPlayer/getDocumentBases
      Method GET

      Response getDocumentId(java.lang.String dataUUID, java.lang.String locale)
      получение идентификатора документа по идентификатору данных по форме

      URL rest/api/formPlayer/documentIdentifier
      Method GET

      Response getDocumentMeaningContent(java.lang.String asfDataUUID, java.lang.String documentId)
      получение значений полей значащих содержимых
      Response getDocumentMeaningContents(java.util.Set<java.lang.String> documentIds)
      Назначение - получение значений полей значащих содержимых.
      Response getDocumentMeaningContents(java.lang.String[] documentId)
      получение значений полей значащих содержимых
      Response getSignHeaders(java.lang.String headersString, int type, java.lang.String locale)
      получение локализованных заголовков списка подписей

      URL rest/api/formPlayer/getSignHeaders
      Method GET
      Возвращает отсортированный массив заголовков имеющий ту же структуру


      code - код поля
      name наименование
      number номер
      field поле
      en наименование колонки на английском
      kz наименование колонки на казахском
      ru наименование колонки на русском



      если в процессе получения списка заголовков списка подписей произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR

      java.lang.String getUserID() 
      Response listFiles(java.lang.String parentID, boolean getOnlyFolders, boolean showHomeFolder, java.util.List<java.lang.String> mimeType, java.lang.String locale)
      Метод возвращает список файлов в папке с идентификатором parentID

      URL rest/api/formPlayer/listFiles
      Method GET

      Response listResolutions(java.lang.String dataUUID, java.lang.String locale)
      получение списка резолюций документа

      URL rest/api/formPlayer/getResolutions
      Method GET

      Response listSigns(java.lang.String dataUUID, int type, java.lang.String locale)
      получение списка подписей документа

      URL rest/api/formPlayer/getSigns
      Method GET

      Response log(java.lang.String error, java.lang.String formId, java.lang.String asfDataId)
      серверное логгирование ошибок проигрывателя форм

      URL rest/api/formPlayer/log
      Method POST

      Response processHistory(java.lang.String dataUUID, java.lang.String locale)
      получение хода исполнения документа

      URL rest/api/formPlayer/getProcessExecution
      Method GET

      static java.util.List<SignListHeaderConfigDTO> sortColumns(java.util.List<SignListHeaderConfigDTO> rows) 
      java.lang.String translate(java.lang.String value, java.lang.String locale)
      перевод сообщения в нужную локаль
      Response translateMultiple(java.util.List<java.lang.String> value, java.lang.String locale)
      перевод сообщения в нужную локаль
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FormPlayerService

        public FormPlayerService()
    • Method Detail

      • formatDate

        public java.lang.String formatDate(java.lang.String format,
                                           java.lang.String date,
                                           java.lang.String locale)

        получение форматированного локализованного значения даты

        URL rest/api/formPlayer/formatDate
        Method GET

        Parameters:
        format - формат даты (смотрите формат даты для поля дата в конфигураторе)
        date - дата в формате yyyy-MM-dd HH:mm:ss
        locale - локаль
        Returns:
        форматированное значение даты
      • documentAttribute

        public java.lang.String documentAttribute(java.lang.String dataUUID,
                                                  java.lang.String field,
                                                  java.lang.String locale)
        получение значения поля ркк документа

        URL rest/api/formPlayer/documentAttribute
        Method GET

        Parameters:
        dataUUID - идентификатор данных по форме
        field - поле ркк ("number", "subject", "createDate", "author", "reg_date", "doc_type", "registry")
        locale - локаль
        Returns:
        значение поля или пустую строку
      • getDocumentId

        public Response getDocumentId(java.lang.String dataUUID,
                                      java.lang.String locale)
        получение идентификатора документа по идентификатору данных по форме

        URL rest/api/formPlayer/documentIdentifier
        Method GET

        Parameters:
        dataUUID - идентификатор данных по форме
        locale - локаль
        Returns:
        идентификатор документа если данные по форме не найдены то возвращает http status 500 INTERNAL_SERVER_ERROR
      • getAsfDataUUID

        public Response getAsfDataUUID(java.lang.String documentID)
        получение идентификатора данных по форме

        URL rest/api/formPlayer/getAsfDataUUID
        Method GET

        Parameters:
        documentID - идентификатор документа
        Returns:
        идентификатор данных по форме если данные по форме не найдены то возвращает http status 500 INTERNAL_SERVER_ERROR
      • formatDocLink

        public java.lang.String formatDocLink(java.lang.String documentID,
                                              java.lang.String format,
                                              java.lang.String locale)
        получение значения компонента ссылка на документа

        URL rest/api/formPlayer/documentLink
        Method GET

        Parameters:
        documentID - идентификатор документа
        format - формат (смотрите настройку формата для поля ссылка на документ в конфигураторе)
        locale - локаль
        Returns:
        значение документа или исходный формат
      • getDocumentBases

        public Response getDocumentBases(java.lang.String dataUUID,
                                         java.lang.String locale)
        получение списка оснований документа

        URL rest/api/formPlayer/getDocumentBases
        Method GET

        Parameters:
        dataUUID - идентификатор данных по форме
        Returns:
        список оснований
        {
        documentID : идентификатор документа,
        docID : идентификатор ркк документа,
        regDate : дата регистрации в формате dd-MM-yyyy HH:mm:ss,
        number : номер документа,
        subject : краткое содержание
        }

        если в процессе получения оснований произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR
      • processHistory

        public Response processHistory(java.lang.String dataUUID,
                                       java.lang.String locale)
        получение хода исполнения документа

        URL rest/api/formPlayer/getProcessExecution
        Method GET

        Parameters:
        dataUUID - идентификатор данных по форме
        locale - локаль
        Returns:
        возвращает массив объектов со следующей структурой
        {
        procInstID - идентификатор процесса
        processId - идентификатор типа процесса
        name - наименование
        userName - имя исполнителя
        authorName - имя автора
        started - время в миллисекундах даты начала
        finished - время в миллисекундах даты завершения
        finishedUser - завершил
        comment - комментарий
        deleted - время в миллисекундах даты удаления
        subProcesses - массив подпроцессов с той же структурой }



        если в процессе получения хода исполнения произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR

      • listResolutions

        public Response listResolutions(java.lang.String dataUUID,
                                        java.lang.String locale)
        получение списка резолюций документа

        URL rest/api/formPlayer/getResolutions
        Method GET

        Parameters:
        dataUUID - идентификатор данных по форме
        locale - локаль
        Returns:
        возвращает массив объектов со следующей структурой

        projectID - идентификатор проекта резолюции
        authorID - идентификатор автор
        authorName - имя автора
        items - массив пунктов резолюции


        item:
        name - имя пункта
        user - имя главноего исполнителя
        userRow - имена исполнителей через запятую
        finishDate - время в миллисекундах даты завершения



        если в процессе получения списка резолюций произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR

      • listSigns

        public Response listSigns(java.lang.String dataUUID,
                                  int type,
                                  java.lang.String locale)
        получение списка подписей документа

        URL rest/api/formPlayer/getSigns
        Method GET

        Parameters:
        dataUUID - идентификатор данных по форме
        type - тип получаемых данных, -1 = подписи, 0 - согласования, 1 - утверждения, 2 - ознакомления
        locale - локаль
        Returns:
        возвращает массив объектов со следующей структурой

        comment коммент
        currentName - текущее имя
        currentPosition - текущая должность
        date - дата подписания
        name - имя пользователя (зависит от настройки что отображать в подписи)
        position - должность (зависит от настройки что отображать в подписи)
        result - результат
        routeItemElementTypeID - тип процесса
        signType - тип подписи
        signedName - имя на момент подписи
        signedPosition - должность на момент подписи
        typeSign - эцп обычная



        если в процессе получения списка подписей произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR

      • getSignHeaders

        public Response getSignHeaders(java.lang.String headersString,
                                       int type,
                                       java.lang.String locale)
        получение локализованных заголовков списка подписей

        URL rest/api/formPlayer/getSignHeaders
        Method GET
        Возвращает отсортированный массив заголовков имеющий ту же структуру


        code - код поля
        name наименование
        number номер
        field поле
        en наименование колонки на английском
        kz наименование колонки на казахском
        ru наименование колонки на русском



        если в процессе получения списка заголовков списка подписей произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR

        Parameters:
        headersString - сериализованый список заголовков
        number номер
        field поле
        en наименование колонки на английском
        kz наименование колонки на казахском
        ru наименование колонки на русском
        type - тип списка -1 = подписи, 0 - согласования, 1 - утверждения, 2 - ознакомления
        locale - локаль
      • log

        public Response log(java.lang.String error,
                            java.lang.String formId,
                            java.lang.String asfDataId)
        серверное логгирование ошибок проигрывателя форм

        URL rest/api/formPlayer/log
        Method POST

        Parameters:
        error - ошибка
        formId - идентификатор формы
        asfDataId - идентификатор данных по форме



        если в процессе получения списка заголовков списка подписей произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR

      • listFiles

        public Response listFiles(java.lang.String parentID,
                                  boolean getOnlyFolders,
                                  boolean showHomeFolder,
                                  java.util.List<java.lang.String> mimeType,
                                  java.lang.String locale)

        Метод возвращает список файлов в папке с идентификатором parentID


        URL rest/api/formPlayer/listFiles
        Method GET

        Parameters:
        parentID - - идентификатор папки
        getOnlyFolders - - только папки
        showHomeFolder - - отображать домашнюю директорию пользователя
        mimeType - - Миме типы возвращаемых файлов,
        locale - - локаль пользователя
        Returns:
        json со списком файлов:
        ai_type - аи тип
        icon - иконка
        id - идентификатор
        identifier - идентификатор
        is_folder - является папкой
        mime - миме тип
        modified - изменен дата в формате yyyy-MM-dd HH:mm:ss
        name - наименование
        notEmpty - пустая ли папка если папка
        path - путь
        right - права
        size - размер в байтах
        userID - идентификатор пользователя изменившего файл
        userName имя пользователя



        если в процессе получения списка файлов произошла ошибка метод возвращает http status 500 INTERNAL_SERVER_ERROR

      • translate

        public java.lang.String translate(java.lang.String value,
                                          java.lang.String locale)
        перевод сообщения в нужную локаль
        Parameters:
        value - сообщение
        locale - локаль
        Returns:
        перевод
      • translateMultiple

        public Response translateMultiple(java.util.List<java.lang.String> value,
                                          java.lang.String locale)
        перевод сообщения в нужную локаль
        Parameters:
        value - сообщение
        locale - локаль
        Returns:
        {value1: translatedValue1, value2: translatedValue2,}
      • getDocumentMeaningContent

        public Response getDocumentMeaningContent(java.lang.String asfDataUUID,
                                                  java.lang.String documentId)
        получение значений полей значащих содержимых
        Parameters:
        documentId - идентификатор документа (обязателен если не указан asfDataUUID)
        asfDataUUID - идентификатор данных по форме (обязателен если не указан documentId)
        Returns:
        значение
      • getDocumentMeaningContents

        public Response getDocumentMeaningContents(java.lang.String[] documentId)
        получение значений полей значащих содержимых
        Parameters:
        documentId - идентификатор документа, можно указывать несколько например documentId=documentId1&documentId=documentId2
        Returns:
        значение
      • getDocumentMeaningContents

        public Response getDocumentMeaningContents(java.util.Set<java.lang.String> documentIds)
        Назначение - получение значений полей значащих содержимых. В body запроса принимает массив documentID в формате ["0ef39097-4de8-4669-b8de-a08545763669", "dceda42e-2028-4dc6-89aa-41d6548bde12"]... Данная апи - аналог GET-запроса /api/formPlayer/getDocMeaningContents Создана, как обходной вариант - в старом варианте, 1000 и более переданных documentID ломают запрос из-за достижения лимита длины URL.
        Parameters:
        documentIds - указывется в body запроса в виде строкового массива, типа ["0ef39097-4de8-4669-b8de-a08545763669", "dceda42e-2028-4dc6-89aa-41d6548bde12"]
        Returns:
        значение
      • getUserID

        public java.lang.String getUserID()
      • getCustomComponent

        public Response getCustomComponent(java.lang.String code)
        получение информации о пользовательском компоненте
        Parameters:
        code - код компонента
        Returns:
        компонент
      • getCompletionForm

        public Response getCompletionForm(java.lang.String completionFormID)

        получения описания формы завершения


        URL rest/api/formPlayer/getCompletionForm
        Method GET

        Parameters:
        completionFormID - - UUID формы завершения.
        Returns:
        json со списком файлов:
        СompletionFormType-Тип
        СompletionFormInfo [
        -button_name - Название кнопки для создания результата завершения работы
        -registryID
        -registryCode
        -formCode
        -formID
        -registered- Только зарегистрированные: true/false
        -child - Только дочерние: true/false
        ]
        CompletionFormID - Код
        СompletionFormName - Название
        is_result_free - Требует подтверждения результата: true/false

kz.arta.synergy.ejb.forms.servlet

Class CommonApiServlet

  • java.lang.Object
    • HttpServlet
      • kz.arta.synergy.ejb.forms.servlet.CommonApiServlet
    • Constructor Summary

      Constructors 
      Constructor and Description
      CommonApiServlet() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected Actor getActor(HttpServletRequest req, HttpServletResponse res) 
      protected java.lang.String getLocale(HttpServletRequest req) 
      protected void sendAnswer(HttpServletResponse res, java.lang.Object message) 
      protected void sendError(HttpServletResponse res, int httpCode, int code, java.lang.String message) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CommonApiServlet

        public CommonApiServlet()
    • Method Detail

      • getLocale

        protected java.lang.String getLocale(HttpServletRequest req)
      • getActor

        protected Actor getActor(HttpServletRequest req,
                                 HttpServletResponse res)
      • sendAnswer

        protected void sendAnswer(HttpServletResponse res,
                                  java.lang.Object message)
      • sendError

        protected void sendError(HttpServletResponse res,
                                 int httpCode,
                                 int code,
                                 java.lang.String message)
                          throws java.io.IOException
        Throws:
        java.io.IOException
kz.arta.synergy.ejb.forms.servlet

Class ASFormAppendTableDataServlet



  • public class ASFormAppendTableDataServlet
    extends CommonApiServlet
    Created by Alex Basheyeva Date: 07.08.17 Time: 12:25
    • Constructor Detail

      • ASFormAppendTableDataServlet

        public ASFormAppendTableDataServlet()
    • Method Detail

      • doPost

        protected void doPost(HttpServletRequest req,
                              HttpServletResponse res)
                       throws ServletException,
                              java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.ejb.forms.servlet

Class ASFormSaveServlet



  • public class ASFormSaveServlet
    extends CommonApiServlet
    Created by exile Date: 28.04.15 Time: 9:42
    • Constructor Detail

      • ASFormSaveServlet

        public ASFormSaveServlet()
    • Method Detail

      • doPost

        protected void doPost(HttpServletRequest req,
                              HttpServletResponse res)
                       throws ServletException,
                              java.io.IOException
        Throws:
        ServletException
        java.io.IOException
kz.arta.synergy.ejb.forms.servlet

Class ASFormMergeServlet



  • public class ASFormMergeServlet
    extends CommonApiServlet
    Created by Alex Basheyeva Date: 07.08.17 Time: 12:25
    • Constructor Detail

      • ASFormMergeServlet

        public ASFormMergeServlet()
    • Method Detail

      • doPost

        protected void doPost(HttpServletRequest req,
                              HttpServletResponse res)
                       throws ServletException,
                              java.io.IOException
        Throws:
        ServletException
        java.io.IOException