Skip to content

Releases: jeecgboot/JimuReport

v1.7.4

01 Apr 03:38
Compare
Choose a tag to compare

当前版本:v1.7.4 | 2024-04-01

集成依赖

<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.7.4</version>
</dependency>

升级日志

围绕使用体验进行了优化和亮点新功能升级、修复issue问题并重点解决老版JeecgBoot与积木报表兼容问题。

  • 解决设置分页不起作用问题
  • 解决老版JeecgBoot集成最新积木报表报错问题(排除依赖中jsqlparse高版本)
  • 新功能,支持设置cell设置参与计算规则,支持负数不参与、空值不参与、全不参与
  • 新功能,小数点支持批量设置
  • 新功能,列表支持展示两个数据集的数据
  • 新功能,支持批量设置单元格尺寸弹窗功能
  • 新功能,导出pdf支持选择导出目录
  • 新功能,导出pdf、excel、大数据excel,支持base64格式图片
  • 新版右键菜单样式
  • =表达式自动注入字段,不用手工输入,支持按住control多选(支持单元格函数和DB函数)
  • 解决base64渲染慢的问题
  • 优化数据集的SQ输入框加一个放大按钮
  • 解决批量设置单元格,设置后,再次打开还是原来数值
  • 解决主子报表,设置主子关联后,预览报暂无数据
  • 修复导出图片报错处理
  • 修复图表颜色设置改造后,导致部分图表渲染失败
  • 查询条件label换行问题,改成超长省略显示
  • 弹窗右上角加上关闭按钮,方便操作
  • dbSum表达式适配支持#{}格式字段,降低使用难度
  • 解决导出pdf base64格式的图片未按照配置的高宽
  • 数据源安全模式下,有角色的用户还是可以使用数据源测试接口
  • 解决中文提示出现乱码
  • 解决主子表循环打印,主子表关联参数查询有问题
  • 新增安全发布模式(prodsf),不允许任何用户和角色操作
  • 新增统计非零的个数函数 =COUNTNZ()
  • =DBSUM(#{ceshi_001.c})适配#{}字段格式
  • 解决SUM、MAX、MIN统计函数混合使用问题 #2493
  • 增加加载效果 · Issue #2440
  • 解决1.7 版本主子表循环打印,主子表参数查询显示问题 · Issue #2435
  • 新功能,支持批量修改格子高度 · Issue #2404
  • 新功能,一个单元里面放多个数据源的字段,只会显示第一个,后面的数据源数据字段值不会显示 · Issue #2477
  • 解决积木报表设计时绿色线因为浏览器的缩放比例调整而变得不准 · Issue #2401
  • 解决sum 和 dbsum不能同时使用 · Issue #2409
  • 解决Maximum call stack size exceeded #2484
  • 解决动态分组下一行后方合计无效 #2461
  • 优化右侧工具栏分隔符样式
  • 优化图标样式
  • 输入值弹窗,清空表达式值没效果
  • 循环块内字段多值显示问题 #2336
  • PDF打印到第二页的时候,背景图片被第一页的文字覆盖
  • count函数统计非零单元格个数,空字符串不参与计算
  • 图表设置单元格背景色后打印和导出PDF显示异常 #2354
  • 自动换行打印空白页 #2051

v1.7.2

01 Apr 02:54
Compare
Choose a tag to compare

当前版本:v1.7.2 | 2024-03-07

集成依赖

  • springboot2依赖
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.7.2-beta</version>
</dependency>
  • springboot3依赖
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
  <version>1.7.2-beta</version>
</dependency>

升级日志

  • 新增冻结功能(支持锁定列行)
  • 导出pdf 行距错乱,变得不可控 #2431
  • 点击打印预览时会多出两个空白页 [#2415](点击打印预览时会多出两个空白页 #2415 "#2415")
  • springboot3, 积木报表 聚合分组查询失败 #2398
  • 支持base64格式图片
  • 图表颜色配置,按照顺序给系列赋颜色并支持调整顺序
  • 压缩静态资源,提升加载性能
  • 横向动态合并 支持前边合计
  • pdf导出两边默认有空格,需要减去两边的空格
  • pgsql为数据源的情况下,数值类型变量莫名其妙被转成字符类型比较

v1.7.0 变革版本发布

05 Mar 10:10
Compare
Choose a tag to compare

当前版本:v1.7.0 | 2024-02-18

集成依赖

<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.7.0</version>
</dependency>

::授权变更::

从v1.7.0+开始,积木报表做出重大变革,推出付费版本。免费版本会持续发布,不过功能会受到限制,以便于本项目更好的发展。

  • 积木报表自2019年研发以来,一直坚持免费向用户提供服务。然而,随着项目的不断发展和运营成本的增加,目前面临着一些困难。为了保障项目的良性发展和持续运营,团队决定从1.7.0版本开始变更开源协议,并推出付费版本和免费版。
  • 付费版本的推出将有助于筹集资金,用于软件的维护、更新和改进,以及提供更加稳定和优质的服务。同时,免费版仍将继续存在,但部分功能会受到一定的限制。如果用户不希望受到影响,可以选择继续使用1.7以下的版本,这些版本将遵循原来开源协议,并会进行一段时间的维护,以保障安全漏洞等级别问题。
  • 这一变更旨在确保积木报表软件能够持续稳定地为用户提供服务,并为未来的发展奠定坚实的基础,团队希望用户能够理解并支持这一决定。

升级日志

#升级SQL
ALTER TABLE `jimu_report_share` 
ADD UNIQUE INDEX `uniq_report_id`(`report_id`);

ALTER TABLE jimu_report_share 
ADD COLUMN share_token varchar(50) NULL COMMENT '分享token' AFTER preview_lock_status,
ADD UNIQUE INDEX uniq_jrs_share_token(share_token);

ALTER TABLE `jimu_report`
ADD COLUMN `py_str` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT 'py增强' AFTER `js_str`;
#新功能
  • 缩放打印
  • 支持批量、接口、定时导出PDF/EXCEL
  • 格式化增加年/月/年月
  • 支持隐藏 数据计算单元格
  • 支持主子表循环打印
  • 报表分享带临时令牌(更安全)
#issues
  • 最新版本的搜索框搜索失效 · Issue #2255
  • 配置了“多租户模式”=“tenant”,并且“数据源安全”=“false”后:访问报表提示“安全模式下,不允许使用平台数据源(请配置数据源)!” · Issue #2244
  • Posgresql数据库, timestamp 字段 查询,提示timestamp without time zone >= character varying · Issue #2166
  • 查询报表中日期范围和数据集求和同时存在时,查询报错,sql缺失and条件 · Issue #2258
  • 积木报表API数据显示不出来 · Issue #881
  • 【1.6.6版本】SQL中字段别名使用中文查询时会报错,无法解析中文 · Issue #2269
  • API 数据返回非集合数据,处理时使用了JSONArray处理 · Issue #2261
  • 报表条件表达式case无短路特性 · Issue #2265
  • 积木报表API数据显示不出来 · Issue #881
  • 函数不能和文字进行组合了 · Issue #2211
  • 通过api解析查询到数据,分组后排序错乱,不是sql查询,1.5.2版本还没有问题,更新到最新版本后错乱。 · Issue #2203
  • 官网在线体验,图表设置单元格背景色后打印和导出PDF显示异常 · Issue #2354
  • 导入报表配置报错 · Issue #2333
  • 自定义横向分组 日期排序错误,不能排序 · Issue #2355
  • 删除线,下划线使用之后再点取消,导出的excel仍有两线 · Issue #2345
  • 图表PDF导出内容异常 · Issue #2332
  • DBSUM 加查询条件统计时报 SQL 语法错误,条件字段前缺少 and · Issue #2367
  • 多租户模式下,报表钻取url参数没有tenantId · Issue #2288
  • 重构分组合计计算逻辑,解决合计的系列问题
  • 报表名称前后有空格 模糊搜索不显示
  • 查询条件,选中后,点击不出现下拉项
  • 查询框鼠标上下滚动,会出现闪动的情况
  • 安全模式下存在 select * 的时候,判断拥有sql解析权限的角色,如果有可以走数据库
  • 数据源测试连接 测试不了
  • 年月选中未显示
  • 【issues/2194】多租户模式,报表名称的唯一性校验逻辑问题
  • [issue/#881] api报表增加字段映射功能
  • 函数表达式 有空格时失效
  • 日期函数支持小时显示
  • 带背景导出图片错乱 #2379
  • 带背景导出图片时报错 #2377

v1.6.6 版本发布

11 Dec 04:44
Compare
Choose a tag to compare

当前版本:v1.6.6 | 2023-12-11

集成依赖
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.6.6</version>
</dependency>
#升级日志
#issues
  • 多租户 积木报表api接口取数据没带上tenantId · Issue #5581
  • 1.6.3 - SQL解析失败:请注意,值可能存在SQL注入风险! · Issue #2198
  • 提示SQL注入风险,提示不准确导致SQL无法保存 · Issue #2214
  • 先小计再合计中使用AVERAGE()函数计算平均数计算有误 · Issue #2197
  • 租户id获取不到 · Issue #2180
  • 自定义函数参数中有单元格取值和自定义参数时,单元格参数获取为空 · Issue #1895
  • 导出图表报错 NumberFormatException · Issue #2236
  • 查询条件下拉框数据有重复值 · Issue #2234
  • 升级底层依赖autopoi版本到1.4.7

v1.6.5 版本发布

20 Nov 03:31
Compare
Choose a tag to compare

当前版本:v1.6.5 | 2023-11-20

集成依赖
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.6.5</version>
</dependency>
#升级日志
#issues
  • 低代码开发模式下,字典code查询提示不允许使用在线配置 · Issue #2053
  • 表格禁用勾选后,点击全选还是会选中 · Issue #5466
  • 报表钻取,参数传递不对。 · Issue #1974
  • 报表钻取相同栏位值跳转参数错误 · Issue #1980
  • 超链接出现的问题:报表钻取 · Issue #1440
  • 报表钻取参数不传递 · Issue #1616
  • 升级1.6.2 后老是提示 注意,值可能存在SQL注入风险 · Issue #2032
  • 单元格上对数据集进行过滤,报错 · Issue #2060
  • 分版之后导出Excel报空指针异常 · Issue #2081
  • 合计项,报 表达式处理出错,单元格 · Issue #2063
  • 通知无法接收 · Issue #5503
  • 富文本显示问题 · Issue #2150
  • 导入报表配置限制json文件
  • 字典参数URL被多次调用,影响效率 · issue #2049
  • 在使用compute()内支持任意运算符计算时,如果除法为0,则为空 · issues #2082
  • SUM方法参数过长报错问题Method code too large · issues #2004
  • 分组且合并了单元,打印翻页后渲染异常 · issues #2025
  • 打印小纸张报表预留的右边距过大影响正常文本内容显示 · issues #2042
  • 请自定义 JmReportTokenServiceI 的实现类,获取用户账号不允许为空! #2151

v1.6.4 版本正式发布

15 Oct 11:57
Compare
Choose a tag to compare

当前版本:v1.6.4 | 2023-10-16

#升级内容

继安全加固版本后的稳定版本,修复因为安全升级导致的一些bug,进一步优化相关功能;

集成依赖
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.6.4</version>
</dependency>
#升级日志
#issues

v1.6.2 版本正式发布

22 Sep 02:11
Compare
Choose a tag to compare
  • 领先的企业级Web报件,采用纯Web在线技术,专注于解决企业报表快速制作难题。

当前版本:v1.6.2 | 2023-09-22

#升级内容

稳固1.6.2-GA版本,修复GA版本发现的bug,新增了几个新功能;

集成依赖
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.6.2</version>
</dependency>

最新依赖还未上传 maven 官仓,下载失败请先配置 JEECG的Maven私服

#升级日志
#issues

v1.6.2-GA5版本发布—高危SQL漏洞安全加固版

21 Sep 02:12
Compare
Choose a tag to compare

当前版本:v1.6.2-GA5 | 2023-09-12

#升级内容

重点解决SQL漏洞被攻击等安全问题!本次版本进行了非常大重构,重构了权限机制并彻底重写了SQL执行逻辑,解决了SQL漏洞风险;并处理了上个版本已知严重Bug;

::: 重要的事情只说一遍,必须升级,不然你会被攻击 :::

#新版规则变化
  • 1、多租户的配置方式变更为:saasMode
  • 2、新增低代码开发模式 lowCodeMode:prod,完全禁止在线报表设计能力,彻底避免被攻击
  • 3、默认报表预览地址必须带token,只能通过报表分享连接给他们访问报表
集成依赖
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.6.2-GA5</version>
</dependency>

最新依赖还未上传 maven 官仓,下载失败请先配置 JEECG的Maven私服

#升级日志
#升级权限内容:通过以下几个维度保障报表安全
1、增加低代码开发模式配置 jeecg.jmreport.firewall.lowCodeMode: prod
  发布模式下会关闭所有报表设计相关接口,普通用户只能访问报表不能做任何报表修改,彻底解决被攻击风险
  为了便于线上报表临时维护,拥有角色 "admin"、"lowdeveloper" 的用户,可以拥有设计权限

2、敏感接口,增加角色权限控制
  容易被攻击的敏感接口默认加了角色权限控制,拥有角色 "admin","lowdeveloper","dbadeveloper" 的用户,可以访问这些接口
  敏感接口如下:
  a、数据预览接口
  b、数据源连接测试是否准确接口

3、增加数据隔离配置 jmreport.saasMode:created
  线上发布请按照创建人或者租户实现数据隔离,保证他人数据安全
  created:按照创建人隔离、tenant:按照租户隔离

4、增加数据源安全配置 jeecg.jmreport.firewall.dataSourceSafe: true
  开启数据源安全后,不允许使用平台数据源、SQL解析加签并且不允许查询数据库

5、重写了sql参数拼接的写法,全部换成占位符方式,防止被攻入的可能
6、进一步加强了sql注入检查算法,通过深度解析SQL,检查是否存在攻击函数等

详细配置参数如下:

jeecg :
  jmreport:
    #多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) (v1.6.2+ 新增)
    saasMode: created
    # 平台上线安全配置(v1.6.2+ 新增)
    firewall:
      # 数据源安全 (开启后,不允许使用平台数据源、SQL解析加签并不允许查询数据库)
      dataSourceSafe: true
      # 低代码开发模式(dev:开发模式,prod:发布模式—关闭在线报表设计功能,分配角色admin、lowdeveloper可放开限制)
      lowCodeMode: prod

特殊场景

如果某个人可以在测试环境下设计报表,但是不能在发布环境下设计报表,只分配角色dbadeveloper即可,当然测试环境下需要把lowCodeMode改成dev。

#升级修复ISSUES
  • 当单元格设置格式为数值是0值不显示#1936
  • 打印出现空白页#1924
  • 使用统计函数=DBSUM,导致预览页面展示空白#1806
  • 单元格为数值类型,若为值0或者为空,控制台报错#1940
  • 在设计报表使用数据图表设置为SQL数据集无法运行更新并保存#1629
  • 横向分组使用右侧输入值无法预览#1864
  • 在W列之后添加compute计算函数导致整个报表都无法显示#1866
  • 自定义函数参数中有单元格取值和自定义参数时,单元格参数获取为空#1895
  • 导入报表sql,界面没有显示,控制台提示 json解析错误#1482
  • 参数的宽度怎么调整#1631
  • 报表钻取问题,跳转参数设置问题,条件不生效问题#1604
  • SQL解析空表时报500#1658
  • api数据集,重新解析时最后一列 参数配置 的数据会被清除掉#1485
  • 关于数据集格式化后导出保留两位小数点,不足补零的问题#1834
  • springboot 2.3.5-RELAESE 预览报表界面接口 jmreport/getQueryInfo 返回为空导致一直加载#1660
  • excel交叉报表导出报错#1696
  • Excel导出当数值个位数时(0-9)会为文本格式#1575
  • 多数据集与分栏功能共同使用时报NTP#1587
  • Excel导出后数字为0的表格显示类型不正确#1452
  • 报表数据超过1000多条时,导出失败#1749
  • 关于报表页面展示与导出excel样式不一致问题的补充#1646
  • 合并单元格并设置单元格格式为条形码或二维码时,在某些样式下无法导出pdf#1649
  • 关于数据解析的问题#1521
  • 日期时间类型数据,导出为pdf,格式不一致#1942
  • 自带的分页查询接口返回pageNo不对#1578
  • api解析报表参数传时间默认值问题#1600
  • API自定义查询条件,API被调用多次#1325
  • 报表钻取后 返回上一页发现 日期查询条件的日期变成上一天了#1886
  • 升级版本后手写分页失效#1453
  • 页码显示有误#1893
  • 固定表头打印#1941
  • 版本1.6.0图表显示异常,数据已经提取,但部分内容未显示完全,呈现空白#1921
  • 循环块中插入二维码打印异常分页#1655
  • 1.5.8升级到1.6.1后,预览显示不全,打印预览正常#1931
  • 表单与预览不一致#1944
  • 模板设置无边框,导出Excel还是有边框#1512
  • 二维码生成的容错级别#1957
  • jeecgboot3.5.3 存在未授权sql注入(布尔盲注绕过)#5311
  • 数值为0的单元格打印时变成空值#1972
  • 字典code sql包含系统变量时,报表该列数据无法正常翻译为显示值#1984

v1.6.1

05 Sep 16:25
Compare
Choose a tag to compare

1.6.1

2023-08-16

更新

#升级日志

【漏洞通知】修复Freemarker注入漏洞,危害等级:高危

描述:Freemarker模板注入导致远程命令执行, 远程攻击者可利用该漏洞调用在系统上执行任意命令。

Issues处理
  • echarts 提示框的位置问题 #1630
  • 饼图数值显示问题 #1814
  • 分组支持自定义中文排序 #1539
  • 分组排序 #1909
  • 项目部署后接口请求地址问题 #1584
  • 怎么自定义API请求地址 #1576
  • 行数太少,设置行数不生效 #1537
  • 报表code字段不断增加,等复制次数达到一定次数后,code长度超过数据库字段长度,导致无法复制 #1533
  • 积木报表配置自定义函数选择SUM函数合计行之后,取值错误。 #1816
  • 纵向分组排序,排序方式 设置为默认,没有按照源数据进行排序 #1539
集成依赖
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.6.1</version>
</dependency>

最新依赖还未上传maven官仓,下载失败请先配置 jeecg的 Maven私服

  • mogodb/redis支持包(按需添加)
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-nosql-starter</artifactId>
  <version>1.6.0</version>
</dependency>
其他参考

v1.6.0

15 Aug 11:57
Compare
Choose a tag to compare
  • 领先的企业级Web报表软件,采用纯Web在线技术,专注于解决企业报表快速制作难题。

当前版本:v1.6.0 | 2023-08-15

#升级日志

重点修复打印严重bug,新增一些功能:比如支持sqlserver分页设置、单元格支持设置多边框等!

升级内容
  • 重点修复一系列打印严重bug
  • 单元格设置支持设置多边边框
  • 数据验证条件下拉样式错乱
  • 【QQYUN-6086】打印的时候一个table(图片)是一页
  • 【QQYUN-6090】打印时分页问题
  • 表达式数据格式 设置小数 默认为decimal
  • sql注入 去掉update/delete前面的空格
  • 打印时图片压着单元格线了
  • 左侧序号列支持选中右键操作
  • Sqlserver支持分页设置
  • 设计器添加边框出现前端 svg标签 #1853
  • 如何注释打印台数据 #1876
  • sql注入问题 #1679
  • 人民币金额转大写的时候;如果后缀金额为.78,转成大写为柒角柒分;以及.68,分也会转成七 #1673
  • 选择单元格边框线粗细时出现乱码 #1483
  • 报表插入本地图片时图片上传请求头未带token #1674
  • 在接入token的认证后,设计报表点击插入图片时并没有像其他接口一样带上token #1709
  • 日期控件 #1871
  • sqlserver数据源 数据中无法使用order by #1837
  • sql server 数据库 报表字段明细中设置字段查询,查询时sql 中的排序无效 #1848
  • 垂直居中后 样式上有所差异 #1594
修复打印issue
  • 打印莫名出现空白页(设计页面下边空白行已删掉) #1832
  • 单元格二维码打印页崩溃BUG #1799
  • 打印设计,插入二维码或者插入图片后,打印时会多出一张空白页 #1737
  • 导入图片,打印出现空白页问题 #1662
  • 浏览器打印总会多一页空白页 #1596
  • html打印带二维码的模板,二维码会占据一整页,把内容挤到下一页 #1572
  • 单元格斜线打印问题 #1518
  • 表格二维码,胡乱分页bug #1519
  • 表格中的二维码打印时会独占一页,导致分页错乱 #1534
  • html打印带二维码的模板,二维码会占据一整页,把内容挤到下一页 #1572
  • 表格中的二维码打印时会独占一页,导致分页错乱 #1534
  • 表格二维码,胡乱分页bug #1519
  • 单元格斜线打印问题 #1518
  • 数据集二维码循环展示,打印出现分页 #1535
  • 设置固定表头和空白行补全后,空白行自动补全过多 #1501
集成依赖

最新依赖还未上传maven官仓,下载失败请先配置 jeecg的 Maven私服

<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.6.0</version>
</dependency>
  • mongodb/redis支持包(按需添加)
<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-nosql-starter</artifactId>
  <version>1.6.0</version>
</dependency>