public class GanttHeaderTag extends CommonTagSupport
ガントチャート用のヘッダー情報(日付け等)を出力するタグです。 スライドバー式ガントチャートの表示時に、スライドバーの長さと日付とを関連付けるための ヘッダー情報(日付け等)を出力します。スライドバーと日付間隔は、zoom 属性によって、 CSSファイルのフォントサイズと、JavaScript の内部配列に依存しています。 また、このヘッダーでは、日付の休日情報を、カレンダテーブルを参照することで取得しています。 calDB 属性への指定は、CalendarFactory で生成されるテーブル名(CalendarDataの実装クラス) を指定します。
●形式:<og:ganttHeader startDate="…" endDate="…" zoom="[…]" /> ●body:なし ●Tag定義: <og:ganttHeader startDate 【TAG】表示開始日付けを設定します(yyyyMMdd または、yyyyMMddHHmm 形式) endDate 【TAG】表示最終日を設定します(yyyyMMdd または、yyyyMMddHHmm 形式) zoom 【TAG】ズーム変数(0~13,20~31,40~49)を設定します(初期値:2) calDB 【TAG】DB検索するDBを指定します arg1 【TAG】DB検索する場合の第1のキーを指定します arg2 【TAG】DB検索する場合の第2のキーを指定します arg3 【TAG】DB検索する場合の第3のキーを指定します arg4 【TAG】DB検索する場合の第4のキーを指定します daySpan 【TAG】1日の開始終了時間を24時間形式(HHmm-HHmm)で設定します(初期値:0700-2000) breakTimes 【TAG】時間軸での休憩時間の開始-終了時刻をCSV形式で複数指定します(HHmm-HHmm形式、または、yyyyMMddHHmm-HHmm形式、または、yyyyMMddHHmm-yyyyMMddHHmm形式) breakTimeStyle 【TAG】時間軸での休憩時間の表示スタイルを設定します(初期値:top:20px;background-color:yellow;filter:alpha(opacity=60);opacity:0.60;) baseTimes 【TAG】時間軸でのベース時刻の開始時刻をCSV形式で複数指定します(HHmm形式、または、yyyyMMddHHmm形式) baseTimeStyle 【TAG】時間軸でのベース時刻の表示スタイルを設定します(初期値:top:20px;background-color:transparent;border-left:2px dashed red;) skipHoliday 【TAG】時間ガントで休日を表示する/しないを設定します (初期値:USE_GANTTHEADER_SKIP_HOLIDAY[=true]) useMultiClm 【TAG】時間ヘッダーの上段に日付を、下段の時間を表示します (初期値:USE_GANTTHEADER_MULTIPLE_COLUMN[=false]) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 参照:jsp/GANTT06 フォルダ <og:ganttHeader startDate = "{@VIEW_DATE}" endDate = "{@DYMAX}" zoom = "{@VIEW_ZOOM}" calDB = "GF13" 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日) ヘッダー部のカレンダに、calDB で指定された カレンダテーブルを使用出来ます。 使用する場合は、arg1(事業所コード等)~arg4(WCコード等) の属性を指定する事ができます。 zoom="10"(週単位) を使用の週数の計算は、年初の最初の7日間が含まれる週を、第1週と数えます。 zoom="20"(時)間 では、1日の時間範囲をdaySpanでHHmm-HHmm形式で指定します。 開始時刻は、内部で1時間単位に変換されます。8時30分~は、8時~になります。 終了時間は、その時間を「含みません」 開始終了は、startDate、endDateで指定しますが、yyyyMMdd または、yyyyMMddHHmm 形式とします。 calDB で指定された カレンダテーブルを見て、休日の場合は、表示をスキップします。 休憩時間は、breakTimes で指定します。(HHmm-HHmm形式、または、yyyyMMddHHmm-HHmm、 または、yyyyMMddHHmm-yyyyMMddHHmm形式) CSV形式で複数指定できます。日付指定がない場合は、毎日、日付指定がある場合は、 その日のみ有効です。休憩時間は、日をまたぐ事は可能です。 breakTimeStyle として、休憩時間の指定に追加するスタイル属性を追加します。 通常は、バックカラーと上からの位置です。ヘッダー表示は、1時間単位です。 初期値は、"top:20px;background-color:yellow;filter:alpha(opacity=60);opacity:0.60;" です。 ベース時刻(baseTimes)は、HHmm形式、または、yyyyMMddHHmm形式で指定した箇所に、線を引きます。 例えば、検索した時刻を指定すると、現在時刻の箇所を示す線になります。 また、業務自体の開始時刻や終了時刻の箇所を表すことも可能です。 baseTimeStyle は、このベース時刻のスタイルを決めます。breakTimeStyle との違いは、 帯の幅を、このスタイルシートで指定していることです。 初期値は、top:20px;background-color:transparent;border-left:2px dashed red; です。 zoom="21"(時)間 では、一時間のピクセルを"20"(時)の半分に変更します。 useMultiClm パラメータを設定すると、ガントヘッダーにおいて、2段組を使用するかどうかを、 指定できます。時間ヘッダーの上段に日付を、下段の時間軸の(h)の削除を行います。 日付は、表示開始時刻の上と、それの6時間ごとに表示します。 初期値は、システムリソースの USE_GANTTHEADER_MULTIPLE_COLUMN で指定します。 システムリソースに USE_GANTTHEADER_MONTH_DATE パラメータを設定すると、 ガントヘッダーにおいて、30日、90日、180日のヘッダー表示で、日付まで 表示するか、月のみ表示するかを指定します。 ガントヘッダーの繰返し表示でバックグラウンドイメージは固定日なので、一月表示を 30日単位で表示していますが、先頭日付が 1日でないため、判りにくいと苦情がありました。 そこで、30日、90日、180日のヘッダー表示時に、日付を表示しないようにするフラグです。 月表示は、その月が 20日以降の場合、翌月を表示します。 初期値は、互換性の為、false です。 zoom 40(DAY),41(WEEK),42(MONTH) は、積み上げガント用のヘッダー処理を行います。 積み上げガントは、固定日処理ではなく、月単位に加算します。
3.5.4.8 (2004/02/23) 新規作成 |
BUFFER_MIDDLE, CR
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
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 |
setBaseTimes(String times)
【TAG】時間軸でのベース時刻の開始時刻をCSV形式で複数指定します。
|
void |
setBaseTimeStyle(String style)
【TAG】時間軸でのベース時刻の表示スタイルを設定します。
|
void |
setBreakTimes(String times)
【TAG】時間軸での休憩時間の開始-終了時刻をCSV形式で複数指定します。
|
void |
setBreakTimeStyle(String style)
【TAG】時間軸での休憩時間の表示スタイルを設定します
(初期値:top:20px;background-color:yellow;filter:alpha(opacity=60);opacity:0.60;)。
|
void |
setCalDB(String db)
【TAG】DB検索するDBを指定します。
|
void |
setDaySpan(String val)
【TAG】1日の開始終了時間を24時間形式(HHmm-HHmm または HH-HH)で設定します(初期値:0700-2000)。
|
void |
setEndDate(String val)
【TAG】表示最終日を設定します(yyyyMMdd または、yyyyMMddHHmm 形式)。
|
void |
setSkipHoliday(String skipHol)
【TAG】時間ガントで休日をスキップするかどうかを設定します
(初期値:USE_GANTTHEADER_SKIP_HOLIDAY[=true])。
|
void |
setStartDate(String val)
【TAG】表示開始日付けを設定します(yyyyMMdd または、yyyyMMddHHmm 形式)。
|
void |
setUseMultiClm(String multiClm)
【TAG】時間ガントで2段組を使用[true:する/false:しない]を設定します
(初期値:USE_GANTTHEADER_MULTIPLE_COLUMN[=false])。
|
void |
setZoom(String val)
【TAG】ズーム変数(0~9,10,11,12,20~31,40~42)を設定します(初期値:2)。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, setPageContext, setParent
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
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 メソッドの 時間間隔パラメータ追加 |
5.5.4.0 (2012/07/02) ヘッダー属性情報の出力追加 |
5.6.3.2 (2013/04/12) 曜日を出力する場合の段組みでは、全角スペースを使う(firefox対応) |
protected void release2()
release2
クラス内 CommonTagSupport
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 属性を追加 |
5.5.4.0 (2012/07/02) calStr追加 |
5.6.1.2 (2013/02/22) baseTimes、baseTimeStyle追加,useMultiClm追加 |
public void setStartDate(String val)
val
- 表示開始日付 (yyyyMMdd または、yyyyMMddHHmm形式)この値は、ヘッダーの先頭に表示する日付けを指定します。 通常の日付ヘッダーの場合は、 yyyyMMdd 形式ですが、時間ヘッダーの場合は、 yyyyMMddHHmm 形式で指定します。
public void setEndDate(String val)
val
- 表示最終日 (yyyyMMdd または、yyyyMMddHHmm形式)表示開始日から終了日までを、zoom 変数の値に応じてヘッダーラベルを 作成します。 通常の日付ヘッダーの場合は、 yyyyMMdd 形式ですが、時間ヘッダーの場合は、 yyyyMMddHHmm 形式で指定します。
public void setDaySpan(String val)
val
- 開始終了時間(HHmm-HHmm)形式この値は、1日の開始終了時間を指定します。 開始時刻は、内部で1時間単位に変換されます。8時30分~は、8時~になります。 終了時間は、その時間を「含みません」 開始時刻より終了時刻が小さい場合は、翌日への日またぎとして計算します。 たとえば、夜勤等で、17:00-07:00 という指定が可能です。 初期値は、朝の7:00から夜の20:00までです。(0700-2000)です。
3.8.0.5 (2005/08/26) 本日は、青色で示します。 |
5.6.1.2 (2013/02/22) daySpan(時刻表示範囲)は、内部では1時間単位 |
6.0.2.4 (2014/10/17) 開始-終了が逆転している場合の処理をここで行う。 |
public void setZoom(String val)
val
- ズーム変数(0~9,10,11,12,20~31,40~42)CSSファイルでの定義と、背景画像との関係で、作成します。 ズーム変数は、CSSファイルや、JavaScript、PL/SQLと連動して、日付間隔 あたりのピクセルを計算して、ヘッダーを作成しています。 また、現在の標準的なクライアントでの換算になる為、高解像度のディスプレイや 特殊設定された環境では、表示間隔にずれが発生する可能性があります。 ZOOM ラベル 日数ピクセル変換率 ヘッダ上 ヘッダ下 1文字(CSS) ======================================================================================== 0 : 1週間 日数 * 8 * 6 48 48px = 1日 [02/ ] [23(EE)] 8px 1 : 2週間 日数 * 8 * 3 24 24px = 1日 [02/] [23 ] 8px 2 : 1ヶ月 日数 * 12* 1 12 12px = 1日 [2] [3] 12px 3 : 2ヶ月 日数 * 8 * 7 / 7 8 56px = 7日 [2004/ ] [02/03 ] 8px 4 : 3ヶ月 日数 * 8 * 7 / 14 4 56px = 14日 [2004/ ] [02/03 ] 8px 5 : 4ヶ月 日数 * 9 * 10 / 30 3 90px = 30日 [2004/ ] [02/03 ] 9px 6 : 6ヶ月 日数 * 10 / 6 / 30 2 60px = 30日 [2004/ ] [02/03 ] 10px 7 : 1年 日数 * 9 / 10 / 90 1 90px = 90日 [2004/ ] [02/03 ] 9px 8 : 2年 日数 * 9 / 10 /180 0.5 90px =180日 [2004/ ] [02/03 ] 9px 9 : 3年 日数 * 10 / 6 /180 0.33 60px =180日 [2004/ ] [02/03 ] 10px 10 : 週単位 日数 * 8 / 3 / 7 3.43 24px = 7日 [19W] [12 ] 8px 11 : 予約済み(他物10件使用済み) 12 : 予約済み(他物 8件使用済み) 13 : 日(週) 日数 * 8 * 2 16 16px = 1日 [23] [EE] 8px ======================================================================================== 20 : 1時間 時間 * 12 * 4 48 48px = 1時間 [02EE] [07h ] 12px 21 : 1時間2 時間 * 12 * 2 24 24px = 1時間 [02] [07] 12px 22 : 2時間 時間 * 12 * 4 / 2 24 48px = 2時間 [02EE] [07h ] 12px 23 : 2時間2 時間 * 12 * 2 / 2 12 24px = 2時間 [02] [07] 12px 24 : 4時間 時間 * 12 * 4 / 4 12 48px = 4時間 [02EE] [07h ] 12px 25 : 4時間2 時間 * 12 * 2 / 4 6 24px = 4時間 [02] [07] 12px 26 : 6時間 時間 * 12 * 4 / 6 8 48px = 6時間 [02EE] [07h ] 12px 27 : 6時間2 時間 * 12 * 2 / 6 4 24px = 6時間 [02] [07] 12px 28 : 8時間 時間 * 12 * 4 / 8 6 48px = 8時間 [02EE] [07h ] 12px 29 : 8時間2 時間 * 12 * 2 / 8 3 24px = 8時間 [02] [07] 12px 30 : 12時間 時間 * 12 * 4 / 12 4 48px =12時間 [02EE] [07h ] 12px 31 : 12時間2 時間 * 12 * 2 / 12 2 24px =12時間 [02] [07] 12px ======================================================================================== 40 : 積上(日) 48 48px = 1日 [02/ ] [23(EE)] 8px 41 : 積上(週) 3.43 48px = 7日 [19W] [12 ] 8px 42 : 積上(月) 月数 * 1 1 90px = 30日 [2004/ ] [02/03 ] 9px 43 : 日単位ヘッダー予約済み ~ 49 : 日単位ヘッダー予約済み
5.7.6.2 (2014/05/16) stackHeaderタグの互換機能として、DAY⇒40,WEEK⇒41,MONTH⇒42 対応する。 |
public void setCalDB(String db)
db
- DB検索するデータベースIDカレンダデータは、システムパラメータ の CalendarQuery_**** で 指定する、CalendarQuery クラスの QUERY 文で、実際に取得します。 上記の **** 部分に、ここで指定するキーワードを設定して置きます。 通常は、データベースID (GE13, ZY01 など)を指定します。 このキーワードに対する実装クラスを、先のシステムパラメータ の キーワード以下に記述しておきます。 <a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.7.0&VALUENAME=calDB" target="CONTENTS">CalendarQuery_****</a>
3.6.0.0 (2004/09/17) DB検索するDBのキー |
public void setBreakTimes(String times)
times
- 休憩時間の開始-終了時刻(CSV形式)休憩時間は、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) 日付またがり追加追加 |
public void setBreakTimeStyle(String style)
style
- 休憩時間の表示スタイル通常は、ヘッダーのトップからの位置と、色です。 それ以外にも、スタイルシート属性(キー:値;) というセットを指定できます。 class="breakTime" を出力していますので、そちらを使用したい場合は、breakTimeStyleを無効化してください。 そうしないと、こちらは、直接 style属性で設定しているので、強いです。 初期値は、top:20px;background-color:yellow;filter:alpha(opacity=60);opacity:0.60; です。 IE8以下のために、filter:alpha(opacity=60); しています。 設定の後ろに、; を付ける様にしてください。
3.8.0.5 (2005/08/26) 新規追加 |
public void setBaseTimes(String times)
times
- ベース時刻の開始時刻(CSV形式)ベース時刻は、HHmm形式、または、yyyyMMddHHmm形式で複数指定できます。 このセットを、カンマで複数指定できます。 例えば、1700,200508201300 という感じです。
5.6.1.2 (2013/02/22) 新規追加 |
public void setBaseTimeStyle(String style)
style
- ベース時刻の表示スタイル通常は、ベース時刻の幅と、ヘッダーのトップからの位置と、色です。 それ以外にも、スタイルシート属性(キー:値;) というセットを指定できます。 初期値は、top:20px;background-color:transparent;border-left:2px dashed red; です。 設定の後ろに、; を付ける様にしてください。
5.6.1.2 (2013/02/22) 新規追加 |
public void setArg1(String arg)
arg
- DB検索の第1キー(事業所コードなど)例えば、GE13, ZY01 では、事業所コード(CDJGS)を設定します。 この値は、システムパラメータ の CalendarQuery_**** で 指定する、CalendarQuery クラスの QUERY 文に依存します。 データベース定義の統一を望むところです。
3.6.0.0 (2004/09/17) DB検索の第1キー(事業所コードなど)を追加 |
public void setArg2(String arg)
arg
- DB検索の第2キー(WCコードなど)例えば、TP652 では、事業部コード(CDJGS) と 物件工程コード(CDKTEI)の2つの キーで、カレンダを取得します。(+年月で、行を決定) 引数が、2つまで対応しています この値は、システムパラメータ の CalendarQuery_**** で 指定する、CalendarQuery クラスの QUERY 文に依存します。 データベース定義の統一を望むところです。
3.6.0.0 (2004/09/17) DB検索の第2キー(WCコードなど)を追加 |
public void setArg3(String arg)
arg
- DB検索の第3キーこの値は、システムパラメータ の CalendarQuery_**** で 指定する、CalendarQuery クラスの QUERY 文に依存します。 データベース定義の統一を望むところです。
3.6.0.0 (2004/09/17) DB検索の第3キーを追加 |
public void setArg4(String arg)
arg
- DB検索の第4キーこの値は、システムパラメータ の CalendarQuery_**** で 指定する、CalendarQuery クラスの QUERY 文に依存します。 データベース定義の統一を望むところです。
3.6.0.0 (2004/09/17) DB検索の第4キーを追加 |
public void setSkipHoliday(String skipHol)
skipHol
- 休日をスキップするかどうか [true:スキップ(=非表示)/false:休日の赤色表示]SystemData.USE_GANTTHEADER_SKIP_HOLIDAY
この値をfalseにすると、時間ガントでも休日が赤色で表示 されるようになります。trueにした場合は、休日は表示されません。 (初期値:システム定数のUSE_GANTTHEADER_SKIP_HOLIDAY[=true])。
4.0.0.0 (2007/09/07) 新規作成 |
public void setUseMultiClm(String multiClm)
multiClm
- 2段組使用 [true:する/false:しない]SystemData.USE_GANTTHEADER_MULTIPLE_COLUMN
ガントヘッダーにおいて、時間ヘッダーの上段に日付を、下段の時間軸の(h)の削除を行います。 日付は、表示開始時刻の上と、それの6時間ごとに表示します。 (初期値:システム定数のUSE_GANTTHEADER_MULTIPLE_COLUMN[=false])。
5.6.1.2 (2013/02/22) 新規作成 |
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.