当前流程流转时启动另一个流程并暂停当前流程,另一个流程结束后再唤醒当前流程

例子如下:

俩个流程:1.外出申请   2.借书申请

183   182

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&lt;Row&gt; 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