createcircular_send.java

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

JAVA
307
字号
package jp.co.sjts.gsession.circular;

/*
 * 夞棗憲怣僼僅儖僟乕夋柺嶌惉  Createcircular_send.java
 * Copyright (C) 1999-2000 Japan Total System Co,LTD
 *	  Masakatu O	<ookubo@sjts.co.jp>
 */

import java.util.Collection;
import java.util.Map;
import java.util.Iterator;
import java.util.Hashtable;
import java.util.Arrays;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jp.co.sjts.gsession.tools.*;

public class Createcircular_send extends CreatePage
{
	private Hashtable hsPara;
	private Hashtable hsPara1;
	private CISendFile cifile;
	private CISendData cidata ;
	private GSDate cal ;			//僇儗儞僟乕
	private String mapURL ;
	private String dataDIR ;
	private String helpURL ;
	private int page ;
	private int max ;
	private String uid ;

	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 = "#ff0000";
	private static final String vlink = "#0000ff";

	private static final int CIRCID = 0;
	private static final int TITLE = 1;
	private static final int DATEKEY = 2;
	private static final int YMD = 3;
	private static final int USER = 5;

	public Createcircular_send(Hashtable hsPara,Hashtable hsPara1,int page,int max,String uid)
	{
		this.hsPara = hsPara;
		this.mapURL = (String)hsPara.get(CICmd.CI_MAP);
		this.dataDIR = (String)hsPara.get(CICmd.CI_DIR);
		this.helpURL = (String)hsPara.get("help");
		this.hsPara1 = hsPara1;
		this.uid = uid;
		this.page = page;
		this.max = max;
	}

	/**
	 * <P>夞棗憲怣僼僅儖僟乕夋柺傪嶌惉偟傑偡丅
	 *
	 * @param req - 儕僋僄僗僩
	 * @param res - 儗僗億儞僗
	 */
	protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException {

		String url = GSTool.removeParaFormURI(req.getRequestURI());
/* 僨乕僞撉傒崬傒 */
		cal = new GSDate();
		cifile = new CISendFile(dataDIR,uid);

		setCharset("iso-2022-jp");
		setHelpUrl(helpURL + GSHelpPage.CI200000);
		setTitle(title);
		setBodyColor(bgcolor,text,link,vlink,alink);

		addBodyString("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("");
		addBodyString("<TR>");
		addBodyString("<TD BGCOLOR=\"#000080\">");
		addBodyString("  <TABLE HEIGHT=\"40\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"5\">");
		addBodyString("  <TR>");
		addBodyString("  <FORM METHOD=\"post\" ACTION=\"" + url + "\">");
		addBodyString("  <INPUT TYPE=\"hidden\" NAME=\"" + CICmd.PA_CMD + "\" VALUE=\"" + CICmd.CI_SEND + "\">");
		addBodyString("  <INPUT TYPE=\"hidden\" NAME=\"" + CICmd.PA_PAG + "\" VALUE=\"" + Integer.toString(page) + "\">");
		addBodyString("  <INPUT TYPE=\"hidden\" NAME=\"" + CICmd.PA_MOD + "\" VALUE=\"1\">");
		addBodyString("  <TD NOWRAP><FONT SIZE=\"+1\" COLOR=\"#ffffff\"><B>夞棗</B></FONT></TD>");
		addBodyString("  <TD WIDTH=\"100%\" ALIGN=\"right\">");
		addBodyString("    <INPUT TYPE=\"image\" NAME=\""+"pers"+"\" SRC=\""+mapURL+CICmd.W_B_12+"\" ALT=\"屄恖愝掕\" BORDER=\"0\">");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");
/* 怴婯夞棗 */
		addBodyString("  <!--怴婯夞棗-->");
		addBodyString("  <!--僐儅儞僪-->");
		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"5\">");
		addBodyString("  <TR>");
		addBodyString("  <TD WIDTH=\"100%\" ALIGN=\"RIGHT\" NOWRAP><INPUT TYPE=\"image\" NAME=\""+"del"+"\" SRC=\""+mapURL+CICmd.W_B_01+"\" ALT=\"嶍彍\" BORDER=\"0\">");
		addBodyString("  </TD>");
		addBodyString("  <TD ALIGN=\"right\"><INPUT TYPE=\"image\" NAME=\""+"new"+"\" SRC=\""+mapURL+CICmd.W_B_09+"\" ALT=\"怴婯夞棗\" BORDER=\"0\">");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");
/* 僼僅儖僟乕慖戰 */
		addBodyString("  <!--僼僅儖僟乕慖戰-->");
		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("  <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("  <TR>");
		addBodyString("  <TD>");
		addBodyString("    <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("    <TR>");
		addBodyString("      <TD><INPUT TYPE=\"image\" NAME=\""+"rec"+"\" SRC=\""+mapURL+CICmd.W_B_10+"\" ALT=\"庴怣僼僅儖僟乕\" BORDER=\"0\"></TD>");
		addBodyString("      <TD><INPUT TYPE=\"image\" NAME=\""+"send"+"\" SRC=\""+mapURL+CICmd.W_B_11+"\" ALT=\"憲怣嵪傒僼僅儖僟乕\" BORDER=\"0\"></TD>");
		addBodyString("    </TR>");
		addBodyString("    </TABLE>");
		addBodyString("  </TD>");
/* 儁乕僕 */
		addBodyString("     <!--儁乕僕堏摦-->");
		addBodyString("  <TD WIDTH=\"100%\" ALIGN=\"right\">");
		if( page == 0 ) {
			addBodyString("  <IMG SRC=\""+mapURL+CICmd.W_B_L+"\" HEIGHT=\"18\" WIDTH=\"18\" BORDER=\"0\">");
		}else{
			addBodyString("  <INPUT TYPE=\"image\" NAME=\""+"down"+"\" SRC=\""+mapURL+CICmd.W_B_L+"\" ALT=\"慜儁乕僕\" HEIGHT=\"18\" WIDTH=\"18\" BORDER=\"0\">");
		}
		addBodyString("  </TD>");
		addBodyString("  <TD ALIGN=\"right\" NOWRAP>");
		if( cifile.size() == 0 ) {
			addBodyString( "<B>Page 0/0</B>" );
		}else{
			if( cifile.size() % max == 0 ) {
				addBodyString("<B>Page " + Integer.toString(page+1) + "/" + Integer.toString(cifile.size()/max) + "</B>" );
			}else{
				addBodyString("<B>Page " + Integer.toString(page+1) + "/" + Integer.toString(cifile.size()/max+1) + "</B>" );
			}
		}
		addBodyString("  </TD>");
		addBodyString("  <TD ALIGN=\"right\" NOWRAP>");
		if( (page+1)*max <  cifile.size() ) {
			addBodyString("  <INPUT TYPE=\"image\" NAME=\""+"up"+"\" SRC=\""+mapURL+CICmd.W_B_R+"\" ALT=\"師儁乕僕\" HEIGHT=\"18\" WIDTH=\"18\" BORDER=\"0\">");
		}else{
			addBodyString("  <IMG SRC=\""+mapURL+CICmd.W_B_R+"\" HEIGHT=\"18\" WIDTH=\"18\" BORDER=\"0\">");
		}
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + CICmd.CI_SORTKEY + "\" VALUE=\""
					  + ((hsPara1.get(CICmd.CI_SORTKEY)!=null)?
						 ((String[])hsPara1.get(CICmd.CI_SORTKEY))[0]:"0")
					  + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + CICmd.CI_SORTFLG+TITLE + "\" VALUE=\""
		 			  + ( (hsPara1.get(CICmd.CI_SORTFLG+TITLE)!=null)?
						  ((String[])(hsPara1.get(CICmd.CI_SORTFLG+TITLE)))[0]:"false")
					  + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + CICmd.CI_SORTFLG+DATEKEY + "\" VALUE=\""
		 			  + ( (hsPara1.get(CICmd.CI_SORTFLG+DATEKEY)!=null)?
						  ((String[])(hsPara1.get(CICmd.CI_SORTFLG+DATEKEY)))[0]:"false")
					  + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + CICmd.CI_SORTFLG+USER + "\" VALUE=\""
		 			  + ( (hsPara1.get(CICmd.CI_SORTFLG+USER)!=null)?
						  ((String[])(hsPara1.get(CICmd.CI_SORTFLG+USER)))[0]:"false")
					  + "\">");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");
/* 僞僀僩儖 */
		String href = url+"?"+CICmd.PA_CMD+"="+CICmd.CI_SEND
			+"&"+CICmd.PA_PAG+"="+Integer.toString(page)
			+"&"+CICmd.PA_MOD+"="+"0";
		int sortkey = (hsPara1.get(CICmd.CI_SORTKEY)!=null)?
			Integer.parseInt(((String[])hsPara1.get(CICmd.CI_SORTKEY))[0]):0;
		int key = sortkey;
		String titleSortflg="true";
		if( (sortkey==TITLE) && (hsPara1.get(CICmd.CI_SORTFLG+TITLE)!=null) )
			titleSortflg = (((String[])hsPara1.get(CICmd.CI_SORTFLG+TITLE))[0]).equals("true")?"false":"true";
		String ymdSortflg="true";
		if( (sortkey==DATEKEY) && (hsPara1.get(CICmd.CI_SORTFLG+DATEKEY)!=null) )
			ymdSortflg = (((String[])hsPara1.get(CICmd.CI_SORTFLG+DATEKEY))[0]).equals("true")?"false":"true";

		if(sortkey == 0 || sortkey > 2) {
			ymdSortflg = "false";
			sortkey = DATEKEY;
		}

		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("  <TABLE BGCOLOR=\"#ffffcf\" WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("  <TR><TD>丂<BR></TD></TR>");
		addBodyString("  <TR ALIGN=\"center\">");
		addBodyString("  <TD>");
		addBodyString("    <TABLE WIDTH=\"98%\" BORDER=\"1\" CELLSPACING=\"1\" CELLPADDING=\"1\">");
		addBodyString("    <TR BGCOLOR=\"#8080ff\">");
		addBodyString("    <TH>丂</TH>");

		String paraFlags = "&" + CICmd.CI_SORTFLG + TITLE + "=" + titleSortflg +
						   "&" + CICmd.CI_SORTFLG + DATEKEY + "=" + ymdSortflg;

		String titleTitle = makeTitle("僞僀僩儖",titleSortflg,sortkey,TITLE);
		addBodyString("    <TH WIDTH=\"80%\" NOWRAP><A HREF=\""
					  + href
					  + "&"+CICmd.CI_SORTKEY+"="+Integer.toString(TITLE)
					  + paraFlags
					  + "\">"
					  + titleTitle
					  + "</A></TH>");
		String ymdTitle = makeTitle("擔晅",ymdSortflg,sortkey,DATEKEY);
		addBodyString("    <TH WIDTH=\"20%\" NOWRAP><A HREF=\""
					  + href
					  + "&"+CICmd.CI_SORTKEY+"="+Integer.toString(DATEKEY)
					  + paraFlags
					  + "\">"
					  + ymdTitle
					  + "</A></TH>");

/* 柧嵶峴 */
		Vector vecCircular = new Vector();
		Object[] dspCircular = null;
		//僜乕僩梡僥乕僽儖嶌惉
		for(int i = 0; i < cifile.size(); i++) {
			Vector vec = new Vector(4);
			cidata = cifile.Getmod(i);//柧嵶撉傒崬傒
			cal.setYMDHMS(cidata.GetDate());
			vec.add(cidata.GetCircid());
			vec.add(cidata.GetTitol());
			vec.add(new Long(cal.getTime()));
			vec.add(Integer.toString(cal.getYear()) + "擭" 
					+ Integer.toString(cal.getMonth()) + "寧" 
					+ Integer.toString(cal.getDay()) + "擔 ");
			vecCircular.add(vec);
		}
		dspCircular = vecCircular.toArray();

		boolean sortflg=true;
		switch(key){
		case TITLE:
			sortflg = (hsPara1.get(CICmd.CI_SORTFLG+TITLE)!=null)?
				(((String[])hsPara1.get(CICmd.CI_SORTFLG+TITLE))[0]).equals("true"):true;
			break;
		case DATEKEY:
			sortflg = (hsPara1.get(CICmd.CI_SORTFLG+DATEKEY)!=null)?
				(((String[])hsPara1.get(CICmd.CI_SORTFLG+DATEKEY))[0]).equals("true"):true;
			break;
		case 0:
			sortflg = true;
			sortkey = DATEKEY;
		}

		// 僜乕僩
		GSSort cirsort = new GSSort(sortflg,sortkey);
		Arrays.sort(dspCircular,cirsort);

		// 柧嵶峴昞帵
		boolean mode = true;
		for( int i = page * max ; i < (page + 1) * max && i < dspCircular.length ; i++) {
			Vector vec = (Vector)dspCircular[i];

			// BGCOLOR愝掕
			if(mode)
				addBodyString("    <TR BGCOLOR=\"#f0f0f0\">");
			else
				addBodyString("    <TR BGCOLOR=\"#bebebe\">");

			mode = !mode;

			addBodyString("    <TD><INPUT TYPE=\"checkbox\" NAME=\"cbox\" VALUE=\"" + ((String)vec.get(CIRCID)) + "\" ></TD>");
			addBodyString("    <TD><A HREF=\"" + url + "?" + CICmd.PA_CMD + "=" + CICmd.CI_CHKMSG
				+ "&" + CICmd.PA_CID + "=" + ((String)vec.get(CIRCID))
				+ "&" + CICmd.PA_PAG + "=" + Integer.toString(page)
				+ "&" + CICmd.PA_MOD + "=" + "1"
				+ "\" TARGET=\"_self\">" + ((String)vec.get(TITLE)) + "</A></TD>");
			addBodyString("    <TD ALIGN=\"center\" NOWRAP>" + ((String)vec.get(YMD)) + "</TD>");
			addBodyString("    </TR>");
		}
		
		addBodyString("    </TABLE>");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  <TR><TD>丂<BR></TD></TR>");
/* 柧嵶廔椆 */
		addBodyString("  </FORM>");
		addBodyString("  </TABLE>");  //new
		addBodyString("</TD>");
		addBodyString("</TR>");
		addBodyString("</TABLE>");

		return true;
	}

	private String makeTitle(String title,String flag,int key,int sorttarget)
	{
		if(key == sorttarget) {
			if(flag.equals("true"))
				title = "<FONT COLOR=\"#ffffff\"> 仴 " + title + "</FONT>";
			else
				title = "<FONT COLOR=\"#ffffff\">" + title + " 仯 </FONT>";
		}
		else
			title = "<FONT COLOR=\"#ffffff\">" + title + "</FONT>";

		return title;
	}
}

⌨️ 快捷键说明

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