是否可以从自动化脚本继续现有的 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 节点放入工作流中,它将失败,为了解决这个问题,我在对象中添加了另一个字段
在 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 节点放入工作流中,它将失败,为了解决这个问题,我在对象中添加了另一个字段