在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需要更新才能使工作流继续到下一个节点吗?谢谢。
发布于 2021-10-19 08:52:05
感谢@Maximo.Wiki。我从你的链接中找到了一个解决方案,我们可以像这样使用自动化脚本继续工作流程
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节点放入工作流中,它将失败。为了解决这个问题,我在对象中添加了另一个字段
https://stackoverflow.com/questions/68955113
复制相似问题