javaEcharts报表管理器是基于Echarts开发,经过配置数据源映射相应的Echarts报表 java
JavaEcharts报表管理器主要特色:
-
支持一维报表、二维报表 sql
-
支持报表的图文并茂 数据库
-
支持报表导出Excel 服务器
-
支持报表汇总、明细、报代表细 架构
-
架构图以下所示: 大数据
表设计以下所示: spa
数据源表:主要配置数据取数源头、明细、表头等信息 设计
-- Create table create table T_REPORT_STATIS_SOURCE ( source_id NUMBER, header_sql_count VARCHAR2(3000), header_desc VARCHAR2(512), header_type VARCHAR2(512), header_sql_list VARCHAR2(3000), header_key VARCHAR2(512), header_name VARCHAR2(512), source_name VARCHAR2(512), source_pid NUMBER, dimension_field VARCHAR2(100), status NUMBER default 0, source_mode NUMBER, isdimension NUMBER default 0, dimension_field_type VARCHAR2(50), date_format VARCHAR2(50) ); -- Add comments to the table comment on table T_REPORT_STATIS_SOURCE is '报表数据源表(统计类报表)'; -- Add comments to the columns comment on column T_REPORT_STATIS_SOURCE.source_id is '数据源ID(取数ID)'; comment on column T_REPORT_STATIS_SOURCE.header_sql_count is 'SQL取数汇总'; comment on column T_REPORT_STATIS_SOURCE.header_desc is '取数描述'; comment on column T_REPORT_STATIS_SOURCE.header_type is '取数类型 1.帐号受权 2认证访问 3.业务操做 4.系统操做 5.敏感数据 6.金库 7合做伙伴'; comment on column T_REPORT_STATIS_SOURCE.header_sql_list is 'SQL取数明细'; comment on column T_REPORT_STATIS_SOURCE.header_key is '表头KEY 字段名称与REPORT_HEADER_SQL_COUNT字段对应 多个以,分割'; comment on column T_REPORT_STATIS_SOURCE.header_name is '表头名称 表头名称与表头KEY对象 多个以,分割'; comment on column T_REPORT_STATIS_SOURCE.source_name is '数据源名称'; comment on column T_REPORT_STATIS_SOURCE.source_pid is '数据源PID (父ID)'; comment on column T_REPORT_STATIS_SOURCE.dimension_field is '维度依据,即 做为维度数据源的结果集中,以哪一个字段做为其它数据源的查询条件'; comment on column T_REPORT_STATIS_SOURCE.status is '状态,0 -- 正常 ,9 -- 删除'; comment on column T_REPORT_STATIS_SOURCE.source_mode is '数据源模式 , 1 -- 单源模式 , 2 -- 多源模式'; comment on column T_REPORT_STATIS_SOURCE.isdimension is '是否做为维度的标识,0--不是,1--是'; comment on column T_REPORT_STATIS_SOURCE.dimension_field_type is '维度依据字段的类型,integer -- int数字类型 ,long -- 长整形类型 ,string -- 字符串类型 ,boolean -- 布尔型'; comment on column T_REPORT_STATIS_SOURCE.date_format is '日期格式,主要有:yyyy-MM-dd , yyyy/MM/dd , yyyyMMdd ,时间格式默认是 HH:mm:ss';
报表模板表:主要是组装表头、报表的维度、做业调度等等信息。 code
-- Create table create table T_REPORT_TEMPLATE ( ID NUMBER default 0, TEMPLATE_NAME VARCHAR2(50), TEMPLATE_TYPE VARCHAR2(50) default 0, CREATION_TIME VARCHAR2(64), CREATER VARCHAR2(50), CREATER_ID NUMBER default 0, NATURALPERSON VARCHAR2(50), DESCRITION VARCHAR2(300), MODIFY_TIME VARCHAR2(64), MODIFY_PERSON VARCHAR2(50), MODIFY_ID NUMBER default 0, DATASOURCE VARCHAR2(50), REPORTPERIOD VARCHAR2(10), SELSHOWFIELD VARCHAR2(500), SELGROUPFIELD VARCHAR2(500), ISSHOW VARCHAR2(10), SELDETAILFIELD VARCHAR2(500), BYTIME VARCHAR2(50), TIMEFORM VARCHAR2(50), PRODUCEFORM VARCHAR2(50), STRATEGY VARCHAR2(50), READOBJ VARCHAR2(50), AUTHTIEMPERIOD VARCHAR2(10), PRODPATTERN VARCHAR2(50), ISALARM VARCHAR2(20), POSITION VARCHAR2(50), ISWATERMARK VARCHAR2(10), SELSHOWFIELDCN VARCHAR2(500), SELGROUPFIELDCN VARCHAR2(500), SELDETAILFIELDCN VARCHAR2(500), REPORTPERIODCN VARCHAR2(10), GROUPSHOW VARCHAR2(50), GROUPSHOWCN VARCHAR2(50), REPORTSTATUS NUMBER default 0, SAVEWHITHER NUMBER default 1, CONTENT_TYPE NUMBER, SOURCE_MODE NUMBER, DIMENSION_MODE NUMBER ) tablespace SMC_4A pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M minextents 1 maxextents unlimited ); -- Add comments to the table comment on table T_REPORT_TEMPLATE is '报表模板表'; -- Add comments to the columns comment on column T_REPORT_TEMPLATE.ID is '模板编号'; comment on column T_REPORT_TEMPLATE.TEMPLATE_NAME is '模板名称'; comment on column T_REPORT_TEMPLATE.TEMPLATE_TYPE is '模板类型:统计明细、策略分发'; comment on column T_REPORT_TEMPLATE.CREATION_TIME is '建立时间'; comment on column T_REPORT_TEMPLATE.CREATER is '建立人'; comment on column T_REPORT_TEMPLATE.CREATER_ID is '建立人编号'; comment on column T_REPORT_TEMPLATE.NATURALPERSON is '天然人名称'; comment on column T_REPORT_TEMPLATE.DESCRITION is '描述信息'; comment on column T_REPORT_TEMPLATE.MODIFY_TIME is '修改时间'; comment on column T_REPORT_TEMPLATE.MODIFY_PERSON is '修改人'; comment on column T_REPORT_TEMPLATE.MODIFY_ID is '修改人编号'; comment on column T_REPORT_TEMPLATE.DATASOURCE is '数据源'; comment on column T_REPORT_TEMPLATE.REPORTPERIOD is '报表周期'; comment on column T_REPORT_TEMPLATE.SELSHOWFIELD is '已选显示字段'; comment on column T_REPORT_TEMPLATE.SELGROUPFIELD is '已选分组条件字段'; comment on column T_REPORT_TEMPLATE.ISSHOW is '是否显示明细'; comment on column T_REPORT_TEMPLATE.SELDETAILFIELD is '已选显示明细字段'; comment on column T_REPORT_TEMPLATE.BYTIME is '时间条件控制字段'; comment on column T_REPORT_TEMPLATE.TIMEFORM is '时间格式'; comment on column T_REPORT_TEMPLATE.PRODUCEFORM is '生成报表格式'; comment on column T_REPORT_TEMPLATE.STRATEGY is '策略'; comment on column T_REPORT_TEMPLATE.READOBJ is '阅读对象'; comment on column T_REPORT_TEMPLATE.AUTHTIEMPERIOD is '审计时间周期'; comment on column T_REPORT_TEMPLATE.PRODPATTERN is '生成时间模式:forthwith当即,timing定时执行'; comment on column T_REPORT_TEMPLATE.ISALARM is '是否包含告警'; comment on column T_REPORT_TEMPLATE.POSITION is '产生位置'; comment on column T_REPORT_TEMPLATE.ISWATERMARK is '是否水印'; comment on column T_REPORT_TEMPLATE.SELSHOWFIELDCN is '已选显示字段中文'; comment on column T_REPORT_TEMPLATE.SELGROUPFIELDCN is '已选分组条件字段中文'; comment on column T_REPORT_TEMPLATE.SELDETAILFIELDCN is '已选显示明细字段中文'; comment on column T_REPORT_TEMPLATE.REPORTPERIODCN is '报表周期中文'; comment on column T_REPORT_TEMPLATE.GROUPSHOW is '分组显示字段:例如 从账号数量'; comment on column T_REPORT_TEMPLATE.GROUPSHOWCN is '分组显示字段中文'; comment on column T_REPORT_TEMPLATE.REPORTSTATUS is '导出标示 0:未导出 1:已导出'; comment on column T_REPORT_TEMPLATE.SAVEWHITHER is '保存目的地,将生成报表内容保存在指定的服务器上, 1:本地数据库(默认)、 2:FTP服务器 、3:大数据平台'; comment on column T_REPORT_TEMPLATE.CONTENT_TYPE is '报表内容展现方式,1:汇总 、 2:明细 、 3:汇总+明细'; comment on column T_REPORT_TEMPLATE.SOURCE_MODE is '数据源模式, 1:单源模式 (仅支持一维单个数据源) 、 2:多源模式 (支持一维多数据源,二维多数据源)'; comment on column T_REPORT_TEMPLATE.DIMENSION_MODE is '报表维度模式, 1: 一维模式 、 2:二维模式';
报表结果表:经过job调度生成报表的结果记录,以便查询该报表。 orm
-- Create table create table T_REPORT_STATIS_RESULT ( RESULT_ID NUMBER, ROLE_ID NUMBER, REPORT_ID NUMBER, REPORT_NAME VARCHAR2(500), EXEC_TIME VARCHAR2(20), START_TIME VARCHAR2(20), END_TIME VARCHAR2(20), CYCLE VARCHAR2(20), CONTENT_TYPE NUMBER, EXEC_TIME_NUM NUMBER, START_TIME_NUM NUMBER, END_TIME_NUM NUMBER, SOURCE_MODE NUMBER, DIMENSION_MODE NUMBER ); -- Add comments to the table comment on table T_REPORT_STATIS_RESULT is '统计报表的结果表'; -- Add comments to the columns comment on column T_REPORT_STATIS_RESULT.RESULT_ID is '结果表ID'; comment on column T_REPORT_STATIS_RESULT.ROLE_ID is '角色ID 角色关联用户,用于用户的权限控制'; comment on column T_REPORT_STATIS_RESULT.REPORT_ID is '报表ID'; comment on column T_REPORT_STATIS_RESULT.REPORT_NAME is '报表名称'; comment on column T_REPORT_STATIS_RESULT.EXEC_TIME is '执行时间'; comment on column T_REPORT_STATIS_RESULT.START_TIME is '开始时间'; comment on column T_REPORT_STATIS_RESULT.END_TIME is ' 结束时间'; comment on column T_REPORT_STATIS_RESULT.CYCLE is '周期 1.日 2.周 3.月'; comment on column T_REPORT_STATIS_RESULT.CONTENT_TYPE is '展示方式 1 汇总 2 明细 3 汇总+明细'; comment on column T_REPORT_STATIS_RESULT.EXEC_TIME_NUM is '执行时间 number类型存储'; comment on column T_REPORT_STATIS_RESULT.START_TIME_NUM is '开始时间 number类型存储'; comment on column T_REPORT_STATIS_RESULT.END_TIME_NUM is ' 结束时间 number类型存储'; comment on column T_REPORT_STATIS_RESULT.SOURCE_MODE is '数据源模式, 1:单源模式 (仅支持一维单个数据源) 、 2:多源模式 (支持一维多数据源,二维多数据源)'; comment on column T_REPORT_STATIS_RESULT.DIMENSION_MODE is '报表维度模式, 1: 一维模式 、 2:二维模式';
报表结果行表:为报表结果表的子集,也称之为报代表细表,展现报表详细信息。
-- Create table create table T_REPORT_STATIS_ROW ( result_id NUMBER, content_count VARCHAR2(4000), content_list VARCHAR2(2048), property NUMBER ); -- Add comments to the table comment on table T_REPORT_STATIS_ROW is '统计报表执行结果 行表'; -- Add comments to the columns comment on column T_REPORT_STATIS_ROW.result_id is '结果ID'; comment on column T_REPORT_STATIS_ROW.content_count is '汇总记录'; comment on column T_REPORT_STATIS_ROW.content_list is '当REPORT_CONTENT_TYPE=2该值有效'; comment on column T_REPORT_STATIS_ROW.property is '因为报表数据可能会出现超大现象,须要分行存储;1:表明主体部分 ,2:附属内容部分';