通过日周月传参查询数据

  • 文档创建者:Kevin-s
  • 编辑次数:7次
  • 最近更新:Wendy123456 于 2019-10-31
  • 1. 概述

    1.1 预期效果

    在我们日常中经常对一日,一周,一个月数据进行查询筛选,如下图所示:

    11.gif

    1.2 实现思路

    使用「单选按钮组控件参数」与时间参数来控制要查询的时间范围内数据。

    2. 操作步骤

    2.1 数据准备

    在 FineReport 设计器中,点击文件>新建普通报表,并新建模板数据集 ds1 ,SQL 语句为:

    select * from 订单
    where 1=1 ${IF(Query_type="DAY","AND 订购日期 >= '"+ YYYYMMDD_S+"' AND 订购日期< '"+YYYYMMDD_E+"'" ,
    IF(Query_type="WEEK","AND 订购日期>='"+YYYYWW_S+"' AND 订购日期<'"+YYYYWW_E+"'","AND 订购日期>='"+YYYYMM_S+"' AND 订购日期<'"+YYYYMM_E+"'"))}

    其中Query_type为单选按钮控件参数;

    YYYYMMDD_S为日时间开始参数,YYYYMMDD_E日时间结束参数;

    YYYYWW_S为周开始参数,YYYYWW_E为周结束参数;

    YYYYMM_S为月开始参数,YYYYMM_E为月结束参数;

    订购日期为时间字段,可将对应的订购日期字段,替换成周月字段。

    模板设计如下图所示:

    1572489827893600.png

    2.2 添加控件

    1)进入「参数面板」,在右侧属性面板控件设置 界面将参数全部添加

    设置 Query_type 为「单选按钮组控件」,将剩余参数全部设置为「日期控件」;

    如下图所示:

    1572493819341851.png

    2)适当调整参数面板上控件的大小和位置;

    YYYYMMDD_SYYYYMMDD_EYYYYWW_S 、YYYYWW_E YYYYMM_S 、YYYYMM_E 参数后的控件全部设置为「日期控件」,且为其分别设置「控件值」和「标签名称」;

    控件值依次为:2010-01-232011-07-232010-07-232011-01-232011-01-012011-02-23

    标签名称依次为:日时间开始参数:日时间结束参数:周开始参数:周结束参数:月开始参数:月结束参数:

    Query_type 参数控件设置标签名称,为单选按钮控件参数:

    下图是为YYYYMMDD_S 参数设置「控件值」和「标签名称」的步骤,如下图所示:

    1572512007798202.png

    3)依次为YYYYMMDD_SYYYYMMDD_EQuery_typeYYYYWW_S YYYYWW_E 、YYYYMM_S 、YYYYMM_E 标签控件设置控件值。控件值分别是:日时间开始参数:日时间结束参数:单选按钮控件参数:周开始参数:周结束参数:月开始参数:月结束参数:YYYYMMDD_S 标签控件设置控件值的步骤如下图所示:

    1572512638632299.png

    4)选中「单选按钮组控件」参数控件,在属性面板右侧选择控件设置>属性,为其设置数据字典,类型设置为「自定义」,设置3个实际值,依次为DAYWEEKMONTH;每个显示值与其对应的实际值相同。

    如下图所示:

    7.png

    2.3 效果查看

    2.3.1 PC 端

    保存模板,点击分页预览,效果如本文 1.1 章「预期效果」中相同。

    2.3.2 移动端

    1)APP

    77.gif


    2)HTML5

    1572513709413201.gif

    3. 模板下载

    已完成的模板,请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\Parameter\通过日周月传参查询数据.cpt

    点击下载模板:通过日周月传参查询数据.cpt

    附件列表


    主题: 参数应用
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!