| 
					
				 | 
			
			
				@@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |