kz.arta.synergy.server.api.rest.asforms
Class APIFormsService

java.lang.Object
  extended by kz.arta.synergy.server.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
APIFormsService()
           
 
Method Summary
 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, 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, java.lang.String locale)
          Метод возвращает описание формы

URL rest/api/asforms/form/{formID}
Method GET

 java.lang.String getPrintable(java.lang.String dataUUID, java.lang.String locale)
           
 java.lang.String list(java.lang.String formUUID)
           
 java.lang.String save(java.lang.String formUUID, java.lang.String uuid, java.lang.String parentID, java.lang.String data)
          Метод сохраняет данные по форме 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
Поля обязательно должны содержать тип компонента формы.
 java.lang.String search(java.lang.String locale)
          Метод для поиска данных по форме или записям реестра, получения записей реестра

URL rest/api/asforms/search
Method GET

Параметры поиска включают:
formUUID идентификатор формы (может быть передано несколько значений)
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,
                                    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,
                                          java.lang.String locale)

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

URL rest/api/asforms/form/{formID}
Method GET

Parameters:
formID - идентификатор формы (asf_definition.uuid)
locale - локаль пользователя, по-умолчанию ru
Returns:
json описание формы

search

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

Метод для поиска данных по форме или записям реестра, получения записей реестра

URL rest/api/asforms/search
Method GET

Параметры поиска включают:
formUUID идентификатор формы (может быть передано несколько значений)
search поисковая строка (может быть передано несколько значений, может отсутствовать)
field названия компонентов (может быть передано несколько значений, может отсутствовать)
type тип сравнения (может отсутствовать), может принимать значения:


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"}]

getPrintable

public java.lang.String getPrintable(java.lang.String dataUUID,
                                     java.lang.String locale)

list

public java.lang.String list(java.lang.String formUUID)

save

public java.lang.String save(java.lang.String formUUID,
                             java.lang.String uuid,
                             java.lang.String parentID,
                             java.lang.String data)

Метод сохраняет данные по форме

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
Поля обязательно должны содержать тип компонента формы. Типы компонентов содержаться можно посмотреть по ссылке http://goo.gl/arlFtB


Пример использования можно посмотреть в классе kz.arta.synergy.rest.api.sample.registry.CreateAndFillDocExample

Parameters:
formUUID - UUID формы (параметр запроса)
uuid - UUID данных по форме (параметр запроса)
parentID - идентификатор папки в хранилище, в которой должен быть создан файл по форме (имеет смысл только если uuid равен null)
data - json с данными по форме (параметр формы)
Returns:
В случае успешного выполнения возвращает json с полями:
errorCode - код результата выполнения (0)
uuid - uuid данных по форме
В случае не выполнения, возвращает json с полями:
errorCode - код выполнения (число, отличное от 0)
errorMessage - сообщение об ошибке


Copyright © 2000 Dummy Corp. All Rights Reserved.