工作流引擎技術(shù)介紹-Flowable例子(二)
介紹目前開源工作流現(xiàn)狀 介紹flowable 介紹BPMN2.0 比較flowable和activiti flowable例子(一)-工時(shí)申報(bào)流程 flowable例子(二)-請假流程(當(dāng)前) flowable例子(三)-保險(xiǎn)索賠案例流程 flowable例子(四)-消息隊(duì)列交互流程 flowable例子(五)-消費(fèi)者評論分析流程 flowable不足及擴(kuò)展 Flowable技術(shù)細(xì)講
上一篇工時(shí)流程,從簡單入手,熟悉基本的設(shè)計(jì)部署,這篇以請假流程為例,我們會引入更多復(fù)雜的元素。
二、請假流程
流程描述:
發(fā)起人發(fā)起請假并填寫請假信息
提交后會流轉(zhuǎn)到上級領(lǐng)導(dǎo)審核,如何請假天數(shù)大于三天,則同時(shí)還需要部門領(lǐng)導(dǎo)審核
領(lǐng)導(dǎo)審核后會流轉(zhuǎn)到人事審核,這里需要人事辦事人員半數(shù)審核才會往下流轉(zhuǎn)
人事審核后,會同時(shí)流轉(zhuǎn)給財(cái)務(wù)和項(xiàng)目部確認(rèn)
最后流轉(zhuǎn)給老板審核,老板一小時(shí)內(nèi)未處理,自動審核通過。
ps:這個(gè)例子,我們可以學(xué)習(xí)包容網(wǎng)關(guān)、多實(shí)例、表達(dá)式設(shè)置人員、并行網(wǎng)關(guān)、中斷定時(shí)事件。
設(shè)計(jì)過程:
繪制流程圖

繪制請假表單

提交人節(jié)點(diǎn)分配給流程發(fā)起人,流程綁定表單如前篇一樣,不再贅述。
包容網(wǎng)關(guān)分支,一條分支線設(shè)置默認(rèn)流,一條分支線設(shè)置條件


設(shè)置流程發(fā)起人上級領(lǐng)導(dǎo)、所在部門領(lǐng)導(dǎo)如前篇一樣用任務(wù)監(jiān)聽器設(shè)置。
人事審核時(shí)多實(shí)例任務(wù)。多實(shí)例任務(wù)中,需要選擇多實(shí)例類型,設(shè)置集合、變量、完成條件及執(zhí)行人。集合可以通過表達(dá)式,只要返回是個(gè)List,就能解析,執(zhí)行人,我們取多實(shí)例集合遍歷的元素變量。完成條件通過表達(dá)式取默認(rèn)提供的變量進(jìn)行判斷。(nrOfInstances:實(shí)例總數(shù)。nrOfActiveInstances:當(dāng)前活動的(即未完成的),實(shí)例數(shù)量。對于順序多實(shí)例,這個(gè)值總為1。nrOfCompletedInstances:已完成的實(shí)例數(shù)量。)

并行網(wǎng)關(guān),沒啥好說的,網(wǎng)關(guān)之后,是兩部門審核,兩部門人員都可以處理對應(yīng)節(jié)點(diǎn)任務(wù),有一個(gè)人員領(lǐng)取完成,則節(jié)點(diǎn)審核通過。
定時(shí)任務(wù),我們選擇的是中斷邊界定時(shí)任務(wù),中斷與不中斷代表的是當(dāng)前任務(wù)節(jié)點(diǎn)會不會被結(jié)束。方便測試,我們配置的間隔兩分鐘觸發(fā)。

運(yùn)行過程:
1.發(fā)起請假流程,查看任務(wù)并完成表單。


2.這里我們填寫請假天數(shù)為5天

完成對應(yīng)任務(wù)

3.進(jìn)入多實(shí)例任務(wù)

可以看到生成了兩條任務(wù)實(shí)例

4.切換陳七賬號完成任務(wù)

5.通過并行網(wǎng)關(guān),流轉(zhuǎn)到項(xiàng)目部審核和財(cái)務(wù)審核

6.完成后流轉(zhuǎn)到老板節(jié)點(diǎn)

7.老板兩分鐘內(nèi)未處理,自動結(jié)束

8.完成請假

后續(xù)我們會把流程難度,不斷升級,以便熟悉更多的模型設(shè)計(jì)方法。
