diff --git a/README.md b/README.md
index 23f6a9a7..50da96a2 100644
--- a/README.md
+++ b/README.md
@@ -143,11 +143,9 @@ sql文件的目录在:report-core --> src --> main --> resources -- > db.migra
已知以下版本存在兼容性问题
- Node.js V16
- Jdk 11
-- Mysql 8.0(8.0.26版本没有问题,8.0.21版本存在问题)
+- Mysql 8.0(8.0.23/26版本没有问题,8.0.21版本存在问题)
- Windows 11
-AJ-Report 使用Druid,版本为1.2.6,如果你觉得你配置都是正常但是数据源测试不过,请尝试修改pom文件降低Druid版本。
-例如:MSSQLSERVER 2014,请将Druid版本降低为1.2.1以下
## 商业授权
AJ-Report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2.0.html)
diff --git a/doc/docs/.vuepress/config.js b/doc/docs/.vuepress/config.js
index 42bc294f..d8e946e5 100644
--- a/doc/docs/.vuepress/config.js
+++ b/doc/docs/.vuepress/config.js
@@ -50,7 +50,9 @@ module.exports = {
children: [
{title: '数据源', path: '/guide/datasource'},
{title: '数据集', path: '/guide/dataset'},
- {title: '大屏设计', path: '/guide/dashboard'},
+ {title: '报表管理', path: '/guide/reportmanager'},
+ {title: '大屏报表', path: '/guide/dashboard'},
+ {title: '表格报表', path: '/guide/execl'},
{title: '导入导出', path: '/guide/importexport'},
]
},
@@ -65,6 +67,7 @@ module.exports = {
title: '社区提供',
collapsable: false,
children: [
+ {title: '说明', path: '/guide/community/report'},
{title: '搭建AJ-Report开发环境', path: '/guide/community/AC1688/搭建aj-report开发环境'}
]
}
diff --git a/doc/docs/guide/authmanager.md b/doc/docs/guide/authmanager.md
index e69de29b..666bdc33 100644
--- a/doc/docs/guide/authmanager.md
+++ b/doc/docs/guide/authmanager.md
@@ -0,0 +1,22 @@
+## 新增用户
+
+
+
+新增用户的默认密码是在bootstrap.yml文件中配置的
+
+
+## 用户授权
+**注意**:新建用户完成后需要给用户授权,否则新用户登陆是啥也看不到。
+
+
+
+**注**:这里没有给新用户赋予默认角色的原因是,在角色管理中角色是可以被删除和修改的,因此在新建用户时需要手动的去授权角色
+
+## 角色管理
+
+
+## 权限分配
+为角色分配权限,可看已有角色示例
+
+
+
diff --git a/doc/docs/guide/community/report.md b/doc/docs/guide/community/report.md
new file mode 100644
index 00000000..9c9b9d6c
--- /dev/null
+++ b/doc/docs/guide/community/report.md
@@ -0,0 +1,14 @@
+# 社区用户提交文档PR的简易说明
+
+## 提交位置
+doc -- > docs --> guide -- > community 目录
+
+
+## 具体操作
+- 请在community目录下新建属于你自己的文件目录,命名方式可以使用自己在gitee的名字作为命名,注意中文命令可能会存在的一些问题。
+- 在你的个人目录下,你可以新建MD文件,需要用到图片可以直接放一个目录,如果md多,图片也多,建议再建下级目录存放。
+
+最后别忘了在config.js中添加配置,如图示。
+
+
+
diff --git a/doc/docs/guide/community/report/img.png b/doc/docs/guide/community/report/img.png
new file mode 100644
index 00000000..4b79b38f
Binary files /dev/null and b/doc/docs/guide/community/report/img.png differ
diff --git a/doc/docs/guide/community/report/img_1.png b/doc/docs/guide/community/report/img_1.png
new file mode 100644
index 00000000..0452f0da
Binary files /dev/null and b/doc/docs/guide/community/report/img_1.png differ
diff --git a/doc/docs/guide/dashboard.md b/doc/docs/guide/dashboard.md
index 9a4a6c72..1b8ed3a4 100644
--- a/doc/docs/guide/dashboard.md
+++ b/doc/docs/guide/dashboard.md
@@ -1,16 +1,21 @@
-## 介绍
-## 新增大屏
-
+## 设计大屏
+进入大屏设计方法1:
+从报表管理模块选择需要设计的大屏,按图示进入大屏设计界面
+
+
+进入大屏设计方法2:
+从大屏报表模块选择需要设计的大屏,按图示进入大屏设计界面
+
## 大屏简介
-
+
## 工具栏
### 文本框
-
-
-
-
+
+
+
+
### 滚动文本
已支持动态数据,请参考文本框的操作
diff --git a/doc/docs/guide/execl.md b/doc/docs/guide/execl.md
new file mode 100644
index 00000000..b3eeb720
--- /dev/null
+++ b/doc/docs/guide/execl.md
@@ -0,0 +1,27 @@
+# 介绍
+execl报表基于Luckysheet开发,[Luckysheet](https://gitee.com/mengshukeji/Luckysheet) 一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。
+**注意:** execl报表目前只是简单集成,如果你遇到了一些问题请在此[Issue](https://gitee.com/anji-plus/report/issues/I4CEWV) 下面进行回复。
+## 表格报表设计
+进入表格设计方法1:
+从报表管理模块选择需要设计的大屏,按图示进入大屏设计界面
+
+
+进入大屏设计方法2:
+从大屏报表模块选择需要设计的大屏,按图示进入大屏设计界面
+
+
+## 简介
+
+
+## 使用
+**注**:不建议一列中同时存在俩个字段数据,同时一列值也建议不要存到超大数据量,肯定无法显示的
+
+
+## 预览/保存
+点击保存,则会将数据写入到库中。
+点击预览,则进入预览界面。
+
+
+## 预览界面
+可以进行导出操作。
+
diff --git a/doc/docs/guide/reportmanager.md b/doc/docs/guide/reportmanager.md
new file mode 100644
index 00000000..b0be4011
--- /dev/null
+++ b/doc/docs/guide/reportmanager.md
@@ -0,0 +1,3 @@
+## 新增报表
+
+状态默认为已启用。
diff --git a/doc/docs/picture/authmanager/img.png b/doc/docs/picture/authmanager/img.png
new file mode 100644
index 00000000..f5823cae
Binary files /dev/null and b/doc/docs/picture/authmanager/img.png differ
diff --git a/doc/docs/picture/authmanager/img_1.png b/doc/docs/picture/authmanager/img_1.png
new file mode 100644
index 00000000..b9a158fa
Binary files /dev/null and b/doc/docs/picture/authmanager/img_1.png differ
diff --git a/doc/docs/picture/authmanager/img_2.png b/doc/docs/picture/authmanager/img_2.png
new file mode 100644
index 00000000..1b926b6a
Binary files /dev/null and b/doc/docs/picture/authmanager/img_2.png differ
diff --git a/doc/docs/picture/authmanager/img_3.png b/doc/docs/picture/authmanager/img_3.png
new file mode 100644
index 00000000..a37ba654
Binary files /dev/null and b/doc/docs/picture/authmanager/img_3.png differ
diff --git a/doc/docs/picture/authmanager/img_4.png b/doc/docs/picture/authmanager/img_4.png
new file mode 100644
index 00000000..143337d7
Binary files /dev/null and b/doc/docs/picture/authmanager/img_4.png differ
diff --git a/doc/docs/picture/authmanager/img_5.png b/doc/docs/picture/authmanager/img_5.png
new file mode 100644
index 00000000..55b9aca0
Binary files /dev/null and b/doc/docs/picture/authmanager/img_5.png differ
diff --git a/doc/docs/picture/authmanager/img_6.png b/doc/docs/picture/authmanager/img_6.png
new file mode 100644
index 00000000..f35d8370
Binary files /dev/null and b/doc/docs/picture/authmanager/img_6.png differ
diff --git a/doc/docs/picture/dashboard/img.png b/doc/docs/picture/dashboard/img.png
deleted file mode 100644
index 67a0a19a..00000000
Binary files a/doc/docs/picture/dashboard/img.png and /dev/null differ
diff --git a/doc/docs/picture/dashboard/img22.png b/doc/docs/picture/dashboard/img22.png
new file mode 100644
index 00000000..a9b7723f
Binary files /dev/null and b/doc/docs/picture/dashboard/img22.png differ
diff --git a/doc/docs/picture/dashboard/img23.png b/doc/docs/picture/dashboard/img23.png
new file mode 100644
index 00000000..83bcb8ce
Binary files /dev/null and b/doc/docs/picture/dashboard/img23.png differ
diff --git a/doc/docs/picture/execl/img.png b/doc/docs/picture/execl/img.png
new file mode 100644
index 00000000..bbfa70cf
Binary files /dev/null and b/doc/docs/picture/execl/img.png differ
diff --git a/doc/docs/picture/execl/img_1.png b/doc/docs/picture/execl/img_1.png
new file mode 100644
index 00000000..5c969c97
Binary files /dev/null and b/doc/docs/picture/execl/img_1.png differ
diff --git a/doc/docs/picture/execl/img_2.png b/doc/docs/picture/execl/img_2.png
new file mode 100644
index 00000000..45efaadb
Binary files /dev/null and b/doc/docs/picture/execl/img_2.png differ
diff --git a/doc/docs/picture/execl/img_3.png b/doc/docs/picture/execl/img_3.png
new file mode 100644
index 00000000..0cc2fcae
Binary files /dev/null and b/doc/docs/picture/execl/img_3.png differ
diff --git a/doc/docs/picture/execl/img_4.png b/doc/docs/picture/execl/img_4.png
new file mode 100644
index 00000000..eafd032e
Binary files /dev/null and b/doc/docs/picture/execl/img_4.png differ
diff --git a/doc/docs/picture/execl/img_5.png b/doc/docs/picture/execl/img_5.png
new file mode 100644
index 00000000..c2112950
Binary files /dev/null and b/doc/docs/picture/execl/img_5.png differ
diff --git a/doc/docs/picture/reportmanager/img.png b/doc/docs/picture/reportmanager/img.png
new file mode 100644
index 00000000..8ce4974b
Binary files /dev/null and b/doc/docs/picture/reportmanager/img.png differ
diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java
index 33523b33..96619603 100755
--- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java
+++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java
@@ -179,19 +179,22 @@ public class AccessUserServiceImpl implements AccessUserService {
accessUserWrapper.eq(AccessUserRole::getLoginName, loginName);
List accessUserRoles = accessUserRoleMapper.selectList(accessUserWrapper);
Set roleCodeSet = accessUserRoles.stream().map(AccessUserRole::getRoleCode).collect(Collectors.toSet());
-
- LambdaQueryWrapper accessRoleAuthorityWrapper = Wrappers.lambdaQuery();
- accessRoleAuthorityWrapper.select(AccessRoleAuthority::getTarget, AccessRoleAuthority::getAction);
- accessRoleAuthorityWrapper.in(AccessRoleAuthority::getRoleCode, roleCodeSet);
- List accessRoleAuthorities = accessRoleAuthorityMapper.selectList(accessRoleAuthorityWrapper);
- List authorities = accessRoleAuthorities.stream()
- .map(accessRoleAuthority -> accessRoleAuthority.getTarget().concat(":").concat(accessRoleAuthority.getAction())).distinct().collect(Collectors.toList());
-
+ if (roleCodeSet.size() < 1) {
+ gaeaUser.setAuthorities(new ArrayList<>());
+ }else {
+ LambdaQueryWrapper accessRoleAuthorityWrapper = Wrappers.lambdaQuery();
+ accessRoleAuthorityWrapper.select(AccessRoleAuthority::getTarget, AccessRoleAuthority::getAction);
+ accessRoleAuthorityWrapper.in(AccessRoleAuthority::getRoleCode, roleCodeSet);
+ List accessRoleAuthorities = accessRoleAuthorityMapper.selectList(accessRoleAuthorityWrapper);
+ List authorities = accessRoleAuthorities.stream()
+ .map(accessRoleAuthority -> accessRoleAuthority.getTarget().concat(":").concat(accessRoleAuthority.getAction())).distinct().collect(Collectors.toList());
+ gaeaUser.setAuthorities(authorities);
+ }
gaeaUser.setLoginName(loginName);
gaeaUser.setRealName(accessUser.getRealName());
gaeaUser.setToken(token);
- gaeaUser.setAuthorities(authorities);
+
String gaeaUserStr = JSONObject.toJSONString(gaeaUser);
cacheHelper.stringSetExpire(userKey, gaeaUserStr, 3600);
diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java
index 4210fc0d..a89fc060 100644
--- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java
+++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java
@@ -159,7 +159,7 @@ public class ReportDashboardServiceImpl implements ReportDashboardService, Initi
.lambda().eq(ReportDashboardWidget::getReportCode, reportCode));
List widgets = dto.getWidgets();
- List reportDashboardWidgetList = new ArrayList<>();
+// List reportDashboardWidgetList = new ArrayList<>();
for (int i = 0; i < widgets.size(); i++) {
ReportDashboardWidget reportDashboardWidget = new ReportDashboardWidget();
ReportDashboardWidgetDto reportDashboardWidgetDto = widgets.get(i);
@@ -175,9 +175,13 @@ public class ReportDashboardServiceImpl implements ReportDashboardService, Initi
reportDashboardWidget.setEnableFlag(1);
reportDashboardWidget.setDeleteFlag(0);
reportDashboardWidget.setSort((long) (i + 1));
- reportDashboardWidgetList.add(reportDashboardWidget);
+
+ //兼容底层,不采用批量插入
+ reportDashboardWidgetService.insert(reportDashboardWidget);
+
+// reportDashboardWidgetList.add(reportDashboardWidget);
}
- reportDashboardWidgetService.insertBatch(reportDashboardWidgetList);
+// reportDashboardWidgetService.insertBatch(reportDashboardWidgetList);
}
diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java
index 1282bfca..d6ef6248 100644
--- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java
+++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java
@@ -315,14 +315,16 @@ public class DataSetServiceImpl implements DataSetService {
if (null == dataSetParamDtoList || dataSetParamDtoList.size() <= 0) {
return;
}
- List dataSetParamList = new ArrayList<>();
+// List dataSetParamList = new ArrayList<>();
dataSetParamDtoList.forEach(dataSetParamDto -> {
DataSetParam dataSetParam = new DataSetParam();
BeanUtils.copyProperties(dataSetParamDto, dataSetParam);
dataSetParam.setSetCode(setCode);
- dataSetParamList.add(dataSetParam);
+ //不采用批量
+ dataSetParamService.insert(dataSetParam);
+// dataSetParamList.add(dataSetParam);
});
- dataSetParamService.insertBatch(dataSetParamList);
+// dataSetParamService.insertBatch(dataSetParamList);
}
@@ -335,15 +337,17 @@ public class DataSetServiceImpl implements DataSetService {
if (null == dataSetTransformDtoList || dataSetTransformDtoList.size() <= 0) {
return;
}
- List dataSetTransformList = new ArrayList<>();
+// List dataSetTransformList = new ArrayList<>();
for (int i = 0; i < dataSetTransformDtoList.size(); i++) {
DataSetTransform dataSetTransform = new DataSetTransform();
BeanUtils.copyProperties(dataSetTransformDtoList.get(i), dataSetTransform);
dataSetTransform.setOrderNum(i + 1);
dataSetTransform.setSetCode(setCode);
- dataSetTransformList.add(dataSetTransform);
+ //不采用批量
+ dataSetTransformService.insert(dataSetTransform);
+// dataSetTransformList.add(dataSetTransform);
}
- dataSetTransformService.insertBatch(dataSetTransformList);
+// dataSetTransformService.insertBatch(dataSetTransformList);
}
}