概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.5.0.1
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.hayabusa.taglib
クラス GanttHeaderTag

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          javax.servlet.jsp.tagext.BodyTagSupport
              org.opengion.hayabusa.taglib.CommonTagSupport
                  org.opengion.hayabusa.taglib.GanttHeaderTag

すべての実装されたインタフェース:
  java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

    public class GanttHeaderTag

extends CommonTagSupport

ガントチャート用のヘッダー情報（日付け等）を出力するタグです。 スライドバー式ガントチャートの表示時に、スライドバーの長さと日付とを関連付けるための ヘッダー情報（日付け等）を出力します。スライドバーと日付間隔は、zoom 属性によって、 CSSファイルのフォントサイズと、JavaScript の内部配列に依存しています。 また、このヘッダーでは、日付の休日情報を、カレンダテーブルを参照することで取得しています。 calDB 属性への指定は、CalendarFactory で生成されるテーブル名(CalendarDataの実装クラス) を指定します。

関連項目:
  直列化された形式
形式サンプル:

       ●形式：<og:ganttHeader startDate="…" endDate="…" zoom="[…]" />
       ●body：なし

       ●使用例
          参照：jsp/GANTT06 フォルダ

           <og:ganttHeader
               startDate = "{@VIEW_DATE}"
               endDate   = "{@DYMAX}"
               zoom      = "{@VIEW_ZOOM}"
               calDB     = "GE13"
               arg1      = "{@CDJGS}"
               arg2      = ""
           /og:ganttHeader>

           <og:ganttHeader
               startDate  = "{@VIEW_DATE}"
               endDate    = "{@DYMAX}"
               daySpan    = "0700-2000"                               HHmm-HHmm 形式で１日の時間範囲を指定
               breakTimes = "1200-1245,1645-1650,200508200700-1200;"  休憩時間は、HHmm-HHmm形式、または、yyyyMMddHHmm-HHmm形式、または、yyyyMMddHHmm-yyyyMMddHHmm形式です。
               breakTimeStyle = "top:20px;background-color:yellow;"   休憩時間のスタイルに追加します。
               zoom       = "20"
           /og:ganttHeader>

       ●定義・解説
         PL/SQL の VIEW_ZOOM メソッドを用いて、実際の日付けから画面表示ピクセルへ
         変換する割合を求めます。これと、jsp\GANTT\image の ganttBGx.gif(x は ZOOM変数)
         を対応付けて、日付けのヘッダーを求めます。
         jsp\custom\custom.css の th.zoomx(x は ZOOM変数) により、日付けヘッダー文字の
         表示間隔を制御していますので、これらの関係を正確に把握しておいて下さい。
         日付けヘッダーは、イメージ変数を用いている関係上、固定の日数を加算して、
         求めます。（週:7日, 半月:15日, 月:30日, 4半期:90日, 年:360日）

       ヘッダー部のカレンダに、事業所カレンダを使用することが出来ます。
       使用する場合は、事業所コード( arg1 )属性のセットと、システムパラメータ の
       USE_CALENDAR_DATABASE 属性を true に設定しておく必要があります。
       このフラグは、事業所カレンダテーブル(GE13)を使用するために必要です。
       zoom="10"(週単位) を使用の週数の計算は、年初の最初の７日間が含まれる週を、第１週と数えます。

       zoom="20"(時)間 では、１日の時間範囲をdaySpanでHHmm-HHmm形式で指定します。
       開始終了は、startDate、endDateで指定しますが、yyyyMMdd または、yyyyMMddHHmm 形式とします。
       calDB で指定された カレンダテーブルを見て、休日の場合は、表示をスキップします。
       休憩時間は、breakTimes で指定します。(HHmm-HHmm形式、または、yyyyMMddHHmm-HHmm、
       または、yyyyMMddHHmm-yyyyMMddHHmm形式)
       カンマ区切りで複数指定できます。日付指定がない場合は、毎日、日付指定がある場合は、
       その日のみ有効です。休憩時間は、日をまたぐ事は可能です。
       breakTimeStyle として、休憩時間の指定に追加するスタイル属性を追加します。
       通常は、バックカラーと上からの位置です。初期値は、"top:20px;background-color:yellow;" です。
       ヘッダー表示は、１時間単位です。

       zoom="21"(時)間 では、一時間のピクセルを"20"(時)の半分に変更します。

       システムリソースに USE_GANTTHEADER_MULTIPLE_COLUMN パラメータを設定すると、
       ガントヘッダーにおいて、時間ヘッダーの上段に日付を、下段の時間軸の(h)の削除を行います。
       日付は、表示開始時刻の上と、それの６時間ごとに表示します。
       ２段組を使用するかどうかを、システムリソースの USE_GANTTHEADER_MULTIPLE_COLUMN で指定します。

       システムリソースに USE_GANTTHEADER_MONTH_DATE パラメータを設定すると、
       ガントヘッダーにおいて、30日、90日、180日のヘッダー表示で、日付まで
       表示するか、月のみ表示するかを指定します。
       ガントヘッダーの繰返し表示でバックグラウンドイメージは固定日なので、一月表示を
       30日単位で表示していますが、先頭日付が 1日でないため、判りにくいと苦情がありました。
       そこで、30日、90日、180日のヘッダー表示時に、日付を表示しないようにするフラグです。
       月表示は、その月が 20日以降の場合、翌月を表示します。
       初期値は、互換性の為、false です。

変更履歴:

  3.5.4.8 (2004/02/23) 新規作成

機能階層
  画面部品
バージョン
  4.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

フィールドの概要

クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド
`bodyContent`

クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド
`id, pageContext`

インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド
`EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド
`EVAL_BODY_AGAIN`

インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド
`EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

コンストラクタの概要
`GanttHeaderTag()`

メソッドの概要
`int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
`protected void` | `release2()` タグリブオブジェクトをリリースします。
`void` | `setArg1(java.lang.String arg)` 【TAG】ＤＢ検索する場合の第１のキーを指定します。
`void` | `setArg2(java.lang.String arg)` 【TAG】ＤＢ検索する場合の第２のキーを指定します。
`void` | `setArg3(java.lang.String arg)` 【TAG】ＤＢ検索する場合の第３のキーを指定します。
`void` | `setArg4(java.lang.String arg)` 【TAG】ＤＢ検索する場合の第４のキーを指定します。
`void` | `setBreakTimes(java.lang.String times)` 【TAG】時間軸(zoom=20)での休憩時間の開始-終了時刻をカンマ区切りで複数指定します。
`void` | `setBreakTimeStyle(java.lang.String style)` 【TAG】時間軸(zoom=20)での休憩時間の表示スタイルを設定します。
`void` | `setCalDB(java.lang.String db)` 【TAG】DB検索するＤＢを指定します。
`void` | `setDaySpan(java.lang.String val)` 【TAG】１日の開始終了時間を24時間形式(HHmm-HHmm)で設定します（初期値:0700-2000）
`void` | `setEndDate(java.lang.String val)` 【TAG】表示最終日を設定します（YYYYMMDD または、yyyyMMddHHmm 形式）。
`void` | `setSkipHoliday(java.lang.String skipHol)` 【TAG】時間ガントで休日を表示する/しないを設定します。
`void` | `setStartDate(java.lang.String val)` 【TAG】表示開始日付けを設定します（yyyyMMdd または、yyyyMMddHHmm 形式）。
`void` | `setZoom(java.lang.String val)` 【TAG】ズーム変数（0 ～ 9)を設定します(初期値:2)。
`java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。

クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
`add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたメソッド
`doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド
`findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue`

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド
`getParent, setPageContext, setParent`

コンストラクタの詳細

### GanttHeaderTag

    public GanttHeaderTag()

メソッドの詳細

### doEndTag

    public int doEndTag()

  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。

  定義:
    インタフェース `javax.servlet.jsp.tagext.Tag` 内の `doEndTag`
  オーバーライド:
    クラス `CommonTagSupport` 内の `doEndTag`
  戻り値:
    int 後続処理の指示
  変更履歴:

    3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
    3.6.0.0 (2004/09/17) zoom 3 の時の計算値を変更
    3.7.1.0 (2005/04/15) zoom 10 の追加
    3.8.1.6 (2006/04/25) zoom 21 の追加
    3.8.5.2 (2006/06/09) makeZoom メソッドの USE_MONTH_DATE パラメータ追加
    3.8.9.2 (2007/07/28) makeZoomTime メソッドの 時間間隔パラメータ追加

### release2

    protected void release2()

  タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。

  オーバーライド:
    クラス `CommonTagSupport` 内の `release2`
  変更履歴:

    3.6.0.0 (2004/09/17) 事業所コード cdjgs 属性を追加
    3.8.0.2 (2005/07/11) startTime,timePeriod,breakTimes 属性を追加
    3.8.0.5 (2005/08/26) daySpan,breakTimes,breakTimeStyle 属性を追加

### setStartDate

    public void setStartDate(java.lang.String val)

  【TAG】表示開始日付けを設定します（yyyyMMdd または、yyyyMMddHHmm 形式）。

  パラメータ:
    `val` - String
  説明:

         この値は、ヘッダーの先頭に表示する日付けを指定します。
         通常の日付ヘッダーの場合は、 yyyyMMdd 形式ですが、時間ヘッダーの場合は、
         yyyyMMddHHmm 形式で指定します。

### setEndDate

    public void setEndDate(java.lang.String val)

  【TAG】表示最終日を設定します（YYYYMMDD または、yyyyMMddHHmm 形式）。

  パラメータ:
    `val` - String
  説明:

         表示開始日から終了日までを、zoom 変数の値に応じてヘッダーラベルを
         作成します。
         通常の日付ヘッダーの場合は、 yyyyMMdd 形式ですが、時間ヘッダーの場合は、
         yyyyMMddHHmm 形式で指定します。

### setDaySpan

    public void setDaySpan(java.lang.String val)

  【TAG】１日の開始終了時間を24時間形式(HHmm-HHmm)で設定します（初期値:0700-2000）

  パラメータ:
    `val` - String
  説明:

         この値は、１日の開始終了時間を指定します。
         開始時刻より終了時刻が小さい場合は、翌日への日またぎとして計算します。
         たとえば、夜勤等で、17:00-07:00 という指定が可能です。
         初期値は、朝の7:00から夜の20:00までです。(0700-2000)です。

  変更履歴:

    3.8.0.5 (2005/08/26) 本日は、青色で示します。

### setZoom

    public void setZoom(java.lang.String val)

  【TAG】ズーム変数（0 ～ 9)を設定します(初期値:2)。

  パラメータ:
    `val` - String
  説明:

         CSSファイルでの定義と、背景画像との関係で、作成します。
         ズーム変数は、CSSファイルや、JavaScript、PL/SQLと連動して、日付間隔
         あたりのピクセルを計算して、ヘッダーを作成しています。
         また、現在の標準的なクライアントでの換算になる為、高解像度のディスプレイや
         特殊設定された環境では、表示間隔にずれが発生する可能性があります。

            ZOOM  ラベル        日数ピクセル変換率          ヘッダ上      ヘッダ下    1文字(CSS)
          ==================================================================================
              0 : １週間 日数 * 12 * 4    48   48px =  1日  [02/   ]      [23(EE)]       8px
              1 : ２週間 日数 * 12 * 2    24   24px =  1日  [02/]         [23 ]          8px
              2 : １ヶ月 日数 * 12        12   12px =  1日  [2]           [3]           12px
              3 : ２ヶ月 日数 * 12 / 1.5   8   56px =  7日  [2004/  ]     [02/03  ]      8px
              4 : ３ヶ月 日数 * 12 / 3     4   56px = 14日  [2004/  ]     [02/03  ]      8px
              5 : ４ヶ月 日数 * 12 / 4     3   90px = 30日  [2004/     ]  [02/03     ]   9px
              6 : ６ヶ月 日数 * 12 / 6     2   60px = 30日  [2004/ ]      [02/03 ]      10px
              7 : １年   日数 * 12 / 12    1   90px = 90日  [2004/     ]  [02/03     ]   9px
              8 : ２年   日数 * 12 / 24   0.5  90px =180日  [2004/     ]  [02/03     ]   9px
              9 : ３年   日数 * 12 / 36   0.33 60px =180日  [2004/ ]      [02/03 ]      10px
             10 : 週単位 日数 * 12 / 3.5  3.43 24px =  7日  [19W]         [12 ]          8px
             11 : 予約済み(他物件使用済み)
             12 : 予約済み(他物件使用済み)
             20 :  1時間   時間 * 12 * 4        48 48px = 1時間 [02日]      [07h ]        12px
             21 :  1時間2  時間 * 12 * 2        24 24px = 1時間 [02]        [07]          12px
             22 :  2時間   時間 * 12 * 4  /  2  24 48px = 2時間 [02日]      [07h ]        12px
             23 :  2時間2  時間 * 12 * 2  /  2  12 24px = 2時間 [02]        [07]          12px
             24 :  4時間   時間 * 12 * 4  /  4  12 48px = 4時間 [02日]      [07h ]        12px
             25 :  4時間2  時間 * 12 * 2  /  4   6 24px = 4時間 [02]        [07]          12px
             26 :  6時間   時間 * 12 * 4  /  6   8 48px = 6時間 [02日]      [07h ]        12px
             27 :  6時間2  時間 * 12 * 2  /  6   4 24px = 6時間 [02]        [07]          12px
             28 :  8時間   時間 * 12 * 4  /  8   6 48px = 8時間 [02日]      [07h ]        12px
             29 :  8時間2  時間 * 12 * 2  /  8   3 24px = 8時間 [02]        [07]          12px
             30 : 12時間   時間 * 12 * 4  / 12   4 48px =12時間 [02日]      [07h ]        12px
             31 : 12時間2  時間 * 12 * 2  / 12   2 24px =12時間 [02]        [07]          12px

### setCalDB

    public void setCalDB(java.lang.String db)

  【TAG】DB検索するＤＢを指定します。

  パラメータ:
    `db` - String DB検索するＤＢを指定
  説明:

         カレンダデータは、システムパラメータ の CalendarQuery_XXXX で
         指定する、CalendarQuery クラスの QUERY 文で、実際に取得します。
         上記の XXXX 部分に、ここで指定するキーワードを設定して置きます。
         通常は、データベースID (GE13, ZY01 など)を指定します。
         このキーワードに対する実装クラスを、先のシステムパラメータ の
         キーワード以下に記述しておきます。

  変更履歴:

    3.6.0.0 (2004/09/17) DB検索するＤＢのキー

### setBreakTimeStyle

    public void setBreakTimeStyle(java.lang.String style)

  【TAG】時間軸(zoom=20)での休憩時間の表示スタイルを設定します。

  パラメータ:
    `style` - String 休憩時間の表示スタイル
  説明:

         通常は、ヘッダーのトップからの位置と、色です。
         それ以外にも、スタイルシート属性(キー:値;) というセットを指定できます。
         初期値は、top:20px;background-color:yellow; です。
         設定の後ろに、; を付ける様にしてください。

  変更履歴:

    3.8.0.5 (2005/08/26) 新規追加

### setBreakTimes

    public void setBreakTimes(java.lang.String times)

  【TAG】時間軸(zoom=20)での休憩時間の開始-終了時刻をカンマ区切りで複数指定します。

  パラメータ:
    `times` - String 休憩時間の表示スタイル
  説明:

         休憩時間は、HHmm-HHmm形式、または、yyyyMMddHHmm-HHmm、または、
         yyyyMMddHHmm-yyyyMMddHHmm形式で複数指定できます。
         これは、開始-終了というハイフン形式でつなげます。
         このセットを、カンマで複数指定できます。
         例えば、200508201200-1245,200508201300-1315 という感じです。
         - の前後が、４桁の場合は、HHmm-HHmm 形式として、日付に関係なく、常にこの時分
         で休憩が入るという認識をします。つまり、開始は、12桁か、4桁の日付形式、
         終了も、12桁か、4桁の日付形式になります。

  変更履歴:

    3.8.0.5 (2005/08/26) 新規追加
    3.8.0.7 (2005/09/20) 日付またがり追加追加

### setArg1

    public void setArg1(java.lang.String arg)

  【TAG】ＤＢ検索する場合の第１のキーを指定します。

  パラメータ:
    `arg` - String DB検索の第１キー(事業所コードなど）
  説明:

         例えば、GE13, ZY01 では、事業所コード(CDJGS)を設定します。
         この値は、システムパラメータ の CalendarQuery_XXXX で
         指定する、CalendarQuery クラスの QUERY 文に依存します。
         データベース定義の統一を望むところです。

  変更履歴:

    3.6.0.0 (2004/09/17) DB検索の第１キー(事業所コードなど）を追加

### setArg2

    public void setArg2(java.lang.String arg)

  【TAG】ＤＢ検索する場合の第２のキーを指定します。

  パラメータ:
    `arg` - String DB検索の第２キー(ＷＣコードなど）
  説明:

         例えば、TP652 では、事業部コード(CDJGS) と 物件工程コード(CDKTEI)の２つの
         キーで、カレンダを取得します。（＋年月で、行を決定）
         引数が、２つまで対応しています
         この値は、システムパラメータ の CalendarQuery_XXXX で
         指定する、CalendarQuery クラスの QUERY 文に依存します。
         データベース定義の統一を望むところです。

  変更履歴:

    3.6.0.0 (2004/09/17) DB検索の第２キー(ＷＣコードなど）を追加

### setArg3

    public void setArg3(java.lang.String arg)

  【TAG】ＤＢ検索する場合の第３のキーを指定します。

  パラメータ:
    `arg` - String DB検索の第３キー
  説明:

         この値は、システムパラメータ の CalendarQuery_XXXX で
         指定する、CalendarQuery クラスの QUERY 文に依存します。
         データベース定義の統一を望むところです。

  変更履歴:

    3.6.0.0 (2004/09/17) DB検索の第３キーを追加

### setArg4

    public void setArg4(java.lang.String arg)

  【TAG】ＤＢ検索する場合の第４のキーを指定します。

  パラメータ:
    `arg` - String DB検索の第４キー
  説明:

         この値は、システムパラメータ の CalendarQuery_XXXX で
         指定する、CalendarQuery クラスの QUERY 文に依存します。
         データベース定義の統一を望むところです。

  変更履歴:

    3.6.0.0 (2004/09/17) DB検索の第４キーを追加

### setSkipHoliday

    public void setSkipHoliday(java.lang.String skipHol)

  【TAG】時間ガントで休日を表示する/しないを設定します。

  パラメータ:
    `skipHol` - String 休日をスキップするかどうか。
  説明:

         この値をfalseにすると、時間ガントでも休日が赤色で表示
         されるようになります。trueにした場合は、休日は表示され
         ません。初期値はシステムリソースのUSE_GANTTHEADER_SKIP_HOLIDAYで設定します。

  変更履歴:

    4.0.0.0 (2007/09/07) 新規作成

### toString

    public java.lang.String toString()

  このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

  オーバーライド:
    クラス `CommonTagSupport` 内の `toString`
  戻り値:
    このクラスの文字列表現

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.5.0.1
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.