1.描述
由 多級上報示例 中的流程圖可以看出,銷售額的錄入需要經過銷售人員錄入基礎數據>銷售總監審核數據>總領導查看數據。其中銷售人員錄入數據,那麽該模板只能顯示該銷售員的上期錄入數據,以及該期數據;銷售總監審核數據則需要看到所有銷售人員的數據,而總領導查看數據,則需要另外一張模板,在銷售數據的基礎上進行圖表分析。
2. 模板制作
2.1 産品月銷量情況錄入表.cpt
銷售人員錄入數據,首先我們我們來制作這張模板。
1)新建模板數據集 ds1:SELECT * FROM up,ds2:SELECT * FROM 銷量
2)模板設計
3)數據過濾
從上圖可以看出,銷售人員錄入當月數據的同時,需要查看上月銷量數據,故 C5 和 C6 單元格的公式分别爲=year(today()) + "-" + (month(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)模板設計
該模板的制作過程這裏也不詳細講述,詳細請查看%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\Datareport\各地區銷售數據審核.cpt
至此,該流程的模板已經制作完成,下面根據上報流程圖添加上報流程,具體請查看 下一節。