公开课回放

由用友政务推出的预算一体化云平台有效推动了全面预算制度改革,提升了财政信息化的支撑能力,结合用友创新性提出的“集中管控、分级运营”的产品设计思想,该平台已成为构建财务系统技术中台、业务中台和数据中台不可或缺的中坚力量。

预算一体化云平台智能预算以“收、支、管”为主线,从财政一体化视角,基于“四库”,健全财力管理、中期财政规划、预算编审、预算调整、绩效管理、指标管理等,改善零敲碎打、条块分割、对接不畅的状况,实现预算全过程管理。

表格技术在该项目中的实现思路

预算一体化云平台包含基础信息库、项目库、预算编审和报表查询四个核心功能模块,这些功能模块均应用了SpreadJS表格控件技术,实现了高性能的数据计算、查询和展示。

SpreadJS 是一款基于 HTML5 的纯前端表格控件,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性。与此同时,产品还提供大量API,可用于二次封装,满足多人协同编辑、 数据填报、 类Excel报表设计等多种业务场景,帮助用友政务快速构建出预算一体化云平台的核心功能架构,如:

1. 基础信息录入表配置模型

该模型用于维护云平台中的人员信息,借助SpreadJS表格控件技术,用友政务实现了动态列扩展和复杂多重表头设计。

2. 基础信息录入表展示

该表保存了大量基础信息数据,在不借助高性能表格技术的前提下,超过一万行就会造成系统卡顿,用友政务通过使用葡萄城的SpreadJS表格控件,二次封装实现了系统分页和多层表头数据绑定,有效解决了性能问题。

3. 预算编制录入表配置模型

作为预算一体化云平台中的重要功能模块,预算编制录入表通过嵌入 SpreadJS 在线表格编辑器高度还原了 Excel 的操作面板,如开始菜单、插入、公式和视图属性等。

表格技术在该项目中的实践应用

1、构建表格SSJSON文件后端存储方案。借助SpreadJS表格控件,云平台实现了格式化数据存储,并完成了前后端数据转换。

  • 关系型数据库ORACLE、达梦数据库使用CLOB字段存储

  • 为了加快读取使用REDIS数据库作为缓存

2、构建表格SSJSON文件前端存储方案。

  • 使用indexDB存储,加上检查同步更新机制

  • 第三方的封装控件使用开源的LocalForge来调用,非常方便

3、表格SSJSON对象转换

  • 尽量不要使用fastJson进行json到Bean转换,如果使用尽量使用高版本

  • 建议使用JackSon进行转换,特别是对于复杂类型转换基本没有问题

4、 应用SpreadJS在线表格编辑器,实现嵌入式的类Excel操作工具栏,并结合自身业务特点,简化开发流程。

5、 结合SpreadJS的表格编辑器,减少大量重复编码和测试工作,打通前端平台化开发的捷径。

6、 嵌入SpreadJS,实现表格数据的前端生成与导出,提升系统性能。

  • 利用ssjson模板方式、封装组件方式和自由展现方式(基于SpreadJS的worksheet编程实现)在前端生成数据

  • 减少服务端压力,提升系统性能

  • 基于SpreadJS表格控件,可以操作任意区域改变和合并样式

  • 利用基本接口改变部分区域或者进行大数据量时,计算几乎达到秒级

7、借助 SpreadJS 实现大数据量表格数据导出:

  • 设置表格的style样式时,使用namedstyle方式会大量减少ssjson的大小,这样就不会在执行spread.toJson时导致浏览器崩溃(实测:30列表头,5万行数据不存在问题)

  • 结合后端java表格组件GcExcel生成Excel文件,以流的方式导出文件

表格技术对于该项目的价值

  1. 统一基础数据:SpreadJS 是一款高度类似 Excel 的表格控件,可在线导入、导出xlsx文件。因此,通过SpreadJS保存的数据在Excel中也可正常使用。财务一体化云平台以此为基础,建立了全国统一的逻辑库表及要素,平台基础数据符合三年规划业务规范和技术标准,为省级向财政部报送数据提供支撑。

  2. 大集中模式:用友财政云平台支持省财政系统与市县财政系统建设按时间、技术标准、软件应用进行统一,在物理上形成 “数据大集中”的模式,满足省财政厅统计查询各市县财政局数据的需求,使数据价值得到有效利用。

  3. 微服务架构:依靠SpreadJS纯前端组件的特性,用友财政云平台采用了微服务架构建设,将原有财政一体化业务拆分为几十个微服务,使系统具备了低成本快速扩容、新服务灵活发布、“不停服”变更、适应智能运维等优点。在应用设计方面,借助SpreadJS高性能的计算引擎和处理速度,系统并发处理能力和负载处理能力均得到提升,在保证性能的前提下,能够满足未来五年的交易高峰量。

  4. 智能运维:财政云平台提供统一的分级分区域运维能力,运用灵活的方式构建运维团队,为财政信息化建设提供全面的支撑,通过建立省级集中智能运维体系,化解大集中带来的集中化运维压力。

结语

借助高性能表格控件SpreadJS,用友政务在贯彻财政部关于推进预算管理一体化建设的工作要求下,紧抓业务技术标准规范这个关键,以核心业务管理要素为切入点,以微服务架构、前端开发技术为依托,打造了预算一体化云平台。

通过该平台,用友政务推动了全面深化预算制度改革,提升了财政信息化支撑能力,实现了以全省大集中的方式,对财政资金的全生命周期管理和动态监控,助力财政部门打造出新一代“数字财政”系统!

以上就是SpreadJS 在构建财政一体化云平台的具体应用实践,通过嵌入 SpreadJS 纯前端表格控件,财税行业可迅速搭建出一系列符合 Excel 使用习惯、功能布局高度类似 Excel 、可直接读写 Excel 文档的报表系统,进一步提高财政税务管理效率。点击此处,了解更多内容。

扩展阅读