專利名稱:單據(jù)水印生成裝置和單據(jù)水印生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體而言,涉及一種單據(jù)水印生成裝置和一種單據(jù)水印生成方法。
背景技術(shù):
企業(yè)業(yè)務(wù)中,經(jīng)常需要在單據(jù)上加蓋各種印章,以表明單據(jù)流轉(zhuǎn)業(yè)務(wù)狀態(tài),ERP軟件中可以通過水印等圖形化方法來處理,顯示比較直觀,貼近業(yè)務(wù)實(shí)務(wù)。如圖1所示,該單據(jù)已經(jīng)審核并且沒有關(guān)閉,需要顯示已審核圖片(根據(jù)審核人、關(guān)閉人是否為空判斷),該單據(jù)表體部分記賬,需要顯示記賬中狀態(tài)(表體審核人是否為空)。通常采用的方法是通過程序直接計(jì)算單據(jù)狀態(tài),硬性編碼處理水印,需要頻繁與數(shù)據(jù)庫或者元數(shù)據(jù)交互。缺點(diǎn)在于編碼量大,業(yè)務(wù)邏輯死板,每增加一種水印就需要重新設(shè)計(jì)并編譯代碼,不利于部署,不易于客戶化(實(shí)施、客戶無法修改或者擴(kuò)充規(guī)則),不易于擴(kuò)展,過多查詢數(shù)據(jù)庫也增大了數(shù)據(jù)庫的壓力。因此,需要一種新的單據(jù)水印生成技術(shù),通過預(yù)制數(shù)據(jù)的方式可以方便處理水印的業(yè)務(wù)邏輯,用戶可以根據(jù)自己的需求定制水印,并且能夠提高生成水印的效率,降低數(shù)據(jù)庫的壓力。
發(fā)明內(nèi)容
本發(fā)明正是基于上述問題,提出了一種單據(jù)水印生成技術(shù),通過預(yù)制數(shù)據(jù)的方式可以方便處理水印的業(yè)務(wù)邏輯,用戶可以根據(jù)自己的需求定制水印,并且能夠提高生成水印的效率,降低數(shù)據(jù)庫的壓力。有鑒于此,本發(fā)明提出了一種單據(jù)水印生成裝置,包括規(guī)則生成單元,用于根據(jù)水印規(guī)則元數(shù)據(jù)生成預(yù)設(shè)規(guī)則;第一獲取單元,用于獲取需要生成水印的單據(jù)的元數(shù)據(jù);計(jì)算單元,用于根據(jù)所述預(yù)設(shè)規(guī)則和所述單據(jù)的元數(shù)據(jù),計(jì)算所述單據(jù)需要生成的水印和所述水印的位置;水印生成單元,用于根據(jù)所述水印和所述水印的位置在所述單據(jù)中生成相應(yīng)的水印。在該技術(shù)方案中,可以快速獲取單據(jù)水印,同時(shí)減少程序員編碼量,減少了錯(cuò)誤編碼的數(shù)量,提高了產(chǎn)品研發(fā)速度,并且能夠減少對(duì)單據(jù)元數(shù)據(jù)的反復(fù)查詢,從而降低了數(shù)據(jù)服務(wù)器端的壓力(現(xiàn)有技術(shù)中需要根據(jù)每條規(guī)則的數(shù)據(jù)約束反復(fù)查詢數(shù)據(jù)庫是否符合各條業(yè)務(wù)規(guī)則)。在上述技術(shù)方案中,優(yōu)選地,所述水印規(guī)則元數(shù)據(jù)包括所述水印所屬的水印組、所述水印的優(yōu)先級(jí)、待處理數(shù)據(jù)的來源、規(guī)則明細(xì)數(shù)據(jù)和單據(jù)與水印的關(guān)聯(lián)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,還包括判斷單元,用于判斷所述單據(jù)需要生成的水印中是否存在相同水印組的水??;第二獲取單元,用于在所述判斷單元的判斷結(jié)果為是的情況下,獲取所述相同水印組的水印中優(yōu)先級(jí)最高的水印作為所述單據(jù)需要生成的水印。
在上述技術(shù)方案中,優(yōu)選地,還包括編輯單元,用于根據(jù)用戶的編輯指令,對(duì)所述水印規(guī)則元數(shù)據(jù)進(jìn)行編輯。在該技術(shù)方案中,用戶可以根據(jù)自身企業(yè)業(yè)務(wù)要求自定義,提高產(chǎn)品交付能力和滿意度,易于部署,易于客戶化,易于擴(kuò)展。在上述任一技術(shù)方案中,優(yōu)選地,所述水印的類型包括以下至少之一開立、審核中、審核、關(guān)閉、記賬中、記賬。根據(jù)本發(fā)明的又一方面,還提出了一種單據(jù)水印生成方法,包括步驟202,根據(jù)水印規(guī)則元數(shù)據(jù)生成預(yù)設(shè)規(guī)則;步驟204,獲取需要生成水印的單據(jù)的元數(shù)據(jù);步驟206,根據(jù)所述預(yù)設(shè)規(guī)則和所述單據(jù)的元數(shù)據(jù),計(jì)算所述單據(jù)需要生成的水印和所述水印的位置;步驟208,根據(jù)所述水印和所述水印的位置在所述單據(jù)中生成相應(yīng)的水印。在該技術(shù)方案中,可以快速獲取單據(jù)水印,同時(shí)減少程序員編碼量,減少了錯(cuò)誤編碼的數(shù)量,提高了產(chǎn)品研發(fā)速度,并且能夠減少對(duì)單據(jù)元數(shù)據(jù)的反復(fù)查詢,從而降低了數(shù)據(jù)服務(wù)器端的壓力(現(xiàn)有技術(shù)中需要根據(jù)每條規(guī)則的數(shù)據(jù)約束反復(fù)查詢數(shù)據(jù)庫是否符合各條業(yè)務(wù)規(guī)則)。在上述技術(shù)方案中,優(yōu)選地,所述水印規(guī)則元數(shù)據(jù)包括所述水印所屬的水印組、所述水印的優(yōu)先級(jí)、待處理數(shù)據(jù)的來源、規(guī)則明細(xì)數(shù)據(jù)和單據(jù)與水印的關(guān)聯(lián)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,所述步驟206還包括判斷所述單據(jù)需要生成的水印中是否存在相同水印組的水印,若存在,則獲取所述相同水印組的水印中優(yōu)先級(jí)最高的水印作為所述單據(jù)需要生成的水印。在上述技術(shù)方案中,優(yōu)選地,還包括根據(jù)用戶的編輯指令,對(duì)所述水印規(guī)則元數(shù)據(jù)進(jìn)行編輯。在該技術(shù)方案中,用戶可以根據(jù)自身企業(yè)業(yè)務(wù)要求自定義,提高產(chǎn)品交付能力和滿意度,易于部署,易于客戶化,易于擴(kuò)展。在上述任一技術(shù)方案中,優(yōu)選地,所述水印的類型包括以下至少之一開立、審核中、審核、關(guān)閉、記賬中、記賬。通過以上技術(shù)方案,通過預(yù)制數(shù)據(jù)的方式可以方便處理水印的業(yè)務(wù)邏輯,用戶可以根據(jù)自己的需求定制水印,并且能夠提高生成水印的效率,降低數(shù)據(jù)庫的壓力。
圖1示出了現(xiàn)有技術(shù)中單據(jù)水印的示意圖;圖2示出了根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成裝置的框圖;圖3示出了根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成方法的流程圖;圖4示出了根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成裝置的結(jié)構(gòu)圖;圖5A至圖示出了根據(jù)本發(fā)明的實(shí)施例的生成單據(jù)水印的示意圖。
具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。圖2示出了根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成裝置的框圖。如圖2所示,根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成裝置100包括規(guī)則生成單元102,用于根據(jù)水印規(guī)則元數(shù)據(jù)生成預(yù)設(shè)規(guī)則;第一獲取單元104,用于獲取需要生成水印的單據(jù)的元數(shù)據(jù);計(jì)算單元106,用于根據(jù)預(yù)設(shè)規(guī)則和單據(jù)的元數(shù)據(jù),計(jì)算單據(jù)需要生成的水印和水印的位置;水印生成單元108,用于根據(jù)水印和水印的位置在單據(jù)中生成相應(yīng)的水印??梢钥焖佾@取單據(jù)水印,同時(shí)減少程序員編碼量,減少了錯(cuò)誤編碼的數(shù)量,提高了產(chǎn)品研發(fā)速度,并且能夠減少對(duì)單據(jù)元數(shù)據(jù)的反復(fù)查詢,從而降低了數(shù)據(jù)服務(wù)器端的壓力(現(xiàn)有技術(shù)中需要根據(jù)每條規(guī)則的數(shù)據(jù)約束反復(fù)查詢數(shù)據(jù)庫是否符合各條業(yè)務(wù)規(guī)則)。優(yōu)選地,水印規(guī)則元數(shù)據(jù)包括水印所屬的水印組、水印的優(yōu)先級(jí)、待處理數(shù)據(jù)的來源、規(guī)則明細(xì)數(shù)據(jù)和單據(jù)與水印的關(guān)聯(lián)關(guān)系。優(yōu)選地,根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成裝置100還包括判斷單元110,用于判斷單據(jù)需要生成的水印中是否存在相同水印組的水??;第二獲取單元112,用于在判斷單元110的判斷結(jié)果為是的情況下,獲取相同水印組的水印中優(yōu)先級(jí)最高的水印作為單據(jù)需要生成的水印。優(yōu)選地,根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成裝置100還包括編輯單元114,用于根據(jù)用戶的編輯指令,對(duì)水印規(guī)則元數(shù)據(jù)進(jìn)行編輯。用戶可以根據(jù)自身企業(yè)業(yè)務(wù)要求自定義,提高產(chǎn)品交付能力和滿意度,易于部署,易于客戶化,易于擴(kuò)展。優(yōu)選地,水印的類型包括以下至少之一開立、審核中、審核、關(guān)閉、記賬中、記賬。圖3示出了根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成方法的流程圖。如圖3所示,根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成方法包括步驟202,根據(jù)水印規(guī)則元數(shù)據(jù)生成預(yù)設(shè)規(guī)則;步驟204,獲取需要生成水印的單據(jù)的元數(shù)據(jù);步驟206,根據(jù)預(yù)設(shè)規(guī)則和單據(jù)的元數(shù)據(jù),計(jì)算單據(jù)需要生成的水印和水印的位置;步驟208,根據(jù)水印和水印的位置在單據(jù)中生成相應(yīng)的水印。可以快速獲取單據(jù)水印,同時(shí)減少程序員編碼量,減少了錯(cuò)誤編碼的數(shù)量,提高了產(chǎn)品研發(fā)速度,并且能夠減少對(duì)單據(jù)元數(shù)據(jù)的反復(fù)查詢,從而降低了數(shù)據(jù)服務(wù)器端的壓力(現(xiàn)有技術(shù)中需要根據(jù)每條規(guī)則的數(shù)據(jù)約束反復(fù)查詢數(shù)據(jù)庫是否符合各條業(yè)務(wù)規(guī)則)。優(yōu)選地,水印規(guī)則元數(shù)據(jù)包括水印所屬的水印組、水印的優(yōu)先級(jí)、待處理數(shù)據(jù)的來源、規(guī)則明細(xì)數(shù)據(jù)和單據(jù)與水印的關(guān)聯(lián)關(guān)系。優(yōu)選地,步驟206還包括判斷單據(jù)需要生成的水印中是否存在相同水印組的水印,若存在,則獲取相同水印組的水印中優(yōu)先級(jí)最高的水印作為單據(jù)需要生成的水印。優(yōu)選地,根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成方法還包括根據(jù)用戶的編輯指令,對(duì)水印規(guī)則元數(shù)據(jù)進(jìn)行編輯。用戶可以根據(jù)自身企業(yè)業(yè)務(wù)要求自定義,提高產(chǎn)品交付能力和滿意度,易于部署,易于客戶化,易于擴(kuò)展。
優(yōu)選地,水印的類型包括以下至少之一開立、審核中、審核、關(guān)閉、記賬中、記賬。圖4示出了根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成裝置的結(jié)構(gòu)圖。如圖4所示,根據(jù)本發(fā)明的實(shí)施例的單據(jù)水印生成裝置可以包括邏輯預(yù)置單元302和單據(jù)狀態(tài)映射解析單元304。邏輯預(yù)置單元302主要用于圖形化的預(yù)置水印規(guī)則的元數(shù)據(jù)錄入和持久化功能,可以通過數(shù)據(jù)庫存儲(chǔ)元數(shù)據(jù),加載時(shí)緩存在客戶端。主要實(shí)現(xiàn)規(guī)則主體錄入、規(guī)則明細(xì)數(shù)據(jù)錄入、單據(jù)水印關(guān)聯(lián)表錄入,用戶(也可以是開發(fā)人員)可以通過此裝置實(shí)現(xiàn)對(duì)預(yù)制數(shù)據(jù)的預(yù)制和修改,并支持用戶通過界面增加或者修改元數(shù)據(jù)以實(shí)現(xiàn)客戶化自定義水印(例如增加新的水印或者修改水印所顯示的圖片)。 水印規(guī)則元數(shù)據(jù)主要由以下部分組成1.規(guī)則主體,規(guī)則主體數(shù)據(jù)主要用來描述規(guī)則所屬的水印組、規(guī)則需要顯示的圖片以及規(guī)則的優(yōu)先級(jí),單據(jù)元數(shù)據(jù)位置則表明規(guī)則所判斷的數(shù)據(jù)來源(表頭或者表體或者表頭和表體混合),具體關(guān)系如表I所不。
水印組編碼I水印圖片~I水印規(guī)則編碼I優(yōu)先級(jí)別I單據(jù)元數(shù)據(jù)位置 I關(guān)閉圖片關(guān)閉100表頭
審核圖片~WM90 表I2.規(guī)則明細(xì)數(shù)據(jù),用于描述規(guī)則具體的業(yè)務(wù)邏輯要求,具體關(guān)系如表2所示。
水印明細(xì)組號(hào)單據(jù)元條件類型符合條元數(shù)據(jù)固定值
規(guī)則編碼___數(shù)據(jù)項(xiàng)目___件的記錄數(shù)項(xiàng)目類型__
關(guān)閉I__關(guān)閉人不等于空不考慮字符串空
審核 I_ 審核人不等于空不考慮字符串I 空表23.單據(jù)水印關(guān)聯(lián)關(guān)系,用于記錄單據(jù)與規(guī)則間的對(duì)應(yīng)關(guān)系,即在某個(gè)系統(tǒng)的某個(gè)單據(jù)所需要顯示的水印的對(duì)照關(guān)系,具體關(guān)系如表3所示。
單據(jù)類型唯一標(biāo)識(shí)I水印規(guī)則編碼 I系統(tǒng)id 采購入庫單SWW
采購入庫單WlWW表3同一組水印,根據(jù)優(yōu)先級(jí),只顯示符合條件的優(yōu)先級(jí)最高的水印,例如關(guān)閉的并審核的單據(jù),只顯示關(guān)閉水印,不顯示審核水印,這種情況需要將關(guān)閉規(guī)則和審核規(guī)則的水印組編碼設(shè)置為同一個(gè)組編碼,依照業(yè)務(wù)要求設(shè)定每種水印的優(yōu)先級(jí)別。單據(jù)狀態(tài)映射解析單元304主要用戶獲取業(yè)務(wù)元數(shù)據(jù),可以設(shè)置在客戶端,根據(jù)業(yè)務(wù)元數(shù)據(jù)和傳入的需要顯示的單據(jù)元數(shù)據(jù),按照水印分組和優(yōu)先級(jí)計(jì)算出當(dāng)前單據(jù)所需要顯示的水印和水印位置,僅在加載水印規(guī)則元數(shù)據(jù)時(shí)訪問數(shù)據(jù)庫,判斷水印是否顯示時(shí)使用單據(jù)元數(shù)據(jù)。元數(shù)據(jù)判斷邏輯處理包括以下幾個(gè)特點(diǎn)1.單據(jù)元表頭數(shù)據(jù)項(xiàng)某項(xiàng)或者某幾項(xiàng)分別為特定值或者為空或者不為空。例如判斷單據(jù)審核人不為空時(shí)則可以顯示審核圖片。2.單據(jù)元數(shù)據(jù)表體數(shù)據(jù)存在或者不存在某項(xiàng)或者某幾項(xiàng)為分別為特定值或者為空或者不為空的紀(jì)錄,即符合條件的行存在或者不存在符合條件的行。例如單據(jù)上所有需要幾張記賬的行記賬人都不為空,即需要記賬標(biāo)志為真記賬人為空的記錄數(shù)據(jù)為零時(shí)需要顯示已記賬水印。3.對(duì)于多層形式的單據(jù),可以無限支持邏輯判斷,邏輯支持條件同上述第2條。4.在預(yù)制中需要提供元數(shù)據(jù)值類型以處理Null值。例如審核人為空,由于審核人為string類型,需要將單據(jù)元數(shù)據(jù)中為Null值轉(zhuǎn)換為等空字符串處理。通過以上設(shè)置可以處理目前絕大部分的水印邏輯,不需要單獨(dú)特殊處理,避免了額外查詢數(shù)據(jù)庫的開銷,只需要規(guī)則元數(shù)據(jù)和用來顯示的單據(jù)元數(shù)據(jù),就可以在客戶端或者應(yīng)用服務(wù)器計(jì)算并處理水印的顯示,不需要反復(fù)查詢數(shù)據(jù),降低了數(shù)據(jù)庫的訪問壓力。圖5A至圖示出了根據(jù)本發(fā)明的實(shí)施例的生成單據(jù)水印生成的示意圖。圖5A、圖5B、圖5C、圖分別為單據(jù)開立、審核、審核和記賬中、審核和已記賬狀態(tài)顯示對(duì)應(yīng)的水印??梢栽O(shè)置如下預(yù)制水印規(guī)則規(guī)則主數(shù)據(jù)如表4所示
權(quán)利要求
1.一種單據(jù)水印生成裝置,其特征在于,包括 規(guī)則生成單元,用于根據(jù)水印規(guī)則元數(shù)據(jù)生成預(yù)設(shè)規(guī)則; 第一獲取單元,用于獲取需要生成水印的單據(jù)的元數(shù)據(jù); 計(jì)算單元,用于根據(jù)所述預(yù)設(shè)規(guī)則和所述單據(jù)的元數(shù)據(jù),計(jì)算所述單據(jù)需要生成的水印和所述水印的位置; 水印生成單元,用于根據(jù)所述水印和所述水印的位置在所述單據(jù)中生成相應(yīng)的水印。
2.根據(jù)權(quán)利要求1所述的單據(jù)水印生成裝置,其特征在于,所述水印規(guī)則元數(shù)據(jù)包括所述水印所屬的水印組、所述水印的優(yōu)先級(jí)、待處理數(shù)據(jù)的來源、規(guī)則明細(xì)數(shù)據(jù)和單據(jù)與水印的關(guān)聯(lián)關(guān)系。
3.根據(jù)權(quán)利要求2所述的單據(jù)水印生成裝置,其特征在于,還包括 判斷單元,用于判斷所述單據(jù)需要生成的水印中是否存在相同水印組的水?。? 第二獲取單元,用于在所述判斷單元的判斷結(jié)果為是的情況下,獲取所述相同水印組的水印中優(yōu)先級(jí)最高的水印作為所述單據(jù)需要生成的水印。
4.根據(jù)權(quán)利要求1所述的單據(jù)水印生成裝置,其特征在于,還包括 編輯單元,用于根據(jù)用戶的編輯指令,對(duì)所述水印規(guī)則元數(shù)據(jù)進(jìn)行編輯。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的單據(jù)水印生成裝置,其特征在于,所述水印的類型包括以下至少之一開立、審核中、審核、關(guān)閉、記賬中、記賬。
6.一種單據(jù)水印生成方法,其特征在于,包括 步驟202,根據(jù)水印規(guī)則元數(shù)據(jù)生成預(yù)設(shè)規(guī)則; 步驟204,獲取需要生成水印的單據(jù)的元數(shù)據(jù); 步驟206,根據(jù)所述預(yù)設(shè)規(guī)則和所述單據(jù)的元數(shù)據(jù),計(jì)算所述單據(jù)需要生成的水印和所述水印的位置; 步驟208,根據(jù)所述水印和所述水印的位置在所述單據(jù)中生成相應(yīng)的水印。
7.根據(jù)權(quán)利要求6所述的單據(jù)水印生成方法,其特征在于,所述水印規(guī)則元數(shù)據(jù)包括所述水印所屬的水印組、所述水印的優(yōu)先級(jí)、待處理數(shù)據(jù)的來源、規(guī)則明細(xì)數(shù)據(jù)和單據(jù)與水印的關(guān)聯(lián)關(guān)系。
8.根據(jù)權(quán)利要求7所述的單據(jù)水印生成方法,其特征在于,所述步驟206還包括判斷所述單據(jù)需要生成的水印中是否存在相同水印組的水印,若存在,則獲取所述相同水印組的水印中優(yōu)先級(jí)最高的水印作為所述單據(jù)需要生成的水印。
9.根據(jù)權(quán)利要求6所述的單據(jù)水印生成方法,其特征在于,還包括根據(jù)用戶的編輯指令,對(duì)所述水印規(guī)則元數(shù)據(jù)進(jìn)行編輯。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的單據(jù)水印生成方法,其特征在于,所述水印的類型包括以下至少之一開立、審核中、審核、關(guān)閉、記賬中、記賬。
全文摘要
本發(fā)明提供了一種單據(jù)水印生成裝置,包括規(guī)則生成單元,用于根據(jù)水印規(guī)則元數(shù)據(jù)生成預(yù)設(shè)規(guī)則;第一獲取單元,用于獲取需要生成水印的單據(jù)的元數(shù)據(jù);計(jì)算單元,用于根據(jù)預(yù)設(shè)規(guī)則和單據(jù)的元數(shù)據(jù),計(jì)算單據(jù)需要生成的水印和水印的位置;水印生成單元,用于根據(jù)水印和水印的位置在單據(jù)中生成相應(yīng)的水印。本發(fā)明還提出了一種單據(jù)水印生成方法。通過預(yù)制數(shù)據(jù)的方式可以方便處理水印的業(yè)務(wù)邏輯,用戶可以根據(jù)自己的需求定制水印,并且能夠提高生成水印的效率,降低數(shù)據(jù)庫的壓力。
文檔編號(hào)G06F9/44GK103019698SQ20121048088
公開日2013年4月3日 申請(qǐng)日期2012年11月22日 優(yōu)先權(quán)日2012年11月22日
發(fā)明者朱治國 申請(qǐng)人:用友軟件股份有限公司