是否可以从自动化脚本继续现有的 maximo 工作流实例

Is it possible to continue existing maximo workflow instance from automation script

在 maximo 的 PR 程序中,我们有一个工作流程,可以将 PR 发送给其他团队进行审批。但批准过程来自我们在 maximo 之外创建的电子邮件。我想知道是否可以从自动化脚本继续工作流实例?

现在我创建这样的自动化脚本

assignmentSet = mx.getMboSet("WFASSIGNMENT",ui);
assignmentSet.setWhere(" WFASSIGNMENTID = " + str(mbo.getLong("WFASSIGNMENTID")));
assignment = assignmentSet.moveFirst();

if(assignment.getString("ASSIGNSTATUS")=="ACTIVE" and NEXTNODE > 0):
    wfstackSet = mx.getMboSet("WFCALLSTACK",ui);
    wfstackSet.setWhere(" WFID = " + str(mbo.getLong("WFINSTANCEID")));
    wfstack = wfstackSet.moveFirst();
    if (wfstack.getInt("NODEID")==mbo.getInt("NODEID")):
        wfstack.setValue("NODEID",NEXTNODE,2L);
    wfstackSet.save();
    wfstackSet.close();
    
    assignment.setValue("ASSIGNSTATUS","COMPLETE", 2L);

assignmentSet.save();
assignmentSet.close();

这个自动化脚本只是改变工作流程图,而不是创建另一个任务。有人可以告诉我是否缺少我需要更新的 mbo 以便工作流继续到下一个节点吗?谢谢。

感谢@Maximo.Wiki。我从您的 link 中找到了解决方案 我们可以使用这样的自动化脚本继续工作流程

assignmentSet = mx.getMboSet("WFASSIGNMENT",ui);
assignmentSet.setWhere(" WFASSIGNMENTID = " + str(mbo.getLong("WFASSIGNMENTID")));
assignment = assignmentSet.moveFirst();
MXServer.getMXServer().lookup("WORKFLOW").completeAssignment(assignment, "APPROVE  PR", 1);

或者这样拒绝

MXServer.getMXServer().lookup("WORKFLOW").completeAssignment(assignment, "REJECT PR ", 0);

但是,如果将 ManualInput 节点放入工作流中,它将失败,为了解决这个问题,我在对象中添加了另一个字段