專利名稱:表單批量處理方法和裝置的制作方法
技術領域:
本發明涉及表單處理技術,尤其涉及一種表單批量處理方法和裝置。
背景技術:
在企業資源計劃系統(ERP)或基于信息整合集成的類似的實現業務過程信息化 的系統中,使用工作流技術對業務過程進行流程的編排,監控,任務的推送,執行等操作,例 如各種表單的審批等(此種流程也可稱為審批流),這其中為了提高效率,要求系統能將多 個表單進行一次操作,一般稱為批量處理。相關的技術一般會將所有需要批量處理的表單 生成一個流程實例,流程實例的含義是指用戶定義的業務流程在實際場景中發生后,計算 機系統中用來表現的一種信息化形式。我們知道,在相關的工作流技術中,通常是一張表單 發起一個流程實例,所以將多個表單生成一個流程實例的批量操作實際上是將批量處理問 題規約到處理一張表單的問題上,這樣的做法雖然簡化了對多個流程實例的操作,但是卻 有很多缺陷由于多張表單在一個流程實例中,批量任務受到了很多限制,比如有四張請假單 被批量處理為以下流程,如圖1所示。由于請假天數的不同,兩個請假天數為3天,兩個請假天數為5天,而用戶的請假 流程設計為小于等于三天為直接上級審批,大于三天由間接上級審批,那么此時就有路由 沖突了,相關技術則通過拆分來處理,也就是將滿足同一類條件的表單作為一個集合,拆分 發送至各個分支,各個分支完成后再合并成一個批量任務,再發送至后續節點(人力記錄) 進行處理。這樣的做法帶來兩個問題首先對于直接上級和間接上級的處理人,無法靈活的分割批量任務,而在實際場 景中處理人往往會在批量任務中進行選擇,即選擇一部分批量處理,另一部分由于各種原 因進行單獨處理或掛起,相關技術支持該場景十分困難,因為如果分割了批量任務,在AND 合并(即等待所有任務完成的分支合并)的場景下后續節點(人力記錄)無法觸發,如果 使用OR合并(即不等待所有任務完成的分支合并),則后續節點(人力記錄)會被觸發多 次。前者會使流程掛起,無法繼續執行;后者除了實現上復雜程度高帶來的開發上的風險和 使用上的易用性及可靠性問題外,還會由于多次觸發后續節點帶來時間上的浪費。其次,由于相關技術發起時就決定了批量任務的規模,即批量提交時的表單數目, 這樣如果再批量提交一次,又會產生一個流程實例生成一個批量任務,由于用戶無法合并 這兩個不同實例的批量任務,必須處理兩次,這樣也違背了提高效率的初衷。另外,按照用戶的使用習慣,在批量處理的時候,更傾向于一次的批處理是屬于同 一業務流程的表單,在實際應用場景中卻往往出現一種表單類型對應多個業務流程的情 況。比如,普通銷售發票審批流程和紅字銷售發票審批流程都是對應于銷售發票的業務流 程(紅字銷售發票代表現金的減少,如退貨流程;普通銷售發票表示現金的增加,如銷售流 程)。我們知道在現有的工作流技術中,可以在建立業務流程的過程中通過條件分支將這兩 種具體流程組合成一個業務流程,但這樣在批量處理一批任務時就可能包含了兩種銷售發票,用戶很難區分,與用戶的習慣相悖;另一方面過多的分支將會使整個業務流程圖變得復 雜不堪。因此,需要一種表單批量處理方式,能夠解決業務流程的拆分合并帶來的不能靈 活分割批量任務的問題,來提高業務流程的效率。
發明內容
本發明所要解決的技術問題在于,提供一種表單批量處理方式,能夠解決業務流 程的拆分合并帶來的不能靈活分割批量任務的問題,來提高業務流程的效率。鑒于以上,本發明提供了一種表單批量處理方法,包括步驟202,輸入多張表單; 步驟204,為每張表單查找具有與所述每張表單符合的路由條件的業務流程;步驟206,對 同一業務流程對應的表單進行批量處理,其中,對批量處理的每張表單均發起一個流程實 例以進行處理。在上述技術方案中,優選地,還包括步驟201,為每個業務流程設置路由條件。在上述技術方案中,優選地,所述步驟206中,根據用戶需要,對所述同一業務流 程對應的表單的部分或全部進行批量處理。在上述技術方案中,優選地,所述路由條件通過以XPATH形式表現的布爾表達式 表示。本技術方案中,路由條件可以有多種方式來表示,并不限于以XPATH形式表現的布爾 表達式。通過上述技術方案,不僅避免了相關技術由于多表單拆分合并帶來的一系列問 題,而且相對于含有多表單的業務流程,由于其具有的單一隔離性(每個表單發起一個流 程實例),出錯后不會影響其他業務流程,相比之下更加可靠,安全。通過動態組合相同業務 流程類別的任務達到批量處理,這樣既不受相關技術拆分合并所帶來問題的影響,又不受 批量提交表單次數的限制,可以多次提交,一次批處理更多的表單。用戶可以任意的分割批 量任務,無需合并,更貼近用戶的實際應用場景。本發明還提供了一種表單批量處理裝置,包括輸入模塊,用于輸入多張表單;匹 配模塊,為每張表單查找具有與所述每張表單符合的路由條件的業務流程;批量處理模塊, 對同一業務流程對應的表單進行批量處理,其中,對批量處理的每張表單均發起一個流程 實例以進行處理。在上述技術方案中,優選地,還包括設置模塊,為每個業務流程設置路由條件。在上述技術方案中,優選地,所述批量處理模塊包括任務組合模塊,將所述同一 業務流程對應的表單作為一個批量處理任務;任務處理模塊,對批量處理任務中的表單進 行批量處理。在上述技術方案中,優選地,所述批量處理模塊還包括列表顯示模塊,顯示所述 任務組合模塊生成的所有批量處理任務,用戶通過所述列表顯示模塊選擇批量處理任務, 使所述任務處理模塊對所述用戶選擇的批量處理任務中的表單進行批量處理。在上述技術方案中,優選地,所述列表顯示模塊還顯示所述所有批量處理任務中 的表單,所述用戶通過所述列表顯示模塊選擇表單,使所述任務處理模塊對所述用戶選擇 的表單進行批量處理。在上述技術方案中,優選地,所述路由條件通過布爾表達式表示。
4
通過上述技術方案,不僅避免了相關技術由于多表單拆分合并帶來的一系列問 題,而且相對于含有多表單的業務流程,由于其具有的單一隔離性,出錯后不會影響其他業 務流程,相比之下更加可靠,安全。通過動態組合相同業務流程類別的任務達到批量處理, 這樣既不受相關技術拆分合并所帶來問題的影響,又不受批量提交表單次數的限制,可以 多次提交,一次批處理更多的表單。用戶可以任意的分割批量任務,無需合并,更貼近用戶 的實際應用場景。
圖1是相關技術的表單批量處理的流程圖;圖2是根據本發明的一個實施例的表單批量處理方法的流程圖;圖3是根據本發明的一個實施例的表單批量處理裝置的框圖;圖4是根據本發明的一個實施例的表單批量處理裝置的示意圖;圖5是根據本發明的一個實施例的普通銷售發票的表單批量處理流程圖;圖6是根據本發明的一個實施例的紅字銷售發票的表單批量處理流程圖;以及圖7是根據本發明的一個實施例的銷售發票的表單批量處理流程圖。
具體實施例方式為了能夠更清楚地理解本發明的上述目的、特征和優點,下面結合附圖和具體實 施方式對本發明進行進一步的詳細描述。在下面的描述中闡述了很多具體細節以便于充分理解本發明,但是,本發明還可 以采用其他不同于在此描述的其他方式來實施,因此,本發明并不限于下面公開的具體實 施例的限制。圖2是根據本發明的一個實施例的表單批量處理方法的流程圖。如圖2所示,本發明提供了一種表單批量處理方法,包括步驟202,輸入多張表 單;步驟204,為每張表單查找具有與所述每張表單符合的路由條件的業務流程;步驟206, 對同一業務流程對應的表單進行批量處理,其中,對批量處理的每張表單均發起一個流程 實例以進行處理。在上述技術方案中,還包括步驟201,為每個業務流程設置路由條件。在上述技術方案中,所述步驟206中,根據用戶需要,對所述同一業務流程對應的 表單的部分或全部進行批量處理。在上述技術方案中,所述路由條件通過以XPATH形式表現的布爾表達式表示。本 技術方案中,路由條件可以有多種方式來表示,并不限于以XPATH形式表現的布爾表達式。在此本領域的技術人員應該理解,本發明的實施例的技術方案可以適用于任何類 型的表單。通過上述技術方案,不僅避免了相關技術由于多表單拆分合并帶來的一系列問 題,而且相對于含有多表單的業務流程,由于其具有的單一隔離性,出錯后不會影響其他業 務流程,相比之下更加可靠,安全。通過動態組合相同業務流程類別的任務達到批量處理, 這樣既不受相關技術拆分合并所帶來問題的影響,又不受批量提交表單次數的限制,可以 多次提交,一次批處理更多的表單。用戶可以任意的分割批量任務,無需合并,更貼近用戶的實際應用場景。圖3是根據本發明的一個實施例的表單批量處理裝置的框圖。如圖3所示,本發明還提供了一種表單批量處理裝置300,包括輸入模塊302,用 于輸入多張表單;匹配模塊304,為每張表單查找具有與所述每張表單符合的路由條件的 業務流程;批量處理模塊306,對同一業務流程對應的表單進行批量處理,其中,對批量處 理的每張表單均發起一個流程實例以進行處理。在上述技術方案中,還包括設置模塊,為每個業務流程設置路由條件。在上述技術方案中,所述批量處理模塊306包括任務組合模塊,將所述同一業務 流程對應的表單作為一個批量處理任務;任務處理模塊,對批量處理任務中的表單進行批
量處理。在上述技術方案中,所述批量處理模塊306還包括列表顯示模塊,顯示所述任務 組合模塊生成的所有批量處理任務,用戶通過所述列表顯示模塊選擇批量處理任務,使所 述任務處理模塊對所述用戶選擇的批量處理任務中的表單進行批量處理。在上述技術方案中,所述列表顯示模塊還顯示所述所有批量處理任務中的表單, 所述用戶通過所述列表顯示模塊選擇表單,使所述任務處理模塊對所述用戶選擇的表單進 行批量處理。在此本領域的技術人員應該理解,本發明的實施例的技術方案可以適用于任何類 型的表單。在上述技術方案中,所述路由條件通過布爾表達式表示。通過上述技術方案,不僅避免了相關技術由于多表單拆分合并帶來的一系列問 題,而且相對于含有多表單的業務流程,由于其具有的單一隔離性,出錯后不會影響其他業 務流程,相比之下更加可靠,安全。通過動態組合相同業務流程類別的任務達到批量處理, 這樣既不受相關技術拆分合并所帶來問題的影響,又不受批量提交表單次數的限制,可以 多次提交,一次批處理更多的表單。用戶可以任意的分割批量任務,無需合并,更貼近用戶 的實際應用場景。圖4至圖7描述了根據本發明的一個實施例的表單批量處理裝置進行表單處理。如圖4所示,表單批量處理裝置400包括設置模塊402,首先通過設置模塊402,設 置流程的開始路由條件,為區分一種表單類型的多個業務流程做準備。該條件可以是XPATH 類型的布爾表達式,或其他類型的布爾表達式,該表達式的引用表單的相關字段或和業務 流程有關的數據,計算出的結果為真(True)或假(False)。發起模塊404,該模塊(對應圖3的實施例中的匹配模塊304)根據設置模塊402 提供的開始路由條件,為每個業務流程代入發起表單上字段的具體數值進行計算(進行表 單輸入的輸入模塊未示出)。之后,計算結果為真即為該表單發起對應的流程實例,反之則不發起流程實例。組合模塊406,該模塊(對應圖3的實施例中的任務組合模塊)將通過當前處理人 的人員ID查找所擁有的待辦任務,即當前處理人在所有業務流程實例中待處理的節點上 的任務,然后根據各個任務中所包含的業務流程進行組合,相同類型的組合成一個批量任務。組合列表模塊408,該模塊(對應圖3實施例中的列表明細模塊)用于以列表的方式顯示組合后的批量任務,顯示為某業務流程的名稱(如銷售發票審批流程),然后后面帶 有子任務的數量,用戶通過點擊批量任務,進入明細列表。如果用戶多次提交已有批量任務 的表單,將不會增加批量任務,只會增加批量任務后的子任務數量.明細列表模塊410,該模塊用于以列表的方式顯示某一條批量任務的所包含的所 有子任務,用戶可以選擇部分(分割)或全部進行一次處理。如果用戶選擇全部任務進行 處理,這對應的批量任務在組合列表中將消失;如果用戶只選擇部分處理,則組合列表中的 批量任務顯示的子任務數量將對應的減少用戶選擇的數量。通過上述技術方案,不僅避免了相關技術由于多表單拆分合并帶來的一系列問 題,而且相對于含有多表單的業務流程,由于其具有的單一隔離性,出錯后不會影響其他業 務流程,相比之下更加可靠,安全。通過動態組合相同業務流程類別的任務達到批量處理, 這樣既不受相關技術拆分合并所帶來問題的影響,又不受批量提交表單次數的限制,可以 多次提交,一次批處理更多的表單。用戶可以任意的分割批量任務,無需合并,更貼近用戶 的實際應用場景。以下說明使用本實施例中的表單批量處理裝置400進行表單處理的流程。如圖5和圖6所示的兩個業務流程,都是針對銷售發票這一種表單類型的,分為普 通和紅字兩個業務流程,由于紅字發票和普通發票在業務邏輯上是相反的,所以我們通過 設置模塊402設置開始路由條件,如退貨標志等于1則發起紅字銷售發票流程,不等于1則 發起普通發票流程,這樣就可以將兩個業務流程區分開來,更加符合用戶的使用習慣,貼切 應用場景。人員A都參與了這兩個流程,那么當有10張普通銷售發票的業務流程處于人員 A待審,5張紅字銷售發票的業務流程也處于人員A待審時,組合模塊406將根據人員A的 ID找到一共15個待辦任務,然后根據待辦任務中的業務流程類別(普通和紅字),將10張 普通發票組合成一個批量任務,將5張紅字發票組合成一個批量任務,組合列表模塊408顯 示批量任務和明細列表模塊410將顯示細分的業務流程,供用戶選擇處理。在此,本領域的技術人員應該理解,本發明的實施例的技術方案應用于銷售發票 這一表單,還可以適用于所有類型的表單,并不用于限制本發明。如圖7所示,參照圖5和圖6中的實施例中的場景,將兩種流程組合為一個大的流 程,不設置開始路由條件(紅字和普通發票都會發起該流程)。由于只有一個業務流程,此 時組合模塊406根據人員A的ID找到15個代辦任務,將它們組合成一個批量任務經由組 合列表模塊408顯示,并由明細列表模塊410顯示共包含15個子任務來供用戶選擇處理。在此,本領域的技術人員應該理解,本發明的實施例的技術方案應用于銷售發票 這一表單,還可以適用于所有類型的表單,并不用于限制本發明。綜上,本發明提供的技術方案采用傳統的1 :1流程實例模型,不僅避免了相關技 術由于多表單拆分合并帶來的一系列問題,而且相對于含有多表單的業務流程,由于其具 有的單一隔離性,出錯后不會影響其他業務流程,相比之下更加可靠,安全。通過動態組合 相同流程類別的任務達到批量處理,這樣既不受相關技術拆分合并所帶來問題的影響,又 不受批量提交表單次數的限制,可以多次提交,一次批處理更多的表單。通過組合列表和明 細列表,用戶可以任意的分割批量任務,無需合并,更貼近用戶的實際應用場景,相比之下 相關技術是無法比擬的。通過設置開始路由條件提高了組合批量任務的靈活度。這樣不僅 一方面簡化了業務流程設計和監控的復雜度,另一方面由于批量任務是依據業務流程進行
7組合的,從而使批量處理時用戶能夠更加直觀的,符合認知習慣的操作。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技 術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修 改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
一種表單批量處理方法,其特征在于,包括步驟202,輸入多張表單;步驟204,為每張表單查找具有與所述每張表單符合的路由條件的業務流程;步驟206,對同一業務流程對應的表單進行批量處理,其中,對批量處理的每張表單均發起一個流程實例以進行處理。
2.根據權利要求1所述的表單批量處理方法,其特征在于,還包括 步驟201,為每個業務流程設置路由條件。
3.根據權利要求1所述的表單批量處理方法,其特征在于,所述步驟206中,根據用戶 需要,對所述同一業務流程對應的表單的部分或全部進行批量處理。
4.根據權利要求1至3中任一項所述的表單批量處理方法,其特征在于,所述路由條件 通過以XPATH形式表現的布爾表達式表示。
5.一種表單批量處理裝置,其特征在于,包括 輸入模塊,用于輸入多張表單;匹配模塊,為每張表單查找具有與所述每張表單符合的路由條件的業務流程; 批量處理模塊,對同一業務流程對應的表單進行批量處理,其中,對批量處理的每張表 單均發起一個流程實例以進行處理。
6.根據權利要求5所述的表單批量處理裝置,其特征在于,還包括 設置模塊,為每個業務流程設置路由條件。
7.根據權利要求5所述的表單批量處理裝置,其特征在于,所述批量處理模塊包括 任務組合模塊,將所述同一業務流程對應的表單作為一個批量處理任務;任務處理模塊,對批量處理任務中的表單進行批量處理。
8.根據權利要求7所述的表單批量處理裝置,其特征在于,所述批量處理模塊還包括 列表顯示模塊,顯示所述任務組合模塊生成的所有批量處理任務,用戶通過所述列表顯示模塊選擇批量處理任務,使所述任務處理模塊對所述用戶選擇 的批量處理任務中的表單進行批量處理。
9.根據權利要求8所述的表單批量處理裝置,其特征在于,所述列表顯示模塊還顯示 所述所有批量處理任務中的表單,所述用戶通過所述列表顯示模塊選擇表單,使所述任務處理模塊對所述用戶選擇的表 單進行批量處理。
10.根據權利要求5至9中任一項所述的表單批量處理裝置,其特征在于,所述路由條 件通過布爾表達式表示。
全文摘要
本發明提供了一種表單批量處理方法,包括步驟202,輸入多張表單;步驟204,為每張表單查找具有與所述每張表單符合的路由條件的業務流程;步驟206,對同一業務流程對應的表單進行批量處理,其中,對批量處理的每張表單均發起一個流程實例以進行處理。本發明還提供了一種表單批量處理裝置。根據本發明的技術方案,有效避免了由于多表單拆分合并帶來的一系列問題,通過動態組合相同流程類別的表單進行批量處理,通過列表顯示,用戶可以任意分割及組合批量任務,更貼近實際應用場景,簡化了業務流程和監控的復雜度。
文檔編號G06Q10/00GK101944210SQ201010292029
公開日2011年1月12日 申請日期2010年9月26日 優先權日2010年9月26日
發明者王昊沙 申請人:用友軟件股份有限公司