常熟吴彦祖 3 days ago
parent
commit
8125cd67ae
  1. 8
      src/main/java/com/letian/modules/job/config/ScheduleConfig.java
  2. 7
      src/main/java/com/letian/modules/job/service/impl/ScheduleJobServiceImpl.java
  3. 4
      src/main/java/com/letian/modules/production/service/impl/DailyPlanServiceImpl.java
  4. 6
      src/main/resources/application-prod.yml

8
src/main/java/com/letian/modules/job/config/ScheduleConfig.java

@ -2,6 +2,7 @@
package com.letian.modules.job.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
@ -17,6 +18,9 @@ import java.util.Properties;
@Configuration
public class ScheduleConfig {
@Value("${letian.quartz.enabled:true}")
private boolean quartzEnabled;
@Bean
public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) {
SchedulerFactoryBean factory = new SchedulerFactoryBean();
@ -52,8 +56,8 @@ public class ScheduleConfig {
factory.setApplicationContextSchedulerContextKey("applicationContextKey");
//可选QuartzScheduler 启动时更新己存在的Job这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
factory.setOverwriteExistingJobs(true);
//设置自动启动默认为true
factory.setAutoStartup(true);
//设置自动启动可通过 letian.quartz.enabled 开关控制
factory.setAutoStartup(quartzEnabled);
return factory;
}

7
src/main/java/com/letian/modules/job/service/impl/ScheduleJobServiceImpl.java

@ -16,6 +16,7 @@ import org.apache.commons.lang.StringUtils;
import org.quartz.CronTrigger;
import org.quartz.Scheduler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -27,12 +28,18 @@ import java.util.stream.Collectors;
public class ScheduleJobServiceImpl extends ServiceImpl<ScheduleJobDao, ScheduleJobEntity> implements ScheduleJobService {
@Autowired
private Scheduler scheduler;
@Value("${letian.quartz.enabled:true}")
private boolean quartzEnabled;
/**
* 项目启动时初始化定时器
*/
@PostConstruct
public void init(){
if(!quartzEnabled){
return;
}
List<ScheduleJobEntity> scheduleJobList = this.list();
for(ScheduleJobEntity scheduleJob : scheduleJobList){
CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getJobId());

4
src/main/java/com/letian/modules/production/service/impl/DailyPlanServiceImpl.java

@ -471,7 +471,7 @@ public class DailyPlanServiceImpl implements DailyPlanService {
move.setScheduleQty(moveQty);
move.setFromWarehouseID(fromWh);
move.setToWarehouseID(toWh);
move.setTransDate(ctx.getScheduleDate() != null ? ctx.getScheduleDate() : new Date());
move.setTransDate(new Date());
move.setUserID(username);
move.setReceiver(username);
move.setPartnerID(RM_PARTNER_FIXED);
@ -724,7 +724,7 @@ public class DailyPlanServiceImpl implements DailyPlanService {
params.add(inData.getScheduleQty());
params.add(inData.getFromWarehouseID());
params.add(inData.getToWarehouseID());
params.add(inData.getTransDate());
params.add(DateUtil.getStringDate(inData.getTransDate()));
params.add(inData.getUserID());
params.add(StringUtils.hasText(inData.getReceiver()) ? inData.getReceiver() : "");
params.add(StringUtils.hasText(inData.getPartnerID()) ? inData.getPartnerID() : "*");

6
src/main/resources/application-prod.yml

@ -58,4 +58,8 @@ bartender:
printerName: HP LaserJet Professional M1213nf MFP
dataView: View_Special_order
dataViewColumn: OrderNo
columnMapBartender: ReportID
columnMapBartender: ReportID
letian:
quartz:
enabled: false
Loading…
Cancel
Save