您好,登錄后才能下訂單哦!
你還認為填報表只能完成標準行列布局的數據填報?還在因表樣復雜,填報分片錯亂,設計不夠靈活而苦惱?還在為業務填報表樣設計靈活,但數據不能實時入庫而感到惋惜?
那要先“祝賀”看到這段話的你了,這個難題遇到 集算器腳本迎刃而解了。(撒花撒花….)
下面來舉栗證實一下。
了解基本情況:
某單位上級下發統一報表模板其中包含 5 列(即 5 個字段),下級操作時隨時可能在原表基礎上增加字段,且增加的字段不需要回填至中央數據庫,且下級報表操作人員不具備開發報表的能力。
了解基本情況后,綜合考慮建議采用業務填報表來實現,原因業務填報表對使用者的要求比較低,簡單來說會用 Excel 畫表就行。但是此時有一個實際問題是我們不得不考慮的,那就是業務填報表不能將數據及時的錄入到數據庫中,需要手動處理入庫這樣很可能會出現數據遺漏的現象。
疑難點:
業務填報最終以外存文件(json/binary)的形式保存數據,那么,怎么保證這些數據能在提交后即使入庫呢?
今天我們就重點說道說道,怎么樣才能保證業務填報的數據能夠及時的入庫。
以流動資產統計表為例,操作如下:
以 sqlserver 2008 數據庫作為中央數據庫,表結構如下:
CREATE TABLE [dbo].[ZCB1](
[id] [int] IDENTITY(1,1) NOT NULL,
[zc] [varchar](50) NULL,
[ncye] [varchar](50) NULL,
[qmye] [varchar](50) NULL,
CONSTRAINT [PK_ZCB1] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
報表設計界面,如下:
其中
A3-A5, 單元格設置單元格類型為“維度格”,A3 字段名稱為“流動資產. 資產”;
B3-C15, 單元格設置單元格類型為“數值格”;
B16 表達式為:=sum(B3:B15)
C16 表達式為:=sum(C3:C15)
此時,業務填報表就做好了,發布到 web 端就可以實現數據的填報錄入。
注意還沒完現在的數據還是以外存文件的形式存儲,下面重點要來了,我們通過集算器腳本將 json 的數據入庫,腳本(json.dfx)如下:
其中
A1 使用 connect() 函數獲取數據庫的連接
A2-A4 使用 file() read() import() 函數將外存文件轉成序表
A6 使用 db.update() 函數將序表內容保存至數據庫
A7 使用 db.close() 函數關閉數據源連接
到這里已經完成了一大步,最后,將執行腳本與填報表的提交操作綁定。
操作如下:
1. 在報表展現的 jsp 中使用回調函數,提交后自動執行 json.dfx 進行數據入庫操作。
2. 新建 other.jsp,調用 dfx 并執行,如下:
到這里,就實現了業務填報數據及時入庫的操作了。有木有喜歡集算器腳本多一點了。想要 get 更多抓緊關注吧。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。