自定義工作流設(shè)計(jì)

寫(xiě)這篇文章的目的有兩個(gè):一個(gè)是自我學(xué)習(xí)工作流的一個(gè)總結(jié),二是希望通過(guò)我這點(diǎn)介紹,對(duì)于想要了解工作流的親們有所幫助(因?yàn)槲以谝婚_(kāi)始學(xué)習(xí)的時(shí)候,找不到方向,在一些問(wèn)答社區(qū)詢(xún)問(wèn),至今杳無(wú)音訊)。

工作流多應(yīng)用于后臺(tái)系統(tǒng)中,比如CRM和OA系統(tǒng)。其最直接的用途是進(jìn)行在線(xiàn)協(xié)同辦公,在線(xiàn)審批,在線(xiàn)數(shù)據(jù)傳遞,為公司實(shí)現(xiàn)無(wú)紙化辦公提供技術(shù)支持。一句話(huà):就是為了實(shí)現(xiàn)在線(xiàn)辦公,免得簽個(gè)字還要滿(mǎn)世界找人。

不使用工作流可以嘛?

不使用工作流,通過(guò)層層的數(shù)據(jù)傳遞,或者說(shuō)通過(guò)頁(yè)面的層層穿刺可以嗎?答案是肯定的。比如下圖所示。下圖為我做過(guò)的某企業(yè)的CRM系統(tǒng),當(dāng)時(shí)有一個(gè)貨需計(jì)劃提報(bào)的功能。由于當(dāng)時(shí)項(xiàng)目的時(shí)間比較緊,開(kāi)發(fā)一個(gè)工作流比較費(fèi)時(shí),就做了一個(gè)假的工作流。

假的工作流

該功能是這樣的:業(yè)務(wù)員進(jìn)行提報(bào)每個(gè)月的貨需計(jì)劃,然后省區(qū)經(jīng)理進(jìn)行貨需計(jì)劃的確認(rèn),大區(qū)經(jīng)理再次確認(rèn),渠道部經(jīng)理確認(rèn)、最后總部確認(rèn)。這是一個(gè)數(shù)據(jù)的審批流,如果采用工作流,非常的簡(jiǎn)單。由于被當(dāng)時(shí)項(xiàng)目時(shí)間比較緊,我們當(dāng)時(shí)只是進(jìn)行了頁(yè)面數(shù)據(jù)的穿刺,從一個(gè)頁(yè)面穿刺到另外一個(gè),通過(guò)操作按鈕,控制審批的狀態(tài),用一個(gè)假的工作流蒙混過(guò)關(guān)。

固然通過(guò)這種方式可以實(shí)現(xiàn)部分工作流可以完成的工作,但是如果流程的某一段發(fā)生改變。比如說(shuō),省區(qū)經(jīng)理不進(jìn)行確認(rèn)了,直接大區(qū)確認(rèn)。這樣的一點(diǎn)需求更改,就需要更改底層的代碼。又比如:業(yè)務(wù)員提報(bào)的貨需,必須先要城市經(jīng)理進(jìn)行確認(rèn)。這樣就增加了一個(gè)審批的節(jié)點(diǎn),必須重新修改代碼。

從以上的一個(gè)例子可以看出,如果沒(méi)有工作流的情況下,需求更改一點(diǎn),就要在代碼層面進(jìn)行更改,非常的不方便進(jìn)行擴(kuò)展。由此,我們便也得出,有了工作流,我們可以自由定義流程,方便以后擴(kuò)展。

怎么設(shè)計(jì)一個(gè)工作流呢?

工作流可以很簡(jiǎn)單,也可以很復(fù)雜。目前比較主流的工作流引擎有:JPMB,Activiti和Flowable,其他的工作流,大家可以自行去了解下。不管是何種工作流,其最基本的原理都大同小異,鑒于此,我只說(shuō)最簡(jiǎn)單的,也是最基礎(chǔ)的。

為了比較形象的理解工作流,我以一條河流作為比喻??梢院?jiǎn)單的把一天小河看成是工作流,而小河的水閘可以看成是各個(gè)節(jié)點(diǎn),通過(guò)水閘,可以控制水流的方向。

第一步:繪制工作流

繪制工作流

如圖所示,通過(guò)拖動(dòng)的方式,繪制流程圖。重點(diǎn)明確流程的發(fā)起點(diǎn)和節(jié)點(diǎn)的處理人,這兩點(diǎn)明確以后,基本上流程圖就出來(lái)了。圖中紅框有兩個(gè)重要字段,一個(gè)是流程的ID,一個(gè)是名稱(chēng),ID是該條流程在系統(tǒng)中保存的唯一標(biāo)識(shí),是程序員進(jìn)行引用該條流程的唯一標(biāo)志。如何在系統(tǒng)中其他地方需要用到該處流程,就可以通過(guò)ID把該條流程配置到該處就可以了。名稱(chēng)是界面顯示的內(nèi)容,方面使用人員進(jìn)行查看。可以想象,在創(chuàng)建一條河的時(shí)候,首先需要給小河起個(gè)名字,不然你跟別人說(shuō)河,別人不知道是那條河。

第二:配置節(jié)點(diǎn)

配置節(jié)點(diǎn)


從圖上可以看到,每個(gè)審批節(jié)點(diǎn)都需要進(jìn)行配置。節(jié)點(diǎn)屬性指的是配置節(jié)點(diǎn)的名稱(chēng)和節(jié)點(diǎn)的唯一ID。

人員配置

人員配置指的是配置該節(jié)點(diǎn)的處理人,可以按照崗位,直接指定某個(gè)崗位進(jìn)行處理,備選崗位,指的是A或者B都可以進(jìn)行處理,除此之外也可以指定角色進(jìn)行處理。

會(huì)簽屬性,一般是需要進(jìn)行會(huì)簽的流程才會(huì)需要,一般不考慮。

任務(wù)監(jiān)聽(tīng)器指的是具體的監(jiān)聽(tīng)工作,常見(jiàn)的有駁回監(jiān)聽(tīng),審批監(jiān)聽(tīng)等等。這個(gè)一般是程序員開(kāi)發(fā)好之后,我們只需要進(jìn)行配置就好,了解過(guò)程序的人都知道監(jiān)聽(tīng)器的作用,在此,我就不多說(shuō)了。

以上是工作流的一些簡(jiǎn)單介紹,這種可以進(jìn)行自定義繪制的圖形化界面,一般都是一些中大型團(tuán)隊(duì)使用的,幾個(gè)人的小團(tuán)隊(duì)可以不用圖形化的繪制界面,通過(guò)設(shè)置系統(tǒng)后臺(tái)工作流的配置也是可以做出來(lái)簡(jiǎn)單的工作流的。工作流繪制好之后,通過(guò)拿到該條工作流的ID,結(jié)合數(shù)據(jù)字典,就可以把工作流配置到相應(yīng)的頁(yè)面中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一般在稍微復(fù)雜一些的后臺(tái)系統(tǒng)中,工作流的設(shè)計(jì)是不可避免的一個(gè)重要部分。設(shè)計(jì)好一個(gè)后臺(tái)工作流,不僅可以使得后期使用系...
    張哈哈同學(xué)閱讀 2,087評(píng)論 2 28
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,270評(píng)論 0 5
  • 專(zhuān)業(yè)考題類(lèi)型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚(yú)閱讀 10,460評(píng)論 0 13
  • 高中同學(xué)發(fā)來(lái)一張疑似結(jié)婚時(shí)拍的藝術(shù)照讓我?guī)退?huà),我看了看照片,覺(jué)得他牙口真好 好久沒(méi)用鉛筆畫(huà)過(guò)素描了,一口氣畫(huà)完,...
    畫(huà)畫(huà)的杜杜閱讀 565評(píng)論 5 2

友情鏈接更多精彩內(nèi)容