当前流程流转时启动另一个流程并暂停当前流程,另一个流程结束后再唤醒当前流程
例子如下:
俩个流程:1.外出申请 2.借书申请
1.在外出申请环节的onAfterAdvance事件中添加如下代码:
<div class="blockcode"> <div id="code_ZNW"> <ol> <li> String fID=CommonUtils.createGUID();//生成fID</li> <li> String task=(String)ContextHelper.getActionContext().getParameter("task");//获取当前流程(外出申请)的task</li> <li> String sql="insert into ST_JSSQB p (p,p.version,p.fMC,p.fSL,p.fSQR,p.fSData1) values ('"+fID+"',0,'java书',20,'王五','"+task+"')";</li> <li> //在借书申请表中插入数据并把当前流程(外出申请)的task保存到借书申请表中</li> <li> KSQL.executeUpdate(sql, null, "/StartProcess/StartProcess/data", null);</li> <li> ProcessUtils.suspendProcess(task, null);//暂停当前流程(注意:要先暂停当前流程,再启动其他流程)</li> <li> ProcessUtils.startProcess("/StartProcess/StartProcess/process/brrownBook/brrownBookProcess", "手动启动"fID,"/ORG01.ogn/PSN01@ORG01.psm");</li> </ol> </div> <em>复制代码</em></div>
2.在借书流程的onAfterFinish事件中添加如下代码:
<div class="blockcode"> <div id="code_mXw"> <ol> <li> String sData1=ProcessUtils.getProcessData1();//获取当前流程的(借书申请)的sData1</li> <li> String sql="select ST_JSSQB.* from ST_JSSQB ST_JSSQB where ST_JSSQB='"+sData1+"'";//根据当前流程的sData1从借书申请表中查找刚刚启动借书申请流程的流程(外出申请)的task</li> <li> Table table=KSQL.select(sql, null,"/StartProcess/StartProcess/data", null);</li> <li> Iterator<Row> row=table.iterator();</li> <li> String task=row.next().getString("fSData1");</li> <li> ProcessUtils.resumeProcess(task);//唤醒刚刚暂停的流程(外出申请)</li> </ol> </div> <em>复制代码</em></div>
本文由WeX5君整理,WeX5一款开源免费的html5开发工具,H5 App开发就用WeX5!
阅读其他app 开发相关文章:http://doc.wex5.com/?p=3443
评一波