專利名稱:基于通用過濾條件復(fù)合組件的單據(jù)查詢方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)頁單據(jù)查詢技術(shù)領(lǐng)域,尤其涉及一種基于通用過濾條件復(fù)合組件的單據(jù)查詢方法及裝置。
背景技術(shù):
如圖I所示,在ERP (Enterprise Resource Planning,企業(yè)資源規(guī)劃)系統(tǒng)中,用戶在對單據(jù)進(jìn)行查詢時,需要在運(yùn)行期動態(tài)設(shè)置過濾條件。若所選過濾條件為枚舉型,則t匕較值部分需要提供下拉框控件(下拉框控件中包含可選值);若所選過濾條件為文本型或數(shù)值型,則比較值部分需要提供普通輸入框;若所選過濾條件為日期型,則比較值部分需要提供日期控件;若所選過濾條件為字典型,則比較值部分需要提供F7控件。
一個單據(jù)對應(yīng)一個查詢頁面,每個查詢頁面中需要多組過濾條件控件(過濾條件控件組),以便用戶能一次設(shè)置多個過濾條件進(jìn)行查詢。在現(xiàn)有技術(shù)中,針對每個單據(jù),在開發(fā)期均需要預(yù)先通過硬編碼寫入若干需要的過濾條件及其對應(yīng)的控件,同時綁定過濾條件對應(yīng)的枚舉類,以及過濾條件變化時觸發(fā)的后臺action綁定。其中,在后臺程序中響應(yīng)過濾條件變化時觸發(fā)的action方法,會根據(jù)當(dāng)前過濾條件對應(yīng)的類型構(gòu)造比較值控件,并替換原比較值控件。但是,現(xiàn)有的過濾條件及控件設(shè)置方法存在以下缺陷I、由于過濾條件有多組,需要開發(fā)人員在xhtml (extensible HyperText MarkupLanguage,可擴(kuò)展超文本置標(biāo)語言)文件中多次重復(fù)加入大量的具有相同展現(xiàn)方式和操作模式的控件組,導(dǎo)致開發(fā)工作量大,而且xhtml文件過于復(fù)雜和繁瑣;2、當(dāng)需要在其他頁面中復(fù)用已建立的過濾條件控件組時,其操作不方便,只能將已建立的過濾條件控件組完全復(fù)制到其他xhtml文件中;3、由于每個單據(jù)對應(yīng)一個查詢頁面,在每個查詢頁面中,控件的Action路徑必須由開發(fā)人員手工設(shè)置,導(dǎo)致操作繁瑣,且效率低。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種基于通用過濾條件復(fù)合組件的單據(jù)查詢方法及裝置,旨在簡化單據(jù)查詢過程,降低單據(jù)查詢頁面開發(fā)成本。為了達(dá)到上述目的,本發(fā)明提出一種基于通用過濾條件復(fù)合組件的單據(jù)查詢方法,包括構(gòu)造過濾條件復(fù)合組件,并將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中;接收用戶查詢所述單據(jù)的查詢指令;根據(jù)所述查詢指令以及所述查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢。優(yōu)選地,所述構(gòu)造過濾條件復(fù)合組件,并將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中的步驟包括將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符及比較值控件連同所述比較值控件間的聯(lián)動邏輯封裝為過濾條件復(fù)合組件;將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面的xhtml文件中。優(yōu)選地,所述根據(jù)查詢指令以及所述查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢的步驟包括根據(jù)所述查詢指令加載所述查詢頁面文件;對所述查詢頁面文件及所述查詢頁面文件中的所述過濾條件復(fù)合組件進(jìn)行渲染,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑;根據(jù)所述查詢指令選擇的切換過濾條件以及所述切換過濾條件對應(yīng)的受觸發(fā) Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。優(yōu)選地,所述對查詢頁面文件及所述查詢頁面文件中的所述過濾條件復(fù)合組件進(jìn)行渲染,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑的步驟包括將所述查詢頁面文件渲染為html ;將所述查詢頁面文件中的所述過濾條件復(fù)合組件渲染為html,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑。優(yōu)選地,所述根據(jù)查詢指令選擇的切換過濾條件以及所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯的步驟包括根據(jù)所述查詢指令選擇的切換過濾條件,從所述查詢頁面文件中獲取所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑;根據(jù)所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑執(zhí)行過濾條件字段變更邏輯;查找所述過濾條件字段的類型及關(guān)聯(lián)實體對象;根據(jù)查找到的過濾條件字段的類型及關(guān)聯(lián)實體對象構(gòu)造比較值控件對象,并替換原比較值控件對象;對構(gòu)造的比較值控件對象進(jìn)行渲染,并發(fā)送至查詢頁面進(jìn)行顯示。本發(fā)明還提出一種基于通用過濾條件復(fù)合組件的單據(jù)查詢裝置,包括復(fù)合組件構(gòu)造模塊,用于構(gòu)造過濾條件復(fù)合組件,并將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中;接收模塊,用于接收用戶查詢所述單據(jù)的查詢指令;查詢模塊,用于根據(jù)所述查詢指令以及所述查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢。優(yōu)選地,所述復(fù)合組件構(gòu)造模塊包括封裝單元,用于將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符及比較值控件連同所述比較值控件間的聯(lián)動邏輯封裝為過濾條件復(fù)合組件;放入單元,用于將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面的xhtml文件中。優(yōu)選地,所述查詢模塊包括加載單元,用于根據(jù)所述查詢指令加載所述查詢頁面文件;渲染單元,用于對所述查詢頁面文件及所述查詢頁面文件中的所述過濾條件復(fù)合組件進(jìn)行渲染,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑;響應(yīng)操作單元,用于根據(jù)所述查詢指令選擇的切換過濾條件以及所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。優(yōu)選地,所述渲染單元還用于將所述查詢頁面文件渲染為html ;以及將所述查詢頁面文件中的所述過濾條件復(fù)合組件渲染為html,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action 路徑。優(yōu)選地,所述響應(yīng)操作單元包括獲取子單元,用于根據(jù)所述查詢指令選擇的切換過濾條件,從所述查詢頁面文件中獲取所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑;邏輯執(zhí)行子單元,用于根據(jù)所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑執(zhí)行過濾條件字段變更邏輯; 查找子單元,用于查找所述過濾條件字段的類型及關(guān)聯(lián)實體對象;構(gòu)造子單元,用于根據(jù)查找到的過濾條件字段的類型及關(guān)聯(lián)實體對象構(gòu)造比較值控件對象,并替換原比較值控件對象;渲染子單元,用于對構(gòu)造的比較值控件對象進(jìn)行渲染,并發(fā)送至查詢頁面進(jìn)行顯
/Jn ο本發(fā)明提出的一種基于通用過濾條件復(fù)合組件的單據(jù)查詢方法及裝置,將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符和比較值控件封裝為一個通用的過濾條件復(fù)合組件,同時將控件間的聯(lián)動邏輯封裝到過濾條件復(fù)合組件中進(jìn)行統(tǒng)一處理,一組過濾條件控件對應(yīng)一個復(fù)合組件,業(yè)務(wù)開發(fā)人員只需給復(fù)合組件指定對應(yīng)的過濾條件字段的名稱,無需其他編碼工作,其他顯示和響應(yīng)邏輯均由復(fù)合組件負(fù)責(zé)處理,而且無需給過濾條件復(fù)合組件手工設(shè)置Action路徑,從而減少了開發(fā)人員的工作量,降低了單據(jù)查詢頁面的開發(fā)成本,并簡化了單據(jù)查詢過程。
圖I是現(xiàn)有的ERP系統(tǒng)中用戶進(jìn)行單據(jù)查詢的狀態(tài)示意圖;圖2是本發(fā)明基于通用過濾條件復(fù)合組件的單據(jù)查詢方法較佳實施例的流程示意圖;圖3是本發(fā)明基于通用過濾條件復(fù)合組件的單據(jù)查詢方法較佳實施例中構(gòu)造過濾條件復(fù)合組件,并將過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中的流程示意圖;圖4是本發(fā)明基于通用過濾條件復(fù)合組件的單據(jù)查詢方法較佳實施例中根據(jù)查詢指令以及查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢的流程示意圖;圖5是本發(fā)明基于通用過濾條件復(fù)合組件的單據(jù)查詢方法較佳實施例中根據(jù)查詢指令選擇的切換過濾條件以及切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯的流程示意圖;圖6是本發(fā)明基于通用過濾條件復(fù)合組件的單據(jù)查詢裝置較佳實施例的結(jié)構(gòu)示意圖;圖7是本發(fā)明基于通用過濾條件復(fù)合組件的單據(jù)查詢裝置較佳實施例中復(fù)合組件構(gòu)造模塊的結(jié)構(gòu)示意圖8是本發(fā)明基于通用過濾條件復(fù)合組件的單據(jù)查詢裝置較佳實施例中查詢模塊的結(jié)構(gòu)示意圖;圖9是本發(fā)明基于通用過濾條件復(fù)合組件的單據(jù)查詢裝置較佳實施例中響應(yīng)操作單元的結(jié)構(gòu)示意圖。為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進(jìn)一步詳述。
具體實施例方式本發(fā)明實施例解決方案主要是將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符和比較值控件封裝為一個通用的過濾條件復(fù)合組件,同時將控件間的聯(lián)動邏輯封裝到過濾條件復(fù)合組件中進(jìn)行統(tǒng)一處理,一組過濾條件控件對應(yīng)一個復(fù)合組件,業(yè)務(wù)開發(fā)人員只需給復(fù)合組件指定對應(yīng)的過濾條件字段的名稱,無需其他編碼工作,也無需給過濾條件復(fù)合組件手工設(shè)置Action路徑,以減少開發(fā)人員的工作量,降低單據(jù)查詢頁面的開發(fā)成本,并簡化單據(jù)查詢過程。 如圖2所示,本發(fā)明較佳實施例提出一種基于通用過濾條件復(fù)合組件的單據(jù)查詢方法,包括步驟SlOl,構(gòu)造過濾條件復(fù)合組件,并將過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中;如前所述,一個單據(jù)對應(yīng)一個查詢頁面,每個查詢頁面中需要多組過濾條件控件,以便用戶能一次設(shè)置多個過濾條件進(jìn)行查詢。在現(xiàn)有技術(shù)中,由于過濾條件有多組,需要開發(fā)人員在xhtml文件中多次重復(fù)加入大量的具有相同展現(xiàn)方式和操作模式的控件組,導(dǎo)致開發(fā)工作量大。執(zhí)行本實施例方法的裝置將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符及比較值控件封裝為一個通用的復(fù)合組件即過濾條件復(fù)合組件,同時將比較值控件間的聯(lián)動邏輯也封裝到過濾條件復(fù)合組件中統(tǒng)一處理,由此達(dá)到一組過濾條件控件對應(yīng)一個復(fù)合組件的效果。業(yè)務(wù)開發(fā)人員只需給過濾條件復(fù)合組件指定對應(yīng)的過濾條件字段的名稱,而無需其他編碼工作,其他顯示和響應(yīng)邏輯操作均由過濾條件復(fù)合組件負(fù)責(zé)處理。封裝完成后的過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中,該查詢頁面文件為xhtml文件,一個xhtml文件可以包含多個上述過濾條件復(fù)合組件,每個過濾條件復(fù)合組件可以通過網(wǎng)頁技術(shù)進(jìn)行定位。相比現(xiàn)有技術(shù),由于查詢頁面的xhtml文件只包含幾個上述過濾條件復(fù)合組件,使得其內(nèi)容簡單清晰明了,便于單據(jù)的查詢操作。步驟S102,接收用戶查詢單據(jù)的查詢指令;步驟S103,根據(jù)查詢指令以及查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢。上述步驟S102及步驟S103中,當(dāng)用戶需要查詢單據(jù)時,通過客戶端發(fā)送查指令觸發(fā)單據(jù)的查詢頁面,執(zhí)行本實施例方法的裝置則根據(jù)查詢指令以及查詢頁面文件中的過濾條件復(fù)合組件進(jìn)行單據(jù)查詢操作。具體地,上述裝置中包括查詢頁面對應(yīng)的xhtml文件、查詢頁面渲染器、過濾條件復(fù)合組件渲染器、復(fù)合組件邏輯處理器以及元數(shù)據(jù)探查器等;其中查詢頁面對應(yīng)的xhtml文件包含若干過濾條件復(fù)合組件;
查詢頁面渲染器負(fù)責(zé)將整個查詢頁面文件(xhtml)渲染為最終的html (HyperText Mark-up Language,超文本標(biāo)記語言或超文本鏈接標(biāo)示語言)。過濾條件復(fù)合組件渲染器負(fù)責(zé)將查詢頁面文件中的過濾條件復(fù)合組件渲染為html,同時綁定切換過濾條件時需要觸發(fā)的Action路徑。被觸發(fā)的ActionHandler處理函數(shù)中包含過濾條件控件的信息(比如控件的ID、父控件等),上述處理函數(shù)通過Action路徑即可獲得比較符、比較值控件。復(fù)合組件邏輯處理器用于響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。元數(shù)據(jù)探查器用于將單據(jù)的開發(fā)提供給BOS平臺,通過BOS平臺可以定義大量元數(shù)據(jù),在本實施例中,通過BOS平臺設(shè)置單據(jù)對應(yīng)的數(shù)據(jù)實體,其中數(shù)據(jù)實體包含單據(jù)實體的字段以及字段類型,如果單據(jù)實體的字段為關(guān)聯(lián)類型,則元數(shù)據(jù)探查器還需設(shè)置單據(jù)實體的字段所關(guān)聯(lián)的實體。元數(shù)據(jù)探查器訪問當(dāng)前查詢頁面所對應(yīng)的單據(jù)的實體元數(shù)據(jù),并返回當(dāng)前過濾條件字段的類型以及所關(guān)聯(lián)的實體對象。 以下詳細(xì)說明本實施例根據(jù)查詢指令以及查詢頁面文件中的過濾條件復(fù)合組件進(jìn)行單據(jù)查詢的操作流程當(dāng)單據(jù)的查詢頁面受觸發(fā)后,本實施例中裝置則根據(jù)查詢指令加載查詢頁面文件,通過查詢頁面渲染器對查詢頁面文件進(jìn)行渲染,將查詢頁面文件渲染為html文件;同時通過過濾條件復(fù)合組件渲染器對查詢頁面文件中的過濾條件復(fù)合組件進(jìn)行渲染,將查詢頁面文件中的過濾條件復(fù)合組件渲染為html文件,并綁定切換過濾條件時對應(yīng)的需要觸發(fā)的Action路徑。然后通過復(fù)合組件邏輯處理器根據(jù)用戶在切換過濾條件選項中設(shè)置的過濾條件,以及切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。具體為,復(fù)合組件邏輯處理器根據(jù)切換過濾條件對應(yīng)的受觸發(fā)Action路徑執(zhí)行過濾條件字段變更邏輯,根據(jù)執(zhí)行結(jié)果從元數(shù)據(jù)探查器查找過濾條件字段的類型及關(guān)聯(lián)實體對象。復(fù)合組件邏輯處理器根據(jù)查找到的過濾條件字段的類型及關(guān)聯(lián)實體對象構(gòu)造比較值控件對象,并替換原比較值控件對象,之后由過濾條件復(fù)合組件渲染器對構(gòu)造的比較值控件對象進(jìn)行渲染,并發(fā)送至查詢頁面進(jìn)行顯示。具體實施過程中,如圖3所示,上述步驟SlOl包括步驟S1011,將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符及比較值控件連同比較值控件間的聯(lián)動邏輯封裝為過濾條件復(fù)合組件;步驟S1012,將過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面的xhtml文件中。如圖4所示,上述步驟S103包括步驟S1031,根據(jù)查詢指令加載查詢頁面文件;步驟S1032,對查詢頁面文件及查詢頁面文件中的過濾條件復(fù)合組件進(jìn)行渲染,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑;步驟S1033,根據(jù)查詢指令選擇的切換過濾條件以及切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。如圖5所示,上述步驟S1033包括步驟S10331,根據(jù)查詢指令選擇的切換過濾條件,從查詢頁面文件中獲取切換過濾條件對應(yīng)的受觸發(fā)Action路徑;步驟S 10332,根據(jù)切換過濾條件對應(yīng)的受觸發(fā)Action路徑執(zhí)行過濾條件字段變更邏輯;步驟S10333,查找過濾條件字段的類型及關(guān)聯(lián)實體對象;步驟S10334,根據(jù)查找到的過濾條件字段的類型及關(guān)聯(lián)實體對象構(gòu)造比較值控件對象,并替換原比較值控件對象;步驟S10335,對構(gòu)造的比較值控件對象進(jìn)行渲染,并發(fā)送至查詢頁面進(jìn)行顯示。本實施例將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符和比較值控件封裝為一個通用的過濾條件復(fù)合組件,同時將控件間的聯(lián)動邏輯封裝到過濾條件復(fù)合組件中進(jìn)行統(tǒng)一處理,一組過濾條件控件對應(yīng)一個復(fù)合組件,業(yè)務(wù)開發(fā)人員只需給復(fù)合組件指定對應(yīng)的過濾條件字段的名稱,無需其他編碼工作,其他顯示和響應(yīng)邏輯操作均由復(fù)合組件負(fù)責(zé)處理,而且無需給過濾條件復(fù)合組件手工設(shè)置Action路徑,從而減少了開發(fā)人員的工作 量,降低了單據(jù)查詢頁面的開發(fā)成本,并簡化了單據(jù)查詢過程。如圖6所示,本發(fā)明較佳實施例提出的一種基于通用過濾條件復(fù)合組件的單據(jù)查詢裝置,包括復(fù)合組件構(gòu)造模塊601、接收模塊602以及查詢模塊603,其中復(fù)合組件構(gòu)造模塊601,用于構(gòu)造過濾條件復(fù)合組件,并將過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中;接收模塊602,用于接收用戶查詢單據(jù)的查詢指令;查詢模塊603,用于根據(jù)查詢指令以及查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢。如前所述,一個單據(jù)對應(yīng)一個查詢頁面,每個查詢頁面中需要多組過濾條件控件,以便用戶能一次設(shè)置多個過濾條件進(jìn)行查詢。在現(xiàn)有技術(shù)中,由于過濾條件有多組,需要開發(fā)人員在xhtml文件中多次重復(fù)加入大量的具有相同展現(xiàn)方式和操作模式的控件組,導(dǎo)致開發(fā)工作量大。本實施例通過復(fù)合組件構(gòu)造模塊601將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符及比較值控件封裝為一個通用的復(fù)合組件即過濾條件復(fù)合組件,同時將比較值控件間的聯(lián)動邏輯也封裝到過濾條件復(fù)合組件中統(tǒng)一處理,由此達(dá)到一組過濾條件控件對應(yīng)一個復(fù)合組件的效果。業(yè)務(wù)開發(fā)人員只需給過濾條件復(fù)合組件指定對應(yīng)的過濾條件字段的名稱,而無需其他編碼工作,其他顯示和響應(yīng)邏輯操作均由過濾條件復(fù)合組件負(fù)責(zé)處理。封裝完成后的過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中,該查詢頁面文件為xhtml文件,一個xhtml文件可以包含多個上述過濾條件復(fù)合組件,每個過濾條件復(fù)合組件可以通過網(wǎng)頁技術(shù)進(jìn)行定位。相比現(xiàn)有技術(shù),由于查詢頁面的xhtml文件只包含幾個上述過濾條件復(fù)合組件,使得其內(nèi)容簡單清晰明了,便于單據(jù)的查詢操作。當(dāng)用戶需要查詢單據(jù)時,通過客戶端發(fā)送查指令觸發(fā)單據(jù)的查詢頁面,接收模塊602接收到用戶查詢單據(jù)的查詢指令后,查詢模塊603則根據(jù)查詢指令以及查詢頁面文件中的過濾條件復(fù)合組件進(jìn)行單據(jù)查詢操作。具體地,本實施例裝置中設(shè)置有查詢頁面對應(yīng)的xhtml文件、查詢頁面渲染器、過濾條件復(fù)合組件渲染器、復(fù)合組件邏輯處理器以及元數(shù)據(jù)探查器等;其中查詢頁面對應(yīng)的xhtml文件包含若干過濾條件復(fù)合組件;
查詢頁面渲染器負(fù)責(zé)將整個查詢頁面文件(xhtml)渲染為最終的html (HyperText Mark-up Language,超文本標(biāo)記語言或超文本鏈接標(biāo)示語言)。過濾條件復(fù)合組件渲染器負(fù)責(zé)將查詢頁面文件中的過濾條件復(fù)合組件渲染為html,同時綁定切換過濾條件時需要觸發(fā)的Action路徑。被觸發(fā)的ActionHandler處理函數(shù)中包含過濾條件控件的信息(比如控件的ID、父控件等),上述處理函數(shù)通過Action路徑即可獲得比較符、比較值控件。復(fù)合組件邏輯處理器用于響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。元數(shù)據(jù)探查器用于將單據(jù)的開發(fā)提供給BOS平臺,通過BOS平臺可以定義大量元數(shù)據(jù),在本實施例中,通過BOS平臺設(shè)置單據(jù)對應(yīng)的數(shù)據(jù)實體,其中數(shù)據(jù)實體包含單據(jù)實體的字段以及字段類型,如果單據(jù)實體的字段為關(guān)聯(lián)類型,則元數(shù)據(jù)探查器還需設(shè)置單據(jù)實體的字段所關(guān)聯(lián)的實體。元數(shù)據(jù)探查器訪問當(dāng)前查詢頁面所對應(yīng)的單據(jù)的實體元數(shù)據(jù),并返回當(dāng)前過濾條件字段的類型以及所關(guān)聯(lián)的實體對象。
本實施例查詢模塊603根據(jù)查詢指令以及查詢頁面文件中的過濾條件復(fù)合組件進(jìn)行單據(jù)查詢的操作過程如下當(dāng)單據(jù)的查詢頁面受觸發(fā)后,查詢模塊603根據(jù)查詢指令加載查詢頁面文件,通過查詢頁面渲染器對查詢頁面文件進(jìn)行渲染,將查詢頁面文件渲染為html文件;同時通過過濾條件復(fù)合組件渲染器對查詢頁面文件中的過濾條件復(fù)合組件進(jìn)行渲染,將查詢頁面文件中的過濾條件復(fù)合組件渲染為html文件,并綁定切換過濾條件時對應(yīng)的需要觸發(fā)的Action 路徑。然后通過復(fù)合組件邏輯處理器根據(jù)用戶在切換過濾條件選項中設(shè)置的過濾條件,以及切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。具體為,復(fù)合組件邏輯處理器根據(jù)切換過濾條件對應(yīng)的受觸發(fā)Action路徑執(zhí)行過濾條件字段變更邏輯,根據(jù)執(zhí)行結(jié)果從元數(shù)據(jù)探查器查找過濾條件字段的類型及關(guān)聯(lián)實體對象。復(fù)合組件邏輯處理器根據(jù)查找到的過濾條件字段的類型及關(guān)聯(lián)實體對象構(gòu)造比較值控件對象,并替換原比較值控件對象,之后由過濾條件復(fù)合組件渲染器對構(gòu)造的比較值控件對象進(jìn)行渲染,并發(fā)送至查詢頁面進(jìn)行顯示。具體實施過程中,如圖7所示,上述復(fù)合組件構(gòu)造模塊601包括封裝單元6011以及放入單元6012,其中封裝單元6011,用于將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符及比較值控件連同所述比較值控件間的聯(lián)動邏輯封裝為過濾條件復(fù)合組件;放入單元6012,用于將過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面的xhtml文件中。如圖8所示,上述查詢模塊603包括加載單元6031、渲染單元6032以及響應(yīng)操作單元6033,其中加載單元6031,用于根據(jù)查詢指令加載查詢頁面文件;渲染單元6032,用于對查詢頁面文件及查詢頁面文件中的過濾條件復(fù)合組件進(jìn)行渲染,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑;響應(yīng)操作單元6033,用于根據(jù)查詢指令選擇的切換過濾條件,以及切換過濾條件對應(yīng)的受觸發(fā)Action路徑響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。進(jìn)一步,上述渲染單元還用于將查詢頁面文件渲染為html ;以及將查詢頁面文件中的過濾條件復(fù)合組件渲染為html,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑。如圖9所示,上述響應(yīng)操作單元6033包括獲取子單元60331、邏輯執(zhí)行子單元60332、查找子單元60333、構(gòu)造子單元60334及渲染子單元60335,其中獲取子單元60331,用于根據(jù)查詢指令選擇的切換過濾條件,從查詢頁面文件中獲取切換過濾條件對應(yīng)的受觸發(fā)Action路徑;邏輯執(zhí)行子單元60332,用于根據(jù)切換過濾條件對應(yīng)的受觸發(fā)Action路徑執(zhí)行過濾條件字段變更邏輯;查找子單元60333,用于查找過濾條件字段的類型及關(guān)聯(lián)實體對象;
構(gòu)造子單元60334,用于根據(jù)查找到的過濾條件字段的類型及關(guān)聯(lián)實體對象構(gòu)造比較值控件對象,并替換原比較值控件對象;渲染子單元60335,用于對構(gòu)造的比較值控件對象進(jìn)行渲染,并發(fā)送至查詢頁面進(jìn)行顯示。本發(fā)明實施例基于通用過濾條件復(fù)合組件的單據(jù)查詢方法及裝置,將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符和比較值控件封裝為一個通用的過濾條件復(fù)合組件,同時將控件間的聯(lián)動邏輯封裝到過濾條件復(fù)合組件中進(jìn)行統(tǒng)一處理,一組過濾條件控件對應(yīng)一個復(fù)合組件,業(yè)務(wù)開發(fā)人員只需給復(fù)合組件指定對應(yīng)的過濾條件字段的名稱,無需其他編碼工作,其他顯示和響應(yīng)邏輯均由復(fù)合組件負(fù)責(zé)處理,而且無需給過濾條件復(fù)合組件手工設(shè)置Action路徑,從而減少了開發(fā)。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運(yùn)用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于通用過濾條件復(fù)合組件的單據(jù)查詢方法,其特征在于,包括 構(gòu)造過濾條件復(fù)合組件,并將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中; 接收用戶查詢所述單據(jù)的查詢指令; 根據(jù)所述查詢指令以及所述查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述構(gòu)造過濾條件復(fù)合組件,并將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中的步驟包括 將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符及比較值控件連同所述比較值控件間的聯(lián)動邏輯封裝為過濾條件復(fù)合組件; 將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面的可擴(kuò)展超文本置標(biāo)語言xhtml文件中。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述根據(jù)查詢指令以及所述查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢的步驟包括 根據(jù)所述查詢指令加載所述查詢頁面文件; 對所述查詢頁面文件及所述查詢頁面文件中的所述過濾條件復(fù)合組件進(jìn)行渲染,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑; 根據(jù)所述查詢指令選擇的切換過濾條件以及所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對查詢頁面文件及所述查詢頁面文件中的所述過濾條件復(fù)合組件進(jìn)行渲染,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑的步驟包括 將所述查詢頁面文件渲染為超文本標(biāo)記語言html ; 將所述查詢頁面文件中的所述過濾條件復(fù)合組件渲染為html,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)查詢指令選擇的切換過濾條件以及所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯的步驟包括 根據(jù)所述查詢指令選擇的切換過濾條件,從所述查詢頁面文件中獲取所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑; 根據(jù)所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑執(zhí)行過濾條件字段變更邏輯; 查找所述過濾條件字段的類型及關(guān)聯(lián)實體對象; 根據(jù)查找到的過濾條件字段的類型及關(guān)聯(lián)實體對象構(gòu)造比較值控件對象,并替換原比較值控件對象; 對構(gòu)造的比較值控件對象進(jìn)行渲染,并發(fā)送至查詢頁面進(jìn)行顯示。
6.一種基于通用過濾條件復(fù)合組件的單據(jù)查詢裝置,其特征在于,包括 復(fù)合組件構(gòu)造模塊,用于構(gòu)造過濾條件復(fù)合組件,并將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中; 接收模塊,用于接收用戶查詢所述單據(jù)的查詢指令; 查詢模塊,用于根據(jù)所述查詢指令以及所述查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述復(fù)合組件構(gòu)造模塊包括 封裝單元,用于將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符及比較值控件連同所述比較值控件間的聯(lián)動邏輯封裝為過濾條件復(fù)合組件; 放入單元,用于將所述過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面的xhtml文件中。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述查詢模塊包括 加載單元,用于根據(jù)所述查詢指令加載所述查詢頁面文件; 渲染單元,用于對所述查詢頁面文件及所述查詢頁面文件中的所述過濾條件復(fù)合組件進(jìn)行渲染,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑; 響應(yīng)操作單元,用于根據(jù)所述查詢指令選擇的切換過濾條件以及所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑,響應(yīng)過濾條件切換事件,并執(zhí)行相應(yīng)的處理邏輯。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述渲染單元還用于將所述查詢頁面文件渲染為html ;以及將所述查詢頁面文件中的所述過濾條件復(fù)合組件渲染為html,并綁定切換過濾條件對應(yīng)的受觸發(fā)Action路徑。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述響應(yīng)操作單元包括 獲取子單元,用于根據(jù)所述查詢指令選擇的切換過濾條件,從所述查詢頁面文件中獲取所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑; 邏輯執(zhí)行子單元,用于根據(jù)所述切換過濾條件對應(yīng)的受觸發(fā)Action路徑執(zhí)行過濾條件字段變更邏輯; 查找子單元,用于查找所述過濾條件字段的類型及關(guān)聯(lián)實體對象; 構(gòu)造子單元,用于根據(jù)查找到的過濾條件字段的類型及關(guān)聯(lián)實體對象構(gòu)造比較值控件對象,并替換原比較值控件對象; 渲染子單元,用于對構(gòu)造的比較值控件對象進(jìn)行渲染,并發(fā)送至查詢頁面進(jìn)行顯示。
全文摘要
本發(fā)明涉及一種基于通用過濾條件復(fù)合組件的單據(jù)查詢方法及裝置,其方法包括構(gòu)造過濾條件復(fù)合組件,并將過濾條件復(fù)合組件放入單據(jù)對應(yīng)的查詢頁面文件中;接收用戶查詢單據(jù)的查詢指令;根據(jù)查詢指令以及查詢頁面文件中的過濾條件復(fù)合組件,進(jìn)行單據(jù)查詢。本發(fā)明將具有相同展現(xiàn)方式和操作模式的過濾條件、比較符和比較值控件封裝為一個通用的過濾條件復(fù)合組件,同時將控件間的聯(lián)動邏輯封裝到過濾條件復(fù)合組件中進(jìn)行統(tǒng)一處理,業(yè)務(wù)開發(fā)人員只需給復(fù)合組件指定對應(yīng)的過濾條件字段的名稱,無需其他編碼工作,且無需給過濾條件復(fù)合組件手工設(shè)置Action路徑,從而減少了開發(fā)人員的工作量,降低了單據(jù)查詢頁面的開發(fā)成本,并簡化了單據(jù)查詢過程。
文檔編號G06F17/30GK102819545SQ20111043576
公開日2012年12月12日 申請日期2011年12月22日 優(yōu)先權(quán)日2011年12月22日
發(fā)明者李躍 申請人:金蝶軟件(中國)有限公司