博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
填报脚本之轻松搞定复杂表的数据入库
阅读量:7058 次
发布时间:2019-06-28

本文共 1341 字,大约阅读时间需要 4 分钟。

你还认为填报表只能完成标准行列布局的数据填报?还在因表样复杂,填报分片错乱,设计不够灵活而苦恼?还在为业务填报表样设计灵活,但数据不能实时入库而感到惋惜?

那要先“祝贺”看到这段话的你了,这个难题遇到集算器脚本迎刃而解了。(撒花撒花….)
下面来举栗证实一下。
了解基本情况:
某单位上级下发统一报表模板其中包含 5 列(即 5 个字段),下级操作时随时可能在原表基础上增加字段,且增加的字段不需要回填至中央数据库,且下级报表操作人员不具备开发报表的能力。
了解基本情况后,综合考虑建议采用业务填报表来实现,原因业务填报表对使用者的要求比较低,简单来说会用 Excel 画表就行。但是此时有一个实际问题是我们不得不考虑的,那就是业务填报表不能将数据及时的录入到数据库中,需要手动处理入库这样很可能会出现数据遗漏的现象。
疑难点:
业务填报最终以外存文件(json/binary)的形式保存数据,那么,怎么保证这些数据能在提交后即使入库呢?
今天我们就重点说道说道,怎么样才能保证业务填报的数据能够及时的入库。
以流动资产统计表为例,操作如下:
1

以 sqlserver 2008 数据库作为中央数据库,表结构如下:

CREATE TABLE [dbo].[ZCB1](
[id] [int] IDENTITY(1,1) NOT NULL,
[zc] NULL,
[ncye] NULL,
[qmye] 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]
报表设计界面,如下:
2

其中

A3-A5, 单元格设置单元格类型为“维度格”,A3 字段名称为“流动资产. 资产”;
B3-C15, 单元格设置单元格类型为“数值格”;
B16 表达式为:=sum(B3:B15)
C16 表达式为:=sum(C3:C15)
此时,业务填报表就做好了,发布到 web 端就可以实现数据的填报录入。
注意还没完现在的数据还是以外存文件的形式存储,下面重点要来了,我们通过集算器脚本将 json 的数据入库,脚本(json.dfx)如下:
3

其中

A1 使用 connect() 函数获取数据库的连接
A2-A4 使用 file() read() import() 函数将外存文件转成序表
A6 使用 db.update() 函数将序表内容保存至数据库
A7 使用 db.close() 函数关闭数据源连接
到这里已经完成了一大步,最后,将执行脚本与填报表的提交操作绑定。
操作如下:

  1. 在报表展现的 jsp 中使用回调函数,提交后自动执行 json.dfx 进行数据入库操作。
    4
  2. 新建 other.jsp,调用 dfx 并执行,如下:
    5

到这里,就实现了业务填报数据及时入库的操作了。有木有喜欢集算器脚本多一点了。想要 get 更多抓紧关注吧。

转载地址:http://uqgol.baihongyu.com/

你可能感兴趣的文章
第一个vue应用
查看>>
mail
查看>>
在JAVA中将项目转换为maven项目
查看>>
微信三大平台介绍
查看>>
Html5,Java WebSocket简单实现
查看>>
多功能文件格式转换器VectorDraw File Converter v7.7010.1.0发布丨附下载
查看>>
如何使用Monit部署服务器监控系统
查看>>
图片裁剪工具——JCorp
查看>>
使用windeployqt打包发布Qt桌面应用程序
查看>>
玩转js之——new方法的模拟实现
查看>>
Cookie学习笔记
查看>>
11月17日云栖精选夜读:继浸没液冷后,阿里再推国内首个锂电池服务器
查看>>
Django 静态文件渲染
查看>>
3.06-js保留小数点后两位
查看>>
证书配置
查看>>
Maven pom.xml 配置详解
查看>>
Linux基础(day9)
查看>>
7.4 yum工具用法
查看>>
Chrome 62强化了隐私安全 在无痕窗口模式下HTTP网页都会显示不安全
查看>>
11.15 shell介绍 ,命令历史,命令补全和别名,通配符,输入输出重定向
查看>>