Przeglądaj źródła

Merge branch 'dev' of https://gitee.com/anji-plus/report into dev

qianlishi 4 lat temu
rodzic
commit
3780db8589
29 zmienionych plików z 113 dodań i 30 usunięć
  1. 1 3
      README.md
  2. 4 1
      doc/docs/.vuepress/config.js
  3. 22 0
      doc/docs/guide/authmanager.md
  4. 14 0
      doc/docs/guide/community/report.md
  5. BIN
      doc/docs/guide/community/report/img.png
  6. BIN
      doc/docs/guide/community/report/img_1.png
  7. 13 8
      doc/docs/guide/dashboard.md
  8. 27 0
      doc/docs/guide/execl.md
  9. 3 0
      doc/docs/guide/reportmanager.md
  10. BIN
      doc/docs/picture/authmanager/img.png
  11. BIN
      doc/docs/picture/authmanager/img_1.png
  12. BIN
      doc/docs/picture/authmanager/img_2.png
  13. BIN
      doc/docs/picture/authmanager/img_3.png
  14. BIN
      doc/docs/picture/authmanager/img_4.png
  15. BIN
      doc/docs/picture/authmanager/img_5.png
  16. BIN
      doc/docs/picture/authmanager/img_6.png
  17. BIN
      doc/docs/picture/dashboard/img.png
  18. BIN
      doc/docs/picture/dashboard/img22.png
  19. BIN
      doc/docs/picture/dashboard/img23.png
  20. BIN
      doc/docs/picture/execl/img.png
  21. BIN
      doc/docs/picture/execl/img_1.png
  22. BIN
      doc/docs/picture/execl/img_2.png
  23. BIN
      doc/docs/picture/execl/img_3.png
  24. BIN
      doc/docs/picture/execl/img_4.png
  25. BIN
      doc/docs/picture/execl/img_5.png
  26. BIN
      doc/docs/picture/reportmanager/img.png
  27. 12 9
      report-core/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java
  28. 7 3
      report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java
  29. 10 6
      report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java

+ 1 - 3
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) <br>

+ 4 - 1
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开发环境'}
                     ]
                 }

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

@@ -0,0 +1,22 @@
+## 新增用户
+![img](../picture/authmanager/img.png) <br>
+
+![img](../picture/authmanager/img_1.png) <br>
+新增用户的默认密码是在bootstrap.yml文件中配置的 <br>
+![img](../picture/authmanager/img_2.png) <br>
+
+## 用户授权
+**注意**:新建用户完成后需要给用户授权,否则新用户登陆是啥也看不到。<br>
+![img](../picture/authmanager/img_3.png) <br>
+
+![img](../picture/authmanager/img_4.png) <br>
+**注**:这里没有给新用户赋予默认角色的原因是,在角色管理中角色是可以被删除和修改的,因此在新建用户时需要手动的去授权角色 <br>
+
+## 角色管理
+![img](../picture/authmanager/img_5.png) <br>
+
+## 权限分配
+为角色分配权限,可看已有角色示例 <br>
+![img](../picture/authmanager/img_6.png) <br>
+
+

+ 14 - 0
doc/docs/guide/community/report.md

@@ -0,0 +1,14 @@
+# 社区用户提交文档PR的简易说明
+
+## 提交位置
+doc -- > docs --> guide -- > community 目录 <br>
+![img](../../guide/community/report/img.png) <br>
+
+## 具体操作
+- 请在community目录下新建属于你自己的文件目录,命名方式可以使用自己在gitee的名字作为命名,注意中文命令可能会存在的一些问题。<br>
+- 在你的个人目录下,你可以新建MD文件,需要用到图片可以直接放一个目录,如果md多,图片也多,建议再建下级目录存放。<br>
+
+最后别忘了在config.js中添加配置,如图示。<br>
+![img](../../guide/community/report/img_1.png) <br>
+
+

BIN
doc/docs/guide/community/report/img.png


BIN
doc/docs/guide/community/report/img_1.png


+ 13 - 8
doc/docs/guide/dashboard.md

@@ -1,16 +1,21 @@
-## 介绍
-## 新增大屏
-![img.png](../picture/dashboard/img.png)
+## 设计大屏
+进入大屏设计方法1: <br>
+从报表管理模块选择需要设计的大屏,按图示进入大屏设计界面 <br>
+![img](../picture/dashboard/img22.png) <br>
+
+进入大屏设计方法2: <br>
+从大屏报表模块选择需要设计的大屏,按图示进入大屏设计界面 <br>
+![img](../picture/dashboard/img23.png) <br>
 
 ## 大屏简介
-![img_2.png](../picture/dashboard/img_2.png)
+![img_2.png](../picture/dashboard/img_2.png) <br>
 
 ## 工具栏
 ### 文本框
-![img_3.png](../picture/dashboard/img_3.png)
-![img_4.png](../picture/dashboard/img_4.png)
-![img_5.png](../picture/dashboard/img_5.png)
-![img_6.png](../picture/dashboard/img_6.png)
+![img_3.png](../picture/dashboard/img_3.png) <br>
+![img_4.png](../picture/dashboard/img_4.png) <br>
+![img_5.png](../picture/dashboard/img_5.png) <br>
+![img_6.png](../picture/dashboard/img_6.png) <br>
 
 ### 滚动文本
 已支持动态数据,请参考文本框的操作 <br>

+ 27 - 0
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) 下面进行回复。<br>
+## 表格报表设计
+进入表格设计方法1: <br>
+从报表管理模块选择需要设计的大屏,按图示进入大屏设计界面 <br>
+![img](../picture/execl/img.png) <br>
+
+进入大屏设计方法2: <br>
+从大屏报表模块选择需要设计的大屏,按图示进入大屏设计界面 <br>
+![img2](../picture/execl/img_1.png) <br>
+
+## 简介
+![img3](../picture/execl/img_2.png) <br>
+
+## 使用
+**注**:不建议一列中同时存在俩个字段数据,同时一列值也建议不要存到超大数据量,肯定无法显示的<br>
+![img4](../picture/execl/img_3.png) <br>
+
+## 预览/保存
+点击保存,则会将数据写入到库中。<br>
+点击预览,则进入预览界面。<br>
+![img](../picture/execl/img_4.png) <br>
+
+## 预览界面
+可以进行导出操作。<br>
+![img](../picture/execl/img_5.png) <br>

+ 3 - 0
doc/docs/guide/reportmanager.md

@@ -0,0 +1,3 @@
+## 新增报表
+![img](../picture/reportmanager/img.png) <br>
+状态默认为已启用。

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


+ 12 - 9
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<AccessUserRole> accessUserRoles = accessUserRoleMapper.selectList(accessUserWrapper);
         Set<String> roleCodeSet = accessUserRoles.stream().map(AccessUserRole::getRoleCode).collect(Collectors.toSet());
-
-        LambdaQueryWrapper<AccessRoleAuthority> accessRoleAuthorityWrapper = Wrappers.lambdaQuery();
-        accessRoleAuthorityWrapper.select(AccessRoleAuthority::getTarget, AccessRoleAuthority::getAction);
-        accessRoleAuthorityWrapper.in(AccessRoleAuthority::getRoleCode, roleCodeSet);
-        List<AccessRoleAuthority> accessRoleAuthorities = accessRoleAuthorityMapper.selectList(accessRoleAuthorityWrapper);
-        List<String> 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<AccessRoleAuthority> accessRoleAuthorityWrapper = Wrappers.lambdaQuery();
+            accessRoleAuthorityWrapper.select(AccessRoleAuthority::getTarget, AccessRoleAuthority::getAction);
+            accessRoleAuthorityWrapper.in(AccessRoleAuthority::getRoleCode, roleCodeSet);
+            List<AccessRoleAuthority> accessRoleAuthorities = accessRoleAuthorityMapper.selectList(accessRoleAuthorityWrapper);
+            List<String> 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);
 

+ 7 - 3
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<ReportDashboardWidgetDto> widgets = dto.getWidgets();
 
-        List<ReportDashboardWidget> reportDashboardWidgetList = new ArrayList<>();
+//        List<ReportDashboardWidget> 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);
 
     }
 

+ 10 - 6
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<DataSetParam> dataSetParamList = new ArrayList<>();
+//        List<DataSetParam> 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<DataSetTransform> dataSetTransformList = new ArrayList<>();
+//        List<DataSetTransform> 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);
     }
 
 }