📄 autoweekly.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 + -