常熟吴彦祖 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; package com.letian.modules.job.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.SchedulerFactoryBean; import org.springframework.scheduling.quartz.SchedulerFactoryBean;
@ -17,6 +18,9 @@ import java.util.Properties;
@Configuration @Configuration
public class ScheduleConfig { public class ScheduleConfig {
@Value("${letian.quartz.enabled:true}")
private boolean quartzEnabled;
@Bean @Bean
public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) { public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) {
SchedulerFactoryBean factory = new SchedulerFactoryBean(); SchedulerFactoryBean factory = new SchedulerFactoryBean();
@ -52,8 +56,8 @@ public class ScheduleConfig {
factory.setApplicationContextSchedulerContextKey("applicationContextKey"); factory.setApplicationContextSchedulerContextKey("applicationContextKey");
//可选QuartzScheduler 启动时更新己存在的Job这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 //可选QuartzScheduler 启动时更新己存在的Job这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
factory.setOverwriteExistingJobs(true); factory.setOverwriteExistingJobs(true);
//设置自动启动默认为true
factory.setAutoStartup(true);
//设置自动启动可通过 letian.quartz.enabled 开关控制
factory.setAutoStartup(quartzEnabled);
return factory; 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.CronTrigger;
import org.quartz.Scheduler; import org.quartz.Scheduler;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -27,12 +28,18 @@ import java.util.stream.Collectors;
public class ScheduleJobServiceImpl extends ServiceImpl<ScheduleJobDao, ScheduleJobEntity> implements ScheduleJobService { public class ScheduleJobServiceImpl extends ServiceImpl<ScheduleJobDao, ScheduleJobEntity> implements ScheduleJobService {
@Autowired @Autowired
private Scheduler scheduler; private Scheduler scheduler;
@Value("${letian.quartz.enabled:true}")
private boolean quartzEnabled;
/** /**
* 项目启动时初始化定时器 * 项目启动时初始化定时器
*/ */
@PostConstruct @PostConstruct
public void init(){ public void init(){
if(!quartzEnabled){
return;
}
List<ScheduleJobEntity> scheduleJobList = this.list(); List<ScheduleJobEntity> scheduleJobList = this.list();
for(ScheduleJobEntity scheduleJob : scheduleJobList){ for(ScheduleJobEntity scheduleJob : scheduleJobList){
CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getJobId()); 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.setScheduleQty(moveQty);
move.setFromWarehouseID(fromWh); move.setFromWarehouseID(fromWh);
move.setToWarehouseID(toWh); move.setToWarehouseID(toWh);
move.setTransDate(ctx.getScheduleDate() != null ? ctx.getScheduleDate() : new Date());
move.setTransDate(new Date());
move.setUserID(username); move.setUserID(username);
move.setReceiver(username); move.setReceiver(username);
move.setPartnerID(RM_PARTNER_FIXED); move.setPartnerID(RM_PARTNER_FIXED);
@ -724,7 +724,7 @@ public class DailyPlanServiceImpl implements DailyPlanService {
params.add(inData.getScheduleQty()); params.add(inData.getScheduleQty());
params.add(inData.getFromWarehouseID()); params.add(inData.getFromWarehouseID());
params.add(inData.getToWarehouseID()); params.add(inData.getToWarehouseID());
params.add(inData.getTransDate());
params.add(DateUtil.getStringDate(inData.getTransDate()));
params.add(inData.getUserID()); params.add(inData.getUserID());
params.add(StringUtils.hasText(inData.getReceiver()) ? inData.getReceiver() : ""); params.add(StringUtils.hasText(inData.getReceiver()) ? inData.getReceiver() : "");
params.add(StringUtils.hasText(inData.getPartnerID()) ? inData.getPartnerID() : "*"); 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 printerName: HP LaserJet Professional M1213nf MFP
dataView: View_Special_order dataView: View_Special_order
dataViewColumn: OrderNo dataViewColumn: OrderNo
columnMapBartender: ReportID
columnMapBartender: ReportID
letian:
quartz:
enabled: false
Loading…
Cancel
Save