createsche_day.java
来自「一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。」· Java 代码 · 共 1,166 行 · 第 1/3 页
JAVA
1,166 行
package jp.co.sjts.gsession.schedule;
/*
* Copyright (C) 1999-2002 Japan Total System Co,LTD
*/
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 javax.servlet.http.HttpSession;
import jp.co.sjts.gsession.tools.*;
/**
* 僗働僕儏乕儖擔娫夋柺嶌惉<BR><BR>
*
* @author Ei Kishida <ei@sjts.co.jp>
* @author Hideyuki Kitade <kitade@sjts.co.jp>
*/
public class Createsche_day extends CreatePage{
private Hashtable hsPara;
private Hashtable hsPara1;
private String mapURL = null;
private String mainURL = 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 euid ;
private String sid ;
private IUserManager UM = null;
private SCScheFile sfile ;
private GSDate cal ; //僇儗儞僟乕
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 = "#000000";
private static final String vlink = "#0000ff";
private static final int ID = 0;
private static final int NAME = 1;
private static final int KANA = 2;
/**
* 僷儔儊乕僞僙僢僩
*
* @param hsPara 僷儔儊乕僞奿擺僴僢僔儏僥乕僽儖
* @param hsPara1 僷儔儊乕僞奿擺僴僢僔儏僥乕僽儖
* @param UM 儐乕僓乕儅僱乕僕儍乕
* @param mod 儌乕僪
* @param hiduke 擔晅
* @param gid 僌儖乕僾ID
* @param euid 儐乕僓乕ID
*/
public Createsche_day(Hashtable hsPara,Hashtable hsPara1,IUserManager UM,int mod,String hiduke,String gid,String euid){
this.hsPara = hsPara;
this.mapURL = (String)hsPara.get(SCCmd.SC_MAP);
this.mainURL = (String)hsPara.get(SCCmd.SC_MAIN); //儊僀儞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.helpURL = (String)hsPara.get("help"); //僿儖僾URL庢摼
this.hsPara1 = hsPara1;
this.hiduke = hiduke;
this.euid = euid; //
this.gid = gid; //廡娫丒擔娫偺偲偒偺僌儖乕僾
this.mod = mod; //
this.UM = UM;
}
/**
* 僗働僕儏乕儖擔娫夋柺傪嶌惉偟傑偡丅
*
* @param req 儕僋僄僗僩
* @param res 儗僗億儞僗
*/
protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException{
HttpSession session = req.getSession(false);
this.uid = ((Integer)session.getAttribute(GSBase.SESSION_PARA_UID)).toString();//僗働僕儏乕儖嶌惉儐乕僓
/* 愝掕僨乕僞撉傒崬傒 */
SCConfUserFile sconf = new SCConfUserFile(userDIR,uid);
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+"="+uid+"\";\r\n"
+"}"
);
addScript(
"function openWindow2(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+"=\""+"+i;\r\n"
+"}"
);
cal = new GSDate();
cal.setYMD(hiduke);
String yymm = cal.getstrYear()+cal.getstrMonth();
setCharset("iso-2022-jp");
setTitle(title);
setBodyColor(bgcolor,text,link,vlink,alink);
//僿儖僾儁乕僕
setHelpUrl(helpURL + GSHelpPage.SC200000);
/* 僞僀僩儖 */
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_DAY + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_SUB + "\" VALUE=\"" + SCCmd.CD_DAY + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_MOD + "\" VALUE=\"" + mod + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_DATE + "\" VALUE=\"" + hiduke + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_GID + "\" VALUE=\"" + gid + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_TMP + "\" VALUE=\"" + 1 + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + SCCmd.PA_SORTFLG + "\" VALUE=\""
+ ( (hsPara1.get(SCCmd.PA_SORTFLG)!=null)?
((String[])(hsPara1.get(SCCmd.PA_SORTFLG)))[0]:"false")
+ "\">");
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>"+SCTools.chkStrDec(title)+"</B></FONT></TD>");
addBodyString(" <TD WIDTH=\"5%\" NOWRAP>");
addBodyString(" <A HREF=\""+url
+"?"+SCCmd.PA_CMD+"="+SCCmd.CD_SET
+"&"+SCCmd.PA_MOD+"="+mod
+"&"+SCCmd.PA_GID+"="+gid
+"&"+SCCmd.PA_SUB+"="+SCCmd.CD_DAY
+"&"+SCCmd.PA_DATE+"="+cal.getYMD()
+"\">");
addBodyString(" <IMG SRC=\""
+mapURL+SCCmd.S_ST+"\" ALT=\"僗働僕儏乕儖婎杮愝掕\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></A>");
addBodyString(" </TR>");
addBodyString(" </TABLE>");
addBodyString("</TD>");
addBodyString("</TR>");
/* 杮懱 */
addBodyString("<!--杮懱-->");
addBodyString("<TR>");
addBodyString("<TD BGCOLOR=\"#ffffff\">");
addBodyString(" <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"2\">");
addBodyString(" <TR>");
addBodyString(" <TD width=\"10%\" nowrap>");
addBodyString(" <A HREF=\""+url
+"?"+SCCmd.PA_CMD+"="+SCCmd.CD_WEEK
+"&"+SCCmd.PA_SUB+"="+SCCmd.CD_WEEK
+"&"+SCCmd.PA_MOD+"="+0
+"&"+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>");
addBodyString(" <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
addBodyString(" <TR>");
addBodyString(" <TD ALIGN=\"left\">");
addBodyString(" <font color=\"#e0e0e0\">仭</font>");
addBodyString(" </TD>");
addBodyString(" <TD ALIGN=\"left\">");
addBodyString(" <font color=\"#000000\">嵼惾丂</font><BR>");
addBodyString(" </TD>");
addBodyString(" <TD ALIGN=\"left\">");
addBodyString(" <font color=\"#ffdead\">仭</font>");
addBodyString(" </TD>");
addBodyString(" <TD ALIGN=\"left\">");
addBodyString(" <font color=\"#000000\">寚嬑丂</font><BR>");
addBodyString(" </TD>");
addBodyString(" <TD ALIGN=\"left\">");
addBodyString(" <font color=\"#00ced1\">仭</font>");
addBodyString(" </TD>");
addBodyString(" <TD ALIGN=\"left\">");
addBodyString(" <font color=\"#000000\">奜弌丂</font><BR>");
addBodyString(" </TD>");
addBodyString(" </TR>");
addBodyString(" </TABLE>");
addBodyString(" </TD>");
SCMsgFile mfile = new SCMsgFile(userDIR,uid);//儐乕僓乕僼傽僀儖
if (mfile.size()== 0){
addBodyString(" <TD ALIGN=\"left\" width=\"15%\" BGCOLOR=\"#ffffff\">");
addBodyString(" <font>揱尵偼偁傝傑偣傫</font>");
addBodyString(" </TD>");
}else{
addBodyString(" <TD ALIGN=\"left\" width=\"15%\" BGCOLOR=\"#ffffff\">");
addBodyString(" <font>揱尵偑撏偄偰偄傑偡</font>");
addBodyString(" </TD>");
}
addBodyString(" <TD ALIGN=\"right\">");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"zweek\" SRC=\""
+mapURL+SCCmd.S_LA1+"\" ALT=\"慜廡堏摦\" WIDTH=\"18\" HEIGHT=\"18\" BORDER=\"0\">");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"zday\" SRC=\""
+mapURL+SCCmd.S_LA2+"\" ALT=\"慜擔堏摦\" WIDTH=\"18\" HEIGHT=\"18\" BORDER=\"0\">");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"tday\" SRC=\""
+mapURL+SCCmd.S_TODAY+"\" ALT=\"崱擔\" WIDTH=\"30\" HEIGHT=\"18\" BORDER=\"0\">");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"yday\" SRC=\""
+mapURL+SCCmd.S_RA2+"\" ALT=\"梻擔堏摦\" WIDTH=\"18\" HEIGHT=\"18\" BORDER=\"0\">");
addBodyString(" <INPUT TYPE=\"image\" NAME=\"yweek\" SRC=\""
+mapURL+SCCmd.S_RA1+"\" 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=\"0\">");
addBodyString(" <TR BGCOLOR=\"#000080\">");
int count=0; //壗帪娫暘偁傞偐丠
for(int ix=Integer.parseInt(sconf.GetFromTime());ix<Integer.parseInt(sconf.GetToTime());ix++)
{
count++;
}
int hcount = count*2+1;
//擔晅昞帵
addBodyString(" <TH HEIGHT=\"40\" COLSPAN=\""+hcount+"\"><FONT COLOR=\"#ffffff\">"
+hiduke.substring(0,4)+"擭"+hiduke.substring(4,6)+"寧"+hiduke.substring(6,8)+"擔</FONT></TH>");
addBodyString(" </TR>");
/* 僇儗儞僟乕 */
addBodyString(" <TR BGCOLOR=\"#cccccc\">");
addBodyString(" <TH ROWSPAN=\"2\" width=\"10%\" BGCOLOR=\"#808080\" NOWRAP><FONT COLOR=\"#ffffff\">巵柤</FONT></TH>");
count=0; //壗帪娫暘偁傞偐丠
for(int ix=Integer.parseInt(sconf.GetFromTime());ix<Integer.parseInt(sconf.GetToTime());ix++)
{
//帪娫昞帵
addBodyString(" <TH COLSPAN=\"2\" NOWRAP>"+ix+"</TH>");
count++;
}
addBodyString(" </TR>");
addBodyString(" <TR BGCOLOR=\"#808080\">");
for(int ix=0;ix<count*2;ix++)
{
//栚惙慄昞帵
addBodyString(" <TD HEIGHT=\"5\" WIDTH=\"3%\"><IMG SRC=\""+mapURL+SCCmd.S_SPE30+"\"></TD>");
}
addBodyString(" </TR>");
/* 擔晅傪栠偡 */
cal.setYMD(hiduke);
String[][] buf;
/* 巊梡幰偺僗働僕儏乕儖 */
sfile = new SCScheFile(userDIR,0,uid,yymm);
/* 僗働僕儏乕儖僨乕僞僙僢僩 */
//2師尦偺攝楍偵僨乕僞僙僢僩
buf = new String[sfile.size()][count*2];
for(int idx=0;idx<sfile.size();idx++){
for(int index=0;index<count*2;index++){
buf[idx][index]="0";
}
}
int datmax = -1;
//
String sth=sconf.GetFromTime();
if(Integer.parseInt(sth)<10){
sth="0"+sth;
}
String edh=sconf.GetToTime();
if(Integer.parseInt(edh)<10){
edh="0"+edh;
}
String sh = cal.getstrYear()+cal.getstrMonth()+cal.getstrDay()+sth+"00";//奐巒帪娫
String eh = cal.getstrYear()+cal.getstrMonth()+cal.getstrDay()+edh+"00";//偙偭偪傕奐巒帪娫丠
int ii=0;
for(int ix=0;ix<sfile.size();ix++){
SCScheData sdata = sfile.Getmod(ix);
if(
(Long.parseLong(sdata.GetFrom())< Long.parseLong(eh))
&&
(Long.parseLong(sdata.GetTo()) > Long.parseLong(sh))
){
//壗僐儅巊偆偐嶼弌
String sttime = sh;
String edtime = eh;
if(Long.parseLong(sdata.GetFrom())>Long.parseLong(sh)){
sttime = sdata.GetFrom().substring(0,12);
}
if(Long.parseLong(sdata.GetTo())<Long.parseLong(eh)){
edtime = sdata.GetTo().substring(0,12);
}
long hour = Long.parseLong(edtime.substring(8,10))-Long.parseLong(sttime.substring(8,10));
long minu = Long.parseLong(edtime.substring(10,12))-Long.parseLong(sttime.substring(10,12));
long retsu=hour*2;
if(minu<0){
retsu= retsu-1;
}
if(minu>0){
retsu++;
}
//偳偙偐傜巒傑傞偐嶼弌
int index=0;
int stretsu=0;
if(Long.parseLong(sdata.GetFrom())>Long.parseLong(sh))
{
hour = Long.parseLong(sdata.GetFrom().substring(8,10))-Long.parseLong(sh.substring(8,10));
minu = Long.parseLong(sdata.GetFrom().substring(10,12))-Long.parseLong(sh.substring(10,12));
stretsu =(int)(hour*2);
if(minu<0)
{
stretsu= stretsu-1;
}
if(minu>0)
{
stretsu++;
}
}
retsu = retsu+stretsu;
for(ii=0;ii<sfile.size();ii++)
{
if(Integer.parseInt(buf[ii][stretsu])==0)
{
for(index=stretsu;index<retsu;index++)
{
buf[ii][index]=sdata.GetSid();
}
if(ii>datmax)
{
datmax=ii;
}
break;
}
}
}
}
int maxrow = 0;
if (datmax==-1){
maxrow=1;
}else{
maxrow =datmax +1;
}
/* 廳暋峴偼壗峴偁傞偐 ROWSPN偺嶼弌 */
int colcnt = 0;
if (Integer.parseInt(uid)!=0){//娗棟幰埲奜
/* 巊梡幰柤 */
Integer sessionUID = (Integer)session.getAttribute(GSBase.SESSION_PARA_UID);
String sessionUNAME = (String)session.getAttribute(GSBase.SESSION_PARA_UNAME);
addBodyString("");
addBodyString(" <TR ALIGN=\"left\" VALIGN=\"top\">");
addBodyString(" <TD HEIGHT=\"50\" BGCOLOR=\"#e0e0e0\" ROWSPAN=\""+maxrow+"\">");
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?