Краткая информация
Объект Job предоставляет доступ к свойствам и методам для работы с заданием Workflow Manager.
Обсуждение
Задание представляет собой единицу работы, которая выполняется в рамках организации. Над ней могут работать один человек или несколько людей. Задание может работать с отдельным набором данных, несколькими наборами данных или вообще без данных. Задание создается на основе шаблона, известного как Тип задания (Job Type), который настроен с нужными свойствами и компонентами (такими, как Рабочий процесс и Карты), которые будут использоваться в задании.
Свойства
| Свойство | Объяснение | Тип данных |
| assignedTo (чтение и запись) | Имя пользователя или группы, которым назначено это задание. | String |
| assignedType (чтение и запись) | Тип назначения для данного задания. Ниже приведен список допустимых строк, используемых при установке назначения задания. Если используется некорректная строка, то задание останется по умолчанию неназначенным.
| String |
| createdBy (чтение и запись) | Имя пользователя, создавшего задание. | String |
| createdDate (только чтение) | Возвращает дату создания задания. | DateTime |
| currentSteps (только чтение) | Возвращает список идентификаторов шагов, определяющих активные шаги данного рабочего процесса. | List |
| description (чтение и запись) | Описание задания. | String |
| dueDate (чтение и запись) | Дата запланированного завершения задания. | DateTime |
| endDate (только чтение) | Возвращает дату завершения задания. | DateTime |
| hasAOI (только чтение) | Возвращает True, когда у задания есть определенная область интереса. | Boolean |
| id (только чтение) | Возвращает ID задания. | Integer |
| jobTypeID (только чтение) | Получает идентификатор ID типа задания для этого задания. | Integer |
| name (чтение и запись) | Имя задания. | String |
| owner (чтение и запись) | Имя пользователя, которому принадлежит задание. | String |
| parent (чтение и запись) | Получает идентификатор ID родительского задания для текущего задания. | Integer |
| parentVersion (чтение и запись) | Имя владельца родительской версии задания. | String |
| percentComplete (только чтение) | Возвращает процент выполнения задания. | Double |
| priority (чтение и запись) | Приоритет задания. | Integer |
| startDate (чтение и запись) | Дата запланированного начала выполнения задания. | DateTime |
| startedDate (только чтение) | Возвращает дату начала выполнения задания. | DateTime |
| status (чтение и запись) | Имя статуса для задания. Доступными статусами являются те, которые определены в качестве типов статусов в базе данных Workflow Manager. | String |
| versionExists (только чтение) | Возвращает True, когда для задания существует версия. | Boolean |
| versionName (чтение и запись) | Имя версии для задания. | String |
Обзор метода
| Метод | Объяснение |
| getPendingDays (consider_hold) | Возвращает количество оставшихся дней для задания. Может также дополнительно рассматривать удержания и вычитать их из количества оставшихся дней для задания. |
| save () | Сохраняет любые изменения, сделанные в задании, обратно в базу данных Workflow Manager. |
| setAOI (aoi) | Устанавливает полигон области интереса (ОИ) для задания. |
| setDataWorkspace (data_workspace_id) | Устанавливает рабочую область данных для задания. |
Методы
getPendingDays (consider_hold)
| Параметр | Объяснение | Тип данных |
consider_hold | Отметка для определения, учитывать ли удержания при вычислении количества оставшихся дней. | Boolean |
Возвращено значение
| Тип данных | Объяснение |
| Integer | Возвращает количество оставшихся дней для задания. |
Оставшиеся дни относятся к количеству дней, которые задание выполняется, либо количеству дней, оставшихся для задания, прежде чем оно будет завершено. В качестве даты начала выполнения для вычисления используется либо Дата начала (Start Date), если она была задана, либо Дата создания (Created Date), в противном случае. В качестве даты завершения вычисления используется либо текущая дата, либо Дата завершения (End Date), если задание закрыто.
Следующий скрипт возвращает количество оставшихся дней, как учитывая, так и не учитывая удержания при вычислении.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Access a Workflow Job
job = conn.getJob(99999)
#Get pending days for job while considering days on hold
pendingwithholds = job.getPendingDays(True)
print "The number of days pending for job when considering days on hold: " + str(pendingwithholds)
#Get pending days for job while ignoring days on hold
pendingwithoutholds = job.getPendingDays(False)
print "The number of days pending for job when ignoring days on hold: " + str(pendingwithholds)
save ()
Следующий скрипт сохраняет обновленное назначение задания.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Access a Workflow Job
job = conn.getJob(99999)
# Update and save the job assignment
job.assignedTo = 'user0000'
job.save()
setAOI (aoi)
| Параметр | Объяснение | Тип данных |
aoi | Полигон ОИ, который будет присвоен заданию | Geometry |
Определяет область интереса для задания. Чтобы получить полигон области интереса для задания, используйте инструмент Получить область интереса (AOI) задания.
Следующий скрипт определяет геометрию полигона и устанавливает ее в качестве области интереса для задания.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Access a Workflow Job
job = conn.getJob(99999)
# Create polygon geometry
coordList = [[-105.0, 39.0], [-100.0, 39.0], [-100.0, 35.0], [-105.0, 35.0]]
array = arcpy.Array([arcpy.Point(x, y) for x, y in coordList])
aoi = arcpy.Polygon(array)
#Set the job's Area of interest to the polygon geometry
job.setAOI(aoi)
job.save()
setDataWorkspace (data_workspace_id)
| Параметр | Объяснение | Тип данных |
data_workspace_id | GUID той рабочей области данных задания, которую необходимо сделать активной. | String |
Установить рабочую область данных для задания. Чтобы получить рабочую область данных для задания, используйте инструмент Получить рабочую область данных задания.
Следующий скрипт устанавливает рабочую область данных для задания.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
#Access a Workflow Job
job = connect.getjob(99999)
#Set the job's data workspace to a workspace GUID
job.setDataWorkspace("{7887F5C8-CACD-4ADD-88E9-8B37E25C7FF6}")
Пример кода
Следующий скрипт обновляет назначение заданий и проверяет, что версия пространственных данных существует, используя свойства задания.
import arcpy
import arcpywmx
#Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\sample\Workflow.jtc')
#Access a Workflow Job
job = conn.getJob(99999)
# Update the job assignment
job.assignedTo = 'user0000'
job.assignedType = 'user'
job.save()
# Reload the job
job = job.conn.getJob(99999)
#Check a version exists for the job and get the version name
if job.version == True:
jobversion = job.versionName
print "The job's data workspace is " + jobversion