自动化配置报表平台。演示地址http://58.87.112.247/report 账号 visitor密码123456
欢迎star
好久没维护了,现在再看代码很烂......,但是好像需要的人很多,啥时候再捡起来哦 有问题请点击上面的issues
使用 spring mvc,mysql,echarts,mybaits,hibernate,jQuery,jqGrid,easyui等
web自动化配置报表平台(只需配置对应的oracle或者mysql语句,不需要写代码)
(只提供了配置后的展示,配置页面暂时没有放开权限):http://58.87.112.247/report 账号 visitor密码123456(提供的测试报表,只有2016-10-26有数据(没有测试数据),选择时间范围时请注意,否则看不到效果)
database 数据库初始化脚本 report-common-dal 数据层 report-common-util 工具类层 report-common-model 数据模型层 report-common-repository 基础数据查询层 report-biz-share 业务共享层 report-biz-admin 报表后台管理业务层 report-biz-query 报表查询业务层 report-facade 各系统接口层 report-web-admin 报表运行服务 report-web-query 报表查询后台服务
report-web-admin中包含大部分操作,报表的查询和下载等处理放到report-web-query中,report-web-admin通过rpc调用report-web-query中的接口
目前将代码拆分,从单个war包拆分为多个maven子工程,存在大量的耦合,代码不规范问题
项目演示地址:http://123.207.227.237/report 账号:visitor 密码:123456
提供的测试报表,只有2016-10-26有数据(没有测试数据,拿的是resource表做测试),选择时间范围时请注意,否则看不到数据
原文链接:http://blog.csdn.net/u011506468/article/details/47682417 ** git地址:https://github.com/ls960972314/report
因为之前公司对内的报表需求太多,开发太累,便写了一个自动化构建报表的项目,持续完善中.
配置化增加报表,支持一表多图的展示,支持导出报表,不需要写页面,只需要用以下的方法来配置即可.首先我准备了一些比较简单的数据来供测试用,下面的介绍都使用这个表做测试,如下图
名词介绍
输入框有两种类型可供选择
将选项选择为“单选(select)”,在值中输入想展示的数据,以逗号为分隔符,此处我输入1,2,3然后点击增加,可以增加一个单选列表的条件(可以将条件类型设置为模糊查询)
和 新增固定单选列表类型条件 不同之处就是,此处可以根据用户输入的sql动态的展示单选条件 将选项选择为“单选(select)”,在值中输入
select '2017-01-03' from DUAL
UNION ALL
select '2017-01-02' from DUAL
UNION ALL
select '2017-01-01' from DUAL
然后点击增加,可以增加一个单选列表的条件(可以将条件类型设置为模糊查询)
将选项选择为“多选(checkbox)”,在值中输入想展示的数据,以逗号为分隔符,此处我输入1,2,3然后点击增加,可以增加一个多选框的条件
和 新增固定多选框类型条件 不同之处就是,此处可以根据用户输入的sql动态的展示多选条件 将选项选择为“多选(checkbox)”,在值中输入
select '2017-01-03' from DUAL
UNION ALL
select '2017-01-02' from DUAL
UNION ALL
select '2017-01-01' from DUAL
然后点击增加,可以增加一个多选框的条件,注意此处尽量不要展示太多的多选框,不美观(此功能用的较少,展示还需要优化)
名词解释:
上面介绍过,条件中有个属性为“所属SQL条件”,该属性主要是在创建表格的时候和sql中的条件一 一对应,如果条件中写的为{1},sql中请写:{1}.此时我输入的sql为
SELECT
id,
user_name,
ope_action,
ope_id,
waste_time,
exception,
create_time
FROM
rptlog r
WHERE
r.create_time >= str_to_date(:begintime, '%Y-%m-%d')
AND r.create_time < str_to_date(:endtime, '%Y-%m-%d') + 1
然后我新增了两个输入框为日期类型的条件“开始时间”和“结束时间”,分别对应sql的条件begintime和endtime,全部创建完成后,点击查看可出来结果.
图形插件是使用百度的echarts,目前只实现了使用最多的柱状图,线型图和饼图.如果不想要保存图形,此步骤可以忽略,是否保存图形选择否即可.
饼图展示如下图
名词解释:
可直接点击刷新柱状图,默认展示规则为:从表格中第一列获取的数据为横坐标,后面按顺序展现为柱状图.最好不要使用默认的刷新图标,因为表格中的数据不可能每列都是要用来展示的,而且有的列会有中文.
保存报表是有顺序的,在上面保存表格成功后,请记得要把对应的sql保存,在没有保存sql的情况下,保存报表按钮是不允许点击的.原因:我设计的一张报表可以保存多个时间维度,所以一张报表可能对应多个sql,所以要先保存好sql,再将sqlid组装好一起存起来.
此处保存报表成功后,只是将报表的一些元素存了起来,页面上并没有对应.需要去权限管理系统里的资源管理页面配置一个报表页面,然后分配权限给对应用户即可. 资源配置说明:配置的url格式为tpl/tool/smartReportShow.jsp?reportFlag=报表标志,报表标志即为你在新增报表页面填写的报表标志,请严格按照格式配置.
到此大功告成,去你刚才配置的资源页面查看是否成功.下面展示些已经完成的报表效果,可能文档写的不是很详细,有时间再补上.