createsche_month.java

来自「一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。」· Java 代码 · 共 758 行 · 第 1/2 页

JAVA
758
字号
package jp.co.sjts.gsession.schedule;
/*
 * Copyright (C) 1999-2000 Japan Total System Co,LTD
 */
import java.util.Collection;
import java.util.Map;
import java.util.Iterator;
import java.util.Hashtable;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jp.co.sjts.gsession.tools.*;

/**
 * <p>僗働僕儏乕儖寧娫夋柺嶌惉傪峴偄傑偡<BR>
 *
 * @author Ei       Kishida &lt;ei@sjts.co.jp&gt;
 * @author Hideyuki Kitade  &lt;kitade@sjts.co.jp&gt;
 */
public class Createsche_month extends CreatePage{
	/** */
	private Hashtable hsPara;
	/** */
	private Hashtable hsPara1;
	/** */
	private String mainURL = null;
	/** */
	private String mapURL = null;
	/** */
	private String helpURL = null;
	/** */
	private String dataDIR = null;
	/** */
	private String userDIR = null;
	/** */
	private String groupDIR = null;
	/** */
	private String hiduke ;
	/** */
	private int mod ;
	/** */
	private String gid ;
	/** */
	private String uid ;
	/** */
	private String sid ;
	/** */
	private String euid;
	/** */
	private IHoliday holiday;
	/** */
	private long lngZyymm;
	/** */
	private long lngTyymm;
	/** */
	private long lngYyymm;
	/** */
	private IUserManager UM = null;
	/** */
	private SCScheFile sfile1 ;
	/** */
	private SCScheFile sfile2 ;
	/** */
	private SCScheFile sfile3 ;
	/** */
	private GSDate cal ;			//僇儗儞僟乕
	/** */
	private ModBaseServlet shainPage ;
	/** */
	String[] s0 = new String[8];
	/** */
	String[] s1 = new String[8];
	/** */
	String[] s2 = new String[8];
	/** */
	String yymm;
	/** */
	int zenmm;      //慜寧
	/** */
	int yokmm;      //梻寧
	/** 僞僀僩儖 */
	private final String title = "僗働僕儏乕儖";
	/** 攚宨怓 */
	private static final String bgcolor = "#ffffff";
	/** text怓 */
	private static final String text = "#000000";
	/** link怓 */
	private static final String link = "#0000ff";
	/** alink怓 */
	private static final String alink = "#000000";
	/** vlink怓 */
	private static final String vlink = "#0000ff";

	/**
	 *  僷儔乕儊乕僞傪僙僢僩偟傑偡丅
	 *
	 *  @param hsPara    僷儔儊乕僞奿擺僴僢僔儏僥乕僽儖
	 *  @param hsPara1   僷儔儊乕僞奿擺僴僢僔儏僥乕僽儖
	 *  @param UM        儐乕僓乕儅僱乕僕儍乕
	 *  @param mod       儌乕僪
	 *  @param hiduke    擔晅
	 *  @param gid       僌儖乕僾ID
	 *  @param euid      儐乕僓乕ID
	 */
	public Createsche_month(Hashtable hsPara,Hashtable hsPara1,IUserManager UM,
							int mod,String hiduke,String gid,String euid,IHoliday holiday){

		this.hsPara = hsPara;
		this.mainURL = (String)hsPara.get(SCCmd.SC_MAIN);  //儊僀儞URL庢摼
		this.mapURL = (String)hsPara.get(SCCmd.SC_MAP);
		this.helpURL = (String)hsPara.get("help");        //僿儖僾URL庢摼
		this.dataDIR = (String)hsPara.get(SCCmd.SC_DIR);
		this.userDIR = (String)hsPara.get(SCCmd.SC_USER);
		this.groupDIR = (String)hsPara.get(SCCmd.SC_GROUP);
		this.hsPara1 = hsPara1;
		this.hiduke = hiduke;
		//this.uid = uid;		//僗働僕儏乕儖嶌惉儐乕僓
		this.gid = gid;		//廡娫丒擔娫偺偲偒偺僌儖乕僾
		this.mod = mod;		//
		this.euid = euid;   //墈棗儐乕僓乕
		this.UM = UM;
		this.holiday = holiday;
	}

	/**
	 * <p>HTML弌椡
	 *
	 *  @param req 儕僋僄僗僩
	 *  @param res 儗僗億儞僗
	 */
	protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException{
		//梛擔偺怓
		s0[0] = new String("(擔)</FONT>");
		s0[1] = new String("(寧)</FONT>");
		s0[2] = new String("(壩)</FONT>");
		s0[3] = new String("(悈)</FONT>");
		s0[4] = new String("(栘)</FONT>");
		s0[5] = new String("(嬥)</FONT>");
		s0[6] = new String("(搚)</FONT>");
		s0[7] = new String("(擔)</FONT>");

		//暥帤怓
		s1[0] = new String("<FONT COLOR=\"#000000\">");
		s1[1] = new String("<FONT COLOR=\"#000000\">");
		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=\"#0000ff\">");
		s1[7] = new String("<FONT COLOR=\"#ff0000\">");

		//攚宨怓
		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();
		cal.setYMD(hiduke);
		long today = Long.parseLong(cal.getstrYear() + cal.getstrMonth() + cal.getstrDate());
		long todayym = Long.parseLong(cal.getstrYear() + cal.getstrMonth());
		int todayyy = Integer.parseInt(cal.getstrYear());
		int todaymm = Integer.parseInt(cal.getstrMonth());
		int todaydd = Integer.parseInt(cal.getstrDay());

		//媥擔

		HttpSession session = req.getSession(false);
		this.uid =((Integer)session.getAttribute(GSBase.SESSION_PARA_UID)).toString();
		Integer sessionUID = (Integer)session.getAttribute(GSBase.SESSION_PARA_UID);
		
/* 僗働僕儏乕儖僨乕僞 */

		yymm = cal.getstrYear()+cal.getstrMonth();//丂仏String宆偱帩偭偰偔傞

		if (mod!=1){
			setSheData(userDIR);
		}else{
			setSheData(groupDIR);
		}

		SCConfUserFile uconf = new SCConfUserFile(userDIR,euid);
		String url = GSTool.removeParaFormURI(req.getRequestURI());

		//幮堳忣曬昞帵
		addScript(
			 "function openWindow(i)\r\n"
			+"{\r\n"
			+"   var win=window.open(\"\",\"window\"+i,\"width=550,height=500,resizable=1\");\r\n"
			+"   win.location=\""+mainURL+"?"+SCCmd.PA_CMD+"="+SCCmd.CD_UINF+"&"+SCCmd.PA_UID+"="+euid+"\";\r\n"
			+"}"
		);

		setCharset("iso-2022-jp");
		setTitle(title);
		setBodyColor(bgcolor,text,link,vlink,alink);
		//僿儖僾儁乕僕
		setHelpUrl(helpURL + GSHelpPage.SC300000);

/* 僞僀僩儖 */
		addBodyString("");
		addBodyString("<!--僞僀僩儖-->");
		addBodyString("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("<FORM METHOD=\"post\" ACTION=\"" + url + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_CMD + "\" VALUE=\"" + SCCmd.CD_MONTH + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_MOD + "\" VALUE=\"" + mod + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_UID + "\" VALUE=\"" + uid + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_USER + "\" VALUE=\"" + euid + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_DATE + "\" VALUE=\"" + hiduke + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_GROUP + "\" VALUE=\"" + gid + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_GID + "\" VALUE=\"" + gid + "\">");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"1\">");
		addBodyString("  <TR HEIGHT=\"40\" BGCOLOR=\"#000080\">");
		addBodyString("  <TD WIDTH=\"100%\"><FONT SIZE=\"+1\" COLOR=\"#ffffff\"><B>"+title+"</B></FONT></TD>");
		//僄僋僗億乕僩儃僞儞
		addBodyString("  <TD WIDTH=\"5%\">");
		addBodyString("  <A HREF=\""+url+"?"
					  +SCCmd.PA_CMD+"="+SCCmd.CD_EXPORT+"&"
					  +SCCmd.PA_MOD+"="+mod+"&"
					  +SCCmd.PA_GID+"="+gid+"&"
					  +SCCmd.PA_USER+"="+euid+"&"
					  +SCCmd.PA_UID+"="+uid+"&"
					  +SCCmd.PA_DATE+"="+cal.getYMD()
					  +"\">");
		addBodyString("  <IMG SRC=\""+mapURL+SCCmd.S_EXP_BTN+"\" ALT=\"僄僋僗億乕僩\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></A>");
		addBodyString("  </TD>");
		//愝掕儃僞儞
		addBodyString("  <TD WIDTH=\"5%\" NOWRAP>");
		addBodyString("  <A HREF=\""+url+"?"
					  +SCCmd.PA_CMD+"="+SCCmd.CD_SET+"&"
					  +SCCmd.PA_MOD+"="+mod+"&"
					  //+SCCmd.PA_UID+"="+uid+"&"
					  +SCCmd.PA_GID+"="+gid+"&"
					  +SCCmd.PA_SUB+"="+SCCmd.CD_WEEK+"&"
					  +SCCmd.PA_DATE+"="+cal.getYMD()
					  +"\">");

		addBodyString("  <IMG SRC=\""+mapURL+SCCmd.S_ST+"\" ALT=\"僗働僕儏乕儖婎杮愝掕\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></A>");

		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");
		//addBodyString("</TABLE>");

/* 杮懱 */
		addBodyString("<!--杮懱-->");
		addBodyString("<TR>");
		addBodyString("<TD BGCOLOR=\"#ffffff\">");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"2\">");
		addBodyString("  <TR>");
		addBodyString("  <TD width=\"5%\" nowrap>");
		addBodyString("  <A HREF=\""+url+"?"
					  +SCCmd.PA_CMD+"="+SCCmd.CD_WEEK+"&"
					  +SCCmd.PA_SUB+"="+SCCmd.CD_WEEK+"&"
					  +SCCmd.PA_MOD+"="+0+"&"
					  //+SCCmd.PA_UID+"="+uid+"&"
					  +SCCmd.PA_GID+"="+gid+"&"
					  +SCCmd.PA_USER+"="+uid+"&"
					  +SCCmd.PA_DATE+"="+hiduke+"&"
					  +SCCmd.PA_TMP+"="+1
					  +"\">");
		addBodyString("  <IMG SRC=\""+mapURL+SCCmd.S_WEEK+"\" ALT=\"廡娫\" WIDTH=\"30\" HEIGHT=\"18\" BORDER=\"0\"></A>");
		addBodyString("  </TD>");
		addBodyString("  <TD ALIGN=\"right\">");
		addBodyString("  <INPUT TYPE=\"image\" NAME=\"zmon\" SRC=\""+mapURL+SCCmd.S_LA2+"\" ALT=\"慜寧堏摦\" WIDTH=\"18\" HEIGHT=\"18\" BORDER=\"0\">");
		addBodyString("  <INPUT TYPE=\"image\" NAME=\"kmon\" SRC=\""+mapURL+SCCmd.S_MONTH+"\" ALT=\"崱寧\" WIDTH=\"30\" HEIGHT=\"18\" BORDER=\"0\">");
		addBodyString("  <INPUT TYPE=\"image\" NAME=\"ymon\" SRC=\""+mapURL+SCCmd.S_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%\" BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"1\">");
		addBodyString("  <TR BGCOLOR=\"#000080\">");
		addBodyString("  <TD HEIGHT=\"40\" VALIGN=\"middle\" COLSPAN=\"7\">");
		addBodyString("    <TABLE HEIGHT=\"100%\" WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("    <TR>");
		if (mod==0)
		{
			if(Integer.parseInt(uconf.GetShozai())==1)
			{
				addBodyString("    <TD WIDTH=\"1%\" NOWRAP><FONT SIZE=\"-1\" COLOR=\"#ff0000\"> 奜弌拞</FONT></TD>");
			}
		}
		//擔晅昞帵
		addBodyString("    <TH WIDTH=\"100%\" ALIGN=\"CENTER\"><FONT COLOR=\"#ffffff\">"+hiduke.substring(0,4)+"擭"+hiduke.substring(4,6)+"寧</FONT></TH>");

		//儐乕僓乕柤昞帵
		if (mod==0){
			addBodyString("    <TD WIDTH=\"25%\" ALIGN=\"RIGHT\" NOWRAP>");
			addBodyString("    <A HREF=\"javascript:openWindow("+euid+")\">");
			addBodyString("    <FONT COLOR=\"#ffffff\">");
			addBodyString("      "+UM.getUName(Integer.parseInt(euid)));
			addBodyString("    </FONT></A></TD>");

		}else{
			addBodyString("    <TD WIDTH=\"25%\" ALIGN=\"RIGHT\" NOWRAP>");
			addBodyString("    <FONT COLOR=\"#ffffff\">");
			addBodyString("      "+ UM.getGName(Integer.parseInt(euid)));
			addBodyString("    </FONT></A></TD>");
		}
		addBodyString("    </TR>");
		addBodyString("    </TABLE>");
		addBodyString("  </TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR BGCOLOR=\"#cccccc\">");
		addBodyString("  <TH WIDTH=\"14%\"><FONT COLOR=\"#ff0000\">擔</FONT></TH>");
		addBodyString("  <TH WIDTH=\"14%\">寧</TH>");
		addBodyString("  <TH WIDTH=\"14%\">壩</TH>");
		addBodyString("  <TH WIDTH=\"14%\">悈</TH>");
		addBodyString("  <TH WIDTH=\"14%\">栘</TH>");
		addBodyString("  <TH WIDTH=\"14%\">嬥</TH>");
		addBodyString("  <TH WIDTH=\"14%\"><FONT COLOR=\"#0000ff\">搚</FONT></TH>");
		addBodyString("  </TR>");

/* 奩摉寧偺侾擔偑丄壗梛擔偐嶼弌 */
		cal.setYMD(cal.getYear() , cal.getMonth() , 1 );//yy擭mm寧1擔
		int tmonthfirst = cal.getWeek();
		int zenbun = 1 - cal.getWeek();//壗擔慜偐傜帩偭偰偔傞偐
		cal.setYMD(cal.getYear() , cal.getMonth() , 1+zenbun);
		int genbun = cal.getWeek();//僇儗儞僟乕奐巒偺梛擔(僇僂儞僞乕)
		long lyymm = Long.parseLong(cal.getstrYear() + cal.getstrMonth());//擭悢亄寧  (椺)2000 + 05
		int intFlg = SCTools.intChkGrp(gid,uid,UM);

		int idx = 0;
		int gyo = -1;
		ArrayList[] alist = new ArrayList[42];
		for(idx=0;idx<42;idx++)
		{
			alist[idx]=new ArrayList();
		}
		//慜寧暘
		if(tmonthfirst!=1)
		{
			for(int ix=0;ix<sfile1.size();ix++)
			{
				cal.setYMD(hiduke);
				cal.setYMD(cal.getYear() , cal.getMonth() , 1);
				cal.setYMD(cal.getYear() , cal.getMonth() , 1+zenbun);
				idx = 0;
				SCScheData sdata = sfile1.Getmod(ix);
				while(idx < 42) //42偼僇儗儞僟乕偺僙儖MAX抣
				{
					if (mod == 1)
					{
					//僌儖乕僾
 //**************
						if(Long.parseLong(sdata.GetFrom().substring(0,8))<=Long.parseLong(cal.getYMD())
						   &&Long.parseLong(sdata.GetTo().substring(0,8))>=Long.parseLong(cal.getYMD())
						   &&Long.parseLong(cal.getstrYear()+cal.getstrMonth())==lngZyymm)
						 	{
							if (intFlg == 1)
								{
									//僨乕僞僙僢僩
									alist[idx].add(sdata);
								}else{
									 if (Integer.parseInt(sdata.GetOpen())==0)
										{
									//僨乕僞僙僢僩
										alist[idx].add(sdata);
										}
								}
							}
					}else{
					//屄恖

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?