activiti复盘重推的一种简单实现方式:

时间:2022-04-01 05:46:55

activiti复盘重推的一种简单实现方式:

设置流程的每一步让用户选择,比如一共有6步完成,用户选择从第4步开始复盘重推,那么把原来的推演oldId和4传到后台,

首先,后台生成一个新的推演id newDiscussId,根据 oldDIscussId,查询到所有推演过程中的非activiti数据(我们自定义应用中的数据),复制一份,用 newDiscussId存起来。

可以用执行sql的方式复制:Insert into Table1 (select  replace(uuid(),'_',' '),t.colum2,t.colum3  from Table1 t where discussId = oldDIscussId)

复制完数据,就开始处理工作流:

工作流直接用 for循环,将4步之前的所有步骤都获取任务并完成即可。

for(int i=1;i<4;i++){

  t = xxservice.getTask();

  xxservice.completeTask(t);

}