Posted on 2012-09-03 17:50
思達商智 閱讀(1810)
評論(0) 編輯 收藏 所屬分類:
Java報表設(shè)計
報表軟件數(shù)據(jù)填報從廣義上講實際上涵蓋了數(shù)據(jù)從收集到進入數(shù)據(jù)庫這樣一個廣泛的范圍,涵蓋了填報模板制作、分發(fā)、收集、填報、導(dǎo)入、校驗、審核、發(fā)布、權(quán)限控制等一系列功能。狹義的數(shù)據(jù)填報只包含數(shù)據(jù)在線填報功能,指用戶在線填寫一定的數(shù)據(jù),然后點擊提交將數(shù)據(jù)錄入數(shù)據(jù)庫。
鑒于目前數(shù)據(jù)填報軟件的功能范圍,本文將討論廣義的數(shù)據(jù)填報。
在填報人員進行數(shù)據(jù)填報之前,一般應(yīng)由IT人員或者業(yè)務(wù)人員針對填報需求進行填報模板的制作,根據(jù)將來填報模式的不同,應(yīng)該制作符合不同填報方式的模板。在填報模板的制作過程中,用戶將設(shè)計填報頁面(在線)或表格(離線)的樣式,數(shù)據(jù)項目的名稱、數(shù)據(jù)項目之間的邏輯關(guān)系、數(shù)據(jù)校驗的邏輯以及數(shù)據(jù)庫維護的代碼。這部分工作將在基于Java的圖形用戶界面中完成。
在Style Report中,填報模板的制作有worksheet制作完成,填報界面以及布局安排由viewsheet中完成,接下來,我們就簡單了解下Style Report的報表數(shù)據(jù)填報過程:
此報表數(shù)據(jù)填報的要實現(xiàn)目標:
1.打開填報頁面后,可以在本月數(shù),本年累計,上年同期列填入相應(yīng)的數(shù)據(jù)。如果本月已經(jīng)填報并提交過,會自動彈出提示:該企業(yè)本月月報已完成填報!用戶無法更改已經(jīng)填報過的數(shù)據(jù)。

2.當(dāng)打開填報頁面,在當(dāng)前選擇的月份下頁面已經(jīng)有數(shù)據(jù),再次填報或更改數(shù)據(jù)后,點擊保存會提示:數(shù)據(jù)修改完成。如果從未在當(dāng)前月份下進行過填報,填入數(shù)據(jù)點擊保存會彈出提示:數(shù)據(jù)插入完成。不進行提交的動作,用戶可以更改數(shù)據(jù)。
備注:本例中所要填寫的單元格內(nèi)容錄入同一數(shù)據(jù)庫中多張物理表,所以需要創(chuàng)建多個指標的query來實現(xiàn)。另外 Style Report的報表數(shù)據(jù)填報可以實現(xiàn)行式填報,亦可實現(xiàn)將填報內(nèi)容錄入不同數(shù)據(jù)庫的多張物理表的自由填報,同時對填報數(shù)據(jù)根據(jù)實際需要進行計算并且顯示(此例中不涉及計算部分內(nèi)容)
制作步驟:
Step 1: 新建worksheet 數(shù)據(jù)工作表,創(chuàng)建所需的變量。本例采用數(shù)據(jù)庫表EOO_DATA_INDEX,將其拖入worksheet后定義條件,綁定下圖中紅色表框中的變量。

Step 3: 在worksheet左側(cè)的資源列表處,調(diào)用時間數(shù)據(jù)表EOO_DATA_INDEX。根據(jù)客戶自身需要創(chuàng)建需要的指標Query, 例如本例中建立時間Query2、本年累計Query3、上年同期Query4

![]()
Step 4: 內(nèi)聯(lián)query2,3,4 并設(shè)置內(nèi)聯(lián)條件為include all values , 得出query5,并新建列—行次,得出表格基本框架。

Step 5:創(chuàng)建另一個query,實現(xiàn)通過下拉框所需要的時間數(shù)據(jù)。‘結(jié)合’最終query表 和 EOO_DATA_INDEX 表的 DATA_TIME列產(chǎn)生本例中的Query8. 創(chuàng)建自定義條件,小于等于當(dāng)前系統(tǒng)日期。這樣選擇框的最新時間會隨著系統(tǒng)時間的更新而更新。

Step 6: 創(chuàng)建viewsheet, 引入在worksheet中最終完整的表(即 Query9),右鍵屬性編輯-- 表格樣式并啟用表編輯(編輯多行)根據(jù)表格實際情況,僅設(shè)置 后三列,啟用列編輯 –文本編輯器,即可填入數(shù)據(jù)。加入 兩個提交框,命名為 ‘保存’ 和‘提交’ 。實現(xiàn)保存和提交,才會實現(xiàn)填報的功能。
Step 7: 對“保存”和 “提交”進行JS編寫后,當(dāng)選定月份后,若對應(yīng)的數(shù)據(jù)庫表里的數(shù)據(jù)為空,則填入數(shù)據(jù)點擊保存, 數(shù)據(jù)會存入此例中的EOO_DATA_INDEX,并且會自動彈出提示框:如若對應(yīng)的數(shù)據(jù)庫表里的數(shù)據(jù)為不為空,則填入數(shù)據(jù)點擊保存依舊會存入此例中的EOO_DATA_INDEX, 并且會自動彈出提示框:數(shù)據(jù)修改完成!

當(dāng)選定月份后,對應(yīng)的數(shù)據(jù)庫表里的數(shù)據(jù)不為空,且不可編輯,則是已經(jīng)完成填報的狀態(tài),點擊保存, 會自動彈出提示框:該企業(yè)本月月報已完成填報!當(dāng)選定月份相應(yīng)的數(shù)據(jù)填報已經(jīng)完成,點擊提交,即可完成此次填報工作。
更多Style Report 的產(chǎn)品信息請登錄:http://www.inetsoft.com.cn/products_report/