Commit 30e17e00 authored by tianyiming's avatar tianyiming

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

parent 9bdb66bd
......@@ -266,7 +266,7 @@ public class CheckController extends AbstractBaseController {
esPlanTaskListDto.setUnqualified(ObjectUtils.isEmpty(task.get("unqualified")) ? "0" : task.get("unqualified").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());
List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails(String.valueOf(planTaskId));
List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails("('" + planTaskId + "')");
for (PlanTaskDetail planTaskDetail : planTaskDetailList) {
Point point = pointMapper.selectPointInfo(planTaskDetail.getPointId());
planTaskDetail.setName(point.getName());
......
......@@ -279,7 +279,7 @@ public interface PlanTaskMapper extends BaseMapper {
List<String> selectPlanTaskIdList(long planId, int oldStatus);
List<PlanTaskDetail> selectTaskDetails(String id);
List<PlanTaskDetail> selectTaskDetails(String ids);
Map<String, Object> selectTaskStatus(Long planTaskId);
......
......@@ -1049,34 +1049,58 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
StopWatch stopWatch2 = new StopWatch();
stopWatch2.start();
Map<String, List<ESTaskDetailDto>> collect1 = esTaskInfo.stream().collect(Collectors.groupingBy(ESTaskDetailDto::getPlanTaskId));
Map<String, List<AppCheckInputRespone>> collect2 = pointInputs.stream().collect(Collectors.groupingBy(AppCheckInputRespone::getPointId));
for (ESTaskDetailDto esTaskDetailDto : esTaskDetailDtos) {
ESTaskDetailDto taskInfo = esTaskInfo.stream().filter(x->x.getPlanTaskId().equals(esTaskDetailDto.getPlanTaskId())).collect(Collectors.toList()).get(0);
esTaskDetailDto.setPlanName(plan.getName());
esTaskDetailDto.setBeginTime(taskInfo.getBeginTime());
esTaskDetailDto.setEndTime(taskInfo.getEndTime());
esTaskDetailDto.setTaskStatus(taskInfo.getTaskStatus());
List<AppCheckInputRespone> collect = pointInputs.stream().filter(x -> x.getPointId().equals(esTaskDetailDto.getPointId())).collect(Collectors.toList());
esTaskDetailDto.setBeginTime(collect1.get(esTaskDetailDto.getPlanTaskId()).get(0).getBeginTime());
esTaskDetailDto.setEndTime(collect1.get(esTaskDetailDto.getPlanTaskId()).get(0).getEndTime());
esTaskDetailDto.setTaskStatus(collect1.get(esTaskDetailDto.getPlanTaskId()).get(0).getTaskStatus());
JSONObject appResponeMap = new JSONObject();
appResponeMap.put("items", collect);
appResponeMap.put("items", collect2.get(esTaskDetailDto.getPointId()));
esTaskDetailDto.setAppCheckInput(appResponeMap);
}
stopWatch2.stop();
log.info("组装点详情数据,耗时:{} 秒",stopWatch2.getTotalTimeSeconds());
StopWatch stopWatch3 = new StopWatch();
stopWatch3.start();
esTaskDetail.saveAll(esTaskDetailDtos);
if (!ValidationUtil.isEmpty(esTaskDetailDtos)) {
if (esTaskDetailDtos.size() > 5000) {
int index = 5000;
for (int i = 0; i < esTaskDetailDtos.size(); i += 5000) {
if (i + 5000 > esTaskDetailDtos.size()) {
index = esTaskDetailDtos.size() - i;
}
List<ESTaskDetailDto> newList = esTaskDetailDtos.subList(i, i + index);
esTaskDetail.saveAll(newList);
}
} else {
esTaskDetail.saveAll(esTaskDetailDtos);
}
}
stopWatch3.stop();
log.info("点详情数据存入es,耗时:{} 秒",stopWatch3.getTotalTimeSeconds());
StopWatch stopWatch4 = new StopWatch();
stopWatch4.start();
List<PlanTaskDetail> planTaskDetailList = new ArrayList<>();
planTaskDetails.forEach(single ->planTaskDetailList.add(single));
for (PlanTaskDetail taskDetail : planTaskDetailList) {
ESTaskDetailDto esTaskDetailDto = esTaskDetailDtos.stream().
filter(x -> x.getPlanTaskId().equals(String.valueOf(taskDetail.getTaskNo())) && x.getPointId().equals(String.valueOf(taskDetail.getPointId()))).collect(Collectors.toList()).get(0);
taskDetail.setName(esTaskDetailDto.getPointName());
taskDetail.setPointNo(esTaskDetailDto.getPointNo());
if (!ValidationUtil.isEmpty(taskIds)) {
if (taskIds.size() > 5000) {
int index = 5000;
for (int i = 0; i < taskIds.size(); i += 5000) {
if (i + 5000 > taskIds.size()) {
index = taskIds.size() - i;
}
List<String> newList = taskIds.subList(i, i + index);
String ids = newList.stream().collect(Collectors.joining(",", "(", ")"));
List<PlanTaskDetail> maps = planTaskMapper.selectTaskDetails(ids);
planTaskDetailList.addAll(maps);
}
} else {
String ids = taskIds.stream().collect(Collectors.joining(",", "(", ")"));
List<PlanTaskDetail> maps = planTaskMapper.selectTaskDetails(ids);
planTaskDetailList.addAll(maps);
}
}
stopWatch4.stop();
log.info("planTaskDetails转化,耗时:{} 秒",stopWatch4.getTotalTimeSeconds());
......@@ -1108,18 +1132,16 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
StopWatch stopWatch6 = new StopWatch();
stopWatch6.start();
Map<String, List<PlanTaskStaticDto>> collect3 = planTaskStaticListMap.stream().collect(Collectors.groupingBy(PlanTaskStaticDto::getPlanTaskId));
Map<Long, List<PlanTaskDetail>> collect = planTaskDetailList.stream().collect(Collectors.groupingBy(PlanTaskDetail::getTaskNo));
for (ESPlanTaskListDto esPlanTaskListDto : esPlanTaskListDtos) {
// List<PlanTaskDetail> newPlanTaskDetailList = planTaskDetailList.stream().filter(x -> x.getTaskNo() == Long.valueOf(esPlanTaskListDto.getPlanTaskId())).collect(Collectors.toList());
esPlanTaskListDto.setPoints(collect.get(Long.valueOf(esPlanTaskListDto.getPlanTaskId())));
if (!ValidationUtil.isEmpty(planTaskIds)) {
PlanTaskStaticDto task = planTaskStaticListMap.stream().filter(x -> x.getPlanTaskId().equals(esPlanTaskListDto.getPlanTaskId())).collect(Collectors.toList()).get(0);
esPlanTaskListDto.setFinshNum(ObjectUtils.isEmpty(task.getFinshNum()) ? "0" : task.getFinshNum());
esPlanTaskListDto.setOmission(ObjectUtils.isEmpty(task.getOmission()) ? "0" : task.getOmission());
esPlanTaskListDto.setUnqualified(ObjectUtils.isEmpty(task.getUnqualified()) ? "0" : task.getUnqualified());
esPlanTaskListDto.setUnplan(ObjectUtils.isEmpty(task.getUnplan()) ? "0" : task.getUnplan());
esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(task.getTaskPlanNum()) ? "0" : task.getTaskPlanNum());
esPlanTaskListDto.setFinshNum(ObjectUtils.isEmpty(collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getFinshNum()) ? "0" : collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getFinshNum());
esPlanTaskListDto.setOmission(ObjectUtils.isEmpty(collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getOmission()) ? "0" : collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getOmission());
esPlanTaskListDto.setUnqualified(ObjectUtils.isEmpty(collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getUnqualified()) ? "0" : collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getUnqualified());
esPlanTaskListDto.setUnplan(ObjectUtils.isEmpty(collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getUnplan()) ? "0" : collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getUnplan());
esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getTaskPlanNum()) ? "0" : collect3.get(esPlanTaskListDto.getPlanTaskId()).get(0).getTaskPlanNum());
} else {
esPlanTaskListDto.setFinshNum("0");
esPlanTaskListDto.setOmission("0");
......@@ -1130,8 +1152,11 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
stopWatch6.stop();
log.info("esPlanTaskListDtos数据组装,耗时:{} 秒",stopWatch6.getTotalTimeSeconds());
StopWatch stopWatch7 = new StopWatch();
stopWatch7.start();
saveEsPlanTaskList(esPlanTaskListDtos, oldEsPlanTaskListDtos);
stopWatch7.stop();
log.info("任务存入es,耗时:{} 秒",stopWatch7.getTotalTimeSeconds());
}
......@@ -1157,9 +1182,34 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
public void saveEsPlanTaskList(List<ESPlanTaskListDto> esPlanTaskListDtos, List<ESPlanTaskListDto> oldEsPlanTaskListDtos) {
if (!ValidationUtil.isEmpty(oldEsPlanTaskListDtos)) {
esPlanTaskList.deleteAll(oldEsPlanTaskListDtos);
if (oldEsPlanTaskListDtos.size() > 5000) {
int index = 5000;
for (int i = 0; i < oldEsPlanTaskListDtos.size(); i += 5000) {
if (i + 5000 > oldEsPlanTaskListDtos.size()) {
index = oldEsPlanTaskListDtos.size() - i;
}
List<ESPlanTaskListDto> newList = oldEsPlanTaskListDtos.subList(i, i + index);
esPlanTaskList.deleteAll(newList);
}
} else {
esPlanTaskList.deleteAll(oldEsPlanTaskListDtos);
}
}
if (!ValidationUtil.isEmpty(esPlanTaskListDtos)) {
if (esPlanTaskListDtos.size() > 5000) {
int index = 5000;
for (int i = 0; i < esPlanTaskListDtos.size(); i += 5000) {
if (i + 5000 > esPlanTaskListDtos.size()) {
index = esPlanTaskListDtos.size() - i;
}
List<ESPlanTaskListDto> newList = esPlanTaskListDtos.subList(i, i + index);
esPlanTaskList.saveAll(newList);
}
} else {
esPlanTaskList.saveAll(esPlanTaskListDtos);
}
}
esPlanTaskList.saveAll(esPlanTaskListDtos);
}
......@@ -1505,8 +1555,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
esPlanTaskListDto.setUnqualified(ObjectUtils.isEmpty(task.get("unqualified")) ? "0" : task.get("unqualified").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());
List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails(esPlanTaskListDto.getPlanTaskId());
List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails("('" + esPlanTaskListDto.getPlanTaskId() + "')");
esPlanTaskListDto.setPoints(planTaskDetailList);
esPlanTaskList.save(esPlanTaskListDto);
......
......@@ -289,7 +289,7 @@ public class JobService implements IJobService {
esPlanTaskListDto.setUnqualified(ObjectUtils.isEmpty(task.get("unqualified")) ? "0" : task.get("unqualified").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());
List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails(id);
List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails("('" + id + "')");
Long routId = planTaskMapper.selectRoutId(id);
List<ESTaskDetailDto> esTaskDetailDtos = new ArrayList<>();
for (PlanTaskDetail taskDetail : planTaskDetailList) {
......
......@@ -1735,7 +1735,7 @@
from
"p_plan_task_detail" pptd LEFT JOIN p_point pp ON pp."id"=pptd.point_id
where
task_no = #{id}
task_no in ${id}
</select>
<select id="selectTaskStatus" resultType="java.util.Map">
......
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