createtimecard.java
来自「一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。」· Java 代码 · 共 289 行
JAVA
289 行
package jp.co.sjts.gsession.timecard;
import java.util.StringTokenizer;
import java.util.Iterator;
import java.util.Hashtable;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jp.co.sjts.gsession.tools.*;
/**
* <P>僞僀儉僇乕僪夋柺嶌惉 CreateTimeCard.java
* <P>Copyright (C) 1999-2000 Japan Total System Co,LTD
*
* @author Yuuichirou Ohba <ohba@sjts.co.jp>
*/
public class CreateTimeCard extends CreatePage
{
private final String title = "僞僀儉僇乕僪";
private static final String bgcolor = "#ffffff";
private static final String text = "#000000";
private static final String link = "#0000ff";
private static final String alink = "#800080";
private static final String vlink = "#0000ff";
private static final int HOLIDAY = 1;
private GSDate cal = null;
private Hashtable hsPara;
private Hashtable haInitData;
private String dataDir;
private String mapURL;
private String helpURL;
private String hiduke;
private String gid ;
private String xid;
private int uid ;
private IUserManager UM;
private String year;
private String month;
private int y;
private int m;
private int day;
private String hour;
private String min;
private String from;
private String to;
private int cdate;
String[] s0 = new String[8];
String[] s1 = new String[8];
String[] s2 = new String[8];
TCFile tfile;
String mord = "10";
String time;
IHoliday holiday;
/**
* <P>僐儞僗僩儔僋僞
*/
public CreateTimeCard() {}
/**
* <P>堷悢晅偒僐儞僗僩儔僋僞
* @param haInitData 僴僢僔儏僥乕僽儖
* @param haPara 僷儔儊乕僞梡僴僢僔儏僥乕僽儖
* @param UM 儐乕僓乕儅僱乕僕儍
* @param hiduke 擔晅
* @param mapURL 儅僢僾URL
* @param tfile uid偺崱寧偺僞僀儉僇乕僪僼傽僀儖
* @param y 擭
* @param m 寧
* @param gid 僌儖乕僾ID
* @param time 嬫愗傝帪娫忣曬
*/
public CreateTimeCard(Hashtable haInitData,Hashtable hsPara,IUserManager UM,String hiduke,String mapURL,TCFile tfile,int y,int m,String gid,String time,IHoliday holiday)
{
this.tfile = tfile; /* 僥僉僗僩僼傽僀儖僆僽僕僃僋僩 */
this.hsPara = hsPara; /* 僷儔儊乕僞庢摼 */
this.dataDir = dataDir; /* 僨乕僞Dir */
this.helpURL = (String)haInitData.get("help"); /* help梡URL庢摼 */
this.hiduke = hiduke; /* 擔晅庢摼 */
this.UM = UM; /* IUserManager */
this.gid = gid; /* 僌儖乕僾ID */
this.mapURL = mapURL; /* 儅僢僾URL庢摼 */
this.y = y; /* 擭 */
this.m= m; /* 寧 */
this.time = time; /* 娗棟幰愝掕time */
this.holiday = holiday; /* 媥擔 */
}
/**
* <P>堦斒梡夋柺傪嶌惉偟傑偡丅
* @param req HttpServletRequest
* @param res HttpServletResponse
*/
protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException {
String url = GSTool.removeParaFormURI(req.getRequestURI());
int currentDirId = 0;
String NULL = null;
/* 梛擔偺怓*/
s0[0] = new String("(擔)");
s0[1] = new String("(擔)");
s0[2] = new String("(寧)");
s0[3] = new String("(壩)");
s0[4] = new String("(悈)");
s0[5] = new String("(栘)");
s0[6] = new String("(嬥)");
s0[7] = new String("(搚)");
/* 暥帤怓*/
s1[0] = new String("<FONT COLOR=\"#000000\">");
s1[1] = new String("<FONT COLOR=\"#ff0000\">");
s1[2] = new String("<FONT COLOR=\"#000000\">");
s1[3] = new String("<FONT COLOR=\"#000000\">");
s1[4] = new String("<FONT COLOR=\"#000000\">");
s1[5] = new String("<FONT COLOR=\"#000000\">");
s1[6] = new String("<FONT COLOR=\"#000000\">");
s1[7] = new String("<FONT COLOR=\"#0000ff\">");
/* 攚宨怓*/
s2[0] = new String("#ffffff");
s2[1] = new String("#ffc1c1"); /* 擔*/
s2[2] = new String("#ffffff"); /* 寧*/
s2[3] = new String("#ffffff"); /* 壩*/
s2[4] = new String("#ffffff"); /* 悈*/
s2[5] = new String("#ffffff"); /* 栘*/
s2[6] = new String("#ffffff"); /* 嬥*/
s2[7] = new String("#cce6ff"); /* 搚*/
cal = new GSDate();
String yy = cal.getstrYear();
String mm = cal.getstrMonth();
String dd = cal.getstrDay();
cal.setYMD(y,m,1);
HttpSession session = req.getSession(false);
Integer sessionUID = (Integer)session.getAttribute(GSBase.SESSION_PARA_UID);
String sessionUNAME = (String)session.getAttribute(GSBase.SESSION_PARA_UNAME);
String ustrid = sessionUID.toString();
int usrinid= Integer.parseInt(ustrid);
IUser iuser = UM.getUser(usrinid);
uid = sessionUID.intValue(); //僙僢僔儑儞UID傪uid偵僙僢僩
xid = Integer.toString(uid);
year = cal.getstrYear();
month = cal.getstrMonth();
/* 夋柺嶌惉*/
setCharset("iso-2022-jp");
setTitle(title);
setHelpUrl(helpURL+GSHelpPage.TI000000);
setBodyColor(bgcolor,text,link,vlink,alink);
addBodyString("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
/* 僞僀僩儖*/
addBodyString("<!--僞僀僩儖-->");
addBodyString("<TR>");
addBodyString("<TD>");
addBodyString(" <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
addBodyString(" <TR BGCOLOR=\"#000080\">");
addBodyString(" <FORM ACTION=\"" + url + "\" METHOD=\"post\">");
addBodyString(" <INPUT TYPE=\"hidden\" NAME=\"" + TCCmd.PA_CMD + "\" VALUE=\"" + TCCmd.TC_MONTH + "\">");
addBodyString(" <INPUT TYPE=\"hidden\" NAME=\"" + TCCmd.PA_YY + "\" VALUE=\"" + y + "\">");
addBodyString(" <INPUT TYPE=\"hidden\" NAME=\"" + TCCmd.PA_MM + "\" VALUE=\"" + m + "\">");
addBodyString(" <INPUT TYPE=\"hidden\" NAME=\"" + TCCmd.PA_MORD + "\" VALUE=\"" + mord + "\">");
addBodyString(" <INPUT TYPE=\"hidden\" NAME=\"" + TCCmd.PA_XID + "\" VALUE=\"" + xid + "\">");
addBodyString(" <TD WIDTH=\"100%\" HEIGHT=\"30%\" NOWRAP><FONT SIZE=\"+1\" COLOR=\"#ffffff\"><B>"+title+"</B></FONT></TD>");
/* 娗棟幰偐丠*/
if( !(UM.getGroupAdminGidArray(uid) == null) || (UM.isSU(uid) == true)) { // 娗棟幰尃尷枖偼僌儖乕僾娗棟幰尃尷傪帩偭偰偄傞偐丠
addBodyString(" <TD WIDTH=\"2%\" NOWRAP>"); /* 娗棟幰梡夋柺愗傝懼偊儃僞儞*/
addBodyString(" <A HREF=\""
+url+"?"
+TCCmd.PA_CMD+"="+TCCmd.TC_ADMIN+"&"
+TCCmd.PA_MORD+"="+mord
+"\">");
addBodyString(" <IMG SRC=\""+mapURL+TCCmd.T_ADMIN+"\" ALT=\"娗棟幰梡夋柺\" BORDER=\"0\"></A>");
addBodyString(" </TD>");
}
addBodyString(" </TR>");
addBodyString(" </TABLE>");
addBodyString("</TD>");
addBodyString("</TR>");
/* 杮懱*/
addBodyString("<!--杮懱-->");
addBodyString("<TR>");
addBodyString("<TD BGCOLOR=\"#ffffcf\">");
addBodyString(" <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"2\">");
addBodyString(" <TR>");
addBodyString(" <TD NOWRAP>"); /* 愝掕幚峴儃僞儞丄嶍彍幚峴儃僞儞*/
addBodyString(" <INPUT TYPE=\"image\" NAME=\"set\" SRC=\""+mapURL+TCCmd.T_EDIT2+"\" ALT=\"僠僃僢僋嵪傒愝掕\" BORDER=\"0\">");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"del1\" SRC=\""+mapURL+TCCmd.T_DEL+"\" ALT=\"僠僃僢僋嵪傒嶍彍\" BORDER=\"0\">");
addBodyString(" </TD>");
addBodyString(" <TD ALIGN=\"right\" NOWRAP><FONT SIZE=\"+2\">"+year+"擭"+month+"寧</FONT>");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"zmon\" SRC=\""+mapURL+TCCmd.T_LA2+"\" ALT=\"慜寧堏摦\" WIDTH=\"18\" HEIGHT=\"18\" BORDER=\"0\">");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"kmon\" SRC=\""+mapURL+TCCmd.T_MONTH+"\" ALT=\"崱寧\" WIDTH=\"30\" HEIGHT=\"18\" BORDER=\"0\">");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"ymon\" SRC=\""+mapURL+TCCmd.T_RA2+"\" ALT=\"梻寧堏摦\" WIDTH=\"18\" HEIGHT=\"18\" BORDER=\"0\">");
addBodyString(" </TD>");
addBodyString(" </TR>");
addBodyString(" </TABLE>");
addBodyString("</TD>");
addBodyString("</TR>");
/* 嫟捠僞僀僩儖*/
addBodyString("<TR>");
addBodyString("<TD>");
addBodyString(" <TABLE WIDTH=\"100%\" BGCOLOR=\"#ffffff\" WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
addBodyString(" <TR BGCOLOR=\"#408080\">");
addBodyString(" <TD WIDTH=\"15%\" ALIGN=\"center\" COLSPAN=\"2\" NOWRAP ><FONT COLOR=\"#ffffff\"><B>擔晅</B></FONT></TD>");
addBodyString(" <TD WIDTH=\"20%\" ALIGN=\"center\" NOWRAP><FONT COLOR=\"#ffffff\"><B>弌幮帪娫</B></FONT></TD>");
addBodyString(" <TD WIDTH=\"20%\" ALIGN=\"center\" NOWRAP><FONT COLOR=\"#ffffff\"><B>戅幮帪娫</B></FONT></TD>");
addBodyString(" <TD WIDTH=\"40%\" ALIGN=\"center\" COLSPAN=\"2\" NOWRAP><FONT COLOR=\"#ffffff\"><B>旛峫棑</B></FONT></TD>");
addBodyString(" </TR>");
/* 擔晅丄梛擔僇儗儞僟乕昞帵*/
long lyymm = Long.parseLong(cal.getstrYear() + cal.getstrMonth());/* 擭悢亄寧 (椺)2000 + 05*/
long todayym = Long.parseLong(cal.getstrYear() + cal.getstrMonth());
DayData dayData;
for(int i = 1 ; i <33 ;i++) {
if (todayym < lyymm) { /* 摉寧亙梻寧*/
addBodyString(" </FORM>");
addBodyString(" </TABLE>");
break;
}else{
addBodyString(" <TR>");
addBodyString(" <TD WIDTH=\"2%\" ALIGN=\"center\" BGCOLOR=\"#f0f0f0\">");
addBodyString(" <INPUT TYPE=\"checkbox\" NAME=\"ckbox\" VALUE=\""+i+"\" ></TD>"); /* 嶍彍梡僠僃僢僋儃僢僋僗*/
// 攚宨怓傪愝掕
addBodyString(" <TD WIDTH=\"13%\" ALIGN=\"center\" BGCOLOR=\""+s2[cal.getWeek()]+ "\">");
if(holiday.isHoliday(cal.getYMD()))
addBodyString(" " + s1[HOLIDAY] + i + "擔" + s0[cal.getWeek()] + "</FONT></TD>");
else
addBodyString(" " + s1[cal.getWeek()] + i + "擔" + s0[cal.getWeek()] + "</FONT></TD>");
/* 僨乕僞僙僢僩*/
dayData = tfile.GetdayData(i);
String Start =EditTime.editFirst(dayData.getFirst(),time);
String Stop = EditTime.editEnd(dayData.getEnd(),time);
String Note = holiday.isHoliday(cal.getYMD())?"<FONT COLOR=\"#ff0000\"><SUP> "+holiday.getTitle(cal.getYMD())+"</SUP></FONT> ":"";
if((dayData.getNote()).equals("丂") && Note.length() == 0){
Note = "<BR>";
}else{
Note = Note + GSTool.delimitDecorde(",",GSHtml.transMsg( dayData.getNote() ));
}
addBodyString(" <TD WIDTH=\"20%\" ALIGN=\"center\">"+Start+"</TD>");
addBodyString(" <TD WIDTH=\"20%\" ALIGN=\"center\">"+Stop+"</TD>");
addBodyString(" <TD WIDTH=\"37%\" ALIGN=\"left\">"+Note+"</TD>");
/* 曄峏儃僞儞仺曇廤夋柺*/
addBodyString(" <TD WIDTH=\"3%\" BGCOLOR=\"#f0f0f0\" ALIGN=\"center\">");
try {
addBodyString(" <A HREF=\""+ url+"?"
+TCCmd.PA_CMD+"="+TCCmd.TC_EDIT+"&"
+TCCmd.PA_XID+"="+xid+"&"
+TCCmd.PA_GID+"="+gid+"&"
+TCCmd.PA_YY+"="+cal.getYear()+"&"
+TCCmd.PA_MM+"="+cal.getMonth()+"&"
+TCCmd.PA_MORD+"="+mord+"&"
+TCCmd.PA_DAY+"="+i+"&"
+TCCmd.PA_START+"="+ URLEncoder.encode(Start,"iso-8859-1")+"&"
+TCCmd.PA_STOP+"="+ URLEncoder.encode(Stop,"iso-8859-1" )
+"\">" );
} catch(java.io.UnsupportedEncodingException e) {
}
addBodyString(" <IMG SRC=\""+mapURL+TCCmd.T_EDIT+"\" ALT="+ i +"擔傪曄峏 WIDTH=\"33\" HEIGTH=\"16\"ALIGN=\"center\" BORDER=\"0\"></A>");
addBodyString(" </TD>");
addBodyString(" </TR>");
/* 僇儗儞僟乕偺擔晅傪堦擔恑傔傞*/
cal.setYMD(cal.getYear(),cal.getMonth(),cal.getDay()+1); /*堦擔僾儔僗*/
lyymm = Long.parseLong(cal.getstrYear() + cal.getstrMonth()); /* 寧傪愝掕*/
}
}
addBodyString("</TD>");
addBodyString("</TR>");
addBodyString("</TABLE>");
return true;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?