📄 createlastlog.java
字号:
package jp.co.sjts.gsession.main;
/*
* 嵟廔儘僌僀儞帪娫堦棗 CreateLastlog.java
* Copyright (C) 1999-2000 Japan Total System Co,LTD
* Satoru K <koni@sjts.co.jp>
* Masakatu O <ookubo@sjts.co.jp>
*/
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.*;
public class CreateLastlog extends CreatePage {
private final String title = "嵟廔儘僌僀儞帪娫";
private final String bgcolor = "#ffffff";
private final String text = "#000000";
private final String link = "#0000ff";
private final String alink = "#800080";
private final String vlink = "#0000ff";
private final int ID = 0;
private final int NAME = 1;
private final int LASTLOG = 2;
private final int DATEKEY = 3;
private Hashtable hsPara;
private String mapURL = null;
private IUserManager UM;
public CreateLastlog(Hashtable hsPara,String mapURL,IUserManager UM) {
this.hsPara = hsPara;
this.mapURL = mapURL;
this.UM = UM;
}
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);
int dfgid = 0;
if(sessionUID.intValue()>0) {
IUser iuser = UM.getUser(sessionUID.intValue());
dfgid = iuser.getDefaultGroup();
}
setCharset("iso-2022-jp");
setTitle(title);
setBodyColor(bgcolor,text,link,vlink,alink);
/* 僞僀僩儖 */
addBodyString("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
addBodyString("<TR BGCOLOR=\"#000080\">");
addBodyString("<TD><FONT COLOR=\"#ffffff\"><B>"+title+"</B></FONT></TD>");
addBodyString("<TD ALIGN=\"right\"><A HREF=\""+url+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_ADMINTOOL+"\">");
addBodyString(" <IMG SRC=\""+mapURL+GSFilename.GS_AD_TOOL_BACK
+"\" ALT=\"娗棟幰僣乕儖傊栠傞\" WIDTH=\"173\" HEIGHT=\"28\" BORDER=\"0\"></A></TD>");
addBodyString("</TR>");
addBodyString("</TABLE>");
/* 僐儞儃 */
/* 僌儖乕僾悢暘儖乕僾 */
addBodyString("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
addBodyString("<TR>");
addBodyString("<FORM METHOD=\"post\" ACTION=\""+url+"\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_CMD+"\" VALUE=\""+GSCmd.GS_LASTLOG+"\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTKEY + "\" VALUE=\""
+ ((hsPara.get(GSCmd.GS_PARA_SORTKEY)!=null)?
((String[])hsPara.get(GSCmd.GS_PARA_SORTKEY))[0]:"0") + "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+NAME+ "\" VALUE=\""
+ ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null)?
((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)))[0]:"false")
+ "\">");
addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+LASTLOG + "\" VALUE=\""
+ ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+LASTLOG)!=null)?
((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+LASTLOG)))[0]:"false")
+ "\">");
addBodyString("<TD ALIGN=\"left\">");
addBodyString("<SELECT NAME=\""+GSCmd.GS_PARA_GID+"\" onchange=\"document.forms[0].submit();\">");
int workgid = dfgid;
if( hsPara.get(GSCmd.GS_PARA_GID)!=null ) {
workgid = Integer.parseInt((String)((String[])hsPara.get(GSCmd.GS_PARA_GID))[0]) ;
}
int[] gids = UM.getGidArray();
Object[] dspGrp = new Object[gids.length];
//僜乕僩梡僥乕僽儖嶌惉
for(int a=0;a<gids.length;a++) {
Vector vec = new Vector(2);
vec.add(Integer.toString(gids[a]));
vec.add(UM.getGName(gids[a]));
dspGrp[a] = vec;
}
//僜乕僩
GSSort groupsort = new GSSort(true,NAME);
Arrays.sort(dspGrp,groupsort);
for(int i=0;i<dspGrp.length;i++) {
Vector vec = (Vector)dspGrp[i];
if(Integer.parseInt(((String)vec.get(ID))) == workgid ) {
addBodyString("<OPTION SELECTED VALUE=\""+((String)vec.get(ID))+"\">" + ((String)vec.get(NAME)));
} else {
addBodyString("<OPTION VALUE=\""+((String)vec.get(ID))+"\">"+((String)vec.get(NAME)));
}
}
addBodyString("</SELECT></TD>");
addBodyString("<TD ALIGN=\"left\">");
addBodyString("<INPUT TYPE=\"image\" NAME=\"go\" SRC=\""+mapURL+GSFilename.GS_GO_BTN+"\" ALT=\"GO\" BORDER=\"0\">");
addBodyString("</TD>");
addBodyString("<TD WIDTH=\"100%\"><BR>丂</TD>");
addBodyString("</TR>");
addBodyString("</FORM>");
addBodyString("</TABLE>");
/* 柧嵶僞僀僩儖 */
addBodyString("<TABLE BGCOLOR=\"#ffffff\" WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"1\" CELLPADDING=\"1\">");
addBodyString("<TR>");
addBodyString("<TD BGCOLOR=\"#ffffff\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>崱擔</B></TD>");
addBodyString("<TD BGCOLOR=\"#f0ffFf\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>嶐擔</B></TD>");
addBodyString("<TD BGCOLOR=\"#BFEFDF\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>堦嶐擔</B></TD>");
addBodyString("<TD BGCOLOR=\"#FFb6c1\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>俁擔慜</B></TD>");
addBodyString("<TD BGCOLOR=\"#dcdcdc\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>係擔慜</B></TD>");
addBodyString("<TD BGCOLOR=\"#f0e68c\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>俆擔慜</B></TD>");
addBodyString("<TD BGCOLOR=\"#ffffbf\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>侾侽擔慜</B></TD>");
addBodyString("<TD BGCOLOR=\"#c71585\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>俀侽擔慜</B></TD>");
addBodyString("<TD BGCOLOR=\"#00ff00\" WIDTH=\"11%\" ALIGN=\"center\" NOWRAP><B>俀侽擔埲崀</B></TD>");
addBodyString("</TABLE>");
addBodyString("<TABLE BGCOLOR=\"#ffffff\" WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"1\" CELLPADDING=\"1\">");
addBodyString("<TR BGCOLOR=\"#8080ff\">");
int sortkey = (hsPara.get(GSCmd.GS_PARA_SORTKEY)!=null)?
Integer.parseInt(((String[])hsPara.get(GSCmd.GS_PARA_SORTKEY))[0]):0;
String nameSortflg="true";
if( (sortkey==NAME) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null) )
nameSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME))[0]).equals("true")?"false":"true";
String lastlogSortflg="true";
if( (sortkey==LASTLOG) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+LASTLOG)!=null) )
lastlogSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+LASTLOG))[0]).equals("true")?"false":"true";
if(sortkey == 0) {
sortkey = NAME;
nameSortflg = "false";
}
String nameTitle="<FONT COLOR=\"#ffffff\"><B>儐乕僓乕柤</B></FONT>";
nameTitle=makeTitle(nameTitle,nameSortflg,sortkey,NAME);
addBodyString("<TD WIDTH=\"50%\" ALIGN=\"center\" NOWRAP><A HREF=\""+url
+"?"+GSCmd.GS_PARA_GID+"="+Integer.toString(workgid)
+"&"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_LASTLOG
+"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(NAME)
+"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+LASTLOG+"="+lastlogSortflg
+"\">"
+nameTitle
+"</A></TD>");
String lastlogTitle="<FONT COLOR=\"#ffffff\"><B>嵟廔儘僌僀儞夋柺</B></FONT>";
lastlogTitle=makeTitle(lastlogTitle,lastlogSortflg,sortkey,LASTLOG);
addBodyString("<TD WIDTH=\"50%\" ALIGN=\"center\" NOWRAP><A HREF=\""+url
+"?"+GSCmd.GS_PARA_GID+"="+Integer.toString(workgid)
+"&"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_LASTLOG
+"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(LASTLOG)
+"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
+"&"+GSCmd.GS_PARA_SORTFLG+LASTLOG+"="+lastlogSortflg
+"\">"
+lastlogTitle
+"</A></TD>");
addBodyString("</TR>");
/* 僌儖乕僾柧嵶 */
GSDate cal = new GSDate();
GSDate cal2 = new GSDate();
cal.setYMD(cal.getYear(),cal.getMonth(),cal.getDay());
long today = cal.getTime();
int[] uids = UM.getUidArray(workgid);
Vector vecLog = new Vector();
Object[] dspLog = null;
//僜乕僩梡僥乕僽儖嶌惉
for(int i=0;(uids != null) && (i<uids.length);i++) {
cal.setYMDHM(UM.getLastLoginTime(uids[i]));
IUser user = UM.getUser(uids[i]);
Vector vec = new Vector(5);
vec.add(Integer.toString(uids[i]));
vec.add(UM.getUName(uids[i]));
vec.add(Integer.toString(cal.getYear())+"擭"
+Integer.toString(cal.getMonth())+"寧"
+Integer.toString(cal.getDay())+"擔 "
+Integer.toString(cal.getHour())+"帪"
+Integer.toString(cal.getMinute())+"暘");
if(uids[i] != 0) {
vec.add(user.getKana());
} else {
vec.add("0");
}
Long time = new Long(cal.getTime());
vec.add(time);
vecLog.add(vec);
}
dspLog = vecLog.toArray();
boolean sortflg=true;
switch(sortkey){
case NAME:
sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null)?
(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME))[0]).equals("true"):true;
break;
case LASTLOG:
sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+LASTLOG)!=null)?
(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+LASTLOG))[0]).equals("true"):true;
break;
}
//僜乕僩
GSSort logsort = (sortkey == NAME)?
new GSSort(sortflg,3):
(sortkey == LASTLOG)?new GSSort(sortflg,4):new GSSort(sortflg,sortkey);
Arrays.sort(dspLog,logsort);
for(int i=0;(dspLog != null) && (i<dspLog.length);i++) {
Vector vec = (Vector)dspLog[i];
cal2.setYMDHM(UM.getLastLoginTime(Integer.parseInt(((String)vec.get(ID)))));
cal2.setYMD(cal2.getYear(),cal2.getMonth(),cal2.getDay());
long last = cal2.getTime();
long sa = (today-last)/(1000*60*60*24);
if( sa == 0 ) {
addBodyString("<TR>");
} else if(sa == 1) {
addBodyString("<TR BGCOLOR=\"#f0ffFf\">");
} else if(sa == 2) {
addBodyString("<TR BGCOLOR=\"#BFEFDF\">");
} else if(sa == 3) {
addBodyString("<TR BGCOLOR=\"#FFb6c1\">");
} else if(sa == 4) {
addBodyString("<TR BGCOLOR=\"#dcdcdc\">");
} else if(sa == 5) {
addBodyString("<TR BGCOLOR=\"#f0e68c\">");
} else if(sa < 10) {
addBodyString("<TR BGCOLOR=\"#ffffbf\">");
} else if(sa < 20) {
addBodyString("<TR BGCOLOR=\"#c71585\">");
} else {
addBodyString("<TR BGCOLOR=\"#00ff00\">");
}
cal.setYMDHM(UM.getLastLoginTime(Integer.parseInt(((String)vec.get(ID)))));
String space = "";
addBodyString("<TD NOWRAP>"+((String)vec.get(NAME))+"</TD>");
addBodyString("<TD NOWRAP>"+((String)vec.get(LASTLOG))+"</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\"> 仴 </FONT>"+title;
else
title = title+"<FONT COLOR=\"ffffff\"> 仯 </FONT>";
}
return title;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -