Giter VIP home page Giter VIP logo

jeecgboot / jimureport Goto Github PK

View Code? Open in Web Editor NEW
5.7K 91.0 1.5K 99.93 MB

🔥「数据可视化报表工具」类似excel操作风格,在线拖拽完成报表设计!功能涵盖: 报表设计、图形报表、打印设计、大屏设计等,完全免费!秉承“简单、易用、专业”的产品理念,极大的降低报表开发难度、缩短开发周期、解决各类报表难题。

Home Page: http://jimureport.com

License: GNU General Public License v3.0

Java 100.00% Dockerfile 0.01%
report ireport birt highcharts jfreechart bigscreen echart bi print jasperreport

jimureport's Issues

使用中的遇到一些问题和建议

非常感谢将积木报对外提供使用与集成,一直在关注这个项目的信息,看到1.1beta发布后,做了一些测试并发现一些问题,具体如下,本人真心希望这个项目越来越优秀。

运行环境:
docker desktop k8s以单点方式运行:
版本:
jeecg-boot 2.4.1 (master 2020-12-11)
jimureport 1.1-beta

问题汇总:
1.报表插入图片后,调整大小后,在图片上右键选择设置背景后,图片恢复原有大小,选择其他也是一样;
2.在上述操作后,想更换背景图片,没找到相应功能;
3.新建报表后,进入报表设计器页面,在不保存的情况下点击预览,链接地址为:about:blank
4.新建报表时,选择在数据报表下,但在保存时,对话框默认还是“报表设计”;
5.当报表有图片背景,并选择分页显示后,调整每页显示的条数,背景图片会消失,重新刷新才会再显示;
6.当将数据列拖动不在一行时只显示不在同一条时,只会显示一条数据,此时点击下一页会显示第11条数据;
7.新建数据集,并创建mysql数据源,点击测试,无提示,但可以正常进行sql解析;

对于图片上传的一些建议:
1.现在是每个图片上传图片后,其他报表要再次使用时需要重新上传,一是操作过于麻烦,二是也不便于统一替换,比如:一些通用性的图标/图片,能否采用资源的方式进行管理;
2.图表创建后,输入名称后,在保存时如果存在会提示,让用户选择是覆盖还是取消;如果基于数据防覆盖的考虑,可以在后端数据库中进行历史报表数据的备份;

此外,还有就是在使用jimureport时(/jeecg-boot/jmreport/list),在做上述测试时,后台服务报异常后,虽然前台还可以使用,但操作一会就会导致容器重启(运行环境见问题开始部分)。
错误信息如下:
2020-12-12 20:00:43.839 [http-nio-8080-exec-5] ERROR org.apache.tomcat.websocket.pojo.PojoEndpointBase:175 - No error handling configured for [org.jeecg.modules.message.websocket.WebSocket] and the following error occurred
java.io.EOFException: null
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1231)
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1141)
at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:72)
at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Unknown Source)
2020-12-12 20:00:43.840 [http-nio-8080-exec-5] INFO org.jeecg.modules.message.websocket.WebSocket:51 - 【websocket消息】连接断开,总数为:0
2020-12-12 20:01:44.126 [http-nio-8080-exec-2] INFO org.jeecg.modules.jmreport.desreport.a.a:809 - ============initDataSource==========
2020-12-12 20:01:44.129 [http-nio-8080-exec-4] INFO org.jeecg.modules.jmreport.desreport.a.a:764 - ============fieldTree==========
2020-12-12 20:01:44.427 [http-nio-8080-exec-10] INFO org.jeecg.modules.jmreport.desreport.a.a:1286 - ============地图列表查询==========
2020-12-12 20:01:48.020 [http-nio-8080-exec-10] INFO org.jeecg.modules.jmreport.desreport.a.a:790 - ============loadDbData==========
2020-12-12 20:01:52.656 [http-nio-8080-exec-9] INFO org.jeecg.modules.jmreport.desreport.a.a:741 - ============saveDb==========
2020-12-12 20:01:53.323 [http-nio-8080-exec-8] INFO org.jeecg.modules.jmreport.desreport.a.a:764 - ============fieldTree==========

前端新建报表时报token非法的问题

跟进昨天在群里说的问题,新建报表时出现
出现token非法的情况。
目前分析如下:
前台在点击新建报表时,先调用的save方法
//新建报表
createExcel: function(){
var that = this;
$http.post({
url:api.saveReport,
data:{},
contentType:'json',
success:(result)=>{
window.open(api.index+result.id+"?token="+this.token);
}
},that)
},
后台进入方法

@PostMapping({"/save"})
@JimuLoginRequired
public Result<?> a(HttpServletRequest var1, @requestbody JSONObject var2) {
try {
JimuReport var3 = this.jmReportDesignService.saveReport(var2);
return Result.OK(var3);
} catch (Exception var4) {
return Result.error(403, "token非法");
}
}

public JimuReport saveReport(JSONObject json) {
String var2 = this.jimuTokenClient.getUsername(this.request);
a.debug("============EXCEL JSON数据正在保存==========");
String var3 = json.getString("excel_config_id");
LambdaQueryWrapper var4 = new LambdaQueryWrapper();
var4.eq(JimuReport::getId, var3);
JimuReport var5 = (JimuReport)((JimuReportMapper)this.baseMapper).selectOne(var4);
JSONObject var6 = json.getJSONObject("designerObj");
String var7 = "";
String var8 = "";
if (var6 != null) {
var7 = var6.getString("name");
var8 = var6.getString("type");
json.remove("designerObj");
}
......

调用save时,代码会从前端传参中获取报表的主键,并调用selectOne方法,但由于新建时,无该主键,所以selectOne抛出异常,该异常被上层捕获后,直接抛出token非法的错误,最终导致该问题。我个人觉得这是一个前端逻辑bug,新建时为什么要save?

大屏尺寸不兼容1920x1080

@zhangdaiscott
1608287431(1)
1608287494(1)
在大屏设计器中设置大屏尺寸 1920x1080 在实际使用中全屏观看的时候,出现了滚动条,并且滚到到最右边会出现一块黑色的边,详情见如上图

新建弹窗登陆过期 预览报字段错误

按文档步骤部署到本地后,部署成功,但不能新建,提示:登录已过期,可以对示例进行设计,但不能预览 提示字段错误,
环境:oracle11G,jeecg boot2.3
集成依赖 jar
执行升级 sql sql是从mysql同步过来的
修改配置文件
角色授权菜单,就可以看到报表设计菜单
shiro权限排除

不能新建的我进行了Debug 发现在a.class @PostMapping({"/save"})
public Result<?> a(HttpServletRequest var1, @requestbody JSONObject var2) {}的这个方法中的
JimuReport var7 = (JimuReport)this.jmReportDesignService.getOne(var6);这条语句 如果是mysql的话就没有问题 oracle直接走catch

jeecgboot2.1+JimuReport

jeecgboot用的2.1,集成报表的时候报表的service出现循环引用了,咋解决呢?谢谢,具体描述见下面

Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'jimuReportServiceImpl': Bean with name 'jimuReportServiceImpl' has been injected into other beans [jmReportDbFieldServiceImpl] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.
1609836743(1)

sql解析出错

我有一个sql 类似于
select a,b,c from db1
union
select * from (
select a2,b1,c1 from db2
where ....
group by ...)db3
这种,但是sql解析的时候会把where及其之后的内容截断,变成
select count(1) from (select a,b,c from db1
union
select a2,b1,c1 from db2) temp_count where 1=1 这种了,有办法解决吗

我在使用时候发现两个问题

问题1:在使用sql数据聚合的时候 ,生成分页列表 开始默认 10条/每页 第一次 点击下一页 可用 第二次点击下一页不可用
问题2:选择 图表柱状图 sql数据集 我配置的另一个数据源,不是jeecg-boot , 然后在配置柱状图数据项绑定的时候 点击运行,后台报错,显示找的是jeecg-boot的数据源,而不是我配置的数据源

导出功能无法使用

1、带参数api数据集,excel导出,后台只接收到参数默认值,且调式接口有数据返回,但是表格还是${}字段,没有数据替换。参数只接收默认字段应该是下面这段代码的问题, 数据没替换不知道原因
for(var47 = var45.keySet().iterator(); var47.hasNext(); var21 = var21.replace(var49 + "='${" + var49 + "}'", var49 + "=" + var26)) { var49 = (String)var47.next(); var26 = var45.getString(var49); if (StringUtils.isEmpty(var26)) { var26 = ""; } }
2、pdf导出也是没有参数传入,麻烦看看原因

数据源配置问题

以下问题是在使用,报表设计器——打印设计下具体设计报表时,添加mysql数据源的时候遇到的问题。我不确定大家是否都有遇到同样的问题。
1、页面上添加数据源按钮操作。数据源配置只支持一个,添加第二个,第一个就被覆盖了。
2、数据配置完,测试连接通过,保存成功。但是添加sql数据集的时候,并不是访问的页面上配置的数据源的链接信息,而是走的yaml文件里面写的数据库链接。只有对应yaml文件里面的数据库的表才能查的到,才能解析成功。

积木报表功能建议 =》标签打印功能

  • 报表添加自定义纸张尺寸 例:100 * 70
  • 报表添加打印条码,二维码功能
  • 分栏打印能有吗?

_ 不是我要求太多,实在是对大神们的景仰犹如滔滔江水连绵不绝_

数据报表分组 合计问题

我们需要实现一些数据的分组还有,各分组的合计以及总计 目前看视频还有文档教程里面都没有涉及这部分。
官网报表示例各个表如果能实现就好了

没有基于jeecg-boot的项目,引入404

<dependency>
            <groupId>com.jimureport</groupId>
            <artifactId>spring-boot-starter-jimureport</artifactId>
            <version>1.1-beta</version>
        </dependency>

image

image

image
搭建过程中遇到的问题,本地Maven仓库是可以拉到Jar包的,但是Class 没办法加载进来

是否支持主子表?

有以下场景,有一个工程(主表),有供应商信息(子表),有材料信息(子表),报表上面显示工程信息(一条数据但是分多行显示),下面显示供应商信息(多条数据多行显示,每行显示一条数据),再下面显示材料信息(多条数据多行显示,每行显示一条数据),这种主子表形式的报表是否可以支持?

图表取的还是内置数据源。

插入图表后,选择相应数据源和字段,但是图表没有展示;通过后台报错发现图表实际取的还是内置数据源。

套打预览打印后,对不齐

操作步骤:
1、点开报表设计器
2、新建报表,导入图片并设置为套打图片
3、调整单元格,与图片填写内容处对齐,输入内容
4、保存并填写报表名称,#bug1
5、调整后再次保存,点击预览,看到套打图片与内容吻合
6、为了保证图片与实际大小相符,进行如下操作:1、第一次打印直接打印图片,再将打印出的图片放入打印机;2、点击设计器预览中的打印按钮。#bug2

bug说明:
bug1:第一次保存报表,调整好的位置会在保存后刷新时改变位置,需要微调。
bug2:打印出来的套打,对不齐,内容列在实际打印出来都会偏左一列,与图片重合了。请参考效果图。

bug1效果图:
第一次保存前调整好后的截图:
11
第一次保存自动刷新页面后的截图,一定程度的向右偏和向下偏:
保存后
bug2效果图:
打印错误结果

无法打开报表设计器页面

按照readme的步骤,成功安装了依赖并给菜单设置了权限,点击“报表设计器”的时候,打开了新的标签页,提示
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sun Nov 01 11:33:52 CST 2020
There was an unexpected error (type=Not Found, status=404).
No message available

无法使用

按文档步骤部署到本地后,部署成功,但不能新建,提示:登录已过期

按文档步骤部署到本地后,部署成功,但不能新建,提示:登录已过期
环境:oracle11G,jeecg boot2.2.1
部署步骤:
第一步: 集成依赖 jar
第二步: 执行升级 sql
第三步:修改配置文件
第四步: 角色授权菜单,就可以看到报表设计菜单
第五步: shiro权限排除
第六步:ISysBaseAPI 集成下类CommonAPI.java
第七步:覆盖类TokenUtils.zip
第八步:从2.3覆盖org/jeecg/common/api/vo/Result.java

excel 导出,添加的参数没有生效

版本号:1.0.2-beta

问题描述:excel数据集包含参数的情况下,修改链接中的参数,预览时显示没问题,导出的excel中参数没有生效

截图&代码:
EC7E4203-A60A-4b0d-AFE6-A3116F2E127D

B1561DD9-04B9-421e-92B7-2401080A4E43

A87D9149-2876-4aa2-B77B-C68A21F8AD77

736E3FB4-A580-4ac3-8016-3B66382BC2F7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.