欢迎访问鸿雪径,这里介绍软件相关技术、动态以及鸿雪径杂谈,如有技术合作请与站长联系!邮费网 易食烤吧 特产大全网
首页 > JAVA > Maximo7.5远程调用maximo的手动输入节点工作流

Maximo7.5远程调用maximo的手动输入节点工作流

发布时间:2016-01-09 作者: 点击:469

 最近一个项目是在移动端做maximo系统的待办处理,对于普通的工作流节点使用mbo远程调用的方式基本都没有问题,很容易都可以处理了。可是有几个工作流程由于使用了输入节点,调用方式就发生了改变,经过反编译、跟踪、详细查看代码等一系列环节,最终终于解决了问题,其实也很简单---结果就是顺序调用两遍!

如图:maximo 7.5工作流设计器中的输入节点

QQ20160109-2@2x.png

其实我们在获取到运行值长那个节点的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和本站联系!
鸿雪径 www.HongXueJing.com  冀ICP备07017673号-4