| 
					
				 | 
			
			
				@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.core.util.ObjectUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.poi.excel.ExcelUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.poi.excel.ExcelWriter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.excel.EasyExcel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.toolkit.IdWorker; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -17,6 +18,7 @@ import com.xunmei.common.core.domain.DateRange; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xunmei.common.core.domain.retrieval.dto.RetrievalTaskPageDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskExcelVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskOneVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xunmei.common.core.domain.retrieval.vo.TaskDataVo; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57,6 +59,7 @@ import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 监控调阅任务Service业务层处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -99,47 +102,34 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void export(RetrievalTaskPageDto request, HttpServletResponse response) throws IOException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //不分页 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        request.setPageSize(1L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        request.setPageNum(100000L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgById(request.getOrgId(),SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<SysDictData> listDict = RemoteCallHandlerExecutor.executeRemoteCall(() -> dictDataService.selectDictByeType("retrieval_task_status", SecurityConstants.INNER), ErrorMsgConstants.QUERY_DICT_DATA_ERROR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        final TableDataInfo tableDataInfo = this.selectPage(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (ObjectUtil.isEmpty(tableDataInfo.getRows())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<SysDictData> listDicta = RemoteCallHandlerExecutor.executeRemoteCall(() -> dictDataService.selectDictByeType("sys_access_cycle", SecurityConstants.INNER), ErrorMsgConstants.QUERY_DICT_DATA_ERROR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (request.getCheckSub()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            request.setOrgPath(sysOrg.getPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            request.setOrgId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CoreMonitoringRetrievalTaskExcelVo> list = coreMonitoringRetrievalTaskMapper.selectAllList(request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ObjectUtil.isEmpty(list)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new RuntimeException("导出数据为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<CoreMonitoringRetrievalTaskVo> list = tableDataInfo.getRows(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        list.forEach(r -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            r.setStatusText(listDict.stream().filter(d -> d.getDictValue().equals(r.getStatus())).findFirst().orElse(new SysDictData()).getDictLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        list.forEach(r -> r.setNo(list.indexOf(r) + 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ExcelWriter writer = ExcelUtil.getWriter(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("序号", "no"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("任务名称", "taskName"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("开始时间", "planStartTime"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("结束时间", "planEndTime"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("状态", "statusText"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("调阅机构", "orgName"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("调阅角色", "roleName"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("调阅开始时间", "startTime"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("调阅结束时间", "endTime"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("调阅人", "retrievalUserName"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.addHeaderAlias("异常数", "exceptionCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //只保留别名的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.setOnlyAlias(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 默认配置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.write(list, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 设置content—type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset:utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 设置标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(list.size()>10000){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RuntimeException("导出数据量过大(单次导出限量10000条数据),请填写条件分批导出"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(int i=0;i<list.size();i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CoreMonitoringRetrievalTaskExcelVo vo = list.get(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vo.setStatusText(listDict.stream().filter(d -> d.getDictValue().equals(vo.getStatus())).findFirst().orElse(new SysDictData()).getDictLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vo.setOrderNum(i+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vo.setCycleText(listDicta.stream().filter(d -> d.getDictValue().equals(vo.getStatus())).findFirst().orElse(new SysDictData()).getDictLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        response.setContentType("application/vnd.ms-excel"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        response.setCharacterEncoding("utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String fileName = URLEncoder.encode("【" + sysOrg.getName() + "】-监控调阅任务记录" + DateHelper.getDateString(new Date()), "UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //Content-disposition是MIME协议的扩展,MIME协议指示MIME用户代理如何显示附加的文件。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".et"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ServletOutputStream outputStream = response.getOutputStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //将Writer刷新到OutPut 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.flush(outputStream, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        outputStream.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        writer.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 调用EasyExcel的导出方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        EasyExcel.write(response.getOutputStream(), CoreMonitoringRetrievalTaskExcelVo.class).sheet("Sheet1").doWrite(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 |