src/main/java/org/springblade/modules/evaluate/controller/EvaluateCandidateResultController.java
@@ -34,6 +34,8 @@ import org.springblade.core.tool.utils.Func; import org.springblade.modules.evaluate.entity.EvaluateCandidateResultEntity; import org.springblade.modules.evaluate.entity.EvaluateTaskEntity; import org.springblade.modules.evaluate.excel.DeptResultGroupExcel; import org.springblade.modules.evaluate.excel.EmployeeResultGroupExcel; import org.springblade.modules.evaluate.excel.EvaluateCandidateResultExcel; import org.springblade.modules.evaluate.service.IEvaluateCandidateResultService; import org.springblade.modules.evaluate.service.IEvaluateTaskService; @@ -189,4 +191,28 @@ ExcelUtil.export(response, "评优任务候选人投票结果表数据" + DateUtil.time(), "评优任务候选人投票结果表数据表", list, EvaluateCandidateResultExcel.class); } @GetMapping("/exportEmp/{taskId}") @ApiOperationSupport(order = 9) @ApiOperation(value = "公司评优结果导出数据", notes = "传入evaluateTaskReferrer") public void exprotEmployeeResultGroupExcel(@PathVariable("taskId") Long taskId, HttpServletResponse response) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("a.evaluate_task_id", taskId); queryWrapper.orderByDesc("b.category_name,a.dept_name,a.count(*)"); queryWrapper.groupBy("user_id"); List<EmployeeResultGroupExcel> list = evaluateCandidateResultService.exportEmployeeResultGroupExcel(queryWrapper); ExcelUtil.export(response, "最终评优结果" + DateUtil.time(), "投票结果数据", list, EmployeeResultGroupExcel.class); } @GetMapping("/exportDept/{taskId}") @ApiOperationSupport(order = 9) @ApiOperation(value = "公司评优结果导出数据", notes = "传入evaluateTaskReferrer") public void exprotDeptResultGroupExcel(@PathVariable("taskId") Long taskId, HttpServletResponse response) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("a.evaluate_task_id", taskId); queryWrapper.orderByDesc("a.count(*)"); queryWrapper.groupBy("dept_id"); List<DeptResultGroupExcel> list = evaluateCandidateResultService.exportDeptResultGroupExcel(queryWrapper); ExcelUtil.export(response, "最终评优结果" + DateUtil.time(), "投票结果数据", list, DeptResultGroupExcel.class); } } src/main/java/org/springblade/modules/evaluate/excel/DeptResultGroupExcel.java
New file @@ -0,0 +1,58 @@ /* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.evaluate.excel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.io.Serializable; /** * 公司评选第二轮结果 Excel实体类 * * @author aix * @since 2024-01-05 */ @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class DeptResultGroupExcel implements Serializable { private static final long serialVersionUID = 1L; /** * 部门 */ @ColumnWidth(20) @ExcelProperty("部门") private String deptName; /** * 票数 */ @ColumnWidth(20) @ExcelProperty("票数") private String voteNum; } src/main/java/org/springblade/modules/evaluate/excel/EmployeeResultGroupExcel.java
New file @@ -0,0 +1,85 @@ /* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.evaluate.excel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.io.Serializable; /** * 公司评选第二轮结果 Excel实体类 * * @author aix * @since 2024-01-05 */ @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class EmployeeResultGroupExcel implements Serializable { private static final long serialVersionUID = 1L; /** * 姓名 */ @ColumnWidth(20) @ExcelProperty("类别名称") private String categoryName; /** * 认定标准 */ @ColumnWidth(100) @ExcelProperty("认定标准") private String standard; /** * 姓名 */ @ColumnWidth(20) @ExcelProperty("姓名") private String userName; /** * 部门 */ @ColumnWidth(20) @ExcelProperty("部门") private String deptName; /** * 职位 */ @ColumnWidth(20) @ExcelProperty("职位") private String postName; /** * 票数 */ @ColumnWidth(20) @ExcelProperty("票数") private String voteNum; } src/main/java/org/springblade/modules/evaluate/excel/ReferrerResultGroupExcel.java
@@ -27,7 +27,7 @@ /** * 评优任务推荐人员表 Excel实体类 * 第一轮投票结果 Excel实体类 * * @author aix * @since 2024-01-05 src/main/java/org/springblade/modules/evaluate/mapper/EvaluateCandidateResultMapper.java
@@ -17,6 +17,8 @@ package org.springblade.modules.evaluate.mapper; import org.springblade.modules.evaluate.entity.EvaluateCandidateResultEntity; import org.springblade.modules.evaluate.excel.DeptResultGroupExcel; import org.springblade.modules.evaluate.excel.EmployeeResultGroupExcel; import org.springblade.modules.evaluate.vo.EvaluateCandidateResultVO; import org.springblade.modules.evaluate.excel.EvaluateCandidateResultExcel; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -51,4 +53,7 @@ */ List<EvaluateCandidateResultExcel> exportEvaluateCandidateResult(@Param("ew") Wrapper<EvaluateCandidateResultEntity> queryWrapper); List<DeptResultGroupExcel> exportDeptResultGroupExcel(@Param("ew") Wrapper<EvaluateCandidateResultEntity> queryWrapper); List<EmployeeResultGroupExcel> exportEmployeeResultGroupExcel(@Param("ew") Wrapper<EvaluateCandidateResultEntity> queryWrapper); } src/main/java/org/springblade/modules/evaluate/mapper/EvaluateCandidateResultMapper.xml
@@ -33,4 +33,14 @@ SELECT * FROM yw_evaluate_candidate_result ${ew.customSqlSegment} </select> <select id="exportDeptResultGroupExcel" resultType="org.springblade.modules.evaluate.excel.DeptResultGroupExcel"> SELECT *,count(*) voteNum FROM yw_evaluate_candidate_result ${ew.customSqlSegment} </select> <select id="exportEmployeeResultGroupExcel" resultType="org.springblade.modules.evaluate.excel.EmployeeResultGroupExcel"> select b.category_name,b.standard,a.user_name,a.dept_name,a.post_name,count(*) voteNum from yw_evaluate_candidate_result a LEFT JOIN yw_evaluate_task_category b ON (a.evaluate_task_category_id = b.id) ${ew.customSqlSegment} </select> </mapper> src/main/java/org/springblade/modules/evaluate/service/IEvaluateCandidateResultService.java
@@ -17,11 +17,14 @@ package org.springblade.modules.evaluate.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.springblade.modules.evaluate.entity.EvaluateCandidateResultEntity; import org.springblade.modules.evaluate.vo.EvaluateCandidateResultVO; import org.springblade.modules.evaluate.excel.EvaluateCandidateResultExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.modules.evaluate.entity.EvaluateCandidateResultEntity; import org.springblade.modules.evaluate.excel.DeptResultGroupExcel; import org.springblade.modules.evaluate.excel.EmployeeResultGroupExcel; import org.springblade.modules.evaluate.excel.EvaluateCandidateResultExcel; import org.springblade.modules.evaluate.vo.EvaluateCandidateResultVO; import java.util.List; /** @@ -49,4 +52,8 @@ */ List<EvaluateCandidateResultExcel> exportEvaluateCandidateResult(Wrapper<EvaluateCandidateResultEntity> queryWrapper); List<DeptResultGroupExcel> exportDeptResultGroupExcel(Wrapper<EvaluateCandidateResultEntity> queryWrapper); List<EmployeeResultGroupExcel> exportEmployeeResultGroupExcel(Wrapper<EvaluateCandidateResultEntity> queryWrapper); } src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateCandidateResultServiceImpl.java
@@ -17,6 +17,8 @@ package org.springblade.modules.evaluate.service.impl; import org.springblade.modules.evaluate.entity.EvaluateCandidateResultEntity; import org.springblade.modules.evaluate.excel.DeptResultGroupExcel; import org.springblade.modules.evaluate.excel.EmployeeResultGroupExcel; import org.springblade.modules.evaluate.vo.EvaluateCandidateResultVO; import org.springblade.modules.evaluate.excel.EvaluateCandidateResultExcel; import org.springblade.modules.evaluate.mapper.EvaluateCandidateResultMapper; @@ -51,4 +53,21 @@ return evaluateCandidateResultList; } @Override public List<DeptResultGroupExcel> exportDeptResultGroupExcel(Wrapper<EvaluateCandidateResultEntity> queryWrapper) { List<DeptResultGroupExcel> deptResultGroupExcels = baseMapper.exportDeptResultGroupExcel(queryWrapper); //evaluateCandidateResultList.forEach(evaluateCandidateResult -> { // evaluateCandidateResult.setTypeName(DictCache.getValue(DictEnum.YES_NO, EvaluateCandidateResult.getType())); //}); return deptResultGroupExcels; } @Override public List<EmployeeResultGroupExcel> exportEmployeeResultGroupExcel(Wrapper<EvaluateCandidateResultEntity> queryWrapper) { List<EmployeeResultGroupExcel> employeeResultGroupExcels = baseMapper.exportEmployeeResultGroupExcel(queryWrapper); //evaluateCandidateResultList.forEach(evaluateCandidateResult -> { // evaluateCandidateResult.setTypeName(DictCache.getValue(DictEnum.YES_NO, EvaluateCandidateResult.getType())); //}); return employeeResultGroupExcels; } }