Commit 93ae5954 authored by xinglei's avatar xinglei

*)修改重做计划逻辑,不更新next_gen_date字段

parent 5958c8d6
......@@ -2,32 +2,18 @@ package com.yeejoin.amos.patrol.service.business.service.impl;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import com.yeejoin.amos.patrol.common.core.request.CommonPageable;
import com.yeejoin.amos.patrol.common.core.response.AppCheckInputRespone;
import com.yeejoin.amos.patrol.common.core.response.AppPointCheckRespone;
import com.yeejoin.amos.patrol.common.core.response.bo.DepartmentBo;
import com.yeejoin.amos.patrol.common.entity.Check;
import com.yeejoin.amos.patrol.common.entity.CommonResponse;
import com.yeejoin.amos.patrol.common.entity.CommonResponseUtil;
import com.yeejoin.amos.patrol.common.entity.Plan;
import com.yeejoin.amos.patrol.common.entity.PlanTask;
import com.yeejoin.amos.patrol.common.entity.PlanTaskDetail;
import com.yeejoin.amos.patrol.common.entity.UserModel;
import com.yeejoin.amos.patrol.common.enums.PlanTypeEnum;
import com.yeejoin.amos.patrol.common.entity.*;
import com.yeejoin.amos.patrol.service.business.bo.patrol.CheckChkExListBo;
import com.yeejoin.amos.patrol.service.business.bo.patrol.PointCheckDetailBo;
import com.yeejoin.amos.patrol.service.business.dao.mapper.PlanMapper;
import com.yeejoin.amos.patrol.service.business.dao.mapper.PlanTaskDetailMapper;
import com.yeejoin.amos.patrol.service.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.patrol.service.business.dao.repository.ICheckDao;
import com.yeejoin.amos.patrol.service.business.dao.repository.IPlanDao;
import com.yeejoin.amos.patrol.service.business.dao.repository.IPlanTaskDao;
import com.yeejoin.amos.patrol.service.business.dao.repository.IPlanTaskDetailDao;
import com.yeejoin.amos.patrol.service.business.dao.repository.IRoutePointDao;
import com.yeejoin.amos.patrol.service.business.dao.repository.*;
import com.yeejoin.amos.patrol.service.business.param.CheckPtListPageParam;
import com.yeejoin.amos.patrol.service.business.param.PlanTaskPageParam;
import com.yeejoin.amos.patrol.service.business.service.intfc.ICheckService;
......@@ -41,34 +27,21 @@ import com.yeejoin.amos.patrol.service.constants.XJConstant;
import com.yeejoin.amos.patrol.service.core.util.DateUtil;
import com.yeejoin.amos.patrol.service.core.util.StringUtil;
import com.yeejoin.amos.patrol.service.exception.YeeException;
import com.yeejoin.amos.patrol.service.framework.ReginParams;
import com.yeejoin.amos.patrol.service.quartz.IJobService;
import com.yeejoin.amos.patrol.service.remote.RemoteSecurityService;
//import com.yeejoin.amos.security.common.model.UserModel;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import static com.yeejoin.amos.patrol.service.constants.XJConstant.*;
......@@ -208,9 +181,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
reformStatisticsPlanTask(strBginDate, strEndDate, plan.getUserId(), plan.getOrgCode());
//8、重新更新nextGenDate字段
plan.setNextGenDate(getNextDataByPlan(plan));
iplanDao.saveAndFlush(plan);
}
......@@ -427,6 +397,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
* @param plan
* @param flag 是否初始状态0-初始 1-非初始
*/
@Transactional
public void insertPlanTaskAndDet(List<HashMap<String, Object>> list, Plan plan, String flag, Date now) {
if (list == null || list.size() <= 0) {
return;
......@@ -436,6 +407,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
List<Long> pointIdList = iRoutePointDao.queryRoutePointIds(plan.getRouteId());
int pointNum = iRoutePointDao.countRoutePoint(plan.getRouteId());
long batchNo = now.getTime();
List<PlanTask> planTaskList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
PlanTask planTask = new PlanTask();
planTask.setOrgCode(plan.getOrgCode());
......@@ -480,6 +452,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
planTask.setEndTime(endTime);
// 1.保存执行数据主表
iplanTaskDao.saveAndFlush(planTask);
long planId = planTask.getId();
String executorId = planTask.getUserId();
for (int i1 = 0; i1 < pointIdList.size(); i1++) {
......@@ -498,8 +471,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
// 2.保存执行数据明细表
planTaskDetail.saveAndFlush(planTaskDetailInstance);
}
// 定时任务监控
jobService.planTaskAddJob(planTask);
planTaskList.add(planTask);
}
// 3.如果为自动任务调用,则更新id,如果重做或且下次时间大于等于明天,则更新planTaskId到plan表
Date genDate = DateUtil.str2Date(list.get(list.size() - 1).get("NEXT_GEN_DATE").toString(), "yyyy-MM-dd");//下次生成日期
......@@ -518,6 +490,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
paramMap.put("first_flag", XJConstant.PLAN_FIRST_STATUS_NO);
planMapper.updPlanStatusOrGenDate(paramMap);
}
// 定时任务监控
planTaskList.forEach(planTask -> jobService.planTaskAddJob(planTask));
} catch (Exception e) {
log.error(e.getMessage(), e);
}
......@@ -832,28 +806,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
/**
* 根据计划获取下一次执行时间
*
* @param plan
* @return
*/
private Date getNextDataByPlan(Plan plan) {
Date date = DateUtil.format();
switch (plan.getPlanType()) {
case "1":
date = DateUtil.getPreviousDate(DateUtil.getDateByNumber(date, plan.getExecuteInterval()));
break;
case "2":
date = DateUtil.getPreviousDate(DateUtil.getDateByWeek(date, plan.getExecuteInterval()));
break;
case "3":
date = DateUtil.getPreviousDate(DateUtil.getDateByMonth(date, plan.getExecuteInterval()));
break;
}
return date;
}
/**
* 设置显示颜色
*
* @return
......
......@@ -590,29 +590,21 @@ public class DateUtil {
return cal.getTime();
}
public static Date getDateByWeek(Date date, Integer dayNumber) {
public static Date getDateByWeek() {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.WEEK_OF_YEAR, dayNumber);
return cal.getTime();
}
public static Date getDateByMonth(Date date, Integer dayNumber) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH, dayNumber);
cal.setTime(format());
int dayWeek = cal.get(Calendar.DAY_OF_WEEK)-1;
if(dayWeek==0){
dayWeek = 7;
}
cal.add(Calendar.DATE , -dayWeek + 7);
return cal.getTime();
}
/**
* 返回传入日期前一天
* @param date
* @return
*/
public static Date getPreviousDate(Date date){
public static Date getDateByMonth() {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, -1);
cal.setTime(format());
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
return cal.getTime();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment