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

Материал из DPA
Перейти к навигации Перейти к поиску
Строка 63: Строка 63:
 
|}
 
|}
 
=Работа со структурой предприятия=
 
=Работа со структурой предприятия=
==получение информации о конкретном предприятии==   
+
'''получение информации о конкретном предприятии==   
 
<pre> api/dpaEnterpriseStrusture/getEnterprise/{id}    api/ManageEnterpriseStructure/getEnterprise/{id} </pre>
 
<pre> api/dpaEnterpriseStrusture/getEnterprise/{id}    api/ManageEnterpriseStructure/getEnterprise/{id} </pre>
 
#получение информации о конкретном цехе   
 
#получение информации о конкретном цехе   

Версия 00:49, 16 ноября 2022

Справочники

Справочник Наименование справочника в 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} 
  1. получение информации о конкретном цехе
      api/dpaEnterpriseStrusture/getSite/{id}    api/ManageEnterpriseStructure/getSite/{id}
  2. получение информации о конкретном подразделении
     api/dpaEnterpriseStrusture/getDepartment/{id}    api/ManageEnterpriseStructure/getDepartment/{id}
  3. получение информации о конкретном рабочем центре
     api/dpaEnterpriseStrusture/getEquipment/{id}    api/ManageEnterpriseStructure/getEquipment/{id}
  4. создание предприятия
     api/dpaEnterpriseStrusture/create    api/ManageEnterpriseStructure/create 
    POST {         "name": "Предприятие", - наименование         "description": "Описание строкой", - описание     } 
  5. сохранение информации о предприятии
     api/dpaEnterpriseStrusture/saveEnterprise    api/ManageEnterpriseStructure/saveEnterprise 
    POST {         "id": 348, - идентификатор         "name": "Предприятие", - наименование         "description": "Описание строкой", - описание                  // Настройки безопасности общие для всех структурных единиц: Предприятия/Цех/Подразделение/Рабочий центр - поэтому в остальных запросах описание пропущено         "inherit": false, - признак наследуемости настроек безопасности (не используется для предприятия)         "groupIds": [], - идентификаторы групп безопасности, которым будет доступен просмотр структурной единицы (в случае, если настройки не наследуются)         "availableToAll": true, - признак доступности всем группам безопасности (в случае, если настройки не наследуются)     } 
  6. Создание цеха
       api/dpaEnterpriseStrusture/createSite    api/ManageEnterpriseStructure/createSite 
 
POST {         "name": "Цех №1", - наименование         "description": "Описание строкой", - описание         "enterpriseId": 123456 - идентификатор родительского предприятия     } 
  1. сохранение информации о цехе
    api/dpaEnterpriseStrusture/saveSite    api/ManageEnterpriseStructure/saveSite 
        POST {         "id": 21, - идентификатор         "name": "Цех №1", - наименование         "description": "Описание строкой", - описание                  "inherit": true,         "groupIds": [],         "availableToAll": false,         }
  2. создание подразделения
     api/dpaEnterpriseStrusture/createDepartment    api/ManageEnterpriseStructure/createDepartment 
        POST {         "name": "Подразделение №1", - наименование         "description": "Описание строкой", - описание         "siteId": 123456 - идентификатор родительского цеха         "ownerDepartmentId": 123456 - идентификатор родительского подразделения (не указывается если родителем является цех)     } 
  3. сохранение информации о подразделении
     api/dpaEnterpriseStrusture/saveDepartment    api/ManageEnterpriseStructure/saveDepartment
    <pre>POST { "id": 22, - идентификатор "name": "Подразделение Alpha", - наименование "description": "описание", - описание "threeDModelId": 50253885, - идентификатор привязанной 3D-модели подразделения "inherit": true, "groupIds": [], "availableToAll": false, }
  4. создание РЦ
     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, к которому привязан РЦ     } 
  5. сохранение информации о РЦ
     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,
   }
  1. -
    -

Шаблоны расписаний

[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": "Технологи" }

           ]
       }