在工作流管理系統中,通常是先給業務流程建模,利用流程設計器,將業務的辦理過程用流程支援的節點方式表示出來。
業務建模之後,再確定每個節點上辦理的業務,辦理業務的過程,通常是以填寫完業務表單的方式來完成的。所以需要分析每個節點上填寫的表單內容,根據表單內容建立業務表,表字段等。再將字段繫結到表單中錄入控制項上,將表單錄入的資料儲存到資料庫中,這樣業務表單模組就完成了。
業務表單完成之後,再掛接到流程節點上。
另外可能需要再次完善一下流程節點的一些屬性,如增加每個節點的指定辦理人。
設定取業務表中的一些關鍵值用於流程中,如取報銷單中的報銷金額,請假單的請假天數,用於流程上下文中做條件使用。
最後,在業務表中,需要增加乙個流程例項id欄位,用於和業務流程關聯。在啟動業務流程的時候,需要將獲得的流程例項id寫入這個欄位中,使得業務記錄能和流程例項關聯上。
通過上面這些步驟,就建立好了業務流程了,可以啟動流程例項,辦理業務了。業務的流轉就按照流程建模中定義好的順序辦理,不需要再在業務表中增加狀態字段來控制業務的流轉了。業務的辦理過程變得有跡可循了,每個流程例項均可以列出執行的軌跡圖,或者列表出執行的軌跡。每個節點上辦理的業務也能通過查詢業務表單再次展現。
上面我們說過,業務表是儲存辦理業務資料的資料庫表,一般來說,乙個業務表只用於一種業務流程中,儲存同一型別的業務資料。當流程執行結束的時候,這些業務資料就被封存,不能在流程的節點中再次被編輯和修改。(除非直接開庫修改資料,或者另外做一些模組,直接修改業務資料)
但是,這些封存的業務資料,有可能會被再次啟用投入到另外乙個業務流程中去使用,這種需求可能是需求肯定是有應用場景的,不管是分段的處理過程還是後期又做的一些業務補充等,都有可能發生。
如果乙個業務表,需要再次用於另外乙個業務流程當中,則我們只需要給業務表,再增加乙個流程例項id欄位,就可以了,再次新啟動的業務流程獲得的流程例項id就寫入這個新的流程例項id欄位。和以前的那個流程例項id不相關了。只是如果是編輯同一條業務記錄的話,就可能把上次的資料給修改了。這樣理論上是可以支援n個業務流程。
總結一下,乙個業務表用於乙個業務流程中,用乙個流程例項id欄位和流程關聯,用於另外乙個業務流程中,則再建乙個流程例項id欄位和流程例項關聯。
乙個業務流程可能會涉及到多張業務表,一張業務表也可能涉及到多個業務流程。
mysql 一張表多個TimeStamp設定的方法
quote timestamp設定預設值是default current timestamp timestamp設定隨著表變化而自動更新是on update current timestamp 接下來為您詳細介紹 timestamp設定預設值是default current timestamp ti...
流程多節點呼叫同一張業務表單的錨點問題
在工作流的實施中,經常會有客戶提出,乙個業務流程中,同一張業務表單用於多個節點上,即流程的多個節點上掛的都是同一張業務表單,這樣對業務表單的製作就會輕鬆很多。在工作流軟體產品中,業務表單掛接到流程的節點上,流程啟動後,開啟節點上的業務表單,做業務環節的處理,提交表單後,流轉到下乙個業務節點。各個業務...
Oracle一張表的多個字段更新到另一張表中去
假設表a中有多個字段 province city 需要從b表獲取 兩張表的mobile一樣 總結了幾種寫法。一 update a set a.province select province from b where b.mobile a.mobile update a set a.city sel...