用友政務表格技術應用開發實踐:預算一體化產品核心功能搭建

powertoolsteam發表於2020-10-12

“近些年*,表格技術在**財務和財政系統開發中得到了越來越廣泛的應用。對於政務系統而言,處理效能、標準化程式設計介面和與主流前端框架的相容度是系統開發者首要解決的問題,藉助葡萄城提供的表格控制元件技術,我們從根本上解決了系統效能和產品易用性問題,為行政事業單位的使用者提供了與 Excel 操作幾乎一致的預算一體化產品。”*

——年洪東,北京用友政務軟體股份有限公司*,*高階研發工程師、預算產品開發主設計師

為加快推進現代財政制度建成,需要藉助一套規範透明、標準科學、約束有力的預算制度來實現全面績效管理,以更好地發揮財政在國家治理中的基礎和重要支柱作用。

2019年6月,財政部黨組審議通過了《財政資訊化三年重點工作規劃》和《財政核心業務一體化系統實施方案》,在近年來財政管理現狀和存在問題的基礎上,明確提出建設預算管理一體化系統的工作目標和任務,指出要制定統一的業務規範和技術標準,全面規範預算管理資料結構,推動各級財政部門預算管理模式和業務資料的統一,進而形成全國預算管理的一體化體系。

image.png

作為中國最大的公共財政和政府財務管理軟體供應商,北京用友政務軟體股份有限公司(以下簡稱用友政務)的技術專家受邀參與了該標準規範的研討和編寫,並基於這套標準規範,自主研發了一款統一全國預算管理資料結構的預算管理一體化雲平臺。

用友政務預算一體化雲平臺

用友政務預算一體化雲平臺有效推動了全面預算制度改革,提升了財政資訊化的支撐能力,創新地提出了“集中管控、分級運營”的產品設計思想,並建成了完整的技術中臺、業務中臺和資料中臺。

image.png

雲平臺固化了財政部及省財政標準規範,確保了規範標準的貫徹執行,並以管控的方式,讓地方財政在上級財政的規範標準框架下,擴充套件形成本級財政規範標準,使各級財政可以在受控模式下,獨立地對本級的一體化系統進行運營管理。

表格技術在雲平臺中的應用演示

預算一體化雲平臺包含基礎資訊庫、專案庫、預算編審和報表查詢四個核心功能模組,這些功能模組均應用了SpreadJS表格控制元件技術,實現了高效能的資料計算、查詢和展示。
image.png

作為一款基於 HTML5 的純前端表格控制元件,SpreadJS相容 450 種以上的 Excel 公式,具備“高效能、跨平臺、與 Excel 高度相容”的產品特性。與此同時,產品還提供大量API,可用於二次封裝,滿足多人協同編輯、 資料填報、 類Excel報表設計等多種業務場景,幫助用友政務快速構建出預算一體化雲平臺的核心功能架構,如:

1. 基礎資訊錄入表配置模型

image.png

該模型用於維護雲平臺中的人員資訊,藉助SpreadJS表格控制元件技術,用友政務實現了動態列擴充套件和複雜多重表頭設計。

2. 基礎資訊錄入表展示

image.png

該表儲存了大量基礎資訊資料,在不借助高效能表格技術的前提下,超過一萬行就會造成系統卡頓,用友政務通過使用葡萄城的SpreadJS表格控制元件,二次封裝實現了系統分頁和多層表頭資料繫結,有效解決了效能問題。

3**. 預算編制錄入表配置模型**

image.png

作為預算一體化雲平臺中的重要功能模組,預算編制錄入表通過嵌入 SpreadJS 線上表格編輯器高度還原了 Excel 的操作皮膚,如開始選單、插入、公式和檢視屬性等。

預算一體化雲平臺的其他功能模組,如專案庫申報、報表查詢等,將於2020年10月14 日14:00的公開課分享中予以演示,歡迎大家報名參加,共同交流。

公開課地址:https://live.vhall.com/627958872

image.png

表格技術應用的核心要點

藉助 SpreadJS 表格控制元件,格式化資料儲存

1、表格SSJSON檔案後端儲存方案

· 關係型資料庫ORACLE、達夢資料庫使用CLOB欄位儲存

· 為了加快讀取使用REDIS資料庫作為快取

2、表格SSJSON檔案前端儲存方案

· 使用indexDB儲存,要加上檢查同步更新機制

· 第三方的封裝控制元件使用開源的LocalForge來呼叫,非常方便

3、表格SSJSON物件轉換

· 儘量不要使用fastJson進行json到Bean轉換,如果使用盡量使用高版本

· 建議使用JackSon進行轉換,特別是對於複雜型別轉換基本沒有問題

SpreadJS 嵌入式編輯器應用:充分利用了編輯器的類Excel操作工具欄,結合自身業務特點,簡化開發流程。

image.png

**SpreadJS 視覺化設計器應用:**減少了大量重複編碼和測試,打通了前端平臺化開發的捷徑。

image.png

image.png

表格資料的前端生成與匯出

1、使用SpreadJS在前端生成資料的優點:

· 減少服務端壓力,提升系統效能

· 基於SpreadJS表格控制元件,可以操作任意區域改變和合並樣式

· 利用基本介面改變部分割槽域或者進行大資料量時,計算幾乎達到秒級

2、SpreadJS在前端生成表格資料的方法:

· 利用ssjson模板方式

· 封裝元件方式

· 自由展現方式(基於SpreadJS的worksheet程式設計實現)

3、大資料量表格資料匯出的要點:

· 設定表格的style樣式時,使用namedstyle方式會大量減少ssjson的大小,這樣就不會在執行spread.toJson時導致瀏覽器崩潰(實測:30列表頭,5萬行資料不存在問題)

· 結合後端java元件GcExcel生成Excel檔案,以流的方式匯出檔案

表格技術在雲平臺搭建中體現的價值

1. 統一基礎資料:SpreadJS 是一款高度類似 Excel 的表格控制元件,可線上匯入、匯出xlsx檔案,因此,通過SpreadJS儲存的資料在Excel中也可正常使用。雲平臺以此為基礎,建立了全國統一的邏輯庫表及要素,平臺基礎資料符合三年規劃業務規範和技術標準,為省級向財政部報送資料提供支撐。

2. 大集中模式:用友財政雲平臺支援省財政系統與市縣財政系統建設按時間、技術標準、軟體應用進行統一,在物理上形成 “資料大集中”的模式,滿足省財政廳統計查詢各市縣財政局資料的需求,使資料價值得到有效利用。

3. 微服務架構:依靠SpreadJS純前端元件的特性,用友財政雲平臺採用了微服務架構建設,將原有財政一體化業務拆分為幾十個微服務,使系統具備了低成本快速擴容、新服務靈活釋出、“不停服”變更、適應智慧運維等優點。在應用設計方面,藉助SpreadJS高效能的計算引擎和處理速度,系統併發處理能力和負載處理能力均得到提升,在保證效能的前提下,能夠滿足未來五年的交易高峰量。

4. 智慧運維:財政雲平臺提供統一的分級分割槽域運維能力,運用靈活的方式構建運維團隊,為財政資訊化建設提供全面的支撐,通過建立省級集中智慧運維體系,化解大集中帶來的集中化運維壓力。

結語

藉助高效能表格控制元件技術SpreadJS,用友政務在貫徹財政部關於推進預算管理一體化建設的工作要求下,緊抓業務技術標準規範這個關鍵,以核心業務管理要素為切入點,以微服務架構、前端開發技術為依託,打造了預算一體化雲平臺。

通過該平臺,用友政務推動了全面深化預算制度改革,提升了財政資訊化支撐能力,實現了以全省大集中的方式,對財政資金的全生命週期管理和動態監控,助力財政部門打造出新一代“數字財政”系統!

2020年10月14 日14:00,用友政務高階研發工程師、預算產品開發主設計師年洪東先生,將做客葡萄城公開課現場,為大家展示用友政務預算一體化產品的核心功能,並就表格技術應用開發實踐與大家深入探討。歡迎大家報名參加:https://live.vhall.com/627958872

相關文章