数据权限在查询统计的时候报错了

Blade 未结 2 24
zeal
zeal 剑圣 5小时前

一、该问题的重现步骤是什么?

 select * from (SELECT count(*) FROM biz_factory_purchase_order WHERE is_deleted = 0 AND tenant_id = ? AND order_date >= ? AND order_date <= ? AND tenant_id = '000001' ORDER BY id DESC) scope where scope.source_code in ("xdlk")

### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'scope.source_code' in 'where clause'



二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bldaexboot 4.6.0

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 如果你这个是在分页的时候,分页的统计报的错,你得下载个4.7最新版,看看新版代码在同样配置下会不会有同样的问题。如果有请把详细配置和操作发给我们,我们根据你的重现步骤去排查。


    如果不是列表分页的时候报的错而是自定义的统计逻辑,则在统计的情况下,直接用自动的数据权限确实是会有问题的。因为内部生成的sql返回的结果知识一个统计的数字,没有权限相关的字段。外面再包一层来查询就会报错了。


    所以数据权限只限于返回列表,并且包含权限字段的时候来进行使用。如果返回的字段是统计数字,则不能用数据权限进行查询。


    0 讨论(0)
  • 3小时前

    我是自定义的统计SQL 这种情况有没有什么好的扩展现在

    作者追问:3小时前

    没好办法,只能自己写sql的时候加上条件。

    0 讨论(0)
提交回复