timecard.java

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

JAVA
1,263
字号
						dayData3.setFirst("丂");
						dayData3.setEnd("丂");
					}else{
						if(!((buf1).equals("丂")) && !((buf2).equals("丂")) && 
						   !((buf4).equals("丂")) && !((buf8).equals("丂"))) {//偡傋偰偺僨乕僞偼擖椡偝傟偰偄傞偐丠
							/* 弌幮仌戅幮帪娫僙僢僩*/
							dayData3.setFirst(buf1 + ":" + buf2);
							dayData3.setEnd(buf4 + ":" + buf8);
						}else{//曇廤偑晄姰慡側応崌
							chker = true;
							cal = new GSDate();
							/* uconf.ymdhm傪曇廤*/
							if(!(uconf.GetYMDHM()).equals("丂")){    //uconf.GetYMDHM()偑桳傞応崌偼uconf偺擔晅偲斾妑
								cal.setYMDHM(uconf.GetYMDHM());
							}
							String hiduke2=null;
							hiduke2 = EditTime.getHH(Integer.parseInt(hiduke));
							String ymd1 = Integer.toString(y)+EditTime.getHH(m)+hiduke2;
							String ymd2 = cal.getYMD();
							/* 曇廤僨乕僞偑uconf.GetYMDHM()偲摨偠擔偵偪側傜偽弌幮帪娫偩偗偺擖椡壜擻*/
							if((ymd2).equals(ymd1)) {
								if(!(buf1).equals("丂") && !(buf2).equals("丂") && 
								   (buf4).equals("丂") && (buf8).equals("丂")){
									
									dayData3.setFirst(buf1 + ":" + buf2);
									dayData3.setEnd("丂");
									uconf.SetKaishi("1");
									uconf.SetYMDHM(ymd1+buf1+buf2);
									uconf.Save();
									chker = false;
									chker2 = true;
								}
							}
						}
					}

					if(chker==true) {
						String url = GSTool.removeParaFormURI(req.getRequestURI());
						String nexturl = url + "?"+ TCCmd.PA_CMD + "=" + TCCmd.TC_EDIT
							+ "&" + TCCmd.PA_XID + "=" + (String)((String[])hsPara.get(TCCmd.PA_XID))[0]
							+ "&" + TCCmd.PA_GID + "=" + (String)((String[])hsPara.get(TCCmd.PA_GID))[0]
							+ "&" + TCCmd.PA_YY + "=" + (String)((String[])hsPara.get(TCCmd.PA_YY))[0]
							+ "&" + TCCmd.PA_MM + "="+ (String)((String[])hsPara.get(TCCmd.PA_MM))[0]
							+ "&" + TCCmd.PA_MORD+"="+ (String)((String[])hsPara.get(TCCmd.PA_MORD))[0]
							+ "&" + TCCmd.PA_DAY+"="+ (String)((String[])hsPara.get(TCCmd.PA_DAY))[0]
							+ "&" + TCCmd.PA_START + "=" + (String)((String[])hsPara.get(TCCmd.PA_START))[0]
							+ "&" + TCCmd.PA_STOP + "="+ (String)((String[])hsPara.get(TCCmd.PA_STOP))[0];
						CreateErrorPage epage = new CreateErrorPage("曇廤偑晄惓偱偡丅<BR>仸旛峫偺傒偺擖椡偼弌幮丒戅幮帪娫偡傋偰偵嬻敀傪慖戰偟偰偔偩偝偄丅",MapURL,nexturl);
						epage.write(req,res);
						return;
					}
				}
				
				dayData3.setNote(GSTool.delimitEncorde(",",buf7));
				tfile.SetdayData(day,dayData3);
				tfile.Save();
				/* uconf.ymdhm傪曇廤*/
				if(!(uconf.GetYMDHM()).equals("丂")) {
					if(chker2 != true) {
						cal = new GSDate();
						cal.setYMDHM(uconf.GetYMDHM());
						String hiduke2=null;
						hiduke2 = EditTime.getHH(Integer.parseInt(hiduke));
						/* 曇廤屻偺奐巒擭寧擔帪娫*/
						String ymd1 = Integer.toString(y)+EditTime.getHH(m)+hiduke2;
						String ymd2 = cal.getYMD();
						/* 曇廤僨乕僞偑uconf.GetYMDHM()偲摨偠側傜偽彂偒姺偊傞*/
						if((ymd2).equals(ymd1)) {
							uconf.SetKaishi("0");
							/*******************/
							//uconf.SetYMDHM("丂");
							/*******************/
							uconf.Save();
						}
					}
				}
			}

			/* 曇廤庢傝徚偟乮栠傞乯*/
			bufs = (String[])hsPara.get("henexit.x");
			if(bufs!=null){}
			/* 嵞昞帵愭傪庢摼*/
			int mord3 = Integer.parseInt((String)((String[])hsPara.get(TCCmd.PA_MORD))[0]);
			if(mord3==10){
				page = new CreateTimeCard(hsInitData,hsPara,UM,hiduke,MapURL,tfile,y,m,gid,time,getHoliday(""+y));
			}else{
				page = new CreateAdmin(hsInitData,hsPara,UM,hiduke,MapURL,tfile,y,m,gid,xid,time,getHoliday(""+y));
			}
			break;
			
		case TCCmd.TC_START://僞僀儉僇乕僪僗僞乕僩
			cal = new GSDate();
			tfile = new TCFile(userDir,xid,y,m,hiduke);
			hour = cal.getstrHour();       
			min = cal.getstrMinute();
			/* 僨乕僞僼傽僀儖偵彂偒崬傒*/
			DayData dayData2 = tfile.GetdayData(day);			
			
			from = hour + ":" + min;              /* 奐巒帪暘傪庢摼*/
			to = "丂";
			bikou = dayData2.getNote();
			day = cal.getDay();
			dayData = new DayData(day,from,to,bikou);
			
			if( (dayData2.getFirst()).equals("丂")){
				dayData2.setEnd("丂");
				tfile.SetdayData(day,dayData);
				tfile.Save();
				/* 儐乕僓僼傽僀儖撪梕曄峏(kaishi=1)*/
				uconf.Load();
				uconf.SetKaishi("1");
				uconf.SetYMDHM(cal.getYMDHM());
				uconf.Save();
			}else{
				CreateErrorPage epage = new CreateErrorPage("杮擔偺僨乕僞偼婛偵擖椡偝傟偰偄傑偡丅",MapURL,mainURL);
				epage.write(req,res);
				return;
			}
			backDisp(mainURL,res);
			break;
		
		case TCCmd.TC_STOP:                       /* 僞僀儉僇乕僪僗僩僢僾*/
			cal = new GSDate();
			long today = cal.getTime();           /* 尰嵼Time()庢摼*/

			GSDate cal2 = new GSDate();
			cal2.setYMDHM(uconf.GetYMDHM());
			long last = cal2.getTime();           /* 奐巒帪偺Time()庢摼*/
			long sa = (today-last)/(1000*60*60);  /* 帪娫嵎傪庢摼*/
			
			y = cal2.getYear();
			m = cal2.getMonth();
			day = cal2.getDay();
			hiduke = cal2.getstrDay();
			tfile = new TCFile(userDir,xid,y,m,hiduke);
			
			dayData2 = tfile.GetdayData(day);     /* 崱擔偺僨乕僞庢摼*/
			from = dayData2.getFirst();           /* 奐巒帪暘傪庢摼*/
			bikou = dayData2.getNote();
			/* 奐巒帪僾儔僗嵎傪廔椆帪娫偲偡傞丅*/
			hour = Integer.toString(cal2.getHour()+(Integer.parseInt(Long.toString(sa))));
			min = cal.getstrMinute();//尰嵼暘傪庢摼

			StringTokenizer st = new StringTokenizer(from,":");
			String fhour = st.nextToken();
			String fmin = st.nextToken();
			
			if( (Integer.parseInt(fmin)>Integer.parseInt(min)) && (Integer.parseInt(hour) > Integer.parseInt(fhour)) ) {
				hour = Integer.toString(Integer.parseInt(hour)+1);
			}
			hour = EditTime.getHH(Integer.parseInt(hour));
			
			to = hour + ":" + min;                /* 廔椆帪暘傪庢摼*/
			dayData = new DayData(day,from,to,bikou);
			/* 僨乕僞僼傽僀儖偵彂偒崬傒*/
			tfile.Load();
			tfile.SetdayData(day,dayData);
			tfile.Save();
			
			/* 儐乕僓僼傽僀儖撪梕曄峏(kaishi=0)*/
			uconf.Load();
			uconf.SetKaishi("0");
			/*****************************/
			//uconf.SetYMDHM("丂");
			/*****************************/
			uconf.Save();
			backDisp(mainURL,res);
			break;
		}
		if(page != null){
			page.write(req,res);
		}
	}

	///** 
	// * <P>僞僀儉僇乕僪僗僞乕僩仌僗僩僢僾擖椡夋柺乮儊僀儞夋柺乯
	// * @param pw    僾儕儞僩儔僀僞乕
	// * @param url   儊僀儞URL
	// * @param uid   僙僢僔儑儞儐乕僓乕俬俢
	// */	
	//public void GSMainBodyWrite(PrintWriter pw,String url,int uid)
	//	throws GSException
	//{
    
    //廋惓-----------------
	/**
     * <p>儊僀儞夋柺傊偺弌椡
     *
     * @param mbp MainBodyParam
     * @exception GSException
     */
    public void GSMainBodyWrite(MainBodyParam mbp)
		throws GSException{
    
        PrintWriter pw = mbp.getWriter();
        String url = mbp.getMyUrl();
        int uid = mbp.getUid();
    //------------偙偙傑偱
        
		cal = new GSDate();
		//String url = GSTool.removeParaFormURI(req.getRequestURI());   /* 僞僀儉僇乕僪儊僀儞Url*/
		String userDir = (String)hsInitData.get(TCCmd.TC_USER);       /* 儐乕僓乕僨傿儗僋僩儕*/
		String sid = Integer.toString(uid);
		int y = cal.getYear();
		int m = cal.getMonth();
		int day = cal.getDay();
		String hiduke = cal.getstrDay();
		AdminConfFile gconf = new AdminConfFile(timecardDir);		
		UserConfFile uconf = new UserConfFile(userDir,Integer.toString(uid));		
		DayData dayData;
		TCFile tfile = new TCFile(userDir,sid,y,m,hiduke);
	    
		if((uconf.GetKaishi()).equals("0")){
			dayData = tfile.GetdayData(day);                              // 崱擔偺dayData傪庢摼
		}else{
			GSDate cal2 = new GSDate();                                   
			cal2.setYMDHM(uconf.GetYMDHM());
			y = cal2.getYear();
			m = cal2.getMonth();
			day = cal2.getDay();
			hiduke=cal2.getstrDay();
			tfile = new TCFile(userDir,sid,y,m,hiduke);
			dayData = tfile.GetdayData(day);                             // 僞僀儉僇乕僪偺僗僞乕僩擔偺僨乕僞傪庢摼
		}
		
		/*
		//擖椡嵪
		if((uconf.GetYMDHM()).equals("丂")){
		if(!(dayData.getEnd()).equals("丂") && !(dayData.getFirst()).equals("丂")) {
		uconf.Load();
		uconf.SetKaishi("0");
		uconf.Save();
		}
		}else{
		GSDate cal2 = new GSDate();
		cal2.setYMDHM(uconf.GetYMDHM());
		y = cal2.getYear();
		m = cal2.getMonth();
		day = cal2.getDay();
		hiduke=cal2.getstrDay();
		tfile = new TCFile(userDir,sid,y,m,hiduke);
		dayData = tfile.GetdayData(day);                          // 僞僀儉僇乕僪偺僗僞乕僩擔偺僨乕僞傪庢摼
		}
		*/
		
		int kaishi = Integer.parseInt(uconf.GetKaishi());             // 僞僀儉僇乕僪忬嫷僨乕僞奿擺
		pw.println("<!-- 僞僀儉僇乕僪僗僞乕僩 -->");
		pw.println("<FORM METHOD=\"post\" ACTION=\"" + url + "\" TARGET=\"_top\">");
		if(kaishi == 0) {
			/* 嬈柋奐巒偵偡傞*/
			pw.println("<INPUT TYPE=\"hidden\" NAME=\"" + TCCmd.PA_CMD + "\" VALUE=\"" + TCCmd.TC_START + "\">");
		}else if(kaishi != 0){
			/* 嬈柋廔椆偵偡傞*/
			pw.println("<INPUT TYPE=\"hidden\" NAME=\"" + TCCmd.PA_CMD + "\" VALUE=\"" + TCCmd.TC_STOP + "\">");
		}
		pw.println("  <TABLE WIDTH=\"100%\" BORDER=\"2\" CELLSPACING=\"0\" CELLPADDING=\"2\">");
		pw.println("  <TR>");
		pw.println("  <TD BGCOLOR=\"#000080\" COLSPAN=\"4\">");
		
		/* 僞僀僩儖*/
		pw.println("    <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		pw.println("    <TR BGCOLOR=\"#000080\">");
		pw.println("    <TH ALIGN=\"LEFT\"><FONT COLOR=\"#ffffff\">僞僀儉僇乕僪</FONT></TH>");
		pw.println("    <TD WIDTH=\"25%\" ALIGN=\"RIGHT\" NOWRAP>");

		/* 僨乕僞曇廤*/
		String time = gconf.GetTime();
		String Start =EditTime.editFirst(dayData.getFirst(),time);
		String Stop = EditTime.editEnd(dayData.getEnd(),time);
		
		/* 奐巒仌廔椆昞帵愗傝懼偊*/
		if(kaishi == 0) {
			if(!(dayData.getEnd()).equals("丂") && !(dayData.getFirst()).equals("丂")) {
				//儃僞儞傪昞帵偟側偄
			}else{/* 奐巒儃僞儞昞帵*/
				pw.println("    <INPUT TYPE=\"image\" NAME=\"timecard_start\" SRC=\""+MapURL+TCCmd.T_START+"\" ALT=\"嬈柋奐巒\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\">");
			}
		}else if(kaishi != 0){
			/* 廔椆儃僞儞昞帵(kaishi==1)*/
			pw.println("    <INPUT TYPE=\"image\" NAME=\"timecard_stop\" SRC=\""+MapURL+TCCmd.T_END+"\" ALT=\"嬈柋廔椆\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\">");	
		}
		pw.println("    </TD>");
		pw.println("    </TR>");
		pw.println("    </TABLE>");
		pw.println("  </TD>");
		pw.println("  </TR>");
		
		/* 嬈柋奐巒仌廔椆帪娫昞帵*/
		pw.println("  <TR BGCOLOR=\"#8080ff\">");
		pw.println("  <TH WIDTH=\"25%\" ALIGN=\"center\" NOWRAP><FONT COLOR=\"#ffffff\"><B>弌幮帪娫</B></FONT></TH>");
		pw.println("  <TD WIDTH=\"25%\" ALIGN=\"center\" BGCOLOR=\"#ffffff\"NOWRAP><FONT COLOR=\"#000000\"><B>"+Start+"</B></FONT></TD>");
		pw.println("  <TH WIDTH=\"25%\" ALIGN=\"center\" NOWRAP><FONT COLOR=\"#ffffff\"><B>戅幮帪娫</B></FONT></TH>");
		pw.println("  <TD WIDTH=\"25%\" ALIGN=\"center\" BGCOLOR=\"#ffffff\"NOWRAP><FONT COLOR=\"#000000\"><B>"+Stop+"</B></FONT></TD>");
		pw.println("  </TR>");
		pw.println("  </TABLE>");		
		pw.println("  </FORM>");
	}

	/**
	 * <P>巜掕偟偨URL傪昞帵偡傞
	 * @param URL  昞帵愭偺URL
	 * @param res  僒乕僽儗僢僩儗僗億儞僗
	 */
	private void backDisp(String URL,HttpServletResponse res)throws GSException{
		try {
			res.sendRedirect(URL);
		} catch(IOException e) {
			throw new GSException("sendRedirect",e);
		}
		return;
	}

}

⌨️ 快捷键说明

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