⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createholiday.java

📁 一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package jp.co.sjts.gsession.main;

/*
 * 媥擔愝掕  CreateHoliday.java
 * Copyright (C) 2000-2001 Japan Total System Co,LTD
 *    Junichi K  <kaneuchi@sjts.co.jp>
 */

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

public class CreateHoliday 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 = "#ff0000";
	private final String vlink = "#0000ff";

	private String urlMap;
	private Hashtable hsPara;
	private String helpURL;
	private Holiday holiday;
	private String mainDir;

	public CreateHoliday(Hashtable hsPara,Holiday holiday,String mainDir,String urlMap,String helpURL) {
		this.urlMap = urlMap;
		this.hsPara = hsPara;
		this.helpURL = helpURL;
		this.holiday = holiday;
		this.mainDir = mainDir;
	}

	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);

		String[] buf;
		String month = null;
		String day = null;
		String title = "";
		int imonth = 0;
		int iday = 0;

		GSDate date = new GSDate();
		String year = holiday.howYear();

		//擔晅傪愝掕
		if( hsPara.get(GSCmd.GS_PARA_LEFTX) != null) {
			year = Integer.toString(Integer.parseInt(year) - 1);
			holiday = (Holiday)holiday.CreateHoliday(year);
		}
		if( hsPara.get(GSCmd.GS_PARA_RIGHTX) != null) {
			year = Integer.toString(Integer.parseInt(year) + 1);
			holiday = (Holiday)holiday.CreateHoliday(year);
		}

		String md = (hsPara.get(GSCmd.GS_PARA_MD) != null)?
			((String[])hsPara.get(GSCmd.GS_PARA_MD))[0]:"0101";

		if( Integer.parseInt(md.substring(2)) > 40 ) {
			HolidayTempData tempdata = new HolidayTempData(md,"","0",year);
			if(tempdata.getFlg() != -1)
				date.setYMD(year + tempdata.getDate() );
			else
				date.setYMD(year + md.substring(0,2) + 1);
		}
		else
			date.setYMD(holiday.howYear() + md);

		//僷儔儊乕僞庢摼
		if( (buf = (String[])hsPara.get("month")) != null) {
			month = buf[0];
			imonth = Integer.parseInt(month);
		}
		if( (buf = (String[])hsPara.get("day")) != null) {
			day = buf[0];
			iday = Integer.parseInt(day);
		}
		if( (buf = (String[])hsPara.get("NAME")) != null)
			title = buf[0];

		//僥儞僾儗乕僩傪媥擔偵斀塮
		if( hsPara.get(GSCmd.GS_PARA_REFLECTX) != null ) {
			String[] tempdates;
			if( (tempdates = (String[])hsPara.get(GSCmd.GS_PARA_CBOX)) != null ){
				HolidayTemp holidaytemp = new HolidayTemp(new File(mainDir),date.getstrYear());

				boolean update = false;
				if( hsPara.get("update") != null )
					update = true;

				for(int i=0;i<tempdates.length;i++) {
					HolidayTempData tempdata = holidaytemp.getHolidayTempData(tempdates[i]);
					if(tempdata != null) {
						String date_cur=tempdata.getDate();
						if(tempdates.length-1>i) {
							String date_next =  holidaytemp.getHolidayTempData(tempdates[i+1]).getDate();
							if(date_cur.equals(date_next)) {
								String nexturl = url 
									+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_HDAY
									+"&"+GSCmd.GS_PARA_SUBCMD+"="+GSCmd.SUB_HDAY_TMP
									+"&"+GSCmd.GS_PARA_DATE+"="+date.getstrYear();

								String errmsg = plumeDate2(tempdates[i])+"偲"+plumeDate2(tempdates[i+1])+"偼摨堦偺擔晅偱偡丅";
								CreateErrorPage epage = new CreateErrorPage(errmsg,urlMap,nexturl);
								epage.write(req,res);
								return false;
							}
						}

						if(tempdata.getFlg()==-1) {
							String nexturl = url 
								+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_HDAY
								+"&"+GSCmd.GS_PARA_SUBCMD+"="+GSCmd.SUB_HDAY_TMP
								+"&"+GSCmd.GS_PARA_DATE+"="+date.getstrYear();

							String errmsg = plumeDate2(tempdates[i])+ "偼晄惓側擔晅偱偡丅";
							CreateErrorPage epage = new CreateErrorPage(errmsg,urlMap,nexturl);
							epage.write(req,res);
							return false;
						}


						if(update) {
							holiday.addHoliday(date_cur,tempdata.getTitle(),0,true);
							setSubstituteDay(holiday,tempdata,date,date_cur);
						} else {
							if(!holiday.isHoliday(date_cur)) {
								holiday.addHoliday(date_cur,holidaytemp.getTitle(tempdates[i]),0);
								setSubstituteDay(holiday,tempdata,date,date_cur);
							}
						}
					}
				}
				holiday.Save();
			}
		}

		//媥擔捛壛丄曄峏
		if( (month != null) && (day != null)) {

			//捛壛
			if( hsPara.get(GSCmd.GS_PARA_ADDX) != null) {

				if((imonth < 0) || (iday < 0)) {
					String nexturl = url
						+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_HDAY
						+"&"+GSCmd.GS_PARA_DATE+"="+date.getstrYear();

					String errmsg = "晄惓側擔晅偱偡丅";
					CreateErrorPage epage = new CreateErrorPage(errmsg,urlMap,nexturl);
					epage.write(req,res);
					return false;
				}

				//廳暋僠僃僢僋
				if(holiday.isHoliday(imonth,iday)) {
					String nexturl = url 
						+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_HDAY
						+"&"+GSCmd.GS_PARA_DATE+"="+date.getstrYear();

					CreateErrorPage epage = new CreateErrorPage("偡偱偵擖椡偝傟偰偄傑偡丅",urlMap,nexturl);
					epage.write(req,res);
					return false;
				}
				//晄惓僠僃僢僋
				GSDate chkdate = new GSDate();
				chkdate.setYMD(date.getYear(),imonth,1);
				if(chkdate.getMaxDayOfMonth() < iday) {
					String nexturl = url
						+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_HDAY
						+"&"+GSCmd.GS_PARA_DATE+"="+date.getstrYear();

					String errmsg = "晄惓側擔晅偱偡丅";
					CreateErrorPage epage = new CreateErrorPage(errmsg,urlMap,nexturl);
					epage.write(req,res);
					return false;
				}

				holiday.addHoliday(imonth,iday,title,0);
				holiday.Save();
			}

			//曄峏
			if( (hsPara.get(GSCmd.GS_PARA_MD) != null) && (hsPara.get(GSCmd.GS_PARA_EDITX) != null)) {

				if((imonth < 0) || (iday < 0)) {
					String nexturl = url
						+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_HDAY
						+"&"+GSCmd.GS_PARA_DATE+"="+date.getstrYear();

					String errmsg = "晄惓側擔晅偱偡丅";
					CreateErrorPage epage = new CreateErrorPage(errmsg,urlMap,nexturl);
					epage.write(req,res);
					return false;
				}

				if(holiday.isHoliday(imonth,iday)) {
					GSDate gsDate = new GSDate();
					gsDate.setYMD(date.getYear(),imonth,iday);

					if(Integer.parseInt(date.getstrMonth()+date.getstrDay()) !=
					   Integer.parseInt(gsDate.getstrMonth()+gsDate.getstrDay())) {
						String nexturl = url
							+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_HDAY
							+"&"+GSCmd.GS_PARA_DATE+"="+date.getstrYear();

						CreatePage epage = new CreateErrorPage("偡偱偵擖椡偝傟偰偄傑偡丅",urlMap,nexturl);
						epage.write(req,res);
						return false;
					}
				}
				//晄惓僠僃僢僋
				GSDate chkdate = new GSDate();
				chkdate.setYMD(date.getYear(),imonth,1);
				if(chkdate.getMaxDayOfMonth() < iday) {
					String nexturl = url
						+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_HDAY
						+"&"+GSCmd.GS_PARA_DATE+"="+date.getstrYear();

					String errmsg = "晄惓側擔晅偱偡丅";
					CreateErrorPage epage = new CreateErrorPage(errmsg,urlMap,nexturl);
					epage.write(req,res);
					return false;
				}
				holiday.deleteHoliday( date.getstrMonth()+date.getstrDay() );
				holiday.addHoliday(imonth,iday,title,0);
				holiday.Save();
			}
		}

		//媥擔嶍彍儁乕僕昞帵
		String[] mds = (String[])hsPara.get(GSCmd.GS_PARA_CBOX);
		if( (mds != null) && (hsPara.get(GSCmd.GS_PARA_DELETEPAGEX) != null)) {

			Para[] param = new Para[3+mds.length];
			param[0] = new Para(GSCmd.GS_PARA_CMD,Integer.toString(GSCmd.GS_HDAY));
			param[1] = new Para(GSCmd.GS_PARA_DELETE,"damy");
			param[2] = new Para(GSCmd.GS_PARA_DATE,date.getstrYear());
			for( int i=3; i<3+mds.length; i++)
				param[i] = new Para(GSCmd.GS_PARA_CBOX,mds[i-3]);

			CreatePage page = new CreateMsgPage(CreateMsgPage.MB_YESNO
									 ,CreateMsgPage.ID_POST
									 ,"嶍彍妋擣"
									 ,""+mds.length+"審傪嶍彍偟傑偡丅傛傠偟偄偱偡偐丅"
									 ,param
									 ,urlMap+GSFilename.GS_MSGICON);

⌨️ 快捷键说明

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