两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種報(bào)表生成系統(tǒng)及方法與流程

文檔序號(hào):11250858閱讀:801來源:國(guó)知局
一種報(bào)表生成系統(tǒng)及方法與流程

本發(fā)明屬于信息技術(shù)領(lǐng)域,特別是涉及到一種報(bào)表生成系統(tǒng)及方法。



背景技術(shù):

中國(guó)報(bào)表以其復(fù)雜性和個(gè)性化著稱于世。包含報(bào)表的標(biāo)題,表頭、行標(biāo)題和列標(biāo)題,表尾等幾部分組成?,F(xiàn)有的報(bào)表工具比較多,如國(guó)外的水晶報(bào)表、帆軟報(bào)表等。水晶報(bào)表可以把多個(gè)數(shù)據(jù)源,多個(gè)數(shù)據(jù)庫(kù)合成到報(bào)表中。給出多個(gè)圖形放到報(bào)表中,可以在報(bào)表上體現(xiàn)聚類分析的多維數(shù)據(jù)報(bào)表,給統(tǒng)計(jì)分析工作帶來很大的便利。但是上述報(bào)表與中國(guó)的報(bào)表有很大的不同,只能展現(xiàn)規(guī)則報(bào)表,不能體現(xiàn)中國(guó)式的基于單元格的不規(guī)則報(bào)表。

帆軟報(bào)表是中國(guó)產(chǎn)的報(bào)表,體現(xiàn)形式就多樣化、格式化??梢圆糠值恼宫F(xiàn)一些中國(guó)式報(bào)表,可以體現(xiàn)多個(gè)數(shù)據(jù)源,對(duì)報(bào)表進(jìn)行定制,匯總的工作。但對(duì)于期初、發(fā)生、期末、編碼轉(zhuǎn)換、報(bào)表數(shù)據(jù)反查等沒有好的解決辦法。

因此現(xiàn)有技術(shù)當(dāng)中亟需要一種新型的技術(shù)方案來解決這一問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種簡(jiǎn)單的所見即所得的復(fù)雜報(bào)表定制方法,并通過報(bào)表可以方便的查詢出給出該報(bào)表的數(shù)據(jù)來源。

一種報(bào)表生成系統(tǒng),包括報(bào)表系統(tǒng)、客戶端和服務(wù)器組,所述客戶端為用于承載用戶報(bào)表系統(tǒng)交互操作的計(jì)算機(jī);所述服務(wù)器組為用于運(yùn)行報(bào)表系統(tǒng)的服務(wù)器端程序、數(shù)據(jù)庫(kù)、保存報(bào)表文件以及認(rèn)證報(bào)表的服務(wù)器設(shè)備,服務(wù)器組包括應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、文件服務(wù)器和ca認(rèn)證服務(wù)器;所述報(bào)表系統(tǒng)包括數(shù)據(jù)字典定義模塊、報(bào)表定義模塊、報(bào)表生成模塊和數(shù)據(jù)查詢模塊;所述數(shù)據(jù)字典定義模塊用于定義數(shù)據(jù)字典與報(bào)表數(shù)據(jù)源的關(guān)系;所述報(bào)表定義模塊用于通過限定條件把表格與數(shù)據(jù)源關(guān)聯(lián)起來;所述報(bào)表生成模塊通過表格循環(huán),把報(bào)表的定義公式中獲取的數(shù)據(jù)填報(bào)到報(bào)表表格中,并采用統(tǒng)一的格式進(jìn)行存儲(chǔ);所述數(shù)據(jù)查詢模塊用于查詢到生成該報(bào)表的數(shù)據(jù)來源。

一種報(bào)表生成方法,利用所述的一種報(bào)表生成系統(tǒng),包括以下步驟,并且以下步驟順次進(jìn)行,

步驟一、完成數(shù)據(jù)字典定義模塊的定義

步驟①、公用數(shù)據(jù)字段定義

所述公用數(shù)據(jù)字段定義包含步驟z101至z105,共5個(gè)子步驟,其具體如下,

步驟z101,在客戶端打開報(bào)表公用數(shù)據(jù)字段定義窗口,客戶端通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取報(bào)表公用數(shù)據(jù)字段定義命令;

步驟z102、應(yīng)用服務(wù)器收到客戶端的請(qǐng)求信息后,經(jīng)過翻譯和處理,整理成數(shù)據(jù)庫(kù)查詢命令向數(shù)據(jù)庫(kù)服務(wù)器發(fā)出提取數(shù)據(jù)命令,數(shù)據(jù)庫(kù)服務(wù)器根據(jù)該項(xiàng)命令進(jìn)行處理,并把處理結(jié)果傳遞給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器整理成key-value模式,通過https通訊協(xié)議,把該鏈表數(shù)據(jù)傳遞回客戶端;

步驟z103,客戶端收到所述鏈表數(shù)據(jù)信息后,在公共數(shù)據(jù)字段定義窗口展現(xiàn)已經(jīng)定義的數(shù)據(jù);

步驟z104,通過客戶端把與編碼表名稱對(duì)應(yīng)的信息,通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取編碼數(shù)據(jù)命令,重復(fù)步驟z102,客戶端收到鏈表數(shù)據(jù)信息后,把該信息填入選擇列表框,用戶把該字段對(duì)應(yīng)編碼字段及顯示字段進(jìn)行核實(shí);

步驟z105、客戶端將核實(shí)后的信息通過https通訊協(xié)議傳遞給應(yīng)用服務(wù)器,重復(fù)步驟z102步驟,客戶端接收到反饋結(jié)果并在界面顯示;

步驟②、報(bào)表數(shù)據(jù)表定義

在客戶端打開報(bào)表定義界面,客戶端在報(bào)表定義界面中通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取報(bào)表數(shù)據(jù)表定義命令,重復(fù)步驟z102,客戶端收到鏈表數(shù)據(jù)信息后,在報(bào)表數(shù)據(jù)表定義界面顯示定義報(bào)表的數(shù)據(jù)表,核對(duì)報(bào)表的中文名稱、英文名稱和數(shù)據(jù)表類別,對(duì)錯(cuò)誤的中文名稱、英文名稱或數(shù)據(jù)表類別進(jìn)行修改并確認(rèn)后,保存數(shù)據(jù),重復(fù)步驟z105;

步驟③、報(bào)表數(shù)據(jù)字段定義

用戶在客戶端的報(bào)表定義界面定義報(bào)表數(shù)據(jù)表,打開該報(bào)表數(shù)據(jù)字段定義界面,或者用戶通過直接打開報(bào)表數(shù)據(jù)字段定義界面,通過選擇定義的數(shù)據(jù)表來定義報(bào)表字段,

客戶端把選擇的報(bào)表數(shù)據(jù)字段信息通過https通訊協(xié)議傳遞給應(yīng)用服務(wù)器,重復(fù)步驟z102,客戶端分別對(duì)數(shù)據(jù)表每一個(gè)字段進(jìn)行核對(duì),核對(duì)內(nèi)容包括字段中文名、英文名、對(duì)應(yīng)數(shù)據(jù)字典英文名和字段說明,保存核對(duì)后的數(shù)據(jù)并重復(fù)步驟z105;

步驟④、報(bào)表匯總定義

用戶在客戶端通過https通訊協(xié)議向服務(wù)器發(fā)送提取該報(bào)表匯總定義數(shù)據(jù),重復(fù)步驟z102;

在客戶端選擇匯報(bào)報(bào)表顯示字段、顯示字段順序、顯示寬度、對(duì)齊方式和格式處理,

對(duì)于一個(gè)以上的數(shù)據(jù)表,核對(duì)數(shù)據(jù)表之間的關(guān)聯(lián)關(guān)系并確認(rèn)數(shù)據(jù)表之間的關(guān)聯(lián)關(guān)系正確,

清除原顯示定義,保存新的定義,重復(fù)步驟z105操作;

步驟二、完成報(bào)表定義模塊的定義

步驟①、報(bào)表常量定義

在客戶端打開報(bào)表常量定義窗口,客戶端通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取報(bào)表常量命令,重復(fù)步驟z102,將客戶端返回的常量值展示給用戶,確認(rèn)無誤后的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)服務(wù)器中,重復(fù)步驟z105;

步驟②、報(bào)表維護(hù)

在客戶端打開報(bào)表常量定義窗口,客戶端通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取報(bào)表常量命令,重復(fù)步驟z102,客戶端返回該人權(quán)限下的報(bào)表列表,該人對(duì)顯示的列表進(jìn)行查看和維護(hù),定義好的表格保存到文件服務(wù)器,報(bào)表的信息通過應(yīng)用服務(wù)器保存到數(shù)據(jù)庫(kù)服務(wù)器中;

步驟③、報(bào)表權(quán)限維護(hù)

報(bào)表所有者通過報(bào)表權(quán)限維護(hù)界面給其他人員授權(quán),其他人員根據(jù)所授權(quán)的權(quán)限行使報(bào)表生成權(quán)限、報(bào)表查詢權(quán)限和報(bào)表修改權(quán)限工作;

步驟④、報(bào)表變量定義

根據(jù)預(yù)生成的報(bào)表確定所需的變量,設(shè)定所需的變量并將數(shù)據(jù)更新到數(shù)據(jù)庫(kù)服務(wù)器中,步驟重復(fù)步驟z105操作;

步驟⑤、報(bào)表公式定義

所述報(bào)表公式定義包括步驟d101至d105,共5個(gè)子步驟,具體步驟如下,

步驟d101、根據(jù)報(bào)表的要求進(jìn)行報(bào)表標(biāo)題條件定義,根據(jù)標(biāo)題條件設(shè)定整體條件,該整體條件作用于整個(gè)報(bào)表域,

該項(xiàng)定義在界面中顯示中文條件解析,數(shù)據(jù)字典中公用字段英文解析兩種顯示模式,高級(jí)用戶在該項(xiàng)條件框中,直接修改定義數(shù)據(jù),中文條件解析和英文解析在應(yīng)用服務(wù)器作數(shù)據(jù)一致性驗(yàn)證,驗(yàn)證通過的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)服務(wù)器中,驗(yàn)證錯(cuò)誤的重新設(shè)定條件再次驗(yàn)證,直至驗(yàn)證通過并保存數(shù)據(jù)到數(shù)據(jù)庫(kù)服務(wù)器;

步驟d102、設(shè)定報(bào)表行列導(dǎo)向,通過行選擇數(shù)據(jù)源或者通過列選擇數(shù)據(jù)源;

步驟d103、設(shè)定報(bào)表行條件,

d102設(shè)定了數(shù)據(jù)源為行,選擇數(shù)據(jù)源,條件設(shè)置根據(jù)該報(bào)表的行需要填報(bào)的內(nèi)容設(shè)置條件;

d102設(shè)定了數(shù)據(jù)源為列,條件設(shè)置根據(jù)該報(bào)表的列需要填報(bào)的內(nèi)容設(shè)置條件;

該項(xiàng)定義在界面中顯示中文條件解析,數(shù)據(jù)字典中公用字段英文解析兩種顯示模式,高級(jí)用戶在該項(xiàng)條件框中,直接修改定義數(shù)據(jù),中文條件解析和英文解析在應(yīng)用服務(wù)器作數(shù)據(jù)一致性驗(yàn)證,驗(yàn)證通過的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)服務(wù)器中,驗(yàn)證錯(cuò)誤的重新設(shè)定條件再次驗(yàn)證,直至驗(yàn)證通過并保存數(shù)據(jù)到數(shù)據(jù)庫(kù)服務(wù)器;

步驟d104、設(shè)定報(bào)表列條件,

d102設(shè)定了數(shù)據(jù)源為列,選擇數(shù)據(jù)源,條件設(shè)置根據(jù)該報(bào)表的列需要填報(bào)的內(nèi)容設(shè)置條件;

d102設(shè)定了數(shù)據(jù)源為行,條件設(shè)置根據(jù)該報(bào)表的行需要填報(bào)的內(nèi)容設(shè)置條件;

該項(xiàng)定義在界面中顯示中文條件解析,數(shù)據(jù)字典中公用字段英文解析兩種顯示模式,高級(jí)用戶在該項(xiàng)條件框中,直接修改定義數(shù)據(jù),中文條件解析和英文解析在應(yīng)用服務(wù)器作數(shù)據(jù)一致性驗(yàn)證,驗(yàn)證通過的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)服務(wù)器中,驗(yàn)證錯(cuò)誤的重新設(shè)定條件再次驗(yàn)證,直至驗(yàn)證通過并保存數(shù)據(jù)到數(shù)據(jù)庫(kù)服務(wù)器;

步驟d105、一張報(bào)表中,標(biāo)題條件、行條件以及列條件均不滿足特定單元格,在該特定單元格選擇數(shù)據(jù)源,該數(shù)據(jù)源覆蓋標(biāo)題條件設(shè)定的數(shù)據(jù)源;

步驟⑥、設(shè)定報(bào)表數(shù)據(jù)區(qū)域

采用左上角右下角單元格的模式選擇數(shù)據(jù)區(qū)域并將數(shù)據(jù)區(qū)域的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中;

步驟⑦、報(bào)表認(rèn)證

報(bào)表?xiàng)l件定義完成后,通過ca認(rèn)證服務(wù)器,對(duì)該項(xiàng)報(bào)表的定義條件,報(bào)表文件進(jìn)行版本標(biāo)識(shí),并給該項(xiàng)報(bào)表加上版本號(hào)、修訂日期、修訂時(shí)間、修訂單位和修訂人信息,保存到ca認(rèn)證服務(wù)器,

對(duì)于報(bào)表公式或者格式修改后的報(bào)表,報(bào)表的版本號(hào)自動(dòng)增加一個(gè)子版本號(hào),同樣保存到ca認(rèn)證服務(wù)器中并將報(bào)表文件更新到文件服務(wù)器中;

步驟三、完成報(bào)表生成模塊的數(shù)據(jù)生成

步驟①、根據(jù)權(quán)限,從數(shù)據(jù)庫(kù)服務(wù)器中提取有報(bào)表生成權(quán)限的報(bào)表列表,通過客戶端顯示,用戶選擇本次生成的報(bào)表,數(shù)據(jù)庫(kù)服務(wù)器提取報(bào)表定義數(shù)據(jù),包括與該報(bào)表相關(guān)的數(shù)據(jù)字典模塊數(shù)據(jù)和報(bào)表定義數(shù)據(jù),形成數(shù)據(jù)鏈表,通過https通訊協(xié)議傳遞給客戶端,同時(shí)提取文件服務(wù)器的該報(bào)表格式文件到客戶端,客戶端加載到報(bào)表界面中;

步驟②、報(bào)表參數(shù)確定

根據(jù)該報(bào)表的報(bào)表變量定義,用戶選擇或者確定本次報(bào)表的變量,從而確定報(bào)表參數(shù)的具體數(shù)據(jù);

步驟③、報(bào)表公共變量實(shí)例化

根據(jù)整個(gè)報(bào)表的報(bào)表常量定義,確定報(bào)表的常量的具體數(shù)據(jù),完成報(bào)表常量的實(shí)例化;

步驟④、報(bào)表主數(shù)據(jù)源確定

根據(jù)報(bào)表定義的標(biāo)題條件提取報(bào)表的數(shù)據(jù)源定義;

步驟⑤、定義一個(gè)二維結(jié)構(gòu)體,該二維結(jié)構(gòu)體包括單元格行號(hào)、列號(hào)、輸出數(shù)據(jù)公式、數(shù)據(jù)源、中文條件、數(shù)據(jù)表?xiàng)l件、報(bào)表數(shù)值和顯示格式;

步驟⑥、按照定義的標(biāo)題條件、行條件和列條件進(jìn)行循環(huán),提取定義的數(shù)據(jù);

步驟⑦、把標(biāo)題條件、行條件、列條件和單元條件整合到一起,每個(gè)條件用括號(hào)括起來,中間用and連接;

步驟⑧、變量替換

根據(jù)步驟②報(bào)表參數(shù)確定和步驟③報(bào)表公用變量實(shí)例化確定的變量實(shí)例化的數(shù)據(jù),對(duì)報(bào)表的輸出數(shù)據(jù)和數(shù)據(jù)表?xiàng)l件中的變量進(jìn)行替換,由變量替換成數(shù)據(jù),保存至輸出數(shù)據(jù)和數(shù)據(jù)表?xiàng)l件中;

步驟⑨、字段個(gè)性化處理

通過數(shù)據(jù)源和報(bào)表定義的數(shù)據(jù)字典的字段,對(duì)報(bào)表數(shù)據(jù)字段定義中查出的該報(bào)表的實(shí)際字段進(jìn)行替換,并保存至輸出數(shù)據(jù)和數(shù)據(jù)表?xiàng)l件中;

步驟⑩、報(bào)表計(jì)算公式合成

合成公式為“select”+“輸出數(shù)據(jù)”+“數(shù)據(jù)源”+“數(shù)據(jù)表?xiàng)l件”,形成報(bào)表計(jì)算sql語(yǔ)句;

步驟數(shù)據(jù)提取

把該報(bào)表計(jì)算字符串通過應(yīng)用服務(wù)器傳遞給數(shù)據(jù)庫(kù)服務(wù)器中,數(shù)據(jù)庫(kù)通過該sql語(yǔ)句計(jì)算出報(bào)表數(shù)據(jù),傳遞給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器把該數(shù)據(jù)保存到所述二維結(jié)構(gòu)體的報(bào)表數(shù)值中;

步驟從報(bào)表格式定義數(shù)據(jù)中提取該數(shù)據(jù)的格式,保存到所述二維結(jié)構(gòu)體的數(shù)據(jù)格式中;

重復(fù)步驟三中的步驟⑥至步驟至所有報(bào)表單元格計(jì)算完成為止,并把保存后的二維結(jié)構(gòu)體傳遞給客戶端;

步驟客戶端按照應(yīng)用服務(wù)器傳遞來的二維結(jié)構(gòu)體數(shù)據(jù),通過單元循環(huán),把數(shù)據(jù)提取出來,按照格式要求,填寫到指定單元格中;

步驟用戶對(duì)單元格數(shù)據(jù)有疑問,通過雙擊該單元格進(jìn)行查詢,具體查詢步驟參照步驟四報(bào)表數(shù)據(jù)查詢模塊中的步驟s101至步驟s105;

步驟用戶對(duì)該報(bào)表滿意,進(jìn)行報(bào)表確認(rèn),

所述報(bào)表確認(rèn)具體包括p101和p102兩個(gè)步驟,

步驟p101、報(bào)表頭數(shù)據(jù)存儲(chǔ)

報(bào)表存儲(chǔ)將報(bào)表名稱,報(bào)表日期、報(bào)表確定人以及報(bào)表單位信息進(jìn)行存儲(chǔ),該次報(bào)表的ca認(rèn)證號(hào)存儲(chǔ)到報(bào)表數(shù)據(jù)庫(kù)服務(wù)器;

步驟p102、把報(bào)表的二維結(jié)構(gòu)體及該次報(bào)表的ca認(rèn)證號(hào)保存到數(shù)據(jù)庫(kù)服務(wù)器,將填報(bào)完成的報(bào)表以pdf格式保存在文件服務(wù)器中,保存的文件名稱形式為報(bào)表編號(hào)+日期+該次報(bào)表認(rèn)證號(hào);

步驟四、完成報(bào)表數(shù)據(jù)查詢模塊的數(shù)據(jù)查詢

步驟①、根據(jù)權(quán)限,從數(shù)據(jù)庫(kù)服務(wù)器中提取有報(bào)表生成權(quán)限的報(bào)表列表,并通過客戶端顯示,選擇查詢的已經(jīng)生成的報(bào)表;

步驟②、客戶端通過文件服務(wù)器把該認(rèn)證后的報(bào)表文件提取到客戶端;

步驟③、客戶端從數(shù)據(jù)庫(kù)服務(wù)器中,把該報(bào)表的公共數(shù)據(jù)和單元數(shù)據(jù)提取出來,把具體的數(shù)值填充到指定的單元格;

步驟④、對(duì)有異議的報(bào)表單元,雙擊該單元格,查詢?cè)搯卧竦臄?shù)據(jù)來源,查詢的具體方法包括s101至s105,

步驟s101、用戶雙擊報(bào)表設(shè)定的單元格事件,提取所要查詢的報(bào)表單元;

步驟s102、通過該報(bào)表單元提取報(bào)表計(jì)算公式;

步驟s103、將提取的計(jì)算公式中的數(shù)據(jù)表提取出來,通過數(shù)據(jù)字典,查詢出該數(shù)據(jù)表的報(bào)表匯總定義;

步驟s104、將計(jì)算公式的條件和報(bào)表匯總定義合成新的查詢語(yǔ)句;

步驟s105、通過所述新的查詢語(yǔ)句查詢出數(shù)據(jù)列表,并通過數(shù)據(jù)窗口顯示;

步驟⑤、有報(bào)表生成權(quán)限的用戶直接修改報(bào)表上的數(shù)據(jù),

修改報(bào)表上的數(shù)據(jù)的具體步驟包括s401至s403,

步驟s401、用戶將預(yù)修改的數(shù)據(jù)填寫到指定單元格;

步驟s402、報(bào)表數(shù)據(jù)檢查

依次提取報(bào)表單元格的現(xiàn)有數(shù)據(jù)和該報(bào)表數(shù)據(jù)庫(kù)中已經(jīng)保存的數(shù)據(jù),按照單元格逐個(gè)對(duì)數(shù)據(jù)進(jìn)行核對(duì),現(xiàn)有數(shù)據(jù)與提取的數(shù)據(jù)一致,保持原單元格不變,現(xiàn)有數(shù)據(jù)與提取的數(shù)據(jù)不一致,將該單元的修改后的數(shù)據(jù)保存到報(bào)表歷史數(shù)據(jù)中,并標(biāo)示修改時(shí)間和操作人,修改后的數(shù)據(jù)保存到報(bào)表單元數(shù)據(jù)庫(kù)中;

步驟s403、修改后的報(bào)表通過步驟三中步驟重新認(rèn)證,填報(bào)完成的報(bào)表以pdf格式保存至文件服務(wù)器中,保存的文件名稱為報(bào)表編號(hào)+日期+該次報(bào)表認(rèn)證號(hào);

步驟⑥、查詢報(bào)表數(shù)據(jù)修改歷史

選中單元格,按ctrl鍵,同時(shí)雙擊該單元格,提取出該單元的報(bào)表修改歷史數(shù)據(jù)。

所述步驟二中的報(bào)表常量包括年報(bào)的起始截止月日,季報(bào)的起始截止日,月報(bào)的起始截止日,同期時(shí)間差,期初、期末、數(shù)據(jù)單位換算關(guān)系以及金額單位換算關(guān)系。

通過上述設(shè)計(jì)方案,本發(fā)明可以帶來如下有益效果:

在數(shù)據(jù)字典定義模塊中把一般性數(shù)據(jù)字段與報(bào)表公共字段進(jìn)行關(guān)聯(lián),實(shí)現(xiàn)采用報(bào)表公用字段進(jìn)行定義所有報(bào)表?xiàng)l件,區(qū)別于現(xiàn)有報(bào)表直接通過報(bào)表字段進(jìn)行定義的方法,解決了各種數(shù)據(jù)表字段英文名稱不統(tǒng)一的問題。

通過報(bào)表匯總的定義,可以在后續(xù)的模塊中自動(dòng)生產(chǎn)報(bào)表數(shù)據(jù)反查sql語(yǔ)句。區(qū)別于現(xiàn)有報(bào)表方法沒有查詢定義,現(xiàn)有報(bào)表不能直接反查原始數(shù)據(jù)。

本發(fā)明充分利用中國(guó)報(bào)表的特點(diǎn),把條件拆分出表頭條件、行條件、列條件、單元條件,逐層剝離,用最小的工作量完成每個(gè)單元格的報(bào)表公式定義工作,大大簡(jiǎn)化了報(bào)表定義工作量。

通過報(bào)表數(shù)據(jù)區(qū)域的設(shè)定,大大減少報(bào)表的數(shù)據(jù)存儲(chǔ)量。

采用ca認(rèn)證技術(shù),把報(bào)表文件、公式進(jìn)行版本處理,防止非法篡改報(bào)表定義。

報(bào)表數(shù)據(jù)可以反查到匯總的數(shù)據(jù)來源,對(duì)報(bào)表的數(shù)據(jù)核查非常方便,減少工作量。

報(bào)表數(shù)據(jù)可以修改,防止有些數(shù)據(jù)不全,或者數(shù)據(jù)錯(cuò)誤,無法生成報(bào)表,耽誤報(bào)表上報(bào)工作。

修改后的報(bào)表數(shù)據(jù)有據(jù)可查,哪個(gè)操作員、哪個(gè)時(shí)間修改、修改了哪些單元、修改前后數(shù)據(jù)是什么都可以追溯。

報(bào)表定義的通用性好,能夠克服不同數(shù)據(jù)表不一致及編碼不一致的缺陷。

報(bào)表定義簡(jiǎn)單,通過表變量、表?xiàng)l件、行條件、列條件,極大的簡(jiǎn)化了報(bào)表?xiàng)l件的定制復(fù)雜程度。

通過編碼轉(zhuǎn)換機(jī)制,在報(bào)表定制界面通過中文進(jìn)行定義,后臺(tái)進(jìn)行轉(zhuǎn)譯成實(shí)際的sql語(yǔ)句??勺x性好。

在報(bào)表生成時(shí),如果對(duì)報(bào)表上的數(shù)據(jù)有所疑問,可以直接在表上查詢出得出該數(shù)據(jù)的來源,可以對(duì)修改的記錄進(jìn)行跟蹤。這樣方便了報(bào)表的使用。

附圖說明

以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的說明:

圖1為本發(fā)明一種報(bào)表生成系統(tǒng)及方法的報(bào)表功能結(jié)構(gòu)框圖。

圖2為本發(fā)明一種報(bào)表生成系統(tǒng)及方法的報(bào)表詳細(xì)功能框圖。

具體實(shí)施方式

如圖所示,一種報(bào)表生成系統(tǒng),包括數(shù)據(jù)字典定義模塊,報(bào)表定義模塊,報(bào)表生成模塊和數(shù)據(jù)查詢模塊。

所述的數(shù)據(jù)字典定義模塊定義通用的數(shù)據(jù)字典及普通報(bào)表數(shù)據(jù)源的各種關(guān)系,數(shù)據(jù)字典定制模塊,包括公用數(shù)據(jù)字段定義、報(bào)表數(shù)據(jù)表定義、報(bào)表數(shù)據(jù)字段定義、報(bào)表匯總定義組成。通過數(shù)據(jù)字典的定義,把各種應(yīng)用系統(tǒng)的數(shù)據(jù)表及其字段對(duì)應(yīng)到統(tǒng)一的數(shù)據(jù)字典中。

所述的報(bào)表定義模塊通過各種條件把表格與數(shù)據(jù)源關(guān)聯(lián)起來。

所述的報(bào)表生成模塊通過表格循環(huán),把報(bào)表的定義公式中獲取數(shù)據(jù),填報(bào)到報(bào)表表格中,并采用統(tǒng)一的格式進(jìn)行存儲(chǔ),

所述的數(shù)據(jù)查詢模塊可以查詢到生成該報(bào)表的數(shù)據(jù)來源。

本發(fā)明中的一種報(bào)表生成方法是一種針對(duì)復(fù)雜報(bào)表的定制方法,主要通過數(shù)據(jù)字典模塊對(duì)報(bào)表的數(shù)據(jù)源進(jìn)行標(biāo)準(zhǔn)化處理,然后在報(bào)表定義模塊通過報(bào)表的生成方法進(jìn)行定義,把報(bào)表與業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)起來。報(bào)表生成模塊實(shí)現(xiàn)報(bào)表輸出功能,輸出指定的報(bào)表,通過報(bào)表認(rèn)證工具進(jìn)行報(bào)表認(rèn)證后,進(jìn)行報(bào)表保存。認(rèn)證的報(bào)表文件存儲(chǔ)到文件服務(wù)器中。在數(shù)據(jù)查詢模塊中實(shí)現(xiàn)查詢生成報(bào)表,并可以根據(jù)報(bào)表上的數(shù)據(jù)查詢到數(shù)據(jù)來源及報(bào)表是否被更改過。

本發(fā)明可以快速的定制中國(guó)報(bào)表,并與數(shù)據(jù)源關(guān)聯(lián)起來,便于查詢使用。

一種報(bào)表生成方法首先通過數(shù)據(jù)字典模塊對(duì)報(bào)表的數(shù)據(jù)源進(jìn)行標(biāo)準(zhǔn)化處理,然后在報(bào)表定義模塊通過報(bào)表的生成方法進(jìn)行定義,把報(bào)表與業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)起來。報(bào)表生成模塊實(shí)現(xiàn)報(bào)表輸出功能,輸出指定的報(bào)表,通過報(bào)表認(rèn)證工具進(jìn)行報(bào)表認(rèn)證后,進(jìn)行報(bào)表保存。認(rèn)證的報(bào)表文件存儲(chǔ)到文件服務(wù)器中。在數(shù)據(jù)查詢模塊中實(shí)現(xiàn)查詢歷來生成的報(bào)表,并可以根據(jù)報(bào)表上的數(shù)據(jù)查詢到數(shù)據(jù)來源及判斷報(bào)表是否被更改過。

一種報(bào)表生成方法包括如下具體步驟:

步驟一、首先進(jìn)行數(shù)據(jù)字典定義模塊操作,包括如下內(nèi)容

步驟①、公用數(shù)據(jù)字段定義:包含步驟z101至z105,共5個(gè)子步驟。具體如下

步驟z101,在客戶端打開報(bào)表公用數(shù)據(jù)字段定義窗口,客戶端通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取報(bào)表公共數(shù)據(jù)字段定義命令;

步驟z102應(yīng)用服務(wù)器收到客戶端的請(qǐng)求信息后,經(jīng)過翻譯,業(yè)務(wù)處理,整理成數(shù)據(jù)庫(kù)查詢命令向數(shù)據(jù)庫(kù)服務(wù)器發(fā)出提取數(shù)據(jù)命令,數(shù)據(jù)庫(kù)服務(wù)器根據(jù)該項(xiàng)請(qǐng)求進(jìn)行操作,包括查詢、更新、刪除等操作。并把處理結(jié)果傳遞給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器整理成key-value模式,通過https通訊協(xié)議,把該鏈表數(shù)據(jù)傳遞回客戶端;更新操作時(shí)。

步驟z103,客戶端收到信息后,在公共數(shù)據(jù)字段定義窗口展現(xiàn)已經(jīng)定義數(shù)據(jù)。展現(xiàn)的內(nèi)容有定義公共數(shù)據(jù)字段中文名稱,英文名稱、字段類型、是否可以匯總顯示等信息。

步驟z104,在選擇對(duì)應(yīng)編碼表名稱時(shí),通過客戶端把需要的信息整理后,通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取編碼數(shù)據(jù)命令,重復(fù)步驟z102,客戶端收到信息后,把該信息填入選擇列表框,用戶把該字段對(duì)應(yīng)編碼字段及顯示字段進(jìn)行確定。

步驟z105、客戶端進(jìn)行信息確認(rèn)后,把上述信息通過https通訊協(xié)議傳遞給應(yīng)用服務(wù)器,重復(fù)步驟z102步驟,客戶端收到反饋結(jié)果后,在界面顯示確認(rèn)結(jié)果。

步驟②、報(bào)表數(shù)據(jù)表定義:在客戶端,打開報(bào)表定義界面中,客戶端通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取報(bào)表公共數(shù)據(jù)字段定義命令,重復(fù)步驟z102,客戶端收到信息后,在報(bào)表數(shù)據(jù)表定義界面顯示定義報(bào)表可能涉及到的數(shù)據(jù)表,維護(hù)其中文名稱、英文名稱、數(shù)據(jù)表類別等內(nèi)容,用戶修改并確認(rèn)后,保存數(shù)據(jù)重復(fù)步驟z105。

步驟③、報(bào)表數(shù)據(jù)字段定義:用戶可以在客戶端的報(bào)表定義界面,定義該數(shù)據(jù)表完成后,直接打開報(bào)表數(shù)據(jù)字段定義界面,也可以通過直接打開報(bào)表數(shù)據(jù)字段定義界面,通過選擇定義的數(shù)據(jù)表來定義報(bào)表字段??蛻舳税堰x擇的報(bào)表信息通過https通訊協(xié)議傳遞給應(yīng)用服務(wù)器,重復(fù)步驟z102,客戶端對(duì)分別對(duì)數(shù)據(jù)表每一個(gè)字段進(jìn)行維護(hù),維護(hù)內(nèi)容包括字段中文名、英文名、對(duì)應(yīng)數(shù)據(jù)字典英文名、字段說明等內(nèi)容。保存數(shù)據(jù)重復(fù)步驟z105。

步驟④、報(bào)表匯總定義:用戶完成報(bào)表數(shù)據(jù)字段定義后,可以在客戶端,通過選擇的方法定義。首先客戶端通過https通訊協(xié)議向服務(wù)器發(fā)去提取該報(bào)表匯總定義數(shù)據(jù),重復(fù)步驟z102。在客戶端選擇匯總報(bào)表顯示字段、顯示字段順序、顯示寬度、對(duì)齊方式、格式處理,如果多個(gè)數(shù)據(jù)表,可以維護(hù)多個(gè)數(shù)據(jù)表的關(guān)聯(lián)關(guān)系等信息,確認(rèn)后首先清除原顯示定義,然后保存新的定義。過程重復(fù)步驟z105操作。

以上步驟特征一在于在數(shù)據(jù)字典定義模塊中,通過步驟①公用數(shù)據(jù)字段定義和步驟③報(bào)表數(shù)據(jù)字段定義,把一般性數(shù)據(jù)字段與報(bào)表公共字段進(jìn)行關(guān)聯(lián),實(shí)現(xiàn)采用報(bào)表公用字段進(jìn)行定義所有報(bào)表?xiàng)l件,區(qū)別于現(xiàn)有報(bào)表直接通過報(bào)表字段進(jìn)行定義的方法,解決了各種數(shù)據(jù)表字段英文名稱不統(tǒng)一的問題。

以上步驟特征二在于通過步驟④報(bào)表匯總定義,可以在后續(xù)的模塊中自動(dòng)生產(chǎn)報(bào)表數(shù)據(jù)反查sql語(yǔ)句。區(qū)別于現(xiàn)有報(bào)表方法沒有查詢定義,現(xiàn)有報(bào)表不能直接反查原始數(shù)據(jù)。

步驟二、其次完成報(bào)表定義模塊,其步驟如下

步驟①、報(bào)表常量定義:在客戶端打開報(bào)表常量定義窗口,客戶端通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取報(bào)表常量命令,重復(fù)步驟z102,客戶端返回的常量值展示給用戶。常量包括,包括年報(bào)的起始截止月日,季報(bào)的起始截止日,月報(bào)的起始截止日,同期時(shí)間差,期初、期末、數(shù)據(jù)單位換算關(guān)系、金額單位換算關(guān)系等。以上定義對(duì)所有報(bào)表適用。確認(rèn)后的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)服務(wù)器中,步驟重復(fù)步驟z105操作。

步驟②、報(bào)表維護(hù):在客戶端打開報(bào)表常量定義窗口,客戶端通過https通訊協(xié)議向應(yīng)用服務(wù)器發(fā)出提取報(bào)表常量命令,重復(fù)步驟z102,客戶端返回該人權(quán)限下可以維護(hù)的報(bào)表列表,顯示該用戶哪些報(bào)表可以查看,哪些報(bào)表可以維護(hù)??梢詫?dǎo)入已經(jīng)存在的電子表格,也可以在界面中定義報(bào)表表格。定義好的表格保存到文件服務(wù)器報(bào)表的信息通過應(yīng)用服務(wù)器保存到數(shù)據(jù)庫(kù)服務(wù)器中。

步驟③、報(bào)表權(quán)限維護(hù):對(duì)于報(bào)表所有者擁有報(bào)表授權(quán)的權(quán)利,其他人員只能根據(jù)所有者的授權(quán)對(duì)報(bào)表進(jìn)行工作。本模塊可以給出該報(bào)表的生成權(quán)限,查詢權(quán)限、修改權(quán)限等人員。本界面中可以對(duì)本人所有權(quán)的報(bào)表進(jìn)行授權(quán),對(duì)于其他人員所有權(quán)的報(bào)表查詢本人的生成權(quán)限,查詢權(quán)限、修改權(quán)限。

步驟④、報(bào)表變量定義:本模塊主要定義一些特定報(bào)表輸出時(shí)需要確定的變量,在做報(bào)表生成步驟時(shí)首先需要完成這些變量的確認(rèn)后,才能進(jìn)入報(bào)表計(jì)算步驟,該變量?jī)H對(duì)當(dāng)前設(shè)定的報(bào)表有效。每個(gè)報(bào)表在默認(rèn)設(shè)定以下幾種變量:報(bào)表人、報(bào)表時(shí)間、報(bào)表類型、填報(bào)時(shí)間、報(bào)表公司、包含其他公司關(guān)系、數(shù)量單位、金額單位等,也可以根據(jù)實(shí)際需要新增或者變更以上變量。設(shè)定好的變量確認(rèn)后,數(shù)據(jù)更新到數(shù)據(jù)庫(kù)服務(wù)器中,步驟重復(fù)步驟z105操作。

步驟⑤、報(bào)表公式定義:包含步驟d101至d105,共5個(gè)子步驟。

定義好的條件通過中文和翻譯后的條件、轉(zhuǎn)譯后的原始數(shù)據(jù)表?xiàng)l件同時(shí)保存到數(shù)據(jù)庫(kù)中,具體步驟如下:

步驟d101、在做報(bào)表定義時(shí),首先根據(jù)這個(gè)報(bào)表的要求,設(shè)定整體條件,該項(xiàng)條件作用于整個(gè)報(bào)表全域。例如月報(bào)表可以設(shè)定時(shí)間范圍;如當(dāng)前報(bào)表有固定的業(yè)務(wù)類型,可以選擇業(yè)務(wù)類型范圍等;如當(dāng)前報(bào)表有單位的,選擇每一個(gè)特定的單位。該項(xiàng)定義在界面中顯示中文條件解析,數(shù)據(jù)字典中公共字段英文解析兩種顯示模式,高級(jí)用戶可以直接在該項(xiàng)條件框中,直接修改定義數(shù)據(jù),但要求兩者必須一致,在保存時(shí)應(yīng)用服務(wù)器作數(shù)據(jù)一致性驗(yàn)證,驗(yàn)證通過的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)服務(wù)器中。本方法要求盡可能提取公共條件,以便在后面定義中減少定義工作量。也可以不設(shè)定標(biāo)題條件。

步驟d102、設(shè)定報(bào)表行列導(dǎo)向,即通過“行”選擇“數(shù)據(jù)源”還是通過“列”選擇“數(shù)據(jù)源”。例如選擇“行”為“數(shù)據(jù)源”時(shí),“列”設(shè)置時(shí),“列”只取條件,不取“數(shù)據(jù)源”。

步驟d103、設(shè)定報(bào)表“行”條件,如果d102設(shè)定了“數(shù)據(jù)源”為“行”,那么這里在定義條件時(shí),需要選擇“數(shù)據(jù)源”。條件設(shè)置根據(jù)該報(bào)表的“行”需要填報(bào)的內(nèi)容設(shè)置條件。如果d102設(shè)定了數(shù)據(jù)源為“列”,那么這里在定義條件時(shí),不需要選擇“數(shù)據(jù)源”。條件設(shè)置根據(jù)該報(bào)表的“行”需要填報(bào)的內(nèi)容設(shè)置條件。該項(xiàng)定義在界面中顯示中文條件解析,數(shù)據(jù)字典中公共字段英文解析兩種顯示模式,高級(jí)用戶可以直接在該項(xiàng)條件框中,直接修改定義數(shù)據(jù),但要求兩者必須一致,在保存時(shí)應(yīng)用服務(wù)器作數(shù)據(jù)一致性驗(yàn)證,驗(yàn)證通過的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)服務(wù)器中。本方法要求盡可能把去除標(biāo)題條件后的“行”共性條件提取出來,以便在后面定義中減少定義工作量。也可以不設(shè)定“行”條件。

步驟d104、設(shè)定報(bào)表“列”條件,如果d102設(shè)定了“數(shù)據(jù)源”為“列”,那么這里在定義條件時(shí),需要選擇“數(shù)據(jù)源”。條件設(shè)置根據(jù)該報(bào)表的“列”需要填報(bào)的內(nèi)容設(shè)置條件。如果d102設(shè)定了“數(shù)據(jù)源”為“行”,那么這里在定義條件時(shí),不需要選擇“數(shù)據(jù)源”。條件設(shè)置根據(jù)該報(bào)表的“列”需要填報(bào)的內(nèi)容設(shè)置條件。該項(xiàng)定義在界面中顯示中文條件解析,數(shù)據(jù)字典中公共字段英文解析兩種顯示模式,高級(jí)用戶可以直接在該項(xiàng)條件框中,直接修改定義數(shù)據(jù),但要求兩者必須一致,在保存時(shí)應(yīng)用服務(wù)器作數(shù)據(jù)一致性驗(yàn)證,驗(yàn)證通過的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)服務(wù)器中。本方法要求盡可能把去除標(biāo)題條件后的“列”共性條件提取出來,以便在后面定義中減少定義工作量。也可以不設(shè)定“列”條件。

步驟d105、如果在一張報(bào)表中,標(biāo)題條件、行條件、列條件仍然不能滿足每一個(gè)或一些特定單元格,那么,需要在該單元格設(shè)定沒有涵蓋的條件??梢栽谠搯卧裨O(shè)定時(shí),選擇“數(shù)據(jù)源”,該“數(shù)據(jù)源”將覆蓋標(biāo)題條件設(shè)定的“數(shù)據(jù)源”。

步驟⑥、設(shè)定報(bào)表數(shù)據(jù)區(qū)域:采用左上角右下角單元格的模式選擇數(shù)據(jù)區(qū)域。一張報(bào)表可以有多個(gè)數(shù)據(jù)區(qū)域。數(shù)據(jù)區(qū)域不能重疊。在做數(shù)據(jù)保存時(shí),僅有數(shù)據(jù)區(qū)域的數(shù)據(jù)可以被保存到數(shù)據(jù)庫(kù)中,其他的數(shù)據(jù)不能保存到報(bào)表數(shù)據(jù)庫(kù)中。以后的數(shù)據(jù)區(qū)域在數(shù)據(jù)區(qū)域定義時(shí),顯示淺綠色,以便用戶進(jìn)行數(shù)據(jù)區(qū)域定制。該方法要求報(bào)表表頭、報(bào)表上的自動(dòng)計(jì)算的數(shù)據(jù)單元不設(shè)定到數(shù)據(jù)區(qū)域中,以便節(jié)省數(shù)據(jù)庫(kù)存儲(chǔ)量。

步驟⑦、報(bào)表認(rèn)證:報(bào)表各條件定義完成后,通過ca認(rèn)證服務(wù)器,對(duì)該項(xiàng)報(bào)表的定義條件,報(bào)表文件進(jìn)行版本標(biāo)識(shí),加上版本號(hào),修訂日期、修訂時(shí)間、修訂單位、修訂人等信息,保存到ca認(rèn)證服務(wù)器上。如果報(bào)表公式或者格式修改,報(bào)表的版本號(hào)自動(dòng)增加一個(gè)子版本號(hào),同樣保存到ca認(rèn)證服務(wù)器中。報(bào)表文件更新到文件服務(wù)器中。

以上步驟特征一在于充分利用中國(guó)報(bào)表的特點(diǎn),把條件拆分出表頭條件、行條件、列條件、單元條件,逐層剝離,用最小的工作量完成每個(gè)單元格的報(bào)表公式定義工作,簡(jiǎn)化報(bào)表定義工作量95%以上。

以上步驟特征二在于通過報(bào)表數(shù)據(jù)區(qū)域的設(shè)定,減少報(bào)表的數(shù)據(jù)存儲(chǔ)量50%以上。

以上步驟特征三在于采用ca認(rèn)證技術(shù),把報(bào)表文件、公式進(jìn)行版本處理,防止非法篡改報(bào)表定義。

步驟三、再次進(jìn)行報(bào)表生成模塊

步驟①、根據(jù)權(quán)限,從數(shù)據(jù)庫(kù)服務(wù)器中提取有報(bào)表生成權(quán)限的報(bào)表列表,展現(xiàn)到客戶端,用戶選擇本次生成的報(bào)表后向數(shù)據(jù)庫(kù)服務(wù)器提取報(bào)表定義數(shù)據(jù),包括與該報(bào)表相關(guān)的數(shù)據(jù)字典模塊數(shù)據(jù)和報(bào)表定義數(shù)據(jù),形成數(shù)據(jù)鏈表,通過https通訊協(xié)議傳遞給客戶端,同時(shí)提取文件服務(wù)器的該報(bào)表格式文件到客戶端、客戶端加載到報(bào)表界面中。

步驟②、報(bào)表參數(shù)確定,根據(jù)該報(bào)表的“報(bào)表變量定義”,由用戶選擇或者確定本次報(bào)表的變量,從而確定報(bào)表參數(shù)的具體數(shù)據(jù)。

步驟③、報(bào)表公共變量實(shí)例化,根據(jù)整個(gè)報(bào)表的“報(bào)表常量定義”,確定報(bào)表的常量的具體數(shù)據(jù),進(jìn)行報(bào)表常量的實(shí)例化。

步驟④、報(bào)表主數(shù)據(jù)源確定,根據(jù)報(bào)表定義的“標(biāo)題條件”中,提取報(bào)表的“數(shù)據(jù)源”定義。

步驟⑤、定義一個(gè)二維結(jié)構(gòu)體,包括單元格行號(hào)、列號(hào)、輸出數(shù)據(jù)公式、數(shù)據(jù)源、中文條件、數(shù)據(jù)表?xiàng)l件、報(bào)表數(shù)值、顯示格式等9個(gè)元素組成。

步驟⑥、按照定義標(biāo)題條件、行條件、列條件進(jìn)行循環(huán),提取定義的數(shù)據(jù)。

步驟⑦、把標(biāo)題條件、行條件、列條件、單元條件進(jìn)行整合到一起,每個(gè)條件用括號(hào)括起來,中間用“and”連接。中文表述的放到步驟五定義的結(jié)構(gòu)體(以下簡(jiǎn)稱結(jié)構(gòu)體)的中文條件中,英文表述放到一個(gè)結(jié)構(gòu)體的“數(shù)據(jù)表?xiàng)l件”中,所屬涉及到單元格放到一個(gè)結(jié)構(gòu)體的行號(hào)和列號(hào)中,數(shù)據(jù)源放到結(jié)構(gòu)體的“數(shù)據(jù)源”中,提取的“輸出數(shù)值”及其計(jì)算方式放到結(jié)構(gòu)體的“輸出數(shù)據(jù)公式”中。

步驟⑧、變量替換,根據(jù)步驟二和步驟三確定的變量實(shí)例化的數(shù)據(jù),對(duì)報(bào)表的“輸出數(shù)據(jù)”和“數(shù)據(jù)表?xiàng)l件”中涉及到的變量進(jìn)行替換,由變量替換成實(shí)際的數(shù)據(jù),保存回“輸出數(shù)據(jù)”和“數(shù)據(jù)表?xiàng)l件”中。

步驟⑨、字段個(gè)性化處理,通過數(shù)據(jù)源和報(bào)表定義個(gè)數(shù)據(jù)字典的字段,在“報(bào)表數(shù)據(jù)字段定義”中查出該報(bào)表的實(shí)際字段,并進(jìn)行替換,保存回“輸出數(shù)據(jù)”和“數(shù)據(jù)表?xiàng)l件”中。

步驟⑩、進(jìn)行報(bào)表計(jì)算公式合成,具體方法為其公式為“select”+“輸出數(shù)據(jù)”+“數(shù)據(jù)源”+“數(shù)據(jù)表?xiàng)l件”,形成報(bào)表計(jì)算sql語(yǔ)句。

步驟數(shù)據(jù)提取,把該報(bào)表計(jì)算字符串通過應(yīng)用服務(wù)器傳遞給數(shù)據(jù)庫(kù)服務(wù)器中,數(shù)據(jù)庫(kù)通過該sql語(yǔ)句計(jì)算出報(bào)表數(shù)據(jù),傳遞給應(yīng)用服務(wù)器。應(yīng)用服務(wù)器把該數(shù)據(jù)保存到結(jié)構(gòu)體的“報(bào)表數(shù)值”中。

步驟從報(bào)表格式定義數(shù)據(jù)中提取該數(shù)據(jù)的格式,保存到結(jié)構(gòu)體的“數(shù)據(jù)格式”中。

重復(fù)步驟⑥至步驟至所有已經(jīng)定義的報(bào)表單元格完全計(jì)算完成為止。并把該結(jié)構(gòu)提傳遞給客戶端。

步驟客戶端按照應(yīng)用服務(wù)器傳遞來的結(jié)構(gòu)體數(shù)據(jù),通過單元循環(huán),把數(shù)據(jù)提取出來,按照格式要求,填寫到指定單元格中。

步驟如果用戶對(duì)每一個(gè)單元格數(shù)據(jù)有疑問,可以通過雙擊該單元格進(jìn)行進(jìn)一步查詢,具體步驟參照數(shù)據(jù)查詢模塊中的步驟s101步驟s105。

步驟如果用戶對(duì)該表表滿意,需進(jìn)行報(bào)表確認(rèn)。具體包括以下兩個(gè)步驟

步驟p101、報(bào)表頭數(shù)據(jù)存儲(chǔ),把報(bào)表名稱,報(bào)表日期、報(bào)表確定人,報(bào)表單位等信息存儲(chǔ),該次報(bào)表的ca認(rèn)證號(hào)存儲(chǔ)到報(bào)表數(shù)據(jù)庫(kù)服務(wù)器上。

步驟p101、把報(bào)表的結(jié)構(gòu)體及保該次報(bào)表的ca認(rèn)證號(hào)存到數(shù)據(jù)庫(kù)服務(wù)器。填報(bào)完成報(bào)表保存成pdf格式,文件名稱為報(bào)表編號(hào)+日期+該次報(bào)表認(rèn)證號(hào),保存到文件服務(wù)器中。

以上步驟特征一在于變量實(shí)例化處理,在定義中,變量用$開頭,用#結(jié)束,這里通過查找這兩個(gè)關(guān)鍵字識(shí)別變量,并進(jìn)行替換。

以上步驟特征二在于把報(bào)表的計(jì)算公式分解開來,分為計(jì)算區(qū),數(shù)據(jù)源區(qū),公式區(qū)和格式顯示區(qū)。

以上步驟特征三在于把報(bào)表相關(guān)計(jì)算公式,數(shù)據(jù)按照單元格保存到數(shù)據(jù)庫(kù)服務(wù)器中。

以上步驟特征四在于報(bào)表中的數(shù)據(jù)存儲(chǔ)分為三部分,公共數(shù)據(jù)存儲(chǔ)、單元數(shù)據(jù)存儲(chǔ)和報(bào)表輸出的pdf存儲(chǔ),三者通過該次報(bào)表認(rèn)證的ca認(rèn)證號(hào)來關(guān)聯(lián)。

步驟四、數(shù)據(jù)查詢模塊

步驟①、根據(jù)權(quán)限,從數(shù)據(jù)庫(kù)服務(wù)器中提取有報(bào)表生成權(quán)限的報(bào)表列表,展現(xiàn)到客戶端,選擇需要查詢的已經(jīng)生成的報(bào)表。

步驟②、客戶端首先向文件服務(wù)器把該認(rèn)證后的報(bào)表文件提取到客戶端。

步驟③、客戶端從數(shù)據(jù)庫(kù)服務(wù)器中,把該報(bào)表的公共數(shù)據(jù)、單元數(shù)據(jù)提取出來,把具體的數(shù)值填充到指定的單元格。

步驟④、如果對(duì)那個(gè)報(bào)表單元有異議,可以雙擊該單元格,查詢?cè)搯卧竦臄?shù)據(jù)來源,具體步驟如下:

步驟s101、用戶雙擊報(bào)表設(shè)的單元格事件,提取所要查詢的報(bào)表單元。

步驟s102、通過該單元提取報(bào)表計(jì)算公式。

步驟s103、把計(jì)算公式中的數(shù)據(jù)表提取出來,通過數(shù)據(jù)字典,把該數(shù)據(jù)表的報(bào)表匯總定義查詢出來。

步驟s104、把計(jì)算公式的條件和報(bào)表匯總定義合成一個(gè)新的查詢語(yǔ)句。

步驟s105、通過該新的查詢語(yǔ)句查詢出一個(gè)數(shù)據(jù)列表,并放入到數(shù)據(jù)窗口中,展現(xiàn)給使用者。

步驟⑤、對(duì)于有報(bào)表生成權(quán)限的用戶,可以直接修改報(bào)表上的數(shù)據(jù),具體步驟如下:

步驟s401、用戶直接把需要更改的數(shù)據(jù)填寫到指定單元格。

步驟s402、在用戶確認(rèn)報(bào)表修改時(shí),對(duì)報(bào)表的現(xiàn)有數(shù)據(jù)與提取的數(shù)據(jù)進(jìn)行核對(duì),對(duì)于不一致的數(shù)據(jù),把該單元的數(shù)據(jù)保存到報(bào)表歷史數(shù)據(jù)中,標(biāo)示時(shí)間,操作人。新修改的數(shù)據(jù)保存到報(bào)表單元數(shù)據(jù)庫(kù)中。

步驟s403、修改后的報(bào)表需要重新認(rèn)證,填報(bào)完成報(bào)表保存成pdf格式,文件名稱為報(bào)表編號(hào)+日期+該次報(bào)表認(rèn)證號(hào),保存到文件服務(wù)器中。

步驟⑥、查詢報(bào)表數(shù)據(jù)修改歷史,選中每一個(gè)單元格,按“ctrl”鍵,同時(shí)雙擊該單元格,把該單元的報(bào)表修改歷史數(shù)據(jù)提取出來,以此可以列出什么時(shí)間,什么人進(jìn)行了報(bào)表什么數(shù)據(jù)的修改??梢哉麖垐?bào)表修改記錄查詢,也可以每個(gè)單元格的數(shù)據(jù)??梢栽趫?bào)表頁(yè)面上有黃色背景顯示出來哪個(gè)單元格進(jìn)行了修改。

以上步驟特征一在于報(bào)表數(shù)據(jù)可以反查到匯總的數(shù)據(jù)來源,對(duì)報(bào)表的數(shù)據(jù)核查非常方便,減少工作量。

以上步驟特征二在于報(bào)表數(shù)據(jù)可以修改,防止有些數(shù)據(jù)不全,或者數(shù)據(jù)錯(cuò)誤,無法生成報(bào)表,耽誤報(bào)表上報(bào)工作。

以上步驟特征三在于修改后的報(bào)表數(shù)據(jù)有據(jù)可查,哪個(gè)操作員、哪個(gè)時(shí)間修改、修改了哪些單元、修改前后數(shù)據(jù)是什么都可以追溯。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
江北区| 宣城市| 那曲县| 论坛| 呈贡县| 尼玛县| 维西| 林周县| 永年县| 博客| 大洼县| 鱼台县| 闽清县| 志丹县| 宁明县| 汝城县| 乌拉特前旗| 鸡泽县| 建阳市| 静海县| 昌平区| 德令哈市| 衡东县| 乐业县| 榕江县| 福贡县| 永济市| 宁城县| 伊金霍洛旗| 满洲里市| 灵台县| 德阳市| 扶沟县| 怀仁县| 景德镇市| 岗巴县| 屯昌县| 石阡县| 冀州市| 沙洋县| 左云县|