2016-02-21 40 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