/**
*
* 类名称:TimerTask
* 类描述:定时器任务
* 创建人:fsf
* 创建时间:Aug 29, 2017 10:56:27 AM
* @version V1.0
*
*/
@Component
public class TimerTask {
@Autowired
private QuanJuBiaoDao quanJuBiaoDao;
public QuanJuBiaoDao getQuanJuBiaoDao() {
return quanJuBiaoDao;
}
public void setQuanJuBiaoDao(QuanJuBiaoDao quanJuBiaoDao) {
this.quanJuBiaoDao = quanJuBiaoDao;
}
@Autowired
private DataTableDao dataTableDao;
public DataTableDao getDataTableDao() {
return dataTableDao;
}
public void setDataTableDao(DataTableDao dataTableDao) {
this.dataTableDao = dataTableDao;
}
@Autowired
private OutSideClassDao outSideClassDao;
public OutSideClassDao getOutSideClassDao() {
return outSideClassDao;
}
public void setOutSideClassDao(OutSideClassDao outSideClassDao) {
this.outSideClassDao = outSideClassDao;
}
@Autowired
private UserInfoDao userInfoDao;
public UserInfoDao getUserInfoDao() {
return userInfoDao;
}
public void setUserInfoDao(UserInfoDao userInfoDao) {
this.userInfoDao = userInfoDao;
}
@Autowired
private MainUserDao mainUserDao;
public MainUserDao getMainUserDao() {
return mainUserDao;
}
public void setMainUserDao(MainUserDao mainUserDao) {
this.mainUserDao = mainUserDao;
}
@Autowired
private MainClassDao mainClassDao;
public MainClassDao getMainClassDao() {
return mainClassDao;
}
public void setMainClassDao(MainClassDao mainClassDao) {
this.mainClassDao = mainClassDao;
}
@Autowired
private DataChangeDao dataChangeDao;
public DataChangeDao getDataChangeDao() {
return dataChangeDao;
}
public void setDataChangeDao(DataChangeDao dataChangeDao) {
this.dataChangeDao = dataChangeDao;
}
@Autowired
private AvgScoreDao avgScoreDao;
public AvgScoreDao getAvgScoreDao() {
return avgScoreDao;
}
public void setAvgScoreDao(AvgScoreDao avgScoreDao) {
this.avgScoreDao = avgScoreDao;
}
/**
* 每天00点30启动任务 看下面的那个
*/
//@Scheduled(cron = "0 40 10 ? * *")
@Transactional
public void brushData()
{
System.out.println("job1 开始执行..."+new Date()+"执行了");
*//**
*准备工作,将用户表检验一遍,没有的添加过来
* *//*
//1,查询出原数据库所有的用户
List<UserInfo> listuser = userInfoDao.selectAllUserInfo();
//2,对于userinfo进行循环,对比插入自己的数据库
for(UserInfo ui:listuser){
String username = mainUserDao.selectUserNameByIdStuNum(ui.getUser_num());
if(username==null){
MainUser mu = new MainUser();
mu.setCheckState(1);
MainClass mc = mainClassDao.selectClassIdByBianHaoAndYear(ui.getUser_oc_number());
mu.setClassId(mc.getClassId());
mu.setBeginYear(mc.getBeginYear());
mu.setEmail(ui.getUser_email());
mu.setIdNum(ui.getUser_idcard());
mu.setRealName(ui.getUser_realname());//真实名字
mu.setStudentNum(ui.getUser_num());
mu.setUser_privilege(ui.getUser_privilege());
mu.setUser_type(ui.getUser_type());
mu.setUserName(ui.getUser_name());//用户名
mu.setUserPwd("123456");
if(ui.getUser_sex().equals("1")){
mu.setUserSex("男");
}else{
mu.setUserSex("女");
}
mainUserDao.insertMainUser(mu);
}
}
*//**
* 准备工作一,先检测班级,检测班级是否存在
* *//*
//1,查询刷过来的数据里面所有的班级
List<OutSideClass> listoc =outSideClassDao.selectAllOutSideClass();
//2,将班级进行循环对比
for(OutSideClass oc:listoc){
String classname= mainClassDao.selectClassNameByBianHao(oc.getOc_number());
if(classname==null){
MainClass mc = new MainClass();
mc.setBeginYear(oc.getOc_year());
mc.setClassName(oc.getOc_name());
mc.setClassNumber(oc.getOc_number());
mc.setRegTime(oc.getOc_begintime());
//根据原来的用户id查询用户名称
String user_num = userInfoDao.selectUserStuNumByUserId(oc.getOc_teacher_id());
//根据用户的工号查询用户当前的Id
long teacherId = mainUserDao.selectUserIdByStuNum(user_num);
mc.setTeacherId(teacherId);
mc.setClassManagerId(teacherId);
//如果为null,封装之后进行添加
mainClassDao.insertMainClass(mc);
}
}
*//**
* 第一步查询上次的刷新时间发生的时间
* *//*
String shuaxinshijian=quanJuBiaoDao.selectValueByKey("shuaxinshijian");
*//**
* 第二步查询出上此刷新之后的数据集合
* *//*
List<DataTable> list = dataTableDao.selectAllDataTableByDate(shuaxinshijian);
*//**
* 第三部整理出集合,调用时间的存储过程
* *//*
for(DataTable dt:list){
Integer integer=1;
Double changeValue =dt.getDt_grade();//此次改变的分值
long userId =dt.getDt_user_id();//用户的id
String classId =dt.getDt_oc_id();
String changReasondTitle ="";//变更原因标题
String propertyName =dt.getDt_event_name();//变更的三级属性名称
if(propertyName.equals("爱劳动")){}else{
String changReasondes="";//变更原因描述
String path = "";//图片的路径
//根据三级属性调用
XmlItem xi=XmlData.getMe().getByName(propertyName);
long propertyValue =xi.getId();//添加的三级属性的id
System.out.println(propertyValue);
long changeSencondItemID=xi.getXmlItemParent().getId();//二级属性的id
//根据二级属性调用
XmlItem sencondxi=XmlData.getMe().getById(changeSencondItemID);
//查询一级属性的id
long changeFirstItemID=sencondxi.getXmlItemParent().getId();
//根据班级id查询出班级的开始年份
String oc_year=outSideClassDao.selectYearById(dt.getDt_oc_id());
if(oc_year!=null){
long termID =TermUtil.getMe(oc_year);//班级开始年份
if(termID<=6){
Map<String, Object> parms = new HashMap<String, Object>();
//用户id
parms.put("userIDParam", Long.valueOf(userId));
//班级id
parms.put("classIDParam", Long.valueOf(classId));
//学期
parms.put("termIDParam", termID);
//变更一级属性id
parms.put("firstFiveDataIDParam", changeFirstItemID);
//变更的一级属性成绩
parms.put("firstFiveDataDefaultValueParam", changeValue);
//变更的二级属性id
parms.put("secondDataIDParam", changeSencondItemID);
//二级属性的成绩变化量
parms.put("secondDefaultValueParam", changeValue);
//变更的3级属性id
parms.put("thirdDataIDParam", propertyValue);
//3级属性的分数变化量
parms.put("changeValueParam", changeValue);
//数据来源于哪个系统
parms.put("changeSourceParam", dt.getDt_system());
parms.put("checkStateParam", 0);//0是审核通过,1是未审核
//标题头
parms.put("changReasondTitleParam", changReasondTitle);
//描述
parms.put("changReasondesParam",changReasondes);
//返回值
parms.put("retValue", integer);
//返回值
parms.put("retChangeID",Long.valueOf(userId));
parms.put("changePic1Param", path);
parms.put("changePic2Param", path);
parms.put("changePic3Param", path);
parms.put("changePic4Param", path);
parms.put("changePic5Param", path);
}
}
}
}
//for循环执行完之后,查询出数据库时间最大的一条数据,修改全局表的查询时间
List<String> maxDate = dataTableDao.selectMaxDate();
quanJuBiaoDao.updateValueByKey(maxDate.get(0));
}