【摘要】 在OA系統(tǒng)中,使用流程來進行審核以及公文流轉(zhuǎn)已經(jīng)不是什么新鮮的事情了,。對于初學(xué)者來說卻顯得十分神秘,,鑒于此,鄙人對OA中的流程原理,,以及流程設(shè)計方法做了一些總結(jié),,希望能對諸位有所幫助。
在OA系統(tǒng)中,,使用流程來進行審核以及公文流轉(zhuǎn)已經(jīng)不是什么新鮮的事情了,。對于初學(xué)者來說卻顯得十分神秘,,鑒于此,鄙人對OA中的流程原理,,以及流程設(shè)計方法做了一些總結(jié),,希望能對諸位有所幫助。 首先,,我們來了解一下流程,。 在軟件中流程是為了實現(xiàn)某個功能,需要按部就班地執(zhí)行的一段操作,。軟件中之所以要使用流程,,是為了增加軟件產(chǎn)品的延展性,使軟件在不同的客戶或同一客戶不同的管理階段都可以應(yīng)用該軟件,。也就是增加軟件使用者的自主設(shè)置能力,。 從軟件編寫的角度,我把流程分為二種:一種是審核流程,,一種是業(yè)務(wù)流程,。在OA系統(tǒng)中,通常體現(xiàn)為審核流程和公文流轉(zhuǎn)兩種,。 下面,我們看看實際管理工作中審核流程是什么樣子的,。 我們以“請假”這個日常生活中最常見的例子來闡述這個審批流程,。 如果某員工需要請假,他會填寫一個請假申請單,,該申請單一般會有其部門主管簽字審核后交到上級主管審核,,也可能最終需要總經(jīng)理審核。審核結(jié)束了才能正式獲準(zhǔn)請假,。 如下圖所示: 圖片找不了,太遺憾了 以上是對請假申請中的幾種可能性的描述,,除此以外。我們還必須考慮到以下因素: 1,、 請假單中的審批人可以為多個人中的任意一個,。如:一個部門有幾個主管,只要一個主管同意了就可以繼續(xù)執(zhí)行該流程,。這種情況下,,我們需要設(shè)置好每個審批點的人員信息。這些人員具有同樣的審批權(quán)力,。 2,、 請假單中需要同時多個人審批后才可以繼續(xù)該流程。如:一個部門有多個主管,,必須每個主管都批準(zhǔn)的情況下才可以繼續(xù)該流程,。這種情況下,,流程中這些同級的主管權(quán)力相同,審批不分先后,。 3,、 另外,我們還需要考慮同樣的單據(jù),,可能會有不同的審批流程,。如:在一個企業(yè)中,員工請假的審批如上面所述,,但如果是部門主管,,則都需要總經(jīng)理直接批準(zhǔn)放可準(zhǔn)假。這種情況下,,我們就必須考慮同樣是請假申請單的具體審批流向的問題,。 4、 還有一種可能性就是高級別的主管可以直接跳過低級別的主管進行審批,。如:在部門主管不在的情況下,,上級主管可以直接審核該請假單。 5,、 在審批權(quán)限設(shè)定方面也有部門和職位方面的考慮,。比如:在軟件中識別部門主管、識別上級部門,、識別職位等等,。這些可能性我們可以在設(shè)定到具體人員的時候考慮進去。在軟件流程的設(shè)計中,,暫時忽略這些情況,。 OK,鄙人以為,,上面的闡述已經(jīng)含蓋了審批流程的所有可能性,。(這只是假設(shè),該假設(shè)也就決定了軟件中流程的設(shè)計方面僅適用于以上這些情況) 下面,,我們針對這些情況,,把這些請假單的信息在數(shù)據(jù)庫中的傳遞情況整體一下:(此處忽略請假單的具體信息,只考慮單據(jù)信息) 1,、 填寫了申請單(假設(shè)單號為:A01) 2,、 部門主管審批 3、 上級主管審批 4,、 總經(jīng)理審批 5,、 流程結(jié)束 圖片找不了,太遺憾了 由此我們可以看出,以上所做的請假的各種假設(shè)都可以在上表格中得到體現(xiàn),。也就是說,,我們處理流程的數(shù)據(jù)庫表結(jié)構(gòu)完全可以參考該結(jié)構(gòu)來完成,。具體說明如下: 1、 操作ID:可以設(shè)定流程的唯一標(biāo)志,,在這里,,我們可以把審批結(jié)果(同意、不同意)分設(shè)2個字段,,也可以設(shè)定為2筆記錄,。如果分設(shè)為2個字段,則流向也需要分別設(shè)定2個字段,。 2,、 操作:相當(dāng)于每個操作的描述,或者操作名稱,。 3,、 單據(jù)編號:即指定每個請假單的唯一標(biāo)識,只要請假申請單填制完畢,,選擇流程后,,我們就可以把該單據(jù)的審批信息生成到表中,并分發(fā)到相關(guān)審批人,。 4,、 審批點:也就是審批動作的執(zhí)行點。該信息應(yīng)該記錄審批用戶信息,,可以是單用戶,,也應(yīng)該可以是具有相同權(quán)限的多用戶。多用戶在操作的過程中,,需要區(qū)分為兩中 情況:一種是多用戶中有一個人審批即可自動流入下流程,另一種是所有審批人審批結(jié)束了才可以流入下流程,。 5,、 同級審批:這里有2種可能性:一種為:同級全部審批后即流轉(zhuǎn)到下一級審批點;另一種:只要一個審批就可以流到下一級審批點,。 6,、 審批結(jié)果:就是決定流程去向的結(jié)果。該結(jié)果會確定流向的值,。需要注意的是:如果審批中需要填寫具體的審批意見,,我們也可以在該Table中以專門的字段來記錄這些意見。 7,、 回寫:該操作是為了標(biāo)示出上流程傳遞到以后不需要再次傳遞,。如:在上級領(lǐng)導(dǎo)審批完后,即把部門主管審批的結(jié)果標(biāo)志為“完成”等字樣,,以防止信息重復(fù)傳遞,。 8,、 直接進入標(biāo)志:該操作是為了確認(rèn)可以跨越前道流程直接進行審批的標(biāo)志。如果請假申請?zhí)顚懥艘院?,具有直接進入權(quán)限的人就可以直接進行審批,。審批完成后其以前的審批流程則不需要再審批。這里,,我們需要把該流程以前的流程標(biāo)志為完成,。 9、 終止標(biāo)志:即流程完全結(jié)束,。比如:我們可以先假設(shè)如果在某一個審批點被否決后即表示流程終止,,在流程最終完成(包含同意/不同意)時也可以表示流程終止。 至此,,我們應(yīng)該清楚了流程的基本概念了,。而且對其軟件方法實現(xiàn)也應(yīng)該有了具體的認(rèn)識。那么在軟件種怎么樣來辯識這些流程呢,?我們在軟件中需要做哪些工作,? 首先,我們需要把流程和具體的功能點集合起來,,今天我們一直在討論的請假申請的流程,。那么我們設(shè)定了流程后,就必須跟請假申請單關(guān)聯(lián)在一起,。在軟件中實現(xiàn) 該功能的方法有二個,。一是指定流程名稱和單據(jù)名稱的對應(yīng)關(guān)系,在程序中寫死,。另一種方式是在我們填制了請假申請單后由用戶去指定相關(guān)的流程,。聽起來后者活 一點,但需要麻煩客戶選擇一下流程,,但這種選擇,,也增加了流程的多樣性,即可以在同一個申請單中有多種流程選擇,。這也解決了我們上面所說的員工請假和主管 請假的區(qū)別對待的問題,。 也許有人有犯迷糊了:我設(shè)定那么多人審批,他們都在哪兒去填寫這些審批信息呢,?提這樣的問題的人,,也許是剛出道~,呵呵,。不過,,我深信有人會有這種疑慮。其實這個問題很簡單就可以解決了。 比如:你寫一個組件,,只要需要審批,,你就把這個組件show出來,給用戶可以輸入的地方嘛~,,然后,,輸入完了以后你就把這些信息保存到我們審批的 Table中,如果用戶不放心,,你可以把他設(shè)定的審批點的意見全部Show在頁面的下方,。這樣,他設(shè)定多少個審批點你也應(yīng)付得過來,。當(dāng)然,,到最終流程終止 的時候,你還是要到單據(jù)中標(biāo)注一下的,。否則就全白忙活了,。具體是寫到哪個表中的哪個字段,你應(yīng)該是最清楚的人了,。 公文流轉(zhuǎn)的流程我沒時間寫了,。如果上面的方法您理解了。我相信區(qū)區(qū)公文流轉(zhuǎn),,對您來說也不是什么難的事情了,。 |
|