You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Automation Script推进Maximo现有工作流实例继续运行

Maximo工作流自动推进脚本解决方案

你当前手动修改WFASSIGNMENT和WFCALLSTACK表字段的实现方式风险很高,缺少工作流引擎的路由触发逻辑,自然无法自动生成下一个节点的任务分配。Maximo本身已经封装了成熟的工作流操作API,不需要手动操作底层MBO字段即可实现完整流转。

最优实现方案

直接调用WFAssignment对象的原生completeAssignment()方法,Maximo会自动处理底层表更新、节点跳转校验、下一个节点任务生成、关联动作执行等所有逻辑,代码可简化为:

from psdi.mbo import MboConstants

# 获取当前待处理的工作流分配记录
assignmentSet = mx.getMboSet("WFASSIGNMENT", ui)
assignmentSet.setWhere("WFASSIGNMENTID = " + str(mbo.getLong("WFASSIGNMENTID")))
assignment = assignmentSet.moveFirst()

if assignment and assignment.getString("ASSIGNSTATUS") == "ACTIVE" and NEXTNODE > 0:
    # 参数说明:下一个节点ID、是否执行节点关联动作、审批备注、权限校验标识
    assignment.completeAssignment(NEXTNODE, True, "外部邮件触发审批完成", MboConstants.NOACCESSCHECK)

手动修改MBO需要补充的操作

如果你坚持要手动操作底层MBO实现流转,除了你已修改的内容外,还需要完成以下操作:

  • 更新WFINSTANCE表的CURRENTNODE字段为新节点ID
  • 调用initNextNode()方法生成下一个节点的WFASSIGNMENT记录
  • 执行当前节点配置的所有后置动作、下一个节点的所有前置动作
  • 新增WFTRANSACTION流转记录,满足审计留痕要求
  • 同步处理子流程、嵌套流程的调用栈数据

该方式需要处理非常多的边界场景,极易出现工作流数据不一致问题,强烈不建议使用。

内容的提问来源于stack exchange,提问作者user8533094

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:06:02