請教個動態報表設計的問題

ranma發表於2008-12-19
一些描述:
1、錄入端使用者使用瀏覽器透過internet登入系統填寫報表申報資料,分析端使用者登入系統對填報的資料進行分析;
2、填報的報表樣式每年都會變化,分析會用到固定樣式的分析表(相對固定而已,如果本年某個分析指標在申報表上已經刪掉,那麼分析表上自然也沒有對應的指標)以及自定義樣式的分析表;
3、申報表型別包括定長表和變長表;
4、根據登入使用者的資訊需要選擇不同的申報表(比如工業企業需要填寫產品表,而其他企業不需要填寫);
5、不同的報表也有不同的申報期(月報、季報、年報);
6、申報表存在不同的稽核規則,稽核規則型別有表內稽核、表間稽核(比如說a表a2項>b表b7項,或者是使用者基本資訊表中的使用者是xx型別的話就不需要填寫a表中的某些專案)、同報表不同期之間的稽核(比如說上期期末數=本期起初數);
我希望:
1、能做到每年申報表樣式變化時,能夠讓程式自動解析預定義的模板來適應報表變化,而不需要改寫程式,我現在是寫了兩個個類,a類描述了一個申報表的屬性,包括表的程式碼、單元格屬性(比如是否填報欄位、欄位型別、公式、稽核規則、在網頁上的展現樣式、觸發公式的方式等等),然後動態生成html和js,b類透過預定義的模板用正規表示式在網頁上抓取需要記錄的欄位存入資料庫對應的欄位(這裡我就是表達了一個思路,資料儲存和業務邏輯、展現我就不分開說了),這種方式只對於申報來說倒是能解決問題,但這種透過class生成html的方式讓我感覺怪怪的,希望能看到更好的思路;
2、我上面那種方法雖然能初步解決申報表樣式變化的問題,但存在這麼幾個問題:a)無法解決表間、不同期的勾稽關係,對於描述中的4、5也無法有效涵蓋;b)分析表無法自動適應申報表的變化;
以上問題困擾我許久,望各位老師不吝賜教,謝謝

相關文章