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  &lt;ohba@sjts.co.jp&gt;
 */
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 + -
显示快捷键?