用FineReport报表系统构建资金监管平台
一、应用背景
计算机的应用已经渗透到日常工作的许多方面,无论是其自身还是所发挥的作用,计算机都标志着一种高科技,使工作高效率和高水平。为了能更方便,更轻松,更好的管理,信息化建设正在日益发展壮大,更加完善。2007年11月,财政部党组明确提出了“一体化建设”指导思想,要求做到管理一体化、业务一体化和技术一体化。近两年来,始终坚持贯彻落实一体化建设指导思想,不断加快建设步伐,信息化建设正逐步由“分散”走向“统一”,取得明显进展。
二、工具
资金监管系统采用PHP网站架构,iframe方式嵌入了,使用FinReport6.5.3版本报表软件,连接相关业务系统ORACLE数据库,制作出图形分析和报表分析,最终通过appserv访问资金监管系统。
三、数据源
资金监管系统来源数据来于相关多个业务系统ORACLE数据库。
(一)总体发放分析
FFDW表,是发放单位表,字段分为,单位代码和单位名称。
FFLX表,是发放类型表,字段分为,发放类型代码、发放类型名称、单位代码、备注。
FFXM表,是发放项目表,字段为,发放项目代码、发放项目名称、发放类型、发放单位代码、预警金额、备注、项目备注。
HM_AREA表,是单位表,字段分为,区域代码和区域名称。
HM_DATA表,是发生数据表,字段分为,ID号、部门代码、发放项目代码、身份证号、姓名、区域代码、账号、金额、日期、备注、发放日期。
RYXX表,是人员信息表,字段分为,身份证号、姓名、性别、联系地址、联系电话、状态、日期、单位代码。
(二)账务分析
Sjzw_dw表,是财务单位表,字段分为单位代码和单位名称。
Sjzw_dwkm表,是单位科目表,字段分为单位代码,科目代码,科目名称。
Sjzw_pz表,是凭证表,字段分为单位代码、凭证ID、凭证日期、凭证号、凭证类型、用途、科目代码、借方金额、贷方金额、审核员、财务主管、制单员、记账员,记账日期。
四、需求分析
对全区资金进行资金监管,包括区、镇、街道财政和行政事业单位的所有资金收入和支出过程,银行账户资金变动状况进行实时监督、管理、分析,并通过各类图表等方式实时展示反映、预警控制和实时互动交流分析管理。
. 各类报表可以自由组合并预测
每张报表在特定的条件下可以由指定用户自由组合、定义组成相关的报表,并有多种查询方式,同时需要有预测分析功能。
. 各类报表需要有预警功能
. 每张报表都需要有预警功能,而预警值可以由用户自行定义,在预警范围内有数据为正常情况而无需做任何动作时,可以以打标记的方式让这条数据不出现在预警中。
. 各类报表的灵活性
. 每张报表的图形分析要直观明了,联动性强,数据报表需要逐层挖掘至最底层明细数据。报表的操作灵活性要强,需要可以如EXCEL一样可以随意指定对齐方式、文本数字格式、多列排序,便于所有业务管理人员操作。
(一)资金总体发放分析
资金总体发放图形分析分三块统计图,第一部分为部门发放比例,点击部委传参联动第二部分部门发放类型比例,点击发放类型传参联动第三部分部门发放类型的趋势。
资金总体发放报表分析也分为三块,第一部分是发放汇总总表,以交叉报表形式展现,横向为部门,纵向为区域,金额以部门和区域交叉显示。横向纵向每个金额都可以点击,传不同条件展现出不同数据报表。第二部分是定位查询,输入框输入信息点击查询,得到关于当前输入框内信息的报表。第三部分为预警分析报表,每张报表设置好预警值,可以查看预警信息。
(二)账务分析(资产负债表)
资产一般是按各种资产变化先后顺序逐一列在表的左方,反映单位所有的各项财产、物资、债权和权利;所有的负债和所有者权益则逐一列在表的右方。负债一般列于右上方分别反映各种长期和短期负债的项目,业主权益列在右下方,反映业主的资本和盈余。左右两方的数额相等。资产负债表在制作过程中分为2类:第一类为有规则资产负债表,取数据全部取每一个一级科目的金额,一个一个科目单列在资产负债表上;第二类为无规律资产负债表,取数据全部取每一个一级科目的金额,单个科目或多个科目相加列在资产负债表上。
五、数据分析
(一)资金总体发放分析
资金总体发放分析的内容:资金发放分析、资金发放对比分析、资金发放预警分析。
资金总体发放分析的目的:揭示单位发放每个发放类型的内涵、了解单位发放资金变动情况及变动原因、调整发放异常数据、为下一年预算做调整。
(二)账务分析(资产负债表)
资产负债表分析的内容:资产负债表水平分析、资产负债表垂直分析、资产负债表项目分析。
资产负债表分析的目的:揭示资产负债表及相关项目的内涵、了解单位财务状况的变动情况及变动原因、评价单位会计对单位收支状况的反映程度、评价单位的会计政策、修正资产负债表的数据。
六、报表制作
①传统的图形分析及报表制作方法
难点1、图形界面中无法制作中文字定位查询,输入中文字系统不识别。
难点2、图形界面中表格无法自定义合并单元格居左、居中、居右。
难点3、图形界面中统计图分析模块单独最大化,数据多时,数据紧凑无法看清楚数据。
难点4、报表中无法行列冻结显示,数据横向和纵向数据多时,向下向上无法知道当前单元格字段意思。
难点5、报表中定位查询无法在整张报表中定位查询,只能查询定位到当前页报表数据。
难点6、报表中无法屏蔽无意义数据,报表数据为零的条目屏蔽显示难;
难点7、报表中无法在线打印,只能导出EXCL再打印。
难点8、报表中数据无法自动刷新,每次只能人工手动刷新数据。
难点9、通过SQL语句查询出数据,无法再报表内自定义取数和排列,无法制作无规则报表(自定义报表)。
②利用FineReport报表工具
1、新建一个报表模板,模板内新建一个参数,在参数设计中,按钮控件事件中添加定位查询后报表超链接代码
连接FineReport报表JS脚本中添加代码:
var XM = this.options.form.getWidgetByName("XM").getValue();
window.open("/WorkSpace1/ReportServer?reportlet=[60e0][6c11]/[5d07][660e][53bf][60e0][6c11][8d44][91d1][603b][4f53][53d1][653e][5206][6790][ff08][4e2a][4eba][67e5][8be2][62a5][8868][ff09].cpt&xm="+FR.cjkEncode(XM));
如果连接第三方报表JS脚本可以修改编码转换方式。
2、表格每一列可以任意合并单元格,居左、居中、居右,还可以调整不同格式。
3、图形分析界面模板中,每个模块都用网页框控件嵌入,如第一部分图形分析制作2份,一份嵌入在网页框控件中,另一份放大版通过超链接写在最大化图片上面。
4、报表冻结设置,文件—页面设置—其他中输入重复标题起始行和重复标题结束行,再冻结重复标题结束行打钩。
5、FineReport报表查询过滤,针对当前报表所有数据进行查询过滤,不存在无法查询过滤翻页数据。
6、报表中屏蔽无意义数据,在需要屏蔽无意义数据关键单元格中,右击条件属性,添加条件属性,增加行高属性,高度为0,输入屏蔽无意义数据条件。
7、FineReport报表含多种打印方式,其中FLASH打印模式操作最为方便简洁。
8、FineReport报表每次打开都是最新数据,打开FR报表时,实时刷新当前报表中数据集中的SQL语句,得到最新数据。
9、制作无规律资产负债表,资产负债表分2类数据资产类和负债类,新建2个数据集,一个为资产类科目借方减去贷的数据,另一个为负债科目贷方减去借方的数据。
数据集中唯一值取数用公式replace(UNIQUEARRAY(数据集名称select(字段名)),",","")如:月份、单位名称、单位负责人、财务主管、制单人、审核员都可以用此公式取数据。
资产负债表取无规律值通过用公式=MAP(符合条件的值, "数据集名称", "符合条件的列数","取值的列数")如:取科目“应收在院病人医药费”的年初数,公式输入=MAP(111, "科目1-5", "1", "3"),公式表示取数据集“科目1-5”中第一列值等于111对应的第三列的值。多个科目合计数可以使用公式=MAP(符合条件的值, "数据集名称","符合条件的列数", "取值的列数")+MAP(符合条件的值, "数据集名称","符合条件的列数", "取值的列数"),如:去科目“货币资金”的年初数,输入公式=MAP(101, "科目1-5","1", "3")+MAP(102, "科目1-5","1", "3")+MAP(109, "科目1-5","1", "3"),公式表示取数据集“科目1-5”第一列值等于101、102、109对应的第三列的值的合计数。
10、在报表页面设置,其他中报表设置居中对齐,设置冻结重复行,目前版本设置冻结后报表分页预览无法居中显示,通过在报表WEB属性中添加JS代码弥补此问题使用以下方法,但还存在缺陷,WEB预览报表时看不到上下滚动条和在数据量多网速慢的情况下,系统先刷新了数据在最大化,无法完成居中效果。
在报表WEB属性,分页预览报表中使用默认工具栏,添加“起始加载”在JS脚本中输入
setTimeout(‘top.moveTo(0,0)’,5);
setTimeout(‘top.resizeTo(screen.availWidth,screen.availHeight)’,5);
此脚本打开报表起最大化作用;
再添加“加载结束”在JS脚本中输入
varslmargin=($(‘.content-container’).width()-$(‘.pageContentDIVdiv:first-child’).width())/2
if (slmargin>0) $(‘.content-container’).css(‘margin-left’,slmargin);
此脚本弥补报表冻结后无法居中的缺陷。
七、成果展示
(一)资金总体发放图形分析
“资金总体发放分析”点击“点击查看明细表”得到“资金发放汇总表”,数据以部门横向扩展显示,以区域纵向扩展显示以交叉表形势汇总数据,横向纵向交叉金额数据可以点击,传相关条件可以得到更明细数据。
“资金发放汇总表”点击部门汇总合计金额,得到“部门资金发放汇总表”,数据以资金发放类型横向扩展显示,以区域纵向扩展显示以交叉表形势汇总数据,横向纵向交叉金额数据可以点击,传相关条件可以得到更明细数据。
“
部门资金发放汇总表”点击资金发放类型汇总合计金额,得到“资金发放类型资金发放明细表”,数据以月份横向扩展显示,区域、姓名、身份证、地址以列表纵向扩展显示以交叉表形势汇总数据。区域以分组显示,能方便查看某区域有多少人信息,报表添加了统计行数功能,能明确数量的多与少。
“资金总体发放分析”点击“10天内到期”得到符合当前报表条件报表。
“资金总体发放分析”点击“金额大于10万”得到符合当前报表条件报表。
“资金总体发放分析”点击“金额大于等于1万小于10万”得到符合当前报表条件报表。
“资金总体发放分析”点击“享受两项以上惠民政策”得到符合当前报表条件报表。
点击身份证,得到此身份证的详细明细发放数据。
(二)账务分析(资产负债表)
有规则资产负债表,同一张报表传不同单位,默认当前月日期显示数据。
有规则资产负债表单位1
有规则资产负债表单位2
无规则资产负债表(自定义报表),默认当前月日期显示数据。
用FineReport报表系统构建资金监管平台的更多相关文章
- FineReport报表系统实例方案之医院院长查询分析系统
医院院长查询系统 目前,大中型医院的信息处理正从传统手工方式飞速向电脑信息化建设方案转变,一个大中型医院担负着繁重的医疗和科研任务,以及繁杂的事务性工作,院长必须时刻与各科室保持密切的连续,以便随时了 ...
- CIO必看:跨国集团采购部报表系统的建设经验分享
CIO必看:跨国集团采购部报表系统的建设经验分享 引言 福耀集团是国内最具规模.技术水平最高.出口量最大的汽车玻璃生产供应商,产品"FY"商标是中国汽车玻璃行业第一个"中 ...
- AgileEAS.NET SOA 中间件平台 5.2 发布说明-包含Silverlight及报表系统的开源代码下载
一.AgileEAS.NET SOA 中间件简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速 ...
- 【Microsoft Azure 的1024种玩法】二.基于Azure云平台的安全攻防靶场系统构建
简介 本篇文章将基于在Microsoft Azure云平台上使用Pikachu去构建安全攻防靶场,Pikachu使用世界上最好的语言PHP进行开发,数据库使用的是mysql,因此运行Pikachu需要 ...
- 基于部标1078视频协议和苏标Adas协议构建主动安全平台
苏标本身仍然是基于部标808协议的基础上递增起草的,苏标协议是包容808协议的, 不能脱离808协议而独立存在的, 主要基于<JT/T 796 道路运输车辆卫星定位系统平台技术要求>.&l ...
- BI报表系统在银行业的应用
在当前大数据的背景下,银行业传统联机业务技术存在开发周期长.不够灵活.大量的业务数据难以充分利用.操作复杂.监控效率低等弊端,多数企业表示需要搭建一个符合银行特色的商业智能平台,把需要的数据和信息集中 ...
- 犀利的报表系统,发票据与报表开发的快速利器,AgileEAS.NET SOA中间件GReport使用指南
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- 以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台(一)
第一节 简介 欢迎和我们一起来用以太坊开发构建一个去中心化电商DApp!我们将用区块链.星际文件系统(IPFS).Node.js和MongoDB来构建电商平台类似淘宝的在线电商应用,卖家可以自由地出售 ...
- MyReport报表系统v1.2公布
经过多月奋战.MyReport报表系统最终完好,里程碑版本号V1.2隆重公布. 系统介绍 MyReport报表系统是基于MyReport报表引擎构建的报表开发工具平台产品.用户可以高速搭建报表中心,实 ...
随机推荐
- easyui datagrid toolbar 添加搜索框
最近用到了就研究了下,效果 把列名稍加转换放入menubtton,对于单项搜索来说还是非常方便的 var fields = $('#tt').datagrid('getColumnFields') ...
- NativeScript - JS 构建跨平台的原生 APP
使用 NativeScript,你可以用现有的 JavaScript 和 CSS 技术来编写 iOS.Android 和 Windows Phone 原生移动应用程序.由原生平台的呈现引擎呈现界面而不 ...
- reactjs学习一(环境搭配react+es6+webpack热部署)
reactjs学习一(环境搭配react+es6+webpack热部署) 本文的源码在这里下载 https://github.com/tianxiangbing/webpack-study 或者使 ...
- 从零开始,做一个NodeJS博客(零):整体规(chui)划(niu)
标签:NodeJS,Heroku 0 搭建一个个人独立博客,这是我好久之前就在计划的一件事了. 这个暑假,我学习了廖雪峰老师的NodeJS教程,又偶然在V2EX上发现了Heroku这个平台,可以免费在 ...
- iOS 代理协议
代理,又称委托代理(delegate),是iOS中常用的设计一种模式.顾名思义,它是把某个对象要做的事情委托给别的对象去做.那么别的对象就是这个对象的代理,代替它来打理要做的事.反映到程序中, 首先要 ...
- 开通了个人微信公众号:slbGTD,准备把GTD相关的内容写成一本书
<Get Things Done>是一本书的名字,简称为GTD,中文书名为<搞定>,同时GTD也是一种时间管理.自我管理的系统性方法,既有让你办事更有效率的技巧,也有多个的视角 ...
- listview复用机制研究
Listview在第一次的时候会先把屏幕上绘制的item都new出来,为了讲解方便我把new出来的item都用红色背景,复用的则用绿色背景. 可以看到这个list种有三种item.在第一次展示的时候, ...
- android加固系列—6.仿爱加密等第三方加固平台之动态加载dex防止apk被反编译
[版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5402599.html ] 此方案的目的是隐藏源码防止直接性的反编译查看源码,原理是加密编译好的 ...
- Android客户端与服务器
就是普通的服务器端编程,还不用写界面,其实还比服务器编程简单一些.跟J2EE一样的服务器,你android这一方面只要用json或者gson直接拿数据,后台的话用tomcat接受请求操作数据,功能不复 ...
- UIWindows 使用注意
只有Window才有自发权利显示,其他View都需要由Window负责显示. 注:* 不能将控制器直接添加到Window上,会出现野指针错误. * 不建议直接使用window开发(比 ...