GithubHelp home page GithubHelp logo

jeecgboot / jimureport Goto Github PK

View Code? Open in Web Editor NEW
5.6K 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 People

Contributors

learningpro avatar zhangdaiscott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jimureport's Issues

无法打开报表设计器页面

按照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

无法使用

导出功能无法使用

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导出也是没有参数传入,麻烦看看原因

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

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

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

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

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

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

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

是否支持主子表?

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

大屏尺寸不兼容1920x1080

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

数据源配置问题

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

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 这种了,有办法解决吗

没有基于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 没办法加载进来

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

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

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

数据报表分组 合计问题

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

套打预览打印后,对不齐

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

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

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

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

非常感谢将积木报对外提供使用与集成,一直在关注这个项目的信息,看到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==========

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

按文档步骤部署到本地后,部署成功,但不能新建,提示:登录已过期,可以对示例进行设计,但不能预览 提示字段错误,
环境: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

前端新建报表时报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?

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)

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.