public class PositionsService
extends java.lang.Object
Содержит методы для управления должностями, назначением на должности
Constructor and Description |
---|
PositionsService() |
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 и так далее) |
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/savenameRu
- Название должности на русском языке, FormParamnameKz
- Название должности на казахском языке, FormParamnameEn
- Название должности на английском языке, FormParampointersCode
- код показателя, FormParampositionID
- UUID должности, FormParamdepartmentID
- UUID родительского подразделения, FormParampositionType
- тип должности, FormParamnumber
- порядковый номер дожности, может отсутствовать, FormParamlocale
- локаль, QueryParampublic java.lang.String deletePosition(java.lang.String positionID, java.lang.String locale)
Метод удаляет должность специалиста
URL rest/api/positions/deletepositionID
- UUID должности, которую необходимо удалить (QueryParam)locale
- локаль (QueryParam)public java.lang.String getPosition(java.lang.String positionID, java.lang.String locale)
Метод возвращает информацию о должности
URL rest/api/positions/getpositionID
- UUID должности (QueryParam)locale
- локаль (QueryParam)public Response getPositionsWithCards(java.lang.String departmentID, int startRecord, int recordsCount, java.lang.String locale)
Метод для получения информации о должностях департамента с карточками
URL /rest/api/positions/getPositionsWithCardsdepartmentID
- идентификатор подразделения, должности которого необходимо вернуть;
recursive
- флаг рекурсивности поиска должностей (по умолч. false, необязательный):
cmpIsNeeded
- флаг необходимости возврата полей карточки (по умолч. true, не обязательный). Принимает значения:
positionFormID
- идентификатор карточки должностей, данные которой необходимо вернуть,обязателен, если в запросе не указан параметр cmpIsNeeded=false;
positionFormCode
- код карточки должностей, данные которой необходимо вернуть,обязателен, если в запросе не указан параметр cmpIsNeeded=false;
cmpID
- идентификатор элемента формы, информацию из которого необходимо вернуть. Может быть передано несколько значений, обязателен, если в запросе не указан параметр cmpIsNeeded=false;startRecord
- номер записи результатов, начиная с которой будут возвращены записи(по умолчанию 0, не обязательный);recordsCount
- количество результатов, которые необходимо вернуть (по умолчанию 30, максимум 50, не обязательный);locale
- локаль;Пример возвращаемого массива:
[ { "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)
public java.lang.String appointToPosition(java.lang.String positionID, java.lang.String userID, java.lang.String locale)
Метод назначает на должность специалиста/руководителя подразделения
URL rest/api/positions/appointpositionID
- UUID должности на которую надо назначить специалиста (QueryParam)userID
- UUID пользоватля, которого надо назначить на должность (QueryParam)locale
- локаль пользователя, вызвавшего метод (QueryParam)public java.lang.String dischargeFromPosition(java.lang.String positionID, java.lang.String userID, java.lang.String locale)
Метод снимает с должности специалиста/руководителя подразделения
URL rest/api/positions/dischargepositionID
- UUID должности (QueryParam)userID
- UUID пользователя, которого надо снять с должности positionID (QueryParam)locale
- локаль пользователя, вызвавшего метод (QueryParam)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/appointnameRu
- название должности на русском языке (FormParam)nameKz
- название должности на казахском языке (FormParam)nameEn
- название должности на русском языке (FormParam)departmentID
- UUID родительского департамента (FormParam)childDepartmentID
- UUID-ы дочерних подразделений (FormParam)userID
- UUID пользователя которого надо назначить на должность (FormParam)number
- порядковый номер для сортировки (по умолчанию 0) (FormParam)locale
- локаль пользователя, вызвавшего метод (QueryParam)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/savenameRu
- название должности на русском языке (FormParam)nameKz
- название должности на казахском языке (FormParam)nameEn
- название должности на русском языке (FormParam)departmentID
- UUID родительского департамента (FormParam)childDepartmentID
- UUID-ы дочерних подразделений (FormParam)userID
- UUID пользователя которого надо назначить на должность (FormParam)number
- порядковый номер для сортировки (по умолчанию 0) (FormParam)assistantID
- идентификатор заместителя (FormParam)locale
- локаль пользователя, вызвавшего метод (QueryParam)public java.lang.String getAssistants(java.lang.String departmentID, java.lang.String locale)
Возвращает информацию о заместителях руководителя подразделения
URL rest/api/positions/assistant/getdepartmentID
- идентификатор подразделения, для которого необходимо получить заместителейlocale
- локаль пользователяFileCabinetWrapper#getAssistantJson(arta.synergy.web.common.client.data.filecabinet.Assistant)
public java.lang.String deleteAssistant(java.lang.String assistantID, java.lang.String locale)
Метод удаляет должность заместителя и увольняет с нее назначенного пользователя
URL rest/api/positions/assistant/deleteassistantID
- UUID должности заместителяlocale
- локаль пользователя, вызвавшего методpublic java.lang.String getPositionCards(java.lang.String positionID, java.lang.String locale)
Возвращает список дополнительных карточек для данной должности
URL rest/api/positions/get_cardspositionID
- uuid должностиlocale
- локаль пользователяAPIFormsService#save(String, String, String, boolean, String)
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 - значение.
formUUID
- идентификатор формыformCode
- код формыfieldName
- название поляvalue
- значение поляlocale
- локаль пользователяpublic java.lang.String getUserID()
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). Максимальное значение параметра 100startRecord
- номер записи результатов, начиная с которой будут возвращены записи (по умолчанию 0)searchTypeN
- тип сравнения для параметра name
(по умолчанию partial). Может принимать следующие значения:
exact
- точное совпадение поискового запроса и значения поляpartial
- вхождение поискового запроса в значение поляsearchTypeC
- тип сравнения для параметра code
(по умолчанию partial). Может принимать следующие значения:
exact
- точное совпадение поискового запроса и значения поляpartial
- вхождение поискового запроса в значение поляsearchTypePC
- тип сравнения для параметра pointer_code (по умолчанию exact). Может принимать следующие значения:
exact
- точное совпадение поискового запроса и значения поляpartial
- вхождение поискового запроса в значение поляdeleted
- включать ли в результат поиска удаленные должности. Допустимые значения: true или falselocale
- локаль пользователя. Данный параметр учитывается при поиске по названию должностиВ случае успешного выполнения метод возвращает массив строк, являющихся идентификаторами должностей.
Пример запроса:
/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=Ассистент
В случае если по переданным входным параметрам ничего не найдено, сервер возвращает пустой массив.
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)