Java工作流程引擎系統的退回規則 專題說明

概述

說明:流程引擎的退回與發送,分別是前進與後退,它是流程引擎的基礎功能操作,流程的退回根據不同的應用場景,也是需要不同的方式來控制,我們把這些方式叫做規則處理。

退回工作的場景相對複雜,由於與審覈組件,表單聯繫在一起爲了能適用更多的應用場景,少寫代碼,所有請仔細約定本文章關於退回的設置。

退回窗口頁面:

首先選擇要退回的節點,然後填寫退回原因,最後點擊退回方式,完成退回工作。

up-1192592469a8137a6bbab134c2ce5dfbdf6.png

被退回人打開退回的工作查看頁面:

被退回人,可以從待辦裏打開工作,首先彈出的是退回信息。

up-1fcab451eca0966479c415cb3d77911cfbd.png

退回規則設置

退回規則在節點按鈕標籤欄目中的退回標籤設置,如下圖:

up-07d1472b32329b9d77a0fb7a8942d1d5bbd.png

不能退回:當前節點不能執行退回功能,當前節點的操作人員就不能看到退回按鈕。

只能退回上一個節點:只能退回上一個節點,從那裏發送來的,就退回到那裏去。

可以退回以前任意節點:不限制退回的節點,但是退回的節點必須是當前節點以前的節點。

可退回指定的節點:退回指定的節點,此功能需要在流程屬性中的可退回的節點中設置它。

up-b8e0ce05a02c9479cdde88ad419dde8cf92.png

總結:

1,根據實際業務需求,設置不同的退回方式。

2, 配合退回前、退回後的事件完成業務的可逆的操作。

退回的消息處理

1.執行退回後,系統都會向執行人發送消息,發送對象僅限於上一節點的執行人員,這樣上被退回的點上的工作人員就有一個待辦工作,如果您集成了ccim它就會自動發一個消息提醒。

2.退回的動作寫入WF_Track中,流程軌跡中就能很好的反應出來。

3.被退回的人在進入當前工作時,第一次會有消息提示。

CCBPM如何處理流程退回過程的數據的完整性?

流程在退回時,有一段流程數據就是從當前點到退回點的所做的工作,這部分節點的數據如何處理成爲了我們要探討與取捨的難點。

以請假流程爲例,申請人發起,部門經理審批,總經理審批,人力資源歸檔。如果總經理退回到第一個點,可以解釋爲,部門經理做的無效的工作,此部分工作需要刪除,在3.0以前的版本,CCBPM都是這樣的處理的,這樣的解釋也是用戶所接受的。

但是在其它的流程就不能這樣解釋了,因爲他需要保留歷史痕跡,並且在退回後有如下可能要發生。

1, 退回到指定的點後,發起人刪除流程。

2, 退回到退回節點後,發起人修改表單後發送,按原節點發回來。

3, 退回到退回節點後,發起人修改表單後發送,經歷與其它的路線步驟到當前點。

4, 退回到退回節點後,發起人修改表單後發送,該走其它的路線不經當前點。

基於如上可能性的發生CCBPM,做了如下處理。

1, 退回階段流程數據寫入txt 文件裏,放在D:\ccflow\CCFlow\DataUser\ReturnLog

2, 增加了流程報告與節點的焦點字段功能,系統把每一步驟的操作都記到日誌表裏了,通過焦點字段的配合,可以讓操作員方便明晰的看到軌跡。

CCBPM6.0通過如上兩個方法解決退回數據的完整性問題。

退回並原路返回

與節點屬性中的[是否可以退回並原路返回?] 配合使用

應用場景:一個流程走過了ABCDEFG幾個節點,在G節點上發現要退回給B節點上去,還期望B節點的人員完成後直接發送給G節點上來,這種應用場景就是是否可以在退回後原路返回。如果是直接退回並不原路返回,那麼CCBPM將會刪除退回點與退回到點中間的數據,否則就不刪除它。

up-967b0efa77bf9bc660a5e9d7fc9d7522905.png

單節點退回規則
  • 單節點退回規則,是對可退回的節點僅僅有一個有效。

  • 操作員想達到點擊退回按鈕,直接可以退回,不需要彈出退回窗口了。

  • 這種工作模式下,退回的意見有兩個填充模式,退回信息的字段,與審覈組件填寫的意見。

  • 如果選擇【按照退回信息填寫字段作爲退回意見直接退回】您就需要在退回信息填寫字段屬性裏,填寫這個字段名。

  • 如果選擇【按照審覈組件填寫字段作爲退回意見直接退回】,您就需要在當前節點表單裏,啓動審覈組件功能。

up-383d389b4b69718a13c9f97961426d00a1d.png

退回信息填寫字段

用戶經常會在審批意見的字段中填寫意見然後點退回按鈕,審批意見就是該操作員的審覈意見,這個時候CCBPM需要把審覈意見帶入退回窗口,這個字段就是退回信息填寫字段。

up-0395b06d9ed8788382020f15f0d821f201b.png

在demo的第二個節點,我們看看退回的效果,我們先看看測試效果。

up-f0661b7901a31226edff6cf99636332847e.png

點退回,CCBPM就會把審覈意見放到退回的窗口裏面

up-36db97ebee85ff2955567631f190f73ce23.png

被退回後信息提示:在退回成功後,用於個性化的提示被退回的信息,支持ccbpm表達式。

單節點退回規則:

謂的單節點退回規則是指按照節點的設置的退回規則,被退回的節點只有一個節點的時候才能適用此規則。

啓用此規則的時候,用戶點擊退回按鈕,系統就會直接彈出退回信息,並執行了退回。

這種模式下的退回,是根據設置的退回意見規則填充退回信息,如果設置[退回信息填寫字段]來作爲退回意見,就要在該[退回信息填寫字段]文本框裏填寫該字段的名字。

如果設置了按審覈組件的意見做爲退回信息直接退回,對於當前節點啓用了審覈組件有效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章