createaddress_tantou.java

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

JAVA
726
字号
package jp.co.sjts.gsession.card;

import java.io.File;
import java.util.Map;
import java.util.List;
import java.util.Collection;
import java.util.Iterator;
import java.util.Hashtable;
import java.util.HashSet;
import java.util.Arrays;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jp.co.sjts.gsession.tools.*;
import jp.co.sjts.gsession.tools.mail.*;

/**
 * 傾僪儗僗挔(扴摉幰)儁乕僕<BR>
 *
 * @author Ei KISHIDA &lt;ei@sjts.co.jp&gt;
 * @author Hideyuki KITADE &lt;kitade@sjts.co.jp&gt;
 */
public class Createaddress_tantou extends CreatePage{

	private static 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 CID = 0;
	private static final int KAISHA = 1;
	private static final int NAME = 2;
	private static final int EMAIL = 3;
	private static final int TANTOU = 4;
	private static final int EDITFLG = 5;
	private static final int ENTUID = 6;
	private static final int KKAISHA = 7;
	private static final int KNAME = 8;
	private static final int KTANTOU = 9;

	private Hashtable hsPara;
	private Hashtable hsPara1;
	private CDCardFile cddata;
	private String mapURL;
	private String dataDir;
	private String carddataDir;
	private String indexDir;
	private String tanDir;
	private String helpURL;
	private int page;
	private int max;
	private int index;
	private int gid;
	private int uid;
	private String usrid;
	private IUserManager UM = null;
	private CDtanidxFile ifile;
	private CDtanidxData idata;
	private HashSet toSet;
	private HashSet ccSet;
	private HashSet bccSet;
	private int sortkey;
	private boolean sortflg;
	private int selection;

	/**
	 * <p>
	 *
	 * @param hsPara
	 * @param hsPara1
	 * @param page
	 * @param max
	 * @param index
	 * @param UM
	 * @param gid
	 * @param uid
	 * @param usrid
	 */
	public Createaddress_tantou(Hashtable hsPara,Hashtable hsPara1,int page,int max,
							 int index,IUserManager UM,int gid,int uid,String usrid){
		this.hsPara = hsPara;
		this.hsPara1 = hsPara1;
		this.dataDir = (String)hsPara.get(CDCmd.CD_DIR);
		this.carddataDir = (String)hsPara.get(CDCmd.CD_DIR)+CDCmd.CD_DATA;
		this.tanDir = dataDir+CDCmd.CD_IX+File.separator+CDCmd.CD_IX_TN;
		this.mapURL = (String)hsPara.get(CDCmd.CD_MAP);
		this.helpURL = (String)hsPara.get("help");
		this.max = max;
		this.page = page;
		this.index = index;
		this.UM = UM;
		this.gid = gid;
		this.uid = uid;
		this.usrid = usrid;
	}

	/**
	 * <p>儊乕儖梡僷儔儊乕僞弶婜壔張棟
	 */
	private void initPara() {
		String[] tos = (String[])hsPara1.get("to");
		if(tos==null) {
			toSet = new HashSet();
		} else {
			toSet = new HashSet(tos.length);
			for(int i=0; i<tos.length; i++)
				toSet.add(tos[i]);
		}

		String[] ccs = (String[])hsPara1.get("cc");
		if(ccs==null) {
			ccSet = new HashSet();
		} else {
			ccSet = new HashSet(ccs.length);
			for(int i=0; i<ccs.length; i++)
				ccSet.add(ccs[i]);
		}

		String[] bccs = (String[])hsPara1.get("bcc");
		if(bccs==null) {
			bccSet = new HashSet();
		} else {
			bccSet = new HashSet(bccs.length);
			for(int i=0; i<bccs.length; i++)
				bccSet.add(bccs[i]);
		}
	}

	/**
	 * <p>僜乕僩弴妋掕張棟
	 */
	private void getSortPara() {

		int nextkey = 0;
		if(hsPara1.get(CDCmd.PA_NEXTSKEY) != null)
			nextkey = Integer.parseInt(((String[])hsPara1.get(CDCmd.PA_NEXTSKEY))[0]);

		if(hsPara1.get(CDCmd.PA_SORTFLG) != null)
			sortflg = ((String[])hsPara1.get(CDCmd.PA_SORTFLG))[0].equals("true");
		else
			sortflg = true;

		if(hsPara1.get(CDCmd.PA_SORTKEY) != null) {
			sortkey = Integer.parseInt(((String[])hsPara1.get(CDCmd.PA_SORTKEY))[0]);
			switch(sortkey) {
			case KAISHA :
				if(nextkey == KAISHA)
					sortflg = !sortflg;
				else if(nextkey > 0) {
					sortkey = nextkey;
					sortflg = true;
				}
				break;
			case NAME :
				if(nextkey == NAME)
					sortflg = !sortflg;
				else if(nextkey > 0) {
					sortkey = nextkey;
					sortflg = true;
				}
				break;
			case EMAIL :
				if(nextkey == EMAIL)
					sortflg = !sortflg;
				else if(nextkey > 0) {
					sortkey = nextkey;
					sortflg = true;
				}
				break;
			case TANTOU :
				if(nextkey == TANTOU)
					sortflg = !sortflg;
				else if(nextkey > 0) {
					sortkey = nextkey;
					sortflg = true;
				}
				break;
			}

		} else
			sortkey = KAISHA;
	}

	/**
	 * <p>HTML弌椡
	 *
	 * @param req    儕僋僄僗僩
	 * @param res    儗僗億儞僗
	 * @return true:惓忢偵弌椡偑姰椆偟偨応崌,false:堎忢帪
	 */
	protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException{

		String url = GSTool.removeParaFormURI(req.getRequestURI());
		HttpSession session = req.getSession(false);
		Integer sessionUID = (Integer)session.getAttribute(GSBase.SESSION_PARA_UID);

		initPara();
		getSortPara();

		//僗乕僷乕儐乕僓偐丠
		boolean flg = UM.isSU(uid);

		addScript(
			 "function openWindow(i)\r\n"
			+"{\r\n"
			+"   var win=window.open(\"\",\"window\"+i,\"width=560,height=590,resizable=1\");\r\n"
			+"   win.location=\""+url
								  +"?"+CDCmd.PA_CMD+"="+CDCmd.AD_DATA
								  +"&"+CDCmd.PA_IDX+"="+index
								  +"&"+CDCmd.PA_MOD+"="+CDCmd.AD_ADDRESS3
								  +"&"+CDCmd.PA_PAG+"="+Integer.toString(page)
								  +"&"+CDCmd.PA_CID+"=\"+i;\r\n}"
		);

		addScript(
			 "function setSort(key)\r\n"
			+"{\r\n"
			+"   document.myForm."+CDCmd.PA_NEXTSKEY+".value=key;\r\n"
			+"   document.myForm.submit();\r\n}"
		);

		setCharset("iso-2022-jp");
		setTitle(title);

		setBodyColor(bgcolor,text,link,vlink,alink);
		setHelpUrl(helpURL + GSHelpPage.CA103000);
		addBodyString("<CENTER>");

		addBodyString("<FORM METHOD=\"post\" NAME=\"myForm\" ACTION=\"" + url + "\">");
		addBodyString("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");

		// 僞僀僩儖
		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("  <TABLE BGCOLOR=\"#000080\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("  <TR>");
		addBodyString("  <TD HEIGHT=\"40\" WIDTH=\"100%\"><FONT SIZE=\"+1\" COLOR=\"#ffffff\"><B>傾僪儗僗挔</B></FONT></TD>");
		addBodyString("    <TD ALIGN=\"right\" NOWRAP>");
		addBodyString("    <INPUT TYPE=\"image\" NAME=\"" + CDCmd.PA_SET + "\" SRC=\""+mapURL+GSFilename.GS_TUIKA_BTN+"\" ALT=\"捛壛\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></TD>");
		addBodyString("    <TD ALIGN=\"right\" NOWRAP>");
		addBodyString("    <INPUT TYPE=\"image\" NAME=\"" + CDCmd.PA_CANCEL + "\" SRC=\""+mapURL+GSFilename.GS_TORIKESHI_BTN+"\" ALT=\"庢徚\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");
		addBodyString("");
/* 僞僽 */		
		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("  <TABLE WIDTH=\"100%\" BGCOLOR=\"#cccccc\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("  <TR BGCOLOR=\"#ffffff\">");
		addBodyString("  <TD>");
		addBodyString("    <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("    <TR>");

		addBodyString( makeTab(CDCmd.AD_ADDRESS1, CDCmd.B_F_TSC, "夛幮柤偱専嶕") );
		addBodyString( makeTab(CDCmd.AD_ADDRESS2, CDCmd.B_F_TNC, "柤慜偱専嶕") );
		addBodyString( makeTab(CDCmd.AD_ADDRESS3, CDCmd.B_F_TTO, "扴摉幰偱専嶕") );
		addBodyString( makeTab(CDCmd.AD_ADDRESS4, CDCmd.B_F_TEC, "E-Mail傾僪儗僗偱専嶕") );

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

/* 専嶕忦審 */
		addBodyString("  <TR ALIGN=\"center\" BGCOLOR=\"#cccccc\">");
		addBodyString("  <TD HEIGHT=\"130\" WIDTH=\"100%\">");
		addBodyString("    <TABLE WIDTH=\"95%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"5\">");
		addBodyString("    <TR>");
		addBodyString("    <TH WIDTH=\"5%\" NOWRAP>僌儖乕僾柤</TH>");
		addBodyString("    <TD WIDTH=\"2%\" VALIGN=\"middle\">");
		addBodyString("    <SELECT NAME=\""+CDCmd.PA_GROUP+"\" onchange=\"document.myForm.submit()\">");

		int[] grpid = UM.getGidArray();
		Object[] dspGroups = new Object[grpid.length];
		//僜乕僩梡僥乕僽儖嶌惉
		for(int i=0; i<grpid.length;i++)
		{
			Vector vec = new Vector(2);
			vec.add(Integer.toString(grpid[i]));
			vec.add(UM.getGName(grpid[i]));
			dspGroups[i] = vec;
		}
		StringBuffer selectBuf = new StringBuffer(); //嬻敀Select傪愭摢偵偡傞偨傔

		//僜乕僩
		GSSort grpsort = new GSSort(true,1);
		Arrays.sort(dspGroups,grpsort);

		for(int a=0; a< dspGroups.length;a++) {
			Vector vecgrp = (Vector)dspGroups[a];
			if(Integer.parseInt((String)vecgrp.get(0)) != 0) {
				if(gid==Integer.parseInt((String)vecgrp.get(0))){
					selectBuf.append("    <OPTION VALUE=\""+(String)vecgrp.get(0)+"\" SELECTED>"+(String)vecgrp.get(1));
				}else{
					selectBuf.append("    <OPTION VALUE=\""+(String)vecgrp.get(0)+ "\">"+(String)vecgrp.get(1));
				}
			}
		}

		if(gid<0){
			addBodyString("    <OPTION VALUE=\"-1\" SELECTED>丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂");
		}else{
			addBodyString("    <OPTION VALUE=\"-1\">丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂");
		}
		addBodyString(new String(selectBuf));

		addBodyString("    </SELECT>");
		addBodyString("    </TD>");
		addBodyString("    <TD WIDTH=\"100%\">");
		addBodyString("    <INPUT TYPE=\"image\" SRC=\""+mapURL+CDCmd.B_F_GO+"\" WIDTH=\"24\" HEIGHT=\"22\" BORDER=\"0\">");
		addBodyString("    </TD>");
		addBodyString("    </TR>");

/* 儐乕僓  */
		addBodyString("    <TR>");
		addBodyString("    <TH WIDTH=\"5%\" NOWRAP>扴摉幰柤</TH>");
		addBodyString("    <TD WIDTH=\"2%\" VALIGN=\"middle\">");
		addBodyString("    <SELECT NAME=\""+CDCmd.PA_USER+"\" onchange=\"document.myForm.submit()\">");
		boolean uidIntoGidFlg = false;  //GID拞偵UID偑偁傟偽True側偗傟偽false
		selectBuf = new StringBuffer(); //嬻敀Select傪愭摢偵偡傞偨傔
		if(gid != -1)
		{
			if ( UM.getUidArray(gid) != null)
			{;
				int[] alluid = UM.getUidArray(gid);
				Vector vecUsrs = new Vector();
				Object[] dspUsrs = null;
				//僜乕僩梡僥乕僽儖嶌惉
				for(int x=0; x<alluid.length;x++)
				{
					if(alluid[x]!=0){
						Vector vecUsr = new Vector(3);
						IUser user = UM.getUser(alluid[x]);
						vecUsr.add(Integer.toString(alluid[x]));
						vecUsr.add(UM.getUName(alluid[x]));
						vecUsr.add(user.getKana());
						vecUsrs.add(vecUsr);
					}
				}
				dspUsrs = vecUsrs.toArray();
				//僜乕僩
				GSSort usrsort = new GSSort(true,2);
				Arrays.sort(dspUsrs,usrsort);

				for(int i=0;(dspUsrs!=null) && (i<dspUsrs.length);i++) {
					Vector vec = (Vector)dspUsrs[i];
					if(uid==Integer.parseInt((String)vec.get(0))){
						selectBuf.append("    <OPTION SELECTED VALUE=\"" + ((String)vec.get(0)) + "\" SELECTED>"
										 + ((String)vec.get(1)));

						uidIntoGidFlg = true;
					}else{
						selectBuf.append("    <OPTION VALUE=\"" + ((String)vec.get(0)) + "\">"
										 + ((String)vec.get(1)));
					}
				}
			}
		}

⌨️ 快捷键说明

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