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

## 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, addEventColumnSQL, 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, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitSession, isDebug, isNoTransitionSession, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitSession, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setMsglbl, setNoTransitionSession, setObject, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, setUseValue, startQueryTransaction, sys, sysBool, sysInt, useQuotCheck, 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
  TagLib:

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

### setEndDate

    public void setEndDate(java.lang.String val)

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

  パラメータ:
    `val` - String
  TagLib:

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

### setDaySpan

    public void setDaySpan(java.lang.String val)

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

  パラメータ:
    `val` - String
  TagLib:

    この値は、１日の開始終了時間を指定します。 開始時刻より終了時刻が小さい場合は、翌日への日またぎとして計算します。 たとえば、夜勤等で、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
  TagLib:

    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検索するＤＢを指定
  TagLib:

    カレンダデータは、システムパラメータ の 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 休憩時間の表示スタイル
  TagLib:

    通常は、ヘッダーのトップからの位置と、色です。 それ以外にも、スタイルシート属性(キー:値;) というセットを指定できます。 初期値は、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 休憩時間の表示スタイル
  TagLib:

    休憩時間は、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検索の第１キー(事業所コードなど）
  TagLib:

    例えば、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検索の第２キー(ＷＣコードなど）
  TagLib:

    例えば、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検索の第３キー
  TagLib:

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

  変更履歴:

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

### setArg4

    public void setArg4(java.lang.String arg)

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

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

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

  変更履歴:

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

### setSkipHoliday

    public void setSkipHoliday(java.lang.String skipHol)

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

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

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

  変更履歴:

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

### toString

    public java.lang.String toString()

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

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

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

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