createcard_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.*;

/**
 * 柤巋娗棟扴摉幰儁乕僕<BR>
 *
 * @author Ei KISHIDA &lt;ei@sjts.co.jp&gt;
 * @author Hideyuki KITADE &lt;kitade@sjts.co.jp&gt;
 */
public class Createcard_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 cboxSet;
	/** */
	private int sortkey;
	/** */
	private boolean sortflg;

	/**
	 * <p>
	 *
	 * @param hsPara
	 * @param hsPara1
	 * @param page
	 * @param max
	 * @param index
	 * @param UM
	 * @param gid
	 * @param uid
	 * @param usrid
	 */
	public Createcard_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[] cboxs = (String[])hsPara1.get("cbox");
		if(cboxs==null) {
			cboxSet = new HashSet();
		} else {
			cboxSet = new HashSet(cboxs.length);
			for(int i=0; i<cboxs.length; i++)
				cboxSet.add(cboxs[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    儗僗億儞僗
	 */
	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();

		// 儊乕儔乕URL
		String mailerURL = (String)hsPara1.get(CDCmd.PA_MAILERURL);

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

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

		addScript(
			 "function Load(i)\r\n"
			+"{\r\n"
			+"   document.myForm."+CDCmd.PA_CMD+".value="+CDCmd.CD_EDIT42+";\r\n"
			+"   document.myForm."+CDCmd.PA_CID+".value=i;\r\n"
			+"   document.myForm.submit();\r\n}"
		);

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

		if(mailerURL != null) {
			addScript(
					  "function moveMailer(i)\r\n"
					  +"{\r\n"
					  +"   document.myForm."+CDCmd.PA_TOCID+".value=i;\r\n"
					  +"   document.myForm.submit();\r\n}"
					  );
		}

		setBodyColor(bgcolor,text,link,vlink,alink);
		setHelpUrl(helpURL + GSHelpPage.CA300000);
		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 WIDTH=\"5%\" NOWRAP>");
		addBodyString("  <INPUT TYPE=\"image\" NAME=\""+"pers"+"\" SRC=\""+mapURL+GSFilename.GS_SETTEI_BTN+"\" ALT=\"愝掕\" BORDER=\"0\">");
		addBodyString("  </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.CD_CARD1, CDCmd.B_F_TSC, "夛幮柤偱専嶕") );
		addBodyString( makeTab(CDCmd.CD_CARD2, CDCmd.B_F_TNC, "柤慜偱専嶕") );
		addBodyString( makeTab(CDCmd.CD_CARD3, CDCmd.B_F_TTO, "扴摉幰偱専嶕") );
		addBodyString( makeTab(CDCmd.CD_CARD4, 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>");
		// 2001/04/23 update addBodyString("    <TD WIDTH=\"40%\" VALIGN=\"middle\">");
		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;
	    }
		/* ----- 2001/03/08 update hideyuki kitade ------------  */
		StringBuffer selectBuf = new StringBuffer(); //嬻敀Select傪愭摢偵偡傞偨傔
		/* ------- update end --------------------------------- */

		//僜乕僩
		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)
					{
						/* ----- 2001/03/08 update hideyuki kitade -----------------------------------------------------  */
						if(gid==Integer.parseInt((String)vecgrp.get(0))){
							selectBuf.append("    <OPTION VALUE=\""+(String)vecgrp.get(0)+"\" SELECTED>"+(String)vecgrp.get(1));
							//addBodyString("    <OPTION VALUE=\""+(String)vecgrp.get(0)+"\" SELECTED>"+(String)vecgrp.get(1));
						}else{
							selectBuf.append("    <OPTION VALUE=\""+(String)vecgrp.get(0)+ "\">"+(String)vecgrp.get(1));
							//addBodyString("    <OPTION VALUE=\""+(String)vecgrp.get(0)+ "\">"+(String)vecgrp.get(1));
						}
						/* ------- update end --------------------------------------------------------------------------  */
					}
		}

		if(gid<0){
			addBodyString("    <OPTION VALUE=\"-1\" SELECTED>丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂");
		}else{
			addBodyString("    <OPTION VALUE=\"-1\">丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂");
		}
		/* ----- 2001/03/08 update hideyuki kitade ------------  */
		addBodyString(new String(selectBuf));
		/* ------- update end ---------------------------------  */

		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>");
		//2001/04/23 update		addBodyString("    <TD WIDTH=\"40%\" VALIGN=\"middle\">");
		addBodyString("    <TD WIDTH=\"2%\" VALIGN=\"middle\">");
        addBodyString("    <SELECT NAME=\""+CDCmd.PA_USER+"\" onchange=\"document.myForm.submit()\">");

		/* ----- 2001/03/08 update hideyuki kitade ------------  */
		boolean uidIntoGidFlg = false;  //GID拞偵UID偑偁傟偽True側偗傟偽false
		selectBuf = new StringBuffer(); //嬻敀Select傪愭摢偵偡傞偨傔
		/* ------- update end --------------------------------- */
		if(gid != -1)
		{
			if ( UM.getUidArray(gid) != null)

⌨️ 快捷键说明

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