Java軟件報表軟件技術博客

          java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理
           

              Java報表軟件定時器中,參數尤為重要,特別是時間參數,在涉及到時間的定時任務中都需要用到它的公式。下面就以FineReport報表軟件為例,詳細介紹一下定時器的參數。

          1.    時間參數

          定時器中主要用到的時間參數如下:

          日報

          當前日期的前一天:Format(today()-1,”yyyy-MM-dd”)

          周報

          當前日期的上一周的第一天:

          Format(dateInWeek((today()-7),1)”yyyy-MM-dd”)

          當前日期的上一周的最后一天:

          Format(dateInWeek((today()-7),7),"yyyy-MM-dd")

          當前日期的上上周的第一天:

          Format(dateInWeek(dateDelta(dateInWeek((today()-7),1),-7),1),"yyyy-MM-dd")

          當前日期的上上周的最后一天:

          Format(dateInWeek(dateDelta(dateInWeek((today()-7),7),-7),7),"yyyy-MM-dd")

          月報

          當前日期的上一個月的第一天:

          Format(dateInMonth(monthDelta(today(),-1),1),"yyyy-MM-dd")

          當前日期的上一個月的最后一天:

          Format(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),"yyyy-MM-dd")

          當前日期的上上月的第一天:

          Format(dateInMonth(monthDelta(dateInMonth(monthDelta(today(),-1),1),-1),1),"yyyy-MM-dd")

          當前日期的上上月的最后一天:

          Format(dateInMonth(monthDelta(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),-1),daysOfMonth(monthDelta(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),-1))),"yyyy-MM-dd")

          年報

          當前日期的上一年的第一天:

          Format(dateInYear(yearDelta(today(),-1),1),"yyyy-MM-dd")

          當前日期的上一年的最后一天

          Format(dateInYear(yearDelta(today(),-1),daysOfYear(yearDelta(today(),-1))),"yyyy-MM-dd")

          2.    其他類型參數值

          報表當中除了時間參數之外,為了節省報表制作的工作量和減少報表文件的總量,我們往往要在報表里面加入其他的參數。例如主機名,指標名等等。

          首先我們在報表里面定義這些參數的時候,建議使用中文的參數名稱,這樣在定時生成之后,在報表查看時上方的參數名稱也就是直接讀的在報表

          當中定義的參數名稱。中文對于最終用戶來說比較容易理解。

          在報表當中有這些參數的時候,定時生成的時候,我們需要設定參數包含哪些具體的值。比如exchange郵件服務器的性能報表,在哪幾臺機器上

          exchangeexchange又包含哪些參數指標。這些我們都需要通過定義全局數據源得到。

          也就是說,我們先定義好一個全局數據源,該數據源返回的結果是exchange服務器所在的所有主機。

          然后在設置定時生成的時候,主機這個參數的參數類型,設置為。選擇我們已經定義好的全局數據源,以及該數據源中代表主機的列即可。這樣在這個數據源內返回了多少結果,則報表在生成的時候,會每一個值生成一個報表。有一種特殊的情況,也許要通過多定義一些全局數據源來實現。例如我們的報表當中,有一部分是windows主機的性能報表。但是windows的主機又分為OACallCenter。如果分開來設計報表的話,是一種重復勞動。

          解決的辦法,就是通過定義不同的全局數據源。還是以主機這個參數舉例。在全局數據源里面定義兩個不同的數據源分別返回的結果是OA的主機和CallCenter的主機。 然后我們只要設計一張Windows主機的報表即可。在定義定時任務時,可以定義兩個不同的action, 只是主機這個參數定義的時候,選擇的數據源不同。選擇OA的主機,那么生成的報表就是OA的性能報表,選擇CallCenter的主機,生成的即是CallCenter的報表。 再舉一個例子。各個業務系統的報表,也可以通過這個方法,大大減少報表的數量。例如業務系統的日報,我們只需要設計一張報表。在設置定時生成的時候,業務系統這個參數,可以分別設置固定的值,即十個不同的action

           

          文章轉自:http://blog.vsharing.com/fanfanzheng/A1305575.html



          主站蜘蛛池模板: 萨迦县| 斗六市| 浙江省| 个旧市| 九龙县| 丰台区| 杭锦旗| 大悟县| 连州市| 清远市| 栾川县| 宜阳县| 沂源县| 桓台县| 临猗县| 肇源县| 东乡| 阿图什市| 晋州市| 镇原县| 安丘市| 利辛县| 深水埗区| 沅江市| 依兰县| 皋兰县| 炎陵县| 彭阳县| 项城市| 宁城县| 米易县| 西和县| 曲沃县| 莒南县| 普兰县| 六盘水市| 万全县| 沂源县| 凤台县| 吉安县| 德兴市|