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 形式で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 |
メソッドの概要 |
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。 |
protected void |
release2()
タグリブオブジェクトをリリースします。 |
void |
setArg1(java.lang.String arg)
【TAG】DB検索する場合の第1のキーを指定します。 |
void |
setArg2(java.lang.String arg)
【TAG】DB検索する場合の第2のキーを指定します。 |
void |
setArg3(java.lang.String arg)
【TAG】DB検索する場合の第3のキーを指定します。 |
void |
setArg4(java.lang.String arg)
【TAG】DB検索する場合の第4のキーを指定します。 |
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検索するDBを指定します。 |
void |
setDaySpan(java.lang.String val)
【TAG】1日の開始終了時間を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, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setMsglbl, setNoTransitionRequest, setObject, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, 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】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(java.lang.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(java.lang.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(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 という感じです。
- の前後が、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(java.lang.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(java.lang.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(java.lang.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(java.lang.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(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
- 戻り値:
- このクラスの文字列表現
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.