openGionopenGion
5.0.0.0

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
すべての実装されたインタフェース:
Serializable, BodyTag, IterationTag, JspTag, Tag, 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 形式で1日の時間範囲を指定
         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"(週単位) を使用の週数の計算は、年初の最初の7日間が含まれる週を、第1週と数えます。

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

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

 システムリソースに USE_GANTTHEADER_MULTIPLE_COLUMN パラメータを設定すると、
 ガントヘッダーにおいて、時間ヘッダーの上段に日付を、下段の時間軸の(h)の削除を行います。
 日付は、表示開始時刻の上と、それの6時間ごとに表示します。
 2段組を使用するかどうかを、システムリソースの 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(String arg)
          【TAG】DB検索する場合の第1のキーを指定します。
 void setArg2(String arg)
          【TAG】DB検索する場合の第2のキーを指定します。
 void setArg3(String arg)
          【TAG】DB検索する場合の第3のキーを指定します。
 void setArg4(String arg)
          【TAG】DB検索する場合の第4のキーを指定します。
 void setBreakTimes(String times)
          【TAG】時間軸(zoom=20)での休憩時間の開始-終了時刻をカンマ区切りで複数指定します。
 void setBreakTimeStyle(String style)
          【TAG】時間軸(zoom=20)での休憩時間の表示スタイルを設定します。
 void setCalDB(String db)
          【TAG】DB検索するDBを指定します。
 void setDaySpan(String val)
          【TAG】1日の開始終了時間を24時間形式(HHmm-HHmm)で設定します(初期値:0700-2000)
 void setEndDate(String val)
          【TAG】表示最終日を設定します(YYYYMMDD または、yyyyMMddHHmm 形式)。
 void setSkipHoliday(String skipHol)
          【TAG】時間ガントで休日を表示する/しないを設定します。
 void setStartDate(String val)
          【TAG】表示開始日付けを設定します(yyyyMMdd または、yyyyMMddHHmm 形式)。
 void setZoom(String val)
          【TAG】ズーム変数(0 ~ 9)を設定します(初期値:2)。
 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, 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
 
クラス 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() を オーバーライドします。

定義:
インタフェース 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(String val)
【TAG】表示開始日付けを設定します(yyyyMMdd または、yyyyMMddHHmm 形式)。

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

setEndDate

public void setEndDate(String val)
【TAG】表示最終日を設定します(YYYYMMDD または、yyyyMMddHHmm 形式)。

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

setDaySpan

public void setDaySpan(String val)
【TAG】1日の開始終了時間を24時間形式(HHmm-HHmm)で設定します(初期値:0700-2000)

パラメータ:
val - String
TagLib:
この値は、1日の開始終了時間を指定します。 開始時刻より終了時刻が小さい場合は、翌日への日またぎとして計算します。 たとえば、夜勤等で、17:00-07:00 という指定が可能です。 初期値は、朝の7:00から夜の20:00までです。(0700-2000)です。
変更履歴:
3.8.0.5 (2005/08/26) 本日は、青色で示します。

setZoom

public void setZoom(String val)
【TAG】ズーム変数(0 ~ 9)を設定します(初期値:2)。

パラメータ:
val - String
TagLib:
CSSファイルでの定義と、背景画像との関係で、作成します。 ズーム変数は、CSSファイルや、JavaScript、PL/SQLと連動して、日付間隔 あたりのピクセルを計算して、ヘッダーを作成しています。 また、現在の標準的なクライアントでの換算になる為、高解像度のディスプレイや 特殊設定された環境では、表示間隔にずれが発生する可能性があります。 ZOOM ラベル 日数ピクセル変換率 ヘッダ上 ヘッダ下 1文字(CSS) ================================================================================== 0 : 1週間 日数 * 12 * 4 48 48px = 1日 [02/ ] [23(EE)] 8px 1 : 2週間 日数 * 12 * 2 24 24px = 1日 [02/] [23 ] 8px 2 : 1ヶ月 日数 * 12 12 12px = 1日 [2] [3] 12px 3 : 2ヶ月 日数 * 12 / 1.5 8 56px = 7日 [2004/ ] [02/03 ] 8px 4 : 3ヶ月 日数 * 12 / 3 4 56px = 14日 [2004/ ] [02/03 ] 8px 5 : 4ヶ月 日数 * 12 / 4 3 90px = 30日 [2004/ ] [02/03 ] 9px 6 : 6ヶ月 日数 * 12 / 6 2 60px = 30日 [2004/ ] [02/03 ] 10px 7 : 1年 日数 * 12 / 12 1 90px = 90日 [2004/ ] [02/03 ] 9px 8 : 2年 日数 * 12 / 24 0.5 90px =180日 [2004/ ] [02/03 ] 9px 9 : 3年 日数 * 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(String db)
【TAG】DB検索するDBを指定します。

パラメータ:
db - String DB検索するDBを指定
TagLib:
カレンダデータは、システムパラメータ の CalendarQuery_XXXX で 指定する、CalendarQuery クラスの QUERY 文で、実際に取得します。 上記の XXXX 部分に、ここで指定するキーワードを設定して置きます。 通常は、データベースID (GE13, ZY01 など)を指定します。 このキーワードに対する実装クラスを、先のシステムパラメータ の キーワード以下に記述しておきます。
変更履歴:
3.6.0.0 (2004/09/17) DB検索するDBのキー

setBreakTimeStyle

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

パラメータ:
style - String 休憩時間の表示スタイル
TagLib:
通常は、ヘッダーのトップからの位置と、色です。 それ以外にも、スタイルシート属性(キー:値;) というセットを指定できます。 初期値は、top:20px;background-color:yellow; です。 設定の後ろに、; を付ける様にしてください。
変更履歴:
3.8.0.5 (2005/08/26) 新規追加

setBreakTimes

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

パラメータ:
times - String 休憩時間の表示スタイル
TagLib:
休憩時間は、HHmm-HHmm形式、または、yyyyMMddHHmm-HHmm、または、 yyyyMMddHHmm-yyyyMMddHHmm形式で複数指定できます。 これは、開始-終了というハイフン形式でつなげます。 このセットを、カンマで複数指定できます。 例えば、200508201200-1245,200508201300-1315 という感じです。 - の前後が、4桁の場合は、HHmm-HHmm 形式として、日付に関係なく、常にこの時分 で休憩が入るという認識をします。つまり、開始は、12桁か、4桁の日付形式、 終了も、12桁か、4桁の日付形式になります。
変更履歴:
3.8.0.5 (2005/08/26) 新規追加
3.8.0.7 (2005/09/20) 日付またがり追加追加

setArg1

public void setArg1(String arg)
【TAG】DB検索する場合の第1のキーを指定します。

パラメータ:
arg - String DB検索の第1キー(事業所コードなど)
TagLib:
例えば、GE13, ZY01 では、事業所コード(CDJGS)を設定します。 この値は、システムパラメータ の CalendarQuery_XXXX で 指定する、CalendarQuery クラスの QUERY 文に依存します。 データベース定義の統一を望むところです。
変更履歴:
3.6.0.0 (2004/09/17) DB検索の第1キー(事業所コードなど)を追加

setArg2

public void setArg2(String arg)
【TAG】DB検索する場合の第2のキーを指定します。

パラメータ:
arg - String DB検索の第2キー(WCコードなど)
TagLib:
例えば、TP652 では、事業部コード(CDJGS) と 物件工程コード(CDKTEI)の2つの キーで、カレンダを取得します。(+年月で、行を決定) 引数が、2つまで対応しています この値は、システムパラメータ の CalendarQuery_XXXX で 指定する、CalendarQuery クラスの QUERY 文に依存します。 データベース定義の統一を望むところです。
変更履歴:
3.6.0.0 (2004/09/17) DB検索の第2キー(WCコードなど)を追加

setArg3

public void setArg3(String arg)
【TAG】DB検索する場合の第3のキーを指定します。

パラメータ:
arg - String DB検索の第3キー
TagLib:
この値は、システムパラメータ の CalendarQuery_XXXX で 指定する、CalendarQuery クラスの QUERY 文に依存します。 データベース定義の統一を望むところです。
変更履歴:
3.6.0.0 (2004/09/17) DB検索の第3キーを追加

setArg4

public void setArg4(String arg)
【TAG】DB検索する場合の第4のキーを指定します。

パラメータ:
arg - String DB検索の第4キー
TagLib:
この値は、システムパラメータ の CalendarQuery_XXXX で 指定する、CalendarQuery クラスの QUERY 文に依存します。 データベース定義の統一を望むところです。
変更履歴:
3.6.0.0 (2004/09/17) DB検索の第4キーを追加

setSkipHoliday

public void setSkipHoliday(String skipHol)
【TAG】時間ガントで休日を表示する/しないを設定します。

パラメータ:
skipHol - String 休日をスキップするかどうか。
TagLib:
この値をfalseにすると、時間ガントでも休日が赤色で表示 されるようになります。trueにした場合は、休日は表示され ません。初期値はシステムリソースのUSE_GANTTHEADER_SKIP_HOLIDAYで設定します。
変更履歴:
4.0.0.0 (2007/09/07) 新規作成

toString

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

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

openGion 5.0.0.0

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