Преглед изворни кода

Merge branch 'dev'

# Conflicts:
#	README.md
Raod пре 2 година
родитељ
комит
216bb92051
100 измењених фајлова са 2935 додато и 1550 уклоњено
  1. 0 13
      .gitee/ISSUE_TEMPLATE.zh-CN.md
  2. 0 14
      .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md
  3. 31 23
      README.md
  4. 15 9
      build.sh
  5. 0 86
      build/index.js
  6. 0 217
      build/pom.xml
  7. 16 5
      doc/docs/.vuepress/config.js
  8. 7 3
      doc/docs/guide/README.md
  9. 0 0
      doc/docs/guide/authManager.md
  10. 28 5
      doc/docs/guide/bigScreenCase.md
  11. 3 1
      doc/docs/guide/briefUsing.md
  12. 214 107
      doc/docs/guide/charts.md
  13. 86 0
      doc/docs/guide/chartsConfig.md
  14. 190 0
      doc/docs/guide/chartsLinkage.md
  15. 1 5
      doc/docs/guide/dashboard.md
  16. 77 11
      doc/docs/guide/dataset.md
  17. 34 9
      doc/docs/guide/datasource.md
  18. 12 12
      doc/docs/guide/excel.md
  19. 29 0
      doc/docs/guide/importExport.md
  20. 0 25
      doc/docs/guide/importexport.md
  21. 5 14
      doc/docs/guide/question.md
  22. 8 6
      doc/docs/guide/quicklyDevelop.md
  23. 13 11
      doc/docs/guide/quicklyDistribution.md
  24. 23 13
      doc/docs/guide/quicklySeparate.md
  25. 14 13
      doc/docs/guide/quicklySource.md
  26. 32 0
      doc/docs/guide/quicklyUse.md
  27. 79 0
      doc/docs/guide/releases/1.0.0.md
  28. 0 0
      doc/docs/guide/reportManager.md
  29. 22 0
      doc/docs/guide/reportShare.md
  30. BIN
      doc/docs/picture/bigScreenCase/img_1.png
  31. BIN
      doc/docs/picture/bigScreenCase/img_2.png
  32. BIN
      doc/docs/picture/bigScreenCase/img_3.png
  33. BIN
      doc/docs/picture/bigScreenCase/img_4.png
  34. BIN
      doc/docs/picture/charts/img_32.png
  35. BIN
      doc/docs/picture/charts/img_33.png
  36. BIN
      doc/docs/picture/charts/img_34.png
  37. BIN
      doc/docs/picture/charts/img_35.png
  38. BIN
      doc/docs/picture/charts/img_36.png
  39. BIN
      doc/docs/picture/charts/img_37.png
  40. BIN
      doc/docs/picture/charts/img_38.png
  41. BIN
      doc/docs/picture/charts/img_39.png
  42. BIN
      doc/docs/picture/charts/img_40.png
  43. BIN
      doc/docs/picture/charts/img_41.png
  44. BIN
      doc/docs/picture/chartsLinkage/img.png
  45. BIN
      doc/docs/picture/chartsLinkage/img_1.png
  46. BIN
      doc/docs/picture/chartsLinkage/img_10.png
  47. BIN
      doc/docs/picture/chartsLinkage/img_11.png
  48. BIN
      doc/docs/picture/chartsLinkage/img_2.png
  49. BIN
      doc/docs/picture/chartsLinkage/img_3.png
  50. BIN
      doc/docs/picture/chartsLinkage/img_4.png
  51. BIN
      doc/docs/picture/chartsLinkage/img_5.png
  52. BIN
      doc/docs/picture/chartsLinkage/img_6.png
  53. BIN
      doc/docs/picture/chartsLinkage/img_7.png
  54. BIN
      doc/docs/picture/chartsLinkage/img_8.png
  55. BIN
      doc/docs/picture/chartsLinkage/img_9.png
  56. BIN
      doc/docs/picture/dashboard/img_2.png
  57. BIN
      doc/docs/picture/datasource/img_6.png
  58. BIN
      doc/docs/picture/datasource/img_7.png
  59. BIN
      doc/docs/picture/datasource/img_8.png
  60. BIN
      doc/docs/picture/dateset/img_8.png
  61. BIN
      doc/docs/picture/quickly/img_1.png
  62. BIN
      doc/docs/picture/quickly/img_15.png
  63. BIN
      doc/docs/picture/reportShare/img.png
  64. BIN
      doc/docs/picture/reportShare/img_1.png
  65. BIN
      doc/docs/picture/reportShare/img_2.png
  66. BIN
      doc/docs/picture/reportShare/img_3.png
  67. 996 0
      doc/example/aj_report_init.sql
  68. 79 0
      doc/example/delete_aj_report_init.sql
  69. 70 6
      report-core/README.md
  70. 1 6
      report-core/pom.xml
  71. 2 2
      report-core/src/main/assembly/bin/start.sh
  72. 2 1
      report-core/src/main/java/com/anjiplus/template/gaea/business/ReportApplication.java
  73. 0 99
      report-core/src/main/java/com/anjiplus/template/gaea/business/config/DruidProperties.java
  74. 34 0
      report-core/src/main/java/com/anjiplus/template/gaea/business/config/HikariPoolProperties.java
  75. 1 1
      report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/AccessUserController.java
  76. 15 1
      report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java
  77. 32 4
      report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java
  78. 16 2
      report-core/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java
  79. 9 9
      report-core/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/JdbcServiceImpl.java
  80. 10 17
      report-core/src/main/resources/bootstrap.yml
  81. 729 0
      report-core/src/main/resources/db/migration/V1.0.0__init.sql
  82. 0 25
      report-core/src/main/resources/db/migration/V1.0.0__init_db.sql
  83. 0 86
      report-core/src/main/resources/db/migration/V1.0.10__create_report_share.sql
  84. 0 21
      report-core/src/main/resources/db/migration/V1.0.11__create_compare_table.sql
  85. 0 33
      report-core/src/main/resources/db/migration/V1.0.12__create_excel.sql
  86. 0 14
      report-core/src/main/resources/db/migration/V1.0.13__update_set.sql
  87. 0 68
      report-core/src/main/resources/db/migration/V1.0.14__update_report.sql
  88. 0 1
      report-core/src/main/resources/db/migration/V1.0.15__update_javaBean.sql
  89. 0 5
      report-core/src/main/resources/db/migration/V1.0.16__update_admin_authority.sql
  90. 0 7
      report-core/src/main/resources/db/migration/V1.0.17__add_dict_coord.sql
  91. 0 16
      report-core/src/main/resources/db/migration/V1.0.18__update_role_authority.sql
  92. 0 15
      report-core/src/main/resources/db/migration/V1.0.19__add_admin_authority.sql
  93. 0 466
      report-core/src/main/resources/db/migration/V1.0.1__create_tables.sql
  94. 0 7
      report-core/src/main/resources/db/migration/V1.0.20__add_dict_sourtar.sql
  95. 0 9
      report-core/src/main/resources/db/migration/V1.0.21__update_widget_column.sql
  96. 0 10
      report-core/src/main/resources/db/migration/V1.0.22__add_report_share.sql
  97. 0 3
      report-core/src/main/resources/db/migration/V1.0.23__add_excelshare_authority.sql
  98. 0 6
      report-core/src/main/resources/db/migration/V1.0.24__add_dict_radar.sql
  99. 0 4
      report-core/src/main/resources/db/migration/V1.0.2__update_tables.sql
  100. 0 4
      report-core/src/main/resources/db/migration/V1.0.3__update_table.sql

+ 0 - 13
.gitee/ISSUE_TEMPLATE.zh-CN.md

@@ -1,13 +0,0 @@
-### 该问题是怎么引起的?
-
-
-
-### 重现步骤
-
-
-
-### 报错信息
-
-
-
-

+ 0 - 14
.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md

@@ -1,14 +0,0 @@
-### 相关的Issue
-
-
-### 原因(目的、解决的问题等)
-
-
-### 描述(做了什么,变更了什么)
-
-
-### 测试用例(新增、改动、可能影响的功能)
-
-
-
-

+ 31 - 23
README.md

@@ -2,7 +2,7 @@
 
 
 &emsp; &emsp; AJ-Report是全开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。<br>
 &emsp; &emsp; AJ-Report是全开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。<br>
 &emsp; &emsp;
 &emsp; &emsp;
-多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持25种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。<br>
+多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持30+种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。<br>
 &emsp; &emsp; 三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。
 &emsp; &emsp; 三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。
 
 
 ## 在线体验
 ## 在线体验
@@ -26,9 +26,6 @@
 
 
 ![操作](https://images.gitee.com/uploads/images/2021/0703/094742_c0243f70_1728982.gif "2021-07-03_09-43-50.gif")
 ![操作](https://images.gitee.com/uploads/images/2021/0703/094742_c0243f70_1728982.gif "2021-07-03_09-43-50.gif")
 
 
-**[更多社区大屏案例](https://ajreport.beliefteam.cn/report-doc/guide/bigScreenCase.html)** <br>
-**[社区大屏下载链接](https://ajreport.beliefteam.cn/download/)** <br>
-
 ## 数据流程图
 ## 数据流程图
 
 
 ![An image](https://images.gitee.com/uploads/images/2021/0630/160451_31bb9052_1728982.png)
 ![An image](https://images.gitee.com/uploads/images/2021/0630/160451_31bb9052_1728982.png)
@@ -96,16 +93,24 @@
 
 
 **[运行环境参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDevelop.html)** <br>
 **[运行环境参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDevelop.html)** <br>
 **注意版本兼容性** <br>
 **注意版本兼容性** <br>
-源码 doc -> docs -> guide 目录下即所有文档 <br>
+源码 doc -> docs -> guide 目录下即所有文档。<br>
+启动文档(在线文档图片多,打开很慢可以本地启动文档,方便查看) <br>
+
+```
+cd .\doc\
+npm run docs:dev
+```
 
 
 ### 发行版部署
 ### 发行版部署
 
 
-**[发行版部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDistribution.html)** <br>
+**[发行版部署详细文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDistribution.html)** <br>
+
+简易步骤
 
 
 ```
 ```
 下载最新发行版,解压
 下载最新发行版,解压
 cd aj-report-xxxx
 cd aj-report-xxxx
-vim conf/bootstrap.yml 修改数据库连接等信息
+vim conf/bootstrap.yml 修改数据库连接、上传下载地址等信息
 sh bin/start.sh Linux启动
 sh bin/start.sh Linux启动
 bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启动
 bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启动
 
 
@@ -113,12 +118,11 @@ bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启
 http://serverip:9095
 http://serverip:9095
 用户名密码:admin/123456
 用户名密码:admin/123456
 
 
-登陆后修改"数据源->mysql数据源"用户名密码
 ```
 ```
 
 
 ### 源码编译部署
 ### 源码编译部署
 
 
-**[源码编译部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklySource.html)** <br>
+**[源码编译部署详细文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklySource.html)** <br>
 
 
 在Linux上先准备好maven、node.js、jdk
 在Linux上先准备好maven、node.js、jdk
 
 
@@ -126,6 +130,8 @@ http://serverip:9095
 - [Node.js] v14.16.0 <br>
 - [Node.js] v14.16.0 <br>
 - [Jdk] 1.8
 - [Jdk] 1.8
 
 
+简易步骤
+
 ```
 ```
 git clone https://gitee.com/anji-plus/report.git
 git clone https://gitee.com/anji-plus/report.git
 cd report
 cd report
@@ -134,7 +140,7 @@ sh build.sh
 
 
 unzip aj-report-xxxx.zip
 unzip aj-report-xxxx.zip
 cd aj-report-xxxx
 cd aj-report-xxxx
-vim conf/bootstrap.yml 修改数据库连接等信息
+vim conf/bootstrap.yml 修改数据库连接、上传下载地址等信息
 sh bin/start.sh Linux启动
 sh bin/start.sh Linux启动
 bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启动
 bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启动
 
 
@@ -142,22 +148,25 @@ bin/start.bat Windows修改第4行的JAVA_HOME后(去掉rem注释),双击启
 http://serverip:9095
 http://serverip:9095
 用户名密码:admin/123456
 用户名密码:admin/123456
 
 
-登陆后修改"数据源->mysql数据源"用户名密码
 ```
 ```
 
 
+### 前后端分离部署
+
 **[前后端分离部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklySeparate.html)** <br>
 **[前后端分离部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklySeparate.html)** <br>
 
 
-## 操作手册
+## 快速入门
+
+**[快速入门](https://ajreport.beliefteam.cn/report-doc/guide/quicklyUse.html)** <br>
 
 
-新建数据源(重置mysql数据源) --> 新建数据集(编写sql) --> 新建大屏(设计大屏) <br>
-**[在线文档](https://ajreport.beliefteam.cn/report-doc/guide/datasource.html)**
+**[更多社区大屏](https://ajreport.beliefteam.cn/report-doc/guide/bigScreenCase.html)** <br>
+
+**[社区大屏下载链接](https://ajreport.beliefteam.cn/download/)** <br>
 
 
 ## SQL初始化
 ## SQL初始化
 
 
 sql文件的目录在:report-core --> src --> main --> resources -- > db.migration <br>
 sql文件的目录在:report-core --> src --> main --> resources -- > db.migration <br>
-
-系统初始化时flyway会自动的将该目录下的sql文件执行,不需要手动执行sql文件。 <br>
-执行完将会创建 aj_report(存放系统基础数据) 和 aj_report_init(存放示例数据) 俩个库。 <br>
+系统初始化时flyway会自动的将该目录下的sql文件执行,不需要手动执行sql文件,执行完将会创建
+aj_report(存放系统基础数据)数据库 <br>
 
 
 ## 谁在使用
 ## 谁在使用
 
 
@@ -196,21 +205,21 @@ sql文件的目录在:report-core --> src --> main --> resources -- > db.migra
 
 
 ## 商业授权
 ## 商业授权
 
 
-AJ-Report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2.0.html) <br>
+AJ-Report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2.0.html)
+,允许商业使用,但务必保留类作者、Copyright信息。 <br>
 个人和企业,在直接使用、二次开发后商业使用,需要遵守:
 个人和企业,在直接使用、二次开发后商业使用,需要遵守:
 
 
-- 包含AJ-Report LICENSE文件(授权使用者免费使用AJ-Report专利和知识产权)
+- 包含Apache LICENSE文件
 - 如果修改了代码,需要在被修改的文件中说明
 - 如果修改了代码,需要在被修改的文件中说明
 - 在修改和有源代码衍生的代码中,需要带有原来代码中的协议,商标
 - 在修改和有源代码衍生的代码中,需要带有原来代码中的协议,商标
-- 在二次开发后商业发布的产品中,使用了多个开源软件,则必须包含一个Notice文件,在Notice文件中需要带有AJ-Report
-  LICENSE。你可以在Notice中增加自己的许可,但不可以表现为对AJ-Report
+- 在二次开发后商业发布的产品中,使用了多个开源软件,则必须包含一个Notice文件,在Notice文件中需要带有Apache
+  LICENSE。你可以在Notice中增加自己的许可,但不可以表现为对Apache
   LICENSE构成更改。
   LICENSE构成更改。
 
 
 ## 技术支持
 ## 技术支持
 
 
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-
 个人企业微信:加微信进群备注 **AJ-Report** 或者 **Report**,**一定要加备注 !!!**<br>
 个人企业微信:加微信进群备注 **AJ-Report** 或者 **Report**,**一定要加备注 !!!**<br>
 如果不是为了进群,请直接说明来意,每天加群的都很多,企微也是我们自己的工作企微,会有很多消息会被刷下去,如果半天没有回复你,请过段时间再发送。 <br>
 如果不是为了进群,请直接说明来意,每天加群的都很多,企微也是我们自己的工作企微,会有很多消息会被刷下去,如果半天没有回复你,请过段时间再发送。 <br>
 <img src="https://images.gitee.com/uploads/images/2021/0729/130901_1672e6c5_7492051.jpeg" width = "300" height = "300" align=left/>
 <img src="https://images.gitee.com/uploads/images/2021/0729/130901_1672e6c5_7492051.jpeg" width = "300" height = "300" align=left/>
@@ -221,7 +230,6 @@ AJ-Report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2.
 
 
 <img src="https://foruda.gitee.com/images/1681893479845506596/859934b5_1950629.png" width = "300" height = "300" align=left/>
 <img src="https://foruda.gitee.com/images/1681893479845506596/859934b5_1950629.png" width = "300" height = "300" align=left/>
 
 
-
 ## 加入我们
 ## 加入我们
 
 
 - 提交PR是最快的加入方式:<br>
 - 提交PR是最快的加入方式:<br>

+ 15 - 9
build.sh

@@ -1,27 +1,33 @@
 #!/bin/bash
 #!/bin/bash
 
 
-#判断node.js mvn是否存在
-command -v npm >/dev/null 2>&1 || { echo >&2 "I require node.js v14.16.0+ but it's not installed.  Aborting."; sleep 5; exit 1; }
-command -v mvn >/dev/null 2>&1 || { echo >&2 "I require maven 3.5 + but it's not installed.  Aborting."; sleep 5; exit 1; }
+echo "判断node.js mvn是否存在"
+command -v npm || { echo >&2 "I require node.js v14.16.0+ but it's not installed.  Aborting."; sleep 5; exit 1; }
+command -v mvn || { echo >&2 "I require maven 3.5 + but it's not installed.  Aborting."; sleep 5; exit 1; }
 
 
 cd `dirname $0`
 cd `dirname $0`
 BuildDir=`pwd` #工程根目录
 BuildDir=`pwd` #工程根目录
 
 
 echo "build web"
 echo "build web"
 cd $BuildDir/report-ui
 cd $BuildDir/report-ui
-npm install >/dev/null 2>&1
-npm run build:prod >/dev/null 2>&1
+echo "npm install"
+npm install
+echo ""
+echo "npm run build"
+npm run build:prod
 
 
 echo "publish web to springboot src/main/resources/static"
 echo "publish web to springboot src/main/resources/static"
 
 
 mkdir -p $BuildDir/report-core/src/main/resources/static
 mkdir -p $BuildDir/report-core/src/main/resources/static
 mv $BuildDir/report-ui/dist/* $BuildDir/report-core/src/main/resources/static/
 mv $BuildDir/report-ui/dist/* $BuildDir/report-core/src/main/resources/static/
 
 
-
+echo ""
 echo "build springboot"
 echo "build springboot"
 cd $BuildDir/report-core
 cd $BuildDir/report-core
-mvn clean >/dev/null 2>&1
-mvn package -Dmaven.test.skip=true >/dev/null 2>&1
+echo "mvn clean"
+mvn clean
+echo ""
+echo "mvn package"
+mvn package -Dmaven.test.skip=true
 
 
 echo "zip finish in build dir"
 echo "zip finish in build dir"
 if [ ! -d "$BuildDir/build" ]; then
 if [ ! -d "$BuildDir/build" ]; then
@@ -29,4 +35,4 @@ if [ ! -d "$BuildDir/build" ]; then
 fi
 fi
 mv $BuildDir/report-core/target/aj-report-*.zip $BuildDir/build/
 mv $BuildDir/report-core/target/aj-report-*.zip $BuildDir/build/
 rm -rf $BuildDir/report-core/src/main/resources/static/*
 rm -rf $BuildDir/report-core/src/main/resources/static/*
-
+echo "Finish"

+ 0 - 86
build/index.js

@@ -1,86 +0,0 @@
-'use strict'
-// Template version: 1.2.6
-// see http://vuejs-templates.github.io/webpack for documentation.
-
-const path = require('path')
-
-module.exports = {
-  dev: {
-    // Paths
-    assetsSubDirectory: 'static',
-    assetsPublicPath: '/',
-    proxyTable: {},
-
-    // Various Dev Server settings
-    host: 'localhost', // can be overwritten by process.env.HOST
-    port: 9528, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
-    autoOpenBrowser: true,
-    errorOverlay: true,
-    notifyOnErrors: false,
-    poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
-
-    // Use Eslint Loader?
-    // If true, your code will be linted during bundling and
-    // linting errors and warnings will be shown in the console.
-    useEslint: true,
-    // If true, eslint errors and warnings will also be shown in the error overlay
-    // in the browser.
-    showEslintErrorsInOverlay: false,
-
-    /**
-     * Source Maps
-     */
-
-    // https://webpack.js.org/configuration/devtool/#development
-    devtool: 'cheap-source-map',
-
-    // CSS Sourcemaps off by default because relative paths are "buggy"
-    // with this option, according to the CSS-Loader README
-    // (https://github.com/webpack/css-loader#sourcemaps)
-    // In our experience, they generally work as expected,
-    // just be aware of this issue when enabling this option.
-    cssSourceMap: false
-  },
-
-  build: {
-    // Template for index.html
-    index: path.resolve(__dirname, '../dist/index.html'),
-
-    // Paths
-    assetsRoot: path.resolve(__dirname, '../dist'),
-    assetsSubDirectory: 'static',
-
-    /**
-     * You can set by youself according to actual condition
-     * You will need to set this if you plan to deploy your site under a sub path,
-     * for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/,
-     * then assetsPublicPath should be set to "/bar/".
-     * In most cases please use '/' !!!
-     */
-    assetsPublicPath: '/report/',
-
-    /**
-     * Source Maps
-     */
-
-    productionSourceMap: false,
-    // https://webpack.js.org/configuration/devtool/#production
-    devtool: 'source-map',
-
-    // Gzip off by default as many popular static hosts such as
-    // Surge or Netlify already gzip all static assets for you.
-    // Before setting to `true`, make sure to:
-    // npm install --save-dev compression-webpack-plugin
-    productionGzip: false,
-    productionGzipExtensions: ['js', 'css'],
-
-    // Run the build command with an extra argument to
-    // View the bundle analyzer report after build finishes:
-    // `npm run build --report`
-    // Set to `true` or `false` to always turn it on or off
-    bundleAnalyzerReport: process.env.npm_config_report || false,
-
-    // `npm run build:prod --generate_report`
-    generateAnalyzerReport: process.env.npm_config_generate_report || false
-  }
-}

+ 0 - 217
build/pom.xml

@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.3.5.RELEASE</version>
-        <relativePath/>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>com.anji-plus.otwb</groupId>
-	<artifactId>product-report-starter</artifactId>
-    <version>1.2.0-SNAPSHOT</version>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <additionalparam>-Xdoclint:none</additionalparam>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
-        <maven.test.skip>true</maven.test.skip>
-    </properties>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.logging.log4j</groupId>
-                    <artifactId>log4j-to-slf4j</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-to-slf4j</artifactId>
-            <version>2.15.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <version>2.15.0</version>
-        </dependency>
-
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-cache</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-context</artifactId>
-            <version>2.2.6.RELEASE</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-
-        <dependency>
-            <groupId>com.anji-plus</groupId>
-            <artifactId>spring-boot-gaea</artifactId>
-            <version>2.0.3.RELEASE</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-data-redis</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.3.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>1.2.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.flywaydb</groupId>
-            <artifactId>flyway-core</artifactId>
-            <version>5.2.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>net.sf.ehcache</groupId>
-            <artifactId>ehcache</artifactId>
-            <version>2.10.6</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.5.10</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <version>1.18.10</version>
-            <optional>true</optional>
-        </dependency>
-
-        <dependency>
-            <groupId>com.itextpdf</groupId>
-            <artifactId>itextpdf</artifactId>
-            <version>5.5.13.2</version>
-        </dependency>
-        <dependency>
-            <groupId>com.itextpdf</groupId>
-            <artifactId>itext-asian</artifactId>
-            <version>5.2.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi</artifactId>
-            <version>4.1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml</artifactId>
-            <version>4.1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml-schemas</artifactId>
-            <version>4.1.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.codehaus.groovy</groupId>
-            <artifactId>groovy</artifactId>
-            <version>3.0.9</version>
-        </dependency>
-
-    </dependencies>
-	
-
-    <!-- 上传到公司私服, mvn clean deploy -Dmaven.test.skip=true -->
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.3</version>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                    <encoding>UTF-8</encoding>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <encoding>UTF-8</encoding>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>2.2.1</version>
-                <executions>
-                    <execution>
-                        <id>attach-sources</id>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <version>2.7</version>
-                <configuration>
-                    <updateReleaseInfo>true</updateReleaseInfo>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <distributionManagement>
-        <repository>
-            <id>nexus-releases</id>
-            <url>http://10.108.10.53:8081/repository/maven-releases/</url>
-        </repository>
-        <snapshotRepository>
-            <id>nexus-snapshots</id>
-            <url>http://10.108.10.53:8081/repository/maven-snapshots/</url>
-        </snapshotRepository>
-    </distributionManagement>
-</project>

+ 16 - 5
doc/docs/.vuepress/config.js

@@ -15,7 +15,7 @@ module.exports = {
             {text: 'GitHub', link: 'https://github.com/anji-plus/report'},
             {text: 'GitHub', link: 'https://github.com/anji-plus/report'},
             {text: 'Gitee', link: 'https://gitee.com/anji-plus/report'},
             {text: 'Gitee', link: 'https://gitee.com/anji-plus/report'},
             {text: '谁在使用', link: '/guide/briefUsing'},
             {text: '谁在使用', link: '/guide/briefUsing'},
-            {text: '更多案例', link: '/guide/bigScreenCase'},
+            {text: '更多大屏', link: '/guide/bigScreenCase'},
         ],
         ],
         sidebar: {
         sidebar: {
             '/guide/': [
             '/guide/': [
@@ -26,7 +26,14 @@ module.exports = {
                         {title: '简介', path: '/guide/'},
                         {title: '简介', path: '/guide/'},
                         {title: '谁在使用', path: '/guide/briefUsing'},
                         {title: '谁在使用', path: '/guide/briefUsing'},
                         {title: '技术支持', path: '/guide/briefSupport'},
                         {title: '技术支持', path: '/guide/briefSupport'},
-                        {title: '更多案例', path: '/guide/bigScreenCase'},
+                        {title: '更多大屏', path: '/guide/bigScreenCase'},
+                    ]
+                },
+                {
+                    title: 'Releases',
+                    collapsable: false,
+                    children: [
+                        {title: 'V1.0.0', path: '/guide/releases/1.0.0'},
                     ]
                     ]
                 },
                 },
                 {
                 {
@@ -37,13 +44,14 @@ module.exports = {
                         {title: '发行版部署', path: '/guide/quicklyDistribution'},
                         {title: '发行版部署', path: '/guide/quicklyDistribution'},
                         {title: '源码部署', path: '/guide/quicklySource'},
                         {title: '源码部署', path: '/guide/quicklySource'},
                         {title: '前后端分离', path: '/guide/quicklySeparate'},
                         {title: '前后端分离', path: '/guide/quicklySeparate'},
+                        {title: '快速使用', path: '/guide/quicklyUse'},
                     ]
                     ]
                 },
                 },
                 {
                 {
                     title: '用户权限',
                     title: '用户权限',
                     collapsable: false,
                     collapsable: false,
                     children: [
                     children: [
-                        {title: '权限管理', path: '/guide/authmanager'},
+                        {title: '权限管理', path: '/guide/authManager'},
                     ]
                     ]
                 },
                 },
                 {
                 {
@@ -52,11 +60,14 @@ module.exports = {
                     children: [
                     children: [
                         {title: '数据源', path: '/guide/datasource'},
                         {title: '数据源', path: '/guide/datasource'},
                         {title: '数据集', path: '/guide/dataset'},
                         {title: '数据集', path: '/guide/dataset'},
-                        {title: '报表管理', path: '/guide/reportmanager'},
+                        {title: '报表管理', path: '/guide/reportManager'},
                         {title: '大屏报表', path: '/guide/dashboard'},
                         {title: '大屏报表', path: '/guide/dashboard'},
                         {title: '表格报表', path: '/guide/excel'},
                         {title: '表格报表', path: '/guide/excel'},
-                        {title: '导入导出', path: '/guide/importexport'},
+                        {title: '导入导出', path: '/guide/importExport'},
+                        {title: '报表分享', path: '/guide/reportShare'},
+                        {title: '图表配置项', path: '/guide/chartsConfig'},
                         {title: '图表组件', path: '/guide/charts'},
                         {title: '图表组件', path: '/guide/charts'},
+                        {title: '图表联动', path: '/guide/chartsLinkage'},
                     ]
                     ]
                 },
                 },
                 {
                 {

+ 7 - 3
doc/docs/guide/README.md

@@ -1,10 +1,13 @@
+## 简介
+
 &emsp; &emsp; AJ-Report是一个完全开源的BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。<br>
 &emsp; &emsp; AJ-Report是一个完全开源的BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。<br>
-&emsp; &emsp; 多数据源支持,内置mysql、elasticsearch、kudu等多种驱动,支持自定义数据集省去数据接口开发,目前已支持20种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。<br>
+&emsp; &emsp;
+多数据源支持,内置mysql、elasticsearch、kudu等多种驱动,支持自定义数据集省去数据接口开发,目前已支持30+种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。<br>
 &emsp; &emsp; 三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。
 &emsp; &emsp; 三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。
 
 
 ## 系统特性
 ## 系统特性
 
 
-1. 最新最稳定的技术栈
+1. 最新最稳定的技术栈
 2. 支持多数据源配置
 2. 支持多数据源配置
 3. 丰富的大屏组件。拖拽配置实现动态大屏
 3. 丰富的大屏组件。拖拽配置实现动态大屏
 
 
@@ -22,7 +25,8 @@
 
 
 #### &emsp; 组件介绍
 #### &emsp; 组件介绍
 
 
-&emsp;&emsp; 大屏设计(AJ-Report)是一个可视化拖拽编辑的,直观,酷炫,具有科技感的图表工具全开源项目。 内置的基础功能包括数据源,数据集,报表管理,项目部分截图如下。<br>
+&emsp;&emsp; 大屏设计(AJ-Report)是一个可视化拖拽编辑的,直观,酷炫,具有科技感的图表工具全开源项目。
+内置的基础功能包括数据源,数据集,报表管理,项目部分截图如下。<br>
 
 
 ![shipin](../picture/shipin.gif)
 ![shipin](../picture/shipin.gif)
 
 

+ 0 - 0
doc/docs/guide/authmanager.md → doc/docs/guide/authManager.md


+ 28 - 5
doc/docs/guide/bigScreenCase.md

@@ -1,13 +1,13 @@
-## 案例一
+## 社区提供
+
+### **[~无痕~@tengzhouboy](https://gitee.com/tengzhouboy)** 提供 <br>
 
 
-由社区 **[~无痕~@tengzhouboy](https://gitee.com/tengzhouboy)** 提供 <br>
 [AJ-Report分享链接](https://ajreport.beliefteam.cn/index.html#/aj/mtwbjPot) <br>
 [AJ-Report分享链接](https://ajreport.beliefteam.cn/index.html#/aj/mtwbjPot) <br>
 
 
 ![img.png](../picture/bigScreenCase/img.png) <br>
 ![img.png](../picture/bigScreenCase/img.png) <br>
 
 
-## 案例二
+### **[心瘾丶 @yi_shan_liu](https://gitee.com/yi_shan_liu)** 提供 <br>
 
 
-由社区 **[心瘾丶 @yi_shan_liu](https://gitee.com/yi_shan_liu)** 提供<br>
 [AJ-Report分享链接](https://ajreport.beliefteam.cn/index.html#/aj/hkBJgLW0) <br>
 [AJ-Report分享链接](https://ajreport.beliefteam.cn/index.html#/aj/hkBJgLW0) <br>
 
 
 ![img1](../picture/bigScreenCase/img1.png) <br>
 ![img1](../picture/bigScreenCase/img1.png) <br>
@@ -19,4 +19,27 @@
 ![img3](../picture/bigScreenCase/img3.png) <br>
 ![img3](../picture/bigScreenCase/img3.png) <br>
 
 
 [AJ-Report分享链接](https://ajreport.beliefteam.cn/index.html#/aj/D0cpO4re) <br>
 [AJ-Report分享链接](https://ajreport.beliefteam.cn/index.html#/aj/D0cpO4re) <br>
-![img4](../picture/bigScreenCase/img4.png) <br>
+![img4](../picture/bigScreenCase/img4.png) <br>
+
+## 大屏下载
+
+**注:在线体验环境因为服务器配置问题,点击导出反应较慢,因此推荐直接下载你想要的大屏zip包即可** <br>
+
+- 通过[下载链接](https://ajreport.beliefteam.cn/download/)下载 <br>
+
+  1、下载对应大屏的zip包 <br>
+  ![img1](../picture/bigScreenCase/img_1.png) <br>
+  ![img2](../picture/bigScreenCase/img_2.png) <br>
+
+  2、在自己的服务环境通过“报表管理”菜单新建一个大屏,点击设计进入大屏设计界面。<br>
+  ![img3](../picture/bigScreenCase/img_3.png) <br>
+
+<br>
+
+- 通过在线体验环境导出大屏 <br>
+
+  1、进入对应大屏的设计界面 <br>
+  ![img4](../picture/bigScreenCase/img_4.png) <br>
+
+  2、在自己的服务环境通过“报表管理”菜单新建一个大屏,点击设计进入大屏设计界面。<br>
+  ![img3](../picture/bigScreenCase/img_3.png) <br>

+ 3 - 1
doc/docs/guide/briefUsing.md

@@ -11,4 +11,6 @@
 <a href='http://www.jiuyinkj.com/'><img src="https://ajreport.beliefteam.cn/file/download/5889f0e6-ba08-4990-ac89-eabfbb8af8bd" width = "130" height = "50" /> </a>
 <a href='http://www.jiuyinkj.com/'><img src="https://ajreport.beliefteam.cn/file/download/5889f0e6-ba08-4990-ac89-eabfbb8af8bd" width = "130" height = "50" /> </a>
 <a href='http://www.yourongyun.cn/'><img src="https://ajreport.beliefteam.cn/file/download/90e15ed9-5594-4c14-b318-72aeb6816fb9" width = "130" height = "50" /> </a>
 <a href='http://www.yourongyun.cn/'><img src="https://ajreport.beliefteam.cn/file/download/90e15ed9-5594-4c14-b318-72aeb6816fb9" width = "130" height = "50" /> </a>
 <a href='https://www.wenkai.net/'><img src="https://ajreport.beliefteam.cn/file/download/ec788c55-bffd-4809-ae3c-0ce2cbd1a9d0" width = "130" height = "50" /> </a>
 <a href='https://www.wenkai.net/'><img src="https://ajreport.beliefteam.cn/file/download/ec788c55-bffd-4809-ae3c-0ce2cbd1a9d0" width = "130" height = "50" /> </a>
-<a href='http://www.sungcor.com/'><img src="https://ajreport.beliefteam.cn/file/download/0514a4a6-787b-4e25-be94-03ff94309553" width = "130" height = "50" /> </a>
+<a href='http://www.sungcor.com/'><img src="https://ajreport.beliefteam.cn/file/download/0514a4a6-787b-4e25-be94-03ff94309553" width = "130" height = "50" /> </a> <br>
+<a href='http://www.jtit.com.cn/'><img src="https://ajreport.beliefteam.cn/file/download/1dc47a36-a515-4775-af44-262225b3662b" width = "130" height = "50" /> </a>
+<img src="https://foruda.gitee.com/images/1674127216326288249/5a251727_10057706.png" width = "130" height = "50" />

+ 214 - 107
doc/docs/guide/charts.md

@@ -1,231 +1,302 @@
 ## 图表和数据集之间的关系
 ## 图表和数据集之间的关系
 
 
-图表和数据集是强关联关系,一个图表需要什么样的数据才能进行展示下面都有说明,以柱状图举例,只能用个字段的数据集进行数据展示,那使用数据集有2个以上字段那肯定图表无法正常展示,反之有个数据集是3个字段,那就找能展示3个字段的图表,千万别搞小聪明定了好多个字段的数据集,然后从里面挑几个字段进行展示,不要这么干。<br>
+图表和数据集是强关联关系,一个图表需要什么样的数据才能进行展示下面都有说明,以柱状图举例,只能用个字段的数据集进行数据展示,那使用数据集有2个以上字段那肯定图表无法正常展示,反之有个数据集是3个字段,那就找能展示3个字段的图表,千万别搞小聪明定了好多个字段的数据集,然后从里面挑几个字段进行展示,不要这么干。<br>
 
 
-## 文本框
+## 文本栏
+
+### 文本框
 
 
 ![img_3.png](../picture/dashboard/img_3.png) <br>
 ![img_3.png](../picture/dashboard/img_3.png) <br>
 ![img_4.png](../picture/dashboard/img_4.png) <br>
 ![img_4.png](../picture/dashboard/img_4.png) <br>
 ![img_5.png](../picture/dashboard/img_5.png) <br>
 ![img_5.png](../picture/dashboard/img_5.png) <br>
 ![img_6.png](../picture/dashboard/img_6.png) <br>
 ![img_6.png](../picture/dashboard/img_6.png) <br>
 
 
-### 数据格式
+#### 数据格式
 
 
 ![img1](../picture/charts/img.png) <br>
 ![img1](../picture/charts/img.png) <br>
 
 
-## 滚动文本
+### 滚动文本
 
 
-同文本,操作无异 <br>
+同文本,操作无异 <br>
 
 
-## 超链接
+### 超链接
 
 
 ![img2](../picture/charts/img_1.png) <br>
 ![img2](../picture/charts/img_1.png) <br>
+
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-## 当前时间
+### 当前时间
 
 
-已支持多种时间格式,其他格式请提Issue <br>
+已支持多种时间格式,其他格式请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>
 ![img_1.png](../picture/dashboard/img_1.png) <br>
 ![img_1.png](../picture/dashboard/img_1.png) <br>
 
 
-## 图片
+### 图片
 
 
 ![img_7.png](../picture/dashboard/img_7.png) <br>
 ![img_7.png](../picture/dashboard/img_7.png) <br>
-**注:** 如果没有在bootstrap.yml配置文件中没有正确配置上传下载的路径,这里肯定是失败的 <br>
+**注:** 如果没有在bootstrap.yml配置文件中没有正确配置上传下载的路径,这里肯定是失败的 <br>
 
 
-## 视屏
+### 视频
 
 
-**暂不支持循环播放**<br>
-**注意视频的地址应是直接可以访问的,不需要登录之类** <br>
+**注:** 视频的地址应是直接可以访问的,不需要登录之类。 <br>
+**暂不支持视频循环播放**<br>
 
 
-## 表格
+### 表格
 
 
 ![img](../picture/dashboard/img_22.png) <br>
 ![img](../picture/dashboard/img_22.png) <br>
 表格字段对应的数据只选择“文本数字”。<br>
 表格字段对应的数据只选择“文本数字”。<br>
 ![img14](../picture/dashboard/img_23.png) <br>
 ![img14](../picture/dashboard/img_23.png) <br>
-**注意:** 多个字段的时候,需要在“配置-新增”添加你选择数据集所对应的字段,即“配置”中“表体设置”的“key值”要和你“动态数据对应的字段名”保持一致,类似于映射关系。 <br>
+**注意:**
+多个字段的时候,需要在“配置-新增”添加你选择数据集所对应的字段,即“配置”中“表体设置”的“key值”要和你“动态数据对应的字段名”保持一致,类似于映射关系。 <br>
+
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-## 内联框架
+### 内联框架
 
 
-当超链接和视频链接无效的时候,请尝试使用内联框架<br>
+当超链接和视频链接无效的时候,请尝试使用内联框架<br>
 
 
 ## 柱状图
 ## 柱状图
 
 
-柱状图数据集对应字典值需要选择一个“X轴”、“柱状”,只需要2个字段 <br>
+### 柱状图
+
+柱状图数据集对应字典值需要选择一个“X轴”、“柱状”,只需要2个字段。 <br>
 ![img_13](../picture/charts/img_13.png) <br>
 ![img_13](../picture/charts/img_13.png) <br>
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+#### 数据格式
 
 
 ![img3](../picture/charts/img_2.png) <br>
 ![img3](../picture/charts/img_2.png) <br>
 
 
-## 柱形图-渐变色
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
+### 柱状图-渐变色
+
+同上柱状图,颜色调整为支持渐变色。 <br>
+
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
+### 柱状堆叠图
+
+动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“柱状”,也就是说需要3个字段,不明白可以看看静态数据。 <br>
+![img.17](../picture/dashboard/img_17.png) <br>
+
+#### 数据格式
+
+![img4](../picture/charts/img_3.png) <br>
 
 
-同上柱形图,颜色调整为支持渐变色 <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
+### 柱状对比图
+
+数据集需要3个字段,其中一个作为对比的字段只能为2种值,只有2种值作为对比的字段要选择“y轴字段”字典。因为底层的解析用的是堆叠图的解析,这里的y轴字段并不是指的图表上面的y轴,还请注意,有强迫症可以自行修改源码的解析,剩下的2个字段对应字典看图。 <br>
+![img18](../picture/dashboard/img_18.png) <br>
+
+#### 数据格式
+
+![img11](../picture/charts/img_11.png) <br>
+
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
+### 双Y柱图
+
+数据集需要3个字段,其中一个字段作为“X轴”,另外两个数值字段选择“柱状”,左右Y轴分别代表选择柱状的俩种数值。 <br>
+![img33](../picture/charts/img_33.png) <br>
+
+#### 数据格式
+
+![img34](../picture/charts/img_34.png) <br>
+
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
 ## 折线图
 ## 折线图
 
 
-折线图数据集对应字典值需要选择一个“X轴”、“折线”,只需要2个字段 <br>
+### 折线图
+
+折线图数据集对应字典值需要选择一个“X轴”、“折线”,只需要2个字段。 <br>
 ![img14.png](../picture/charts/img_14.png) <br>
 ![img14.png](../picture/charts/img_14.png) <br>
+
+#### 数据格式
+
+同柱形图数据格式一致。 <br>
+
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+### 折线堆叠图
+
+动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“折线”,也就是说需要3个字段,不明白可以看看静态数据。 <br>
+![img.32](../picture/charts/img_32.png) <br>
+
+#### 数据格式
+
+同柱状堆叠图数据格式一致。 <br>
+
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
+### 折线对比图
+
+数据集需要3个字段,其中一个作为对比的字段只能为2种值,只有2种值作为对比的字段要选择“y轴字段”字典,剩下的字典对应看图。 <br>
+![img19](../picture/dashboard/img_19.png) <br>
+
+**注**:如果提示语设置选择“十字形”,请注意需要选择“X轴颜色、上Y轴颜色、下Y轴颜色”,不然预览图表鼠标选择是全白色,还请注意。<br>
+![img20](../picture/dashboard/img_20.png) <br>
+
+#### 数据格式
+
+同柱状对比图数据格式一致。 <br>
 
 
-同上柱形图数据格式 <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
 ## 柱线图
 ## 柱线图
 
 
+### 柱线图
+
 柱线图数据集对应字典值需要选择一个“X轴”、“柱状”、“折线”,需要3个字段,图例名称用 | 进行分隔。<br>
 柱线图数据集对应字典值需要选择一个“X轴”、“柱状”、“折线”,需要3个字段,图例名称用 | 进行分隔。<br>
 ![img15](../picture/charts/img_15.png) <br>
 ![img15](../picture/charts/img_15.png) <br>
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+#### 数据格式
 
 
 ![img5](../picture/charts/img_4.png) <br>
 ![img5](../picture/charts/img_4.png) <br>
 
 
-## 多柱线图
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
+### 多柱线图
 
 
 多柱线图对应数据字典需要选择一个“X轴”,剩下的字段可任意选择为“柱状”、“折线”,图例名称用 | 进行分隔。<br>
 多柱线图对应数据字典需要选择一个“X轴”,剩下的字段可任意选择为“柱状”、“折线”,图例名称用 | 进行分隔。<br>
 ![img16](../picture/charts/img_16.png) <br>
 ![img16](../picture/charts/img_16.png) <br>
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+#### 数据格式
 
 
 ![img17](../picture/charts/img_17.png) <br>
 ![img17](../picture/charts/img_17.png) <br>
 
 
-## 饼图
-
-饼图的数据集选择的时候,只能选择饼图对应的字典,即“Name”、“Value”,不明白可以参考静态数据 <br>
-![img8](../picture/charts/img_8.png) <br>
-![img9](../picture/charts/img_9.png) <br>
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+### 柱线堆叠图
 
 
-![img6](../picture/charts/img_5.png) <br>
+图表的基本操作和柱状堆叠图、折线堆叠并无大区别,需要在意的是数据格式的区别,绑定动态数据的时候,需要你数据集有4个字段,其中两个字段作为x,y区分字段,另外俩个作为数值字段。<br>
+![img29](../picture/charts/img_29.png) <br>
+![img30](../picture/charts/img_30.png) <br>
 
 
-## 漏斗图
+#### 数据格式
+
+和另外俩个堆叠图相比,多了查询的一列数据,比如 "select a,b,sum(c),sum(d) from aa group by a,b" 。
+![img31](../picture/charts/img_31.png) <br>
 
 
-![img18](../picture/charts/img_18.png) <br>
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+## 饼图
 
 
-和饼图数据格式一致。<br>
+### 饼图
 
 
-## 仪表盘
+饼图的数据集选择的时候,只能选择饼图对应的字典,即“Name”、“Value”,不明白可以参考静态数据。 <br>
+![img8](../picture/charts/img_8.png) <br>
+![img9](../picture/charts/img_9.png) <br>
 
 
-![img21](../picture/dashboard/img_21.png) <br>
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+#### 数据格式
 
 
-### 数据格式
+![img6](../picture/charts/img_5.png) <br>
 
 
-![img7](../picture/charts/img_6.png) <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-## 南丁格尔玫瑰图
+### 南丁格尔玫瑰图
 
 
 ![img71](../picture/charts/img_7.png) <br>
 ![img71](../picture/charts/img_7.png) <br>
 ![img10](../picture/charts/img_10.png) <br>
 ![img10](../picture/charts/img_10.png) <br>
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
-
-### 数据格式
 
 
-和饼图数据格式保持一致。 <br>
+#### 数据格式
 
 
-## 百分百图
+同饼图数据格式一致。 <br>
 
 
-![img19](../picture/charts/img_19.png) <br>
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+## 漏斗图
 
 
-和仪表盘数据格式保持一致。<br>
+### 漏斗图
 
 
-## 中国地图-路线图
+![img18](../picture/charts/img_18.png) <br>
 
 
-路线图的动态数据集,需要3个字段,“源端”代表起点,“目标端”代表终点,“数值”代表俩点之间的值
-![img24](../picture/charts/img_24.png) <br>
+#### 数据格式
 
 
-### 数据格式
+同饼图数据格式一致。<br>
 
 
-可以参考静态数据,目前路线地图仅能显示“市”级别,注意地图数据名称要和地图底层数据名称保持一致,即完整的市名,可以看静态数据,如果和你提供的动态数据名称有差异,请参考源码自行修改 <br>
-![img25](../picture/charts/img_25.png) <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-## 中国地图-气泡图
+## 百分比
 
 
-气泡地图是中国地图气泡样式展示形式 <br>
-气泡地图动态数据集,和饼图一样,对应字典值需要选择一个“Name”、“Value”,且name的字段值要和echarts图表里面的值能对应上,可参考静态数据 <br>
-![img15](../picture/dashboard/img_15.png) <br>
+### 仪表盘
 
 
-### 数据格式
+![img21](../picture/dashboard/img_21.png) <br>
 
 
-可参考静态数据,目前气泡地图仅能显示“省”级别,注意动态数据的名称要和地图底层数据名称保持一致,即完整的省名,可以看静态数据,如果和你提供的动态数据名称有差异,请参考源码自行修改 <br>
+#### 数据格式
 
 
-## 柱状堆叠图
+![img7](../picture/charts/img_6.png) <br>
 
 
-动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“柱状”,也就是说需要3个字段,不明白可以看看静态数据 <br>
-![img.17](../picture/dashboard/img_17.png) <br>
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+### 百分百图
 
 
-![img4](../picture/charts/img_3.png) <br>
+![img19](../picture/charts/img_19.png) <br>
 
 
-## 折线堆叠图
+#### 数据格式
+
+同仪表盘数据格式一致。 <br>
 
 
-动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“折线”,也就是说需要3个字段,不明白可以看看静态数据 <br>
-![img.17](../picture/dashboard/img_17.png) <br>
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+## 中国地图
 
 
-和柱状堆叠图数据格式保持一致。<br>
+### 路线地图
 
 
-## 柱状对比图
+路线图的动态数据集,需要3个字段,“源端”代表起点,“目标端”代表终点,“数值”代表俩点之间的值。 <br>
+![img24](../picture/charts/img_24.png) <br>
+
+#### 数据格式
+
+可以参考静态数据,目前路线地图仅能显示“市”级别,注意地图数据名称要和地图底层数据名称保持一致,即完整的市名,可以看静态数据,如果和你提供的动态数据名称有差异,请参考源码自行修改。 <br>
+![img25](../picture/charts/img_25.png) <br>
 
 
-数据集需要3个字段,其中一个作为对比的字段只能为2种值,只有2种值作为对比的字段要选择“y轴字段”字典。因为底层的解析用的是堆叠图的解析,这里的y轴字段并不是指的图表上面的y轴,还请注意,有强迫症可以自行修改源码的解析,剩下的2个字段对应字典看图<br>
-![img18](../picture/dashboard/img_18.png) <br>
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-### 数据格式
+### 气泡地图
 
 
-![img11](../picture/charts/img_11.png) <br>
+气泡地图动态数据集,和饼图一样,对应字典值需要选择一个“Name”、“Value”,且name的字段值要和echarts图表里面的值能对应上,可参考静态数据。 <br>
+![img15](../picture/dashboard/img_15.png) <br>
 
 
-## 折线对比图
+#### 数据格式
 
 
-数据集需要3个字段,其中一个作为对比的字段只能为2种值,只有2种值作为对比的字段要选择“y轴字段”字典,剩下的字典对应看图<br>
-![img19](../picture/dashboard/img_19.png) <br>
-**注**:如果提示语设置选择“十字形”,请注意需要选择 “X轴颜色、上Y轴颜色、下Y轴颜色”,不然预览图表鼠标选择是全白色,还请注意。<br>
-![img20](../picture/dashboard/img_20.png)
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+可参考静态数据,目前气泡地图仅能显示“省”级别,注意动态数据的名称要和地图底层数据名称保持一致,即完整的省名,可以看静态数据,如果和你提供的动态数据名称有差异,请参考源码自行修改。 <br>
 
 
-### 数据格式
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-和柱状对比图数据格式一致。<br>
+## 装饰图
 
 
-## 装饰饼图
+### 装饰饼图
 
 
 装饰用,可单独使用或者配合文本框等图表组件来使整个大屏立体、丰满。<br>
 装饰用,可单独使用或者配合文本框等图表组件来使整个大屏立体、丰满。<br>
 ![img12](../picture/charts/img_12.png) <br>
 ![img12](../picture/charts/img_12.png) <br>
 
 
 ## 词云图
 ## 词云图
 
 
-最大最小角度都为0时则文字显示为正。所有词云颜色皆是随机产生,动态数据每请求一次数据,所有词云颜色皆改变一次。<br>
+### 词云图
+
+最大最小角度都为0时则文字显示为”正“。所有词云颜色皆是随机产生,动态数据每请求一次数据,所有词云颜色皆改变一次。<br>
 ![img20](../picture/charts/img_20.png) <br>
 ![img20](../picture/charts/img_20.png) <br>
 
 
-### 数据格式
+#### 数据格式
 
 
-和饼图、南丁格尔玫瑰图数据保持一致。<br>
+同饼图、南丁格尔玫瑰图数据一致。<br>
+
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
 ## 热力图
 ## 热力图
 
 
-热力图是类似坐标轴一样的数据,当前的热力图数据集需要3个字段值,对应的字典是选择“X轴”,“Y轴”,“数值”,不明白可以看静态数据<br>
+### 热力图
+
+热力图是类似坐标轴一样的数据,当前的热力图数据集需要3个字段值,对应的字典是选择“X轴”,“Y轴”,“数值”,不明白可以看静态数据。 <br>
 ![img21](../picture/charts/img_21.png) <br>
 ![img21](../picture/charts/img_21.png) <br>
 
 
-注意:图设置功能中的最大最小值将会对热力图中的数值产生反应,主要根据设定的颜色来反应,数值越靠近最大值,颜色将更深 <br>
+**注意:**
+图设置功能中的最大最小值将会对热力图中的数值产生反应,主要根据设定的颜色来反应,数值越靠近最大值,颜色将更深。 <br>
 ![img22](../picture/charts/img_22.png) <br>
 ![img22](../picture/charts/img_22.png) <br>
 
 
-### 数据格式
+#### 数据格式
 
 
 ![img23](../picture/charts/img_23.png) <br>
 ![img23](../picture/charts/img_23.png) <br>
 
 
@@ -233,23 +304,59 @@
 
 
 ## 雷达图
 ## 雷达图
 
 
-基本操作和表格是一致,通过配置栏的新增按钮和操作按钮对雷达顶点数量进行修改,可生成5边雷达,6边雷达等等,key值和雷达顶点保持一致,从最上端顶点逆时针规划其他顶点。<br>
+### 雷达图
+
+基本操作和表格一致,通过配置栏的新增按钮和操作按钮对雷达顶点数量进行修改,可生成5边雷达,6边雷达等等,”key值“和”雷达顶点“保持一致,从最上端顶点逆时针规划其他顶点。<br>
 ![img26](../picture/charts/img_26.png) <br>
 ![img26](../picture/charts/img_26.png) <br>
 
 
-### 数据格式
+#### 数据格式
 
 
-数据格式和柱线、多柱线都是类似的,注意实际作为name的字段,比如时间字段,有且只能有1个,数据集选择时选择名称,其余是顶点字段,不明白可以看静态数据格式。<br>
+数据格式和柱线、多柱线都是类似的,注意实际作为”名称“的字段,比如时间字段,有且只能有1个,其余是”雷达顶点字段,不明白可以看静态数据格式。<br>
 ![img27](../picture/charts/img_27.png) <br>
 ![img27](../picture/charts/img_27.png) <br>
 ![img28](../picture/charts/img_28.png) <br>
 ![img28](../picture/charts/img_28.png) <br>
 
 
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 
-## 柱线堆叠图
+## 刻度尺
 
 
-图表的基本操作和柱状堆叠图、折线堆叠并无大区别,需要在意的是数据格式的区别,绑定动态数据的时候,需要你数据集有4个字段,其中俩个字段作为x,y区分字段,另外俩个作为数值字段。<br>
-![img29](../picture/charts/img_29.png) <br>
-![img30](../picture/charts/img_30.png) <br>
+### 竖刻度尺
 
 
-### 数据格式
+刻度尺数值的颜色来源于配置的渐变色,渐变色分为0%-30%-50%-70%-100%,数值颜色的变化会随着数值所在颜色区间的变化而变化。通过刻度设定可以调整最大刻度,默认刻度是100。<br>
+![img35](../picture/charts/img_35.png) <br>
+![img36](../picture/charts/img_36.png) <br>
+
+#### 数据格式
+
+单一的数值字段,可看静态数据。
+
+### 横刻度尺
+
+同竖刻度尺。<br>
+![img37](../picture/charts/img_37.png) <br>
+
+#### 数据格式
+
+单一的数值字段,可看静态数据。
+
+## 表单
+
+### 下拉框
+
+下拉框组件联动的使用方式请看图表联动里面的详细描述。<br>
+![img38](../picture/charts/img_38.png) <br>
+
+#### 数据格式
+
+“提交值”指的是下拉框提交给联动的组件字段名和字段值,“显示值”是指下拉框自身下拉按钮显示的值。动态数据需要至少1个字段,如果只有一个字段请选择“提交值”,最多2个字段,“提交值”“显示值”,只能选择一个,不能同时都选。<br>
+注意下拉框的静态数据只是作为参考用的,并不参与解析。<br>
+![img39](../picture/charts/img_39.png) <br>
+
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
+### 时间筛选器
+
+默认支持的时间格式是"yyyy-MM-dd HH:mm:ss",其他日期格式暂不支持,需要自己把自己数据集中时间字段格式化成同种格式。<br>
+时间筛选器组件联动的使用方式请看图表联动里面的详细描述。<br>
+![img40](../picture/charts/img_40.png) <br>
+![img41](../picture/charts/img_41.png) <br>
 
 
-和另外俩个堆叠图相比,多了查询的一列数据,比如 "select a,b,sum(c),sum(d) from aa group by a,b"
-![img31](../picture/charts/img_31.png) <br>

+ 86 - 0
doc/docs/guide/chartsConfig.md

@@ -0,0 +1,86 @@
+## 简要说明
+
+图表配置项的中文名称基本都是直接使用Echarts图表组件对应定义的名称,非Echarts图表组件则根据功能进行命名。<br>
+每个图表组件的配置项都不尽相同,配置项的作用在于调整图表、数据的展示样式,这里着重说明一些共有的配置项和特殊的配置项,因为并不是按照一个图表一个配置项介绍的,没有介绍的部分请自行尝试了。
+
+## 图层名称
+
+**定义:** 顾名思义,定义该组件在图层中显示的名称。<br>
+**使用建议:** 因为图层名称是可以重复的,所以在图层中无法准确判断该图层具体对应哪个组件,且在大屏画布中有的图表组件因为置底或者上层覆盖了别的组件,导致很难选到这个图表,如果修改了图层名称,则可以通过图层快速定位并选中该组件。
+
+## 文本框--文本内容
+
+文本框和滚动文本这两个组件,修改数据--静态数据,是不会生效的,文本内容配置项中写的内容才是真正的静态数据。<br>
+
+## 超链接--跳转方式
+
+**使用建议:** 默认的跳转方式是本窗口,实际使用还是请选择新窗口。<br>
+
+## 图片地址
+
+**定义:** 图片对应的url链接 <br>
+**使用建议:**
+这里图片的url因为只要是链接能打开就行了,所以适用性范围很广,但一般考虑到网络传输、安全性等问题,建议自行上传图片,然后用系统生成的链接地址;注意目前系统赞不支持svg图片,因此图片可能存在畸变,要注意缩放比例。
+
+## 表格--滚动间隔
+
+**定义:** 表格数据滚动的间隔,受到"开启滚动"、"动效时间"、"滚动个数"、"数据--动态数据--刷新时间"影响 <br>
+**使用建议:**
+表格动态数据默认是5s请求一次数据,因此每隔5s图表就会刷新一次,这时就会重置滚动时间,会出现滚动到某个值时回到开头重新滚动。想让表格把每个值都滚动显示到的话,可以减少滚动间隔时间,去掉动效时间,增大滚动个数,提高动态数据刷新时间。<br>
+
+## 柱体设置
+
+**定义:** 修改柱体的形状等,涉及柱状图、柱线图 <br>
+**使用建议:** 当数据条目数很少时,比如默认的静态数据是5条,放大宽度,柱体变得更粗,搭配"竖展示"
+配置项,可以得到更好的展示效果;当只有一个值的时候,通过XY不展示,可以得到单独的一根柱子。<br>
+
+## 折线设置
+
+**定义:** 修改点/折线的展示效果,涉及折线图、柱线图 <br>
+**使用建议:** 当折线的量少的时候,可以选择拉大"面积厚度",折线多了,就会相关覆盖,效果反而不好。<br>
+
+## 标题设置
+
+**定义:** 给图表组件添加标题/表头/title。 <br>
+**使用建议:**
+一般没有图例功能的图表组件可以直接使用这个功能,因为可能会和图例重叠。有图例的图表组件要定义图表的话,可用文本框拖动到图表上方,作为标题。<br>
+
+## X轴设置
+
+**定义:** 定义坐标轴中的X轴的相关设置项。 <br>
+**使用建议:**
+可以修改坐标轴的颜色,因为默认是纯白色,所以部分浏览器可能显示不出来;可以设置坐标名(柱状对比图不存在此配置项);如果数值相对密集的话,可以调整"
+数值间隔"。
+
+## Y轴设置
+
+**定义:** 定义坐标轴中的Y轴的相关设置项。 <br>
+**使用建议:** 可以修改坐标轴的颜色,因为默认是纯白色,所以部分浏览器可能显示不出来;如果数值相对密集的话,可以调整"均分"
+;注意"缩放"配置项只会对那些数据差距较大时才会生效。
+
+## 图例操作
+
+**定义:** 图例的直接来源是数据中的数值,比如在堆叠图中,图例的值就是"动态数据-Y轴字段"
+字典选择的字段数值,可以简单的认为是“数据分类”。<br>
+**使用建议:** 填写图例名称,修改图例的值,使用"|"进行分隔,相当于别名。<br>
+
+## 数值设定
+
+**定义:** 设定数据在图表中的显示配置。<br>
+**使用建议:** 对于堆叠图、柱线图等等柱体、折线多的,不建议显示。<br>
+
+## 提示语设置
+
+**定义:** 设定提示,主要用于当鼠标选中/滑动时,显示数据对应的值。<br>
+**使用建议:**
+设定和对应图表相反的颜色,鼠标滑动时则会醒目;注意此配置项必须保存预览鼠标选中后才能看到效果,在画布设计是看不到效果的。<br>
+
+## 自定义配色
+
+**使用建议:** 如果不设置的话,默认就是大红色;默认按顺序给数值赋予颜色。<br>
+
+## 饼图样式/模式
+
+**定义:** 定义饼图显示的样式、模式,涉及饼图、南丁格尔玫瑰图。<br>
+**使用建议:** 按数据量多少进行选择样式。<br>
+

+ 190 - 0
doc/docs/guide/chartsLinkage.md

@@ -0,0 +1,190 @@
+## 简要说明
+
+现有系统联动的本质是数据集查询参数“示例值”的替换, 现在联动有两种。<br>
+
+- 表单联动 <br>
+  目前支持的有下拉框、时间筛选器。<br>
+
+- 图表联动:<br>
+  目前联动主要集中在柱状图、折线图、饼图等这种二维图表,二维图表是指图表只支持2个字段的数据集,当然并不是说需要3个字段的堆叠图(柱状/折线)不支持联动,而是这种三维图表去联动二维图表会带来一些问题,反之二维的去联动三维的同样存在问题,因此目前源代码中只添加了部分二维图表的联动。<br>
+
+**注:**
+没有多级联动,联动都是一对一的。例如,时间筛选器绑定了A柱图,A柱图绑定了B饼图,当使用时间筛选器更改时间后,只会更新绑定的A柱图,A绑定的B饼图并不会更新数据。<br>
+
+## 表单联动
+
+### 下拉框
+
+- 简介-数据格式 <br>
+  下拉框最多两个字段,数据字典对应“显示值(label)”、“提交值(value)”,“提交值”是必须选择的,当动态数据只有一个字段的时候,选择“提交值”也会将其默认展示为“显示值”。<br>
+
+- 联动说明 <br>
+  被联动的组件:当前大屏中除自身以外的其他图表组件,这里获取的是图表的图层名称,每个图表都有默认的图层名称,因此有相同图表存在的话,记得修改图层名称。<br>
+  ![img](../picture/chartsLinkage/img.png) <br>
+
+  参数配置:label和value是下拉框自身字典属性。<br>
+  ![img1](../picture/chartsLinkage/img_1.png) <br>
+
+  选择联动的图表后,可以获得该图表配置的数据集,并获得数据集中的查询参数,然后将该查询参数进行绑定label、value。 <br>
+  ![img2](../picture/chartsLinkage/img_2.png) <br>
+
+  下拉联动的时候就是将下拉框(label/value)的数据提交给联动图表的查询参数,绑定label就是将下拉框label的值传递给图表的查询参数,同理value,只有一个查询参数的情况下肯定不能同时绑定label、value。<br>
+  ![img3](../picture/chartsLinkage/img_3.png) <br>
+
+- **使用注意 !!!** <br>
+  首先每个有查询参数的数据集都有对应查询参数的示例值,那么此数据集的数据则是根据此查询参数执行后的结果; <br>
+  下拉框在使用时,则是将下拉选择的值传递给此查询参数来获得新的数据; <br>
+  当使用下拉框后,已经将值传递给了某数据集的查询参数,这时候将下拉框的值清空并不会意味着传了空值给查询参数,且当数据集的刷新时间到了后也只会按下拉框传递的参数值进行查询; <br>
+  那么在使用下拉框查询后,想恢复原本数据集的数据只需要刷新浏览器即可。<br>
+
+- 示例 <br>
+  示例中的数据集相关的sql写在 aj_report_init.sql文件中,请自行查看。<br>
+  1、先准备两个数据集 <br>
+  按城市名称过滤筛选的数据集,可用于柱图、折线图等二字段图表。<br>
+  ![img5](../picture/chartsLinkage/img_5.png) <br>
+
+```
+SELECT DATE_FORMAT(create_time,'%Y-%m-%d') create_time,sum(nums) sum_nums  FROM aj_report_city where city_name ='${city_name}' group by create_time ;
+```
+
+获得城市名称对应的数据集,用于下拉框筛选。<br>
+![img4](../picture/chartsLinkage/img_4.png) <br>
+
+```
+SELECT DISTINCT(city_code)city_code ,city_name  FROM aj_report_city group by city_code,city_name;
+```
+
+<br>
+
+2、给下拉框配置动态数据,并设置好“提交值”、“显示值”字段 <br>
+![img6](../picture/chartsLinkage/img_6.png) <br>
+
+3、联动配置-参数配置 <br>
+下拉框数据集绑定的是“提交值”,也就是label,这里也就是将label的值传递给柱状图数据集的查询参数city_name。<br>
+当然在给下拉框绑定数据集的时候,因为只绑定了“提交值”这一个字段,因此这个字段的值同时作为“label、value”,参数配置的时候,选择value绑定city_name也是有结果。<br>
+![img7](../picture/chartsLinkage/img_7.png) <br>
+
+4、使用 <br>
+注意内容看上面说明。<br>
+![img8](../picture/chartsLinkage/img_8.png) <br>
+
+<br>
+
+### 时间筛选器
+
+- 简介 <br>
+  时间筛选器组件底层定义了“startTime、endTime”字典值,即开始时间、结束时间,和下拉框一样,使用时也是传值给绑定图表的查询参数。<br>
+
+- 联动说明 <br>
+  和下拉框的操作是一样的,这里也是绑定查询参数。<br>
+  ![img9](../picture/chartsLinkage/img_9.png) <br>
+
+- **注意事项!!!** <br>
+  1、绑定的数据集的查询参数的时间格式,目前必须是 "yyyy-MM-dd HH:mm:ss",其他日期格式,暂不支持。<br>
+  2、绑定的数据集的查询参数至少有一个是和时间有关,最多两个和时间有关。<br>
+  3、注意sql里面时间的比较,比如时间筛选器的今天是指当天的00:00:00 ~ 23:59:59 。<br>
+  4、如果数据集的查询参数只有开始时间/结束时间其一,那么在用时间筛选器绑定的时候注意只绑定一个。<br>
+  5、使用后的情况和下拉框使用后情况一致。<br>
+
+<br>
+
+- 数据集示例-查近7天数据并进行联动 <br>
+
+![img10](../picture/chartsLinkage/img_10.png) <br>
+
+```
+SELECT city_name,sum(nums) sum_nums  FROM aj_report_city where create_time>='${startTime}' and create_time < '${endTime}' group by city_name
+```
+
+startTime、endTime的示例值不用带上时分秒
+
+```js
+// startTime
+function verification(data) {
+    //自定义脚本内容
+    //可返回true/false单纯校验键入的data正确性
+    //可返回文本,实时替换,比如当前时间等
+    //return "2099-01-01 00:00:00";
+    //设置日期,当前日期的前七天\
+    data = data.sampleItem;
+    //示例值不能为空,因此这里判断示例值,保证示例值和时间筛选器返回值不一样就行,
+    if (data.length == 10) {
+        // 获取7天前日期
+        return getDay(-7);
+    }
+    return data;
+}
+
+// 时间处理公用方法
+function getDay(day) {
+    var today = new Date();
+    var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
+    today.setTime(targetday_milliseconds); //注意,这行是关键代码
+    var tYear = today.getFullYear();
+    var tMonth = today.getMonth();
+    var tDate = today.getDate();
+    tMonth = doHandleMonth(tMonth + 1);
+    tDate = doHandleMonth(tDate);
+    return tYear + "-" + tMonth + "-" + tDate + " 00:00:00";
+}
+
+function doHandleMonth(month) {
+    var m = month;
+    if (month.toString().length == 1) {
+        m = "0" + month;
+    }
+    return m;
+}
+```
+
+```js
+// endTime
+function verification(data) {
+    //自定义脚本内容
+    //可返回true/false单纯校验键入的data正确性
+    //可返回文本,实时替换,比如当前时间等
+    //return "2099-01-01 00:00:00";
+    //设置日期,当前日期的前七天
+    data = data.sampleItem;
+    if (data.length == 10) {
+        return getDay(1);
+    }
+    return data;
+}
+
+function getDay(day) {
+    var today = new Date();
+    var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
+    today.setTime(targetday_milliseconds); //注意,这行是关键代码
+    var tYear = today.getFullYear();
+    var tMonth = today.getMonth();
+    var tDate = today.getDate();
+    tMonth = doHandleMonth(tMonth + 1);
+    tDate = doHandleMonth(tDate);
+    return tYear + "-" + tMonth + "-" + tDate + " 00:00:00";
+}
+
+function doHandleMonth(month) {
+    var m = month;
+    if (month.toString().length == 1) {
+        m = "0" + month;
+    }
+    return m;
+}
+```
+
+## 图表联动
+
+- 简介 <br>
+  图表联动即联动图表的某些数据替换掉被联动图表动态数据集的查询参数,和上面表单联动本质上是一回事。<br>
+
+- 联动参数说明 <br>
+  图表联动的界面和表单联动界面都是一样的,不同的在于参数配置名称的不同。在二维的图表中,比如name在柱状图中代表柱图动态数据集的X轴字段,value则代表数值,在饼图中name对应饼图动态数据集的name,value同样对应数值。<br>
+  ![img11](../picture/chartsLinkage/img_11.png) <br>
+
+- **注意事项!!!** <br>
+  1、用于被联动的动态数据集比如上面的示例数据集,查询参数在sql里面需要用 '' 或者 ""
+  ,因为时间筛选器格式传递的数据中间有空格的。当然,如果不绑定时间筛选器那么sql里面直接使用数据库时间函数就行,例如DATE_FORMAT。<br>
+  2、联动与被联动的图表必须有相同的数据格式。理论上多维向低维填充数据是没问题的,但实际操作时带来的问题会很多,因此当前版本高维图表都不支持图表组件联动。<br>
+  3、被联动的图表的动态数据集必须得有查询参数。说的简单一点就是联动始终都是数据集参数的传递,图表只是数据的载体表象。<br>
+  4、使用后的情况和表单组件使用后情况一致。<br>

+ 1 - 5
doc/docs/guide/dashboard.md

@@ -10,10 +10,6 @@
 
 
 ## 大屏简介
 ## 大屏简介
 
 
+左侧为工具栏和图层,上方为功能栏,右侧为配置栏,中间为画布。<br>
 ![img_2.png](../picture/dashboard/img_2.png) <br>
 ![img_2.png](../picture/dashboard/img_2.png) <br>
 
 
-## 工具栏
-![img24](../picture/dashboard/img_24.png) <br>
-
-## 图层
-![img25](../picture/dashboard/img_25.png) <br>

+ 77 - 11
doc/docs/guide/dataset.md

@@ -1,12 +1,13 @@
-## 介
+## 
 
 
+根据选中的数据源+查询 sql 或请求体完成数据的查询。<br>
 ![img5](../picture/dateset/img_5.png) <br>
 ![img5](../picture/dateset/img_5.png) <br>
 
 
 [数据源数据集用法总结](https://my.oschina.net/u/4517014/blog/5270828) <br>
 [数据源数据集用法总结](https://my.oschina.net/u/4517014/blog/5270828) <br>
 
 
 ## SQL数据集
 ## SQL数据集
 
 
-尽量不要使用 “select *”,以及展示很大的数据量,图表不一定能展示、页面可能会卡死 <br>
+尽量不要使用 “select *”,以及展示很大的数据量,图表不一定能展示、页面可能会卡死 <br>
 
 
 ### Mysql数据集
 ### Mysql数据集
 
 
@@ -15,7 +16,7 @@
 
 
 ### ES数据集
 ### ES数据集
 
 
-**注**:es是通过调用xpack-sql,注意写法 <br>
+**注**:es是通过调用xpack-sql,注意写法,数据源亦有说明。 <br>
 ![es.png](../picture/dateset/img.png) <br>
 ![es.png](../picture/dateset/img.png) <br>
 
 
 ### Kudu数据集
 ### Kudu数据集
@@ -24,7 +25,8 @@
 
 
 ## HTTP数据集
 ## HTTP数据集
 
 
-即原有Http数据源的功能,请注意:Http接口返回类型必须是Json、不能是text,text无法解析 <br>
+即原有Http数据源的功能,请注意:Http接口返回类型必须是Json、不能是text,text无法解析。 <br>
+支持请求路径和请求头中存在动态数据,采用 ${} 方式进行动态替换,具体看下面查询参数的相关说明。 <br>
 ![http.png](../picture/dateset/img_7.png) <br>
 ![http.png](../picture/dateset/img_7.png) <br>
 
 
 ## 功能栏
 ## 功能栏
@@ -33,25 +35,89 @@
 
 
 ### 查询参数
 ### 查询参数
 
 
+[数据源数据集用法总结](https://my.oschina.net/u/4517014/blog/5270828) <br>
+
+注意参数名要和sql(请求体)中变量名保持一致,sql(请求体)中的变量用 ${} 表示。 <br>
 ![img3](../picture/dateset/img_3.png) <br>
 ![img3](../picture/dateset/img_3.png) <br>
-注意参数名要和sql(请求体)中变量名保持一致,sql(请求体)中的变量用 ${} 表示 <br>
-高级规则是用js进行数据装换。
+如图所示,查询 sql 中,定义了两个变量,startTime 和 endTime。那需要我们在查询参数中添加对应的两个参数。 参数名保持和查询 sql
+中 ${param} 保持一致。<br>
+数据类型可以不填,暂时未用到。
+
+#### 数据类型
+
+暂时无用,写了也不生效,目前统一都是string处理。 <br>
+
+#### 高级规则
+
+自定义JS,这里的JS是java的scriptengine执行的,支持ES5的写法。
+
+```js
+//返回yyyyy-MM-dd类型的当前时间
+function verification(data){
+	//自定义脚本内容
+	//获取当前时间
+	var date = new Date();
+	var year = date.getFullYear();
+	var month = date.getMonth() + 1;
+	var day = date.getDate();
+	if (month < 10) {
+		month = "0" + month;
+	}
+	if (day < 10) {
+		day = "0" + day;
+	}
+	var nowDate = year + "-" + month + "-" + day;
+	return nowDate;
+}
+```
 
 
 ### 数据转换
 ### 数据转换
 
 
+数据转换是在执行完 sql 之后进行的数据清洗操作。
+
 #### js脚本
 #### js脚本
 
 
-**注**:这里的JS是java的scriptengine执行的,很多ES6的语法不支持 <br>
 ![img4](../picture/dateset/img_4.png) <br>
 ![img4](../picture/dateset/img_4.png) <br>
-入参是data,返回值也必须是data,中间是JS的处理过程,注意入参返回都是List<JSONObject>,记得保存。 <br>
+入参是data,返回值也必须是data,中间是JS的处理过程,注意入参返回都是``List<JSONObject>``
+
+```js
+// 根据sql查询出的结果进行数据清洗
+function dataTransform(data){
+	//自定义脚本内容
+	
+	//1.遍历测试预览中的java.util.ArrayList<java.lang.Object>
+	for(j = 0, len = data.length; j < len; j++){
+		//获取一行数据
+		var row = data[j]
+		//比如对brand字段进行拆分,例如A-100,B-50
+		var brand = row['brand']
+		var split = brand.split('-')
+		//新增两个字段
+		var model = split[0]
+		var series = split[1]
+
+		//对原始对象赋值
+		data[j]['model'] = model
+		data[j]['series'] = series
+
+	}
+	return data;
+}
+```
 
 
 #### java脚本
 #### java脚本
 
 
-通过Groovy来进行实现的 <br>
-[Groovy用法参考](https://my.oschina.net/u/4517014/blog/5526324) <br>
+通过Groovy来进行实现的,[Groovy用法参考](https://my.oschina.net/u/4517014/blog/5526324) <br>
+如下图所示: <br>
+建议在 idea 写好复制整个类到此处,位置 report-core/src/test/java/com/DemoGroovyHandler.java <br>
+出入参皆为 ``List<JSONObject>`` data
+![img8](../picture/dateset/img_8.png) <br>
 
 
 #### 字典项
 #### 字典项
 
 
+针对查询结果某一项 key 值,做一个翻译。<br>
 ![img6.png](../picture/dateset/img_6.png) <br>
 ![img6.png](../picture/dateset/img_6.png) <br>
-记得保存
 
 
+### 数据预览
+
+针对此次数据集,进行数据预览,尽量不要使用 select * from table <br>

+ 34 - 9
doc/docs/guide/datasource.md

@@ -3,12 +3,12 @@
 [数据源数据集用法总结](https://my.oschina.net/u/4517014/blog/5270828) <br>
 [数据源数据集用法总结](https://my.oschina.net/u/4517014/blog/5270828) <br>
 
 
 - 支持多数据源,内置mysql、elasticsearch、kudu等多种驱动 <br>
 - 支持多数据源,内置mysql、elasticsearch、kudu等多种驱动 <br>
-- 可动态扩展
+- 可动态扩展(见下文)
   ![source.png](../picture/datasource/img_1.png)
   ![source.png](../picture/datasource/img_1.png)
 
 
-## 数据源类型
+## 类型
 
 
-查看已有的数据源类型 <br>
+查看已有的数据源类型 <br>
 ![img2](../picture/datasource/img_2.png)  <br>
 ![img2](../picture/datasource/img_2.png)  <br>
 ![img3](../picture/datasource/img_3.png)  <br>
 ![img3](../picture/datasource/img_3.png)  <br>
 
 
@@ -18,18 +18,43 @@
 表aj_report.gaea_dict_item, item_extend字段是下拉选择后动态表单渲染的json数据
 表aj_report.gaea_dict_item, item_extend字段是下拉选择后动态表单渲染的json数据
 ```
 ```
 
 
-**注:** Http数据源功能已经移动到Http数据集中,原功能不变,有Http接口数据请直接使用Http数据集,请注意Http接口数据返回格式必须是Json
-
 ## 操作
 ## 操作
 
 
-- 只有测试通过的数据源才可以保存
-  ![An image](../picture/datasource/img.png)
+- 只有测试通过的数据源才可以保存。<br>
+  ![An image](../picture/datasource/img.png) <br>
+
+## 内置数据源
+
+### JDBC数据源
+
+适用于JDBC驱动类数据库,驱动类、连接串、用户名、密码必须填写正确。<br>
+![img6](../picture/datasource/img_6.png) <br>
+
+### elasticsearch_sql数据源
+
+目前只支持 elasticsearch 的 x-pack sql。<br>
+固定写法:<br>
+
+- 请求路径:http://127.0.0.1:9200/_xpack/sql?format=json
+- 请求方式:POST
+- 请求头:{"Content-Type":"application/json"}
+- 请求体:{"query":"select 1"}
+
+![img7](../picture/datasource/img_7.png) <br>
+
+### HTTP数据源
+
+针对http,最好得返回结果是``List<JSONObject>``,目前而言,http 数据源操作上可能过于繁琐了些。<br>
+支持请求路径和请求头中存在动态数据,采用 ${} 方式进行动态替换,具体操作看数据集的相关说明。<br>
+![img8](../picture/datasource/img_8.png) <br>
+
+**注:** Http数据源功能已经移动到Http数据集中,原功能不变,有Http接口数据请直接使用Http数据集,请注意Http接口数据返回格式必须是Json。
 
 
 ## 扩展
 ## 扩展
 
 
 ### JDBC驱动类数据源添加
 ### JDBC驱动类数据源添加
 
 
-##### 发行版
+**发行版**
 
 
 ```text
 ```text
 1、将jar包上传到 "aj-report.xxx/lib"目录下
 1、将jar包上传到 "aj-report.xxx/lib"目录下
@@ -40,7 +65,7 @@
 ![img4](../picture/datasource/img_4.png) <br>
 ![img4](../picture/datasource/img_4.png) <br>
 ![img5](../picture/datasource/img_5.png) <br>
 ![img5](../picture/datasource/img_5.png) <br>
 
 
-##### 源码
+**源码**
 
 
 源码推荐使用第二种方式。<br>
 源码推荐使用第二种方式。<br>
 
 

+ 12 - 12
doc/docs/guide/excel.md

@@ -1,34 +1,34 @@
-# 介
+## 
 
 
-Excel报表基于Luckysheet开发,[Luckysheet](https://gitee.com/mengshukeji/Luckysheet) 一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。
-**注意:** Excel报表目前只是简单集成,如果你遇到了一些问题请在此[Issue](https://gitee.com/anji-plus/report/issues/I4CEWV) 下面进行回复。<br>
+Excel报表基于Luckysheet开发,[Luckysheet](https://gitee.com/mengshukeji/Luckysheet)
+一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。<br>
+**注意:** Excel报表目前只是简单集成,如果你遇到了一些问题请在此[Issue](https://gitee.com/anji-plus/report/issues/I4CEWV)
+下面进行回复。<br>
 
 
-## 表格报表设计
+## 进入
 
 
 进入表格设计方法1: <br>
 进入表格设计方法1: <br>
-从报表管理模块选择需要设计的大屏,按图示进入大屏设计界面 <br>
+从报表管理模块选择需要设计的大屏,按图示进入大屏设计界面 <br>
 ![img](../picture/excel/img.png) <br>
 ![img](../picture/excel/img.png) <br>
 
 
 进入大屏设计方法2: <br>
 进入大屏设计方法2: <br>
-从大屏报表模块选择需要设计的大屏,按图示进入大屏设计界面 <br>
+从大屏报表模块选择需要设计的大屏,按图示进入大屏设计界面 <br>
 ![img2](../picture/excel/img_1.png) <br>
 ![img2](../picture/excel/img_1.png) <br>
 
 
-## 简介
+## 设计界面
 
 
 ![img3](../picture/excel/img_2.png) <br>
 ![img3](../picture/excel/img_2.png) <br>
 
 
-## 使用
-
-**注**:不建议一列中同时存在俩个字段数据,同时一列值也建议不要存到超大数据量,肯定无法显示的<br>
+**注**:不建议一列中同时存在两个字段数据,同时一列值也建议不要存到超大数据量,肯定无法显示的。 <br>
 ![img4](../picture/excel/img_3.png) <br>
 ![img4](../picture/excel/img_3.png) <br>
 
 
-## 预览/保存
+## 保存
 
 
 点击保存,则会将数据写入到库中。<br>
 点击保存,则会将数据写入到库中。<br>
 点击预览,则进入预览界面。<br>
 点击预览,则进入预览界面。<br>
 ![img](../picture/excel/img_4.png) <br>
 ![img](../picture/excel/img_4.png) <br>
 
 
-## 预览界面
+## 预览
 
 
 可以进行导出操作。<br>
 可以进行导出操作。<br>
 ![img](../picture/excel/img_5.png) <br>
 ![img](../picture/excel/img_5.png) <br>

+ 29 - 0
doc/docs/guide/importExport.md

@@ -0,0 +1,29 @@
+## 说明
+
+导入导出快慢都是很正常的,不需要重复点击,没那么快就能处理完导入导出操作。<br>
+使用导入导出,需要确定好自己是否在 bootstrap.yml 配置文件里面配置好了上传下载的地址,否则当有图片导入时会无法正常显示。<br>
+
+## 导出
+
+![img](../picture/imexport/img.png) <br>
+导出会生成zip文件,包含图表、样式、图片等,不会带有该大屏的名称和code。<br>
+
+### 导出数据集
+
+适用于同一系统内部使用。<br>
+**注:**
+作为导入的新系统必须也要有相同的数据集才可以正常显示,导出数据集并不是说将你当前大屏用到的数据集也一并导出了,仅是导出包含了动态数据等相关配置而已。<br>
+
+### 导出不含有数据集
+
+导出的图表会使用默认的静态数据集,适用于跨系统,请注意,如果你的大屏图表有部分图表是在对方系统不存在的,那么目前整个大屏是不会显示出来的,后续会进行兼容,不存在的图表留空。<br>
+
+## 导入
+
+![img1](../picture/imexport/img_1.png) <br>
+选择一个导出的zip文件导入即可。注意,导入会覆盖当前大屏,请新建一个空白的大屏进行导入。<br>
+**注:** 如果你导入的大屏中含有你当前系统不存在的图表,整个大屏是不会显示的。<br>
+
+## 导入导出权限
+
+请查看权限控制模块中关于导入导出权限的说明。 <br>

+ 0 - 25
doc/docs/guide/importexport.md

@@ -1,25 +0,0 @@
-**注:导入导出目前是初始版本,报错没有细化,如果导入导出过程中页面无反应,请F12**
-**注:“导入成功/失败”的提示不一定对应当前真实导入导出情况,请根据实际导入导出的结果进行判断**
-
-## 导出
-
-![img](../picture/imexport/img.png) <br>
-导出会生成zip文件,包含图表、样式、图片等,不会带有该大屏的名称和code。<br>
-
-### 导出数据集
-
-适用于同一系统内部使用
-
-### 导出不含有数据集
-
-导出的图表会使用默认的静态数据集,适用于跨系统,请注意,如果你的大屏图表有部分图表是在对方系统不存在的,那么目前整个大屏是不会显示出来的,后续会进行兼容,不存在的图表留空。<br>
-
-## 导入
-
-![img1](../picture/imexport/img_1.png) <br>
-选择一个导出的zip文件导入即可。注意,导入会覆盖当前大屏,请新建一张空白的大屏进行导入。<br>
-**注:如果你导入的大屏中含有你当前系统不存在的图表,整个大屏是不会显示的。** <br>
-
-## 导入导出权限
-
-请查看权限控制模块中关于导入导出权限的说明。 <br>

+ 5 - 14
doc/docs/guide/question.md

@@ -58,7 +58,7 @@
 
 
 - 提示:“*** report-ui/dist/* *** No such file or directory” <br>
 - 提示:“*** report-ui/dist/* *** No such file or directory” <br>
   前端编译失败。<br>
   前端编译失败。<br>
-  大部分原因是Node.js版本过高(高于V14),导致前端编译失败(npm install失败),可参考***前端npm install失败*进行解决。 <br>
+  大部分原因是Node.js版本过高(高于V14),导致前端编译失败(npm install失败),可参考上面**前端npm install失败**进行解决。 <br>
   另一部分是Nodejs在编译执行初始化时会去下载一些依赖,如果依赖下载不下来,也会导致失败。<br>
   另一部分是Nodejs在编译执行初始化时会去下载一些依赖,如果依赖下载不下来,也会导致失败。<br>
 
 
 <br>
 <br>
@@ -94,11 +94,11 @@
   failed** <br>
   failed** <br>
   解析:flyway在执行某个版本里面包含的sql时报错了 <br>
   解析:flyway在执行某个版本里面包含的sql时报错了 <br>
 
 
-- 可能原因:<br>
+  可能原因:<br>
   1、mysql版本问题,在不同版本的mysql中,部分语法可能存在异同 <br>
   1、mysql版本问题,在不同版本的mysql中,部分语法可能存在异同 <br>
   2、mysql配置问题 <br>
   2、mysql配置问题 <br>
 
 
-  解决方案:
+  解决方案:<br>
   一、禁用flyway,手动执行已有的各版本sql文件 <br>
   一、禁用flyway,手动执行已有的各版本sql文件 <br>
   1、在bootstrap.yml配置文件中找到flyway配置项,如图示 <br>
   1、在bootstrap.yml配置文件中找到flyway配置项,如图示 <br>
   ![img6.png](../picture/qusetion/img_6.png) <br>
   ![img6.png](../picture/qusetion/img_6.png) <br>
@@ -116,19 +116,10 @@
 
 
 ## 数据集相关
 ## 数据集相关
 
 
-- 系统异常,后台日志显示“** Data too long for colum ** ” <br>
-  查询到的数据太多了,无法入库,这里查询入库的数据只作为在使用动态数据时做解析用 <br>
-  1、建议不要使用 "select *"  <br>
-  2、一张图表能承载的数据量是有限的,太多则图表展示不出来、页面卡死等 <br>
-  3、必须使用 "select *" ,或者展示很多数据。解决方法,将测试预览的值删掉只剩一条,注意数据的结构 [{}] <br>
-
 ## 大屏图表组件相关
 ## 大屏图表组件相关
 
 
-- 访问大屏,浏览器白屏 <br>
-  设计完大屏,保存后进行预览,发现背景全白 <br>
-  1、回到编辑页面,查看大屏背景颜色是否设置 <br>
-  2、查看大屏的宽高,如果宽高都是0,大屏背景图片,颜色,皆无法显示 <br>
-  3、大屏宽高改成 1920 1080 <br>
+- 访问大屏,发现图表X轴、Y轴等显示不出来,但数值、柱子、折线又能显示 <br>
+  问题原因:每个图表,比如X轴、Y轴颜色默认就是白色,当背景色也设置为白色时,就无法显示,其他同理。<br>
 
 
 <br>
 <br>
 
 

+ 8 - 6
doc/docs/guide/quicklyDevelop.md

@@ -37,17 +37,19 @@
 - [Node.js] 14.16.0
 - [Node.js] 14.16.0
 - [Windows 10]
 - [Windows 10]
 
 
-已知 **Mysql8.0** 部分小版本会出现兼容性问题,后续有解决方法将会在下方 **其他** 大类进行补充
+## 版本问题
 
 
-## 不支持的版本
+已知以下版本存在兼容性问题,请不要使用
 
 
-- [JDK] 1.7及以下/11及以上
-- [Node.js] V16及以上
+- Node.js V16及以上
+- openJdk
+- Jdk 1.7及以下/11及以上(jdk11部分版本有问题)
+- Mysql 8.0(8.0.23/26版本没有问题,8.0.21版本存在问题)
 
 
 ## SQL初始化
 ## SQL初始化
 
 
 sql文件的地址是:report-core --> src --> main --> resources -- > db.migration <br>
 sql文件的地址是:report-core --> src --> main --> resources -- > db.migration <br>
 ![sql](../picture/quickly/img_13.png)
 ![sql](../picture/quickly/img_13.png)
 
 
-系统初始化时flyway会自动的将该目录下的sql文件执行,不需要手动执行sql文件。 <br>
-执行完将会创建 aj_report(存放系统基础数据) 和 aj_report_init(存放示例数据) 俩个 <br>
+系统初始化时flyway会自动的将该目录下的sql文件执行,不需要手动执行sql文件,执行完将会创建
+aj_report(存放系统基础数据)数据库 <br>

+ 13 - 11
doc/docs/guide/quicklyDistribution.md

@@ -1,11 +1,19 @@
 ```
 ```
  第一步,下载zip包,解压
  第一步,下载zip包,解压
- 第二步,conf->bootstrap.yml,修改mysql连接等信息
+ 第二步,conf->bootstrap.yml,修改数据库连接、上传下载地址等信息
  第三步,启动bin目录下start.sh
  第三步,启动bin目录下start.sh
  第四步,访问 http://localhost:9095  admin 123456
  第四步,访问 http://localhost:9095  admin 123456
- 第五步,修改"数据源->mysql数据源"用户名密码
 ```
 ```
 
 
+## 版本问题
+
+已知以下版本存在兼容性问题,请不要使用
+
+- Node.js V16及以上
+- openJdk
+- Jdk 1.7及以下/11及以上(jdk11部分版本有问题)
+- Mysql 8.0(8.0.23/26版本没有问题,8.0.21版本存在问题)
+
 ## 下载发行版
 ## 下载发行版
 
 
 [下载地址](https://gitee.com/anji-plus/report/releases) :https://gitee.com/anji-plus/report/releases <br>
 [下载地址](https://gitee.com/anji-plus/report/releases) :https://gitee.com/anji-plus/report/releases <br>
@@ -24,7 +32,7 @@
 
 
 ## OSS配置
 ## OSS配置
 
 
-OSS底层已支持minio、amazonS3、dfs,都配置的情况下优先级minio->amazonS3->nfs <br>
+OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->amazonS3->nfs <br>
 ![file.png](../picture/quickly/img.png) <br>
 ![file.png](../picture/quickly/img.png) <br>
 
 
 ## 启动
 ## 启动
@@ -39,18 +47,12 @@ aj-report-XXX --> bin --> start.bat <br>
 
 
 如果start.bat启动有问题的话,可以尝试以下方法解决。<br>
 如果start.bat启动有问题的话,可以尝试以下方法解决。<br>
 修改第4行的JAVA_HOME,改成你自己的JAVA_HOME,并去掉**rem**注释,双击启动<br>
 修改第4行的JAVA_HOME,改成你自己的JAVA_HOME,并去掉**rem**注释,双击启动<br>
-![java.png](../picture/quickly/img_7.png) 
+![java.png](../picture/quickly/img_7.png)
 
 
 ## 访问
 ## 访问
 
 
 http://localhost:9095 <br>
 http://localhost:9095 <br>
-默认密码:admin 123456 <br>
-
-## 重置mysql连接
+默认密码:admin 123456 <br> 
 
 
-登陆进来后请修改mysql数据源 <br>
-数据源 --> mysql数据源 --> 编辑 --> 修改用户名密码(改成你自己系统mysql的用户名密码) <br>
-![img](../picture/quickly/img_14.png) <br>
-![img_6.png](../picture/quickly/img_6.png) <br>
 
 
 
 

+ 23 - 13
doc/docs/guide/quicklySeparate.md

@@ -1,18 +1,21 @@
-**前后端分离:** <br>
-**请对自己有动手能力的小伙伴进行尝试** <br>
-**请根据自己的实际情况对下面的步骤和内容进行调整** <br>
+**前后端分离部署**
+
+- 需要有一定的动手能力和排错能力
+- 需要对nginx有一定了解
+- 同一台机器部署前后端真心不需要分离部署
+- **请根据自己的实际情况对下面的步骤和内容进行调整**
 
 
 ```
 ```
 linux:
 linux:
 git clone https://gitee.com/anji-plus/report.git
 git clone https://gitee.com/anji-plus/report.git
-后端:report-code
-修改bootstrap.yml
+后端:report-code
+修改bootstrap.yml 修改数据库连接、上传下载地址等信息
 maven package
 maven package
 java -jar
 java -jar
 
 
-前端:report-ui
+前端:report-ui
 修改前端config连接
 修改前端config连接
-BASE_API: '"./"',改成自己后端的api
+BASE_API: '"./"',改成自己后端服务所在机器的ip地址
 npm install
 npm install
 npm run build
 npm run build
 
 
@@ -27,7 +30,14 @@ npm run build
 - [Node.js] v14.16.0 <br>
 - [Node.js] v14.16.0 <br>
 - [Jdk] 1.8 <br>
 - [Jdk] 1.8 <br>
 
 
-**注**:已知 **Jdk11** (部分小版本)存在兼容性问题,请不要使用openJdk,环境问题请看 **常见问题** 大类 <br>
+### 版本问题
+
+已知以下版本存在兼容性问题,请不要使用
+
+- Node.js V16及以上
+- openJdk
+- Jdk 1.7及以下/11及以上(jdk11部分版本有问题)
+- Mysql 8.0(8.0.23/26版本没有问题,8.0.21版本存在问题)
 
 
 ### 克隆源码
 ### 克隆源码
 
 
@@ -51,7 +61,7 @@ report-core --> src --> main --> resources --> bootstrap.yml <br>
 
 
 ### OSS配置
 ### OSS配置
 
 
-OSS底层已支持minio、amazonS3、dfs,都配置的情况下优先级minio->amazonS3->nfs <br>
+OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->amazonS3->nfs <br>
 ![file.png](../picture/quickly/img.png) <br>
 ![file.png](../picture/quickly/img.png) <br>
 
 
 ### maven打包
 ### maven打包
@@ -72,9 +82,9 @@ OSS底层已支持minio、amazonS3、dfs,都配置的情况下优先级minio->
 将上步生成的jar包上传至linux,使用java -jar命令启动 <br>
 将上步生成的jar包上传至linux,使用java -jar命令启动 <br>
 **注**:请确保你的linux有jdk1.8 <br>
 **注**:请确保你的linux有jdk1.8 <br>
 
 
-## 前端build
+## 前端编译
 
 
-### 前端编译
+### install
 
 
 进入前端目录:report-ui <br>
 进入前端目录:report-ui <br>
 ![img11](../picture/quickly/img_11.png) <br>
 ![img11](../picture/quickly/img_11.png) <br>
@@ -83,9 +93,9 @@ OSS底层已支持minio、amazonS3、dfs,都配置的情况下优先级minio->
 ### 修改config
 ### 修改config
 
 
 目录地址:report-ui --> config --> prod.env.js <br>
 目录地址:report-ui --> config --> prod.env.js <br>
-将BASE_API地址,改成你后端的api地址 <br>
+将BASE_API地址,改成自己后端服务所在机器的ip地址 <br>
 
 
-### 打包
+### build
 
 
 执行 npm run build <br>
 执行 npm run build <br>
 
 

+ 14 - 13
doc/docs/guide/quicklySource.md

@@ -6,13 +6,11 @@ sh build.sh
 
 
 unzip aj-report-xxxx.zip
 unzip aj-report-xxxx.zip
 cd aj-report-xxxx
 cd aj-report-xxxx
-vim conf/bootstrap.yml 修改数据库连接、上传文件的路径以及地址
+vim conf/bootstrap.yml 修改数据库连接、上传下载地址等信息
 sh bin/start.sh
 sh bin/start.sh
 
 
 访问:http://serverip:9095
 访问:http://serverip:9095
 admin 123456
 admin 123456
-
-修改:"数据源->mysql数据源"用户名密码
 ```
 ```
 
 
 ## 编译环境
 ## 编译环境
@@ -24,7 +22,15 @@ admin 123456
 - [Apache Maven] 3.5 <br>
 - [Apache Maven] 3.5 <br>
 - [Node.js] v14.16.0 <br>
 - [Node.js] v14.16.0 <br>
 - [Jdk] 1.8 <br>
 - [Jdk] 1.8 <br>
-  **注**:已知**Jdk11**存在兼容性问题,请不要使用openJdk,环境问题请看 **常见问题** 大类 <br>
+
+## 版本问题
+
+已知以下版本存在兼容性问题,请不要使用
+
+- Node.js V16及以上
+- openJdk
+- Jdk 1.7及以下/11及以上(jdk11部分版本有问题)
+- Mysql 8.0(8.0.23/26版本没有问题,8.0.21版本存在问题)
 
 
 ## 克隆源码
 ## 克隆源码
 
 
@@ -38,9 +44,10 @@ git clone https://gitee.com/anji-plus/report.git <br>
 ![img_4.png](../picture/quickly/img_4.png) <br>
 ![img_4.png](../picture/quickly/img_4.png) <br>
 编译完成后是放在当前目录下的build文件夹中:aj-report-xxxx.zip <br>
 编译完成后是放在当前目录下的build文件夹中:aj-report-xxxx.zip <br>
 
 
-**注:** 如果Win10部署的话,如图用git执行sh build.sh就行了。Linux就直接去report目录下执行sh build.sh就行。 <br>
+**注:** 如果Win10编译的话,如图用git执行sh build.sh就行了。Linux就直接去report目录下执行sh build.sh就行。 <br>
 **特别注意:**
 **特别注意:**
-如果是Win10编译,那么几个启动脚本的格式则是win的格式,放linux上执行会报错的,反之放linux编译在win10启动也会报错,需要转格式。 <br>
+在Win10上用git执行build.sh编译,几个启动脚本的文本格式都是Unix,在win10上启动需要将start.bat转格式,转格式的方法有很多,实在搞不定的话可以下载发行版,用发行版里面的启动脚本替换掉你编译后的脚本。 <br>
+同样的在linux下编译然后在win10启动也需要转格式。<br>
 
 
 ## 修改mysql连接
 ## 修改mysql连接
 
 
@@ -55,7 +62,7 @@ git clone https://gitee.com/anji-plus/report.git <br>
 
 
 ## OSS配置
 ## OSS配置
 
 
-OSS底层已支持minio、amazonS3、dfs,都配置的情况下优先级minio->amazonS3->nfs <br>
+OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->amazonS3->nfs <br>
 ![file.png](../picture/quickly/img.png) <br>
 ![file.png](../picture/quickly/img.png) <br>
 
 
 ## 启动
 ## 启动
@@ -77,10 +84,4 @@ aj-report-XXX --> bin --> start.bat <br>
 http://serverip:9095 <br>
 http://serverip:9095 <br>
 默认密码:admin 123456 <br>
 默认密码:admin 123456 <br>
 
 
-## 重置mysql连接
-
-登陆进来后请修改mysql数据源 <br>
-数据源 --> mysql数据源 --> 编辑 --> 修改用户名密码(改成你自己系统mysql的用户名密码) <br>
-![img](../picture/quickly/img_14.png) <br>
-![img_6.png](../picture/quickly/img_6.png) <br>
 
 

+ 32 - 0
doc/docs/guide/quicklyUse.md

@@ -0,0 +1,32 @@
+以下示例数据存在于aj_report_init.sql文件中,该文件在源码doc/example目录下
+
+## 新增数据源
+
+![img](../picture/quickly/img_14.png) <br>
+![img_6.png](../picture/quickly/img_6.png) <br>
+
+## 新增数据集
+
+![img_1.png](../picture/dateset/img_1.png) <br>
+
+## 新增报表
+
+根据报表类型区分大屏报表、Excel报表
+![img](../picture/reportmanager/img.png) <br>
+
+### 大屏设计
+
+![img_2.png](../picture/dashboard/img_2.png) <br>
+![img1](../picture/quickly/img_1.png) <br>
+
+### 大屏预览
+
+![img15](../picture/quickly/img_15.png) <br>
+
+### Excel设计
+
+![img3](../picture/excel/img_2.png) <br>
+
+### Excel预览
+
+![img](../picture/excel/img_5.png) <br>

+ 79 - 0
doc/docs/guide/releases/1.0.0.md

@@ -0,0 +1,79 @@
+## 注意事项
+
+- 之前版本更新至本版本时,可能会遇到图表不显示静态、动态数据,需对该图表重新配置;如果已对旧版本进行二次开发,请谨慎更新。<br>
+  跨版本更新可查对应版本的[releases](https://gitee.com/anji-plus/report/releases)。<br>
+
+- 1.0版本调整了底层sql,具体位置是:report-core/src/main/resource/db.migration,
+  删除了过往所有的sql,现在此目录下sql仅包含aj_report基础信息库的相关sql,sql文件的命名也会和版本号保持一致,
+  提供的示例数据(aj_report_init数据库的sql),aj_report_init.sql 文件放置在 doc/example目录下。
+
+- 如果需要将之前版本的示例数据删除,delete_aj_report_init.sql 文件放置在 doc/example目录下。
+
+- 对于从之前版本升级到1.0.0版本,必须解决新旧sql的冲突问题,因为V1.0.0版本同样默认启用flyway,如果不解决冲突,代码启动flyway就会报错,
+  从0.9.9版本更新到1.0.0版本的更新sql,请参照下面的步骤内容进行操作,
+  如果从更低的版本升级到V1.0.0,请先升级到V0.9.9版本,可查对应版本的[releases](https://gitee.com/anji-plus/report/releases)。
+
+**如果从V0.9.9版本更新至V1.0.0版本后需要继续使用flyway功能,必须解决新旧sql的冲突问题**
+
+- 1、将自己系统的数据库数据进行备份
+- 2、手动执行V0.9.9更新的V1.0.0增量sql <br>
+  这样就可以使用V1.0.0全部的功能。
+
+```
+INSERT INTO `aj_report`.`gaea_dict`(`dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('下拉框属性', 'SELECT_PROPERTIES', '下拉框属性', 'admin', NOW(), 'admin', NOW(), 1);
+
+INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('SELECT_PROPERTIES', '显示值', 'label', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);
+INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('SELECT_PROPERTIES', '提交值', 'value', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);
+```
+
+- 3.清空flyway_schema_history表并插入一条数据到表中 <br>
+  这样可以解决flyway的冲突问题,如果flyway一直都是禁用的,那这步可以不做。
+
+```
+truncate table aj_report.flyway_schema_history;
+
+INSERT INTO aj_report.flyway_schema_history (installed_rank, version, description, type, script, checksum, installed_by, installed_on, execution_time, success) 
+VALUES (1, '1.0.0', 'init', 'SQL', 'V1.0.0__init.sql', -1762151859, 'root', '2023-05-05 15:39:07', 588, 1);
+
+```
+
+<br>
+
+**如果是直接使用V1.0.0版本,以上都不需要处理**
+
+## 新增/修复
+
+### 新增
+
+- 1、图层唯一标识(页面不显示)
+- 2、下拉框数据联动
+- 3、时间筛选器联动
+- 4、大屏设计器图表联动 --贡献人 程序员世林@cxysl
+- 5、大屏设计器支持缩放
+- 6、大屏设计器标尺更新
+- 7、图层支持锁定、解锁
+- 8、admin账号增加重置密码功能
+- 9、增加双Y柱图
+- 10、增加刻度尺
+
+### 修复
+
+- 1、柱状图渐变色提示语未生效
+- 2、柱线图图例固定先柱后折
+- 3、swagger界面(ip:port/swagger-ui.html)
+- 4、雷达图动态数据不显示
+- 5、权限管理查询不生效
+- 6、刻度尺组件预览数据无显示
+
+### 优化
+
+- 1、大屏动态数据刷新时间-默认由5秒调整为10分钟
+- 2、图例名称的调整
+- 3、数据集-js可以解析页面自定义数组
+- 4、柱/线图--XY配置项调整
+- 5、数据集测试预览后,点击保存时将只会保存一条
+
+### 其他
+
+- 1、文档更新
+- 2、移除Druid

+ 0 - 0
doc/docs/guide/reportmanager.md → doc/docs/guide/reportManager.md


+ 22 - 0
doc/docs/guide/reportShare.md

@@ -0,0 +1,22 @@
+## 简介
+
+报表分享功能是将需要分享的报表生成一个访问链接,不等同于浏览器的链接,而是类似云盘分享链接的形式。<br>
+
+## 功能位置
+
+- 1、从报表管理,选择要分享的大屏,如图示。<br>
+  ![img](../picture/reportShare/img.png) <br>
+
+- 2、大屏报表 <br>
+  ![img1](../picture/reportShare/img_1.png) <br>
+
+- 3、表格报表 <br>
+  同上
+
+## 功能
+
+![img2](../picture/reportShare/img_2.png) <br>
+
+## 分享总览
+
+![img3](../picture/reportShare/img_3.png) <br>

BIN
doc/docs/picture/bigScreenCase/img_1.png


BIN
doc/docs/picture/bigScreenCase/img_2.png


BIN
doc/docs/picture/bigScreenCase/img_3.png


BIN
doc/docs/picture/bigScreenCase/img_4.png


BIN
doc/docs/picture/charts/img_32.png


BIN
doc/docs/picture/charts/img_33.png


BIN
doc/docs/picture/charts/img_34.png


BIN
doc/docs/picture/charts/img_35.png


BIN
doc/docs/picture/charts/img_36.png


BIN
doc/docs/picture/charts/img_37.png


BIN
doc/docs/picture/charts/img_38.png


BIN
doc/docs/picture/charts/img_39.png


BIN
doc/docs/picture/charts/img_40.png


BIN
doc/docs/picture/charts/img_41.png


BIN
doc/docs/picture/chartsLinkage/img.png


BIN
doc/docs/picture/chartsLinkage/img_1.png


BIN
doc/docs/picture/chartsLinkage/img_10.png


BIN
doc/docs/picture/chartsLinkage/img_11.png


BIN
doc/docs/picture/chartsLinkage/img_2.png


BIN
doc/docs/picture/chartsLinkage/img_3.png


BIN
doc/docs/picture/chartsLinkage/img_4.png


BIN
doc/docs/picture/chartsLinkage/img_5.png


BIN
doc/docs/picture/chartsLinkage/img_6.png


BIN
doc/docs/picture/chartsLinkage/img_7.png


BIN
doc/docs/picture/chartsLinkage/img_8.png


BIN
doc/docs/picture/chartsLinkage/img_9.png


BIN
doc/docs/picture/dashboard/img_2.png


BIN
doc/docs/picture/datasource/img_6.png


BIN
doc/docs/picture/datasource/img_7.png


BIN
doc/docs/picture/datasource/img_8.png


BIN
doc/docs/picture/dateset/img_8.png


BIN
doc/docs/picture/quickly/img_1.png


BIN
doc/docs/picture/quickly/img_15.png


BIN
doc/docs/picture/reportShare/img.png


BIN
doc/docs/picture/reportShare/img_1.png


BIN
doc/docs/picture/reportShare/img_2.png


BIN
doc/docs/picture/reportShare/img_3.png


Разлика између датотеке није приказан због своје велике величине
+ 996 - 0
doc/example/aj_report_init.sql


+ 79 - 0
doc/example/delete_aj_report_init.sql

@@ -0,0 +1,79 @@
+SET FOREIGN_KEY_CHECKS = 0;
+
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_access`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_barstack`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_common1`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_common2`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_common3`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_comparestack`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_devices`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_exper`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_fireacl`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_fireattack`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_mail`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_manus`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_nums`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_table`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_wifiamount`;
+DROP TABLE IF EXISTS `aj_report_init`.`aj_report_init`;
+DROP DATABASE `aj_report_init`;
+
+DELETE FROM `aj_report`.`gaea_report` WHERE `report_code` = 'log_ajreport';
+DELETE FROM `aj_report`.`gaea_report` WHERE `report_code` = 'car_ajreport';
+DELETE FROM `aj_report`.`gaea_report` WHERE `report_code` = 'acc_ajreport';
+DELETE FROM `aj_report`.`gaea_report` WHERE `report_code` = 'blank';
+DELETE FROM `aj_report`.`gaea_report` WHERE `report_code` = 'logistics_one';
+
+DELETE FROM `aj_report`.`gaea_report_dashboard` WHERE `report_code` = 'log_ajreport';
+DELETE FROM `aj_report`.`gaea_report_dashboard` WHERE `report_code` = 'car_ajreport';
+DELETE FROM `aj_report`.`gaea_report_dashboard` WHERE `report_code` = 'acc_ajreport';
+DELETE FROM `aj_report`.`gaea_report_dashboard` WHERE `report_code` = 'blank';
+DELETE FROM `aj_report`.`gaea_report_dashboard` WHERE `report_code` = 'test';
+DELETE FROM `aj_report`.`gaea_report_dashboard` WHERE `report_code` = 'logn_ajreport';
+DELETE FROM `aj_report`.`gaea_report_dashboard` WHERE `report_code` = 'logistics_one';
+
+DELETE FROM `aj_report`.`gaea_report_dashboard_widget` WHERE `report_code` = 'test';
+DELETE FROM `aj_report`.`gaea_report_dashboard_widget` WHERE `report_code` = 'acc_ajreport';
+DELETE FROM `aj_report`.`gaea_report_dashboard_widget` WHERE `report_code` = 'car_ajreport';
+DELETE FROM `aj_report`.`gaea_report_dashboard_widget` WHERE `report_code` = 'blank';
+DELETE FROM `aj_report`.`gaea_report_dashboard_widget` WHERE `report_code` = 'logn_ajreport';
+DELETE FROM `aj_report`.`gaea_report_dashboard_widget` WHERE `report_code` = 'logistics_one';
+
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'log_ajdevices';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'log_ajfireacl';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'log_ajattack';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'log_ajmailfailtop5';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'log_ajmailfail';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'log_ajwifiamount';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'car_ajpro';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'car_ajsale';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'car_ajproTop5';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'car_ajsaleTop5';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'car_ajunsale';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'car_ajrework';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'car_ajreturn';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'acc_ajacc';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'acc_ajregister';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'acc_ajrt';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'acc_ajqps';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'acc_ajerror';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'amount_1';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'logis_1';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'logis_2';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'logis_3';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'logis_table';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'per';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'barstack_ajreport';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'compare_ajreport';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'aj_report_city_total';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'aj_report_single_city';
+DELETE FROM `aj_report`.`gaea_report_data_set` WHERE `set_code` = 'aj_report_city_select';
+
+DELETE FROM `aj_report`.`gaea_report_data_set_param` WHERE `set_code` = 'aj_report_city_total';
+DELETE FROM `aj_report`.`gaea_report_data_set_param` WHERE `set_code` = 'aj_report_single_city';
+DELETE FROM `aj_report`.`gaea_report_data_set_param` WHERE `set_code` = 'aj_report_city_select';
+
+DELETE FROM `aj_report`.`gaea_report_data_source` WHERE `source_code` = 'mysql_ajreport';
+
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 70 - 6
report-core/README.md

@@ -2,24 +2,62 @@
 
 
 ### 采用redis缓存
 ### 采用redis缓存
 
 
-#### 1.pom文件
-```java
+#### 1.pom.xml文件改动
+- 1、增加redis依赖,删除exclusions即可
+```xml
 <dependency>
 <dependency>
     <groupId>com.anji-plus</groupId>
     <groupId>com.anji-plus</groupId>
     <artifactId>spring-boot-gaea</artifactId>
     <artifactId>spring-boot-gaea</artifactId>
     <version>2.0.5.RELEASE</version>
     <version>2.0.5.RELEASE</version>
+    <!--删除下方内容-->
     <exclusions>
     <exclusions>
         <exclusion>
         <exclusion>
             <groupId>org.springframework.boot</groupId>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
         </exclusion>
         </exclusion>
     </exclusions>
     </exclusions>
+    <!--删除-->
 </dependency>
 </dependency>
 ```
 ```
-删除exclusions内容,因为底层默认支持redis
-删除ehcache相关依赖
 
 
-#### 2.删除 package com.anjiplus.template.gaea.business.cache
+- 2、 删除ehcache相关依赖
+```xml
+        <dependency>
+            <groupId>net.sf.ehcache</groupId>
+            <artifactId>ehcache</artifactId>
+            <version>2.10.6</version>
+        </dependency>
+```
+
+
+#### 2.删除代码
+- 1、删除cache文件夹 
+目录地址:com.anjiplus.template.gaea.business.cache
+
+- 2、删除相关bean
+文件地址:com.anjiplus.template.gaea.business.config.BusinessAutoConfiguration.java
+```java
+    @Bean
+    public CacheHelper gaeaCacheHelper(){
+        return new ReportCacheHelper();
+    }
+
+    @Bean
+    public EhCacheCache ehCacheCache() {
+        return (EhCacheCache) ehCacheCacheManager().getCache("reportCache");
+    }
+
+    /**
+     * 创建ehCacheCacheManager
+     */
+    @Bean
+    public EhCacheCacheManager ehCacheCacheManager() {
+
+        return new EhCacheCacheManager();
+    }
+```
+
+底层的实现方式如下:
 CacheHelper底层默认实现为RedisCacheHelper。
 CacheHelper底层默认实现为RedisCacheHelper。
 @ConditionalOnMissingBean 注解起到的作用
 @ConditionalOnMissingBean 注解起到的作用
 ```java
 ```java
@@ -37,5 +75,31 @@ public class GaeaAutoConfiguration {
 }
 }
 ```
 ```
 
 
-#### 3.bootstrap.yml加上对应的redis配置即可
+#### 3.bootstrap.yml加上对应的redis配置
+注意yml格式
+```yaml
+spring:
+  redis:
+    host: 10.108.x.x
+    port: 6379
+    password: ****
+    database: 1
+    timeout: 10000
+    pool:
+      max-active: 8
+      max-idle: 8
+      max-wait: -1
+      min-idle: 0
 
 
+```
+哨兵模式
+```yaml
+spring:
+  redis:
+    sentinel:
+      master: master01
+      nodes: 10.108.xx.xx:26379,10.108.xx.xx:26379,10.108.xx.xx:26379
+    database: 1
+    password: *******
+    timeout: 10000
+```

+ 1 - 6
report-core/pom.xml

@@ -14,7 +14,7 @@
 
 
     <groupId>com.anji-plus</groupId>
     <groupId>com.anji-plus</groupId>
     <artifactId>aj-report</artifactId>
     <artifactId>aj-report</artifactId>
-    <version>2.0.2.RELEASE</version>
+    <version>1.0.0.RELEASE</version>
 
 
     <properties>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -108,11 +108,6 @@
             <artifactId>mysql-connector-java</artifactId>
             <artifactId>mysql-connector-java</artifactId>
             <version>8.0.28</version>
             <version>8.0.28</version>
         </dependency>
         </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>1.2.0</version>
-        </dependency>
         <dependency>
         <dependency>
             <groupId>org.flywaydb</groupId>
             <groupId>org.flywaydb</groupId>
             <artifactId>flyway-core</artifactId>
             <artifactId>flyway-core</artifactId>

+ 2 - 2
report-core/src/main/assembly/bin/start.sh

@@ -20,7 +20,7 @@ if [ -n "$PIDS" ]; then
     exit 1
     exit 1
 fi
 fi
 
 
-JAVA_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k "
+JAVA_OPTS=" -server -Xms1g -Xmx2g -Xmn256m -XX:PermSize=128m -Xss256k "
 nohup java $JAVA_OPTS -Xbootclasspath/a:$LIB_JARS -jar -Dspring.config.location=$CONF_DIR/bootstrap.yml $LIB_DIR/aj-report-*.jar >/dev/null 2>&1 &
 nohup java $JAVA_OPTS -Xbootclasspath/a:$LIB_JARS -jar -Dspring.config.location=$CONF_DIR/bootstrap.yml $LIB_DIR/aj-report-*.jar >/dev/null 2>&1 &
 
 
-echo "AJ-Report 正在后台执行,请查看aj-report.log日志(tail -F ../logs/aj-report.log),确定软件运行情况"
+echo "AJ-Report 正在后台执行,请查看aj-report.log日志(${DEPLOY_DIR}/logs/aj-report.log),确定软件运行情况"

+ 2 - 1
report-core/src/main/java/com/anjiplus/template/gaea/business/ReportApplication.java

@@ -4,7 +4,7 @@ import com.anji.plus.gaea.annotation.enabled.EnabledGaeaConfiguration;
 import org.mybatis.spring.annotation.MapperScan;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.ComponentScans;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 
 /**
 /**
  * 业务模板
  * 业务模板
@@ -21,6 +21,7 @@ import org.springframework.context.annotation.ComponentScans;
         "com.anjiplus.template.gaea.business.modules.*.**.dao",
         "com.anjiplus.template.gaea.business.modules.*.**.dao",
         "com.anji.plus.gaea.*.module.*.dao"
         "com.anji.plus.gaea.*.module.*.dao"
 })
 })
+@EnableSwagger2
 public class ReportApplication {
 public class ReportApplication {
     public static void main( String[] args ) {
     public static void main( String[] args ) {
         SpringApplication.run(ReportApplication.class);
         SpringApplication.run(ReportApplication.class);

+ 0 - 99
report-core/src/main/java/com/anjiplus/template/gaea/business/config/DruidProperties.java

@@ -1,99 +0,0 @@
-package com.anjiplus.template.gaea.business.config;
-
-import com.alibaba.druid.pool.DruidDataSource;
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by raodeming on 2021/8/6.
- */
-@Component
-@ConfigurationProperties(prefix = "spring.druid")
-@Data
-public class DruidProperties {
-    /**
-     * 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
-     */
-    private int initialSize;
-
-    /**
-     * 最小连接池数量
-     */
-    private int minIdle;
-
-    /**
-     * 最大连接池数量
-     */
-    private int maxActive;
-
-    /**
-     * 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置
-     */
-    private int maxWait;
-
-    /**
-     * 关闭空闲连接的检测时间间隔.Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。
-     */
-    private int timeBetweenEvictionRunsMillis;
-
-    /**
-     * 连接的最小生存时间.连接保持空闲而不被驱逐的最小时间
-     */
-    private int minEvictableIdleTimeMillis;
-
-    /**
-     * 申请连接时检测空闲时间,根据空闲时间再检测连接是否有效.建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRun
-     */
-    private boolean testWhileIdle;
-
-    /**
-     * 开启PSCache
-     */
-    private boolean poolPreparedStatements;
-
-    /**
-     * 设置PSCache值
-     */
-    private int maxPoolPreparedStatementPerConnectionSize;
-
-    /**
-     * 连接出错后再尝试连接三次
-     */
-    private int connectionErrorRetryAttempts;
-
-    /**
-     * 数据库服务宕机自动重连机制
-     */
-    private boolean breakAfterAcquireFailure;
-
-    /**
-     * 连接出错后重试时间间隔
-     */
-    private int timeBetweenConnectErrorMillis;
-
-    public DruidDataSource dataSource(String url, String username, String password, String driverClassName) {
-        DruidDataSource datasource = new DruidDataSource();
-        datasource.setUrl(url);
-        datasource.setUsername(username);
-        datasource.setPassword(password);
-        datasource.setDriverClassName(driverClassName);
-        //configuration
-        datasource.setInitialSize(initialSize);
-        datasource.setMinIdle(minIdle);
-        datasource.setMaxActive(maxActive);
-        datasource.setMaxWait(maxWait);
-
-        datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
-        datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
-        datasource.setTestWhileIdle(testWhileIdle);
-
-        datasource.setPoolPreparedStatements(poolPreparedStatements);
-        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
-
-        datasource.setConnectionErrorRetryAttempts(connectionErrorRetryAttempts);
-        datasource.setBreakAfterAcquireFailure(breakAfterAcquireFailure);
-        datasource.setTimeBetweenConnectErrorMillis(timeBetweenConnectErrorMillis);
-        return datasource;
-    }
-}

+ 34 - 0
report-core/src/main/java/com/anjiplus/template/gaea/business/config/HikariPoolProperties.java

@@ -0,0 +1,34 @@
+package com.anjiplus.template.gaea.business.config;
+
+import com.zaxxer.hikari.HikariConfig;
+import com.zaxxer.hikari.pool.HikariPool;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by raodeming on 2021/8/6.
+ */
+@Component
+@ConfigurationProperties(prefix = "spring.datasource.hikari")
+@Data
+public class HikariPoolProperties extends HikariConfig {
+
+
+    public HikariPool dataSource(String url, String username, String password, String driverClassName) {
+        HikariConfig hikariConfig = new HikariConfig();
+        hikariConfig.setJdbcUrl(url);
+        hikariConfig.setUsername(username);
+        hikariConfig.setPassword(password);
+        hikariConfig.setDriverClassName(driverClassName);
+
+        hikariConfig.setConnectionTimeout(getConnectionTimeout());
+        hikariConfig.setValidationTimeout(getValidationTimeout());
+        hikariConfig.setIdleTimeout(getIdleTimeout());
+        hikariConfig.setMaxLifetime(getMaxLifetime());
+        hikariConfig.setMaximumPoolSize(getMaximumPoolSize());
+        hikariConfig.setMinimumIdle(getMinimumIdle());
+        HikariPool hikariPool = new HikariPool(hikariConfig);
+        return hikariPool;
+    }
+}

+ 1 - 1
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/AccessUserController.java

@@ -85,7 +85,7 @@ public class AccessUserController extends GaeaBaseController<AccessUserParam, Ac
      */
      */
     @Permission( code = "resetPassword", name = "重置密码")
     @Permission( code = "resetPassword", name = "重置密码")
     @PostMapping({"/resetPassword"})
     @PostMapping({"/resetPassword"})
-    public ResponseBean resetPassword(@RequestBody @Validated GaeaUserDto dto) {
+    public ResponseBean resetPassword(@RequestBody GaeaUserDto dto) {
         Boolean data = accessUserService.resetPassword(dto);
         Boolean data = accessUserService.resetPassword(dto);
         return responseSuccessWithData(data);
         return responseSuccessWithData(data);
     }
     }

+ 15 - 1
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java

@@ -134,7 +134,21 @@ public class AccessUserServiceImpl implements AccessUserService {
 
 
     @Override
     @Override
     public Boolean resetPassword(GaeaUserDto gaeaUserDto) {
     public Boolean resetPassword(GaeaUserDto gaeaUserDto) {
-        return false;
+        String loginName = gaeaUserDto.getLoginName();
+        if (GaeaConstant.SUPER_USER_NAME.equalsIgnoreCase(loginName)) {
+            throw BusinessExceptionBuilder.build("admin不允许重置密码");
+        }
+        // 1.判断用户是否存在
+        LambdaQueryWrapper<AccessUser> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(AccessUser::getLoginName, loginName);
+        AccessUser accessUser = accessUserMapper.selectOne(wrapper);
+        if (accessUser == null) {
+            throw BusinessExceptionBuilder.build("用户不存在");
+        }
+        //默认密码
+        accessUser.setPassword(MD5Util.encrypt(MD5Util.encrypt(defaultPassword.concat("gaea"))));
+        accessUserMapper.updateById(accessUser);
+        return true;
     }
     }
 
 
     @Override
     @Override

+ 32 - 4
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java

@@ -33,11 +33,9 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -154,6 +152,19 @@ public class DataSetServiceImpl implements DataSetService {
         //1.新增数据集
         //1.新增数据集
         DataSet dataSet = new DataSet();
         DataSet dataSet = new DataSet();
         BeanUtils.copyProperties(dto, dataSet);
         BeanUtils.copyProperties(dto, dataSet);
+        if (StringUtils.isNotBlank(dataSet.getCaseResult())) {
+            try {
+                JSONArray objects = JSONObject.parseArray(dataSet.getCaseResult());
+                if (objects.size() > 1) {
+                    Object o = objects.get(0);
+                    objects = new JSONArray();
+                    objects.add(o);
+                    dataSet.setCaseResult(objects.toJSONString());
+                }
+            } catch (Exception e) {
+                log.info("结果集只保留一行数据失败...{}", e.getMessage());
+            }
+        }
         insert(dataSet);
         insert(dataSet);
         //2.更新查询参数
         //2.更新查询参数
         dataSetParamBatch(dataSetParamDtoList, dto.getSetCode());
         dataSetParamBatch(dataSetParamDtoList, dto.getSetCode());
@@ -176,6 +187,19 @@ public class DataSetServiceImpl implements DataSetService {
         //1.更新数据集
         //1.更新数据集
         DataSet dataSet = new DataSet();
         DataSet dataSet = new DataSet();
         BeanUtils.copyProperties(dto, dataSet);
         BeanUtils.copyProperties(dto, dataSet);
+        if (StringUtils.isNotBlank(dataSet.getCaseResult())) {
+            try {
+                JSONArray objects = JSONObject.parseArray(dataSet.getCaseResult());
+                if (objects.size() > 1) {
+                    Object o = objects.get(0);
+                    objects = new JSONArray();
+                    objects.add(o);
+                    dataSet.setCaseResult(objects.toJSONString());
+                }
+            } catch (Exception e) {
+                log.info("结果集只保留一行数据失败...{}", e.getMessage());
+            }
+        }
         update(dataSet);
         update(dataSet);
 
 
         //2.更新查询参数
         //2.更新查询参数
@@ -192,6 +216,7 @@ public class DataSetServiceImpl implements DataSetService {
      * @param id
      * @param id
      */
      */
     @Override
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void deleteSet(Long id) {
     public void deleteSet(Long id) {
         DataSet dataSet = selectOne(id);
         DataSet dataSet = selectOne(id);
         String setCode = dataSet.getSetCode();
         String setCode = dataSet.getSetCode();
@@ -224,6 +249,9 @@ public class DataSetServiceImpl implements DataSetService {
 
 
         OriginalDataDto originalDataDto = new OriginalDataDto();
         OriginalDataDto originalDataDto = new OriginalDataDto();
         String setCode = dto.getSetCode();
         String setCode = dto.getSetCode();
+        if (StringUtils.isBlank(setCode)) {
+            return new OriginalDataDto(new ArrayList<>());
+        }
         //1.获取数据集、参数替换、数据转换
         //1.获取数据集、参数替换、数据转换
         DataSetDto dataSetDto = detailSet(setCode);
         DataSetDto dataSetDto = detailSet(setCode);
         String dynSentence = dataSetDto.getDynSentence();
         String dynSentence = dataSetDto.getDynSentence();

+ 16 - 2
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java

@@ -5,13 +5,14 @@ import com.anji.plus.gaea.exception.BusinessExceptionBuilder;
 import com.anjiplus.template.gaea.business.code.ResponseCode;
 import com.anjiplus.template.gaea.business.code.ResponseCode;
 import com.anjiplus.template.gaea.business.modules.datasettransform.controller.dto.DataSetTransformDto;
 import com.anjiplus.template.gaea.business.modules.datasettransform.controller.dto.DataSetTransformDto;
 import com.anjiplus.template.gaea.business.modules.datasettransform.service.TransformStrategy;
 import com.anjiplus.template.gaea.business.modules.datasettransform.service.TransformStrategy;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import jdk.nashorn.api.scripting.ScriptObjectMirror;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import javax.script.Invocable;
 import javax.script.Invocable;
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineManager;
 import javax.script.ScriptEngineManager;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -54,7 +55,20 @@ public class JsTransformServiceImpl implements TransformStrategy {
             engine.eval(js);
             engine.eval(js);
             if(engine instanceof Invocable){
             if(engine instanceof Invocable){
                 Invocable invocable = (Invocable) engine;
                 Invocable invocable = (Invocable) engine;
-                return (List<JSONObject>) invocable.invokeFunction("dataTransform", data);
+                Object dataTransform = invocable.invokeFunction("dataTransform", data);
+                if (dataTransform instanceof List) {
+                    return (List<JSONObject>) dataTransform;
+                }
+                //前端js自定义的数组[{"aa":"bb"}]解析后变成{"0":{"aa":"bb"}}
+                ScriptObjectMirror scriptObjectMirror = (ScriptObjectMirror) dataTransform;
+                List<JSONObject> result = new ArrayList<>();
+                scriptObjectMirror.forEach((key, value) -> {
+                    ScriptObjectMirror valueObject = (ScriptObjectMirror) value;
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.putAll(valueObject);
+                    result.add(jsonObject);
+                });
+                return result;
             }
             }
 
 
         } catch (Exception ex) {
         } catch (Exception ex) {

+ 9 - 9
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/JdbcServiceImpl.java

@@ -1,9 +1,9 @@
 package com.anjiplus.template.gaea.business.modules.datasource.service.impl;
 package com.anjiplus.template.gaea.business.modules.datasource.service.impl;
 
 
-import com.alibaba.druid.pool.DruidDataSource;
-import com.anjiplus.template.gaea.business.config.DruidProperties;
+import com.anjiplus.template.gaea.business.config.HikariPoolProperties;
 import com.anjiplus.template.gaea.business.modules.datasource.controller.dto.DataSourceDto;
 import com.anjiplus.template.gaea.business.modules.datasource.controller.dto.DataSourceDto;
 import com.anjiplus.template.gaea.business.modules.datasource.service.JdbcService;
 import com.anjiplus.template.gaea.business.modules.datasource.service.JdbcService;
+import com.zaxxer.hikari.pool.HikariPool;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -21,22 +21,22 @@ import java.util.concurrent.ConcurrentHashMap;
 public class JdbcServiceImpl implements JdbcService {
 public class JdbcServiceImpl implements JdbcService {
 
 
     @Autowired
     @Autowired
-    private DruidProperties druidProperties;
+    private HikariPoolProperties hikariPoolProperties;
 
 
     /**
     /**
      * 所有数据源的连接池存在map里
      * 所有数据源的连接池存在map里
      */
      */
-    private Map<Long, DruidDataSource> map = new ConcurrentHashMap<>();
+    private Map<Long, HikariPool> map = new ConcurrentHashMap<>();
     private Object lock = new Object();
     private Object lock = new Object();
 
 
-    public DruidDataSource getJdbcConnectionPool(DataSourceDto dataSource) {
+    public HikariPool getJdbcConnectionPool(DataSourceDto dataSource) {
         if (map.containsKey(dataSource.getId())) {
         if (map.containsKey(dataSource.getId())) {
             return map.get(dataSource.getId());
             return map.get(dataSource.getId());
         } else {
         } else {
             try {
             try {
                 synchronized (lock) {
                 synchronized (lock) {
                     if (!map.containsKey(dataSource.getId())) {
                     if (!map.containsKey(dataSource.getId())) {
-                        DruidDataSource pool = druidProperties.dataSource(dataSource.getJdbcUrl(),
+                        HikariPool pool = hikariPoolProperties.dataSource(dataSource.getJdbcUrl(),
                                 dataSource.getUsername(), dataSource.getPassword(), dataSource.getDriverName());
                                 dataSource.getUsername(), dataSource.getPassword(), dataSource.getDriverName());
                         map.put(dataSource.getId(), pool);
                         map.put(dataSource.getId(), pool);
                         log.info("创建连接池成功:{}", dataSource.getJdbcUrl());
                         log.info("创建连接池成功:{}", dataSource.getJdbcUrl());
@@ -57,7 +57,7 @@ public class JdbcServiceImpl implements JdbcService {
     @Override
     @Override
     public void removeJdbcConnectionPool(Long id) {
     public void removeJdbcConnectionPool(Long id) {
         try {
         try {
-            DruidDataSource pool = map.get(id);
+            HikariPool pool = map.get(id);
             if (pool != null) {
             if (pool != null) {
                 log.info("remove pool success, datasourceId:{}", id);
                 log.info("remove pool success, datasourceId:{}", id);
                 map.remove(id);
                 map.remove(id);
@@ -77,7 +77,7 @@ public class JdbcServiceImpl implements JdbcService {
      */
      */
     @Override
     @Override
     public Connection getPooledConnection(DataSourceDto dataSource) throws SQLException{
     public Connection getPooledConnection(DataSourceDto dataSource) throws SQLException{
-        DruidDataSource pool = getJdbcConnectionPool(dataSource);
+        HikariPool pool = getJdbcConnectionPool(dataSource);
         return pool.getConnection();
         return pool.getConnection();
     }
     }
 
 
@@ -91,7 +91,7 @@ public class JdbcServiceImpl implements JdbcService {
      */
      */
     @Override
     @Override
     public Connection getUnPooledConnection(DataSourceDto dataSource) throws SQLException {
     public Connection getUnPooledConnection(DataSourceDto dataSource) throws SQLException {
-        DruidDataSource druidDataSource = druidProperties.dataSource(dataSource.getJdbcUrl(),
+        HikariPool druidDataSource = hikariPoolProperties.dataSource(dataSource.getJdbcUrl(),
                 dataSource.getUsername(), dataSource.getPassword(), dataSource.getDriverName());
                 dataSource.getUsername(), dataSource.getPassword(), dataSource.getDriverName());
         return druidDataSource.getConnection();
         return druidDataSource.getConnection();
     }
     }

+ 10 - 17
report-core/src/main/resources/bootstrap.yml

@@ -22,6 +22,14 @@ spring:
     url: jdbc:mysql://10.108.26.197:3306/aj_report?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
     url: jdbc:mysql://10.108.26.197:3306/aj_report?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
     username: root
     username: root
     password: appuser@anji
     password: appuser@anji
+    type: com.zaxxer.hikari.HikariDataSource
+    hikari:
+      connection-timeout: 300000  # 连接超时时间 - 默认值:30秒。
+      validation-timeout: 5000  # 连接被测试活动的最长时间 - 默认值:5秒。
+      idle-timeout: 60000  # 连接池中允许闲置的最长时间 - 默认值:10分钟
+      max-lifetime: 1800000  # 一个连接生命时长(毫秒),超时而没被使用则被释放 - 默认值:30分钟
+      maximum-pool-size: 10  #连接池中允许的最大连接数,包括闲置和使用中的连接 - 默认值:10
+      minimum-idle: 5  # 连接池中允许的最小空闲连接数 - 默认值:10。
 
 
   #如果要使用redis,请参考report-core目录下的README.md文件中写的进行调整
   #如果要使用redis,请参考report-core目录下的README.md文件中写的进行调整
 #  redis:
 #  redis:
@@ -29,21 +37,6 @@ spring:
 #    port: 6379
 #    port: 6379
 #    password: root
 #    password: root
 #    database: 1
 #    database: 1
-
-  #数据源连接池配置
-  druid:
-    initial-size: 10 # 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
-    min-idle: 10 # 最小连接池数量
-    maxActive: 200 # 最大连接池数量
-    maxWait: 3000 # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置
-    timeBetweenEvictionRunsMillis: 60000 # 关闭空闲连接的检测时间间隔.Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。
-    minEvictableIdleTimeMillis: 300000 # 连接的最小生存时间.连接保持空闲而不被驱逐的最小时间
-    testWhileIdle: true # 申请连接时检测空闲时间,根据空闲时间再检测连接是否有效.建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRun
-    poolPreparedStatements: true # 开启PSCache
-    maxPoolPreparedStatementPerConnectionSize: 20 #设置PSCache值
-    connectionErrorRetryAttempts: 3 # 连接出错后再尝试连接三次
-    breakAfterAcquireFailure: true # 数据库服务宕机自动重连机制
-    timeBetweenConnectErrorMillis: 300000 # 连接出错后重试时间间隔
   flyway:
   flyway:
     enabled: true    #是否开启flyway,默认true.
     enabled: true    #是否开启flyway,默认true.
     baseline-on-migrate: true
     baseline-on-migrate: true
@@ -60,7 +53,7 @@ spring:
         enabled: true
         enabled: true
         ##允许上传的文件后缀
         ##允许上传的文件后缀
         file-type-while-list: .png|.jpg|.gif|.icon|.pdf|.xlsx|.xls|.csv|.mp4|.avi|.jpeg|.aaa
         file-type-while-list: .png|.jpg|.gif|.icon|.pdf|.xlsx|.xls|.csv|.mp4|.avi|.jpeg|.aaa
-        # 用于文件上传成功后,生成文件的下载公网完整URL
+        # 用于文件上传成功后,生成文件的下载公网完整URL,http://serverip:9095/file/download,注意填写IP必须填写后端服务所在的机器IP
         downloadPath: http://10.108.26.197:9095/file/download
         downloadPath: http://10.108.26.197:9095/file/download
         nfs:
         nfs:
           #上传对应本地全路径,目录必须是真实存在的,注意 Win是 \ 且有盘符,linux是 / 无盘符
           #上传对应本地全路径,目录必须是真实存在的,注意 Win是 \ 且有盘符,linux是 / 无盘符
@@ -98,7 +91,7 @@ logging:
 # 本应用自定义参数
 # 本应用自定义参数
 customer:
 customer:
   # 跳过token验证和权限验证的url清单
   # 跳过token验证和权限验证的url清单
-  skip-authenticate-urls: /gaeaDict/all, /login, /static, /file/download/, /index.html, /favicon.ico, /reportShare/detailByCode
+  skip-authenticate-urls: /gaeaDict/all, /login, /static, /file/download/, /index.html, /favicon.ico, /reportShare/detailByCode, /v2/api-docs
   file:
   file:
     #导入导出临时文件夹 默认.代表当前目录,拼接/tmp_zip/目录
     #导入导出临时文件夹 默认.代表当前目录,拼接/tmp_zip/目录
     tmpPath: .
     tmpPath: .

+ 729 - 0
report-core/src/main/resources/db/migration/V1.0.0__init.sql

@@ -0,0 +1,729 @@
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+CREATE DATABASE IF NOT EXISTS aj_report DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+
+use aj_report;
+-- ----------------------------
+-- Table structure for access_authority
+-- ----------------------------
+DROP TABLE IF EXISTS `access_authority`;
+CREATE TABLE `access_authority`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `parent_target` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '父ID',
+  `target` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '菜单代码',
+  `target_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '菜单名称',
+  `action` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '按钮代码',
+  `action_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '按钮名称',
+  `sort` int(8) NULL DEFAULT NULL,
+  `enable_flag` int(1) NOT NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT ' 0--未删除 1--已删除 DIC_NAME=DEL_FLAG',
+  `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '创建人',
+  `create_time` datetime NOT NULL COMMENT '创建时间',
+  `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '修改人',
+  `update_time` datetime NOT NULL COMMENT '修改时间',
+  `version` tinyint(8) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `TA_uniq_index`(`target`, `action`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 330 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '运营权限表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of access_authority
+-- ----------------------------
+INSERT INTO `access_authority` VALUES (1, NULL, 'access', '用户权限', '', '', 1, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (2, NULL, 'report', '报表设计', '', '', 2, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (3, NULL, 'system', '系统设置', '', '', 3, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (101, 'access', 'authorityManage', '权限管理', 'insert', '新增权限', 101, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (102, 'access', 'authorityManage', '权限管理', 'update', '修改权限', 102, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (103, 'access', 'authorityManage', '权限管理', 'delete', '删除权限', 103, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (104, 'access', 'authorityManage', '权限管理', 'query', '查询权限', 104, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (105, 'access', 'roleManage', '角色管理', 'insert', '新建角色', 105, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2021-07-17 20:41:46', 2);
+INSERT INTO `access_authority` VALUES (106, 'access', 'roleManage', '角色管理', 'update', '修改角色', 106, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (107, 'access', 'roleManage', '角色管理', 'delete', '删除角色', 107, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (108, 'access', 'roleManage', '角色管理', 'query', '查询角色', 108, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (109, 'access', 'roleManage', '角色管理', 'grantAuthority', '分配权限', 109, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (110, 'access', 'userManage', '用户管理', 'insert', '新增用户', 110, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (111, 'access', 'userManage', '用户管理', 'update', '修改用户', 111, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (112, 'access', 'userManage', '用户管理', 'delete', '删除用户', 112, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (113, 'access', 'userManage', '用户管理', 'query', '查询用户', 113, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (114, 'access', 'userManage', '用户管理', 'resetPassword', '重置密码', 114, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (115, 'access', 'userManage', '用户管理', 'grantRole', '分配角色', 115, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (200, 'report', 'datasourceManage', '数据源管理', 'insert', '新建数据源', 200, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (201, 'report', 'datasourceManage', '数据源管理', 'update', '修改数据源', 201, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (202, 'report', 'datasourceManage', '数据源管理', 'delete', '删除数据源', 202, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (203, 'report', 'datasourceManage', '数据源管理', 'query', '查询数据源', 203, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (204, 'report', 'resultsetManage', '数据集管理', 'insert', '新建数据集', 204, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (205, 'report', 'resultsetManage', '数据集管理', 'update', '修改数据集', 205, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (206, 'report', 'resultsetManage', '数据集管理', 'delete', '删除数据集', 206, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (207, 'report', 'resultsetManage', '数据集管理', 'query', '查询数据集', 207, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (221, 'report', 'reportManage', '报表管理', 'insert', '新建报表', 221, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (222, 'report', 'reportManage', '报表管理', 'update', '修改报表', 222, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (223, 'report', 'reportManage', '报表管理', 'delete', '删除报表', 223, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (224, 'report', 'reportManage', '报表管理', 'query', '查询报表', 224, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (231, 'report', 'bigScreenManage', '大屏报表', 'share', '分享报表', 231, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (232, 'report', 'bigScreenManage', '大屏报表', 'view', '查看大屏', 232, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (233, 'report', 'bigScreenManage', '大屏报表', 'design', '设计大屏', 233, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (234, 'report', 'bigScreenManage', '大屏报表', 'export', '导出大屏', 234, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (235, 'report', 'bigScreenManage', '大屏报表', 'import', '导入大屏', 235, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (236, 'report', 'excelManage', '表格报表', 'query', '查询报表', 236, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (237, 'report', 'excelManage', '表格报表', 'insert', '新建表格', 237, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (238, 'report', 'excelManage', '表格报表', 'update', '更新表格', 238, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (239, 'report', 'excelManage', '表格报表', 'view', '查看表格', 239, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (240, 'report', 'excelManage', '表格报表', 'export', '导出表格', 240, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (300, 'system', 'fileManage', '文件管理', 'query', '查询文件', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (301, 'system', 'fileManage', '文件管理', 'upload', '上传文件', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (302, 'system', 'fileManage', '文件管理', 'update', '更新文件', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (303, 'system', 'fileManage', '文件管理', 'delete', '删除文件', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (304, 'system', 'dictManage', '数据字典', 'query', '数据字典查询', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (305, 'system', 'dictManage', '数据字典', 'insert', '数据字典新增', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (306, 'system', 'dictManage', '数据字典', 'update', '更新数据字典', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (307, 'system', 'dictManage', '数据字典', 'delete', '删除数据字典', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (308, 'system', 'dictManage', '数据字典', 'fresh', '刷新数据字典', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (309, 'system', 'dictItemManage', '数据字典项', 'query', '查询数据字典项', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (310, 'system', 'dictItemManage', '数据字典项', 'insert', '新增数据字典项', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (311, 'system', 'dictItemManage', '数据字典项', 'update', '更新数据字典项', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (312, 'system', 'dictItemManage', '数据字典项', 'delete', '删除数据字典项', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (313, 'access', 'authorityManage', '权限管理', 'detail', '权限明细', 101, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (314, 'access', 'roleManage', '角色管理', 'detail', '角色明细', 105, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2021-07-17 20:41:46', 2);
+INSERT INTO `access_authority` VALUES (315, 'access', 'userManage', '用户管理', 'detail', '用户明细', 110, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (316, 'report', 'datasourceManage', '数据源管理', 'detail', '数据源明细', 200, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (317, 'report', 'resultsetManage', '数据集管理', 'detail', '数据集明细', 204, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (318, 'report', 'reportManage', '报表管理', 'detail', '报表明细', 221, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (319, 'report', 'bigScreenManage', '大屏报表', 'detail', '大屏明细', 231, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (320, 'report', 'excelManage', '表格报表', 'detail', 'excel明细', 234, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (321, 'system', 'fileManage', '文件管理', 'detail', '文件明细', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (322, 'system', 'dictManage', '数据字典', 'detail', '数据字典明细', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (323, 'system', 'dictItemManage', '数据字典项', 'detail', '数据字典项明细', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (324, 'report', 'bigScreenManage', '大屏报表', 'copy', '复制大屏', 236, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (325, 'report', 'reportShareManage', '报表分享', 'query', '查询报表分享', 231, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (326, 'report', 'reportShareManage', '报表分享', 'detail', '查询明细', 232, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (327, 'report', 'reportShareManage', '报表分享', 'shareDelay', '分享延期', 233, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (328, 'report', 'reportShareManage', '报表分享', 'delete', '删除分享', 234, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
+INSERT INTO `access_authority` VALUES (329, 'report', 'excelManage', '表格报表', 'share', '分享报表', 231, 1, 0, 'admin', '2023-01-10 07:31:06', 'admin', '2023-01-10 07:31:06', 1);
+
+-- ----------------------------
+-- Table structure for access_role
+-- ----------------------------
+DROP TABLE IF EXISTS `access_role`;
+CREATE TABLE `access_role`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `role_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '角色编码',
+  `role_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '角色名称',
+  `enable_flag` int(1) NOT NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT ' 0--未删除 1--已删除 DIC_NAME=DEL_FLAG',
+  `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '创建人',
+  `create_time` datetime NOT NULL COMMENT '创建时间',
+  `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` tinyint(4) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '运营角色表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of access_role
+-- ----------------------------
+INSERT INTO `access_role` VALUES (1, 'root', '超级管理员', 1, 0, 'root', '2019-07-23 16:00:33', 'root', '2019-07-23 16:00:33', 1);
+INSERT INTO `access_role` VALUES (2, 'designer', '设计员', 1, 0, 'root', '2019-07-23 16:00:33', 'root', '2019-07-23 16:00:33', 1);
+INSERT INTO `access_role` VALUES (3, 'viewer', '查看员', 1, 0, 'root', '2019-07-23 16:00:33', 'root', '2019-07-23 16:00:33', 1);
+
+-- ----------------------------
+-- Table structure for access_role_authority
+-- ----------------------------
+DROP TABLE IF EXISTS `access_role_authority`;
+CREATE TABLE `access_role_authority`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `role_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '角色名称',
+  `target` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '权限目标',
+  `action` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 622 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '运营角色权限表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of access_role_authority
+-- ----------------------------
+INSERT INTO `access_role_authority` VALUES (460, 'viewer', 'datasourceManage', 'query');
+INSERT INTO `access_role_authority` VALUES (461, 'viewer', 'resultsetManage', 'query');
+INSERT INTO `access_role_authority` VALUES (462, 'viewer', 'reportManage', 'query');
+INSERT INTO `access_role_authority` VALUES (463, 'viewer', 'bigScreenManage', 'share');
+INSERT INTO `access_role_authority` VALUES (464, 'viewer', 'bigScreenManage', 'view');
+INSERT INTO `access_role_authority` VALUES (465, 'designer', 'datasourceManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (466, 'designer', 'datasourceManage', 'update');
+INSERT INTO `access_role_authority` VALUES (467, 'designer', 'datasourceManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (468, 'designer', 'datasourceManage', 'query');
+INSERT INTO `access_role_authority` VALUES (469, 'designer', 'resultsetManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (470, 'designer', 'resultsetManage', 'update');
+INSERT INTO `access_role_authority` VALUES (471, 'designer', 'resultsetManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (472, 'designer', 'resultsetManage', 'query');
+INSERT INTO `access_role_authority` VALUES (473, 'designer', 'reportManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (474, 'designer', 'reportManage', 'update');
+INSERT INTO `access_role_authority` VALUES (475, 'designer', 'reportManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (476, 'designer', 'reportManage', 'query');
+INSERT INTO `access_role_authority` VALUES (477, 'designer', 'bigScreenManage', 'share');
+INSERT INTO `access_role_authority` VALUES (478, 'designer', 'bigScreenManage', 'view');
+INSERT INTO `access_role_authority` VALUES (479, 'designer', 'bigScreenManage', 'design');
+INSERT INTO `access_role_authority` VALUES (555, 'root', 'authorityManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (556, 'root', 'authorityManage', 'update');
+INSERT INTO `access_role_authority` VALUES (557, 'root', 'authorityManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (558, 'root', 'authorityManage', 'query');
+INSERT INTO `access_role_authority` VALUES (559, 'root', 'roleManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (560, 'root', 'roleManage', 'update');
+INSERT INTO `access_role_authority` VALUES (561, 'root', 'roleManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (562, 'root', 'roleManage', 'query');
+INSERT INTO `access_role_authority` VALUES (563, 'root', 'roleManage', 'grantAuthority');
+INSERT INTO `access_role_authority` VALUES (564, 'root', 'userManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (565, 'root', 'userManage', 'update');
+INSERT INTO `access_role_authority` VALUES (566, 'root', 'userManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (567, 'root', 'userManage', 'query');
+INSERT INTO `access_role_authority` VALUES (568, 'root', 'userManage', 'resetPassword');
+INSERT INTO `access_role_authority` VALUES (569, 'root', 'userManage', 'grantRole');
+INSERT INTO `access_role_authority` VALUES (570, 'root', 'datasourceManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (571, 'root', 'datasourceManage', 'update');
+INSERT INTO `access_role_authority` VALUES (572, 'root', 'datasourceManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (573, 'root', 'datasourceManage', 'query');
+INSERT INTO `access_role_authority` VALUES (574, 'root', 'resultsetManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (575, 'root', 'resultsetManage', 'update');
+INSERT INTO `access_role_authority` VALUES (576, 'root', 'resultsetManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (577, 'root', 'resultsetManage', 'query');
+INSERT INTO `access_role_authority` VALUES (578, 'root', 'reportManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (579, 'root', 'reportManage', 'update');
+INSERT INTO `access_role_authority` VALUES (580, 'root', 'reportManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (581, 'root', 'reportManage', 'query');
+INSERT INTO `access_role_authority` VALUES (582, 'root', 'bigScreenManage', 'share');
+INSERT INTO `access_role_authority` VALUES (583, 'root', 'bigScreenManage', 'view');
+INSERT INTO `access_role_authority` VALUES (584, 'root', 'bigScreenManage', 'design');
+INSERT INTO `access_role_authority` VALUES (585, 'root', 'bigScreenManage', 'export');
+INSERT INTO `access_role_authority` VALUES (586, 'root', 'bigScreenManage', 'import');
+INSERT INTO `access_role_authority` VALUES (587, 'root', 'excelManage', 'query');
+INSERT INTO `access_role_authority` VALUES (588, 'root', 'excelManage', 'view');
+INSERT INTO `access_role_authority` VALUES (589, 'root', 'excelManage', 'export');
+INSERT INTO `access_role_authority` VALUES (590, 'root', 'fileManage', 'query');
+INSERT INTO `access_role_authority` VALUES (591, 'root', 'fileManage', 'upload');
+INSERT INTO `access_role_authority` VALUES (592, 'root', 'fileManage', 'update');
+INSERT INTO `access_role_authority` VALUES (593, 'root', 'fileManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (594, 'root', 'dictManage', 'query');
+INSERT INTO `access_role_authority` VALUES (595, 'root', 'dictManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (596, 'root', 'dictManage', 'update');
+INSERT INTO `access_role_authority` VALUES (597, 'root', 'dictManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (598, 'root', 'dictManage', 'fresh');
+INSERT INTO `access_role_authority` VALUES (599, 'root', 'dictItemManage', 'query');
+INSERT INTO `access_role_authority` VALUES (600, 'root', 'dictItemManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (601, 'root', 'dictItemManage', 'update');
+INSERT INTO `access_role_authority` VALUES (602, 'root', 'dictItemManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (603, 'root', 'excelManage', 'insert');
+INSERT INTO `access_role_authority` VALUES (604, 'root', 'excelManage', 'update');
+INSERT INTO `access_role_authority` VALUES (605, 'root', 'authorityManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (606, 'root', 'roleManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (607, 'root', 'userManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (608, 'root', 'datasourceManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (609, 'root', 'resultsetManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (610, 'root', 'reportManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (611, 'root', 'bigScreenManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (612, 'root', 'bigScreenManage', 'copy');
+INSERT INTO `access_role_authority` VALUES (613, 'root', 'excelManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (614, 'root', 'fileManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (615, 'root', 'dictManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (616, 'root', 'dictItemManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (617, 'root', 'reportShareManage', 'query');
+INSERT INTO `access_role_authority` VALUES (618, 'root', 'reportShareManage', 'detail');
+INSERT INTO `access_role_authority` VALUES (619, 'root', 'reportShareManage', 'shareDelay');
+INSERT INTO `access_role_authority` VALUES (620, 'root', 'reportShareManage', 'delete');
+INSERT INTO `access_role_authority` VALUES (621, 'root', 'excelManage', 'share');
+
+-- ----------------------------
+-- Table structure for access_user
+-- ----------------------------
+DROP TABLE IF EXISTS `access_user`;
+CREATE TABLE `access_user`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `login_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT ' 登录名',
+  `real_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '真实用户',
+  `password` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '密码',
+  `phone` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '手机号码',
+  `email` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '用户邮箱',
+  `remark` varchar(512) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '备注',
+  `last_login_time` datetime NULL DEFAULT NULL COMMENT '最后一次登陆时间',
+  `last_login_ip` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '最后一次登录IP',
+  `enable_flag` int(1) NOT NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NOT NULL DEFAULT 0 COMMENT ' 0--未删除 1--已删除 DIC_NAME=DEL_FLAG',
+  `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` tinyint(4) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `IDX1`(`login_name`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 308 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '运营用户表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of access_user
+-- ----------------------------
+INSERT INTO `access_user` VALUES (1, 'admin', '管理员', 'afbc19467fbff0690b5eba5209d0e966', '18019216253', 'admin1@admin.com', NULL, '2018-08-20 22:04:02', '172.30.16.129', 1, 0, 'admin', '2019-07-23 16:00:38', 'admin', '2019-07-23 16:00:38', 1);
+INSERT INTO `access_user` VALUES (2, 'guest', '访客', '5632ad5d163ccaf1ecc305315a1a8e16', '18019214578', 'admin1@admin.com', NULL, '2018-08-20 22:04:02', '172.30.16.129', 1, 0, 'guest', '2019-07-23 16:00:38', 'admin', '2019-07-23 16:00:38', 1);
+
+-- ----------------------------
+-- Table structure for access_user_role
+-- ----------------------------
+DROP TABLE IF EXISTS `access_user_role`;
+CREATE TABLE `access_user_role`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `login_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '权限目标',
+  `role_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '角色名称',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '运营角色权限表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of access_user_role
+-- ----------------------------
+INSERT INTO `access_user_role` VALUES (13, 'guest', 'viewer');
+INSERT INTO `access_user_role` VALUES (14, 'admin', 'root');
+INSERT INTO `access_user_role` VALUES (15, 'admin', 'designer');
+INSERT INTO `access_user_role` VALUES (16, 'admin', 'viewer');
+
+-- ----------------------------
+-- Table structure for flyway_schema_history
+-- ----------------------------
+DROP TABLE IF EXISTS `flyway_schema_history`;
+CREATE TABLE `flyway_schema_history`  (
+  `installed_rank` int(11) NOT NULL,
+  `version` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `description` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `script` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `checksum` int(11) NULL DEFAULT NULL,
+  `installed_by` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `installed_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `execution_time` int(11) NOT NULL,
+  `success` tinyint(1) NOT NULL,
+  PRIMARY KEY (`installed_rank`) USING BTREE,
+  INDEX `flyway_schema_history_s_idx`(`success`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_dict
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_dict`;
+CREATE TABLE `gaea_dict`  (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `dict_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典名称',
+  `dict_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典编码',
+  `remark` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
+  `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新用户',
+  `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(11) NULL DEFAULT NULL COMMENT '版本',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 61 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数组字典' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of gaea_dict
+-- ----------------------------
+INSERT INTO `gaea_dict` VALUES (1, '删除状态', 'DELETE_FLAG', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict` VALUES (2, '是否启用', 'ENABLE_FLAG', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict` VALUES (3, '文件状态', 'FILE_STATUS', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict` VALUES (4, '是否启用', 'FILTER_FLAG', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict` VALUES (5, '数据过滤类型', 'FILTER_TYPE', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict` VALUES (6, '指标类型', 'ITEM_TYPE', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict` VALUES (7, '国际化标识', 'LOCALE', 'ssssss', 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-27 22:20:00', 2);
+INSERT INTO `gaea_dict` VALUES (8, '数据源类型', 'SOURCE_TYPE', '', 'admin', '2021-03-23 13:16:58', 'admin', '2021-04-13 16:43:30', 4);
+INSERT INTO `gaea_dict` VALUES (9, '数据转换类型', 'TRANSFORM_TYPE', NULL, 'admin', '2021-03-23 13:24:28', 'admin', '2021-03-23 13:24:32', 1);
+INSERT INTO `gaea_dict` VALUES (10, '是否必填', 'REQUIRED_FLAG', NULL, 'admin', '2021-03-23 13:25:50', 'admin', '2021-03-23 13:25:53', 1);
+INSERT INTO `gaea_dict` VALUES (11, '行业类型', 'SYS_CATA_TYPE', '系统所属行业类型', 'admin', '2021-03-25 13:07:38', 'admin', '2021-03-25 13:07:38', 1);
+INSERT INTO `gaea_dict` VALUES (12, '报表类型', 'REPORT_TYPE', '报表类型', 'admin', '2021-03-26 11:48:06', 'admin', '2021-03-26 11:48:11', NULL);
+INSERT INTO `gaea_dict` VALUES (13, '菜单国际化', 'MENU_LANGUAGE', '菜单国际化配置', 'admin', '2021-04-06 16:33:33', 'admin', '2021-04-06 16:33:33', 1);
+INSERT INTO `gaea_dict` VALUES (14, '报表分组', 'REPORT_GROUP', '报表分组', 'admin', '2021-04-07 09:36:40', 'admin', '2021-04-07 09:36:42', 1);
+INSERT INTO `gaea_dict` VALUES (15, '报表组件类型', 'DASHBOARD_PANEL_TYPE', '报表组件类型', 'admin', '2021-04-12 10:42:50', 'admin', '2021-04-12 10:42:55', 1);
+INSERT INTO `gaea_dict` VALUES (16, '图表属性', 'CHART_PROPERTIES', '报表属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 3);
+INSERT INTO `gaea_dict` VALUES (17, '分享有效期', 'SHARE_VAILD', '报表分享', 'admin', '2021-08-18 13:29:19', 'admin', '2021-08-18 13:29:24', 1);
+INSERT INTO `gaea_dict` VALUES (18, '柱状图属性', 'BAR_PROPERTIES', '柱状图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
+INSERT INTO `gaea_dict` VALUES (19, '折线图属性', 'LINE_PROPERTIES', '折线图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
+INSERT INTO `gaea_dict` VALUES (20, '柱线图属性', 'BAR_LINE_PROPERTIES', '柱线图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
+INSERT INTO `gaea_dict` VALUES (21, '饼图属性', 'PIE_PROPERTIES', '饼图、漏斗图', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
+INSERT INTO `gaea_dict` VALUES (22, '单文本图属性', 'TEXT_PROPERTIES', '仪表盘、百分比、文本框、滚动文本', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
+INSERT INTO `gaea_dict` VALUES (23, '堆叠图属性', 'STACK_PROPERTIES', '堆叠图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
+INSERT INTO `gaea_dict` VALUES (24, '地图属性', 'MAP_PROPERTIES', '地图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
+INSERT INTO `gaea_dict` VALUES (25, '数据集类型', 'SET_TYPE', '数据集类型', 'admin', '2021-11-16 14:43:12', 'admin', '2021-11-16 14:43:12', 1);
+INSERT INTO `gaea_dict` VALUES (26, 'XY坐标属性', 'COORD_PROPERTIES', 'XY坐标属性', 'admin', '2023-01-10 07:31:04', 'admin', '2023-01-10 07:31:04', 1);
+INSERT INTO `gaea_dict` VALUES (27, '源端目标端属性', 'SOUTAR_PROPERTIES', '源端目标端属性', 'admin', '2023-01-10 07:31:05', 'admin', '2023-01-10 07:31:05', 1);
+INSERT INTO `gaea_dict` VALUES (28, '雷达属性', 'RADAR_PROPERTIES', '雷达属性', 'admin', '2023-01-10 07:31:07', 'admin', '2023-01-10 07:31:07', 1);
+INSERT INTO `gaea_dict` VALUES (29, '下拉框属性', 'SELECT_PROPERTIES', '下拉框属性', 'admin', '2023-01-10 07:31:07', 'admin', '2023-01-10 07:31:07', 1);
+
+-- ----------------------------
+-- Table structure for gaea_dict_item
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_dict_item`;
+CREATE TABLE `gaea_dict_item`  (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `dict_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据字典编码',
+  `item_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典项名称',
+  `item_value` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典项值',
+  `item_extend` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典扩展项',
+  `enabled` int(1) NULL DEFAULT 1 COMMENT '1:启用 0:禁用',
+  `locale` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '语言标识',
+  `remark` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
+  `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+  `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新用户',
+  `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(11) NULL DEFAULT NULL COMMENT '版本',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 327 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据字典项' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of gaea_dict_item
+-- ----------------------------
+INSERT INTO `gaea_dict_item` VALUES (1, 'AUDIT_FLAG', '待审核', 'waiting', NULL, 1, 'zh', '待审核', 1, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (2, 'AUDIT_FLAG', '审核中', 'ongoing', NULL, 1, 'zh', '审核中', 2, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (3, 'AUDIT_FLAG', '通过', 'approved', NULL, 1, 'zh', '通过', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (4, 'AUDIT_FLAG', '拒绝', 'rejected', NULL, 1, 'zh', '拒绝', 4, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (5, 'DELETE_FLAG', '已删除', '1', NULL, 1, 'zh', '已删除', 5, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-31 12:04:26', 2);
+INSERT INTO `gaea_dict_item` VALUES (6, 'DELETE_FLAG', '未删除', '0', NULL, 1, 'zh', '未删除', 6, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-31 12:04:49', 3);
+INSERT INTO `gaea_dict_item` VALUES (7, 'ENABLE_FLAG', '禁用', '0', NULL, 1, 'zh', '已禁用', 2, 'admin', '2021-03-09 16:43:09', 'admin', '2021-04-08 14:41:13', 3);
+INSERT INTO `gaea_dict_item` VALUES (8, 'ENABLE_FLAG', '启用', '1', NULL, 1, 'zh', '已启用', 1, 'admin', '2021-03-09 16:43:09', 'admin', '2021-04-08 14:41:18', 3);
+INSERT INTO `gaea_dict_item` VALUES (9, 'SYSTEM_CODE', 'CTS电脑端', 'CTS-PC', NULL, 1, 'zh', 'CTS电脑端', 9, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (10, 'SYSTEM_CODE', 'CTS App端', 'CTS-APP', NULL, 1, 'zh', 'CTS App端', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (11, 'FILTER_FLAG', '已禁用', '0', NULL, 1, 'zh', '已禁用', 7, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (12, 'FILTER_FLAG', '已启用', '1', NULL, 1, 'zh', '已启用', 8, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (13, 'FILTER_TYPE', 'js脚本', 'jsCalc', NULL, 1, 'zh', 'js脚本', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (14, 'FILTER_TYPE', '新增字段', 'addField', NULL, 1, 'zh', '新增字段', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (15, 'FILTER_TYPE', '替换字段', 'replaceField', NULL, 1, 'zh', '替换字段', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (16, 'FILTER_TYPE', 'ip解析java处理', 'ipTransform', NULL, 1, 'zh', 'ip解析java处理', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (17, 'FILTER_TYPE', 'vpn在线时长java处理', 'vpnTransform', NULL, 1, 'zh', 'vpn在线时长java处理', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (18, 'SETTING_TYPE', '字符串', 'input', NULL, 1, 'zh', '字符串', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (19, 'SETTING_TYPE', '数字', 'input-number', NULL, 1, 'zh', '数字', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (20, 'SETTING_TYPE', '文本区域', 'textarea', NULL, 1, 'zh', '文本区域', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (21, 'SETTING_TYPE', '数据字典', 'code-select', NULL, 1, 'zh', '数据字典', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (22, 'SETTING_TYPE', '下拉列表', 'select', NULL, 1, 'zh', '下拉列表', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (23, 'SETTING_TYPE', '单选按钮', 'radio-group', NULL, 1, 'zh', '单选按钮', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (24, 'SETTING_TYPE', '多选按钮', 'checkbox-group', NULL, 1, 'zh', '多选按钮', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (25, 'SETTING_TYPE', '自定义表单', 'custom-form', NULL, 1, 'zh', '自定义表单', 10, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (26, 'FILE_STATUS', '生成中', 'creating', NULL, 1, 'zh', '生成中', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (27, 'FILE_STATUS', '生成成功', 'success', NULL, 1, 'zh', '生成成功', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (28, 'FILE_STATUS', '生成失败', 'failed', NULL, 1, 'zh', '生成失败', 3, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (29, 'LOCALE', '中文', 'zh', NULL, 1, 'zh', '中文', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (30, 'LOCALE', '英文', 'en', NULL, 1, 'zh', '英文', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (31, 'LOCALE', 'Chinese', 'zh', NULL, 1, 'en', 'Chinese', NULL, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (32, 'LOCALE', 'English', 'en', NULL, 1, 'en', 'English', 1, 'admin', '2021-03-09 16:43:09', 'admin', '2021-03-09 16:43:09', 1);
+INSERT INTO `gaea_dict_item` VALUES (33, 'REQUIRED_FLAG', '必填', '1', NULL, 1, 'zh', NULL, 2, 'admin', '2021-03-23 10:54:08', 'admin', '2021-03-23 10:54:08', 1);
+INSERT INTO `gaea_dict_item` VALUES (34, 'REQUIRED_FLAG', '非必填', '0', NULL, 1, 'zh', NULL, 2, 'admin', '2021-03-23 10:54:08', 'admin', '2021-03-23 10:54:08', 1);
+INSERT INTO `gaea_dict_item` VALUES (35, 'TRANSFORM_TYPE', 'js脚本', 'js', NULL, 1, 'zh', NULL, 2, 'admin', '2021-03-23 10:54:08', 'admin', '2021-03-23 10:54:08', 1);
+INSERT INTO `gaea_dict_item` VALUES (36, 'TRANSFORM_TYPE', 'java脚本', 'javaBean', NULL, 1, 'zh', NULL, 2, 'admin', '2021-03-23 10:54:08', 'admin', '2021-03-23 10:54:08', 1);
+INSERT INTO `gaea_dict_item` VALUES (37, 'TRANSFORM_TYPE', '字典翻译', 'dict', '{\"dict1\": {\"1\": \"男\",\"0\": \"女\"},\"dict2\": {\"mysql\": \"mysql\",\"sqlserver\": \"sqlserver\"}}', 1, 'zh', NULL, 2, 'admin', '2021-03-23 10:54:08', 'admin', '2021-03-23 10:54:08', 1);
+INSERT INTO `gaea_dict_item` VALUES (38, 'SYS_CATA_TYPE', '行业01', '1001', NULL, 1, 'zh', NULL, 1, 'admin', '2021-03-25 13:10:32', 'admin', '2021-03-25 13:10:32', 1);
+INSERT INTO `gaea_dict_item` VALUES (39, 'SYS_CATA_TYPE', '行业02', '1002', NULL, 1, 'zh', NULL, 2, 'admin', '2021-03-25 13:11:01', 'admin', '2021-03-25 13:11:01', 1);
+INSERT INTO `gaea_dict_item` VALUES (40, 'REPORT_TYPE', 'excel报表', 'report_excel', NULL, 1, 'zh', NULL, NULL, 'admin', '2021-03-26 11:49:28', 'admin', '2021-03-26 11:50:19', NULL);
+INSERT INTO `gaea_dict_item` VALUES (41, 'REPORT_TYPE', '大屏报表', 'report_screen', NULL, 1, 'zh', NULL, NULL, 'admin', '2021-03-26 11:50:25', 'admin', '2021-03-26 11:50:21', NULL);
+INSERT INTO `gaea_dict_item` VALUES (42, 'REPORT_GROUP', '分组1', 'group_1', NULL, 1, 'zh', NULL, 1, 'admin', '2021-04-07 09:39:45', 'admin', '2021-04-13 16:44:31', 2);
+INSERT INTO `gaea_dict_item` VALUES (43, 'REPORT_GROUP', '分组2', 'group_2', NULL, 1, 'zh', NULL, 1, 'admin', '2021-04-07 09:40:55', 'admin', '2021-04-07 09:40:52', 1);
+INSERT INTO `gaea_dict_item` VALUES (44, 'INF_STATUS', '审核通过', '5', NULL, 1, 'zh', NULL, 25, 'admin', '2021-04-07 11:02:42', 'admin', '2021-04-07 15:01:35', 3);
+INSERT INTO `gaea_dict_item` VALUES (45, 'RULE_PARAM_TYPE', 'int', 'int', NULL, 1, 'zh', NULL, 3, 'zouya', '2021-04-09 09:43:22', 'zouya', '2021-04-09 09:43:22', 1);
+INSERT INTO `gaea_dict_item` VALUES (46, 'PUSH_TYPE', 'APP端', 'appsp', NULL, 1, 'zh', 'App端推送采用推送平台Appsp', 4, 'admin', '2021-04-09 10:13:33', 'admin', '2021-04-09 10:14:11', 3);
+INSERT INTO `gaea_dict_item` VALUES (47, 'DASHBOARD_PANEL_TYPE', '文本', 'text', NULL, 1, 'zh', 'App端推送采用推送平台Appsp', 4, 'admin', '2021-04-09 10:13:33', 'admin', '2021-04-09 10:14:11', 3);
+INSERT INTO `gaea_dict_item` VALUES (48, 'DASHBOARD_PANEL_TYPE', '滚动文本', '\r\nscrollingText', NULL, 1, 'zh', 'App端推送采用推送平台Appsp', 4, 'admin', '2021-04-09 10:13:33', 'admin', '2021-04-09 10:14:11', 3);
+INSERT INTO `gaea_dict_item` VALUES (49, 'DASHBOARD_PANEL_TYPE', '超链接', 'hyperlinks', NULL, 1, 'zh', 'App端推送采用推送平台Appsp', 4, 'admin', '2021-04-09 10:13:33', 'admin', '2021-04-09 10:14:11', 3);
+INSERT INTO `gaea_dict_item` VALUES (50, 'DASHBOARD_PANEL_TYPE', '当前时间', 'currentTime', NULL, 1, 'zh', 'App端推送采用推送平台Appsp', 4, 'admin', '2021-04-09 10:13:33', 'admin', '2021-04-09 10:14:11', 3);
+INSERT INTO `gaea_dict_item` VALUES (51, 'DASHBOARD_PANEL_TYPE', '图片', 'picture', NULL, 1, 'zh', 'App端推送采用推送平台Appsp', 4, 'admin', '2021-04-09 10:13:33', 'admin', '2021-04-09 10:14:11', 3);
+INSERT INTO `gaea_dict_item` VALUES (52, 'DASHBOARD_PANEL_TYPE', '轮播图片', 'rotatePictures', NULL, 1, 'zh', 'App端推送采用推送平台Appsp', 4, 'admin', '2021-04-09 10:13:33', 'admin', '2021-04-09 10:14:11', 3);
+INSERT INTO `gaea_dict_item` VALUES (53, 'MENU_LANGUAGE', '图标库', 'SvgDemo', '', 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (54, 'MENU_LANGUAGE', '代码生成', 'Generator', NULL, 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (55, 'MENU_LANGUAGE', '项目列表', 'Project', '', 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (56, 'MENU_LANGUAGE', '生成示例-单表', 'AlipayConfig', '', 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (57, 'MENU_LANGUAGE', '设备信息-主表', 'DeviceInfo', '', 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (58, 'MENU_LANGUAGE', '设备类型-子表', 'DeviceModel', '', 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (59, 'MENU_LANGUAGE', '设备日志-子表', 'DeviceLogDetail', '', 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (60, 'MENU_LANGUAGE', 'API文档', 'API', '', 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (61, 'MENU_LANGUAGE', '系统通告', 'Announcement', '', 1, 'zh', '', 1, 'admin', '2021-04-06 16:34:10', 'admin', '2021-04-06 16:34:10', 1);
+INSERT INTO `gaea_dict_item` VALUES (62, 'REPORT_GROUP', '分组3', 'group_3', NULL, 1, 'zh', NULL, 3, 'admin', '2021-04-13 16:45:28', 'admin', '2021-04-13 16:45:28', 1);
+INSERT INTO `gaea_dict_item` VALUES (63, 'MENU_LANGUAGE', '文件管理', 'FileManagement', NULL, 1, 'zh', NULL, 1, 'admin', '2021-04-27 13:57:58', 'admin', '2021-04-27 13:57:58', 1);
+INSERT INTO `gaea_dict_item` VALUES (64, 'CHART_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2023-01-10 07:31:00', 'admin', '2023-01-10 07:31:00', 1);
+INSERT INTO `gaea_dict_item` VALUES (65, 'CHART_PROPERTIES', '柱状', 'bar', NULL, 1, 'zh', NULL, 6, 'admin', '2021-04-29 10:48:43', 'admin', '2021-04-29 10:48:50', 1);
+INSERT INTO `gaea_dict_item` VALUES (66, 'CHART_PROPERTIES', '折线', 'line', NULL, 1, 'zh', NULL, 7, 'admin', '2021-04-29 10:48:43', 'admin', '2021-04-29 10:48:50', 1);
+INSERT INTO `gaea_dict_item` VALUES (67, 'CHART_PROPERTIES', '饼图/仪表盘/气泡地图name', 'name', NULL, 1, 'zh', NULL, 8, 'admin', '2021-04-29 10:48:43', 'admin', '2021-04-29 10:48:50', 1);
+INSERT INTO `gaea_dict_item` VALUES (68, 'CHART_PROPERTIES', '饼图/仪表盘/气泡地图value', 'value', NULL, 1, 'zh', NULL, 9, 'admin', '2021-04-29 10:48:43', 'admin', '2021-04-29 10:48:50', 1);
+INSERT INTO `gaea_dict_item` VALUES (69, 'CHART_PROPERTIES', '时间轴-时', 'xAxis-hour', NULL, 1, 'zh', NULL, 2, 'admin', '2021-04-29 10:48:43', 'admin', '2021-04-29 10:48:50', 1);
+INSERT INTO `gaea_dict_item` VALUES (70, 'CHART_PROPERTIES', '时间轴-天', 'xAxis-day', NULL, 1, 'zh', NULL, 3, 'admin', '2021-04-29 10:48:43', 'admin', '2021-04-29 10:48:50', 1);
+INSERT INTO `gaea_dict_item` VALUES (71, 'CHART_PROPERTIES', '时间轴-月', 'xAxis-month', NULL, 1, 'zh', NULL, 4, 'admin', '2021-04-29 10:48:43', 'admin', '2021-04-29 10:48:50', 1);
+INSERT INTO `gaea_dict_item` VALUES (72, 'CHART_PROPERTIES', '时间轴-年', 'xAxis-year', NULL, 1, 'zh', NULL, 5, 'admin', '2021-04-29 10:48:43', 'admin', '2021-04-29 10:48:50', 1);
+INSERT INTO `gaea_dict_item` VALUES (73, 'CHART_PROPERTIES', '文本数字', 'text', NULL, 1, 'zh', NULL, 10, 'admin', '2023-01-10 07:30:55', 'admin', '2023-01-10 07:30:55', 1);
+INSERT INTO `gaea_dict_item` VALUES (74, 'SOURCE_TYPE', 'mysql', 'mysql', '[{\"label\":\"driverName\",\"value\":\"com.mysql.cj.jdbc.Driver\",\"labelValue\":\"驱动类\"},{\"label\":\"jdbcUrl\",\"value\":\"jdbc:mysql://127.0.0.1:3306/test_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8\",\"labelValue\":\"连接串\"},{\"label\":\"username\",\"value\":\"root\",\"labelValue\":\"用户名\"},{\"label\":\"password\",\"value\":\"root\",\"labelValue\":\"密码\"}]', 1, 'zh', NULL, 1, '管理员', '2021-03-23 10:54:08', 'lixiaoyan', '2021-03-26 13:22:05', 3);
+INSERT INTO `gaea_dict_item` VALUES (75, 'SOURCE_TYPE', 'oracle', 'oracle', '[{\"label\":\"driverName\",\"value\":\"oracle.jdbc.driver.OracleDriver\",\"labelValue\":\"驱动类\"},{\"label\":\"jdbcUrl\",\"value\":\"jdbc:oracle:thin:@//localhost:1521/orcl\",\"labelValue\":\"连接串\"},{\"label\":\"username\",\"value\":\"root\",\"labelValue\":\"用户名\"},{\"label\":\"password\",\"value\":\"root\",\"labelValue\":\"密码\"}]', 1, 'zh', NULL, 2, 'admin', '2021-03-23 10:54:08', 'admin', '2021-03-23 10:54:08', 1);
+INSERT INTO `gaea_dict_item` VALUES (76, 'SOURCE_TYPE', 'mssqlserver', 'mssqlserver', '[{\"label\":\"driverName\",\"value\":\"com.microsoft.sqlserver.jdbc.SQLServerDriver\",\"labelValue\":\"驱动类\"},{\"label\":\"jdbcUrl\",\"value\":\"jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test_db\",\"labelValue\":\"连接串\"},{\"label\":\"username\",\"value\":\"root\",\"labelValue\":\"用户名\"},{\"label\":\"password\",\"value\":\"root\",\"labelValue\":\"密码\"}]', 1, 'zh', NULL, 3, 'admin', '2021-03-23 10:54:08', 'admin', '2021-03-23 10:54:08', 1);
+INSERT INTO `gaea_dict_item` VALUES (77, 'SOURCE_TYPE', 'elasticsearch_sql', 'elasticsearch_sql', '[{\"label\":\"apiUrl\",\"value\":\"http://10.108.26.164:9200/_xpack/sql?format=json\",\"labelValue\":\"请求路径\"},{\"label\":\"method\",\"value\":\"POST\",\"labelValue\":\"请求方式\"},{\"label\":\"header\",\"value\":\"{\\\"Content-Type\\\":\\\"application/json\\\"}\",\"labelValue\":\"请求头\"},{\"label\":\"body\",\"value\":\"{\\\"query\\\":\\\"select 1\\\"}\",\"labelValue\":\"请求体\"}]', 1, 'zh', NULL, 11, '管理员', '2021-03-23 10:54:08', 'admin', '2021-04-13 13:12:33', 9);
+INSERT INTO `gaea_dict_item` VALUES (78, 'SOURCE_TYPE', 'kudu impala', 'kudu_impala', '[{\"label\":\"driverName\",\"value\":\"com.cloudera.impala.jdbc41.Driver\",\"labelValue\":\"驱动类\"},{\"label\":\"jdbcUrl\",\"value\":\"jdbc:impala://10.108.3.111:21050/ods\",\"labelValue\":\"连接串\"},{\"label\":\"username\",\"value\":\"\",\"labelValue\":\"用户名\"},{\"label\":\"password\",\"value\":\"\",\"labelValue\":\"密码\"}]', 1, 'zh', NULL, 12, 'admin', '2021-03-23 10:54:08', 'admin', '2021-04-01 09:18:09', 3);
+INSERT INTO `gaea_dict_item` VALUES (79, 'SOURCE_TYPE', 'jdbc', 'jdbc', '[{\"label\":\"driverName\",\"value\":\"com.mysql.cj.jdbc.Driver\",\"labelValue\":\"驱动类\"},{\"label\":\"jdbcUrl\",\"value\":\"jdbc:mysql://127.0.0.1:3306/test_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8\",\"labelValue\":\"连接串\"},{\"label\":\"username\",\"value\":\"root\",\"labelValue\":\"用户名\"},{\"label\":\"password\",\"value\":\"root\",\"labelValue\":\"密码\"}]', 1, 'zh', NULL, 21, '管理员', '2021-04-13 17:26:38', 'admin', '2021-04-13 17:26:38', 1);
+INSERT INTO `gaea_dict_item` VALUES (80, 'SOURCE_TYPE', 'http', 'http', '[{\"label\":\"apiUrl\",\"value\":\"https://gateway.test.com/api/getdata\",\"labelValue\":\"请求路径\"},{\"label\":\"method\",\"value\":\"POST\",\"labelValue\":\"请求方式\"},{\"label\":\"header\",\"value\":\"{\\\"Content-Type\\\":\\\"application/json;charset=UTF-8\\\"}\",\"labelValue\":\"请求头\"},{\"label\":\"body\",\"value\":\"{\\\"username\\\":\\\"admin\\\",\\\"password\\\":\\\"de12878c0ef5beb7d8848c3af8f54afb\\\",\\\"verifyCode\\\":\\\"\\\"}\",\"labelValue\":\"请求体\"}]', 1, 'zh', NULL, 29, '管理员', '2021-04-13 17:26:38', 'admin', '2021-04-13 17:26:38', 1);
+INSERT INTO `gaea_dict_item` VALUES (81, 'CHART_PROPERTIES', 'y轴字段', 'yAxis', NULL, 1, 'zh', NULL, 11, 'admin', '2021-07-05 15:33:59', 'admin', '2021-07-05 15:33:59', 1);
+INSERT INTO `gaea_dict_item` VALUES (82, 'SHARE_VAILD', '永久有效', '0', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-18 13:30:21', 'admin', '2021-08-18 13:30:21', 1);
+INSERT INTO `gaea_dict_item` VALUES (83, 'SHARE_VAILD', '1天', '1', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-18 13:30:39', 'admin', '2021-08-18 13:30:39', 1);
+INSERT INTO `gaea_dict_item` VALUES (84, 'SHARE_VAILD', '7天', '7', NULL, 1, 'zh', NULL, 3, 'admin', '2021-08-18 13:30:51', 'admin', '2021-08-18 13:30:56', 2);
+INSERT INTO `gaea_dict_item` VALUES (85, 'SHARE_VAILD', '30天', '30', NULL, 1, 'zh', NULL, 4, 'admin', '2021-08-18 13:31:11', 'admin', '2021-08-18 13:31:11', 1);
+INSERT INTO `gaea_dict_item` VALUES (86, 'BAR_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:19:35', 'admin', '2021-08-20 10:19:35', 1);
+INSERT INTO `gaea_dict_item` VALUES (87, 'BAR_PROPERTIES', '柱状', 'bar', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:19:56', 'admin', '2021-08-20 10:19:56', 1);
+INSERT INTO `gaea_dict_item` VALUES (88, 'LINE_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:27:39', 'admin', '2021-08-20 10:27:39', 1);
+INSERT INTO `gaea_dict_item` VALUES (89, 'LINE_PROPERTIES', '折线', 'line', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:27:49', 'admin', '2021-08-20 10:27:49', 1);
+INSERT INTO `gaea_dict_item` VALUES (90, 'BAR_LINE_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:31:51', 'admin', '2021-08-20 10:31:51', 1);
+INSERT INTO `gaea_dict_item` VALUES (91, 'BAR_LINE_PROPERTIES', 'x轴时间轴-时', 'xAxis-hour', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:32:11', 'admin', '2021-08-20 10:32:11', 1);
+INSERT INTO `gaea_dict_item` VALUES (92, 'BAR_LINE_PROPERTIES', 'x轴时间轴-天', 'xAxis-day', NULL, 1, 'zh', NULL, 3, 'admin', '2021-08-20 10:32:25', 'admin', '2021-08-20 10:32:25', 1);
+INSERT INTO `gaea_dict_item` VALUES (93, 'BAR_LINE_PROPERTIES', 'x轴时间轴-月', 'xAxis-month', NULL, 1, 'zh', NULL, 4, 'admin', '2021-08-20 10:32:38', 'admin', '2021-08-20 10:32:38', 1);
+INSERT INTO `gaea_dict_item` VALUES (94, 'BAR_LINE_PROPERTIES', '时间轴-年', 'xAxis-year', NULL, 1, 'zh', NULL, 5, 'admin', '2021-08-20 10:32:52', 'admin', '2021-08-20 10:32:52', 1);
+INSERT INTO `gaea_dict_item` VALUES (95, 'BAR_LINE_PROPERTIES', '柱状', 'bar', NULL, 1, 'zh', NULL, 6, 'admin', '2021-08-20 10:33:02', 'admin', '2021-08-20 10:33:02', 1);
+INSERT INTO `gaea_dict_item` VALUES (96, 'BAR_LINE_PROPERTIES', '折线', 'line', NULL, 1, 'zh', NULL, 7, 'admin', '2021-08-20 10:33:11', 'admin', '2021-08-20 10:33:11', 1);
+INSERT INTO `gaea_dict_item` VALUES (97, 'PIE_PROPERTIES', '名称name', 'name', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:35:27', 'admin', '2021-08-20 10:35:27', 1);
+INSERT INTO `gaea_dict_item` VALUES (98, 'PIE_PROPERTIES', '数值value', 'value', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:35:38', 'admin', '2021-08-20 10:35:38', 1);
+INSERT INTO `gaea_dict_item` VALUES (99, 'TEXT_PROPERTIES', '文本数字', 'text', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:36:04', 'admin', '2021-08-20 10:36:04', 1);
+INSERT INTO `gaea_dict_item` VALUES (100, 'STACK_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:31:51', 'admin', '2021-08-20 10:31:51', 1);
+INSERT INTO `gaea_dict_item` VALUES (101, 'STACK_PROPERTIES', 'x轴时间轴-时', 'xAxis-hour', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:32:11', 'admin', '2021-08-20 10:32:11', 1);
+INSERT INTO `gaea_dict_item` VALUES (102, 'STACK_PROPERTIES', 'x轴时间轴-天', 'xAxis-day', NULL, 1, 'zh', NULL, 3, 'admin', '2021-08-20 10:32:25', 'admin', '2021-08-20 10:32:25', 1);
+INSERT INTO `gaea_dict_item` VALUES (103, 'STACK_PROPERTIES', 'x轴时间轴-月', 'xAxis-month', NULL, 1, 'zh', NULL, 4, 'admin', '2021-08-20 10:32:38', 'admin', '2021-08-20 10:32:38', 1);
+INSERT INTO `gaea_dict_item` VALUES (104, 'STACK_PROPERTIES', '时间轴-年', 'xAxis-year', NULL, 1, 'zh', NULL, 5, 'admin', '2021-08-20 10:32:52', 'admin', '2021-08-20 10:32:52', 1);
+INSERT INTO `gaea_dict_item` VALUES (105, 'STACK_PROPERTIES', 'y轴字段', 'yAxis', NULL, 1, 'zh', NULL, 6, 'admin', '2021-08-20 10:32:52', 'admin', '2021-08-20 10:32:52', 1);
+INSERT INTO `gaea_dict_item` VALUES (106, 'STACK_PROPERTIES', '柱状', 'bar', NULL, 1, 'zh', NULL, 7, 'admin', '2021-08-20 10:33:02', 'admin', '2021-08-20 10:33:02', 1);
+INSERT INTO `gaea_dict_item` VALUES (107, 'STACK_PROPERTIES', '折线', 'line', NULL, 1, 'zh', NULL, 8, 'admin', '2021-08-20 10:33:11', 'admin', '2021-08-20 10:33:11', 1);
+INSERT INTO `gaea_dict_item` VALUES (108, 'MAP_PROPERTIES', '名称name', 'name', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:41:00', 'admin', '2021-08-20 10:41:00', 1);
+INSERT INTO `gaea_dict_item` VALUES (109, 'MAP_PROPERTIES', '数值value', 'value', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:41:11', 'admin', '2021-08-20 10:41:11', 1);
+INSERT INTO `gaea_dict_item` VALUES (110, 'SET_TYPE', 'sql', 'sql', NULL, 1, 'zh', NULL, NULL, 'admin', '2021-11-16 14:43:42', 'admin', '2021-11-16 14:43:42', 1);
+INSERT INTO `gaea_dict_item` VALUES (111, 'SET_TYPE', 'http', 'http', NULL, 1, 'zh', NULL, NULL, 'admin', '2021-11-16 14:43:51', 'admin', '2021-11-16 14:43:51', 1);
+INSERT INTO `gaea_dict_item` VALUES (112, 'COORD_PROPERTIES', '数据', 'series', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:04', 'admin', '2023-01-10 07:31:04', 1);
+INSERT INTO `gaea_dict_item` VALUES (113, 'COORD_PROPERTIES', 'X轴', 'xAxis', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:04', 'admin', '2023-01-10 07:31:04', 1);
+INSERT INTO `gaea_dict_item` VALUES (114, 'COORD_PROPERTIES', 'Y轴', 'yAxis', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:04', 'admin', '2023-01-10 07:31:04', 1);
+INSERT INTO `gaea_dict_item` VALUES (115, 'SOUTAR_PROPERTIES', '源端', 'source', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:05', 'admin', '2023-01-10 07:31:05', 1);
+INSERT INTO `gaea_dict_item` VALUES (116, 'SOUTAR_PROPERTIES', '目标端', 'target', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:05', 'admin', '2023-01-10 07:31:05', 1);
+INSERT INTO `gaea_dict_item` VALUES (117, 'SOUTAR_PROPERTIES', '数值', 'value', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:05', 'admin', '2023-01-10 07:31:05', 1);
+INSERT INTO `gaea_dict_item` VALUES (118, 'RADAR_PROPERTIES', '名称', 'name', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:07', 'admin', '2023-01-10 07:31:07', 1);
+INSERT INTO `gaea_dict_item` VALUES (119, 'RADAR_PROPERTIES', '雷达顶点', 'radar', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:07', 'admin', '2023-01-10 07:31:07', 1);
+INSERT INTO `gaea_dict_item` VALUES (120, 'SELECT_PROPERTIES', '显示值', 'label', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:07', 'admin', '2023-01-10 07:31:07', 1);
+INSERT INTO `gaea_dict_item` VALUES (121, 'SELECT_PROPERTIES', '提交值', 'value', NULL, 1, 'zh', NULL, NULL, 'admin', '2023-01-10 07:31:07', 'admin', '2023-01-10 07:31:07', 1);
+
+-- ----------------------------
+-- Table structure for gaea_file
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_file`;
+CREATE TABLE `gaea_file`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `file_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生成的唯一uuid',
+  `file_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件类型,字典FILE_TYPE',
+  `file_path` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件在linux中的完整目录,比如/app/dist/export/excel/${fileid}.xlsx',
+  `url_path` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '通过接口的下载完整http路径',
+  `file_instruction` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件内容说明,比如 对账单(202001~202012)',
+  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `create_time` timestamp NULL DEFAULT NULL,
+  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  `version` int(11) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 830 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report`;
+CREATE TABLE `gaea_report`  (
+  `id` bigint(11) NOT NULL AUTO_INCREMENT,
+  `report_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
+  `report_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报表编码',
+  `report_group` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分组',
+  `report_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报表类型',
+  `report_image` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报表缩略图',
+  `report_desc` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报表描述',
+  `report_author` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报表作者',
+  `download_count` bigint(11) NULL DEFAULT NULL COMMENT '报表下载次数',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
+  `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(8) NULL DEFAULT NULL COMMENT '版本号',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `UNIQUE_REPORT_CODE`(`report_code`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 194 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report_dashboard
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report_dashboard`;
+CREATE TABLE `gaea_report_dashboard`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '看板id',
+  `report_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '报表编码',
+  `title` varchar(254) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '看板标题',
+  `width` bigint(20) NULL DEFAULT NULL COMMENT '宽度px',
+  `height` bigint(20) NULL DEFAULT NULL COMMENT '高度px',
+  `background_color` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '背景色',
+  `background_image` varchar(254) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '背景图片',
+  `preset_line` varchar(4096) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工作台中的辅助线',
+  `refresh_seconds` int(11) NULL DEFAULT NULL COMMENT '自动刷新间隔秒',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT ' 0--未删除 1--已删除 DIC_NAME=DEL_FLAG',
+  `sort` int(11) NULL DEFAULT 0 COMMENT '排序,降序',
+  `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `create_time` datetime NULL DEFAULT NULL,
+  `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `update_time` datetime NULL DEFAULT NULL,
+  `version` int(8) NULL DEFAULT NULL COMMENT '版本号',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `UNIQUE_REPORT_CODE`(`report_code`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 276 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report_dashboard_widget
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report_dashboard_widget`;
+CREATE TABLE `gaea_report_dashboard_widget`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '组件id',
+  `report_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '报表编码',
+  `type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件类型参考字典DASHBOARD_PANEL_TYPE',
+  `setup` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '组件的渲染属性json',
+  `data` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '组件的数据属性json',
+  `collapse` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '组件的配置属性json',
+  `position` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '组件的大小位置属性json',
+  `options` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'options配置项',
+  `refresh_seconds` int(11) NULL DEFAULT NULL COMMENT '自动刷新间隔秒',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT ' 0--未删除 1--已删除 DIC_NAME=DEL_FLAG',
+  `sort` bigint(20) NULL DEFAULT 0 COMMENT '排序,图层的概念',
+  `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `create_time` datetime NULL DEFAULT NULL,
+  `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `update_time` datetime NULL DEFAULT NULL,
+  `version` int(8) NULL DEFAULT NULL COMMENT '版本号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8712 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report_data_set
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report_data_set`;
+CREATE TABLE `gaea_report_data_set`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `set_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集编码',
+  `set_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集名称',
+  `set_desc` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集描述',
+  `source_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源编码',
+  `dyn_sentence` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '动态查询sql或者接口中的请求体',
+  `case_result` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '结果案例',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
+  `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(8) NULL DEFAULT NULL,
+  `set_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `unique_set_code`(`set_code`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 73 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据集管理' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report_data_set_param
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report_data_set_param`;
+CREATE TABLE `gaea_report_data_set_param`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `set_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集编码',
+  `param_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数名',
+  `param_desc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数描述',
+  `param_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数类型,字典=',
+  `sample_item` varchar(1080) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数示例项',
+  `required_flag` int(1) NULL DEFAULT 1 COMMENT '0--非必填 1--必填 DIC_NAME=REQUIRED_FLAG',
+  `validation_rules` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'js校验字段值规则,满足校验返回 true',
+  `order_num` int(11) NULL DEFAULT NULL COMMENT '排序',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
+  `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(8) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 60 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据集查询参数' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report_data_set_transform
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report_data_set_transform`;
+CREATE TABLE `gaea_report_data_set_transform`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `set_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集编码',
+  `transform_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据转换类型,DIC_NAME=TRANSFORM_TYPE; js,javaBean,字典转换',
+  `transform_script` varchar(10800) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据转换script,处理逻辑',
+  `order_num` int(2) NULL DEFAULT NULL COMMENT '排序,执行数据转换顺序',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
+  `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(8) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 37 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据集数据转换' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report_data_source
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report_data_source`;
+CREATE TABLE `gaea_report_data_source`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `source_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源编码',
+  `source_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源名称',
+  `source_desc` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源描述',
+  `source_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源类型 DIC_NAME=SOURCE_TYPE; mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单',
+  `source_config` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源连接配置json:关系库{ jdbcUrl:\'\', username:\'\', password:\'\' } ES{ hostList:\'ip1:9300,ip2:9300,ip3:9300\', clusterName:\'elasticsearch_cluster\' }  接口{ apiUrl:\'http://ip:port/url\', method:\'\' } javaBean{ beanNamw:\'xxx\' }',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
+  `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(8) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `unique_source_code`(`source_code`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据源管理' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report_excel
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report_excel`;
+CREATE TABLE `gaea_report_excel`  (
+  `id` bigint(11) NOT NULL AUTO_INCREMENT,
+  `report_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报表编码',
+  `set_codes` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集编码,以|分割',
+  `set_param` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集查询参数',
+  `json_str` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '报表json串',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
+  `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(8) NULL DEFAULT NULL COMMENT '版本号',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `UNIQUE_REPORT_CODE`(`report_code`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 215 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for gaea_report_share
+-- ----------------------------
+DROP TABLE IF EXISTS `gaea_report_share`;
+CREATE TABLE `gaea_report_share`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `share_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享编码,系统生成,默认UUID',
+  `share_valid_type` int(2) NULL DEFAULT NULL COMMENT '分享有效期类型,DIC_NAME=SHARE_VAILD',
+  `share_valid_time` datetime NULL DEFAULT NULL COMMENT '分享有效期',
+  `share_token` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享token',
+  `share_url` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享url',
+  `share_password` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享码',
+  `report_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报表编码',
+  `enable_flag` int(1) NULL DEFAULT 1 COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
+  `delete_flag` int(1) NULL DEFAULT 0 COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
+  `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+  `version` int(8) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `UNIQUE_SHARE_CODE`(`share_code`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '报表分享' ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 0 - 25
report-core/src/main/resources/db/migration/V1.0.0__init_db.sql

@@ -1,25 +0,0 @@
-CREATE
-DATABASE IF NOT EXISTS `aj_report` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
---
--- USE
--- `aj_report`;
---
--- CREATE TABLE `flyway_schema_history`
--- (
---     `installed_rank` int(11) NOT NULL,
---     `version`        varchar(50)            DEFAULT NULL,
---     `description`    varchar(200)  NOT NULL,
---     `type`           varchar(20)   NOT NULL,
---     `script`         varchar(1000) NOT NULL,
---     `checksum`       int(11) DEFAULT NULL,
---     `installed_by`   varchar(100)  NOT NULL,
---     `installed_on`   timestamp     NOT NULL DEFAULT current_timestamp(),
---     `execution_time` int(11) NOT NULL,
---     `success`        tinyint(1) NOT NULL,
---     PRIMARY KEY (`installed_rank`),
---     KEY              `flyway_schema_history_s_idx` (`success`)
--- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
---
--- insert into `flyway_schema_history`(`installed_rank`, `version`, `description`, `type`, `script`, `checksum`,
---                                     `installed_by`, `installed_on`, `execution_time`, `success`)
--- values (1, '1', '<< Flyway Baseline >>', 'BASELINE', '<< Flyway Baseline >>', NULL, 'admin', now(), 0, 1);

+ 0 - 86
report-core/src/main/resources/db/migration/V1.0.10__create_report_share.sql

@@ -1,86 +0,0 @@
-use
-aj_report;
-
-CREATE TABLE `gaea_report_share`
-(
-    `id`               bigint(20) NOT NULL AUTO_INCREMENT,
-    `share_code`       varchar(50)  DEFAULT NULL COMMENT '分享编码,系统生成,默认UUID',
-    `share_valid_type` int(2) DEFAULT NULL COMMENT '分享有效期类型,DIC_NAME=SHARE_VAILD',
-    `share_valid_time` datetime     DEFAULT NULL COMMENT '分享有效期',
-    `share_token`      varchar(255) DEFAULT NULL COMMENT '分享token',
-    `share_url`        varchar(100) DEFAULT NULL COMMENT '分享url',
-    `report_code`      varchar(50)  DEFAULT NULL COMMENT '报表编码',
-    `enable_flag`      int(1) DEFAULT '1' COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
-    `delete_flag`      int(1) DEFAULT '0' COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
-    `create_by`        varchar(255) DEFAULT NULL COMMENT '创建人',
-    `create_time`      datetime     DEFAULT NULL COMMENT '创建时间',
-    `update_by`        varchar(255) DEFAULT NULL COMMENT '更新人',
-    `update_time`      datetime     DEFAULT NULL COMMENT '更新时间',
-    `version`          int(8) DEFAULT NULL,
-    PRIMARY KEY (`id`) USING BTREE,
-    UNIQUE KEY `UNIQUE_SHARE_CODE` (`share_code`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='报表分享';
-
-
-INSERT INTO `aj_report`.`gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , '分享有效期', 'SHARE_VAILD', '报表分享', 'admin', '2021-08-18 13:29:19', 'admin', '2021-08-18 13:29:24', 1);
-INSERT INTO `aj_report`.`gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , '柱状图属性', 'BAR_PROPERTIES', '柱状图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
-INSERT INTO `aj_report`.`gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , '折线图属性', 'LINE_PROPERTIES', '折线图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
-INSERT INTO `aj_report`.`gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , '柱线图属性', 'BAR_LINE_PROPERTIES', '柱线图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
-INSERT INTO `aj_report`.`gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , '饼图属性', 'PIE_PROPERTIES', '饼图、漏斗图', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
-INSERT INTO `aj_report`.`gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , '单文本图属性', 'TEXT_PROPERTIES', '仪表盘、百分比、文本框、滚动文本', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
-INSERT INTO `aj_report`.`gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , '堆叠图属性', 'STACK_PROPERTIES', '堆叠图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
-INSERT INTO `aj_report`.`gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , '地图属性', 'MAP_PROPERTIES', '地图属性', 'admin', '2021-04-29 10:28:15', 'admin', '2021-06-23 10:47:20', 1);
-
-
-
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'SHARE_VAILD', '永久有效', '0', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-18 13:30:21', 'admin', '2021-08-18 13:30:21', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default, 'SHARE_VAILD', '1天', '1', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-18 13:30:39', 'admin', '2021-08-18 13:30:39', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default, 'SHARE_VAILD', '7天', '7', NULL, 1, 'zh', NULL, 3, 'admin', '2021-08-18 13:30:51', 'admin', '2021-08-18 13:30:56', 2);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default, 'SHARE_VAILD', '30天', '30', NULL, 1, 'zh', NULL, 4, 'admin', '2021-08-18 13:31:11', 'admin', '2021-08-18 13:31:11', 1);
-
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:19:35', 'admin', '2021-08-20 10:19:35', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_PROPERTIES', '柱状', 'bar', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:19:56', 'admin', '2021-08-20 10:19:56', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'LINE_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:27:39', 'admin', '2021-08-20 10:27:39', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'LINE_PROPERTIES', '折线', 'line', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:27:49', 'admin', '2021-08-20 10:27:49', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_LINE_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:31:51', 'admin', '2021-08-20 10:31:51', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_LINE_PROPERTIES', 'x轴时间轴-时', 'xAxis-hour', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:32:11', 'admin', '2021-08-20 10:32:11', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_LINE_PROPERTIES', 'x轴时间轴-天', 'xAxis-day', NULL, 1, 'zh', NULL, 3, 'admin', '2021-08-20 10:32:25', 'admin', '2021-08-20 10:32:25', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_LINE_PROPERTIES', 'x轴时间轴-月', 'xAxis-month', NULL, 1, 'zh', NULL, 4, 'admin', '2021-08-20 10:32:38', 'admin', '2021-08-20 10:32:38', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_LINE_PROPERTIES', '时间轴-年', 'xAxis-year', NULL, 1, 'zh', NULL, 5, 'admin', '2021-08-20 10:32:52', 'admin', '2021-08-20 10:32:52', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_LINE_PROPERTIES', '柱状', 'bar', NULL, 1, 'zh', NULL, 6, 'admin', '2021-08-20 10:33:02', 'admin', '2021-08-20 10:33:02', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'BAR_LINE_PROPERTIES', '折线', 'line', NULL, 1, 'zh', NULL, 7, 'admin', '2021-08-20 10:33:11', 'admin', '2021-08-20 10:33:11', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'PIE_PROPERTIES', '名称name', 'name', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:35:27', 'admin', '2021-08-20 10:35:27', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'PIE_PROPERTIES', '数值value', 'value', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:35:38', 'admin', '2021-08-20 10:35:38', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'TEXT_PROPERTIES', '文本数字', 'text', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:36:04', 'admin', '2021-08-20 10:36:04', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'STACK_PROPERTIES', 'x轴字段', 'xAxis', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:31:51', 'admin', '2021-08-20 10:31:51', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'STACK_PROPERTIES', 'x轴时间轴-时', 'xAxis-hour', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:32:11', 'admin', '2021-08-20 10:32:11', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'STACK_PROPERTIES', 'x轴时间轴-天', 'xAxis-day', NULL, 1, 'zh', NULL, 3, 'admin', '2021-08-20 10:32:25', 'admin', '2021-08-20 10:32:25', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'STACK_PROPERTIES', 'x轴时间轴-月', 'xAxis-month', NULL, 1, 'zh', NULL, 4, 'admin', '2021-08-20 10:32:38', 'admin', '2021-08-20 10:32:38', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'STACK_PROPERTIES', '时间轴-年', 'xAxis-year', NULL, 1, 'zh', NULL, 5, 'admin', '2021-08-20 10:32:52', 'admin', '2021-08-20 10:32:52', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'STACK_PROPERTIES', 'y轴字段', 'yAxis', NULL, 1, 'zh', NULL, 6, 'admin', '2021-08-20 10:32:52', 'admin', '2021-08-20 10:32:52', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'STACK_PROPERTIES', '柱状', 'bar', NULL, 1, 'zh', NULL, 7, 'admin', '2021-08-20 10:33:02', 'admin', '2021-08-20 10:33:02', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'STACK_PROPERTIES', '折线', 'line', NULL, 1, 'zh', NULL, 8, 'admin', '2021-08-20 10:33:11', 'admin', '2021-08-20 10:33:11', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'MAP_PROPERTIES', '名称name', 'name', NULL, 1, 'zh', NULL, 1, 'admin', '2021-08-20 10:41:00', 'admin', '2021-08-20 10:41:00', 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'MAP_PROPERTIES', '数值value', 'value', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-20 10:41:11', 'admin', '2021-08-20 10:41:11', 1);
-INSERT INTO `aj_report`.`gaea_report_data_set`(`set_code`, `set_name`, `set_desc`, `source_code`, `dyn_sentence`, `case_result`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('barstack_ajreport', '柱状堆叠数据', '', 'mysql_ajreport', 'select time,type,nums from aj_report_barstack', '[{\"time\":\"2021-07-27\",\"type\":\"A\",\"nums\":12},{\"time\":\"2021-07-27\",\"type\":\"B\",\"nums\":20},{\"time\":\"2021-07-27\",\"type\":\"C\",\"nums\":11},{\"time\":\"2021-07-26\",\"type\":\"A\",\"nums\":11},{\"time\":\"2021-07-26\",\"type\":\"B\",\"nums\":30},{\"time\":\"2021-07-25\",\"type\":\"B\",\"nums\":20},{\"time\":\"2021-07-25\",\"type\":\"C\",\"nums\":15}]', 1, 0, 'admin', '2021-07-27 19:50:52', 'admin', '2021-08-16 14:08:51', 7);
-
-use
-aj_report_init;
-CREATE TABLE if not exists `aj_report_barstack`
-(
-    `id`   int(11) NOT NULL AUTO_INCREMENT,
-    `time` date         DEFAULT NULL,
-    `type` varchar(255) DEFAULT NULL,
-    `nums` int(11) DEFAULT NULL,
-    PRIMARY KEY (`id`)
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
-
-/*堆叠图数据*/
-INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (1, '2021-07-27', 'A', 12);
-INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (2, '2021-07-27', 'B', 20);
-INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (3, '2021-07-27', 'C', 11);
-INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (4, '2021-07-26', 'A', 11);
-INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (5, '2021-07-26', 'B', 30);
-INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (6, '2021-07-25', 'B', 20);
-INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (7, '2021-07-25', 'C', 15);
-

+ 0 - 21
report-core/src/main/resources/db/migration/V1.0.11__create_compare_table.sql

@@ -1,21 +0,0 @@
-use aj_report_init;
-CREATE TABLE if not exists `aj_report_comparestack` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `time` date DEFAULT NULL,
-  `type` varchar(255) DEFAULT NULL,
-  `nums` bigint(11) DEFAULT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
-
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (1, '2021-08-23', '成功', 12);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (2, '2021-08-23', '失败', 1);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (3, '2021-08-24', '成功', 24);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (4, '2021-08-24', '失败', 5);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (5, '2021-08-25', '成功', 13);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (6, '2021-08-25', '失败', 8);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (7, '2021-08-26', '成功', 19);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (8, '2021-08-26', '失败', 3);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (9, '2021-08-27', '成功', 9);
-INSERT INTO `aj_report_init`.`aj_report_comparestack`(`id`, `time`, `type`, `nums`) VALUES (10, '2021-08-27', '失败', 15);
-
-INSERT INTO `aj_report`.`gaea_report_data_set`(`set_code`, `set_name`, `set_desc`, `source_code`, `dyn_sentence`, `case_result`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('compare_ajreport', '柱状对比图示例数据', '', 'mysql_ajreport', 'SELECT time,type,nums from aj_report_comparestack', '[{\"time\":\"2021-08-23\",\"type\":\"成功\",\"nums\":12},{\"time\":\"2021-08-23\",\"type\":\"失败\",\"nums\":1},{\"time\":\"2021-08-24\",\"type\":\"成功\",\"nums\":24},{\"time\":\"2021-08-24\",\"type\":\"失败\",\"nums\":5},{\"time\":\"2021-08-25\",\"type\":\"成功\",\"nums\":13},{\"time\":\"2021-08-25\",\"type\":\"失败\",\"nums\":8},{\"time\":\"2021-08-26\",\"type\":\"成功\",\"nums\":19},{\"time\":\"2021-08-26\",\"type\":\"失败\",\"nums\":3},{\"time\":\"2021-08-27\",\"type\":\"成功\",\"nums\":9},{\"time\":\"2021-08-27\",\"type\":\"失败\",\"nums\":15}]', 1, 0, 'admin', '2021-08-27 13:48:33', 'admin', '2021-08-27 13:48:33', 1);

+ 0 - 33
report-core/src/main/resources/db/migration/V1.0.12__create_excel.sql

@@ -1,33 +0,0 @@
-use
-aj_report;
-
-
-CREATE TABLE `gaea_report_excel`
-(
-    `id`          bigint(11) NOT NULL AUTO_INCREMENT,
-    `report_code` varchar(100)  DEFAULT NULL COMMENT '报表编码',
-    `set_codes`   varchar(255)  DEFAULT NULL COMMENT '数据集编码,以|分割',
-    `set_param`   varchar(1024) DEFAULT NULL COMMENT '数据集查询参数',
-    `json_str`    text COMMENT '报表json串',
-    `enable_flag` int(1) DEFAULT '1' COMMENT '0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG',
-    `delete_flag` int(1) DEFAULT '0' COMMENT '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG',
-    `create_by`   varchar(255)  DEFAULT NULL COMMENT '创建人',
-    `create_time` datetime      DEFAULT NULL COMMENT '创建时间',
-    `update_by`   varchar(255)  DEFAULT NULL COMMENT '更新人',
-    `update_time` datetime      DEFAULT NULL COMMENT '更新时间',
-    `version`     int(8) DEFAULT NULL COMMENT '版本号',
-    PRIMARY KEY (`id`) USING BTREE,
-    UNIQUE KEY `UNIQUE_REPORT_CODE` (`report_code`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=215 DEFAULT CHARSET=utf8;
-
-
-INSERT INTO `aj_report`.`access_authority`(`id`, `parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (234, 'report', 'bigScreenManage', '大屏报表', 'export', '导出大屏', 234, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_authority`(`id`, `parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (235, 'report', 'bigScreenManage', '大屏报表', 'import', '导入大屏', 235, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_authority`(`id`, `parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (236, 'report', 'excelManage', '表格报表', 'query', '查询报表', 236, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default , 'root', 'bigScreenManage', 'export');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default , 'root', 'bigScreenManage', 'import');
-
-
-UPDATE `aj_report`.`gaea_report` SET `report_type` = 'report_screen' WHERE `report_code` in ('log_ajreport', 'car_ajreport', 'acc_ajreport');
-

+ 0 - 14
report-core/src/main/resources/db/migration/V1.0.13__update_set.sql

@@ -1,14 +0,0 @@
-use
-aj_report;
-
--- 增加字段
-ALTER TABLE `gaea_report_data_set` add COLUMN `set_type` varchar(10);
--- 将该字段值全更新为sql
-update gaea_report_data_set set set_type = 'sql';
-
--- 字典
-INSERT INTO `gaea_dict`(`id`, `dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default, '数据集类型', 'SET_TYPE', '数据集类型', 'admin', '2021-11-16 14:43:12', 'admin', '2021-11-16 14:43:12', 1);
-INSERT INTO `gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'SET_TYPE', 'sql', 'sql', NULL, 1, 'zh', NULL, NULL, 'admin', '2021-11-16 14:43:42', 'admin', '2021-11-16 14:43:42', 1);
-INSERT INTO `gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default , 'SET_TYPE', 'http', 'http', NULL, 1, 'zh', NULL, NULL, 'admin', '2021-11-16 14:43:51', 'admin', '2021-11-16 14:43:51', 1);
-
-

+ 0 - 68
report-core/src/main/resources/db/migration/V1.0.14__update_report.sql

@@ -1,68 +0,0 @@
-use
-aj_report;
-
--- 增加字段
-ALTER TABLE `aj_report`.`gaea_report` ADD COLUMN `report_author` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报表作者' AFTER `report_desc`;
-
-ALTER TABLE `aj_report`.`gaea_report` ADD COLUMN `download_count` bigint(11) NULL DEFAULT NULL COMMENT '报表下载次数' AFTER `report_author`;
-
--- root权限更新
-delete from access_role_authority where role_code = 'root';
-
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'authorityManage', 'insert');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'authorityManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'authorityManage', 'delete');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'authorityManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'roleManage', 'insert');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'roleManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'roleManage', 'delete');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'roleManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'roleManage', 'grantAuthority');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'userManage', 'insert');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'userManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'userManage', 'delete');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'userManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'userManage', 'resetPassword');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'userManage', 'grantRole');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'datasourceManage', 'insert');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'datasourceManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'datasourceManage', 'delete');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'datasourceManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'resultsetManage', 'insert');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'resultsetManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'resultsetManage', 'delete');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'resultsetManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'reportManage', 'insert');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'reportManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'reportManage', 'delete');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'reportManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'bigScreenManage', 'share');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'bigScreenManage', 'view');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'bigScreenManage', 'design');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'bigScreenManage', 'export');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'bigScreenManage', 'import');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'excelManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'excelManage', 'view');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'excelManage', 'export');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'fileManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'fileManage', 'upload');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'fileManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'fileManage', 'delete');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictManage', 'insert');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictManage', 'delete');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictManage', 'fresh');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictItemManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictItemManage', 'insert');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictItemManage', 'update');
-INSERT INTO `aj_report`.`access_role_authority`(`id`, `role_code`, `target`, `action`) VALUES (default, 'root', 'dictItemManage', 'delete');
-
-INSERT INTO `aj_report`.`access_authority`(`id`, `parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (237, 'report', 'excelManage', '表格报表', 'insert', '新建表格', 237, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_authority`(`id`, `parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (238, 'report', 'excelManage', '表格报表', 'update', '更新表格', 238, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_authority`(`id`, `parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (239, 'report', 'excelManage', '表格报表', 'view', '查看表格', 239, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_authority`(`id`, `parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (240, 'report', 'excelManage', '表格报表', 'export', '导出表格', 240, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-
-
-
-

+ 0 - 1
report-core/src/main/resources/db/migration/V1.0.15__update_javaBean.sql

@@ -1 +0,0 @@
-UPDATE `aj_report`.`gaea_dict_item` SET `dict_code` = 'TRANSFORM_TYPE', `item_name` = 'java脚本', `item_value` = 'javaBean', `item_extend` = NULL, `enabled` = 1, `locale` = 'zh', `remark` = NULL, `sort` = 2, `create_by` = 'admin', `create_time` = '2021-03-23 10:54:08', `update_by` = 'admin', `update_time` = '2021-03-23 10:54:08', `version` = 1 WHERE `id` = 151;

+ 0 - 5
report-core/src/main/resources/db/migration/V1.0.16__update_admin_authority.sql

@@ -1,5 +0,0 @@
--- 补充admin对于execl表格权限
-
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","excelManage","insert" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="excelManage" AND `action`="insert");
-
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","excelManage","update" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="excelManage" AND `action`="update");

+ 0 - 7
report-core/src/main/resources/db/migration/V1.0.17__add_dict_coord.sql

@@ -1,7 +0,0 @@
--- 新增坐标轴字典
-
-INSERT INTO `aj_report`.`gaea_dict`(`dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('XY坐标属性', 'COORD_PROPERTIES', 'XY坐标属性', 'admin', NOW(), 'admin', NOW(), 1);
-
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('COORD_PROPERTIES', '数据', 'series', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('COORD_PROPERTIES', 'X轴', 'xAxis', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('COORD_PROPERTIES', 'Y轴', 'yAxis', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);

+ 0 - 16
report-core/src/main/resources/db/migration/V1.0.18__update_role_authority.sql

@@ -1,16 +0,0 @@
--- 角色权限调整
--- access_authority
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('access', 'authorityManage', '权限管理', 'detail', '权限明细', 101, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('access', 'roleManage', '角色管理', 'detail', '角色明细', 105, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2021-07-17 20:41:46', 2);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('access', 'userManage', '用户管理', 'detail', '用户明细', 110, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'datasourceManage', '数据源管理', 'detail', '数据源明细', 200, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'resultsetManage', '数据集管理', 'detail', '数据集明细', 204, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'reportManage', '报表管理', 'detail', '报表明细', 221, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'bigScreenManage', '大屏报表', 'detail', '大屏明细', 231, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'excelManage', '表格报表', 'detail', 'excel明细', 234, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('system', 'fileManage', '文件管理', 'detail', '文件明细', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('system', 'dictManage', '数据字典', 'detail', '数据字典明细', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('system', 'dictItemManage', '数据字典项', 'detail', '数据字典项明细', 300, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-REPLACE INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'bigScreenManage', '大屏报表', 'copy', '复制大屏', 236, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-
-UPDATE `aj_report`.`access_authority` SET `parent_target` = 'report', `target` = 'bigScreenManage', `target_name` = '大屏报表', `action` = 'view', `action_name` = '查看大屏', `sort` = 232, `enable_flag` = 1, `delete_flag` = 0, `create_by` = 'admin', `create_time` = '2019-07-23 15:59:40', `update_by` = 'admin', `update_time` = '2019-07-23 15:59:40', `version` = 1 WHERE `parent_target` = 'report' AND `target` = 'bigScreenManage' AND `action` = 'view';

+ 0 - 15
report-core/src/main/resources/db/migration/V1.0.19__add_admin_authority.sql

@@ -1,15 +0,0 @@
--- admin角色权限
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","authorityManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="authorityManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","roleManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="roleManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","userManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="userManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","datasourceManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="datasourceManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","resultsetManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="resultsetManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","reportManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="reportManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","reportManage","query" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="reportManage" AND `action`="query");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","bigScreenManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="bigScreenManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","bigScreenManage","copy" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="bigScreenManage" AND `action`="copy");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","excelManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="excelManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","fileManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="fileManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","dictManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="dictManage" AND `action`="detail");
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`,`target`,`action`) SELECT "root","dictItemManage","detail" FROM DUAL WHERE NOT EXISTS(SELECT `role_code`,`target`,`action` FROM `aj_report`.`access_role_authority` WHERE `role_code`="root" AND `target`="dictItemManage" AND `action`="detail");
-

Разлика између датотеке није приказан због своје велике величине
+ 0 - 466
report-core/src/main/resources/db/migration/V1.0.1__create_tables.sql


+ 0 - 7
report-core/src/main/resources/db/migration/V1.0.20__add_dict_sourtar.sql

@@ -1,7 +0,0 @@
--- 新增源端目标端字典
-
-INSERT INTO `aj_report`.`gaea_dict`(`dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('源端目标端属性', 'SOUTAR_PROPERTIES', '源端目标端属性', 'admin', NOW(), 'admin', NOW(), 1);
-
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('SOUTAR_PROPERTIES', '源端', 'source', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('SOUTAR_PROPERTIES', '目标端', 'target', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('SOUTAR_PROPERTIES', '数值', 'value', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);

+ 0 - 9
report-core/src/main/resources/db/migration/V1.0.21__update_widget_column.sql

@@ -1,9 +0,0 @@
--- 调整gaea_report_dashboard_widget部分字段长度
-
-ALTER TABLE `aj_report`.`gaea_report_dashboard_widget` MODIFY COLUMN `setup` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '组件的渲染属性json' AFTER `type`;
-
-ALTER TABLE `aj_report`.`gaea_report_dashboard_widget` MODIFY COLUMN `data` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '组件的数据属性json' AFTER `setup`;
-
-ALTER TABLE `aj_report`.`gaea_report_dashboard_widget` MODIFY COLUMN `collapse` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '组件的配置属性json' AFTER `data`;
-
-ALTER TABLE `aj_report`.`gaea_report_dashboard_widget` MODIFY COLUMN `position` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '组件的大小位置属性json' AFTER `collapse`;

+ 0 - 10
report-core/src/main/resources/db/migration/V1.0.22__add_report_share.sql

@@ -1,10 +0,0 @@
-INSERT INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'reportShareManage', '报表分享', 'query', '查询报表分享', 231, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'reportShareManage', '报表分享', 'detail', '查询明细', 232, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'reportShareManage', '报表分享', 'shareDelay', '分享延期', 233, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'reportShareManage', '报表分享', 'delete', '删除分享', 234, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1);
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) VALUES ('root', 'reportShareManage', 'query');
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) VALUES ('root', 'reportShareManage', 'detail');
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) VALUES ('root', 'reportShareManage', 'shareDelay');
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) VALUES ('root', 'reportShareManage', 'delete');
-
-ALTER TABLE `aj_report`.`gaea_report_share` ADD COLUMN share_password varchar(10) DEFAULT NULL COMMENT '分享码' AFTER share_url;

+ 0 - 3
report-core/src/main/resources/db/migration/V1.0.23__add_excelshare_authority.sql

@@ -1,3 +0,0 @@
-INSERT INTO `aj_report`.`access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('report', 'excelManage', '表格报表', 'share', '分享报表', 231, 1, 0, 'admin', now(), 'admin', now(), 1);
-
-INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) VALUES ('root', 'excelManage', 'share');

+ 0 - 6
report-core/src/main/resources/db/migration/V1.0.24__add_dict_radar.sql

@@ -1,6 +0,0 @@
--- 新增雷达图字典
-
-INSERT INTO `aj_report`.`gaea_dict`(`dict_name`, `dict_code`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('雷达属性', 'RADAR_PROPERTIES', '雷达属性', 'admin', NOW(), 'admin', NOW(), 1);
-
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('RADAR_PROPERTIES', '名称', 'name', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('RADAR_PROPERTIES', '雷达顶点', 'radar', NULL, 1, 'zh', NULL, NULL, 'admin', NOW(), 'admin', NOW(), 1);

+ 0 - 4
report-core/src/main/resources/db/migration/V1.0.2__update_tables.sql

@@ -1,4 +0,0 @@
-/*
-kudu驱动更新
- */
-UPDATE `aj_report`.`gaea_dict_item` SET `dict_code` = 'SOURCE_TYPE', `item_name` = 'kudu impala', `item_value` = 'kudu_impala', `item_extend` = '[{\"label\":\"driverName\",\"value\":\"com.cloudera.impala.jdbc41.Driver\",\"labelValue\":\"驱动类\"},{\"label\":\"jdbcUrl\",\"value\":\"jdbc:impala://10.108.3.111:21050/ods\",\"labelValue\":\"连接串\"},{\"label\":\"username\",\"value\":\"\",\"labelValue\":\"用户名\"},{\"label\":\"password\",\"value\":\"\",\"labelValue\":\"密码\"}]', `enabled` = 1, `locale` = 'zh', `remark` = NULL, `sort` = 2, `create_by` = 'admin', `create_time` = '2021-03-23 10:54:08', `update_by` = 'admin', `update_time` = '2021-04-01 09:18:09', `version` = 3 WHERE `id` = 133;

+ 0 - 4
report-core/src/main/resources/db/migration/V1.0.3__update_table.sql

@@ -1,4 +0,0 @@
-/*
-字典更新
-*/
-INSERT INTO `aj_report`.`gaea_dict_item`(`dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('CHART_PROPERTIES', '文本数字', 'text', NULL, 1, 'zh', NULL, 10, 'admin', now(), 'admin', now(), 1);

Неке датотеке нису приказане због велике количине промена