文档章节

javaEcharts报表管理器

w
 wangshuaiJava
发布于 2015/09/24 09:42
字数 1644
阅读 48
收藏 0

javaEcharts报表管理器是基于Echarts开发,通过配置数据源映射相应的Echarts报表

JavaEcharts报表管理器主要特点:

  •  支持一维报表、二维报表

  •  支持报表的图文并茂

  •  支持报表导出Excel

  •  支持报表汇总、明细、报表明细

  • 架构图如下所示:

表设计如下所示:

数据源表:主要配置数据取数源头、明细、表头等信息

-- 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';

报表模板表:主要是组装表头、报表的维度、作业调度等等信息。

-- 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调度生成报表的结果记录,以便查询该报表。

-- 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:附属内容部分';



© 著作权归作者所有

共有 人打赏支持
上一篇: Job管理器使用
下一篇: JDBC 管理器
w
粉丝 1
博文 9
码字总数 11465
作品 0
武汉
私信 提问
Sql Server Report Service 使用简单说明

ReportServices做为报表服务器,结合sql直接访问数据库提供基本的报表格式设置显示,可以快速开发报表,主要包含两部分内容: 1.ReportServices服务器配置搭建,承载报表的运行平台 2.设计报...

VOLVO之悦
2017/01/20
0
0
水晶报表VB.NET中的使用

水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单、易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家。   一、在使用自...

wangccsy
2008/06/02
0
0
【译】初识SSRS ----通向报表服务的阶梯系列(一)

SQL Server Reporting Services是什么 你的经理走出电梯径直朝你走了过来。他以前从来没有来过DBA的办公室,你狐疑的瞥了他一眼,然后埋头开始疯狂的敲打键盘,希望他会将出现的问题责备到电...

范大脚脚
2018/01/11
0
0
8.监控存档服务器

持久聊天服务器部署注意事项: 1.监控和存档数据库,不能使用中央管理存储实例(RTC),必须单独安装SQL实例,此处的原因是方式存档和监控数据太多导致中央管理存储故障。 2.监控功能所需的S...

秘飞虎
2017/07/25
0
0
Crystal Reports for Eclipse(1)

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1510100 Crystal Reports for Eclipse(1) Crystal Reports for Eclipse(1) 1、......

chszs
2007/02/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Go Timer实现原理剖析

简介 快速使用 操作介绍

恋恋美食
5分钟前
0
0
记录一个奇怪的问题

环境:jdk1.8虚拟机参数:-verbose:gc -XX:+PrintGCDetails -Xmx20m -Xms20m -Xmn10m -XX:SurvivorRatio=8  -XX:+HeapDumpOnOutOfMemoryError 可以看出,eden占8M却放不下6M数据,发生了......

暗中观察
33分钟前
0
0
创建多个git账号

实习开发中我们可能一个机子上配置多个git账号,如github.com,oschina.com 或者工作账号,私人账号,这时候就2个账号用一个key,肯定会冲突,有一个会提示没权限(账号和密码对应不上) ssh ...

echojson
35分钟前
1
0
rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
7
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部