public class DepartmetnsService
extends java.lang.Object
Constructor and Description |
---|
DepartmetnsService() |
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). |
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/savenameRu
- Название подразделения на русском языке, FormParamnameKz
- Название подразделения на казахском языке, FormParamnameEn
- Название подразделения на английском языке, FormParampositionNameRu
- Название должности руководителя на русском языке, FormParampositionNameKz
- Название должности руководителя на казахском языке, FormParampositionNameEn
- Название должности руководителя на английском языке, FormParampointersCode
- код показателя, FormParamnumber
- порядковый номер подразделенияdepartmentID
- UUID подразделения (для создания нового подразделения необходимо передать null), FormParamparentDepartmentID
- UUID родительского подразделения, FormParamlocale
- локаль, QueryParampublic java.lang.String deleteDepartment(java.lang.String departmentID, java.lang.String locale)
Метод удаляет подразделение
URL rest/api/departments/deletedepartmentID
- UUID подразделения, которое надо удалить (QueryParam)locale
- локаль (QueryParam)public java.lang.String getDepartment(java.lang.String departmentID, java.lang.String locale)
Метод возвращает информацию о подразделении подразделение
URL rest/api/departments/getdepartmentID
- UUID подразделения, QueryParamlocale
- локаль, QueryParamFileCabinetWrapper#getDepartmentasJson(arta.synergy.web.common.client.data.filecabinet.Department, String)
public java.lang.String getDepartmentsAsList(java.lang.String locale, java.lang.Integer partNumber, java.lang.Integer countInPart)
Метод возвращает список подразделений (без учета структуры)
URL rest/api/departments/listFileCabinetWrapper#getDepartmentasJson(arta.synergy.web.common.client.data.filecabinet.Department, String)
public java.lang.String getDepartmentsContent(java.lang.String departmentID, boolean onlyPosition, boolean onlyDepartments, java.lang.String locale)
departmentID
- идентификатор департаментаonlyPosition
- true - отображение должностей только одного департамента (по умолчанию false)onlyDepartments
- true - отображение подотделов только одного департамента (по умолчанию false)locale
- локаль[ { "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 - Ф.И.О. сотрудника в формате "Фамилия И.О."
public java.lang.String getDepartmentCards(java.lang.String departmentID, java.lang.String locale)
Возвращает список дополнительных карточек для данного подразделения
URL rest/api/departments/get_cardsdepartmentID
- UUID подразделенияlocale
- локаль пользователяAPIFormsService.save(String, String, String, String, String, String)
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 - значение.
formUUID
- uuid формы, по полю которой необходимо произвести поискformCode
- code формы, по полю которой необходимо произвести поискfieldName
- название поля, по которому необходимо произвести поискvalue
- значение поляlocale
- локаль пользователяpublic java.lang.String getUserID()
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). Максимальное значение параметра 100startRecord
- номер записи результатов, начиная с которой будут возвращены записи (по умолчанию 0)searchTypeN
- тип сравнения для параметра name
(по умолчанию partial). Может принимать следующие значения:
exact
- точное совпадение поискового запроса и значения поляpartial
- вхождение поискового запроса в значение поляsearchTypePC
- тип сравнения для параметра pointer_code (по умолчанию exact). Может принимать следующие значения:
exact
- точное совпадение поискового запроса и значения поляpartial
- вхождение поискового запроса в значение поляdeleted
- включать ли в результат поиска удаленные департаменты. Допустимые значения: true или falselocale
- локаль пользователя. Данный параметр учитывается при поиске по названию должностиВ случае успешного выполнения метод возвращает массив строк, являющихся идентификаторами подразделений.
Пример запроса:
/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
В случае если по переданным входным параметрам ничего не найдено, сервер возвращает пустой массив.