FineReport使用

news2024/11/19 6:24:41

目录

  • 报表命名规范
    • 数据集命名规则
    • 参数命名规则
    • 条件属性命名规则
    • 超链接命名规范
    • 决策报表组件命名规则
    • 普通报表悬浮元素命名规则
  • 用户权限
  • 模版版本管理
  • FineDB
    • 内置数据库
    • 外置数据库
      • 配置外接数据库
        • 新建数据库
        • 外接数据库配置入口
        • 配置外接数据库
    • 数据表
      • 权限控制:用户-部门职位-角色
      • 系统管理:配置

报表命名规范

参见: 报表开发规范手册

数据集命名规则

  • 参数面板数据集:以para_开头
    例如:地区选择下拉框的数据集para_area

  • 数据字典数据集:以dic_开头
    例如:产品映射字典数据集dic_product

  • 报表主体数据集:以report_开头
    例如:客户销售数据report_customerSaleData

  • 图表数据集:以chart_开头
    例如:产品占比图表chart_productRatio

参数命名规则

  • 不能以数字、$ 符号开头。

  • 变量名只能是字母 (a-z A-Z)、数字 (0-9)、下划线(_)、(@) 或中文的组合,并且之间不能包含空格。

  • 变量名中不能含有 ? * . - +/等字符和空格。

  • 变量名是不区分大小写的, 但不能用保留字
    比如true、false;FALSE、TRUE,因为写公式引用的时候容易搞错,跟保留字冲突

  • 全局参数:以g开头
    例如:gSaleGroup,gProduct,gPerson

  • 模板参数:以p开头
    例如:pDate,pCurrency,pUnit

  • 数据集参数:以s开头
    例如:sCompany,sProject

条件属性命名规则

  • 建议使用简短的中文命名,方便业务和开发

  • 格式:条件类型_具体功能
    例如:列宽_隐藏projguid列

超链接命名规范

  • 建议使用简短的中文命名,方便业务和开发

  • 格式:超链接类型_具体功能
    例如:网络报表_跳转到明细

决策报表组件命名规则

  • 不允许使用复制组件自动填充的名称
    例如:report0_c、report0_c_c

  • 每个组件应按照组件类型+序号的形式,方便后期维护调整
    例如:report0、report1、chart0

  • 每个组件名称中加上实际用途
    例如:report0_sale_detail、chart0_sale_summary_column_chart

普通报表悬浮元素命名规则

  • 每个悬浮元素名称中加上实际用途,方便后期维护调整
    例如:Float0_sale_detail_line_chart

用户权限

参见: 权限细粒度控制

  • 获取登录系统的用户名:$fine_username
    例如登录用户名为 Anna
    $fine_username=Anna

  • 获取登录系统的姓名(用户名):$fine_display_name
    例如登录用户名为 安娜(Anna)
    fine_display_name=安娜(Anna)

  • 获取登录系统的姓名(用户名):$user_name
    例如登录用户名为 安娜(Anna)
    $user_name=安娜

    注:此为新增服务器参数:公示
    LEFT($fine_display_name, FIND(“(”, $fine_display_name) - 1)

  • 获取登录系统的角色:$fine_role
    1)若登录用户为超级管理员
    $fine_role=superusers
    2)若登录用户角色为角色数据架构师
    $fine_role=数据架构师
    3)若登录用户无角色
    该参数值为空

  • 获取部门职位:$fine_position
    返回值为一个由部门和职位组成的数组
    1)若登录用户为「人力资源-部长」
    $fine_position={“departments”:“人力资源”,“jobTitle”:“部长”}
    2)若登录用户为「人力资源-部长」兼「领导部-部长」
    $fine_position={“departments”:“人力资源”,“jobTitle”:“部长”},{“departments”:“领导部”,“jobTitle”:“部长”}
    3)若登录用户无部门职位
    该参数值为空

模版版本管理

参见: 模板版本管理

  • 开启版本功能,在「文件>选项>常用」中,「版本管理」设置中勾选「保存自动生成版本」,默认为勾选状态;
    版本设置
  • 不勾选「保存自动生成版本」时,则关闭版本功能,版本选项灰化不可操作;
    版本未开启
  • 每[ ]分钟每个用户同个模板最多保留一个版本
    勾选:在规定周期内自动删除前一个版本,只保留当前版本;
    不勾选:则每个版本都会保留;
  • 设置备注的版本不会被自动清理
    勾选:设置备注的版本不会被删除,其余不变;
    不勾选:则设置备注的版本与无备注的版本一致;
  • 模板版本控制存储优化
    勾选:设计器在这两种情况下可进行模板版本控制存储优化,
    1)设计器启动时,运行一次对模板版本控制存储的优化;
    2)点击「立即清理」按钮,点击后立即进行模板版本控制存储优化,并弹出正在优化进度提示框,优化完成后提示已减小版本文件大小xxxKB。
    不勾选:设计器不可定期对模板版本控制存储进行优化,「立即清理」选项灰化不可操作;
  • 版本还原:还原版本的时候,会将目前没保存的模板自动生成一个版本,所以无需担心未保存模板意外丢失的问题。

FineDB

参见: FineDB 数据库简介

内置数据库

  • FineReport 报表工程内置了一个 HSQL 数据库,作为 FineDB 数据库;
  • 内置 FineDB 数据库」为HSQL数据库,使用时会建立内存数据库,数据量大时会占用大量内存,因此配置完外接数据库后,请检查数据连接中是否存在「内置 FineDB 数据库」的数据连接。若存在相关数据连接,请及时删除,否则会持续占用服务器内存。
  • 非必要请勿在 FineReport 工程中创建「内置 FineDB 数据库」的数据连接。
  • 保存在 %FR_Home%/webapps/WEB-INF/embed 目录下;
  • 设计器连接 FineDB
    FineDB内置数据库配置

外置数据库

配置外接数据库

参见:FineDB 外接数据库

新建数据库

  • 新建一个数据库,用于存储平台相关数据。

外接数据库配置入口

  • 管理员登录数据决策系统,点击「管理系统>系统管理>常规>外接数据库>待配置」,可为系统第一次配置外接数据库。
    外接数据库配置入口

配置外接数据库

进入到外接数据库配置界面后,选择数据库类型,输入实际数据库相应的信息即可
外接数据库配置

  • 勾选「迁移数据至要启用的数据库」,新外接数据库为空
    点击「启用新数据库」后,会将原 finedb 数据库的平台数据迁移到新外接数据库中。
  • 勾选「迁移数据至要启用的数据库」,新外接数据库中已存在平台数据
    点击「启用新数据库」后,跳出提示「该数据库已存在平台数据,导入数据前将清空原有平台数据,确认连接该数据库?」。
    点击「确定」将清空原有平台数据,将原 finedb 数据库的平台数据迁移到新外接数据库中。
  • 不勾选「迁移数据至要启用的数据库」,新外接数据库为空
    点击「启用新数据库」后,跳出提示「目标数据库为新数据库,将当前数据迁移至目标数据库后方能使用」。
    点击「确定」,将原 finedb 数据库的平台数据迁移到新外接数据库中。
  • 不勾选「迁移数据至要启用的数据库」,新外接数据库中已存在平台数据
    点击「启用新数据库」后,工程会自动检测目标数据库中数据对应的 JAR 包版本和当前工程的 JAR 包版本是否一致。

数据表

参见:FineDB 表结构
注:下述所列数据表为常用数据表,不是全部的

权限控制:用户-部门职位-角色

  • FINE_USER 用户表
  • FINE_DEPARTMENT 部门表
  • FINE_POST 职位表
  • FINE_DEP_ROLE 部门职位的中间表,用户通过该表关联部门与职务
  • FINE_CUSTOM_ROLE 自定义角色表
  • FINE_USER_ROLE_MIDDLE 用户角色的中间表,用户通过该表关联到自定义角色和部门职务角色

系统管理:配置

  • FINE_CONF_ENTITY 存储配置类中的数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/191756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaEE】锁策略 + synchronized原理 + CAS + JUC下常用类和接口 + 死锁

目录 锁策略 乐观锁VS悲观锁 轻量级锁VS重量级锁 自旋锁VS挂起等待锁 互斥锁VS读写锁 公平锁VS非公平锁 可重入锁VS不可重入锁 synchronized原理 synchronized特性 synchronized优化机制 加锁过程优化 锁消除 锁粗化 CAS CAS概念 CAS原理 CAS应用 自旋锁的实…

Vite+Vue3+TypeScript 搭建开发脚手架

Vite前端开发与构建工具 开发环境中,vite无需打包,可快速的冷启动 真正的按需编译,不需要等待整个应用编译完成 一个开发服务器,它基于原生ES模块 提供了丰富的内建功能,速度快模块热更新(HMR&#xff0…

2022年10个最流行Blender插件

如果你从事平面设计、动画或 3D 建模,您可能听说过Blender,这是一款开源的一体化 3D 图形软件。Blender 配备了适用于各种领域的工具和功能,包括 3D 动画、计算机辅助设计、纹理编辑、特殊效果等。 Blender 的最新版本3.0于 2021 年 12 月上…

LeetCode题目笔记——1566. 重复至少 K 次且长度为 M 的模式

文章目录题目描述题目难度——简单方法一:模拟代码/C总结题目描述 给你一个正整数数组 arr,请你找出一个长度为 m 且在数组中至少重复 k 次的模式。 模式 是由一个或多个值组成的子数组(连续的子序列),连续 重复多次…

【面试】vue组件style中scoped的作用是什么?什么是scoped穿透?

vue组件style中scoped的作用是什么? 在Vue文件中的style标签上有一个特殊的属性——scoped。scoped属性是 HTML5 中的新属性,是一个布尔属性,如果使用该属性,则css样式仅仅只能应用到当前的Vue组件,避免组件之间样式相…

EfficientNet v1 v2

EfficientNet v1 增加网络的深度depth能够得到更加丰富、复杂的特征并且能够很好的应用到其它任务中。但网络的深度过深会面临梯度消失,训练困难的问题。增加网络的width能够获得更高细粒度的特征并且也更容易训练,但对于width很大而深度较浅的网络往往很…

Base64编码

介绍 Base64 编码 Base64 是一种使用 64 个可打印字符来表示二进制数据的编码方式。 Base64 中的 64 个可打印字符包括:大小写字母 a - z、阿拉伯数字 0 - 9,这样共有 62 个字符,另外两个可打印字符在不同的系统中而不同。RFC 4648 标准中&…

程序员可以不看书,但不可以不知道这些网站!

程序员可以不看书,但是不能停止学习。如果你不喜欢看书,这些网站可以先收藏下来! 花了两天整理出的程序员常看的网站,纯纯干货来了↓↓ 一、学习网站 ①菜鸟教程 这个网站有HTML、CSS、Javascript、PHP、C、Python等各种基础编…

关于python常用软件用法:Pycharm 常用功能

一.Pycharm的基本使用 1.在Pycharm下为你的Python项目配置Python解释器 (1).Setting>Project Interpreter>源码资料电子书:点击此处跳转文末名片获取 二.在Pycharm下创建Python文件、Python模块 1.File>New>Python File2.File>New>P…

Mysql高级部分学习笔记(一)——底层及索引

0. 概述 我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能 就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题…

使用windows电脑SSH客户端链接Iphone手机的sshd服务(免越狱)

最近有需求使用电脑导出手机中特定app的文件。 当然可以直接连上数据线将手机中的文件下载下来。 为了能做到代码自动化导出,将手机作为一台电脑使用,将手机中的文件导出来。 关键问题是如何将手机作为电脑使用,这里有几个步骤(我使用的是…

关于接口测试自动化的总结与思考

关于接口测试自动化的总结与思考 目录:导读 什么是服务端? 什么是接口? 什么是接口测试? 为什么要做接口测试? 如何做接口测试? 什么是接口测试自动化? 为什么要做接口测试自动化? 接口测试自动化的规范 文档准备 明确接口测试自动化需…

CRI 与 ShimV2:一种 Kubernetes 集成容器运行时的新思路

作者|张磊 CRI 与 ShimV2:一种 Kubernetes 集成容器运行时的新思路-阿里云开发者社区 Kubernetes 项目目前的重点发展方向,是为开发者和使用者暴露更多的接口和可扩展机制,将更多的用户需求下放到社区来完成。其中,发展最为成熟…

再探前端低代码的“野路子”

之前码过很多低代码的文章,发现大家口中的低代码挺不一样的,这次心血来潮想探探低代码的野路子。 只需要拖拽操作或者几行基础代码,就能完成以往需要程序员才能搭建的各类应用系统,对效率要求较高的企业而言,是不是很有…

命令执行简介、命令执行函数

数据来源 命令执行简介 01 命令执行漏洞产生原因 02 命令执行漏洞的危害 03 远程代码执行 1)远程代码执行- eval函数 2)远程代码执行 - assert函数 3)远程代码执行 - preg_replace函数 使用方法和一句话木马一样 示例: 在ph…

9 多分类问题

文章目录问题引入网络设计改进网络方法softmax层lossMINIST引入代码实现课程内容来源: 链接课程文本借鉴: 链接以及Birandaの突然发现的也挺好:链接 问题引入 前篇中,对糖尿病数据集的问题是一个二分类问题,但实际问…

vue-node解决 rollbackFailedOptional: verb npm-session fd23ceb3f5797b77进度条卡住的问题

一、文章引导 #mermaid-svg-qv5tmCFBaoUwQojc {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-qv5tmCFBaoUwQojc .error-icon{fill:#552222;}#mermaid-svg-qv5tmCFBaoUwQojc .error-text{fill:#552222;stroke:#55222…

RabbitMQ常见场景问题

RabbitMQ常见场景问题 文章目录RabbitMQ常见场景问题6种工作模式1.直连模式2.发布订阅模式3.Routing路由模式4.Topic通配符模式5.Header模式6.RPC消息不丢失消息发送到交换机失败1.配置文件开启发布确认2.配置回调函数3.测试4.如何处理失败消息RabbitMQ服务器故障持久化消息发送…

存量房贷利率,一种简单估算其自然年利率调整的方法。

1.摘要2022年过去了,总所周知LPR被多次下调,目前有存量房贷的朋友,如果(普遍)设置的是根据自然年LPR动态调整利率,到2023年2月应该注意到了比较明显的房贷金额变动。这里主要给出一种根据这个变动&#xff…

Plecs电力电子仿真专业教程-第一季 第一节 Plecs简介

Plecs电力电子仿真专业教程-第一季 第一章 Plecs是什么? 第一节 Plecs简介 Plecs是瑞士Plexim GmbH公司开发的系统级电力电子仿真软件PLECS。PLECS是一个用于电路和控制结合的多功能仿真软件,尤其适用于电力电子和传动系统。不管您是工业领域中的开发…