启动工作流

MAXIMO实施过程中,有时需要从外部系统中通过接口自动导入一些数据,如采购申请单PR,领料单等,客户在外部系统中,已经做好数据了,希望数据进入MAXIMO系统后,能自动启动业务流程。经过几天的研究发现,可以在后台手工实现!

    注意:此工作流的第一个节点不能为交互式节点 

 

   代码如下:

 

 

/*
* 工作流 得到当前应用,当前对像的工作流名称
* appname:应用程序名称
* tbname:主对像名
*/
private String getProcessName(String appname,String tbname)throws MXException,RemoteException
{
MboSetRemote apptoolbarset=MXServer.getMXServer().getMboSet("WFAPPTOOLBAR", userinfo);
SqlFormat sqlf=new SqlFormat("APPNAME=:1 and OBJECTNAME=:2");
sqlf.setObject(1, "WFAPPTOOLBAR", "APPNAME", appname);
sqlf.setObject(2,  "WFAPPTOOLBAR", "OBJECTNAME", tbname);
apptoolbarset.setWhere(sqlf.format());
if (apptoolbarset.isEmpty())
{
return "";
}
MboRemote mbo=apptoolbarset.getMbo(0);
if (mbo==null)
{
return "";
}
if (mbo.isNull("PROCESSNAME"))
{
return "";
}
return  mbo.getString("PROCESSNAME");
}
/*
* 启动工作
* appname:应用程序名称
* mbo 当前对像
*/
private void startworkflow(String appname,MboRemote mbo)throws MXException,RemoteException
{
String tbname=mbo.getThisMboSet().getName();
String processname=getProcessName(appname,tbname);
if ("".equalsIgnoreCase(processname)||processname==null)
{
return;
}
WorkFlowServiceRemote wfs=(WorkFlowServiceRemote)MXServer.getMXServer().lookup("WORKFLOW");
wfs.initiateWorkflow(processname, mbo);

转载于:https://www.cnblogs.com/kevinhlj/archive/2011/01/05/1926018.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值