javaEcharts報表管理器

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:附屬內容部分';



相關文章
相關標籤/搜索