Описание API: различия между версиями
(не показано 10 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | |||
=Опции спискового отображения= | =Опции спискового отображения= | ||
<pre> | <pre> | ||
Строка 248: | Строка 247: | ||
=Шаблоны расписаний= | =Шаблоны расписаний= | ||
− | [POST] /api/schedule/saveScheduleTemplateRecord | + | <pre>[POST] /api/schedule/saveScheduleTemplateRecord </pre> |
пример недельного шаблона расписания: | пример недельного шаблона расписания: | ||
+ | <pre> | ||
{ | { | ||
"id": -1, - идентификатор шаблона (-1 для создания нового) | "id": -1, - идентификатор шаблона (-1 для создания нового) | ||
Строка 257: | Строка 257: | ||
− | { "shiftId": 641, - идентификатор имени смены "start": "00.00:00:00", - время начала интервала (смещение от начала недели, т.е. от понедельника 00:00) "end": "00.04:10:00" - время окончания интервала // время начала и окончания интервала передается в разрезе дней. В случае если смена переходит из одного дня в другой, необходимо передать два интервала - для первого дня и для второго. // интервалы времени должны передаваться в хронологическом порядке. } | + | { "shiftId": 641, - идентификатор имени смены |
+ | "start": "00.00:00:00", - время начала интервала (смещение от начала недели, т.е. от понедельника 00:00) | ||
+ | "end": "00.04:10:00" - время окончания интервала // время начала и окончания интервала передается в разрезе дней. В случае если смена переходит из одного дня в другой, необходимо передать два интервала - для первого дня и для второго. // интервалы времени должны передаваться в хронологическом порядке. } | ||
, | , | ||
{ "shiftId": 642, "start": "00.04:10:00", "end": "00.09:20:00" }, | { "shiftId": 642, "start": "00.04:10:00", "end": "00.09:20:00" }, | ||
Строка 275: | Строка 277: | ||
] | ] | ||
} | } | ||
− | + | </pre> | |
− | |||
'''Отвязка структурной единицы от родительского расписания: | '''Отвязка структурной единицы от родительского расписания: | ||
<pre> | <pre> | ||
Строка 325: | Строка 326: | ||
} | } | ||
</pre> | </pre> | ||
− | + | ||
+ | Возвращаемая структура данных: | ||
+ | |||
<pre> [ | <pre> [ | ||
Строка 349: | Строка 352: | ||
где: userId - идентификатор пользователя | где: userId - идентификатор пользователя | ||
</pre> | </pre> | ||
− | + | тело: | |
<pre> | <pre> | ||
Строка 356: | Строка 359: | ||
'''Получение списка пользователей:''' | '''Получение списка пользователей:''' | ||
− | + | <pre> | |
− | + | [POST] api/security/userRecords | |
+ | тело: | ||
− | + | опции спискового отображения: | |
− | + | { | |
+ | |||
+ | "sort": null, | ||
+ | "requireTotalCount": true, | ||
+ | "searchOperation": "contains", | ||
+ | "searchValue": null, | ||
+ | "skip": 0, | ||
+ | "take": 20, } | ||
+ | </pre> | ||
Возращаемая структура данных: | Возращаемая структура данных: | ||
Строка 403: | Строка 415: | ||
"id": 2, - идентификатор | "id": 2, - идентификатор | ||
"displayName": "Операторы" - отображаемое наименование } </pre> | "displayName": "Операторы" - отображаемое наименование } </pre> | ||
+ | |||
=Работа с заданиями= | =Работа с заданиями= | ||
'''Получение списка заданий: | '''Получение списка заданий: | ||
Строка 591: | Строка 604: | ||
} | } | ||
</pre> | </pre> | ||
− | |||
'''Cоздание этапа версии технологии: | '''Cоздание этапа версии технологии: | ||
<pre> | <pre> | ||
Строка 873: | Строка 885: | ||
{typeId} - идентификатор соответствующего типа версии технологии или операции | {typeId} - идентификатор соответствующего типа версии технологии или операции | ||
в form прикрепляется тело файла </pre> | в form прикрепляется тело файла </pre> | ||
+ | =Работа с управляющими программами= | ||
+ | создание/редактирование в версию УП через метод: | ||
+ | <pre> | ||
+ | [POST] /api/ReferenceBook/setVersionOfControlProgramEdit | ||
+ | тело запроса: | ||
+ | |||
+ | { | ||
+ | "Id": 1, - идентификатор версии | ||
+ | "OwnerId": 2, - идентификатор УП | ||
+ | "VersionNumber": 3, - номер версии | ||
+ | "VersionStatus": 4, - статус версии (0-неактивна; 1-активна) | ||
+ | "VersionDescription": "string", - описание версии | ||
+ | "NumberOfProducts": 5, - количество выпуска | ||
+ | "FileName": "fileName", - имя файла | ||
+ | "FileFormat": 0, - формат файла (0-текст; 1-текст utf-8; 2-текст ascii; 3-текст win1-251; 4-текст cp866; 5-текст kio8r; 6-mazatrol; 7-текст utf-16; 8-текст utf-32; 9-dornier xml) | ||
+ | "LinkedParameterSets": [6, 7], - массив идентификаторов наборов параметров | ||
+ | "LinkedSubprograms": [ - список привязанных подпрограмм | ||
+ | { | ||
+ | "SubprogramId": 8, - идентификатор подпрограммы | ||
+ | "SubprogramName": "name", - имя подпрограммы | ||
+ | "LinkedParametersSets": [9, 10] - массив идентификаторов наборов параметров | ||
+ | } | ||
+ | ], | ||
+ | } | ||
+ | </pre> |
Текущая версия на 01:15, 17 ноября 2022
Содержание
Опции спискового отображения
{ "sort": [ { "selector": "name", "desc": false } ], "filter": [ [ "sortOrder", "=", 123 ], "and", [ [ [ "reasonCategory", "=", 1 ] ]
Параметры и их описание:
RequireTotalCount' - Возвращать ли общее количество записей, результат в зависимости от значения:
{ data: <массив данных>, totalCount: <число-общее количество записей>} или
Skip - сколько сначала записей пропустить (используется для постраничного вывода)
Take - сколько записей вернуть
Sort - параметры сортировки в виде массива:
SearchOperation - принимает значение "contains". на текущий момент другие значения параметра не поддерживаются. Используется совместно с SearchValue и SearchExpr для множественного поиска по вхождению строки в строку по одному или нескольким полям записи.
SearchValue - одно или несколько строковых значений для поиска, разделенных знаками пробела, например: "строка1" или "строка1 строка2 строка3"
SearchExpr - поле/поля, в которых будет производиться поиск строки/строк по вхождению:
"field" - одно поле ["field1", "field2", ...] - несколько полей
DataField - не используется
{selector: "category", - наименование поля для сортировки desc: false - порядок сортировки по возрастанию/убыванию }, - сортировка №1 {selector: "name", desc: false} - сортировка №2
Filter - фильтр записей в виде массива фильтров:
[ [ "name", - наименование поля фильтрации "contains", - операция фильтра: contains - содержит notcontains - не содержит startswith - начинается с endswith - заканчивается на = - равно <> - не рвано "программа" - значение фильтра ], "and", - тип соединения условий фильтра: and/or ["category", "startswith", "категория"]]
Справочники
№ | Справочник | Наименование справочника в API |
---|---|---|
1 | 3D-модели рабочих центров | ReferenceBookOfThreeDModel |
2 | Анализ циклов | ReferenceBookOfCycleAnalize |
3 | Бригады | ReferenceBookOfBrigade |
4 | Группы рабочих центров | ReferenceBookOfGroupOfWorkingCenters |
5 | Диапазоны значений | ValueRange |
6 | Должности | ReferenceBookOfPositions |
7 | Имена смен | ShiftName |
8 | Метатеги УП | ReferenceBookOfControlProgramTag |
9 | Недопроизводство | UnderproductionReason |
10 | Обработки | ReferenceBookOfControlProgramProcessingType |
11 | Отклонения | ReferenceBookReasonsOfOvertime |
12 | Приостановки/Пропуски | OperationRunSuspendReason |
13 | Простои | ReferenceBookReasonsOfDowntime |
15 | Типы изделий | ReferenceBookOfProductType |
16 | Типы причин простоя | ReferenceBookOfDowntimeReasonType |
17 | Типы программ | ReferenceBookOfControlProgramType |
18 | Шаблоны расписаний | ScheduleTemplate |
19 | Шаблоны сообщений | MessageTemplate |
Другие объекты системы:
№ | Наименование | Наименование справочника в API |
---|---|---|
1 | Изделия | (ReferenceBookOfProducts) |
2 | УП | (ReferenceBookOfControlPrograms) |
3 | Подпрограммы | (ReferenceBookOfSubprograms) |
4 | Группа тикета | (TicketGroup) |
5 | Источник тикета | (TicketSource) |
6 | Тип тикета | (TicketType) |
7 | Фильтр тикета | (TicketFilter) |
8 | Оповещение тикета | (TicketNotification) |
Работа со структурой предприятия
Получение информации о конкретном предприятии
api/dpaEnterpriseStrusture/getEnterprise/{id} api/ManageEnterpriseStructure/getEnterprise/{id}
Получение информации о конкретном цехе
api/dpaEnterpriseStrusture/getSite/{id} api/ManageEnterpriseStructure/getSite/{id}
Получение информации о конкретном подразделении
api/dpaEnterpriseStrusture/getDepartment/{id} api/ManageEnterpriseStructure/getDepartment/{id}>
Получение информации о конкретном рабочем центре
api/dpaEnterpriseStrusture/getEquipment/{id} api/ManageEnterpriseStructure/getEquipment/{id}
Создание предприятия
api/dpaEnterpriseStrusture/create api/ManageEnterpriseStructure/create POST { "name": "Предприятие", - наименование "description": "Описание строкой", - описание }
Cохранение информации о предприятии
api/dpaEnterpriseStrusture/saveEnterprise api/ManageEnterpriseStructure/saveEnterprise POST { "id": 348, - идентификатор "name": "Предприятие", - наименование "description": "Описание строкой", - описание // Настройки безопасности общие для всех структурных единиц: Предприятия/Цех/Подразделение/Рабочий центр - поэтому в остальных запросах описание пропущено "inherit": false, - признак наследуемости настроек безопасности (не используется для предприятия) "groupIds": [], - идентификаторы групп безопасности, которым будет доступен просмотр структурной единицы (в случае, если настройки не наследуются) "availableToAll": true, - признак доступности всем группам безопасности (в случае, если настройки не наследуются) }
Создание цеха
api/dpaEnterpriseStrusture/createSite api/ManageEnterpriseStructure/createSite POST { "name": "Цех №1", - наименование "description": "Описание строкой", - описание "enterpriseId": 123456 - идентификатор родительского предприятия }
Сохранение информации о цехе
api/dpaEnterpriseStrusture/saveSite api/ManageEnterpriseStructure/saveSite POST { "id": 21, - идентификатор "name": "Цех №1", - наименование "description": "Описание строкой", - описание "inherit": true, "groupIds": [], "availableToAll": false, }
Создание подразделения
api/dpaEnterpriseStrusture/createDepartment api/ManageEnterpriseStructure/createDepartment POST { "name": "Подразделение №1", - наименование "description": "Описание строкой", - описание "siteId": 123456 - идентификатор родительского цеха "ownerDepartmentId": 123456 - идентификатор родительского подразделения (не указывается если родителем является цех) }
Сохранение информации о подразделении
api/dpaEnterpriseStrusture/saveDepartment api/ManageEnterpriseStructure/saveDepartment POST { "id": 22, - идентификатор "name": "Подразделение Alpha", - наименование "description": "описание", - описание "threeDModelId": 50253885, - идентификатор привязанной 3D-модели подразделения "inherit": true, "groupIds": [], "availableToAll": false, }
Cоздание РЦ
api/dpaEnterpriseStrusture/createEquipment api/ManageEnterpriseStructure/createEquipment POST { "departmentId": 56539853, - идентификатор родительского подразделения "name": "Alpha 700-IST-1", - наименование "description": "описание", - описание "equipmentGroupIds": [], - идентификаторы групп РЦ, в которые входи РЦ "driverIdentifier": "68f6e95d-fa95-4dd6-a670-3f4181a693ab", - идентификатор драйвера, к которому привязан РЦ "serverId": 23, - идентификатор сервера DPA, к которому привязан РЦ }
Cохранение информации о РЦ
api/dpaEnterpriseStrusture/saveEquipment api/ManageEnterpriseStructure/saveEquipment POST { "id": 26, - идентификатор "name": "Alpha 700-IST-1", - наименование "model": "модель рабочего центра", - наименование модели "inventoryNumber": "ITX-111", - инвентарный номер "description": "", - описание "equipmentGroupIds": [], - идентификаторы групп РЦ, в которые входи РЦ "driverIdentifier": "68f6e95d-fa95-4dd6-a670-3f4181a693ab", - идентификатор драйвера, к которому привязан РЦ "serverId": 23, - идентификатор сервера DPA, к которому привязан РЦ "mainChannel": 0, - номер основного канала драйвера "channelInfoList": [ - информация о каналах драйвера { "channelNumber": 0, - номер канала "isUsedInSummaryState": true - учавствует ли канал в формировании состояния РЦ } , { "channelNumber": 1, "isUsedInSummaryState": false } ], "releaseCountingType": 0, - тип подсчета выпуска (0-по нормам УП; 1-по счётчику; 2-без выпуска) "counterIncrementType": 0, - тип инкрементации счетчика (0-инкрементация на разницу значений счетчика; 1-инкрементация на единицу) "releaseDiscreteness": 1, - дискретность выпуска по счётчику "normativeReleaseDiscreteness": 1, - дискретность выпуска по норме "releaseQualityMark": 0, - отметка качества(0-условно-годные; 1-годные; 2-брак) "masterMustComfirmIncompleteJobClose": true, - Мастер должен подтверждать закрытие задания с недопроизводством или перепроизводством "masterMustComfirmDisorderedJobStart": true, - Мастер должен подтверждать запуск задания не по порядку и пропуск задания "allowMultipleTasksSimultaneously": true, - разрешить запуск нескольких заданий одновременно "prohibitedJobStartWhenAnotherJobIsSuspended": false, - Запретить запуск задания, если другое задание стоит на паузе "allowMultiplePersonalShifts": true, - Разрешить открытие больше одной смены оператора одновременно "useMachineStatisticsOutput": true, - Использовать выпуск по по машинным данным "parseNcDataType": 1, - тип определения УП (0-отключено; 1-по имени УП; 2-по метатегам УП) "threeDModelId": 25, - идентификатор 3D-модели "inherit": false, "groupIds": [ 5 ], "availableToAll": false, }
Шаблоны расписаний
[POST] /api/schedule/saveScheduleTemplateRecord
пример недельного шаблона расписания:
{ "id": -1, - идентификатор шаблона (-1 для создания нового) "name": "наименование шаблона расписания", - наименование "templateType": 2, - тип шаблона (1-дневной; 2-недельный) "intervals": [ - коллекция интервалов, описывающих расписание { "shiftId": 641, - идентификатор имени смены "start": "00.00:00:00", - время начала интервала (смещение от начала недели, т.е. от понедельника 00:00) "end": "00.04:10:00" - время окончания интервала // время начала и окончания интервала передается в разрезе дней. В случае если смена переходит из одного дня в другой, необходимо передать два интервала - для первого дня и для второго. // интервалы времени должны передаваться в хронологическом порядке. } , { "shiftId": 642, "start": "00.04:10:00", "end": "00.09:20:00" }, { "shiftId": 641, "start": "00.09:20:00", "end": "01.00:00:00" }, { "shiftId": 641, "start": "01.00:00:00", "end": "01.07:30:00" }, { "shiftId": 643, "start": "01.07:30:00", "end": "01.13:40:00" }, { "shiftId": 641, "start": "01.13:40:00", "end": "02.00:00:00" }, { "shiftId": 641, "start": "02.00:00:00", "end": "02.04:30:00" }, { "shiftId": 644, "start": "02.04:30:00", "end": "02.11:50:00" }, { "shiftId": 641, "start": "02.11:50:00", "end": "02.14:20:00" }, { "shiftId": 53144555, "start": "02.14:20:00", "end": "02.21:10:00" }, { "shiftId": 641, "start": "02.21:10:00", "end": "03.00:00:00" }, { "shiftId": 641, "start": "03.00:00:00", "end": "04.00:00:00" }, { "shiftId": 641, "start": "04.00:00:00", "end": "05.00:00:00" }, { "shiftId": 641, "start": "05.00:00:00", "end": "06.00:00:00" }, { "shiftId": 641, "start": "06.00:00:00", "end": "07.00:00:00" } ] }
Отвязка структурной единицы от родительского расписания:
[POST] api/schedule/detachScheduleFromParent/{scheduleOwnerType}/{scheduleOwnerId} где: scheduleOwnerType - тип структурной единицы открепляемой от родительского расписания (1-РЦ; 2-подразделение; 3-цех; 5-предприятие) scheduleOwnerId - идентификатор структурной единицы
при отвязке от родительского расписания для структурной единицы содается собственное расписание и далее работа производится уже с ним
Приявязка структурной единицы к родительскому расписанию:
[POST] api/schedule/attachScheduleToParent/{scheduleOwnerType}/{scheduleOwnerId} где: scheduleOwnerType - тип структурной единицы прикрепляемой к родительскому расписанию (1-РЦ; 2-подразделение; 3-цех; 5-предприятие) scheduleOwnerId - идентификатор структурной единицы
при привязке к родительскому расписанию происходит удаление собственного расписания работы структурной единицы
Применения шаблона расписания к расписанию структурной единицы:
[POST] api/schedule/applyScheduleTemplateToSchedule/{scheduleOwnerType}/{scheduleOwnerId}/{scheduleTemplateId}
где:
scheduleOwnerType - тип структурной единицы (1-РЦ; 2-подразделение; 3-цех; 5-предприятие) scheduleOwnerId - идентификатор структурной единицы scheduleTemplateId - идентификатор шаблона расписания
тело метода:
{ "start": "2022-07-03T19:00:00.000Z", - начало периода, на который применяется шаблон расписания "end": "2022-07-10T19:00:00.000Z" - окончание периода, на который применяется шаблон расписания }
Получение информации по простоям
Журнал простоев
[POST] http://dpadev/api/journals/getJournalDatas/DowntimeReason Тело: { "dateTimeFrom": "2022-07-10T21:00:00.000Z", - время начала периода "dateTimeUntil": "2022-07-11T20:59:59.999Z", - время окончания периода "itemIds": [1, 2, 3], - список идентификаторов оборудования "gridOptions": { - опции спискового отображения (описание есть в вопрос №1) "requireTotalCount": true, "skip": 0, "take": 20, "sort": [ { "selector": "startDate", "desc": true } ] } }
Возвращаемая структура данных:
[ { "downtimeInfo": "Delta UQ-3", "startDate": "2022-07-11T08:13:49.1990938+00:00", - начало периода причины простоя "endDate": "2022-07-11T08:13:49.6935685+00:00", - окончание периода причины простоя "status": 2, - статус простоя (1-необработанный;2-обработанный) "reason": "Перерыв между сменами", - наименование причины простоя "timeStamp": "2022-07-11T11:13:52.477789+03:00", - время последней классификации периода простоя "operatorComment": null, - комментарий причины простоя "user": "Пользоватль 123", - имя пользователя классифицировашего период простоя "id": 356166430, - идентификатор периода причины простоя "createdOn": "2022-07-11T08:13:52.477789+03:00", - время создания периода причины простоя "createdBy": 1 - идентификатор пользователя создавшего период причины простоя } ]
Работа с пользователями
Добавление/удаление пользователей в/из группы
[POST] api/securityManagment/subjectInheritance/{userId} где: userId - идентификатор пользователя
тело:
{ "added": [1, 2, 3], - список идентификаторов добавляемых пользователю групп "removed": [4, 5, 6] - список идентификаторов удаляемых у пользователя групп }
Получение списка пользователей:
[POST] api/security/userRecords тело: опции спискового отображения: { "sort": null, "requireTotalCount": true, "searchOperation": "contains", "searchValue": null, "skip": 0, "take": 20, }
Возращаемая структура данных:
{ totalCount: 10, data:[ { "personnelNumber": "1378698466", - табельный номер "positionName": null, - наименование занимаемой должности "positionId": null, - идентификатор занимаемой должности "isSystemUser": false, - признак того, что пользователь системный "surname": "Виноградов", - фамилия "name": "Михаил", - имя "patronymic": "Сергеевич", - отчество "language": "ru-RU", - текущая локализация "blocked": false, - признак заблокированности "id": 2689, - идентификатор пользователя "displayName": "Виноградов М.С." - отображаемое имя }
Получение списка групп:
[POST] api/security/groupRecords { - опции спискового отображения "sort": null, "requireTotalCount": true, "searchOperation": "contains", "searchValue": null, "skip": 0, "take": 20, }
Возвращаемая структура данных:
{ totalCount: 30, data:[ { "name": "Операторы", - наименование "description": null, - описание "id": 2, - идентификатор "displayName": "Операторы" - отображаемое наименование }
Работа с заданиями
Получение списка заданий:
[POST] api/jobs/getJobDatas { "requireTotalCount": true, "skip": 0, "take": 20, "sort": [ { "selector": "startDate", "desc": true } ] }
Результат:
{ "id": 9347, - идентификатор "equipmentId": 899, - идентификатор оборудования, на которое запланировано задание "equipment": "WC2", - наименование оборудования, на которое запланировано задание "isMaintenance": true, - признак того, что задание является ТОиР "productionType": 5, - тип задания (1-производство, 2-Наладка, 3-Внедрение, 4-Производство с наладкой, 5-ТОиР) "order": null, - Название задания (в версии 5.7 не используется для ТОиР) "productName": null, - наименование производимого изделия (для заданий типа 1-4) "productVersion": null, - номер версии производимого изделия (для заданий типа 1-4) "plannedCount": null, - плановое количество (для заданий типа 1,3,4) "actualCount": null, - фактическое количество (для заданий типа 1,3,4) "rejectedCount": null, - количество брака (для заданий типа 1,3,4) "technologyVersion": null, - версия технологии, по которой производится изделие (для заданий типа 1-4) "stage": null, - наименование этапа технологии (для заданий типа 1-4) "plannedStart": "2022-07-19T12:20:00+05:00", - плановое время начала "plannedEnd": "2022-07-19T13:20:00+05:00", - плановое время окончания "actualStart": null, - фактическое время начала "actualEnd": null, - фактическое время окончания "status": 1, - первичный статус задания (0-создани, 1-запланировано, 2-начато, 3-завершено) "secondaryStatus": 0, - вторичный статус задания (0-нет, 1-пауза, 2-пропущено, 3- ---, 4-пропущено и скрыто) "isImported": false - признак того, что задание получено через импорт }
Создание задания на производство
[POST] api/jobs/createAndAssign { "order": "job/order name", - Название задания "lot": null, - партия(не используется) "productVersionId": 1424, - идентификатор версии производимого изделия (может не указываться) "technologyVersionId": 1455, - идентификатор версии технологии, по которой производится изделие (может не указываться) "technologyStageId": 1456, - идентификатор этапа технологии, по которому производится изделие (указываться совместно с technologyVersionId) "count": "111", - плановое количество "startDate": "2022-07-19T08:16:00.000Z", - плановое время начала (указывается совместно с временем окончания и оборудованием) "endDate": "2022-07-19T18:03:00.000Z", - плановое время окончания (указывается совместно с временем начала и оборудованием) "productionType": 1, - тип задания (1-производство, 2-Наладка, 3-Внедрение, 4-Производство с наладкой) "comment": "some comment here", - комментарий "equipmentId": 898 - идентификатор оборудования, на которое запланировано задание (указывается совместно с временем начала и окончания) }
Редактировоание задания на производство:
[POST] api/jobs/updateAndAssign/{идентификатор_задания} { "order": "job/order name", - Название задания "lot": null, - партия(не используется) "productVersionId": 1424, - идентификатор версии производимого изделия (может не указываться) "technologyVersionId": 1455, - идентификатор версии технологии, по которой производится изделие (может не указываться) "technologyStageId": 1456, - идентификатор этапа технологии, по которому производится изделие (указывается совместно с technologyVersionId) "count": "111", - плановое количество "startDate": "2022-07-19T08:16:00.000Z", - плановое время начала (указывается совместно с временем окончания и оборудованием) "endDate": "2022-07-19T18:03:00.000Z", - плановое время окончания (указывается совместно с временем начала и оборудованием) "productionType": 1, - тип задания (1-производство, 2-Наладка, 3-Внедрение, 4-Производство с наладкой) "comment": "some comment here", - комментарий "equipmentId": 898 - идентификатор оборудования, на которое запланировано задание (указывается совместно с временем начала и окончания) }
Создание и редактирование задания ТОиР:
[POST] api/jobs/saveMaintenanceJob { "id": 0, - идентификатор задания (0-при создании) "equipmentId": 899, - идентификатор оборудования, на которое запланировано задание "startTime": "2022-07-19T07:20:00.000Z", - плановое время начала "endTime": "2022-07-19T08:20:00.000Z", - плановое время окончания "type": 1, - тип ТОиР (1-плановый, 2-внеплановый, 3-авария) "cause": "reason", - причина(текст) "mode": 2, - всегда=2 "comment": "comment", - комментарий }
Работа с технологиями
Получение списка технологий
[POST] api/technology/getGridRecords { - опции спискового отображения "sort": null, "requireTotalCount": true, "searchOperation": "contains", "searchValue": null, "skip": 0, "take": 20 }
Результат:
{ "rootId": "1454_1455", - ключ "displayName": "Подшипник 58.6*10/C12 от 01.04.2021 #1", - наименование версии технологии "productVersionId": 1424, - идентификатор вкрсии изделия "productVersionName": "Подшипник 58.6*10/C12 #1", - наименование версии изделия "technology": { - технология "key": { "id": 1454, - идентификатор технологии "typeId": 326 - идентификатор типа объекта "технология" }, "id": 1454, - идентификатор технологии "name": "Подшипник 58.6*10/C12 от 01.04.2021", - наименование технологии "description": "", - описание "authorName": "SystemUserName", - имя пользователя, создавшего технологию "productVersionName": "Подшипник 58.6*10/C12 #1", }, "technologyVersion": { - версия технологии "key": { - ключ "id": 1455, - идентификатор версии технологии "typeId": 333 - идентификатор типа объекта "версия технология" }, "id": 1455, "name": "Подшипник 58.6*10/C12 от 01.04.2021 #1", - наименование версии технологии "description": null, - описание "authorName": "SystemUserName", - имя пользователя, создавшего версию технологии "lifeCycleState": 1, - состояние (0-новая, 1-действующая, 2-недействительная, 3-ожидает проверки, 4-редактируемая, 5-устаревшая) "stateChangeAuthorName": "SystemUserName", - имя пользователя, установившего состояние "activeFrom": "2021-04-01T05:00:00+05:00", - начало периода активности "activeTo": "2030-01-01T05:00:00+05:00", - окончание периода активности }, "displayAuthorName": "SystemUserName", - имя пользователя, создавшего версию технологии }
Создание технологий:
Для созданной технологии сразу создается версия технологии. Версия технологии в свою очередь заполняется демонстрационными данными (этап->операции).
[POST] api/technology/createTechnology { "name": "Technology Name", - наименование технологии "description": "description here", - описание "productVersionId": 1424 - идентификатор версии производимого изделия }
Результат: идентификатор технологии
Редактирование технологии:
[POST] api/technology/updateTechnology { "key": { - ключ "id": 9378, - идентификатор технологии "typeId": 326 - идентификатор типа объекта "технология" }, "description": "description here" - описание }
Результат: идентификатор технологии
Добавление версии технологии:
[POST] api/technology/createTechnologyVersion/{id},{typeId}
Результат:
{ - ключ "id": 9442, - идентификатор версии технологии "typeId": 333 - идентификатор типа объекта "версия технология" }
Редактирование версии технологии:
[POST] api/technology/updateTechnologyVersion { "key": { - ключ "id": 9442, "typeId": 333, }, "versionDescription": "description here", - описание "activeFrom": "2022-07-19T00:00:00+05:00", - начало периода активности "activeTo": "2072-07-19T00:00:00+05:00", - окончание периода активности "lifeCycleState": 0, - состояние (0-новая, 1-действующая, 2-недействительная, 3-ожидает проверки, 4-редактируемая, 5-устаревшая) }
Cоздание этапа версии технологии:
[POST] api/technology/createStage/{id},{typeId} // {id},{typeId} - идентификатор версии технологии и объекта "версия технологии" { "name": "stage name here" - наименование }
Редактирование этапа технологии:
[PUT] api/technology/updateStage тело: { "key": { - ключ этапа технологии "id": 9443, - идентификатор этапа технологии "typeId": 331 - идентификатор типа объекта "этап технологии" }, "name": "Stage name here", - наименование этапа "description": "description here" - описание }
Удаление этапа технологии:
[DELETE] api/technology/removeStage/{id},{typeId}
Получение списка привязанных к этапу РЦ/групп РЦ:
[GET] api/technology/getStageEquipments/{id},{typeId} {id},{typeId} - идентификатор этапа и объекта "этап"
Результат массив объектов, привязанных рабочих центров и групп рабочих центров, вида:
{ - для рабочего центра "department": "Предприятие\\Производственная площадка №1\\Подразделение №1", - подразделение "group": "", - наименование групп РЦ, в которые входит оборудование "key": { - ключ привязки РЦ "id": 9564, - идентификатор привязки РЦ к этапу технологии "typeId": 332 - идентификатор типа объекта "привязка РЦ к этапу технологии" }, "objectKey": { - ключ РЦ "id": 899, - идентификатор РЦ "typeId": 150 - идентификатор типа объекта "РЦ" }, "name": "WC2" - наименование РЦ }, { - для группы РЦ "equipments": [ - список РЦ входящих в группу { "department": "Предприятие\\Производственная площадка №1\\Подразделение №1", "group": "new group", "key": null, "objectKey": { "id": 898, "typeId": 150 }, "name": "WC1" }, { "department": "Предприятие\\Производственная площадка №1\\Подразделение №1", "group": "new group", "key": null, "objectKey": { "id": 899, "typeId": 150 }, "name": "WC2" } ], "key": { - ключ привязки РЦ/группы РЦ "id": 9602, "typeId": 332 }, "objectKey": { - ключ группы РЦ "id": 9601, "typeId": 255 }, "name": "new group" - наименование группы оборудования }
Добавление рабочего центра к этапу технологии:
[PUT] api/technology/addStageEquipment/{id},{typeId} {id},{typeId} - идентификатор этапа и объекта "этап"
тело: [898,899] - список идентификаторов РЦ результат аналогичен результату для получения списка привязанных к этапу РЦ/групп РЦ
Добавление группы рабочих центров к этапу технологии:
[PUT] /api/technology/addStageEquipmentGroup/{id},{typeId} {id},{typeId} - идентификатор этапа и объекта "этап"
тело: 9601 - идентификатор группы РЦ результат аналогичен результату для получения списка привязанных к этапу РЦ/групп РЦ
Удаление РЦ из этапа технологии:
[DELETE] api/technology/removeEquipmentFromStage/{id},{typeId} {id},{typeId} - идентификатор привязки РЦ/группы РЦ к этапу и объекта "привязка РЦ/группа РЦ к этапу" { - ключ привязки РЦ "id": 9563, - идентификатор привязки РЦ к этапу технологии "typeId": 332 - идентификатор типа объекта "привязка РЦ к этапу технологии" }
Добавление операции в этап технологии:
[POST] api/technology/addOperation/{id},{typeId} {id},{typeId} - идентификатор этапа и объекта "этап" { "name": "operation name here", - наименование операции "category": 0 - категория операции(0-инструкция/текст, 1-работа по УП, 2-контроль качества, 3-ввод данных) }
Результат:
{ "id": 9572, - идентификатор операции "key": { - ключ операции "id": 9572, - идентификатор операции "typeId": 336 - идентификатор типа объекта "технологическая операция" }, "name": "operation name here", - наименование операции "description": null, - описание "category": 0, - категория операции(0-инструкция/текст, 1-работа по УП, 2-контроль качества, 3-ввод данных) "type": 4, - тип операции (0-подготовка партии, 1-подготовка штуки, 2-основная, 3-завершение штука, 5-завершение партия) "typeString": "Завершающая - партия", - строковое представление типа операции "duration": "00:00:00", - длительность "durationSeconds": 0, - длительность в секундах "durationHumanized": "0 сек.", - текстовое представление длительности "order": 7, - порядковый номер операции в этапе "stageKey": { - ключ родительского этапа технологии "id": 9443, "typeId": 331 }, "inputFields": null, - поля ввода(для операции "ввод данных") "text": null - текст (для операции инструкция/текст) }
Редактирование операции:
[PUT] api/technology/updateOperation { "id": 9448, - идентификатор операции "key": { - ключ операции "id": 9448, "typeId": 336 }, "name": "operation name here", - наименование "description": "operation description here", - описание "category": 0, - категория(0-инструкция/текст, 1-работа по УП, 2-контроль качества, 3-ввод данных) "type": 3, - тип (0-подготовка партии, 1-подготовка штуки, 2-основная, 3-завершение штука, 5-завершение партия) "duration": "00:12:34", - длительность "stageKey": { - ключ этапа "id": 9443, "typeId": 331 }, "inputFields": [ - поля ввода для категории 3 { - поле ввода типа индикатор (значение берется из индикатора) "name": "measurement 1", - наименование "fromIndicator": true, - признак того, что значение из индикатора "editable": true, - признак возможности ручного редактирования "equipmentIndicators": [ - список привязки индикаторов для каждого РЦ этапа { "equipmentId": 8708, - идентификатор РЦ "indicatorId": 8749 - идентификатор индикатора } ] }, { - поле ввода (ручной ввод) "name": "measurement 2", - наименование "fromIndicator": false, - признак того, что значение из индикатора } ], "text": "some text here", - ткст для категории 0 }
результат аналогичен результату при добавлении операции
Назначение УП для РЦ по операции категории 1-работа по УП:
[POST] api/technology/setNcProgramForOperation/{id},{typeId}/{programVersionId} {id},{typeId} - идентификатор операции и объекта "технологическая операция" {programVersionId} - идентификатор версии УП [ - список ключей привязок РЦ/групп РЦ к этапу, на которые применяется выбранная УП { - ключ "id": 9626, "typeId": 332 }, { - ключ "id": 9569, "typeId": 332 } ]
Результат:
[ - список привязок РЦ/группа РЦ к версиям УП { "key": { - ключ привязки РЦ/группы РЦ к этапу "id": 9626, "typeId": 332 }, "equipmentId": null, - идентификатор оборудования (для РЦ) "isGroup": true, - признак того, что это группа РЦ "name": "new group", - наименование группы РЦ (для группы РЦ) "department": "", - подразделение (для РЦ) "group": "", - группы РЦ, в которые входит РЦ (для РЦ) "programKey": { - ключ версии УП "id": 1429, "typeId": 245 }, "programName": "Подшипник 58.6*10/C12", "versionNumber": 1, "equipments": [ { "department": "Предприятие\\Производственная площадка №1\\Подразделение №1", "group": "new group", "key": null, "objectKey": { "id": 898, "typeId": 150 }, "name": "WC1" }, { "department": "Предприятие\\Производственная площадка №1\\Подразделение №1", "group": "new group", "key": null, "objectKey": { "id": 899, "typeId": 150 }, "name": "WC2" } ] }, { "key": { "id": 9569, "typeId": 332 }, "equipmentId": 8708, "isGroup": false, "name": "MMC Emulator", "department": "Предприятие\\Производственная площадка №1\\Подразделение №1", "group": "group 2", "programKey": { "id": 1429, "typeId": 245 }, "programName": "Подшипник 58.6*10/C12", "versionNumber": 1, "equipments": null } ]
Cмена порядка операции в этапе:
[PUT] api/technology/reorderOperation/{id},{typeId} {id},{typeId} - идентификатор операции и объекта "технологическая операция" тело: 2 - новый порядковый номер операции в этапе
Удаление операции:
[DELETE] api/technology/removeOperation/{id},{typeId} {id},{typeId} - идентификатор операции и объекта "технологическая операция"
результат:
{ - ключ операции "id": 9448, "typeId": 336 }
Добавление медиа-файла к версии технологии/операции:
[POST] api/mediaFile/addFile/{id},{typeId} {id} - идентификатор версии технологии или операции {typeId} - идентификатор соответствующего типа версии технологии или операции в form прикрепляется тело файла
Работа с управляющими программами
создание/редактирование в версию УП через метод:
[POST] /api/ReferenceBook/setVersionOfControlProgramEdit тело запроса: { "Id": 1, - идентификатор версии "OwnerId": 2, - идентификатор УП "VersionNumber": 3, - номер версии "VersionStatus": 4, - статус версии (0-неактивна; 1-активна) "VersionDescription": "string", - описание версии "NumberOfProducts": 5, - количество выпуска "FileName": "fileName", - имя файла "FileFormat": 0, - формат файла (0-текст; 1-текст utf-8; 2-текст ascii; 3-текст win1-251; 4-текст cp866; 5-текст kio8r; 6-mazatrol; 7-текст utf-16; 8-текст utf-32; 9-dornier xml) "LinkedParameterSets": [6, 7], - массив идентификаторов наборов параметров "LinkedSubprograms": [ - список привязанных подпрограмм { "SubprogramId": 8, - идентификатор подпрограммы "SubprogramName": "name", - имя подпрограммы "LinkedParametersSets": [9, 10] - массив идентификаторов наборов параметров } ], }