| 
						
						
							
								
							
						
						
					 | 
					@ -3,19 +3,20 @@ package com.epmet.dataaggre.controller.pub; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.commons.tools.utils.Result; | 
					 | 
					 | 
					import com.epmet.commons.tools.utils.Result; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.commons.tools.validator.ValidatorUtils; | 
					 | 
					 | 
					import com.epmet.commons.tools.validator.ValidatorUtils; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.form.BaseDataFormDTO; | 
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.form.BaseDataFormDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.form.SubTopicAndGroupFormDTO; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.form.SubUserTotalFormDTO; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.result.BaseStatsDataResultDTO; | 
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.result.BaseStatsDataResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.result.SubTopicAndGroupResultDTO; | 
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.result.SubTopicAndGroupResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.result.SubUserTotalResultDTO; | 
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.result.SubUserTotalResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.result.WorkFactResultDTO; | 
					 | 
					 | 
					import com.epmet.dataaggre.dto.datastats.result.WorkFactResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dataaggre.service.datastats.DataStatsService; | 
					 | 
					 | 
					import com.epmet.dataaggre.service.datastats.DataStatsService; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import lombok.extern.log4j.Log4j; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.web.bind.annotation.PostMapping; | 
					 | 
					 | 
					import org.springframework.web.bind.annotation.PostMapping; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.web.bind.annotation.RequestBody; | 
					 | 
					 | 
					import org.springframework.web.bind.annotation.RequestBody; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.web.bind.annotation.RequestMapping; | 
					 | 
					 | 
					import org.springframework.web.bind.annotation.RequestMapping; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.web.bind.annotation.RestController; | 
					 | 
					 | 
					import org.springframework.web.bind.annotation.RestController; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import javax.servlet.http.HttpServletResponse; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import java.io.IOException; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import java.util.List; | 
					 | 
					 | 
					import java.util.List; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					/** | 
					 | 
					 | 
					/** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -24,6 +25,7 @@ import java.util.List; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 * @author yinzuomei@elink-cn.com | 
					 | 
					 | 
					 * @author yinzuomei@elink-cn.com | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 * @date 2021/7/27 18:36 | 
					 | 
					 | 
					 * @date 2021/7/27 18:36 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 */ | 
					 | 
					 | 
					 */ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					@Log4j | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					@RestController | 
					 | 
					 | 
					@RestController | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					@RequestMapping("pub") | 
					 | 
					 | 
					@RequestMapping("pub") | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					public class PubController { | 
					 | 
					 | 
					public class PubController { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -41,7 +43,8 @@ public class PubController { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @PostMapping("baseDataAgg") | 
					 | 
					 | 
					    @PostMapping("baseDataAgg") | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    public Result<BaseStatsDataResultDTO> getBaseStatsData(@RequestBody BaseDataFormDTO formDTO){ | 
					 | 
					 | 
					    public Result<BaseStatsDataResultDTO> getBaseStatsData(@RequestBody BaseDataFormDTO formDTO){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ValidatorUtils.validateEntity(formDTO,BaseDataFormDTO.BaseData.class); | 
					 | 
					 | 
					        ValidatorUtils.validateEntity(formDTO,BaseDataFormDTO.BaseData.class); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        return new Result<BaseStatsDataResultDTO>().ok(dataStatsService.getBaseStatsData(formDTO)); | 
					 | 
					 | 
					        BaseStatsDataResultDTO baseStatsData = dataStatsService.getBaseStatsData(formDTO); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        return new Result<BaseStatsDataResultDTO>().ok(baseStatsData); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    /** | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -54,8 +57,9 @@ public class PubController { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     */ | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @PostMapping("subWorkFact") | 
					 | 
					 | 
					    @PostMapping("subWorkFact") | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    public Result<List<WorkFactResultDTO>> getSubWorkFact(@RequestBody BaseDataFormDTO formDTO){ | 
					 | 
					 | 
					    public Result<List<WorkFactResultDTO>> getSubWorkFact(@RequestBody BaseDataFormDTO formDTO){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        ValidatorUtils.validateEntity(formDTO,BaseDataFormDTO.WorkFact.class); | 
					 | 
					 | 
					        ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        return new Result<List<WorkFactResultDTO>>().ok(dataStatsService.getSubWorkFact(formDTO)); | 
					 | 
					 | 
					        List<WorkFactResultDTO> subWorkFact = dataStatsService.getSubWorkFact(formDTO); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        return new Result<List<WorkFactResultDTO>>().ok(subWorkFact); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    /** | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -64,9 +68,10 @@ public class PubController { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @author sun | 
					 | 
					 | 
					     * @author sun | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     */ | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @PostMapping("subUserTotal") | 
					 | 
					 | 
					    @PostMapping("subUserTotal") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    public Result<List<SubUserTotalResultDTO>> subUserTotal(@RequestBody SubUserTotalFormDTO formDTO) { | 
					 | 
					 | 
					    public Result<List<SubUserTotalResultDTO>> subUserTotal(@RequestBody BaseDataFormDTO formDTO) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        ValidatorUtils.validateEntity(formDTO, SubUserTotalFormDTO.Agency.class); | 
					 | 
					 | 
					        ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        return new Result<List<SubUserTotalResultDTO>>().ok(dataStatsService.subUserTotal(formDTO)); | 
					 | 
					 | 
					        List<SubUserTotalResultDTO> data = dataStatsService.subUserTotal(formDTO); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        return new Result<List<SubUserTotalResultDTO>>().ok(data); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    /** | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -75,9 +80,39 @@ public class PubController { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @author sun | 
					 | 
					 | 
					     * @author sun | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     */ | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @PostMapping("subTopicAndGroup") | 
					 | 
					 | 
					    @PostMapping("subTopicAndGroup") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    public Result<List<SubTopicAndGroupResultDTO>> subTopicAndGroup(@RequestBody SubTopicAndGroupFormDTO formDTO) { | 
					 | 
					 | 
					    public Result<List<SubTopicAndGroupResultDTO>> subTopicAndGroup(@RequestBody BaseDataFormDTO formDTO) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        ValidatorUtils.validateEntity(formDTO, SubTopicAndGroupFormDTO.Agency.class); | 
					 | 
					 | 
					        ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        return new Result<List<SubTopicAndGroupResultDTO>>().ok(dataStatsService.subTopicAndGroup(formDTO)); | 
					 | 
					 | 
					        List<SubTopicAndGroupResultDTO> data = dataStatsService.subTopicAndGroup(formDTO); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        return new Result<List<SubTopicAndGroupResultDTO>>().ok(data); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					     * 导出数据,使用map接收 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					     * | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					     * @param map | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					     * @param response | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					     * @throws IOException | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    @PostMapping("/exportExcel") | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    public void exportExcel(@RequestBody BaseDataFormDTO formDTO, HttpServletResponse response) throws IOException { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					       /* try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            Map<String, Object> mapData = new HashMap<>(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            BaseStatsDataResultDTO baseStatsData = dataStatsService.getBaseStatsData(formDTO); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            String templatePath = "excel/trace_temp.xlsx"; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            log.info("exportExcel templatePath:{}",templatePath); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            mapData.put("dataType", baseStatsData); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            start = System.currentTimeMillis(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            Workbook workbook = ExcelExportUtil.exportExcel(new TemplateExportParams(templatePath, "数据汇总"), baseStatsData); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            //header
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            response.setHeader("content-Type", "application/vnd.ms-excel"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode("继续追踪导出详情-".concat(DateUtils.formatDate()) + ".xlsx", "UTF-8")); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            //加密
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            log.error("excelExport  build wb cost:{}",System.currentTimeMillis()-start); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        } catch (UnsupportedEncodingException e) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            e.printStackTrace(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        }*/ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					} | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					
  |