报表服务
服务简码
HRPT
默认端口
8210
默认路由
/hrpt/**
组件编码
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