Наполнение справочников: различия между версиями

Материал из DPA
Перейти к навигации Перейти к поиску
(Полностью удалено содержимое страницы)
Метка: очистка
 
(не показано 78 промежуточных версий этого же участника)
Строка 1: Строка 1:
  
=Справочники=
 
{| class="wikitable"
 
|-
 
!№ !! Справочник!! Наименование справочника в 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
 
|}
 
=Другие метаданные=
 
{| class="wikitable"
 
|-
 
!№ !!Наименование!!Наименование справочника в API
 
|-
 
|1||Изделия||(ReferenceBookOfProducts)
 
|-
 
|2||УП||(ReferenceBookOfControlPrograms)
 
|-
 
|3||Подпрограммы||(ReferenceBookOfSubprograms)
 
|-
 
|4||Группа тикета||(TicketGroup)
 
|-
 
|5||Источник тикета||(TicketSource)
 
|-
 
|6||Тип тикета||(TicketType)
 
|-
 
|7||Фильтр тикета||(TicketFilter)
 
|-
 
||8||Оповещение тикета||(TicketNotification)
 
|}
 
=Работа со структурой предприятия=
 
#получение информации о конкретном предприятии  <pre> api/dpaEnterpriseStrusture/getEnterprise/{id}    api/ManageEnterpriseStructure/getEnterprise/{id} </pre>
 
#получение информации о конкретном цехе  <pre>  api/dpaEnterpriseStrusture/getSite/{id}    api/ManageEnterpriseStructure/getSite/{id}</pre>
 
#получение информации о конкретном подразделении  <pre> api/dpaEnterpriseStrusture/getDepartment/{id}    api/ManageEnterpriseStructure/getDepartment/{id}</pre>
 
#получение информации о конкретном рабочем центре  <pre> api/dpaEnterpriseStrusture/getEquipment/{id}    api/ManageEnterpriseStructure/getEquipment/{id}</pre>
 
#создание предприятия  <pre> api/dpaEnterpriseStrusture/create    api/ManageEnterpriseStructure/create </pre>
 
  <pre>  POST
 
 
{        "name": "Предприятие", - наименование        "description": "Описание строкой", - описание    } </pre>
 
#сохранение информации о предприятии    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,    }
 
   
 
  создание РЦ    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, к которому привязан РЦ    }
 
   
 
  сохранение информации о РЦ    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
 
        тело:
 
     
 
 
{ - опции спискового отображения (описание есть в вопрос №1)            "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": "Виноградов М.С." - отображаемое имя                }
 
,
 
             
 
 
{                    "personnelNumber": "2085996177",                    "positionName": null,                    "positionId": null,                    "isSystemUser": false,                    "surname": "Gray1",                    "name": "User1",                    "patronymic": "User's son1",                    "language": "ru-RU",                    "blocked": false,                    "id": 50225409,                    "displayName": "user1"                }
 
            ]
 
        }
 
   
 
    Получение списка групп:
 
        [POST] api/security/groupRecords
 
        тело:
 
     
 
 
{ - опции спискового отображения (описание есть в вопрос №1)            "sort": null,            "requireTotalCount": true,            "searchOperation": "contains",            "searchValue": null,            "skip": 0,            "take": 20,        }
 
       
 
        Возращаемая структура данных:
 
        {
 
            totalCount: 30,
 
            data:[
 
             
 
 
{                    "name": "Операторы", - наименование                    "description": null, - описание                    "id": 2, - идентификатор                    "displayName": "Операторы" - отображаемое наименование                }
 
,
 
             
 
 
{                    "name": "Технологи",                    "description": null,                    "id": 3,                    "displayName": "Технологи"                }
 
            ]
 
        }
 

Текущая версия на 00:45, 17 ноября 2022