企业级报表工具
2.0.x,2.3.x,2.4.x版本是免费的,不收取任何(包括隐形费用)的报表工具。

1、RDP大家无论是自己使用,还是用于商业用途,都是免费的,我们都不收取费。

2、RDP也是我司所有业务系统使用的报表工具,都是官网上的标准版,无其他任何付费版本。

3、RDP没有用户数或并发量限制的。

4、RDP部署后,可申请永久授权文件(授权后的服务是永久有效的, 不存在授权过期的情形!!!)

5、永久授权文件通过发邮件形式,免费获取。

3.0分为免费版和收费版,具体内容和差异参见官网版本对比
授权说明

一、本地授权认证

1、应用版本
应用报表版本:2.x、3.x各个版本。

2、认证说明
本地授权认证方式是直接通过服务器的硬件信息进行授权,简而言之服务必须有固定的硬件信息。如果硬件信息无法固定,该方式将不支持永久授权。只能为临时授权当服务硬件信息一旦变更(通常这样存在于云服务器、硬件不固定的宿主机器docker环境)。

3、注意事项
服务器需要有固定硬件信息,即为机器码固定,机器码是报表工具通过硬件信息生成的具有报表唯一认证的机器码,机器码作为授权的唯一信息。
如购买商用版本(标准版、企业版)授权认证前需确认服务器硬件信息是否确保固定。授权激活码一旦生成,再次变更将比较麻烦。务必确认无误再进行授权激活码申请。

4、授权激活码申请方式
       授权激活码申请方式可通过官网提供的申请地址进行申请。
       免费版本:http://rdp.cuafoo.cn/authorization.html
       商用版本:http://rdp.cuafoo.cn/purchase.html
          机器码获取方式为:登录报表管理系统-》系统管理-》授权管理。

二、 容器化部署(docker环境)授权认证

1、 应用版本
 应用报表版本:3.0.5以上付费版本。

2、 认证说明
容器化部署认证方式是容器(docker环境)部署的报表通过私有授权服务进行认证。私有授权服务是RDP报表工具提供的私有认证授权服务,容器部署的报表工具可以通过授权认证服务进行认证(内网有固定硬件信息的机器)。做到一个授权服务可以认证多个容器的授权。

3、 注意事项
1)、容器化部署的授权认证服务器也同样需要固定硬件机器信息。
2)、容器化部署的授权标识为内网固定IP和授权服务器机器码。
3)、容器化部署支持集群部署。

4、授权激活码申请方式
          申请地址:http://rdp.cuafoo.cn/purchase.html
   填写申请信息后,通过购买报表工具签订合同后,将容器化信息提供给RDP报表工具售后,确保容器信息一致,由RDP报表工具售后人员提供激活信息。

Q报表工具支持内网授权吗?

ARDP是一款Javaweb报表开发工具,部署方式也是跟Javaweb一样的,不论是外网、内网、局域网都是 可以正常使用的,而且授权也是支持内网授权的,报表也是B/S架构的。 只要服务器项目启动成功,客户端就 以通过浏览器访问了。前提是客户端能够通过网络连上服务端! 不存在客户端配置不好用,服务器自己访问好用的情况。

Q报表激活码提示失效怎么办?

A 1.收到激活码,激活码必须在7天内激活,否则激活码就会失效
      2.确认是否乱调整过系统时间,本地系统时间是否与北京时间一致,是否做了调整?授权是从授权开始时间算起,在它之前的时间就会不好用,出现激活码失效的情况。

Q授权的过程中发现机器码为空获取失败怎么办??

A 首先windows操作系统:说明系统为简化版不支持控制台命令,可以查找进行支持控制台操作组件的安装即可。
处理步骤如下:
1).测试命令,打开cmd控制台,输入下面命令:wmic bios get serialnumber
    如果提示‘wmic’不是内部命令或外部命令,也不可以运行得程序或批处理文件。
2).配置环境变量得path,首先判断环境变量是否存在如下配置,如果没有就配置下。
    %SystemRoot%;%SystemRoot%\system32;%SystemRoot%\System32\Wbem
    再查看是否为null如果仍是null,重启报表服务。
其次就是linux操作系统:用root用户启动项目赋予管理员权限。
如果linux上诉操作还存在机器码为空,请检查服务器是否支持dmidecode命令,如果不支持通过该命令安装:yum install dmidecode

Q申请授权,提示已经存在相同版本机器码,无法提交怎么处理?

A报表授权:同个版本机器码只允许授权一次,因为授权是永久的,不需要再次申请相同版本机器码授权,可以联系报表群客服人员,说明下具体原因,看下能否单独给处理下

rdp1

Q如何修改tomcat端口?

A ①:找到tomcat\conf\server.xml文件。如图:
tomcat1

②:打开server.xml文件,找到<Connector port="18080" protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" />,把port = "18080"修改为port="8080"。
tomcat2
修改保存成功,重启tomcat

③:验证端口号的修改
打开浏览器,地址输入:http://localhost:8080(localhost为部署tomcat的IP,此处为本机部署,因此使用localhost,之后填写8080为端口号)
至此,tomcat端口号修改完成。

Qtomcat如何解决POST请求传参数过长受限制的问题?

问题描述: 报表配置,保存提示保存失败异常,后台日志提示找不到当前uuid


问题分析:POST请求本身并未限制传入参数大小,是tomcat 容器设置了接收参数大小的限制

A①:找到tomcat\conf\server.xml文件。如图:

②:打开server.xml文件,找到<Connector port="18080" protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" />
添加代码:
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
maxThreads="3000"
compression="on" compressableMimeType="text/html,text/xml"
maxPostSize="-1"/>
<Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />

其中参数maxPostSize=" -1"是限制post请求参数的大小,值为-1代表不限制。

Q使用免安装版本启动项目,占用内存太大,怎么解决?

ARDP3启动器.exe, 是为了方便大家本地使用,提供的演示环境的tomcat内存设置的相对比较小,如果大数据量建议使用更高内存。
将tomcat运行内存设置高点就可以。或者可以用自己本地tomcat部署项目可参考部署文档 生产部署

Q使用自己本地数据库,后台日志报自带的3378数据库链接地址错误?

A 可以把data_source表和dic_config表里面涉及到的3378数据库配置都删除

Q后台日志信息报RCODE0001,怎么解决?

A 登录报表管理系统-》系统管理-》授权管理,检查下是不是机器码没有显示,如果没有显示,按照下面步骤操作
首先windows操作系统:说明系统为简化版不支持控制台命令,可以查找进行支持控制台操作组件的安装即可。
处理步骤入下:
1).测试命令,打开cmd控制台,输入下面命令:wmic bios get serialnumber
    如果提示‘wmic’不是内部命令或外部命令,也不可以运行得程序或批处理文件。
2).配置环境变量得path,首先判断环境变量是否存在如下配置,如果没有就配置下。
    %SystemRoot%;%SystemRoot%\system32;%SystemRoot%\System32\Wbem
    再查看是否为null如果仍是null,重启报表服务。
其次就是linux操作系统:用root用户启动项目赋予管理员权限。
如果linux上诉操作还存在机器码为空,请检查服务器是否支持dmidecode命令,如果不支持通过该命令安装:yum install dmidecode

Q如何清除日志文件,占用内容太大了?

A 所有的日志文件都在 logs文件夹里面, 如果觉得日志文件占内存太大了,可以调整下日志级别,调整成error,
后台只打印报错日志

Q登录报表管理系统,提示账号锁定?

A 在rdp-server数据库里面找到sys_user表,将pw_wrong_times字段设置成0,sts字段设置成1就可以正常登录操作了。

Q报表配置使用什么浏览器?

A报表的配置属于开发的环节! 这个环节要求报表的配置过程使用谷歌浏览器!

Q报表展现使用什么浏览器?

A提供给业务人员所见的报表页面展示支持IE9+、谷歌、火狐等主流浏览器,使用不受浏览器限制。

Q公共数据源里面数据库链接地址应该如何书写?

A 点击 MySQL数据源进行新增数据源。
1、  填写数据源名称。
2、  填写数据链接驱动,系统会默认一个地址格式,<>代表需要改的内容,实际填写按照JDBC的驱动链接规范填写。
jdbc:mysql://localhost:3378/report_demo?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
3、  填写用户名和密码。
4、  点击测试链接,链接成功点击保存即可。
下图为MySql数据库数据源配置信息界面。

Q可以使用自己本地数据库吗?

A 可以的,官网下载页面有提供各类数据库脚本http://rdp.cuafoo.cn/download


可以下载提供的数据库脚本,然后把数据同步到自己的数据库,具体步骤可参考部署文档生产部署
Q数据库支持的类型?

A详见数据库支持类型

Q数据集里面的SQL查询中文名称显示乱码,是不是不支持查询中文?

A注意下公共数据源配置的数据源字符集,报表系统使用的字符集是UTF-8,mysql数据库例子如下:
?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
下图为MySql数据库数据源配置信息界面。

Q2.x版本如何升级到3.0版本?

A 2.x版本如果想要升级到3.0版本,需要去3.0官网下载页面重新下载3.0版本项目 http://rdp.cuafoo.cn/download
如果想要使用之前2.x版本的报表模板,可以将报表模板复制到新版本对应模板位置,具体可以参考3.0升级文档版本更新

Q3.x小版本升级方式?

A详见3.0版本更新

Q数据字典项怎么配置?

A 最好要有一张表,如果没有的话,有现成的能满足以下数据就可以:
序号      key           value              显示值
1       YES_NO          0                     否
2       YES_NO          1                     是
3         SEX               0                     女   
4         SEX               1                     男
序号无所谓,只要保证后三个数据格式就可以,key 就是数据字典项要配置的值
具体可参考数据字典文档数据集数据字典配置

注意:不论有几个字段, 都需要有一个字段作为key,如果没有可以自定义一个。

Q数据字典sql语句key_name重命名?

Asql重命名key_name字段外面需要再包一层select * from,例如:  
select * from (
  select 
   'STS' as key_name,
   id as OPT_NAME,
 from table_name
name
) aaa

Q多选选择器sql如何写查询条件?

A多选mysql数据库 可以这么处理:
select * from demo_user  where  INSTR('${user_id}, user_id)
其它的数据库,根据具体的数据函数处理就可以了

Q区域时间选择器sql如何写查询条件?

A3.0.7之前版本:
区域时间配置sql查询条件,需要根据时间的长度自己用sql截取处理,如果想要时间范围段搜索,
sql条件就可以写大于等于或者小于等于,between and或者按照时间截取都可以,根据自己的实际需求来写

A区域时间支持(3.0.7版本新增)
查询条件配置区域时间,选择配置区域时间(分开),配置参数字段、参数字段2,第一个参数为开始时间,第二个参数为结束时间。

Q存储过程配置格式?

A存储过程的报表配置,遵循报表的配置规范,与数据库类型无关。只要是关系型数据库且报表支持的即可

存储过程和函数配置方式相同,存储过程、函数统称存储过程。
存储过程或数据库自定义函数数据集是将有返回值的数据集结果,进行报表数据显示。
报表配置存储过程语法为{call 存储过程名称(查询参数1[?],返回参数)}
{call SCENE1(?)}为说明,{call }属于默认基础语法。SCENE1是存储过程名称,问号?为SCENE1存储过程返回参数,根据存储过程的参数个数需要配置相同的“?”问号数量。
SCENE1存储一个返回参数故配置SCENE1(?),结合报表存储过程固定配置形成:{call SCENE1(?)}。
配置存储过程查询条件,如果需要返回参数结果的话,存储过程里面必须有值,需要在参数配置里面配置初值

Q填报报表选不到数据源?

A 点击 MySQL数据源进行新增数据源。
1、  填写数据源名称。
2、  填写数据链接驱动,系统会默认一个地址格式,<>代表需要改的内容,实际填写按照JDBC的驱动链接规范填写。
jdbc:mysql://localhost:3378/report_demo?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
3、  填写用户名和密码。
4、  点击测试链接,链接成功点击保存即可。
下图为MySql数据库数据源配置信息界面。

Q日期默认查询当天?

A如下图所示

Q日期默认查询前一天?

A初值里面可以设置的,有选项的,想要设置提前几天,就减几,根据自己的需求自定义调整

Q报表怎样转换数据格式,保留小数位数?

A使用toDef函数
参数:toDef(Object str,String pattern),pattern格式:DecimalFormat支持的格式(例:#,##0.00)
str: $F{数据集.字段 }
pattern:字符格式
说明:自定义数值格式化(str自动转成double类型)
返回值:格式化后的字符串
使用方式:
ds为数据集,amt为金额类型字段。

表达式:

toDef($F{ds.amt},"#,##0.00")

Q数据有空值怎么处理?

A1.可以自己用sql处理下空值转换成空字符串

2.使用表达式函数 if  else函数判断下空值
使用方式:
ds为数据集,cusName 为客户名称字段。

表达式:

if("$F{ds.cusName}"=="1"){

    ""

}else{

  ""

}

3.使用nvl 函数,做空值处理
使用方式:
ds为数据集,cusType为客户编号。

表达式:

nvl($F{ds.cusType},"0")

Q日期格式怎么自定义?

A使用toDtf函数
参数:toDtf(Object str,String frompattern,String topattern),pattern格式:SimpleDateFormat支持的格式
str: $F{数据集.字段 }
frompattern:时间格式
topattern:时间格式
说明:自定义日期格式化
返回值:格式化后的日期
使用方式:
ds为数据集,regDate为登记日期字段。

表达式:

toDtf($F{ ds.regDate },"yyyyMMdd","yyyy-MM-dd")

Q配置分组报表需要注意什么?

A1.配置分组报表,分组字段必须通过sql进行排序,否则因为数据原因会存在间断性分组数据的情况

A2.group分组函数的使用,必须从第一个单元格字段开始,并保证分组不能间断,否则不起作用

A3.具体可参考分组报表在线文档分组报表和视频教程分组报表

Q配置动态列报表需要注意什么?

A参数默认第一个问号(?参数占位符)是不需要配置参数的,报表系统会自动的将动态列参数带入其中的

如果有多个动态列过滤参数可以使用$C{数据集名称.字段}这种形式获取,也是不需要设置参数的动态列的参数需要:$C{数据集.字段}
例如:数据集c: select dian,shui from dtl where nian='$C{a.nian}' ORDER BY yue
(注:有多个动态列过滤参数可以使用$C{数据集名称.字段}这种形式获取,也是不需要设置参数)
可参考在线文档动态列报表和视频教程 动态列报表

配置动态列要注意数据对应,结果集顺序需要对应。如果数据不能一 一对应,可以用sql进行left join左连接查询,
保证数据对应。一般处理都是用左侧数据连接右侧数据

Q大屏幕报表使用数据集sql查询出来是多条数据,页面配置数据集就只有一条数据了

A 不影响的,正常拖拽字段配置数据就可以,大屏幕报表为了避免大量无用的数据加载,只显示一条数据结构,
用于大屏幕配置,不影响大屏幕最终展示效果的

Q大屏幕报表可以实时更新吗?

A可以设置定时更新,时间是以毫秒为单位

Q大屏幕报表怎么复制表?

A 点击资源库,就可以复制生成一个新的大屏报表,也可以ctrl+c,ctrl+v手动复制粘贴单个组件

Q制作好的大屏幕报表可以发布集成吗?

A 可以的。
1.将做好的大屏幕报表点击保存按钮,如下图:

2.点击查看报表,如下图:

Q移动端报表如何在手机上真实看效果呢?

A 现在查看的是pc端在手机端模拟的一个场景效果

如果想要在手机上真实的查看效果,可以将地址preview改为show

Q项目启动成功,打不开移动端报表设计器

A 移动端报表设计器打不开,需要检查下application.yml文件配置,改下移动端报表配置,改成服务器的ip地址和端口号,移动端设计器打开就不会报错了