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



          主站蜘蛛池模板: 河南省| 平塘县| 和林格尔县| 宁河县| 三都| 泸定县| 汾阳市| 凯里市| 云林县| 图们市| 类乌齐县| 凉山| 鹤壁市| 民勤县| 巴楚县| 东乌珠穆沁旗| 乌鲁木齐市| 滁州市| 泽州县| 海晏县| 岳普湖县| 聂拉木县| 汉源县| 萝北县| 嘉峪关市| 中牟县| 安国市| 安阳市| 西贡区| 青州市| 渭源县| 从化市| 台南市| 滨海县| 革吉县| 贡嘎县| 霍林郭勒市| 清涧县| 台南县| 清原| 红桥区|