报表功能设计
这篇解决什么
报表中心怎么分层:积木报表嵌在后端 /jmreport,大屏是独立前端 GoView,项目数据落 report_go_view_project。读完先对两套画布和表,再进大屏设计器。
默认端口 48080,前缀 /admin-api。工程启动见 快速开始。
业务流程及架构
报表自己不算流程引擎,没有 processDefinitionKey。积木列表走后端 /jmreport/*,token 用管理端 refreshToken。大屏项目 CRUD 和取数在 /report/go-view。
示意图:积木报表嵌在后端。大屏是独立前端,项目数据落 report 模块。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 积木 | iframe /jmreport/list,表 jimu_report | views/report/jmreport/ |
| 大屏 | iframe GoView,表 report_go_view_project | 大屏设计器 |
OA 版默认看不见
OA 裁剪脚本会停用非 OA 白名单里的报表菜单和 report:% 权限,不是从 pom 删掉模块。全功能 ALL 才默认露出 1281。
大屏要再起一个前端
VITE_GOVIEW_URL 开发常指向 http://127.0.0.1:3000。没启动 ruoyi-office-ui-go-view 时,大屏页会提示设计器未启动。积木报表不依赖这个工程。
数据表 ER
主干表按已有篇和 DO 画出。积木还有数据源等从表,图上只留主链。不要和财务 finance_report_*、商城统计表当成一套。
示意图:积木报表和数据源是积木自己的表。GoView 一个大屏一行,content 存画布 JSON。两套画布不共用表。
前后端代码
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 模块 | 积木报表、GoView 项目和取数 | ruoyi-office/yudao-module-report/ |
| 单体引入 | yudao-module-report-server | ruoyi-office/yudao-server/pom.xml |
| 积木页 | iframe /jmreport/list | ruoyi-office-vben/apps/web-antd/src/views/report/jmreport/ |
| 大屏页 | iframe GoView | views/report/goview/ |
| 大屏前端 | 独立工程 | ruoyi-office-ui-go-view/ |
官方菜单:1281 报表管理(/report)。报表设计器 1282,仪表盘设计器 5009,大屏设计器 2153。看不到菜单时先查角色,再确认 OA 裁剪有没有停这棵目录。
微服务可单独起 report-server(模块配置端口 48084),单体日常不用。service/ajreport/ 只有包说明,没有可用 Controller。

本系统截图:报表管理 → 报表设计器。积木列表走 /jmreport。

本系统截图:报表管理 → 大屏设计器。没起 GoView 时页面会提示设计器未启动。
功能开启
单体 -P boot 时已经依赖报表实现,没有单独的「报表开关」页。启动 YudaoServerApplication 即可。本目录没有另开 enable/,开启说明就在本页。
客户默认包 ruoyi-office-db/dump/latest/:积木表是 jimu_report、jimu_report_data_source 等;大屏项目表是 report_go_view_project。以后改表走 ruoyi-office-db/update/。
能打开「报表管理 → 报表设计器」说明菜单在。GoView 取数:SQL 要权限 report:go-view-data:get-by-sql,HTTP 取数是 report:go-view-data:get-by-http。项目 CRUD 权限在 2154–2158 一带。
示意图:先菜单和积木。大屏项目接口是 /admin-api/report/go-view/project。
