Commit 38a2f6c3 authored by tianyiming's avatar tianyiming

更新索引--涉及任务下发、定时器修改、任务执行

parent fb6e4b32
...@@ -263,4 +263,6 @@ public interface PlanTaskMapper extends BaseMapper { ...@@ -263,4 +263,6 @@ public interface PlanTaskMapper extends BaseMapper {
void insertAll(String table,StaticDay item); void insertAll(String table,StaticDay item);
int deleteDate(String table); int deleteDate(String table);
Long selectRoutId(String id);
} }
...@@ -46,6 +46,7 @@ import com.yeejoin.amos.patrol.dao.entity.*; ...@@ -46,6 +46,7 @@ import com.yeejoin.amos.patrol.dao.entity.*;
import com.yeejoin.amos.patrol.exception.YeeException; import com.yeejoin.amos.patrol.exception.YeeException;
import com.yeejoin.amos.patrol.feign.RemoteSecurityService; import com.yeejoin.amos.patrol.feign.RemoteSecurityService;
import com.yeejoin.amos.patrol.quartz.IJobService; import com.yeejoin.amos.patrol.quartz.IJobService;
import liquibase.pro.packaged.S;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.compress.utils.Lists; import org.apache.commons.compress.utils.Lists;
import org.apache.commons.compress.utils.Sets; import org.apache.commons.compress.utils.Sets;
...@@ -943,8 +944,12 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -943,8 +944,12 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
// repositoryTs.batchSave(taskList); // repositoryTs.batchSave(taskList);
Iterable<PlanTaskDetail> planTaskDetails = repositoryTs.batchSave(planTaskDetailListSync); // 定时任务监控
log.error("计划重做开始添加定时任务监控========");
jobService.planTaskAddJob(planTask);
Iterable<PlanTaskDetail> planTaskDetails = repositoryTs.batchSave(planTaskDetailListSync);
Long routId = planTaskMapper.selectRoutId(String.valueOf(planTask.getId()));
List<PlanTaskDetail> planTaskDetailList = new ArrayList<>(); List<PlanTaskDetail> planTaskDetailList = new ArrayList<>();
planTaskDetails.forEach(single ->planTaskDetailList.add(single)); planTaskDetails.forEach(single ->planTaskDetailList.add(single));
for (PlanTaskDetail taskDetail : planTaskDetailList) { for (PlanTaskDetail taskDetail : planTaskDetailList) {
...@@ -952,6 +957,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -952,6 +957,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
taskDetail.setName(point.getName()); taskDetail.setName(point.getName());
taskDetail.setPointNo(point.getPointNo()); taskDetail.setPointNo(point.getPointNo());
AppPointCheckRespone appPointCheckRespone = planService.queryPointPlanTaskDetail(null, null, null, taskDetail.getTaskNo(), taskDetail.getPointId()); AppPointCheckRespone appPointCheckRespone = planService.queryPointPlanTaskDetail(null, null, null, taskDetail.getTaskNo(), taskDetail.getPointId());
JSONObject jsonObject = jobService.getCheckInput(routId, taskDetail.getPointId());
appPointCheckRespone.setAppCheckInput(jsonObject);
ESTaskDetailDto esTaskDetailDto = JSONObject.parseObject(toJSONString(appPointCheckRespone), ESTaskDetailDto esTaskDetailDto = JSONObject.parseObject(toJSONString(appPointCheckRespone),
ESTaskDetailDto.class); ESTaskDetailDto.class);
esTaskDetail.save(esTaskDetailDto); esTaskDetail.save(esTaskDetailDto);
...@@ -967,9 +974,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -967,9 +974,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(task.get("taskPlanNum")) ? "0" : task.get("taskPlanNum").toString()); esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(task.get("taskPlanNum")) ? "0" : task.get("taskPlanNum").toString());
} }
saveEsPlanTaskList(esPlanTaskListDtos, oldEsPlanTaskListDtos); saveEsPlanTaskList(esPlanTaskListDtos, oldEsPlanTaskListDtos);
// 定时任务监控
log.error("计划重做开始添加定时任务监控========");
jobService.planTaskAddJob(planTask);
// 3.如果为自动任务调用,则更新id,如果重做或且下次时间大于等于明天,则更新planTaskId到plan表 // 3.如果为自动任务调用,则更新id,如果重做或且下次时间大于等于明天,则更新planTaskId到plan表
...@@ -1299,14 +1303,20 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -1299,14 +1303,20 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
planTask.setRiskStatus(XJConstant.NORISK_NUM); planTask.setRiskStatus(XJConstant.NORISK_NUM);
} }
iplanTaskDao.saveAndFlush(planTask); iplanTaskDao.saveAndFlush(planTask);
// 生成巡检记录
jobService.createCheckRecord(planTask, userId);
List<PlanTaskDetail> planTaskDetails = iPlanTaskDetailDao.findAllByTaskNoAndStatus(planTask.getId(), PlanTaskDetailStatusEnum.NOTSTARTED.getValue()); List<PlanTaskDetail> planTaskDetails = iPlanTaskDetailDao.findAllByTaskNoAndStatus(planTask.getId(), PlanTaskDetailStatusEnum.NOTSTARTED.getValue());
if (!planTaskDetails.isEmpty()) { if (!planTaskDetails.isEmpty()) {
Long routId = planTaskMapper.selectRoutId(id);
planTaskDetails = planTaskDetails.stream().map(action -> { planTaskDetails = planTaskDetails.stream().map(action -> {
action.setStatus(PlanTaskDetailStatusEnum.QUALIFIED.getValue()); action.setStatus(PlanTaskDetailStatusEnum.QUALIFIED.getValue());
iPlanTaskDetailDao.saveAndFlush(action); iPlanTaskDetailDao.saveAndFlush(action);
planTaskDetailMapper.finishTaskDetail(action.getId(), action.getPointId(), planTaskDetailMapper.finishTaskDetail(action.getId(), action.getPointId(),
action.getPlanTask().getId(), userId); action.getPlanTask().getId(), userId);
AppPointCheckRespone appPointCheckRespone = planService.queryPointPlanTaskDetail(null, null, null, action.getTaskNo(), action.getPointId()); AppPointCheckRespone appPointCheckRespone = planService.queryPointPlanTaskDetail(null, null, null, action.getTaskNo(), action.getPointId());
JSONObject jsonObject = jobService.getCheckInput(routId, action.getPointId());
appPointCheckRespone.setAppCheckInput(jsonObject);
ESTaskDetailDto esTaskDetailDto = JSONObject.parseObject(toJSONString(appPointCheckRespone), ESTaskDetailDto esTaskDetailDto = JSONObject.parseObject(toJSONString(appPointCheckRespone),
ESTaskDetailDto.class); ESTaskDetailDto.class);
esTaskDetail.save(esTaskDetailDto); esTaskDetail.save(esTaskDetailDto);
...@@ -1323,9 +1333,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -1323,9 +1333,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(task.get("taskPlanNum")) ? "0" : task.get("taskPlanNum").toString()); esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(task.get("taskPlanNum")) ? "0" : task.get("taskPlanNum").toString());
esPlanTaskListDto.setPoints(planTaskDetails); esPlanTaskListDto.setPoints(planTaskDetails);
esPlanTaskList.save(esPlanTaskListDto); esPlanTaskList.save(esPlanTaskListDto);
// 生成巡检记录
jobService.createCheckRecord(planTask, userId);
} }
} }
......
package com.yeejoin.amos.patrol.quartz; package com.yeejoin.amos.patrol.quartz;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.patrol.dao.entity.Msg; import com.yeejoin.amos.patrol.dao.entity.Msg;
import com.yeejoin.amos.patrol.dao.entity.PlanTask; import com.yeejoin.amos.patrol.dao.entity.PlanTask;
import com.yeejoin.amos.patrol.dao.entity.Task; import com.yeejoin.amos.patrol.dao.entity.Task;
...@@ -64,4 +65,6 @@ public interface IJobService { ...@@ -64,4 +65,6 @@ public interface IJobService {
public void createCheckRecord(PlanTask planTask,String userId); public void createCheckRecord(PlanTask planTask,String userId);
public JSONObject getCheckInput(Long routeId, Long pointId);
} }
...@@ -18,6 +18,7 @@ import com.yeejoin.amos.patrol.business.dao.mapper.MsgMapper; ...@@ -18,6 +18,7 @@ import com.yeejoin.amos.patrol.business.dao.mapper.MsgMapper;
import com.yeejoin.amos.patrol.business.dao.mapper.PlanTaskMapper; import com.yeejoin.amos.patrol.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.patrol.business.dao.repository.*; import com.yeejoin.amos.patrol.business.dao.repository.*;
import com.yeejoin.amos.patrol.business.entity.mybatis.PlanTaskPointInputItemBo; import com.yeejoin.amos.patrol.business.entity.mybatis.PlanTaskPointInputItemBo;
import com.yeejoin.amos.patrol.business.entity.mybatis.PointCheckDetailBo;
import com.yeejoin.amos.patrol.business.feign.JcsFeignClient; import com.yeejoin.amos.patrol.business.feign.JcsFeignClient;
import com.yeejoin.amos.patrol.business.param.CheckInputParam; import com.yeejoin.amos.patrol.business.param.CheckInputParam;
import com.yeejoin.amos.patrol.business.param.MsgConfigParam; import com.yeejoin.amos.patrol.business.param.MsgConfigParam;
...@@ -29,6 +30,7 @@ import com.yeejoin.amos.patrol.business.util.DateUtil; ...@@ -29,6 +30,7 @@ import com.yeejoin.amos.patrol.business.util.DateUtil;
import com.yeejoin.amos.patrol.business.util.Toke; import com.yeejoin.amos.patrol.business.util.Toke;
import com.yeejoin.amos.patrol.common.enums.*; import com.yeejoin.amos.patrol.common.enums.*;
import com.yeejoin.amos.patrol.core.async.AsyncTask; import com.yeejoin.amos.patrol.core.async.AsyncTask;
import com.yeejoin.amos.patrol.core.common.response.AppCheckInputRespone;
import com.yeejoin.amos.patrol.core.common.response.AppPointCheckRespone; import com.yeejoin.amos.patrol.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.patrol.dao.entity.*; import com.yeejoin.amos.patrol.dao.entity.*;
import com.yeejoin.amos.patrol.feign.RemoteSecurityService; import com.yeejoin.amos.patrol.feign.RemoteSecurityService;
...@@ -196,6 +198,7 @@ public class JobService implements IJobService { ...@@ -196,6 +198,7 @@ public class JobService implements IJobService {
ids = planTaskMapper.selectPlanTaskIdList(planTask.getPlanId(), PlanTaskFinishStatusEnum.NOTSTARTED.getValue()); ids = planTaskMapper.selectPlanTaskIdList(planTask.getPlanId(), PlanTaskFinishStatusEnum.NOTSTARTED.getValue());
if(!ObjectUtils.isEmpty(ids)){ if(!ObjectUtils.isEmpty(ids)){
planTaskMapper.updatePlanTaskList(ids, PlanTaskFinishStatusEnum.UNDERWAY.getValue()); planTaskMapper.updatePlanTaskList(ids, PlanTaskFinishStatusEnum.UNDERWAY.getValue());
updateEsPlanTaskList(ids, PlanTaskFinishStatusEnum.UNDERWAY.getValue());
} }
planTaskAddJob(planTask); planTaskAddJob(planTask);
} else if (endTime.getTime() < timestamp) { } else if (endTime.getTime() < timestamp) {
...@@ -208,22 +211,14 @@ public class JobService implements IJobService { ...@@ -208,22 +211,14 @@ public class JobService implements IJobService {
ids = planTaskMapper.selectPlanTaskIdList(planTask.getPlanId(), PlanTaskFinishStatusEnum.NOTSTARTED.getValue()); ids = planTaskMapper.selectPlanTaskIdList(planTask.getPlanId(), PlanTaskFinishStatusEnum.NOTSTARTED.getValue());
if(!ObjectUtils.isEmpty(ids)){ if(!ObjectUtils.isEmpty(ids)){
planTaskMapper.updatePlanTaskList(ids, PlanTaskFinishStatusEnum.UNDERWAY.getValue()); planTaskMapper.updatePlanTaskList(ids, PlanTaskFinishStatusEnum.UNDERWAY.getValue());
updateEsPlanTaskList(ids, PlanTaskFinishStatusEnum.UNDERWAY.getValue());
} }
planTaskAddJob(planTask); planTaskAddJob(planTask);
} else { } else {
log.error("修改为漏检生成记录2222========"); log.error("修改为漏检生成记录2222========");
updatePlanTaskAndDetailStatus(planTask); updatePlanTaskAndDetailStatus(planTask);
} }
} }
if (!ObjectUtils.isEmpty(ids)) {
updateEsPlanTaskList(ids, PlanTaskFinishStatusEnum.NOTSTARTED.getValue());
for (String id : ids) {
}
}
} catch (ParseException e) { } catch (ParseException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
log.debug(e.getMessage()); log.debug(e.getMessage());
...@@ -246,8 +241,11 @@ public class JobService implements IJobService { ...@@ -246,8 +241,11 @@ public class JobService implements IJobService {
esPlanTaskListDto.setUnplan(ObjectUtils.isEmpty(task.get("unplan")) ? "0" : task.get("unplan").toString()); esPlanTaskListDto.setUnplan(ObjectUtils.isEmpty(task.get("unplan")) ? "0" : task.get("unplan").toString());
esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(task.get("taskPlanNum")) ? "0" : task.get("taskPlanNum").toString()); esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(task.get("taskPlanNum")) ? "0" : task.get("taskPlanNum").toString());
List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails(id); List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails(id);
Long routId = planTaskMapper.selectRoutId(id);
for (PlanTaskDetail taskDetail : planTaskDetailList) { for (PlanTaskDetail taskDetail : planTaskDetailList) {
AppPointCheckRespone appPointCheckRespone = planService.queryPointPlanTaskDetail(null, null, null, taskDetail.getTaskNo(), taskDetail.getPointId()); AppPointCheckRespone appPointCheckRespone = planService.queryPointPlanTaskDetail(null, null, null, taskDetail.getTaskNo(), taskDetail.getPointId());
JSONObject jsonObject = getCheckInput(routId, taskDetail.getPointId());
appPointCheckRespone.setAppCheckInput(jsonObject);
ESTaskDetailDto esTaskDetailDto = JSONObject.parseObject(toJSONString(appPointCheckRespone), ESTaskDetailDto esTaskDetailDto = JSONObject.parseObject(toJSONString(appPointCheckRespone),
ESTaskDetailDto.class); ESTaskDetailDto.class);
esTaskDetail.save(esTaskDetailDto); esTaskDetail.save(esTaskDetailDto);
...@@ -410,6 +408,34 @@ public class JobService implements IJobService { ...@@ -410,6 +408,34 @@ public class JobService implements IJobService {
} }
public JSONObject getCheckInput(Long routeId,Long pointId){
List<PointCheckDetailBo> pointInputs = planTaskMapper.getPointInputByRouteIdAndPointId(routeId, pointId);
JSONObject appResponeMap = new JSONObject();
pointInputs.forEach(action -> {
AppCheckInputRespone input = new AppCheckInputRespone();
input.setInputName(action.getInputName());
input.setCheckInputId(action.getCheckInputId());
input.setDataJson(action.getDataJson());
input.setIsMultiline(action.getIsMultiline());
input.setIsMust(action.getIsMust());
input.setItemType(action.getItemType());
input.setOrderNo(action.getOrderNo());
input.setPictureJson(action.getPictureJson());
input.setClassifyId(action.getClassifyId());
input.setClassifyName(action.getClassifyName());
String key = ObjectUtils.isEmpty(action.getClassifyName()) ? "其他" : action.getClassifyName();
if (appResponeMap.containsKey(key)) {
appResponeMap.getJSONArray(key).add(input);
} else {
List<AppCheckInputRespone> appCheckInputResponeList = new ArrayList<AppCheckInputRespone>();
appCheckInputResponeList.add(input);
appResponeMap.put(key, appCheckInputResponeList);
}
});
return appResponeMap;
}
/** /**
* 创建检查记录 * 创建检查记录
...@@ -666,18 +692,25 @@ public class JobService implements IJobService { ...@@ -666,18 +692,25 @@ public class JobService implements IJobService {
List<Long> StartPlanTaskList = planTaskMapper.getPlanTaskListByPlanId(planId,PlanTaskFinishStatusEnum.UNDERWAY.getValue()); List<Long> StartPlanTaskList = planTaskMapper.getPlanTaskListByPlanId(planId,PlanTaskFinishStatusEnum.UNDERWAY.getValue());
List<PlanTask> planTaskList = planTaskMapper.getPlanTaskTListByPlanId(planId,PlanTaskFinishStatusEnum.UNDERWAY.getValue()); List<PlanTask> planTaskList = planTaskMapper.getPlanTaskTListByPlanId(planId,PlanTaskFinishStatusEnum.UNDERWAY.getValue());
List<String> notStartPlanTaskStringList = notStartPlanTaskList.stream()
.map(Object::toString)
.collect(Collectors.toList());
List<String> StartPlanTaskStringList = StartPlanTaskList.stream()
.map(Object::toString)
.collect(Collectors.toList());
log.error("开始执行定时任务添加的任务==========>>{}", JSON.toJSONString(planTask)); log.error("开始执行定时任务添加的任务==========>>{}", JSON.toJSONString(planTask));
if (XJConstant.STATUS_MONITOR_START.equals(jobType)) { if (XJConstant.STATUS_MONITOR_START.equals(jobType)) {
if (!ValidationUtil.isEmpty(notStartPlanTaskList)) { if (!ValidationUtil.isEmpty(notStartPlanTaskList)) {
planTaskMapper.updatePlanTaskByPlanId(notStartPlanTaskList, PlanTaskFinishStatusEnum.UNDERWAY.getValue()); planTaskMapper.updatePlanTaskByPlanId(notStartPlanTaskList, PlanTaskFinishStatusEnum.UNDERWAY.getValue());
} else { updateEsPlanTaskList(notStartPlanTaskStringList,PlanTaskFinishStatusEnum.UNDERWAY.getValue());
} }
} else if (XJConstant.STATUS_MONITOR_END.equals(jobType)) { } else if (XJConstant.STATUS_MONITOR_END.equals(jobType)) {
if (!ValidationUtil.isEmpty(StartPlanTaskList)) { if (!ValidationUtil.isEmpty(StartPlanTaskList)) {
planTaskMapper.updatePlanTaskByPlanId(StartPlanTaskList,PlanTaskFinishStatusEnum.OVERTIME.getValue()); planTaskMapper.updatePlanTaskByPlanId(StartPlanTaskList,PlanTaskFinishStatusEnum.OVERTIME.getValue());
planTaskMapper.updatePlanTaskDetailsByPlanId(StartPlanTaskList); planTaskMapper.updatePlanTaskDetailsByPlanId(StartPlanTaskList);
updateEsPlanTaskList(StartPlanTaskStringList,PlanTaskFinishStatusEnum.UNDERWAY.getValue());
for (PlanTask planTask: planTaskList for (PlanTask planTask: planTaskList
) { ) {
createOmissionCheckRecord(planTask); createOmissionCheckRecord(planTask);
......
...@@ -1715,4 +1715,7 @@ ...@@ -1715,4 +1715,7 @@
delete from ${table} where 1=1; delete from ${table} where 1=1;
</delete> </delete>
<select id="selectRoutId" resultType="java.lang.Long">
select route_id from p_plan_task where id = #{id}
</select>
</mapper> </mapper>
\ No newline at end of file
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