欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的方法、裝置及系統(tǒng)的制作方法

文檔序號:6581310閱讀:183來源:國知局
專利名稱:一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機領(lǐng)域,尤其涉及一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的方法、裝置及系統(tǒng)。
背景技術(shù)
企業(yè)的各種業(yè)務(wù)之間存在一定的邏輯關(guān)系,而且這種邏輯關(guān)系在不同企業(yè)或企業(yè) 的不同時期是不同的,體現(xiàn)在管理軟件中就是一種業(yè)務(wù)單據(jù)的數(shù)據(jù),是根據(jù)另一業(yè)務(wù)單據(jù) 的數(shù)據(jù)得來的,比如收款一般都是根據(jù)開票的金額決定的;發(fā)票或收款的金額需要做賬生 成憑證等。 單據(jù)轉(zhuǎn)換功能在ERP系統(tǒng)中已經(jīng)開始發(fā)揮越來越重要的作用,在單據(jù)轉(zhuǎn)換的過程
中,必須根據(jù)源單據(jù)的值來生成目標單據(jù)的值,往往是源單據(jù)的字段對應(yīng)某個目標單據(jù)的
字段值,通常稱為映射關(guān)系,由于,源業(yè)務(wù)單據(jù)和目標業(yè)務(wù)單據(jù)的組成結(jié)構(gòu)一般不相同,而
且有可能在不同的業(yè)務(wù)場景下轉(zhuǎn)換邏輯也有差異,很多情況下業(yè)務(wù)單據(jù)字段間的映射關(guān)系
非常復(fù)雜,不僅僅是把源單據(jù)字段的值復(fù)制到目標單據(jù)的字段上,而是可能需要對源單據(jù)
的字段的值做進一步的數(shù)據(jù)加工,然后才能賦值給目標業(yè)務(wù)單據(jù),此時簡單的數(shù)據(jù)映射關(guān)
系處理已經(jīng)不能夠滿足要求,隨著業(yè)務(wù)規(guī)模的增加而遞增,維護工作相當(dāng)復(fù)雜。 現(xiàn)有技術(shù)是通過編寫代碼來維護這種復(fù)雜映射邏輯。通過編寫代碼來實現(xiàn)單據(jù)間
的復(fù)雜關(guān)系映射和賦值動作,能實現(xiàn)基本的需要,但是,編寫的代碼不能夠方便的修改和維
護,而且用戶無法在運行期動態(tài)增加和修改映射關(guān)系邏輯,每次出現(xiàn)新變化都需要重新編
寫代碼,因此開發(fā)和維護成本很高。

發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的方法,旨在解決實際場景中, 進行業(yè)務(wù)單據(jù)之間的轉(zhuǎn)換時,需要對源業(yè)務(wù)單據(jù)數(shù)據(jù)進行數(shù)據(jù)加工后才能賦值給目標業(yè)務(wù) 單據(jù)的問題。 本發(fā)明實施例是這樣實現(xiàn)的,一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的方法,所述方法包括下述步 驟 獲取預(yù)設(shè)的公式腳本,并對預(yù)設(shè)的公式腳本進行語法分析,生成與所述公式腳本 對應(yīng)的公式語法結(jié)構(gòu)樹; 按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并獲取源業(yè)務(wù)單據(jù)的數(shù)據(jù),根據(jù)所述源業(yè) 務(wù)單據(jù)的數(shù)據(jù),對所述公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計算,得到公式結(jié) 果; 將所述公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。
本發(fā)明實施例的另一目的在于提供一種轉(zhuǎn)換裝置,所述轉(zhuǎn)換裝置包括 轉(zhuǎn)換引擎,用于獲取預(yù)設(shè)的公式腳本,并對預(yù)設(shè)的公式腳本進行語法分析,生成與
所述公式腳本對應(yīng)的公式語法結(jié)構(gòu)樹; 腳本執(zhí)行引擎,用于按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并獲取源業(yè)務(wù)單據(jù)的數(shù)據(jù),根據(jù)所述源業(yè)務(wù)單據(jù)的數(shù)據(jù),對所述公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)
的計算,得到公式結(jié)果,并將所述公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。 本發(fā)明實施例的另一目的在于提供一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的系統(tǒng),包括客戶端和業(yè)
務(wù)單據(jù)存儲端,所述系統(tǒng)還包括如上所述的轉(zhuǎn)換裝置。 在本發(fā)明實施例中,預(yù)先生成各種不同業(yè)務(wù)單據(jù)之間的映射關(guān)系的公式腳本,當(dāng) 客戶端要進行單據(jù)轉(zhuǎn)換時,在運行期動態(tài)解析公式腳本,生成公式結(jié)構(gòu)語法樹,再對所述公 式結(jié)構(gòu)語法樹遍歷,計算返回公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段,完成業(yè)務(wù)單據(jù)之 間的轉(zhuǎn)換,解決了實際場景中,實現(xiàn)業(yè)務(wù)單據(jù)之間的轉(zhuǎn)換時,需要對源業(yè)務(wù)單據(jù)數(shù)據(jù)進行數(shù) 據(jù)加工后才能賦值給目標業(yè)務(wù)單據(jù)的需求,從而大大豐富了業(yè)務(wù)單據(jù)轉(zhuǎn)換系統(tǒng)的功能性, 并且具有很好的適應(yīng)性。


圖1是本發(fā)明實施例提供的業(yè)務(wù)單據(jù)轉(zhuǎn)換方法的實現(xiàn)流程圖;
圖2是本發(fā)明實施例提供的業(yè)務(wù)單據(jù)轉(zhuǎn)換系統(tǒng)的結(jié)構(gòu)示意圖;
圖3是本發(fā)明實施例提供的生成的公式結(jié)構(gòu)語法樹的示例圖; 圖4是本發(fā)明實施例提供的根據(jù)銷售單自動生成應(yīng)收單需要生成的公式結(jié)構(gòu)語 法樹的應(yīng)用示例圖; 圖5是本發(fā)明實施例提供的采用圖2所示的業(yè)務(wù)單據(jù)轉(zhuǎn)換系統(tǒng)實現(xiàn)單據(jù)轉(zhuǎn)換的方 法的實現(xiàn)流程圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不 用于限定本發(fā)明。 在本發(fā)明實施例中,預(yù)先生成各種不同業(yè)務(wù)單據(jù)之間的映射關(guān)系的公式腳本,當(dāng) 客戶端要進行單據(jù)轉(zhuǎn)換時,在運行期動態(tài)解析公式腳本,生成公式結(jié)構(gòu)語法樹,再對所述公 式結(jié)構(gòu)語法樹遍歷,計算返回公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。
本發(fā)明提供了一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的方法、裝置及系統(tǒng)
所述方法包括下述步驟 獲取預(yù)設(shè)的公式腳本,并對預(yù)設(shè)的公式腳本進行語法分析,生成與所述公式腳本 對應(yīng)的公式語法結(jié)構(gòu)樹; 按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并獲取源業(yè)務(wù)單據(jù)的數(shù)據(jù),根據(jù)所述源業(yè) 務(wù)單據(jù)的數(shù)據(jù),對所述公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計算,得到公式結(jié) 果; 將所述公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。
所述轉(zhuǎn)換裝置包括 轉(zhuǎn)換引擎,用于獲取預(yù)設(shè)的公式腳本,并對預(yù)設(shè)的公式腳本進行語法分析,生成與 所述公式腳本對應(yīng)的公式語法結(jié)構(gòu)樹; 腳本執(zhí)行引擎,用于按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并獲取源業(yè)務(wù)單據(jù)的數(shù)據(jù),根據(jù)所述源業(yè)務(wù)單據(jù)的數(shù)據(jù),對所述公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng) 的計算,得到公式結(jié)果,并將所述公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。
所述系統(tǒng)包括客戶端和業(yè)務(wù)單據(jù)存儲端,所述系統(tǒng)還包括如上所述的轉(zhuǎn)換裝置。
實施例一 圖1是本發(fā)明實施例提供的業(yè)務(wù)單據(jù)轉(zhuǎn)換方法的實現(xiàn)流程,詳述如下 在步驟S101中,獲取預(yù)設(shè)的公式腳本,并對預(yù)設(shè)的公式腳本進行語法分析,生成
與所述公式腳本對應(yīng)的公式語法結(jié)構(gòu)樹。 在步驟S102中,按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并獲取源業(yè)務(wù)單據(jù)的數(shù) 據(jù),根據(jù)源業(yè)務(wù)單據(jù)的數(shù)據(jù),對公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計算,得到 公式結(jié)果。 在步驟S103中,將計算得到的公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。
實施例二 圖2為本發(fā)明實施例提供的業(yè)務(wù)單據(jù)轉(zhuǎn)換系統(tǒng)的結(jié)構(gòu),為了便于說明,僅示出了 本發(fā)明實施例相關(guān)的部分。該業(yè)務(wù)單據(jù)轉(zhuǎn)換系統(tǒng)可以作為獨立的掛件集成到ERP系統(tǒng)或者 ERP系統(tǒng)的應(yīng)用系統(tǒng)中。該業(yè)務(wù)單據(jù)轉(zhuǎn)換系統(tǒng)包括客戶端ll,單據(jù)轉(zhuǎn)換平臺12、公式腳本 生成裝置13、轉(zhuǎn)換裝置14和業(yè)務(wù)單據(jù)存儲端15。
其中,轉(zhuǎn)換裝置14包括轉(zhuǎn)換引擎141和腳本執(zhí)行引擎142。 轉(zhuǎn)換引擎141對公式腳本生成裝置13獲取預(yù)設(shè)的公式腳本,并對該公式腳本進行 語法分析,生成與所述公式腳本對應(yīng)的公式語法結(jié)構(gòu)樹。 腳本執(zhí)行引擎142按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并獲取源業(yè)務(wù)單據(jù)的數(shù) 據(jù),根據(jù)源業(yè)務(wù)單據(jù)的數(shù)據(jù),對公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計算,得到 公式結(jié)果,并將計算得到的公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。 整個系統(tǒng)的工作過程如下所述客戶端11發(fā)起定義單據(jù)轉(zhuǎn)換公式的請求,請求單 據(jù)轉(zhuǎn)換平臺12定義一個業(yè)務(wù)單據(jù)轉(zhuǎn)換公式,單據(jù)轉(zhuǎn)換平臺12根據(jù)所述指令,選擇目標業(yè)務(wù) 單據(jù)字段和源業(yè)務(wù)單據(jù)字段,公式腳本生成裝置13根據(jù)目標業(yè)務(wù)單據(jù)字段和源業(yè)務(wù)單據(jù) 字段生成單據(jù)轉(zhuǎn)換的公式腳本并保存。當(dāng)客戶端11需要進行源業(yè)務(wù)單據(jù)和目標業(yè)務(wù)單據(jù) 之間的轉(zhuǎn)換時,發(fā)起請求執(zhí)行單據(jù)轉(zhuǎn)換的指令,單據(jù)轉(zhuǎn)換平臺12根據(jù)客戶端11發(fā)送的請求 指令,向公式腳本生成裝置13獲取存儲于其中的公式腳本,同時向業(yè)務(wù)單據(jù)存儲端15獲取 源業(yè)務(wù)單據(jù)的數(shù)據(jù),然后通知轉(zhuǎn)換裝置14,由轉(zhuǎn)換裝置14根據(jù)單據(jù)轉(zhuǎn)換平臺12獲取的公式 腳本以及源業(yè)務(wù)單據(jù)的數(shù)據(jù)執(zhí)行實際的單據(jù)轉(zhuǎn)換,并通過轉(zhuǎn)換裝置14返回執(zhí)行結(jié)果至單 據(jù)轉(zhuǎn)換平臺12,單據(jù)轉(zhuǎn)換平臺12再轉(zhuǎn)發(fā)執(zhí)行結(jié)果給客戶端11。其中,執(zhí)行單據(jù)轉(zhuǎn)換的步驟 具體為轉(zhuǎn)換裝置14的轉(zhuǎn)換引擎141執(zhí)行獲取的預(yù)先存儲在公式腳本生成裝置13中的公 式腳本,生成公式腳本結(jié)構(gòu)語法樹,再調(diào)用腳本執(zhí)行引擎142按照優(yōu)先級遍歷整個公式腳 本結(jié)構(gòu)語法樹,并根據(jù)公式腳本結(jié)構(gòu)語法樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計算,得到公 式結(jié)果,再通過轉(zhuǎn)換引擎141將公式結(jié)果賦值給與目標業(yè)務(wù)單據(jù)的相應(yīng)字段,最后返回生 成的目標業(yè)務(wù)單據(jù)至單據(jù)轉(zhuǎn)換平臺12。 具體來說,公式腳本生成裝置13需要定義以下內(nèi)容
1.目標單據(jù)的字段名稱 2.單據(jù)轉(zhuǎn)換公式,公式腳本為按JAVA語法定義一個計算表達式,支持各種運算符和括號等,公式中可以使用源業(yè)務(wù)單據(jù)上的字段名稱,例如 Result = Source, price X (Source. qtyl+Source. qty2) X 17% ; 另外,以XML文件格式存儲公式腳本,具體進行業(yè)務(wù)單據(jù)之間的轉(zhuǎn)換時,根據(jù)公式
腳本計算表達式的內(nèi)容,計算出結(jié)果Result并賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。 具體的腳本執(zhí)行引擎142的工作過程詳述如下 1、獲取公式腳本生成裝置13預(yù)先定義的公式腳本; 2、對公式腳本進行解析,公式結(jié)構(gòu)必須滿足以下格式 Result =公式內(nèi)容; 3、解析公式腳本內(nèi)容中的公式內(nèi)容部分,分拆出標識符和運算符以及括號,并分別按優(yōu)先級順序用一定的結(jié)構(gòu)存儲,在本發(fā)明實施例中,采用樹狀結(jié)構(gòu)進行存儲,具體的公式腳本的結(jié)構(gòu)語法樹如圖3所示,解析原則如下
1)、公式表達式格式必須滿足以下結(jié)構(gòu)
公式結(jié)果=公式內(nèi)容; 2)、將公式按語法結(jié)構(gòu)分拆為若干二元結(jié)構(gòu),分為左節(jié)點、右節(jié)點、運算符,格式為 表達式/葉子節(jié)點運算符表達式/葉子節(jié)點 3)、每個節(jié)點如果可以拆分,則再拆分為一個更小的二元結(jié)構(gòu) 4)、不能分拆為二元結(jié)構(gòu)的節(jié)點稱之為葉子節(jié)點 5)、被括號擴起來的表達式優(yōu)先分拆,保證優(yōu)先級一致; 4、對解析后的公式結(jié)構(gòu)中使用到的業(yè)務(wù)單據(jù)名稱、字段名稱等元素進行預(yù)處理,其中部分為特殊關(guān)鍵字,如"Result"、"Source"、"Dest"等,直接識別為結(jié)果、源業(yè)務(wù)單據(jù)和目標業(yè)務(wù)單據(jù)對象,字段名稱則替換為對象上相應(yīng)的字段名; 5、根據(jù)優(yōu)先級遍歷整個公式結(jié)構(gòu)的各層次節(jié)點,執(zhí)行所有公式計算內(nèi)容,執(zhí)行運算時,先計算所有的葉子節(jié)點,然后從層次最深的節(jié)點開始逐層計算結(jié)果并賦值給上層節(jié)點,直到頂層并返回公式結(jié)果; 6、將公式結(jié)果值賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。 下面是其中的一個應(yīng)用示例例如銷售訂單需要可以自動生成應(yīng)收單,且希望應(yīng)收單的"繳稅金額"字段等于 銷售訂單.單價X (銷售訂單.待發(fā)貨數(shù)+銷售訂單.已發(fā)貨數(shù))X 17%
則可以定義一下單據(jù)轉(zhuǎn)換公式腳本內(nèi)容 Result = Source, price X (Source. qtyl+Source. qty2) X 17% 系統(tǒng)調(diào)用腳本執(zhí)行引擎142生成公式結(jié)構(gòu)語法樹,具體生成的公式結(jié)構(gòu)語法樹如
圖4所示,然后計算公式的結(jié)果,并將其賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段,具體步驟為 1)、檢查公式內(nèi)容的格式是否符合要求; 2)、解析語法并生成公式結(jié)構(gòu)語法樹; 3)、讀取最底層的兩個葉子節(jié)點(銷售訂單.待發(fā)貨數(shù)和銷售訂單.已發(fā)貨數(shù))的值并相加,將值賦給上層的表達式節(jié)點; 4)、用上一步驟的運算結(jié)果與同一層的葉子節(jié)點(銷售訂單.單價)相乘,并將結(jié)果值賦給上層的表達式節(jié)點;
5)、用上一步驟的運算結(jié)果與同一層的葉子節(jié)點(17% )相乘,并將結(jié)果值賦給上層的表達式節(jié)點; 6)、將此結(jié)果值賦給公式結(jié)果,并將公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)的字段
"繳稅金額"。
實施例三 圖5是本發(fā)明實施例提供的采用如圖2所示的業(yè)務(wù)單據(jù)轉(zhuǎn)換系統(tǒng)實現(xiàn)單據(jù)轉(zhuǎn)換的方法的實現(xiàn)流程,詳述如下 1、客戶端發(fā)送生成單據(jù)轉(zhuǎn)換公式的請求指令至單據(jù)轉(zhuǎn)換平臺。 2、單據(jù)轉(zhuǎn)換平臺根據(jù)客戶端發(fā)送的生成單據(jù)轉(zhuǎn)換公式請求指令,選擇目標業(yè)務(wù)單
據(jù)字段和源業(yè)務(wù)字段。 3、公式腳本生成裝置根據(jù)目標業(yè)務(wù)單據(jù)字段和源業(yè)務(wù)單據(jù)字段生成單據(jù)轉(zhuǎn)換公式腳本并存儲。 作為本發(fā)明的一個實施例,公式腳本生成裝置要定義單據(jù)轉(zhuǎn)換的公式腳本,單據(jù)轉(zhuǎn)換的公式腳本為按JAVA語法定義一個計算表達式,支持各種運算符和括號等,公式中可以使用源業(yè)務(wù)單據(jù)上的字段名稱,例如 Result = Source, price X (Source. qtyl+Source. qty2) X 17% ;
另外,以XML文件格式存儲公式內(nèi)容,具體進行業(yè)務(wù)單據(jù)之間的轉(zhuǎn)換時,計算出結(jié)果Result并賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段即可。具體情況如上所述,在此不再贅述。
4、客戶端發(fā)起請求執(zhí)行單據(jù)轉(zhuǎn)換的指令至單據(jù)轉(zhuǎn)換平臺。 5、當(dāng)接收到客戶端發(fā)送的單據(jù)轉(zhuǎn)換請求指令時,單據(jù)轉(zhuǎn)換平臺從公式腳本生成裝
置獲取公式腳本生成裝置存儲的單據(jù)轉(zhuǎn)換公式腳本。 6 、單據(jù)轉(zhuǎn)換平臺從業(yè)務(wù)單據(jù)存儲端獲取源業(yè)務(wù)單據(jù)的數(shù)據(jù)。 作為本發(fā)明的一個實施例,當(dāng)客戶端需要進行源業(yè)務(wù)單據(jù)和目標業(yè)務(wù)單據(jù)之間的轉(zhuǎn)換時,發(fā)起請求執(zhí)行單據(jù)轉(zhuǎn)換的指令,單據(jù)轉(zhuǎn)換平臺根據(jù)客戶端發(fā)送的請求指令,向公式腳本生成裝置獲取存儲于其中的公式腳本,同時向業(yè)務(wù)單據(jù)存儲端獲取源業(yè)務(wù)單據(jù)的數(shù)據(jù)。 7 、單據(jù)轉(zhuǎn)換平臺發(fā)送的執(zhí)行單據(jù)轉(zhuǎn)換指令至轉(zhuǎn)換裝置。 8、當(dāng)接收到單據(jù)轉(zhuǎn)換平臺發(fā)送的執(zhí)行單據(jù)轉(zhuǎn)換指令時,轉(zhuǎn)換裝置根據(jù)單據(jù)轉(zhuǎn)換平臺獲取的單據(jù)轉(zhuǎn)換公式腳本以及源業(yè)務(wù)單據(jù)的數(shù)據(jù)執(zhí)行單據(jù)的轉(zhuǎn)換。 作為本發(fā)明的一個實施例,單據(jù)轉(zhuǎn)換平臺發(fā)送執(zhí)行單據(jù)轉(zhuǎn)換指令給轉(zhuǎn)換裝置,轉(zhuǎn)換裝置根據(jù)單據(jù)轉(zhuǎn)換平臺獲取的公式腳本內(nèi)容以及源業(yè)務(wù)單據(jù)的數(shù)據(jù)執(zhí)行實際的單據(jù)轉(zhuǎn)換,并通過轉(zhuǎn)換裝置的執(zhí)行結(jié)果發(fā)送單元返回執(zhí)行結(jié)果至單據(jù)轉(zhuǎn)換平臺,單據(jù)轉(zhuǎn)換平臺的執(zhí)行結(jié)果發(fā)送單元返回轉(zhuǎn)換結(jié)果給客戶端。其中,執(zhí)行單據(jù)轉(zhuǎn)換的步驟具體為轉(zhuǎn)換裝置的轉(zhuǎn)換引擎執(zhí)行獲取的預(yù)先存儲在公式腳本生成裝置中的公式腳本,生成公式腳本結(jié)構(gòu)語法樹,再調(diào)用腳本執(zhí)行引擎按照優(yōu)先級遍歷整個公式腳本結(jié)構(gòu)語法樹,并根據(jù)公式腳本結(jié)構(gòu)語法樹中各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計算,得到公式結(jié)果,通過轉(zhuǎn)換引擎將所述公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段,最后返回生成的目標業(yè)務(wù)單據(jù)至單據(jù)轉(zhuǎn)換平臺。具體情況如上所述,在此不再贅述。 9、轉(zhuǎn)換裝置轉(zhuǎn)換裝置發(fā)送執(zhí)行結(jié)果至單據(jù)轉(zhuǎn)換平臺。
7
10、單據(jù)轉(zhuǎn)換平臺將轉(zhuǎn)換裝置返回的執(zhí)行結(jié)果發(fā)送至客戶端。 在本發(fā)明實施例中,預(yù)先生成單據(jù)轉(zhuǎn)換公式腳本,使用公式腳本來描述業(yè)務(wù)單據(jù)間各種復(fù)雜的轉(zhuǎn)換映射關(guān)系,來實現(xiàn)各種復(fù)雜轉(zhuǎn)換邏輯,在運行期動態(tài)解析公式腳本來產(chǎn)生轉(zhuǎn)換邏輯,解決了實際場景中各種需要對源業(yè)務(wù)單據(jù)的數(shù)據(jù)進行數(shù)據(jù)加工后才能賦值給目標業(yè)務(wù)單據(jù)的需求,單據(jù)間的轉(zhuǎn)換不只能支持簡單的字段映射,還允許用戶在單據(jù)轉(zhuǎn)換時對源單據(jù)進行復(fù)雜的腳本運算,支持加減乘除等運算符、支持用括號來改變優(yōu)先級,從而大大豐富了業(yè)務(wù)單據(jù)轉(zhuǎn)換系統(tǒng)的功能性,并且具有很好的適應(yīng)性;另外,生成的公式腳本是按JAVA的語法定義的,易于學(xué)習(xí)和使用,并且,公式腳本可以由熟悉業(yè)務(wù)場景的業(yè)務(wù)人員來設(shè)置,不依賴具體的代碼實現(xiàn),可擴展性比較好;此外,使用XML格式存儲公式腳本,使用公式結(jié)構(gòu)語法樹的形式解析和計算公式腳本,可以方便的支持擴展各種運算符和優(yōu)先級及其它語法,具有較好的可擴展性和可維護性。 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的方法,其特征在于,所述方法包括下述步驟獲取預(yù)設(shè)的公式腳本,并對所述公式腳本進行語法分析,生成與所述公式腳本對應(yīng)的公式語法結(jié)構(gòu)樹;按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并獲取源業(yè)務(wù)單據(jù)的數(shù)據(jù),根據(jù)所述源業(yè)務(wù)單據(jù)的數(shù)據(jù),對所述公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計算,得到公式結(jié)果;將所述公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。
2. 如權(quán)利要求1所述的方法,其特征在于,所述公式腳本是按照JAVA的語法定義的,并 采用XML文件的格式存儲。
3. —種轉(zhuǎn)換裝置,其特征在于,所述轉(zhuǎn)換裝置包括轉(zhuǎn)換引擎,用于獲取預(yù)設(shè)的公式腳本,并對預(yù)設(shè)的公式腳本進行語法分析,生成與所述 公式腳本對應(yīng)的公式語法結(jié)構(gòu)樹;腳本執(zhí)行引擎,用于按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并獲取源業(yè)務(wù)單據(jù)的數(shù)據(jù), 根據(jù)所述源業(yè)務(wù)單據(jù)的數(shù)據(jù),對所述公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計 算,得到公式結(jié)果,并將所述公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。
4. 如權(quán)利要求3所述的裝置,其特征在于,所述公式腳本是按照JAVA的語法定義的,并 采用XML文件的格式存儲。
5. —種業(yè)務(wù)單據(jù)轉(zhuǎn)換的系統(tǒng),包括客戶端和業(yè)務(wù)單據(jù)存儲端,其特征在于,所述系統(tǒng) 還包括如權(quán)利要求3至4任一項所述的轉(zhuǎn)換裝置。
6. 如權(quán)利要求5所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括公式腳本生成裝置,用于根據(jù)預(yù)先選擇的目標業(yè)務(wù)單據(jù)字段和源業(yè)務(wù)單據(jù)字段生成單 據(jù)轉(zhuǎn)換的公式腳本。
7. 如權(quán)利要求5所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括單據(jù)轉(zhuǎn)換平臺,用于根據(jù)客戶端發(fā)送的生成單據(jù)轉(zhuǎn)換公式的請求指令,選擇目標業(yè)務(wù) 單據(jù)字段和源業(yè)務(wù)單據(jù)字段。
8. 如權(quán)利要求5所述的系統(tǒng),其特征在于,所述公式腳本是按照JAVA的語法定義的,并 采用XML文件的格式存儲。
全文摘要
本發(fā)明適用于計算機領(lǐng)域,提供了一種業(yè)務(wù)單據(jù)轉(zhuǎn)換的方法、裝置及系統(tǒng),所述方法包括下述步驟對預(yù)設(shè)的公式腳本進行語法分析,生成與所述公式腳本對應(yīng)的公式語法結(jié)構(gòu)樹;按照優(yōu)先級遍歷整個公式語法結(jié)構(gòu)樹,并根據(jù)源業(yè)務(wù)單據(jù)的數(shù)據(jù),對所述公式語法結(jié)構(gòu)樹中的各個節(jié)點的內(nèi)容執(zhí)行相應(yīng)的計算,得到公式結(jié)果;將所述公式結(jié)果賦值給目標業(yè)務(wù)單據(jù)的相應(yīng)字段。本發(fā)明中,進行業(yè)務(wù)單據(jù)之間的轉(zhuǎn)換時,可以不對源業(yè)務(wù)單據(jù)數(shù)據(jù)進行數(shù)據(jù)加工,即可賦值給目標業(yè)務(wù)單據(jù)。
文檔編號G06Q10/00GK101763339SQ20091018920
公開日2010年6月30日 申請日期2009年12月21日 優(yōu)先權(quán)日2009年12月21日
發(fā)明者張俊 申請人:金蝶軟件(中國)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
探索| 开封县| 太和县| 九台市| 文山县| 竹山县| 同心县| 南宁市| 巴彦淖尔市| 昌江| 钦州市| 万盛区| 雷山县| 宝应县| 东安县| 荃湾区| 平舆县| 抚远县| 江北区| 浮梁县| 长寿区| 衡南县| 凯里市| 商丘市| 瑞昌市| 辛集市| 根河市| 密云县| 康马县| 潮安县| 庐江县| 雅江县| 宣城市| 武乡县| 潢川县| 永丰县| 宝鸡市| 郧西县| 墨玉县| 什邡市| 静安区|