Автоматизация и использование скриптов в ArcGIS Workforce
Это дополнительный раздел, предназначенный для администраторов и владельцев проекта, которые работают непосредственно с векторными слоями, через ArcGIS API for Python или ArcGIS REST API .
Примечание:Классические проекты имеют другую схему, отличающуюся от описанной ниже. Информация об автоматизации и использовании скриптов в Классических проектах Workforce см. Автоматизация и использование скриптов в Workforce (Классический). Для переноса Классических проектов в новую схему, см. раздел Перенос Классических проектов.
Дополнительные сведения можно найти в разделе Что такое Классический проект.
ArcGIS Workforce позволяет вам планировать свои рабочие процессы, касающиеся всех видов полевых работ, управлять этими процессами и выполнять их. Приложение интегрируется в вашу организацию ArcGIS как веб-приложение. Оно предназначено для создания распределения назначений, которые открываются в мобильном приложении для выполнения мобильными сотрудниками. После того, как владелец проекта создаст и настроит проект Workforce , диспетчеры смогут работать с веб-приложением Workforce для создания и распределения назначений, а мобильные работники будут иметь возможность просматривать и выполнять назначения, направленные им посредством Workforce и других приложения ArcGIS на своих мобильных устройствах. Весь рабочий процесс управляется проектом Workforce , который представлен набором векторных слоев и карт.
Веб-приложение Workforce позволяет диспетчерам быстро и эффективно создавать новые назначения и управлять существующими. Однако могут быть опции, которых в веб-приложении нет, но вы хотели бы применить их к своим заданиям. Например, некоторые из самых популярных запросов, получаемых Workforce , относятся к интеграции с другими системами, например, сторонними системами управления порядком работ, активов или технической поддержки, а также к обработке повторяющихся назначений.
Использование скриптов и автоматизации для Workforce позволяет это сделать уже сейчас. Создание новых назначений не ограничивается возможностями веб-приложения. Workforce работает с ресурсами слоя объектов Назначений, независимо от того, как были созданы эти записи. Работа может выполняться и в других системах организации, например, в системе управления активами или технического обслуживания или в системе 311. Workforce можно интегрировать с внешними источниками для создания и обновления назначений. У слоя Назначений есть поле workOrderId , которое может выступать внешним ключом, сохраняя уникальные идентификаторы, ссылающиеся на внешнюю систему. Поле workOrderId доступно в подробной информации о назначении в качестве идентификатора ID – диспетчеры могут задавать, а мобильные сотрудники – просматривать его.
Перед началом использования скриптов убедитесь, что вы точно понимаете схему проекта Workforce и то, как работают поля даты и времени статуса назначения. Хотя рекомендуется использовать ArcGIS API for Python , также можно автоматизировать Workforce с помощью ArcGIS REST API для векторных слоев.
Обзор схемы
Проект Workforce состоит из двух векторных слоев, трех таблиц и трех доменов кодированных значений в одном сервисе объектов. В момент создания проекта Workforce автоматически генерируется сервис объектов с папкой, группой, диспетчером и веб-картами сотрудников. Сервис объектов соотносится с двумя веб-картами на уровне элемента и использует заданную схему, показанную ниже.
Примечание:Имена некоторых полей в ArcGIS Enterprise различны. Вместо OBJECTID , GlobalID , CreationDate , Creator , EditDate и Editor они называются objectid , globalid , created_date , created_user , last_edited_date и last_edited_user , соответственно.
Workforce сервис объектовСервис объектов Workforce содержит следующие слои и таблицы:
- Слой Workers
- Точечный слой, содержащий запись для каждого включенного в проект мобильного сотрудника.
- Содержит информацию о мобильном сотруднике, в том числе его контактный номер и название назначения.
- Имя пользователя мобильного сотрудника в организации ArcGIS хранится в поле userid .
- В слое отслеживается, кто создал и кто последним изменял данные каждого мобильного сотрудника.
- Это первичное отношение внешнего ключа (PK-FK) GlobalID к Assignments.workerid . Используя значение GlobalID из слоя Workers как значение поля Assignments.workerid , можно связать мобильных сотрудников с их назначениями.
- У слоя есть следующие связи с доменом кодированных значений:
- Поле status связано с доменом кодированных значений Worker_Status для отслеживания статуса мобильных сотрудников.
- Точечный слой, содержащий запись для каждого назначения.
- Содержит информацию о назначении, в том числе его статус, местоположение и описание.
- В слое отслеживается, кто создал и кто последним изменял каждое назначение.
- Для векторного слоя включены вложения.
- Слой содержит внешние ключи для некоторых полей, связывающие значения этого слоя с другим:
- Assignments.workerid к Workers.GlobalID .
- Assignments.dispatcherid к Dispatchers.GlobalID .
- Assignments.workorderid можно использовать в качестве внешнего ключа к внешней системе, например, к системе управления активами, задав значения из другой системы.
- Это отношение PK-FK GlobalID к Assignment.assignmenttype . Используя значение GlobalID из слоя Assignments как значение поля Assignments.assignmenttype , можно связать назначение с его типом.
- Поле status связано с доменом кодированных значений Assign_Status для отслеживания статуса мобильных сотрудников.
- Поле priority связано с доменом кодированных значений Priority для управления приоритетом распределения заданий.
Если назначение имеет значение null для своей геометрии, оно не появится в Workforce .
- Таблица, содержащий запись для каждого диспетчера проекта.
- Содержит информацию о диспетчере, в том числе его имя и контактный номер.
- Имя пользователя диспетчера в организации ArcGIS хранится в поле userid .
- В слое отслеживается, кто создал и кто последним изменял каждого диспетчера.
- Это отношение PK-FK GlobalID к Assignments.dispatcherid . Использование значения GlobalID из таблицы Dispatchers как значение поля Assignments.dispatcherid связывает диспетчера со всеми присвоенными ему назначениями.
- Таблица, содержащий запись для каждого типа назначения в проекте.
- Эта таблица в момент создания проекта пуста. Значения появляются в нем после добавления типов назначений при настройке проекта.
- Оно включает описание типов назначений, заданные владельцем проекта при добавлении типов назначений.
- Это отношение PK-FK GlobalID к Assignments.assignmenttype . Использование значения поля GlobalID из таблицы Assignment Types связывает тип назначения с назначениями.
- Таблица, содержащий запись для каждой интеграции назначения в проекте.
- Эта таблица содержит запись для интеграции с ArcGIS Navigator при создании.
- Таблица Assignment Integrations содержит следующие задаваемые пользователем атрибуты, помимо стандартных системных атрибутов:
- app — идентификатор интегрированного приложения, который помогает найти интеграции, необходимые для внесения настроенной рабочей среды в веб-приложение. Например arcgis-collector или https://collector.arcgis.app .
- assignmenttype — GlobalID типа назначения, если интеграция должна отображаться только для определенных типов назначений. Значение null показывает, что интеграция поддерживает все типы назначений в проекте.
- prompt — запрос, отображающийся в мобильном клиенте. Например, Перейдите к назначению.
- urltemplate — URL шаблона, которые используется для вызова интегрированного приложения.
Есть три следующих домена кодированных значений:
- Assign_Status — хранит семь допустимых значений статуса назначения. Значения 0-20 зарезервированы для будущего использования в Workforce . Пользователи, которые хранят свои собственные значения в этом поле, должны выбирать значения вне пределов диапазона.
- Priority — Хранит четыре допустимых значения для приоритета назначения.
- Worker_Status — Хранит три допустимых значения статуса мобильного сотрудника.
Чтобы узнать значения доменов кодированных значений, см. диаграмму схемы Workforce .
Отношения элементов веб-картыОтношения элементов между сервисом объектов Workforce , сотрудником и диспетчером имеет следующее определение:
- Тип отношения - WorkforceMap2FeatureService
- Исходный тип - веб-карта
- Тип назначения - сервис объектов
- Правила
- mustOwnAllItems — владелец проекта создает отношение, ему должна принадлежать связанная карта.
- title — заголовок проекта.
- snippet — краткое описание проекта.
- thumbnail —эскиз проекта.
- typeKeywords — Workforce Worker добавляется на карту сотрудника, а Workforce Dispatcher добавляется на карту диспетчера.
Поля даты и времени статуса назначения
У статуса каждого задания, определяемого в домене Assign_Status , есть соответствующее поле даты и времени в векторном слое назначений. В этих полях содержится дата и время, в которые назначение было в соответствующем состоянии. Когда статус в первый раз используется для конкретного назначения, заполняется соответствующее поле даты и времени. Если впоследствии у назначения будет снова тот же статус, поле даты и времени обновляется с новым значением даты и времени. Например, при первом указании исполнителя для назначения дата назначения соответствует текущим дате и времени. Если оно будет переназначено через три часа, поле assignedDate обновится до нового времени, а время исходного назначения будет удалено.
Если поля inprogressdate , declineddate или pauseddate заполняются при переназначении, задается null .