http://www.blogjava.net/maguangjun/articles/244030.html
package com.strongit.zwjc.infopush.vo;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import com.strongit.zwjc.common.dao.BaseDAO;
import com.strongit.zwjc.infopush.po.Afficheinfo;
import com.strongit.zwjc.infopush.po.InfopushDocClass;
import com.strongit.zwjc.infopush.po.Performance;
import com.strongit.zwjc.util.TimeKit1;
/**
* 定一个定时查询的类
*/
public class ScheduledTimer {
/**
* 定时运行的方法
*/
private BaseDAO baseDaoImpl;
@SuppressWarnings({ "unchecked", "deprecation" })
public void startRun() throws Exception {
// 第一,查询类型表中的规则
Calendar now = Calendar.getInstance();
@SuppressWarnings("unused")
int nowDay = now.get(Calendar.DAY_OF_MONTH);
int nowMonth = now.get(Calendar.MONTH) + 1;
List<InfopushDocClass> InfopushClassList = this.baseDaoImpl
.findAll(InfopushDocClass.class);
String docPushRule = "monthly:15";
@SuppressWarnings("unused")
String monthly = "";
String strDay = "";
int intDay = 0;
String classId = "";
String className = "" ;
String orgId = "";
String orgName = "orgName" ;
//InfopushDoc infopushDoc = null;
List infopushDocList = null ;
Performance performance = null ;
Afficheinfo afficheinfo = null ;
String strSfficheinfo = "" ;
List<Performance> performanceList = null ;
Date performanceDate = TimeKit1.getDateByString(TimeKit1.now("short"));
for (InfopushDocClass infopushDocClass : InfopushClassList) {
docPushRule = infopushDocClass.getDocPushRule();
classId = infopushDocClass.getClassId();
orgId = infopushDocClass.getOrgId();
monthly = docPushRule.split(":")[0];
strDay = docPushRule.split(":")[1];
intDay = Integer.parseInt(strDay);
//此方法只能适应与 月报
if (nowDay == intDay) {
infopushDocList = this.baseDaoImpl
.findAll("FROM InfopushDoc idoc where idoc.infopushDocClass.classId='"
+ classId
+ "' and idoc.orgId = '"
+ orgId
+ "'");
int totalsize = infopushDocList.size() ;
performanceList = this.baseDaoImpl.findAll(Performance.class);
if(totalsize>0){
boolean flag = false ;
for(Performance performance2:performanceList){
int performanceMonth = performance2.getPerformanceDate().getMonth()+1 ;
if(nowMonth==performanceMonth){
flag = true ;
break ;
}
}
if(flag){
}else{
// 有数据 加分
className = infopushDocClass.getClassName() ;
orgName = infopushDocClass.getOrgName() ;
performance = new Performance() ;
performance.setClassId(classId);
performance.setOrgId(orgId);
performance.setOrgName(orgName);
performance.setClassName(className);
performance.setPerformanceDate(performanceDate);
performance.setScore(Long.valueOf("1"));
this.baseDaoImpl.insert(performance);
}
}else{
boolean flag = false ;
for(Performance performance2:performanceList){
int performanceMonth = performance2.getPerformanceDate().getMonth()+1 ;
if(nowMonth==performanceMonth){
flag = true ;
break ;
}
}
if(flag){
}else{
// 没有数据 为0分,并且通报
orgName = infopushDocClass.getOrgName() ;
className = infopushDocClass.getClassName() ;
performance = new Performance() ;
performance.setClassId(classId);
performance.setClassName(className);
performance.setOrgId(orgId);
performance.setOrgName(orgName);
performance.setPerformanceDate(performanceDate);
performance.setScore(Long.valueOf("0"));
this.baseDaoImpl.insert(performance);
className = infopushDocClass.getClassName() ;
afficheinfo = new Afficheinfo() ;
afficheinfo.setClassId(classId);
afficheinfo.setOrgId(orgId);
afficheinfo.setAfficheinfoDate(performanceDate);
strSfficheinfo = "【"+TimeKit1.getNowDate()+"】【"+orgName+"】未推送【"+className+"】分类文献信息" ;
afficheinfo.setAfficheInfo(strSfficheinfo);
afficheinfo.setClassName(className);
afficheinfo.setOrgName(orgName);
this.baseDaoImpl.insert(afficheinfo);
}
}
}
}
System.out.println("成功插入!!");
}
public BaseDAO getBaseDaoImpl() {
return baseDaoImpl;
}
public void setBaseDaoImpl(BaseDAO baseDaoImpl) {
this.baseDaoImpl = baseDaoImpl;
}
}
applicationContext-infopush-timer.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 定时运行的类 -->
<bean id="scheduledTimer"
class="com.strongit.zwjc.infopush.vo.ScheduledTimer">
<property name="baseDaoImpl">
<ref bean="baseDAO" />
</property>
</bean>
<!--定义定时执行ScheduledTimer类中 的startRun()方法-->
<bean id="scheduledTask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="scheduledTimer" />
</property>
<property name="targetMethod">
<value>startRun</value>
</property>
</bean>
<!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。
这里我们定义了要触发的jobDetail,即触发器去触发哪个bean..并且我们还定义了触发的时间-->
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="scheduledTask" />
</property>
<property name="cronExpression">
<!-- 关键在配置此表达式 每天中午12点钟整触发事件-->
<value>0 0 12 * * ?</value>
</property>
</bean>
<!--管理触发器的总设置,可以放置多个触发器。-->
<bean autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>
</beans>
分享到:
相关推荐
base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz
单片机C语言Proteus仿真实例利用定时器产生乐曲提取方式是百度网盘分享地址
单片机C语言Proteus仿真实例用定时器设计的门铃提取方式是百度网盘分享地址
`atguigu_springboot2_zz-master`项目涵盖了SpringBoot2的多个关键知识点,从基础的自动配置、内嵌服务器到高级的Spring Data JPA、安全控制和云原生特性,为开发者提供了一个全面了解和实践SpringBoot2的实例。...
华为企业架构设计方法及实例 zz.pptx
在讨论Spring AOP(面向切面编程)时,首先需要理解几个核心概念。Spring AOP 是Spring框架提供的一个功能模块,它允许开发者将横切关注点(cross-cutting concerns)从业务逻辑中解耦出来,通过在方法调用前后进行...
在Spring框架中,Objenesis用于AOP代理的创建,特别是在CGLIB中,当需要创建一个实例而没有合适的构造函数时,Objenesis可以帮助快速实例化对象。Objenesis通过一些优化的技术,可以避免调用默认构造器,从而提高...
《PHP实例开发:zZ笨笨 PHP留言板程序详解》 PHP作为一款强大的服务器端脚本语言,被广泛应用于Web开发领域。在这个实例中,我们将会深入解析“zZ笨笨 PHP留言板程序”的实现原理和核心功能,以帮助初学者更好地...
Spring框架是Java开发中的核心组件,它以其模块化、松耦合的设计理念,极大地简化了企业级应用的构建。Spring3.0是该框架的一个重要版本,它引入了许多新特性和改进,为开发者提供了更强大的功能和更好的灵活性。在...
ZZ561401.CAB ZZ561401.CAB ZZ561401.CAB
wincc SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 从面市伊始,用户就对SIMATIC WinCC印象深刻。
在CAD中想要快速测量长度,在CAD工具栏找到加载应用程序,再点击加载 加载成功后在输入栏输入“zz”(不分大小写)在选择你需要测量的线段即可。
SSM框架是Java Web开发中常用的一种组合,由Spring MVC、Spring和Mybatis三个组件构成,用于构建高效、灵活的Web应用。这个基于SSM的客户关系管理系统(CRM)毕业设计,利用了Maven进行项目构建,确保了依赖管理的便捷...
我们研究了四轻子最终状态ℓ+ℓ-ℓ+ℓ-的产生,这些状态主要由一对弱电Z玻色子ZZ产生。 使用LoopSim方法,我们合并ZZ和ZZ + jet的NLO QCD结果,并获得ZZ产生的近似NNLO预测。 还包括对ZZ过程的精确胶子融合环平方的...
Spring Security是Java领域中一款广泛使用的安全框架,它为基于Spring的应用程序提供了全面的安全服务。Spring Security手册和参考文档是开发者深入理解并有效利用该框架的重要资源。下面将详细阐述Spring Security...
《Spring Framework 4.0.4.RELEASE:构建高效Web应用的基石》 Spring Framework作为Java领域中的一个里程碑,以其强大的功能和灵活的设计,成为Web开发领域的首选框架。4.0.4.RELEASE版本是Spring的重要里程碑,它...
总的来说,《zz809.com留言本》不仅是一个实际的网络应用,也是学习Web开发,尤其是PHP或相关技术的一个实例教程。对于初学者而言,这是一个宝贵的资源,可以帮助他们在实践中提高技能;对于有经验的开发者,它则...
#### 五、实例代码解析 下面是一个简单的控制LED闪烁的C语言示例代码: ```c #include unsigned char count = 0; void main(void) { TMOD = 0x01; // 定时器T0,工作模式1 TH0 = (65536 - 50000) / 256; TL0...
2. **配置Struts**:在Struts的配置文件中,将Action类设置为Spring管理的Bean,这样Struts在调用Action时会从Spring容器中获取实例。 3. **配置Hibernate**:配置Hibernate的SessionFactory,并在Spring配置文件中...
#### Proteus仿真实例 1. **搭建电路模型**: - 使用Proteus提供的5152单片机模型和其他必要的元件(如电阻、电容等)搭建一个基本的测试电路。 - 将单片机的输出引脚连接到示波器或其他显示设备上,以便观察输出...