5.1.開始節(jié)點(diǎn)

2022-07-22 14:22 更新

開始節(jié)點(diǎn)是UFLO流程實(shí)例的開始點(diǎn),UFLO流程實(shí)例通過開始節(jié)點(diǎn)開啟。在UFLO當(dāng)中,一個(gè)流程模版必須要有一個(gè)節(jié)點(diǎn)節(jié)點(diǎn),且最多也只能有一個(gè)開始節(jié)點(diǎn)。在流程模版設(shè)計(jì)器當(dāng)中,開始節(jié)點(diǎn)圖標(biāo)如下圖所示:


選中開始節(jié)點(diǎn)后,我們就可以在設(shè)計(jì)區(qū)通過單擊來添加一個(gè)開始節(jié)點(diǎn),選中添加的開始節(jié)點(diǎn),在屬性窗口當(dāng)中可以看到當(dāng)前開始節(jié)點(diǎn)可配置及需要配置的屬性,如下圖所示:

可以看到,開始節(jié)點(diǎn)有三個(gè)屬性頁內(nèi)容可供配置,這其中“基本屬性”頁簽當(dāng)中所提供的配置項(xiàng)是所有節(jié)點(diǎn)共有的,也就是說,除了開始節(jié)點(diǎn),其它的,諸如人工任務(wù)節(jié)點(diǎn)、聚合節(jié)點(diǎn)之類都有這個(gè)“基本屬性”的頁簽。在“基本屬性”的頁簽中,我們可以設(shè)置當(dāng)前節(jié)點(diǎn)的名稱,進(jìn)入及離開節(jié)點(diǎn)時(shí)觸發(fā)的事件bean,及對該節(jié)點(diǎn)的描述。“基本屬性”的頁簽各屬性功能描述如下表所示:

屬性名類型描述
名稱字符串當(dāng)前節(jié)點(diǎn)名稱,定義后會直接反應(yīng)到流程圖當(dāng)中
事件Bean字符串

流程在進(jìn)入及離開當(dāng)前節(jié)點(diǎn)時(shí)觸發(fā)的事件Bean,這里要求我們的業(yè)務(wù)系統(tǒng)要實(shí)現(xiàn)com.bstek.uflo.process.handler.NodeEventHandler接口,并其實(shí)現(xiàn)類配置到spring環(huán)境當(dāng)中,該屬性的值就是這個(gè)配置到spring環(huán)境中實(shí)現(xiàn)類的bean的id。在這里我們提供了一個(gè)快捷選擇實(shí)現(xiàn)類bean的id方法,點(diǎn)擊“選擇”按鈕,在彈出窗口中輸入下面格式的地址:

http://localhost:8080/uflo-test/dorado/uflo/list.handler

點(diǎn)擊下一步,就可以看到我們當(dāng)前系統(tǒng)當(dāng)中所有配置到spring當(dāng)中已實(shí)現(xiàn)NodeEventHandler接口的bean的id,我們只需要選擇需要的就行。

描述字符串
對當(dāng)前節(jié)點(diǎn)的描述。
在“基本屬性”的頁簽之下的“任務(wù)配置”及“表單配置”兩屬性就是開始節(jié)點(diǎn)所獨(dú)有的了。如下圖所示:下表羅列了“任務(wù)配置”頁簽屬性及其作用:

屬性名

類型

描述

任務(wù)名稱

字符串

在開始節(jié)點(diǎn)產(chǎn)生的任務(wù)名稱,如果不配置,那么生成的人工任務(wù)名稱則以開始節(jié)點(diǎn)的節(jié)點(diǎn)名作為人工任務(wù)名稱。值得注意的是,在定義任務(wù)名稱時(shí),可以在其中混合表達(dá)式,這樣在運(yùn)行到當(dāng)前節(jié)點(diǎn)時(shí),引擎會解析表達(dá)式,并填充為任務(wù)名稱,比如“${starter}的填報(bào)任務(wù)”,在這個(gè)示例當(dāng)中,任務(wù)名稱中混合了${starter}表達(dá)式,這樣引擎在通過開始節(jié)點(diǎn)創(chuàng)建人工任務(wù)時(shí),會解析這個(gè)表達(dá)式,并將解析后的結(jié)果填充到生成的人工任務(wù)名稱當(dāng)中。

URL 字符串 處理開始節(jié)點(diǎn)產(chǎn)生任務(wù)的頁面的URL地址。

URL 字符串 處理開始節(jié)點(diǎn)產(chǎn)生任務(wù)的頁面的URL地址。

URL 字符串 處理開始節(jié)點(diǎn)產(chǎn)生任務(wù)的頁面的URL地址。

在開始節(jié)點(diǎn)中創(chuàng)建一個(gè)人工任務(wù)可以解決我們業(yè)務(wù)流程處理過程當(dāng)中的很多問題,比如開始業(yè)務(wù)流程時(shí),因?yàn)槟承┰虮韱螖?shù)據(jù)未填寫完成,需要做暫存處理,這時(shí)就可以開始流程但不完成開始節(jié)點(diǎn)上的任務(wù),這樣下次就可以接著填寫流程表單;再比如填單審批中,要駁回修改,流程開始人要對申請的表單進(jìn)行修改,那么流程只需要直接回退到開始節(jié)點(diǎn)即可,諸如此類。需要特別指出的是,位于開始節(jié)點(diǎn)的人工任務(wù),我們只需要配置這兩個(gè)屬性就行,不提供像人工任務(wù)節(jié)點(diǎn)那樣有復(fù)雜的任務(wù)處理人配置及過期功能,這是因?yàn)殚_始節(jié)點(diǎn)的人工任務(wù)肯定是由任務(wù)處理人自己處理,所以不需要配置任務(wù)處理人,同時(shí)開始節(jié)點(diǎn)任務(wù)不可能是審批類任務(wù),所以不需要設(shè)置時(shí)限,所以有上面兩個(gè)屬性就夠了。

開始節(jié)點(diǎn)最后一個(gè)屬性頁簽是“表單配置”,在“表單配置”頁簽當(dāng)中,我們可以配置當(dāng)前流程對應(yīng)的業(yè)務(wù)表單所采用的字段,這種在流程模版中配置業(yè)務(wù)表單字段的方式對于一般的業(yè)務(wù)流程來說是不需要的,因?yàn)槲覀兊臉I(yè)務(wù)流程往往比較復(fù)雜,我們的業(yè)務(wù)數(shù)據(jù)都有自己的業(yè)務(wù)表存儲,不需要將這些業(yè)務(wù)字段存儲到流程當(dāng)中,所以一般業(yè)務(wù)流程不需要配置這個(gè)頁簽。實(shí)際上這個(gè)“表單配置”頁簽配置的表單元素實(shí)際上是為我們后面UFLO提供的在線審批功能提供的(該功能仍然在開發(fā)中...),現(xiàn)有這塊功能,雖然對于我們復(fù)雜的業(yè)務(wù)流程沒什么用,但對于我們流程的快速運(yùn)行調(diào)試卻是很方便的?!氨韱闻渲谩表摵炄缦聢D所示:

可以看到,在除了開始節(jié)點(diǎn)可以進(jìn)行表單配置外,人工任務(wù)節(jié)點(diǎn)也可以進(jìn)行表單配置,所不同的是,只有人工任務(wù)節(jié)點(diǎn)表單配置里的“選擇”按鈕才是可用的,實(shí)際上,人工任務(wù)節(jié)點(diǎn)選擇框里出現(xiàn)的字段就是我們在開始節(jié)點(diǎn)定義的字段,這樣就不難理解為什么開始節(jié)點(diǎn)不能“選擇”按鈕不可用了。點(diǎn)擊“添加”按鈕,在彈出的窗口當(dāng)中可以輸入新字段的各種屬性,如下圖所示:

除了可以在“表單配置”頁簽當(dāng)中增減字段外,可以看到,我們還可以選擇一個(gè)由uflo-console提供的默認(rèn)的用于渲染當(dāng)前表單的頁面,在沒有定義任務(wù)URL時(shí),配置這個(gè)渲染頁面屬性,可以動態(tài)渲染我們在表單配置中定義的各種字段。點(diǎn)擊“渲染表單模版”右邊的“選擇”按鈕,在彈出的窗口當(dāng)中輸入下面格式的URL:

http://localhost:8080/uflo-test/dorado/uflo/list.handler

選擇下一步,在我們包含uflo-console應(yīng)用啟動的情況下就可以看到uflo-console提供的默認(rèn)渲染頁面。在開始節(jié)點(diǎn)上可添加的流入與流出連線數(shù)量如下表所示:

連線類型
數(shù)量
流入連線0~n
流出連線1












以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號