Maximo7.5远程调用maximo的手动输入节点工作流
发布时间:2016-01-09 作者: 点击:499
最近一个项目是在移动端做maximo系统的待办处理,对于普通的工作流节点使用mbo远程调用的方式基本都没有问题,很容易都可以处理了。可是有几个工作流程由于使用了输入节点,调用方式就发生了改变,经过反编译、跟踪、详细查看代码等一系列环节,最终终于解决了问题,其实也很简单---结果就是顺序调用两遍!
如图:maximo 7.5工作流设计器中的输入节点
其实我们在获取到运行值长那个节点的assignment后,有两个action,一个就是转到输入节点的,另一个是交工作负责人执行。
贴出部分代码如下:
首先远程连接maximo rmi服务,如果在maximo内部,这一步就省略了。
MXSession mxsession = MXSession.getSession(); mxsession.setHost("IP地址:13571/MXMUI7001"); mxsession.setUserName(“yonghuming”); mxsession.setPassword(“mima”); mxsession.connect();
获取到工作流待办节点信息:其中assignID=数字,这个自己根据需要最终能够获得WFInstance即可,不一定非要按照这个获取。
UserInfo userInfo = mxsession.getUserInfo(); WorkFlowServiceRemote workFlowServiceRemote = (WorkFlowServiceRemote)mxsession.lookup("WORKFLOW"); MboSetRemote mboSetRemote = workFlowServiceRemote.getMboSet("WFASSIGNMENT", userInfo); mboSetRemote.setWhere("assignID='4908342'"); WFAssignmentRemote assignment = (WFAssignmentRemote)mboSetRemote.getMbo(0); WFInstanceRemote instance = assignment.getWFInstance();
instance.completeWorkflowAssignment(assignID, 值长节点的actionID, "yes"); instance.completeWorkflowAssignment(assignID, 手动输入节点的actionID, "");
重点就是获取那两个actionID,可以用instance获取子action的mbo,然后通过action的mbo获取到actionID,例如:
WFActionSetRemote wfasr=instance.getActions(); System.out.println(wfasr.count()); WFActionRemote action=(WFActionRemote) wfasr.getMbo(0); System.out.println(action.getString("actionid"));
更多关于 maximo,工作流 的信息
暂无相关信息
本站部分文章转载于网上,版权归原作者所有。如果侵犯您的权益,请Email和本站联系!