自定义 Operator Advisor > 设置和使用工作定义执行状态
设置和使用工作定义执行状态
执行状态可帮助用户了解作业单中某项工作定义的执行进度状态。Operator Advisor 提供了一组基本的工作定义执行状态,您可以根据自己的业务需求进行自定义:
Planned
Running
Held
Canceled
Completed
默认生产订单管理器事物 (PTC.SCA.SCO.DefaultProductionOrderManager) 提供了一些服务,可用于创建新状态、更新或删除现有状态、检索单个状态或检索所有状态的列表。Operator Advisor 还提供了一些其他服务,可用于检索工作定义执行状态的更改日志,并提供每个状态所用时间的汇总信息。
* 
工作定义转换器服务可使用三个附加执行状况来监控工艺计划转换的进度:
Building - 工艺计划转换仍在进行。
BuildingSuccess - 工艺计划转换已成功完成。
BuildingFailure - 工艺计划转换发生错误。
切勿删除或更新这三种状况。
对于运行时间较长的转换过程,您可以使用 GetWorkDefinition 服务或 PostgresDatabase 查询服务来查询根工作定义,以查看其执行状况。
创建工作定义执行状态
使用 CreateWorkDefinitionExecutionStatuses 服务,您可以创建多个工作定义执行状态,仅需将这些状态添加至 WorkDefinitionExecutionStatuses 输入参数表即可。
* 
创建工作定义执行状态 (或 Operator Advisor 数据模型中的任何对象) 时,UID 值将由系统自动生成。系统将忽略您在 UID 字段中输入的所有值。
执行 CreateWorkDefinitionExecutionStatuses 服务后,系统会返回所创建工作定义执行状态及其 UID 的列表。
检索工作定义执行状态
您可以使用 GetWorkDefinitionExecutionStatus 服务,来检索并查看单个工作定义执行状态,仅需在 UID 输入参数中输入状态的 UID 即可。
或者,也可以使用 GetWorkDefinitionExecutionStatuses 服务,来检索数据库中的所有工作定义执行状态 (包括其 UID)。
更新工作定义执行状态
使用 UpdateWorkDefinitionExecutionStatuses 服务,您可以更新现有工作定义执行状态的名称。仅需在 WorkDefinitionExecutionStatuses 输入参数表中输入要更新的工作定义执行状态的 UID,然后为该状态输入新的“名称”值。执行服务后,系统会返回所更新工作定义执行状态及其 UID 的列表。
删除工作定义执行状态
使用 DeleteWorkDefinitionExecutionStatus 服务,您可以删除先前创建的任何工作定义执行状态,仅需提供要删除的工作定义执行状态的 UID 即可。尝试检索已删除 (或不存在) 的工作定义状态时,会出现一个空白的结果表。
* 
删除工作定义执行状态时,请务必小心。系统不会阻止您删除正在使用或曾使用的工作定义执行状态。
查看执行状态更改日志
您可以使用 GetWorkDefinitionExecutionLog 服务查看工作定义的执行状态更改日志。仅需在 WorkDefinitionUID 输入参数中输入工作定义的 UID 即可。返回的结果将包括执行状态的 UID 和名称、状态更改的时间戳以及实施更改的用户名称。
查看执行状态汇总
您可以使用 GetWorkDefinitionExecutionSummary 服务查看工作定义中每个执行状态所用总时间的汇总。仅需在 WorkDefinitionUID 输入参数中输入工作定义的 UID 即可。要包括对当前状况经历时间的计算,请对 IncludeCurrentStatus 选择 True
返回的结果中将包括执行状态的 UID 和名称,以及该状态所用的总时间 (秒)。
验证工作定义执行状态
如果在创建或更新工作定义时指定执行状态,则 Operator Advisor 会首先验证指定状态是否存在,然后才会允许完成创建或更新操作。有关详细信息,请参阅 操作前和操作后事件调度与验证