paulwong

          一張業務表用于多個業務流程

          在工作流管理系統中,通常是先給業務流程建模,利用流程設計器,將業務的辦理過程用流程支持的節點方式表示出來。



           

          業務建模之后,再確定每個節點上辦理的業務,辦理業務的過程,通常是以填寫完業務表單的方式來完成的。所以需要分析每個節點上填寫的表單內容,根據 表單內容建立業務表,表字段等。再將字段綁定到表單中錄入控件上,將表單錄入的數據保存到數據庫中,這樣業務表單模塊就完成了。



           

           



           

          業務表單完成之后,再掛接到流程節點上。



           

           

          另外可能需要再次完善一下流程節點的一些屬性,如增加每個節點的指定辦理人。

          設置取業務表中的一些關鍵值用于流程中,如取報銷單中的報銷金額,請假單的請假天數,用于流程上下文中做條件使用。

          最后,在業務表中,需要增加一個流程實例id字段,用于和業務流程關聯。在啟動業務流程的時候,需要將獲得的流程實例id寫入這個字段中,使得業務記錄能和流程實例關聯上。


          通過上面這些步驟,就建立好了業務流程了,可以啟動流程實例,辦理業務了。業務的流轉就按照流程建模中定義好的順序辦理,不需要再在業務表 中增加狀態字段來控制業務的流轉了。業務的辦理過程變得有跡可循了,每個流程實例均可以列出運行的軌跡圖,或者列表出運行的軌跡。每個節點上辦理的業務也 能通過查詢業務表單再次展現。

           

          上面我們說過,業務表是存儲辦理業務數據的數據庫表,一般來說,一個業務表只用于一種業務流程中,存儲同一類型的業務數據。當流程運行結束的時候, 這些業務數據就被封存,不能在流程的節點中再次被編輯和修改。(除非直接開庫修改數據,或者另外做一些模塊,直接修改業務數據)

           

          但是,這些封存的業務數據,有可能會被再次啟用投入到另外一個業務流程中去使用,這種需求可能是需求肯定是有應用場景的,不管是分段的處理過程還是后期又做的一些業務補充等,都有可能發生。

           

          如果一個業務表,需要再次用于另外一個業務流程當中,則我們只需要給業務表,再增加一個流程實例id字段,就可以了,再次新啟動的業務流程獲得的流 程實例id就寫入這個新的流程實例id字段。和以前的那個流程實例id不相關了。只是如果是編輯同一條業務記錄的話,就可能把上次的數據給修改了。這樣理 論上是可以支持n個業務流程。

           



           


          總結一下,一個業務表用于一個業務流程中,用一個流程實例id字段和流程關聯,用于另外一個業務流程中,則再建一個流程實例id字段和流程實例關聯。

           

          一個業務流程可能會涉及到多張業務表,一張業務表也可能涉及到多個業務流程。

          posted on 2012-03-06 18:02 paulwong 閱讀(347) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 中卫市| 邻水| 宜黄县| 晋中市| 伊宁市| 资兴市| 江阴市| 刚察县| 正蓝旗| 宜州市| 威远县| 天祝| 湾仔区| 固原市| 青铜峡市| 秦安县| 忻州市| 兴城市| 宿州市| 林口县| 永仁县| 嘉禾县| 太原市| 新津县| 平度市| 和平区| 成都市| 杭锦旗| 特克斯县| 文登市| 六枝特区| 桃江县| 偏关县| 通州市| 泗水县| 乐昌市| 贵州省| 蒙自县| 白朗县| 兰坪| 紫云|