public class ProjectService
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
AF_DICTIONARY_NAME |
static java.lang.String |
NAME
Имена колонок
|
static java.lang.String |
PORTFOLIO |
static java.lang.String |
PROJECT |
static java.lang.String |
TYPE |
| Constructor and Description |
|---|
ProjectService() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
assignActionResponsible(java.util.List<java.lang.String> userID,
java.lang.String actionID,
java.lang.String locale)
Назначение ответственных за мероприятие проекта
URL: rest/api/projects/assign_action_responsible
Type: POST |
java.lang.String |
createArrangement(java.lang.String name,
double costFact,
double costExpected,
java.lang.String groupID,
boolean veha,
java.lang.String startDate,
java.lang.String finishDate,
double length,
int workloadType,
double workloadValue,
java.lang.String locale)
Метод создает мероприятие для указанного проекта
|
java.lang.String |
createProject(java.lang.String name,
java.lang.String code,
double costFact,
double costExpected,
java.lang.String parentItemID,
java.lang.String startDate,
java.lang.String finishDate,
double length,
int workloadType,
double workloadValue,
java.lang.String locale)
Метод создает проект для указанного портфеля
|
java.lang.String |
editArrangement(java.lang.String name,
double costFact,
double costExpected,
java.lang.String actionID,
java.lang.String groupID,
java.lang.String startDate,
java.lang.String finishDate,
double length,
int workloadType,
double workloadValue,
java.lang.String locale)
Метод изменяет существующее мероприятие
|
java.lang.String |
editPointers(java.lang.String items,
java.lang.String actionID,
java.lang.String locale)
Метод изменяет значения дополнительных полей у мероприятия
|
java.lang.String |
editProject(java.lang.String name,
java.lang.String code,
java.lang.String actionID,
java.lang.String parentItemID,
double costFact,
double costExpected,
java.lang.String startDate,
java.lang.String finishDate,
double length,
int workloadType,
double workloadValue,
java.lang.String locale)
Метод предназначен для редактирования проекта
|
java.lang.String |
findProjectByName(java.lang.String search,
java.lang.String folderType,
java.lang.String locale)
Поиск проекта по названию
URL: rest/api/projects/find_by_name
Type: GET |
java.lang.String |
getActionsInfo(ActionsList aList)
метод для получения сроков и процента мероприятий
|
java.lang.String |
getAf(java.lang.String actionID,
java.lang.String type,
java.lang.String locale)
Метод используется для получения информации о дополнительных полях для проекта/портфеля
|
java.lang.String |
getAllActionsOfProject(java.lang.String actionID,
java.lang.String locale)
Получение прогресса/сроков мероприятий проекта
URL: rest/api/projects/get_project_actions
Type: GET |
java.lang.String |
getArrangements(java.lang.String actionID,
boolean child,
java.lang.String locale)
Метод возвращает список мероприятий/мероприятие
|
java.lang.String |
getPlanFolder(java.lang.String actionID,
java.lang.String locale)
Получение идентификатора папки проекта
URL: rest/api/projects/get_folder
Type: GET |
java.lang.String |
getProjectTree(java.lang.String itemID,
java.lang.String folderType,
boolean onlyFolders,
java.lang.String locale)
Для того, чтобы создать проект - нужно знать, где его создать.
|
Response |
getProjectTreeItemInfo(java.lang.String actionID,
java.lang.String locale)
получение информации о проекте или портфеле
|
java.lang.String |
getWorkLoads(java.lang.String locale)
Метод возвращает описание нагрузок в системе
|
java.lang.String |
removeAf(java.lang.String actionID,
java.util.List<java.lang.String> fieldID,
java.lang.String type,
java.lang.String locale)
Метод позволяет удалять доп.
|
java.lang.String |
setAf(java.lang.String actionID,
java.util.List<java.lang.String> fieldID,
java.lang.String type,
java.lang.String locale)
Метод позволяет добавлять доп.
|
public static final java.lang.String PROJECT
public static final java.lang.String PORTFOLIO
public static final java.lang.String AF_DICTIONARY_NAME
public static final java.lang.String NAME
public static final java.lang.String TYPE
public java.lang.String findProjectByName(java.lang.String search,
java.lang.String folderType,
java.lang.String locale)
search - - название, по которому идет поискfolderType - - тип дерева (ROOT - корпоративное дерево, PERSONAL - личное дерево ("Мои проекты"), FAVORITE - "Избранное")locale - - локальpublic java.lang.String getAllActionsOfProject(java.lang.String actionID,
java.lang.String locale)
actionID - - ид проектаlocale - - локальpublic java.lang.String getActionsInfo(ActionsList aList)
aList - - объект класса ActionList, откуда мы берем все мероприятия проектаpublic java.lang.String getPlanFolder(java.lang.String actionID,
java.lang.String locale)
actionID - - идентификатор проектаlocale - - локальpublic java.lang.String assignActionResponsible(java.util.List<java.lang.String> userID,
java.lang.String actionID,
java.lang.String locale)
userID - - список идентификаторов ответственныхactionID - - идентификатор мероприятияlocale - - локальpublic java.lang.String getProjectTree(java.lang.String itemID,
java.lang.String folderType,
boolean onlyFolders,
java.lang.String locale)
Для того, чтобы создать проект - нужно знать, где его создать. Данный метод возвращает информацию о деревьях и портфелях По умолчанию возвращает портфели находящиеся в корпоративном дереве (это происходит если не передавать параметр folderType)
URL: rest/api/projects/get_project_tree Method: GETitemID - itemID портфеля (может быть null - в таком случае возвращает информацию по корпоративному дереву)folderType - тип дерева (ROOT - корпоративное дерево, PERSONAL - личное дерево ("Мои проекты"), FAVORITE - "Избранное")locale - локальpublic Response getProjectTreeItemInfo(java.lang.String actionID,
java.lang.String locale)
actionID - идентификатор элментаlocale - public java.lang.String createProject(java.lang.String name,
java.lang.String code,
double costFact,
double costExpected,
java.lang.String parentItemID,
java.lang.String startDate,
java.lang.String finishDate,
double length,
int workloadType,
double workloadValue,
java.lang.String locale)
Метод создает проект для указанного портфеля
URL: rest/api/projects/create_project Method: POSTname - название проектаcode - код проектаcostFact - плановая стоимость (double)costExpected - фактическая стоимость (double)parentItemID - itemID портфеля (для того, чтобы получить это значение - надо поработать с апи методом get_project_tree,
параметр будет называться - itemID)startDate - дата начала (формат: "yyyy-MM-dd HH:mm:00")finishDate - дата завершения (формат: "yyyy-MM-dd HH:mm:00") (нужна в том случае, если в конфигураторе в настройках проекта выбрано "Тип ввода дат мероприятий проекта" - "Абсолютный (начало и завершение)")length - продолжительность (в днях)workloadType - тип нагрузки (необходимо вызывать метод get_work_loads)workloadValue - значение нагрузки (необходимо вызывать метод get_work_loads)locale - локальpublic java.lang.String editProject(java.lang.String name,
java.lang.String code,
java.lang.String actionID,
java.lang.String parentItemID,
double costFact,
double costExpected,
java.lang.String startDate,
java.lang.String finishDate,
double length,
int workloadType,
double workloadValue,
java.lang.String locale)
Метод предназначен для редактирования проекта
URL: rest/api/projects/edit_project Method: POSTname - название проектаcode - код проектаactionID - actionID проектаcostFact - плановая стоимость (double)costExpected - фактическая стоимость (double)parentItemID - itemID портфеля (для того, чтобы получить это значение - надо поработать с апи методом get_project_tree,
параметр будет называться - itemID)workloadType - тип нагрузки (необходимо вызывать метод get_work_loads)workloadValue - значение нагрузки (необходимо вызывать метод get_work_loads)startDate - дата начала (формат: "yyyy-MM-dd HH:mm:00")finishDate - дата завершения (формат: "yyyy-MM-dd HH:mm:00") (нужна в том случае, если в конфигураторе в настройках проекта выбрано "Тип ввода дат мероприятий проекта" - "Абсолютный (начало и завершение)")length - продолжительность (в днях)locale - локальpublic java.lang.String createArrangement(java.lang.String name,
double costFact,
double costExpected,
java.lang.String groupID,
boolean veha,
java.lang.String startDate,
java.lang.String finishDate,
double length,
int workloadType,
double workloadValue,
java.lang.String locale)
Метод создает мероприятие для указанного проекта
URL: rest/api/projects/create_arrangement Method: POSTname - название мероприятияcostFact - фактическая стоимость (double)costExpected - плановая стоимость (double)groupID - groupID - группа мероприятия (можно получить из метода get_project_tree (нужно получить список портфелей), параметр будет называться actionID)startDate - дата начала (формат: "yyyy-MM-dd HH:mm:00")finishDate - дата завершения (формат: "yyyy-MM-dd HH:mm:00")length - продолжительность (в днях)veha - мероприятие не имеющее длительности (true/false)workloadType - тип нагрузки (необходимо вызывать метод get_work_loads)workloadValue - значение нагрузки (необходимо вызывать метод get_work_loads)locale - локальpublic java.lang.String editArrangement(java.lang.String name,
double costFact,
double costExpected,
java.lang.String actionID,
java.lang.String groupID,
java.lang.String startDate,
java.lang.String finishDate,
double length,
int workloadType,
double workloadValue,
java.lang.String locale)
Метод изменяет существующее мероприятие
URL: rest/api/projects/edit_arrangement Method: POSTname - название мероприятияcostFact - плановая стоимость (double)costExpected - фактическая стоимость (double)actionID - actionID мероприятияgroupID - groupID мероприятияstartDate - дата начала (формат: "yyyy-MM-dd HH:mm:00")finishDate - дата завершения (формат: "yyyy-MM-dd HH:mm:00")length - продолжительность (в днях)workloadType - тип нагрузки (необходимо вызывать метод get_work_loads)workloadValue - значение нагрузки (необходимо вызывать метод get_work_loads)locale - локальpublic java.lang.String getArrangements(java.lang.String actionID,
boolean child,
java.lang.String locale)
Метод возвращает список мероприятий/мероприятие
URL: rest/api/projects/get_arrangements Method: GETactionID - actionID мероприятияchild - если false - возвращает информацию по мероприятию по его идентификатору (actionID), если true - возвращает все дочерние мероприятия для текущегоlocale - локальpublic java.lang.String editPointers(java.lang.String items,
java.lang.String actionID,
java.lang.String locale)
Метод изменяет значения дополнительных полей у мероприятия
URL: rest/api/projects/edit_pointer Method: POSTlocale - локальitems - поляpublic java.lang.String getWorkLoads(java.lang.String locale)
Метод возвращает описание нагрузок в системе
URL: rest/api/projects/get_work_loads Method: GETlocale - локальpublic java.lang.String getAf(java.lang.String actionID,
java.lang.String type,
java.lang.String locale)
Метод используется для получения информации о дополнительных полях для проекта/портфеля
URL: rest/api/projects/get_af Method: GETactionID - асtionID мероприятия/проектаtype - тип. возможные значения: PORTFOLIO - портфель, PROJECT - проектlocale - локаль
{
"added": [
{
"name": "Номер итерации",
"afID": "e645ac3f-2707-420a-a1ef-3e5841b22d45",
"type": "NUMBER"
},
{
"name": "Вид поставки",
"afID": "0f93a545-e528-4fac-8f3d-47e607deff77",
"type": "DICTIONARY"
}
],
"not_added": [
{
"name": "Бюджет",
"afID": "de96d6f5-45d4-46ad-9cad-3bbd7d84a423",
"type": "NUMBER"
}
]
}
Первый массив added - доп. поля, которые уже добавлены к текущему проекту/мероприятию
Второй массив not_added - доп. поля, которые еще можно добавить к текущему проекту/мероприятию
Элемент массива:
name - имя доп. поля
afID type
Примечание: для портфелей нельзя добавить компонент с типом TEXT, соответственно он не будет возвращен.
Возможные ошибки:
1. Не существует справочника pm_custom_fields - "Справочник pm_custom_fields не найден"
2. Пустой справочник pm_custom_fields - "Не найдено элементов в справочнике"
3. Не передан параметр actionID, либо он пустой - "Не передан параметр actionID"
4. Не передан параметр type, либо он пустой - "Не передан параметр actionID"
5. Передан некорректный параметр type - "Некорректный параметр type"
6. Передан некорректный параметр actionID:
Для портфеля: Портфель с таким actionID не найден
Для проекта: Проект с таким actionID не найденpublic java.lang.String setAf(java.lang.String actionID,
java.util.List<java.lang.String> fieldID,
java.lang.String type,
java.lang.String locale)
Метод позволяет добавлять доп. поля проекта/портфеля
URL: rest/api/projects/add_af Method: POSTactionID - uuid проекта/мероприятияfieldID - uuid'ы доп. полей, которые необходимо добавить для проекта/мероприятияtype - тип (PORTFOLIO, PROJECT)locale - локаль
{
"added": [],
"not_added": [
{
"name": "Номер итерации",
"afID": "e645ac3f-2707-420a-a1ef-3e5841b22d45",
"type": "NUMBER"
},
{
"name": "Вид поставки",
"afID": "0f93a545-e528-4fac-8f3d-47e607deff77",
"type": "DICTIONARY"
},
{
"name": "Бюджет",
"afID": "de96d6f5-45d4-46ad-9cad-3bbd7d84a423",
"type": "NUMBER"
}
]
}
Пользователь решил добавить добавить 3 поля, параметры которые надо отправить на сервер будут выглядеть следующим образом:
actionID=1f45ac5d-5f7f-4a11-88ca-4a535b8e98d2
type=PORTFOLIO
fieldID=0f93a545-e528-4fac-8f3d-47e607deff77
fieldID=e645ac3f-2707-420a-a1ef-3e5841b22d45
fieldID=de96d6f5-45d4-46ad-9cad-3bbd7d84a423
При успешном выполнении метода сервер вернет:
{
"added": [
{
"name": "Вид поставки",
"afID": "0f93a545-e528-4fac-8f3d-47e607deff77",
"type": "DICTIONARY"
},
{
"name": "Номер итерации",
"afID": "e645ac3f-2707-420a-a1ef-3e5841b22d45",
"type": "NUMBER"
},
{
"name": "Бюджет",
"afID": "de96d6f5-45d4-46ad-9cad-3bbd7d84a423",
"type": "NUMBER"
}
],
"not_added": []
}
Можно поменять местами порядок полей, для этого надо передать uuid'ы в таком порядке, в каком нужно отображение. К примеру пользователь хочет, чтобы порядок был такой:
Бюджет
Номер итерации
Вид поставки
Соответственно на сервер надо передать следующие параметры:
actionID=1f45ac5d-5f7f-4a11-88ca-4a535b8e98d2
type=PORTFOLIO
fieldID=de96d6f5-45d4-46ad-9cad-3bbd7d84a423
fieldID=e645ac3f-2707-420a-a1ef-3e5841b22d45
fieldID=0f93a545-e528-4fac-8f3d-47e607deff77
Сервер вернет:
{
"added": [
{
"name": "Бюджет",
"afID": "de96d6f5-45d4-46ad-9cad-3bbd7d84a423",
"type": "NUMBER"
},
{
"name": "Номер итерации",
"afID": "e645ac3f-2707-420a-a1ef-3e5841b22d45",
"type": "NUMBER"
},
{
"name": "Вид поставки",
"afID": "0f93a545-e528-4fac-8f3d-47e607deff77",
"type": "DICTIONARY"
}
],
"not_added": []
}
Для проектов поведение метода аналогичное.
public java.lang.String removeAf(java.lang.String actionID,
java.util.List<java.lang.String> fieldID,
java.lang.String type,
java.lang.String locale)
Метод позволяет удалять доп. поля проекта/портфеля
URL: rest/api/projects/remove_af Method: POSTactionID - uuid проекта/мероприятияfieldID - uuid'ы доп. полей, которые необходимо удалить для проекта/мероприятияtype - тип (PORTFOLIO, PROJECT)locale - локаль
{
"added": [
{
"name": "Номер итерации",
"afID": "e645ac3f-2707-420a-a1ef-3e5841b22d45",
"type": "NUMBER"
},
{
"name": "Вид поставки",
"afID": "0f93a545-e528-4fac-8f3d-47e607deff77",
"type": "DICTIONARY"
},
{
"name": "Бюджет",
"afID": "de96d6f5-45d4-46ad-9cad-3bbd7d84a423",
"type": "NUMBER"
}
],
"not_added": []
}
Пользователь решил Удалить поле 2 и 3, параметры которые надо отправить на сервер будут выглядеть следующим образом:
actionID=1f45ac5d-5f7f-4a11-88ca-4a535b8e98d2
type=PORTFOLIO
fieldID=0f93a545-e528-4fac-8f3d-47e607deff77
fieldID=de96d6f5-45d4-46ad-9cad-3bbd7d84a423
При успешном выполнении метода сервер вернет:
{
"added": [
{
"name": "Номер итерации",
"afID": "e645ac3f-2707-420a-a1ef-3e5841b22d45",
"type": "NUMBER"
}
],
"not_added": [
{
"name": "Вид поставки",
"afID": "0f93a545-e528-4fac-8f3d-47e607deff77",
"type": "DICTIONARY"
},
{
"name": "Бюджет",
"afID": "de96d6f5-45d4-46ad-9cad-3bbd7d84a423",
"type": "NUMBER"
}
]
}
Для проектов поведение метода аналогичное.