首页 > 代码库 > 八、EnterpriseFrameWork框架基础功能之自定义报表

八、EnterpriseFrameWork框架基础功能之自定义报表

     本章写关于框架中的“自定义报表”,类似上章“字典管理”也是三部分功能组成,包括配置报表、对报表按角色授权、查看报表;其核心思想就是实现新增一个报表而不用修改程序代码、不用升级,只需要编写一个存储过程,再设计一个报表格式就能够给客户使用;当然此功能也不是万能的,也不能解决项目中的所有报表需求,比如穿透报表、填报报表等就没办法了,只能自己代码搞定了;

     本章内容不是讲制作报表,也不是讲报表工具,框架中没有报表组件,用的第三方的,Web版用的“ReportAll”、Winform版用的“Grid++ Report”,都是国产轻量级的报表,但个人觉得还是蛮好用的,比水晶报表等国外的强大工具好用多了,很适合中小型项目;

     顺便再讲一下在项目中我对报表的一些理解吧,我原本写这系列文章的想法就是,一分享一下多年在框架上的成果,二就是个人在工作中对一些具体功能的想法;虽然不是什么高端大气的东西,但自认为还是比较接地气的;

     报表在一个完整系统中肯定是缺不了的,可能项目前期客户没有什么需求,等后期你将要验收的时候一堆表格就来了;报表最重要的就是数据的准确性,这方面确实要下不少功夫,一般不是进入系统的数据有问题,最多就是统计出口的问题,你可以觉得这有什么,保证出口路径一致就行,但你要知道谁保证得了;几十张、甚至几百张报表,这几张是小李做的,这些是几年前做的,这个又是哪个客户提的?我们解决这种现象的办法就是从这些报表中一整套完整报表,必须涵盖所有业务,且数据前后因果关系,报表的统计的先后顺序,针对客户岗位级别等方面都要考虑到,分析出整套模型与维持模型是花了大量时间与精力的;所以觉得系统中所谓的管理思想,这占了很大一部分吧;一个实施人员能把整套报表给客户讲清楚,他的实施能力也应该到家了;报表另一方面就是统计速度的问题,因为随着系统使用越久,数据量越来越大,这时候索引也解决不了所有问题的了,我们办法就是建汇总表,把历史数据后台定时转移到汇总表,所有报表从汇总表出;而建汇总表又是一个消耗脑细胞的活,建得太粗了搞不好就一些报表就出不来了,建得太细那这个汇总表也没啥意义;严重考验你对业务的掌握与分析能力;

     说多了,本章的重点介绍一下框架中的自定义报表功能。

1)自定义报表功能清单

模块名称

功能名称

功能说明

系统报表

报表参数配置

报表分类目录,新增、修改、删除
报表管理,
1)选择数据库存储过程添加报表
2)根据数据库存储过程参数,生成报表查询控件元素
3)生成报表文件,设计报表格式
4)输入查询条件预览报表内容

报表权限设置

配置系统角色可以操作的报表

系统报表管理

根据用户登录的角色显示可以操作的报表
报表查询

 

2)自定义报表界面展示

 

 

3)自定义报表核心业务流程图与核心表

 

 

4)自定义报表关键技术实现

      1.测试报表的存储过程

ALTER procedure [dbo].[sp_rpt_test](    @v_mouduleid        int = null,    @v_mouduleid1        int = null,@v_mouduleid2        int = null,@v_mouduleid3        int = null,@v_mouduleid4     int     OUTPUT)as    SELECT  * from basemenu where moduleid=@v_mouduleid

 

八、EnterpriseFrameWork框架基础功能之自定义报表