Таблица 1. Модель данных иерархической структуры работ
Поле | Тип | Описание |
---|---|---|
id | UUID v4 | Уникальный идентификатор ИСР |
parentId | UUID v4 | Уникальный идентификатор родительского узла |
code | string | Идентификатор работы |
type | string | Тип узла |
level | integer | Уровень вложенности узла |
indexNumber | integer | Индексный номер узла |
sortOrder | integer | Порядок сортировки узла |
values | Number | Идентификатор атрибута ИСР со значением |
criticalPath | boolean | Идентификатор критического пути узла |
materialPath | string | Путь материала узла |
curatorAccepted | boolean | Куратор принял маркер для узла |
Таблица 2. Типы записей в ИСР
Тип | Описание |
---|---|
work | Узел ИСР (Узел ИСР) – элемент структуры (суммарная задача), которая может содержать дочерние элементы (работы, вехи, драфты, узлы ИСР), определяющая иерархию и структуру графика. Старт, финиш, календарная длительность, прогресс определяется статусом, длительностью и последовательностью выполнения дочерних элементов. |
task | Работа - задача (операция), выполняемая в течение определенного времени, т.е. имеющая рабочую и календарную длительность выполнения, старт и финиш в качестве обязательных атрибутов. Прогресс работы может быть от 0 до 100, работа может принимать статусы «Не начата», «Выполняется», «Завершена». |
milestone_start | Веха старта – задача (операция), обладающая обязательным атрибутом старт (и не имеющая значение атрибута финиш), не имеющая рабочей и календарной длительности, означающая событие, предшествующее выполнению последующих работ или этапов. Прогресс вехи старта может быть 0 или 100, веха старта может принимать статусы «Не начата» и «Завершена». |
milestone_finish | Веха финиша – задача (операция), обладающая обязательным атрибутом финиш (и не имеющая значение атрибута старт), не имеющая рабочей и календарной длительности, означающая событие, завершающее выполнение предшествующих работ или этапов. Прогресс вехи старта может быть 0 или 100, веха старта может принимать статусы «Не начата» и «Завершена». |
draft | Драфт – задача (операция), не имеющая значений атрибутов старт и финиш. Атрибуты рабочей и календарной длительности могут быть как заполнены, так и отсутствовать для работы с данным типом. Драфт является «черновиком» работы, для которой пока не определены сроки ее выполнения. Прогресс драфта может быть только равен 0, возможный статус – «Не начата». |
sum | Суммарная работа – тип работ, предназначенный для объединения нескольких работ в одном или нескольких графиках. Суммарная задача может быть использована для представления графика 2 уровня, упрощения управления работами или для агрегации данных. |
Примеры использования
Получить список работ версии графика.
curl -X 'GET' \
'https://your-org.domain/public-api/wbs?epsId=bc1da5df-d644-461a-aa54-e60182195898' \
-H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad'
Создать новую работу в версии графика.
curl -X 'POST' \
'https://your-org.domain/public-api/wbs' \
-H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
-H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \
-d '{
"epsId": "bc1da5df-d644-461a-aa54-e60182195898",
"parentId": "2b73a1f8-833f-488c-9947-7fc1a4b76314",
"type": "task",
"name": "Заливка бетона"
}'
Изменить существующую работу.
curl -X 'PUT' \
'https://your-org.domain/public-api/wbs/be69f9e6-5e81-4aec-959f-516bceb6e8b8' \
-H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
-H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \
-d '{
"name": "Заливка бетона"
}'
Удалить запись из версии графика.
curl -X 'DELETE' \
'https://your-org.domain/public-api/wbs/be69f9e6-5e81-4aec-959f-516bceb6e8b8' \
-H 'accept: */*' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad'
Таблица 3. Модель данных атрибута иерархической структуры работ
Поле | Тип | Описание |
---|---|---|
id | UUID v4 | Уникальный идентификатор атрибута |
epsId | UUID v4 | Идентификатор узла СПП |
label | string | Заголовок атрибута |
type | string | Тип атрибута |
directoryId | UUID v4 | Идентификатор справочника |
directoryAttributeId | UUID v4 | Идентификатор атрибута в справочнике |
Таблица 4. Типы атрибутов ИСР
Тип | Описание |
---|---|
date | Дата в формате timestamp |
number | Число в формате float |
string | Строка |
money | Число в формате float |
boolean | Логический в формате 1 или 0 |
percentage | Процент |
indicator | Индикатор |
through | Сквозной |
Примеры использования
Получить список атрибутов работ для указанного узла СПП.
curl -X 'GET' \
'https://your-org.domain/public-api/wbs-attributes?epsId=5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
-H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
-H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true'
Получить список атрибутов работ типа date для указанного узла СПП с помощью протокола OData.
curl -X 'GET' \
''https://your-org.domain/public-api/eps?filter=type eq 'date''' \
-H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
-H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true'
Создать новый атрибут.
curl -X 'POST' \
'https://your-org.domain/public-api/wbs-attributes' \
-H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
-H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \
-d '{
"epsId": "5db13376-ba5c-4fd5-ba7f-dc56347956ad",
"label": "Дата выпуска документации",
"type": "date",
}'
Изменить наименование существующего атрибута.
curl -X 'PUT' \
'https://your-org.domain/public-api/wbs-attributes/3fa85f64-5717-4562-b3fc-2c963f66afa6' \
-H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
-H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \
-d '{
"label": "Дата выпуска документации",
}'
Удалить существующий пользовательский атрибут.
curl -X 'DELETE' \
'https://your-org.domain/public-api/wbs-attributes/3fa85f64-5717-4562-b3fc-2c963f66afa6' \
-H 'accept: */*' \
-H 'x-version: 409' \
-H 'Authorization: your-api-key' \
-H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad'