2016-02-21 65 views
0

在我的自定义工作流,我做出一些改变,以PDF当我创建的工作流程:恢复到工作流程之前,该文件的版本 - 露天

<activiti:executionListener event="start" class="pt.entp.fields.CreateFields"></activiti:executionListener> 

我想,当我取消了工作流程,工作流程清晰创建时所做的更改。没办法做到这一点?

回答

2

首先存储当前的版本在启动工作流监听器:

NodeRef myPdfnode = ... 
    String currentversion = serviceRegistry.getVersionService.getCurrentVersion(myPdfnode).getVersionLabel(); 
    execution.setVariable("mynode_currentversion", currentversion); 

您需要使用结束工作流程听众

<activiti:executionListener event="end" 
class="pt.entp.fields.WorkflowEnded"></activiti:executionListener> 

在那里恢复PDF文档的版本,请检查工作流程确实取消,然后恢复到您保存的版本:

String deleteReason = execution.getDeleteReason(); 

    if ("cancelled".equals(deleteReason)){ 
     NodeRef myPdfnode = ... 
     String initialversionLabel = execution.getVaraible("mynode_currentversion"); 
     Version initialversion = serviceRegistry.getVersionService.getVersionHistory(myPdfnode).getVersion(initialversionLabel); 
     serviceRegistry.getVersionService.revert(myPdfnode, initialversion); 
    } 
+0

非常感谢!我会试试:) – PRVS

+0

我试了一下,真的去了1.0版,但是文档与我在创建工作流时创建的字段相同。 – PRVS

+0

你知道为什么吗?谢谢。 – PRVS