报表服务
服务简码
HRPT
默认端口
8210
组件编码
hzero-report
简介
1.1 概述
通过配置数据集,通过SQL查询方式的平面报表、单据报表、图形报表的服务
1.2 组件坐标
- OP版本
<dependency>
<groupId>org.hzero</groupId>
<artifactId>hzero-report</artifactId>
<version>${hzero.service.version}</version>
</dependency>
- SaaS版本
<dependency>
<groupId>org.hzero</groupId>
<artifactId>hzero-report-saas</artifactId>
<version>${hzero.service.version}</version>
</dependency>
1.3 主要功能
- 数据集管理
- 报表定义
- 报表查询
- 报表模板管理
- 其他报表使用的API
1.4 服务配置参数
# 生成报表时,每页允许的最大数量,默认值100000
hzero.report.maxRows
# 字体文件的文件路径
hzero.report.fontPaths
# 服务使用的文件存储桶的名称
hzero.report.bucketName
# 服务使用的文件存储文件夹的名称
hzero.report.outputDirectory
开发指导
2.1 报表数据隔离
sql中可以使用一些预定义参数来获取当前用户的信息,可用于数据隔离
例如:
select user_id, name from user where user_id='${u-userId}'
在数据集管理功能中,以u-
开头的自定义参数,不会是被初始化为参数
以下为所有预定义参数:
字段名 | 含义 |
---|---|
u-userId | 当前用户Id |
u-language | 当前会话语言 |
u-roleId | 当前角色Id |
u-roleIds | 当前会话可访问的角色集合 |
u-tenantId | 当前租户 |
u-tenantIds | 当前会话可访问的租户集合 |
u-organizationId | 所属租户 |
2.2 定义报表模板
- HTML模板 报表的格式要求不高时建议使用此类型模板
示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head >
<meta charset="utf-8" />
<style>
body{ padding:0; margin:0; font-family:SimHei;}
</style>
</head>
<body>
<table cellpadding="0" cellspacing="0" border="1">
<thead>
<tr align="center">
<th width="300px">公司名称</th>
<th width="200px">公司编码</th>
<th width="100px">汉得</th>
<th width="100px">中台</th>
<th width="100px">产品</th>
</tr>
</thead>
#foreach( $elem in $DATA)
<tbody>
<tr class="hreport-row">
<td class="hreport-fixed-column">${elem.COMPANY_NAME}</td>
<td class="hreport-fixed-column">${elem.COMPANY_NUM}</td>
<td><font color="red" size="5">帅</font></td>
<td><font color="green" size="5">到</font></td>
<td><font color="blue" size="5">爆</font></td>
</tr>
</tbody>
#end
</table>
</body>
</html>
-
RTF模板 为了简化模板开发,可以安装offic的BI Publisher插件,下载地址
安装成功后word会新增一个功能如图:
1.使用数据集
的xml示例
功能,获取一个可用的xml数据文件
2.点击word中的示例XML
,导入数据
3.点击所有字段
按钮,即可生成一个最初的rtf模板文件,根据需求调整模板的样式即可
4.offic提供了预览功能,可以导出多种文件格式 -
EXCEL模板
EXCEL模板与RTF模板类似,是在excel中进行编辑的
需要注意的是: 报表平台的字体默认只支持黑体,若报表打印时,出现乱码,很可能是字体缺失
用户可以自定义需要的字体:
1.将所有需要的字体文件上传至报表服务所在服务器
2.ymal文件中指定字体名称和字体文件的绝对路径
hzero:
report:
fontPaths:
- 宋体|C:\Windows\Fonts\simsun.ttc