專利名稱:業(yè)務(wù)邏輯設(shè)置系統(tǒng)和業(yè)務(wù)邏輯設(shè)置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體而言,涉及一種業(yè)務(wù)邏輯設(shè)置系統(tǒng)和一種業(yè)務(wù)邏輯設(shè)置方法。
背景技術(shù):
隨著精細化管理概念的普及,ERP軟件已經(jīng)覆蓋到生產(chǎn)、流通等各行各業(yè),企業(yè)對軟件的使用越來越深入,功能性需求、操作性需求、行業(yè)性需求不斷擴大、膨脹,這些都極大地提高了軟件的復雜度和軟件維護的難度。不同行業(yè)的差異性和同行業(yè)中每個企業(yè)應用的個性,使得水平產(chǎn)品對客戶體驗操作需求的匹配性逐漸降低。企業(yè)自身的業(yè)務(wù)特點決定了操作員對軟件業(yè)務(wù)約束和體驗交互的需求不斷增加,有時還存在互斥。在以往的標準產(chǎn)品中,業(yè)務(wù)邏輯的約束和交互都是固化在產(chǎn)品中的,當有新的業(yè)務(wù)需求或業(yè)務(wù)變更時,需要修改源碼并重新編譯發(fā)布產(chǎn)品。有的軟件可以提供接口和事件,用來定制開發(fā)來滿足不同的客戶要求,但是這會使客戶的使用成本大幅提高,后續(xù)升級也會非常復雜和困難。因此,需要一種新的業(yè)務(wù)邏輯設(shè)置技術(shù),使用戶可以定制單據(jù)的業(yè)務(wù)邏輯,并且無需求修改源碼,從而不影響以后版本的升級,也不影響其他用戶或其他單據(jù)。
發(fā)明內(nèi)容
本發(fā)明正是基于上述問題,提出了一種業(yè)務(wù)邏輯設(shè)置技術(shù),使用戶可以定制單據(jù)的業(yè)務(wù)邏輯,并且無需求修改源碼,從而不影響以后版本的升級,也不影響其他用戶或其他單據(jù)。有鑒于此,本發(fā)明提出了一種業(yè)務(wù)邏輯設(shè)置系統(tǒng),包括:業(yè)務(wù)邏輯分解單元,用于在業(yè)務(wù)節(jié)點運行時,將所述業(yè)務(wù)節(jié)點的業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和相應的表達式;設(shè)置單元,用于根據(jù)接收到的業(yè)務(wù)設(shè)置指令,設(shè)置所述表達式所適配的業(yè)務(wù),以及設(shè)置所述業(yè)務(wù)變量;業(yè)務(wù)邏輯組合單元,用于根據(jù)設(shè)置后的表達式所適配的業(yè)務(wù)和設(shè)置后的業(yè)務(wù)變量,將所述設(shè)置后的業(yè)務(wù)變量和所述設(shè)置后的表達式組合為目標業(yè)務(wù)邏輯,將所述目標業(yè)務(wù)邏輯適配至所述業(yè)務(wù)節(jié)點。在該技術(shù)方案中,通過將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式,可以將軟件系統(tǒng)中的業(yè)務(wù)邏輯從代碼中分離出來,針對用戶的客戶化需求,可以修改業(yè)務(wù)變量和表達式,而無需修改代碼,不用重新編譯發(fā)布,也不影響其他用戶。并且將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式,可以將業(yè)務(wù)邏輯細化,并進行合理分類,根據(jù)不同的條件可以通過設(shè)置業(yè)務(wù)變量和表達式配置多套業(yè)務(wù)邏輯,并且統(tǒng)一字段的多個業(yè)務(wù)邏輯可以定制計算順序,業(yè)務(wù)邏輯的配置靈活性很高。在上述技術(shù)方案中,優(yōu)選地,還包括:啟動時刻設(shè)置單元,用于根據(jù)接收到的時刻設(shè)置指令,設(shè)置所述業(yè)務(wù)節(jié)點的啟動業(yè)務(wù)邏輯時刻;所述業(yè)務(wù)邏輯分解單元在所述業(yè)務(wù)節(jié)點運行到所述啟動業(yè)務(wù)邏輯時刻時,將所述業(yè)務(wù)邏輯分解為所述業(yè)務(wù)變量和所述表達式。在該技術(shù)方案中,可以根據(jù)用戶設(shè)置確定啟動業(yè)務(wù)邏輯的時刻。在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)邏輯分解單元包括:解析子單元,用于解析所述業(yè)務(wù)邏輯得到業(yè)務(wù)邏輯關(guān)系表;顯示子單元,用于將所述業(yè)務(wù)邏輯關(guān)系表進行顯示;分解子單元,用于根據(jù)所述業(yè)務(wù)邏輯關(guān)系表將所述業(yè)務(wù)邏輯分解為所述業(yè)務(wù)變量和所述表達式。在該技術(shù)方案中,可以根據(jù)分解業(yè)務(wù)邏輯得到的業(yè)務(wù)邏輯關(guān)系表,對業(yè)務(wù)邏輯進行分解。在上述任一技術(shù)方案中,優(yōu)選地,還包括:表達式修改單元,用于根據(jù)對所述業(yè)務(wù)的修改,修改所述表達式。在該技術(shù)方案中,可以通過修改表達式所適配的業(yè)務(wù),修改表達式。在上述技術(shù)方案中,優(yōu)選地,還包括:表達式添加單元,用于根據(jù)接收到的擴充指令,添加所述表達式。在該技術(shù)方案中,可以通過直接添加表達式組合出新的業(yè)務(wù)邏輯。本發(fā)明還一種業(yè)務(wù)邏輯設(shè)置方法,其特征在于,包括:步驟202,當業(yè)務(wù)節(jié)點運行時,將所述業(yè)務(wù)節(jié)點的業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和相應的表達式;步驟204,根據(jù)接收到的業(yè)務(wù)設(shè)置指令,設(shè)置所述表達式所適配的業(yè)務(wù),以及設(shè)置所述業(yè)務(wù)變量;步驟206,根據(jù)設(shè)置后的表達式所適配的業(yè)務(wù)和設(shè)置后的業(yè)務(wù)變量,將所述設(shè)置后的業(yè)務(wù)變量和所述設(shè)置后的表達式組合為目標業(yè)務(wù)邏輯,將所述目標業(yè)務(wù)邏輯適配至所述業(yè)務(wù)節(jié)點。在該技術(shù)方案中,通過將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式,可以將軟件系統(tǒng)中的業(yè)務(wù)邏輯從代碼中分離出來,針對用戶的客戶化需求,可以修改業(yè)務(wù)變量和表達式,而無需修改代碼,不用重新編譯發(fā)布,也不影響其他用戶。并且將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式,可以將業(yè)務(wù)邏輯細化,并進行合理分類,根據(jù)不同的條件可以通過設(shè)置業(yè)務(wù)變量和表達式配置多套業(yè)務(wù)邏輯,并且統(tǒng)一字段的多個業(yè)務(wù)邏輯可以定制計算順序,業(yè)務(wù)邏輯的配置靈活性很高。在上述技術(shù)方案中,優(yōu)選地,在所述步驟202之前還包括:根據(jù)接收到的時刻設(shè)置指令,設(shè)置所述業(yè)務(wù)節(jié)點的啟動業(yè)務(wù)邏輯時刻;所述步驟202包括:當所述業(yè)務(wù)節(jié)點運行到所述啟動業(yè)務(wù)邏輯時刻,將所述業(yè)務(wù)邏輯分解為所述業(yè)務(wù)變量和所述表達式。在該技術(shù)方案中,可以根據(jù)用戶設(shè)置確定啟動業(yè)務(wù)邏輯的時刻。在上述技術(shù)方案中,優(yōu)選地,所述步驟202包括:解析所述業(yè)務(wù)邏輯得到業(yè)務(wù)邏輯關(guān)系表,將所述業(yè)務(wù)邏輯關(guān)系表進行顯示,并根據(jù)所述業(yè)務(wù)邏輯關(guān)系表將所述業(yè)務(wù)邏輯分解為所述業(yè)務(wù)變量和所述表達式。在該技術(shù)方案中,可以根據(jù)分解業(yè)務(wù)邏輯得到的業(yè)務(wù)邏輯關(guān)系表,對業(yè)務(wù)邏輯進行分解。在上述任一技術(shù)方案中,優(yōu)選地,還包括:根據(jù)對所述業(yè)務(wù)的修改,修改所述表達式。在該技術(shù)方案中,可以通過修改表達式所適配的業(yè)務(wù),修改表達式。在上述任一技術(shù)方案中,優(yōu)選地,還包括:根據(jù)接收到的擴充指令,添加所述表達式。
在該技術(shù)方案中,可以通過直接添加表達式組合出新的業(yè)務(wù)邏輯。通過以上技術(shù)方案,用戶可以定制單據(jù)的業(yè)務(wù)邏輯,并且無需求修改源碼,從而不影響以后版本的升級,也不影響其他用戶或其他單據(jù)。
圖1示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)邏輯設(shè)置系統(tǒng)的框圖;圖2示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)邏輯設(shè)置方法的流程圖;圖3示出了根據(jù)本發(fā)明的實施例的解析業(yè)務(wù)邏輯的示意圖;圖4示出了根據(jù)本發(fā)明的實施例的對單據(jù)進行業(yè)務(wù)邏輯設(shè)置的示意圖。
具體實施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式
對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。圖1示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)邏輯設(shè)置系統(tǒng)的框圖。如圖1所示,根據(jù)本發(fā)明的實施例的業(yè)務(wù)邏輯設(shè)置系統(tǒng)100包括:業(yè)務(wù)邏輯分解單元102,用于在業(yè)務(wù)節(jié)點運行時,將業(yè)務(wù)節(jié)點的業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和相應的表達式;設(shè)置單元104,用于根據(jù)接收到的業(yè)務(wù)設(shè)置指令,設(shè)置表達式所適配的業(yè)務(wù),以及設(shè)置業(yè)務(wù)變量;業(yè)務(wù)邏輯組合單元106,用于根據(jù)設(shè)置后的表達式所適配的業(yè)務(wù)和設(shè)置后的業(yè)務(wù)變量,將設(shè)置后的業(yè)務(wù)變量和設(shè)置后的表達式組合為目標業(yè)務(wù)邏輯,將目標業(yè)務(wù)邏輯適配至業(yè)務(wù)節(jié)點。通過將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式,可以將軟件系統(tǒng)中的業(yè)務(wù)邏輯從代碼中分離出來,針對用戶的客戶化需求,可以修改業(yè)務(wù)變量和表達式,而無需修改代碼,不用重新編譯發(fā)布,也不影響其他用戶。并且將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式,可以將業(yè)務(wù)邏輯細化,并進行合理分類,根據(jù)不同的條件可以通過設(shè)置業(yè)務(wù)變量和表達式配置多套業(yè)務(wù)邏輯,并且統(tǒng)一字段的多個業(yè)務(wù)邏輯可以定制計算順序,業(yè)務(wù)邏輯的配置靈活性很高。優(yōu)選地,還包括:啟動時刻設(shè)置單元108,用于根據(jù)接收到的時刻設(shè)置指令,設(shè)置業(yè)務(wù)節(jié)點的啟動業(yè)務(wù)邏輯時刻;業(yè)務(wù)邏輯分解單元102在業(yè)務(wù)節(jié)點運行到啟動業(yè)務(wù)邏輯時刻時,將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式。用戶可以根據(jù)需要設(shè)置確定啟動業(yè)務(wù)邏輯的時刻優(yōu)選地,業(yè)務(wù)邏輯分解單元102包括:解析子單元1022,用于解析業(yè)務(wù)邏輯得到業(yè)務(wù)邏輯關(guān)系表;顯示子單元1024,用于將業(yè)務(wù)邏輯關(guān)系表進行顯示;分解子單元1026,用于根據(jù)業(yè)務(wù)邏輯關(guān)系表將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式??梢愿鶕?jù)分解業(yè)務(wù)邏輯得到的業(yè)務(wù)邏輯關(guān)系表,對業(yè)務(wù)邏輯進行分解。優(yōu)選地,還包括:表達式修改單元110,用于根據(jù)對業(yè)務(wù)的修改,修改表達式??梢酝ㄟ^修改表達式所適配的業(yè)務(wù),修改表達式。
優(yōu)選地,還包括:表達式添加單元112,用于根據(jù)接收到的擴充指令,添加表達式??梢酝ㄟ^直接添加表達式組合出新的業(yè)務(wù)邏輯。圖2示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)邏輯設(shè)置方法的流程圖。如圖2所示,根據(jù)本發(fā)明的實施例的業(yè)務(wù)邏輯設(shè)置方法包括:步驟202,當業(yè)務(wù)節(jié)點運行時,將業(yè)務(wù)節(jié)點的業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和相應的表達式;步驟204,根據(jù)接收到的業(yè)務(wù)設(shè)置指令,設(shè)置表達式所適配的業(yè)務(wù),以及設(shè)置業(yè)務(wù)變量;步驟206,根據(jù)設(shè)置后的表達式所適配的業(yè)務(wù)和設(shè)置后的業(yè)務(wù)變量,將設(shè)置后的業(yè)務(wù)變量和設(shè)置后的表達式組合為目標業(yè)務(wù)邏輯,將目標業(yè)務(wù)邏輯適配至業(yè)務(wù)節(jié)點。通過將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式,可以將軟件系統(tǒng)中的業(yè)務(wù)邏輯從代碼中分離出來,針對用戶的客戶化需求,可以修改業(yè)務(wù)變量和表達式,而無需修改代碼,不用重新編譯發(fā)布,也不影響其他用戶。并且將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式,可以將業(yè)務(wù)邏輯細化,并進行合理分類,根據(jù)不同的條件可以通過設(shè)置業(yè)務(wù)變量和表達式配置多套業(yè)務(wù)邏輯,并且統(tǒng)一字段的多個業(yè)務(wù)邏輯可以定制計算順序,業(yè)務(wù)邏輯的配置靈活性很高。優(yōu)選地,在步驟202之前還包括:根據(jù)接收到的時刻設(shè)置指令,設(shè)置業(yè)務(wù)節(jié)點的啟動業(yè)務(wù)邏輯時刻;步驟202包括:當業(yè)務(wù)節(jié)點運行到啟動業(yè)務(wù)邏輯時刻,將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式。用戶可以根據(jù)需要設(shè)置確定啟動業(yè)務(wù)邏輯的時刻。優(yōu)選地,步驟202包括:解析業(yè)務(wù)邏輯得到業(yè)務(wù)邏輯關(guān)系表,將業(yè)務(wù)邏輯關(guān)系表進行顯示,并根據(jù)業(yè)務(wù)邏輯關(guān)系表將業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和表達式??梢愿鶕?jù)分解業(yè)務(wù)邏輯得到的業(yè)務(wù)邏輯關(guān)系表,對業(yè)務(wù)邏輯進行分解。優(yōu)選地,還包括:根據(jù)對業(yè)務(wù)的修改,修改表達式。可以通過修改表達式所適配的業(yè)務(wù),修改表達式。優(yōu)選地,還包括:根據(jù)接收到的擴充指令,添加表達式??梢酝ㄟ^直接添加表達式組合出新的業(yè)務(wù)邏輯。圖3示出了根據(jù)本發(fā)明的實施例的解析業(yè)務(wù)邏輯的示意圖。如圖3所示,一個業(yè)務(wù)節(jié)點302可以存在多個業(yè)務(wù)邏輯,如業(yè)務(wù)邏輯A、業(yè)務(wù)邏輯B、業(yè)務(wù)邏輯C,通過業(yè)務(wù)邏輯解析器304讀取每個業(yè)務(wù)邏輯,并生成業(yè)務(wù)邏輯關(guān)系表輸出到用戶界面上。以如圖4所示的客戶調(diào)價表單為例,解析該表單得到兩份業(yè)務(wù)邏輯關(guān)系表,表I確定了字段間的計算邏輯,表2根據(jù)當前數(shù)據(jù)控制字段是否可用。
權(quán)利要求
1.一種業(yè)務(wù)邏輯設(shè)置系統(tǒng),其特征在于,包括: 業(yè)務(wù)邏輯分解單元,用于在業(yè)務(wù)節(jié)點運行時,將所述業(yè)務(wù)節(jié)點的業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和相應的表達式; 設(shè)置單元,用于根據(jù)接收到的業(yè)務(wù)設(shè)置指令,設(shè)置所述表達式所適配的業(yè)務(wù),以及設(shè)置所述業(yè)務(wù)變量; 業(yè)務(wù)邏輯組合單元,用于根據(jù)設(shè)置后的表達式所適配的業(yè)務(wù)和設(shè)置后的業(yè)務(wù)變量,將所述設(shè)置后的業(yè)務(wù)變量和所述設(shè)置后的表達式組合為目標業(yè)務(wù)邏輯,將所述目標業(yè)務(wù)邏輯適配至所述業(yè)務(wù)節(jié)點。
2.根據(jù)權(quán)利要求1所述的業(yè)務(wù)邏輯設(shè)置系統(tǒng),其特征在于,還包括: 啟動時刻設(shè)置單元,用于根據(jù)接收到的時刻設(shè)置指令,設(shè)置所述業(yè)務(wù)節(jié)點的啟動業(yè)務(wù)邏輯時刻;所述業(yè)務(wù)邏輯分解單元在所述業(yè)務(wù)節(jié)點運行到所述啟動業(yè)務(wù)邏輯時刻時,將所述業(yè)務(wù)邏輯分解為所述業(yè)務(wù)變量和所述表達式。
3.根據(jù)權(quán)利要求1所述的業(yè)務(wù)邏輯設(shè)置系統(tǒng),其特征在于,所述業(yè)務(wù)邏輯分解單元包括: 解析子單元,用于解析所述業(yè)務(wù)邏輯得到業(yè)務(wù)邏輯關(guān)系表; 顯示子單元,用于將所述業(yè)務(wù)邏輯關(guān)系表進行顯示; 分解子單元,用于根據(jù)所述業(yè)務(wù)邏輯關(guān)系表將所述業(yè)務(wù)邏輯分解為所述業(yè)務(wù)變量和所述表達式。
4.根據(jù)權(quán)利要求1至3中任一項所述的業(yè)務(wù)邏輯設(shè)置系統(tǒng),其特征在于,還包括: 表達式修改單元,用于根據(jù)對所述業(yè)務(wù)的修改,修改所述表達式。
5.根據(jù)權(quán)利要求1至3中任一項所述的業(yè)務(wù)邏輯設(shè)置系統(tǒng),其特征在于,還包括: 表達式添加單元,用于根據(jù)接收到的擴充指令,添加所述表達式。
6.一種業(yè)務(wù)邏輯設(shè)置方法,其特征在于,包括: 步驟202,當業(yè)務(wù)節(jié)點運行時,將所述業(yè)務(wù)節(jié)點的業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和相應的表達式; 步驟204,根據(jù)接收到的業(yè)務(wù)設(shè)置指令,設(shè)置所述表達式所適配的業(yè)務(wù),以及設(shè)置所述業(yè)務(wù)變量; 步驟206,根據(jù)設(shè)置后的表達式所適配的業(yè)務(wù)和設(shè)置后的業(yè)務(wù)變量,將所述設(shè)置后的業(yè)務(wù)變量和所述設(shè)置后的表達式組合為目標業(yè)務(wù)邏輯,將所述目標業(yè)務(wù)邏輯適配至所述業(yè)務(wù)節(jié)點。
7.根據(jù)權(quán)利要求6所述的業(yè)務(wù)邏輯設(shè)置方法,其特征在于,在所述步驟202之前還包括:根據(jù)接收到的時刻設(shè)置指令,設(shè)置所述業(yè)務(wù)節(jié)點的啟動業(yè)務(wù)邏輯時刻;所述步驟202包括:當所述業(yè)務(wù)節(jié)點運行到所述啟動業(yè)務(wù)邏輯時刻,將所述業(yè)務(wù)邏輯分解為所述業(yè)務(wù)變量和所述表達式。
8.根據(jù)權(quán)利要求6所述的業(yè)務(wù)邏輯設(shè)置方法,其特征在于,所述步驟202包括:解析所述業(yè)務(wù)邏輯得到業(yè)務(wù)邏輯關(guān)系表,將所述業(yè)務(wù)邏輯關(guān)系表進行顯示,并根據(jù)所述業(yè)務(wù)邏輯關(guān)系表將所述業(yè)務(wù)邏輯分解為所述業(yè)務(wù)變量和所述表達式。
9.根據(jù)權(quán)利要求6至8中任一項所述的業(yè)務(wù)邏輯設(shè)置方法,其特征在于,還包括:根據(jù)對所述業(yè)務(wù)的修改,修改所述表達式。
10.根據(jù)權(quán)利要求6至8中任一項所述的業(yè)務(wù)邏輯設(shè)置方法,其特征在于,還包括:根據(jù)接收到的擴充指令, 添加所述表達式。
全文摘要
本發(fā)明提供了一種業(yè)務(wù)邏輯設(shè)置系統(tǒng),包括業(yè)務(wù)邏輯分解單元,用于在業(yè)務(wù)節(jié)點運行時,將業(yè)務(wù)節(jié)點的業(yè)務(wù)邏輯分解為業(yè)務(wù)變量和相應的表達式;設(shè)置單元,用于根據(jù)接收到的業(yè)務(wù)設(shè)置指令,設(shè)置表達式所適配的業(yè)務(wù),以及設(shè)置業(yè)務(wù)變量;業(yè)務(wù)邏輯組合單元,用于根據(jù)設(shè)置后的表達式所適配的業(yè)務(wù)和設(shè)置后的業(yè)務(wù)變量,將設(shè)置后的業(yè)務(wù)變量和設(shè)置后的表達式組合為目標業(yè)務(wù)邏輯,將目標業(yè)務(wù)邏輯適配至業(yè)務(wù)節(jié)點。本發(fā)明還提出了一種業(yè)務(wù)邏輯設(shè)置方法。通過本發(fā)明的技術(shù)方案,用戶可以定制單據(jù)的業(yè)務(wù)邏輯,并且無需求修改源碼,從而不影響以后版本的升級,也不影響其他用戶或其他單據(jù)。
文檔編號G06Q10/10GK103186848SQ201310058939
公開日2013年7月3日 申請日期2013年2月25日 優(yōu)先權(quán)日2013年2月25日
發(fā)明者李艷, 劉曉博 申請人:用友軟件股份有限公司