Commit 30e17e00 authored by tianyiming's avatar tianyiming

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

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