|
|
@@ -399,7 +399,7 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
flag = checkWorkTime(dateRange1.getStartTime(), dateRange1.getEndTime(), sysOrg.getId());
|
|
|
}
|
|
|
|
|
|
- if (flag == true && dateRange1.getEndTime().after(new Date())) {
|
|
|
+ if (flag == true ) {
|
|
|
workingDateRanges.put(idx, dateRange1);
|
|
|
idx++;
|
|
|
}
|
|
|
@@ -482,6 +482,7 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
Date today = new Date();
|
|
|
//要删除的任务
|
|
|
List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
|
|
|
+ List<CoreMonitoringRetrievalTask> baoliuTaskList = new ArrayList<>();
|
|
|
//要重新生成任务的机构和计划
|
|
|
List<KeyValueVo> keyValues = new ArrayList<>();
|
|
|
|
|
|
@@ -504,6 +505,7 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
|
|
|
Map<String, Object> allMap = this.buildDeleteTaskList(dayObjectMap, weekObjectMap, monthObjectMap, quarterObjectMap, halfYearObjectMap, yearObjectMap);
|
|
|
deleteTaskList = (List<CoreMonitoringRetrievalTask>) allMap.get("deleteTaskList");
|
|
|
+ baoliuTaskList = (List<CoreMonitoringRetrievalTask>) allMap.get("baoliuTaskList");
|
|
|
keyValues = (List<KeyValueVo>) allMap.get("keyValues");
|
|
|
//删除任务
|
|
|
if (CollectionUtil.isNotEmpty(deleteTaskList)) {
|
|
|
@@ -511,7 +513,7 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
}
|
|
|
//生成新的任务
|
|
|
// if(CollectionUtil.isNotEmpty(keyValues)){
|
|
|
- this.rebuildtask(keyValues, ymdDate, orgIds);
|
|
|
+ this.rebuildtask(keyValues, ymdDate, orgIds,baoliuTaskList);
|
|
|
// }
|
|
|
|
|
|
}
|
|
|
@@ -519,26 +521,32 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
private Map<String, Object> buildDeleteTaskList(Map<String, Object>... ObjMaps) {
|
|
|
Map<String, Object> deleteTaskListMap = new HashMap<>();
|
|
|
List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
|
|
|
+ List<CoreMonitoringRetrievalTask> baoliuTaskList = new ArrayList<>();
|
|
|
List<KeyValueVo> keyValues = new ArrayList<>();
|
|
|
for (Map<String, Object> objMap : ObjMaps) {
|
|
|
- if (objMap != null && objMap.containsKey("deleteTaskList") && objMap.containsKey("keyValues")) {
|
|
|
+ /* if (objMap != null && objMap.containsKey("deleteTaskList") && objMap.containsKey("keyValues")) {*/
|
|
|
List<CoreMonitoringRetrievalTask> listTask = (List<CoreMonitoringRetrievalTask>) objMap.get("deleteTaskList");
|
|
|
+ List<CoreMonitoringRetrievalTask> listTaska = (List<CoreMonitoringRetrievalTask>) objMap.get("baoliuTaskList");
|
|
|
List<KeyValueVo> keyValueList = (List<KeyValueVo>) objMap.get("keyValues");
|
|
|
if (CollectionUtil.isNotEmpty(listTask)) {
|
|
|
deleteTaskList.addAll(listTask);
|
|
|
}
|
|
|
+ if (CollectionUtil.isNotEmpty(listTaska)) {
|
|
|
+ baoliuTaskList.addAll(listTaska);
|
|
|
+ }
|
|
|
if (CollectionUtil.isNotEmpty(keyValueList)) {
|
|
|
keyValues.addAll(keyValueList);
|
|
|
}
|
|
|
- }
|
|
|
+ //}
|
|
|
|
|
|
}
|
|
|
deleteTaskListMap.put("deleteTaskList", deleteTaskList);
|
|
|
+ deleteTaskListMap.put("baoliuTaskList", baoliuTaskList);
|
|
|
deleteTaskListMap.put("keyValues", keyValues);
|
|
|
return deleteTaskListMap;
|
|
|
}
|
|
|
|
|
|
- private void rebuildtask(List<KeyValueVo> keyValues, Date taskTime, List<Long> orgIds) {
|
|
|
+ private void rebuildtask(List<KeyValueVo> keyValues, Date taskTime, List<Long> orgIds, List<CoreMonitoringRetrievalTask> baoliuTaskList) {
|
|
|
//获取所有机构
|
|
|
List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
List<SysOrg> orgs = orgList.stream().filter(r -> orgIds.contains(r.getId())).collect(Collectors.toList());
|
|
|
@@ -614,17 +622,29 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
if (CollectionUtil.isNotEmpty(listByType)) {
|
|
|
List<CoreMonitoringRetrievalTask> list = this.buildCoreMonitoringRetrievalTask(plan, localDate, listByType.get(0));
|
|
|
if (CollectionUtil.isNotEmpty(list)) {
|
|
|
- if (!plan.getPlanCycle().equals(RetrievalTaskCycle.DAYCYCLE.getCode().toString())) {
|
|
|
- List<CoreMonitoringRetrievalTask> lista = list.stream().filter(r -> r.getPlanEndTime().after(taskTime)).collect(Collectors.toList());
|
|
|
+ /**if (plan.getPlanCycle().equals(RetrievalTaskCycle.DAYCYCLE.getCode().toString())) {**/
|
|
|
+ List<CoreMonitoringRetrievalTask> lista = list.stream().filter(r -> r.getPlanEndTime().after(new Date())).collect(Collectors.toList());
|
|
|
if (CollectionUtil.isNotEmpty(lista)) {
|
|
|
- taskList.addAll(lista);
|
|
|
+ //获取保留的数据
|
|
|
+ List<CoreMonitoringRetrievalTask> listbl =baoliuTaskList.stream().filter(r->r.getPlanId().equals(plan.getId())&&r.getOrgId().equals(r.getOrgId())).collect(Collectors.toList());
|
|
|
+ //去掉保留的数据
|
|
|
+ if(CollectionUtil.isNotEmpty(listbl)){
|
|
|
+ List<Integer> integers = listbl.stream().map(m->m.getOrderNum()).collect(Collectors.toList());
|
|
|
+ List<CoreMonitoringRetrievalTask> listb = lista.stream().filter(r->!integers.contains(r.getOrderNum())).collect(Collectors.toList());
|
|
|
+ if(CollectionUtil.isNotEmpty(listb)){
|
|
|
+ listb.forEach(r->r.setBatchNum(listbl.get(0).getBatchNum()));
|
|
|
+ }
|
|
|
+ taskList.addAll(listb);
|
|
|
+ }else{
|
|
|
+ taskList.addAll(lista);
|
|
|
+ }
|
|
|
}
|
|
|
- } else {
|
|
|
+ /**} else {
|
|
|
List<CoreMonitoringRetrievalTask> lista = list.stream().filter(r -> r.getPlanEndTime().after(new Date())).collect(Collectors.toList());
|
|
|
if (CollectionUtil.isNotEmpty(lista)) {
|
|
|
taskList.addAll(lista);
|
|
|
}
|
|
|
- }
|
|
|
+ }**/
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -650,6 +670,7 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
List<CoreMonitoringRetrievalTask> taskList = this.list(queryWrapper);*/
|
|
|
List<CoreMonitoringRetrievalTask> taskList = baseMapper.selectTaskList(taskTime, orgIds, cycle);
|
|
|
List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
|
|
|
+ List<CoreMonitoringRetrievalTask> baoliuTaskList = new ArrayList<>();
|
|
|
List<KeyValueVo> keyValues = new ArrayList<>();
|
|
|
if (CollectionUtil.isNotEmpty(taskList)) {
|
|
|
//将数据按机构分组
|
|
|
@@ -660,7 +681,22 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
Map<Long, List<CoreMonitoringRetrievalTask>> taskMap1 = taskList1.stream().collect(Collectors.groupingBy(CoreMonitoringRetrievalTask::getBatchNum));
|
|
|
for (Long key1 : taskMap1.keySet()) {
|
|
|
List<CoreMonitoringRetrievalTask> taskList2 = taskMap1.get(key1);
|
|
|
- int num = (int) taskList2.stream().filter(t -> t.getStatus().equals(2)).count();
|
|
|
+ //获取要删除的数据
|
|
|
+ List<CoreMonitoringRetrievalTask> taskList3 =taskList2.stream().filter(t->!t.getStatus().equals("2")).collect(Collectors.toList());
|
|
|
+ //获取要留下的任务
|
|
|
+ List<CoreMonitoringRetrievalTask> taskList4 =taskList2.stream().filter(t->t.getStatus().equals("2")).collect(Collectors.toList());
|
|
|
+ if(CollectionUtil.isNotEmpty(taskList3)){
|
|
|
+ deleteTaskList.addAll(taskList3);
|
|
|
+ }
|
|
|
+ if(CollectionUtil.isNotEmpty(taskList4)){
|
|
|
+ baoliuTaskList.addAll(taskList4);
|
|
|
+ }
|
|
|
+ Long planId = taskList2.get(0).getPlanId();
|
|
|
+ KeyValueVo keyValue = new KeyValueVo();
|
|
|
+ keyValue.setKey(key);
|
|
|
+ keyValue.setValue(planId);
|
|
|
+ keyValues.add(keyValue);
|
|
|
+ /* int num = (int) taskList2.stream().filter(t -> t.getStatus().equals(2)).count();
|
|
|
//没有完成的任务,改批次的任务删除
|
|
|
if (num == 0) {
|
|
|
deleteTaskList.addAll(taskList2);
|
|
|
@@ -670,11 +706,12 @@ public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<C
|
|
|
keyValue.setKey(key);
|
|
|
keyValue.setValue(planId);
|
|
|
keyValues.add(keyValue);
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
objectMap.put("deleteTaskList", deleteTaskList);
|
|
|
+ objectMap.put("baoliuTaskList", baoliuTaskList);
|
|
|
objectMap.put("keyValues", keyValues);
|
|
|
return objectMap;
|
|
|
}
|