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

📄 autoweekly.java

📁 上一上传oa系统漏掉web-inf文件夹
💻 JAVA
字号:
package com.oa.myutil.struts;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
import java.util.TimerTask;

import com.oa.db.DepartmentDAO;
import com.oa.db.PostDAO;
import com.oa.db.Staffbasicinfo;
import com.oa.db.StaffbasicinfoDAO;
import com.oa.db.UserDAO;
import com.oa.db.Weeklycircle;
import com.oa.db.WeeklycircleDAO;
import com.oa.db.Weeklyinput;
import com.oa.db.WeeklyinputDAO;

public class Autoweekly extends TimerTask {
	WeeklycircleDAO cdao;
	UserDAO fdao;
	StaffbasicinfoDAO sdao;
	WeeklyinputDAO adao;
	DepartmentDAO ddao;
	PostDAO pdao;
	public void run() {// 每周星期一自动为每位在职员工生成一期空周报
		
		GregorianCalendar gc = new GregorianCalendar();
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		SimpleDateFormat format1 = new SimpleDateFormat("dd");
		int d = Integer.parseInt(format1.format(new java.util.Date()));
		SimpleDateFormat format2 = new SimpleDateFormat("MM");
		int m = Integer.parseInt(format2.format(new java.util.Date()));
		SimpleDateFormat format3 = new SimpleDateFormat("yyyy");
		int y = Integer.parseInt(format3.format(new java.util.Date()));//System.out.println(y+ "-"+ m +"-" +d);输出今天的年月日
		if (m == 1) {// 特殊情况
			m = 13;
			y = y - 1;
		}
		if (m == 2) {// 特殊情况
			m = 14;
			y = y - 1;
		}
		int w = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;// 根据年月日计算星期几
		String str = "";
		switch (w) {
		case 0:
			str = "星期一";
			break;
		case 1:
			str = "星期二";
			break;
		case 2:
			str = "星期三";
			break;
		case 3:
			str = "星期四";
			break;
		case 4:
			str = "星期五";
			break;
		case 5:
			str = "星期六";
			break;
		case 6:
			str = "星期日";
			break;
		}
		if(str!=null&&str.equals("星期一")) {
		    List list = cdao.QueryPeriod();
			if(list!= null && list.size() != 0) {
				Weeklycircle vo = (Weeklycircle) list.get(0);
				Date first = vo.getFirstdayofweek();
				Date end = vo.getEnddayofweek();//System.out.println("begin1:"+end);
				java.util.Date currentday = new java.util.Date();// String转化成 Date
				if (currentday.before(end) && currentday.after(first)) {
					System.out.println("该期已存在!");
				} else {
					Weeklycircle cvo = new Weeklycircle();//System.out.println("begin3:"+list.size());
					cvo.setPeriod(vo.getPeriod() + 1);// Date first = vo.getFirstdayofweek();
					gc.setTime(first);
					gc.add(5, +7);
					gc.set(gc.get(Calendar.YEAR), gc.get(Calendar.MONTH), gc.get(Calendar.DATE));
					try {
						cvo.setFirstdayofweek(sf.parse(sf.format(gc.getTime())));
					} catch (java.text.ParseException e) {
						// TODO 自动生成 catch 块
						e.printStackTrace();
					}

					// Date end = vo.getEnddayofweek();
					gc.setTime(end);
					gc.add(5, +7);
					gc.set(gc.get(Calendar.YEAR), gc.get(Calendar.MONTH), gc.get(Calendar.DATE));
					try {
						cvo.setEnddayofweek(sf.parse(sf.format(gc.getTime())));						
					} catch (java.text.ParseException e) {
						// TODO 自动生成 catch 块
						e.printStackTrace();
					}
					cdao.Save(cvo);
           			List slist = null;
					String realname = "";
					int departmentid = 0;
					String department = "";
					int postid = 0;
					String post = "";
        			List list2 = fdao.QueryAllUsername();
					Iterator it = list2.iterator();
					do {
						String username = (String)it.next();// 用户名								
						Weeklyinput info = new Weeklyinput();
						slist = sdao.QueryStaffbasicinfo(username);
						if(slist!=null&&slist.size()!=0){
							Staffbasicinfo staffbasicinfo = (Staffbasicinfo)slist.get(0);
							realname = staffbasicinfo.getRealname();//真实姓名
							departmentid = staffbasicinfo.getDepartmentid();
							department = ddao.findColumnById(departmentid);
							postid = staffbasicinfo.getPostid();
							post = pdao.findPostById(postid);							
						}
						int userid = fdao.ByUsernameQueryId(username);//用户id
					/*	System.out.println(username);
						System.out.println(userid);*/
						info.setRealname(realname);
						info.setUserid(userid);						
						info.setDepartmentid(departmentid);
						info.setPostid(postid);
						info.setPeriod(vo.getPeriod() + 1);
						info.setWhethercheck("未提交");
						adao.Save(info);
					} while (it.hasNext());					
				}
			}
		}
	}
	/*public static void main(String[] args) {System.out.println("begin");
	  //  ApplicationContext a = new ClassPathXmlApplicationContext("/WebRoot/WEB-INF/applicationContext.xml"); 
		//   ApplicationContext b = new FileSystemXmlApplicationContext("D:\\myproject20070528\\oa\\WebRoot\\WEB-INF\\applicationContext.xml");
	//    BeanFactory bf = new XmlBeanFactory(new ClassPathResource("WebRoot/WEB-INF/applicationcontext.xml"));
		ApplicationContext b = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationcontext.xml");
	    Autoweekly ud = (Autoweekly)b.getBean("Autoweekly");
	    System.out.println("sss");
		ud.run();System.out.println("sss");
	}*/
	public WeeklyinputDAO getAdao() {
		return adao;
	}
	public void setAdao(WeeklyinputDAO adao) {
		this.adao = adao;
	}
	public WeeklycircleDAO getCdao() {
		return cdao;
	}
	public void setCdao(WeeklycircleDAO cdao) {
		this.cdao = cdao;
	}
	public DepartmentDAO getDdao() {
		return ddao;
	}
	public void setDdao(DepartmentDAO ddao) {
		this.ddao = ddao;
	}
	public UserDAO getFdao() {
		return fdao;
	}
	public void setFdao(UserDAO fdao) {
		this.fdao = fdao;
	}
	public PostDAO getPdao() {
		return pdao;
	}
	public void setPdao(PostDAO pdao) {
		this.pdao = pdao;
	}
	public StaffbasicinfoDAO getSdao() {
		return sdao;
	}
	public void setSdao(StaffbasicinfoDAO sdao) {
		this.sdao = sdao;
	}

}

⌨️ 快捷键说明

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