|
@@ -27,27 +27,33 @@ import java.util.concurrent.FutureTask;
|
|
|
@DisallowConcurrentExecution
|
|
|
public class OnsiteTaskJob implements Job {
|
|
|
private static Logger log = LoggerFactory.getLogger(OnsiteTaskJob.class);
|
|
|
+
|
|
|
@Override
|
|
|
public void execute(JobExecutionContext context) throws JobExecutionException {
|
|
|
- ConcurrentMap<String,Object> paramMap=(ConcurrentMap<String,Object>)context.getJobDetail().getJobDataMap().get(QuartzManager.JOB_PARAM_NAME);
|
|
|
- createTask(paramMap);// 执行任务
|
|
|
+ ConcurrentMap<String, Object> paramMap = (ConcurrentMap<String, Object>) context.getJobDetail().getJobDataMap().get(QuartzManager.JOB_PARAM_NAME);
|
|
|
+ try {
|
|
|
+ createTask(paramMap);// 执行任务
|
|
|
+ } catch (Throwable e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建Task主方法
|
|
|
+ *
|
|
|
* @param paramMap
|
|
|
*/
|
|
|
- public void createTask(ConcurrentMap<String,Object> paramMap) {
|
|
|
- Integer result=0;//没什么意义只是为了不出现整体并行
|
|
|
- List< FutureTask<Integer>> tasks=new ArrayList<>();
|
|
|
- tasks.add( getDayFutureTask(paramMap));
|
|
|
- tasks.add( getWeekFutureTask(paramMap));
|
|
|
- tasks.add( getMonthFutureTask(paramMap));
|
|
|
- try{
|
|
|
- for(FutureTask<Integer> t:tasks){
|
|
|
+ public void createTask(ConcurrentMap<String, Object> paramMap) {
|
|
|
+ Integer result = 0;//没什么意义只是为了不出现整体并行
|
|
|
+ List<FutureTask<Integer>> tasks = new ArrayList<>();
|
|
|
+ tasks.add(getDayFutureTask(paramMap));
|
|
|
+ tasks.add(getWeekFutureTask(paramMap));
|
|
|
+ tasks.add(getMonthFutureTask(paramMap));
|
|
|
+ try {
|
|
|
+ for (FutureTask<Integer> t : tasks) {
|
|
|
t.get();
|
|
|
}//等等所有线程结束
|
|
|
- }catch (Throwable e){
|
|
|
+ } catch (Throwable e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
@@ -55,13 +61,14 @@ public class OnsiteTaskJob implements Job {
|
|
|
|
|
|
/**
|
|
|
* day
|
|
|
+ *
|
|
|
* @param paramMap
|
|
|
* @return
|
|
|
*/
|
|
|
private FutureTask<Integer> getDayFutureTask(ConcurrentMap<String, Object> paramMap) {
|
|
|
HashMap param = new HashMap();
|
|
|
- param.put("type_flag",0);
|
|
|
- FutureTask<Integer> dayTask = new FutureTask<Integer>(new addTask(paramMap,param));
|
|
|
+ param.put("type_flag", 0);
|
|
|
+ FutureTask<Integer> dayTask = new FutureTask<Integer>(new addTask(paramMap, param));
|
|
|
Thread thread = new Thread(dayTask);
|
|
|
thread.start(); //开启线程
|
|
|
return dayTask;
|
|
@@ -69,14 +76,15 @@ public class OnsiteTaskJob implements Job {
|
|
|
|
|
|
/**
|
|
|
* week
|
|
|
+ *
|
|
|
* @param paramMap
|
|
|
* @return
|
|
|
*/
|
|
|
private FutureTask<Integer> getWeekFutureTask(ConcurrentMap<String, Object> paramMap) {
|
|
|
HashMap param = new HashMap();
|
|
|
- param.put("type_flag",1);
|
|
|
- param.put("week_day",CommonUtil.getWeekOfDate(new Date()));
|
|
|
- FutureTask<Integer> weekTask = new FutureTask<Integer>(new addTask(paramMap,param));
|
|
|
+ param.put("type_flag", 1);
|
|
|
+ param.put("week_day", CommonUtil.getWeekOfDate(new Date()));
|
|
|
+ FutureTask<Integer> weekTask = new FutureTask<Integer>(new addTask(paramMap, param));
|
|
|
Thread thread = new Thread(weekTask);
|
|
|
thread.start(); //开启线程
|
|
|
return weekTask;
|
|
@@ -84,47 +92,47 @@ public class OnsiteTaskJob implements Job {
|
|
|
|
|
|
/**
|
|
|
* month
|
|
|
+ *
|
|
|
* @param paramMap
|
|
|
* @return
|
|
|
*/
|
|
|
private FutureTask<Integer> getMonthFutureTask(ConcurrentMap<String, Object> paramMap) {
|
|
|
HashMap param = new HashMap();
|
|
|
- param.put("type_flag",2);
|
|
|
- param.put("month_day",CommonUtil.getMonthOfDate(new Date()));
|
|
|
- FutureTask<Integer> monthTask = new FutureTask<Integer>(new addTask(paramMap,param));
|
|
|
+ param.put("type_flag", 2);
|
|
|
+ param.put("month_day", CommonUtil.getMonthOfDate(new Date()));
|
|
|
+ FutureTask<Integer> monthTask = new FutureTask<Integer>(new addTask(paramMap, param));
|
|
|
Thread thread = new Thread(monthTask);
|
|
|
thread.start(); //开启线程
|
|
|
return monthTask;
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 生产任务
|
|
|
*/
|
|
|
- public class addTask implements Callable<Integer> {
|
|
|
+ public class addTask implements Callable<Integer> {
|
|
|
|
|
|
private ConcurrentMap<String, Object> paramMap;
|
|
|
private HashMap paramQuery;
|
|
|
|
|
|
|
|
|
- public addTask(ConcurrentMap<String, Object> paramMap,HashMap paramQuery) {
|
|
|
+ public addTask(ConcurrentMap<String, Object> paramMap, HashMap paramQuery) {
|
|
|
this.paramMap = paramMap;
|
|
|
- this.paramQuery= paramQuery;
|
|
|
+ this.paramQuery = paramQuery;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Integer call() throws Exception {
|
|
|
- OnsiteTaskService onsiteTaskService=(OnsiteTaskService)paramMap.get("onsiteTaskService");
|
|
|
- String td= CommonUtil.getDateStr(new Date(),"yyyy-MM-dd");
|
|
|
- List<OnsiteCalendar> cals=onsiteTaskService.getCalenderOnsitesForType(paramQuery);
|
|
|
- for(OnsiteCalendar cal:cals){
|
|
|
- try{
|
|
|
- OnsiteTask task=new OnsiteTask();
|
|
|
+ OnsiteTaskService onsiteTaskService = (OnsiteTaskService) paramMap.get("onsiteTaskService");
|
|
|
+ String td = CommonUtil.getDateStr(new Date(), "yyyy-MM-dd");
|
|
|
+ List<OnsiteCalendar> cals = onsiteTaskService.getCalenderOnsitesForType(paramQuery);
|
|
|
+ for (OnsiteCalendar cal : cals) {
|
|
|
+ try {
|
|
|
+ OnsiteTask task = new OnsiteTask();
|
|
|
task.setTask_time(td);
|
|
|
task.setOnsite_calendar_id(cal.getId());
|
|
|
onsiteTaskService.insertOnsiteTask(task);
|
|
|
- }catch (Throwable e){
|
|
|
+ } catch (Throwable e) {
|
|
|
log.error(e.getStackTrace().toString());
|
|
|
}
|
|
|
|
|
@@ -134,5 +142,4 @@ public class OnsiteTaskJob implements Job {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
}
|