FineReport 填报表 自定义填报时间段

本文介绍了使用FineReport创建填报表时,如何根据业务需求设定时间限定规则。针对季度数据,补录范围为当前季度及上一季度(直到下一个季度初的15号之前)。通过SQL查询和数据字典限制,确保用户只能补录符合条件的数据,简化填报流程,提升程序执行效率。
摘要由CSDN通过智能技术生成

 有一个需求,做一张填报表给业务适用,根据数据的特殊性,做了如下需求:

表中存储的数据是以季度为维度区分,对应数据库表中的字段为qute_date,补入的数据范围是当前季度和上季度数据(下个季度初15号前可补入),也就是10月15日前可补入7月1日到12月31日的数据。10月16日后只可补入本季度数据(10月1日到12月31日)这样也有助于提高程序的执行效率。

为了规范填报时间,使补录操作无脑化,在填报界面季度字段那里设置了下拉框填报插件,绑定数据字典,在数据字典中限定当前日期可以补录的季度范围。

 SQL如下:

SELECT explode(
map(t1.start_date,t1.aa,t1.end_date,t1.bb))
FROM 
(SELECT 
CASE WHEN datediff(sysdate,trunc(sysdate,'Q'))<15 THEN year(sysdate)||quarter(trunc(add_months(sysdate,-3),'Q'))
ELSE year(sysdate)||quarter(trunc(sysdate,'Q')) end AS start_date,
CASE WHEN datediff(sysdate,trunc(sysdate,'Q'))<15 THEN year(sysdate)||'年第'||quarter(trunc(add_months(sysdate,-3),'Q'))||'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值