1.描述编辑
由 多级上报示例 中的流程图可以看出,销售额的录入需要经过销售人员录入基础数据>销售总监审核数据>总领导查看数据。其中销售人员录入数据,那么该模板只能显示该销售员的上期录入数据,以及该期数据;销售总监审核数据则需要看到所有销售人员的数据,而总领导查看数据,则需要另外一张模板,在销售数据的基础上进行图表分析。
2. 模板制作编辑
2.1 产品月销量情况录入表.cpt
销售人员录入数据,首先我们我们来制作这张模板。
1)新建模板数据集 ds1:SELECT * FROM up,ds2:SELECT * FROM 销量
2)模板设计,如下图所示:
3)数据过滤
从上图可以看出,销售人员录入当月数据的同时,需要查看上月销量数据,故 C5 和 C6 单元格的公式分别为 year(monthdelta(today(),-1)) + "-" + month(monthdelta(today(),-1)) 和 year(today()) + "-" + (month(today())) ,同时对 D5 和 D6 的单元格进行过滤,使之只显示相应月份相应销售人员的数据,如下,D5 单元格的过滤条件:
D6 单元格的过滤条件类似。
模板里面的各项制作这里就不再一一赘述,可自行查看模板%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\Datareport\产品月销量情况录入表.cpt。
4)多级上报参数使用
FineReport 为多级上报提供了四个参数$fr_task_id、$fr_task_name、$fr_task_state、$fr_task_sender,可直接调用。其中 fr_task_id 和 fr_task_name 是指获取上报任务 ID 和名称,fr_task_sender 是指当前操作节点的上一个节点的操作人,fr_task_state 是指获取当前任务流转所处状态,如下列表:
内容 | 注释 |
---|---|
fr_task_state=-1 | 指当前任务流转所处状态为异常情况 |
fr_task_state=0 | 指当前任务流转所处状态为等待上报 |
fr_task_state=1 | 指当前任务流转所处状态为等待审核 |
fr_task_state=2 | 指当前任务流转所处状态为审核通过 |
fr_task_state=3 | 指当前任务流转所处状态为被退回 |
fr_task_state=4 | 指当前任务流转所处状态为已关闭 |
fr_task_state=5 | 指当前任务流转所处状态为超时 |
fr_task_state 其具体使用情况请查看:进行多级上报
fr_task_sender 的具体使用情况请查看:联合填报上报
2.2 各地区销售数据.cpt
销售总监审核数据,可以看到所有销售人员的当期数据。
1)模板数据
新建模板数据集 ds1:SELECT user.user,name,area,up.* FROM up,user where up.销售员=user.user and 月份='${month}'
参数默认值为当前月份:year(today()) + "-" + (month(today()))。
2)模板设计
该模板的制作过程这里也不详细讲述,详细请查看%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\Datareport\各地区销售数据.cpt
2.3 各地区销售数据审核.cpt
总领导查看数据,在查看原始的销售数据的同时,还要查看其汇总数据,同期比以及图表数据分析。
1)新建模板数据集:
ds1:SELECT user.user,name,area,up.* FROM up,user where up.销售员=user.user
ds2:SELECT user.user,name,area,up.* FROM up,user where up.销售员=user.user and 月份='${month}'
2)模板设计
报表设计样式如下图所示:
至此,该流程的模板已经制作完成,下面根据上报流程图添加上报流程,具体请查看 下一节。