xieb
2025-01-21 bd8d88e5e984e59a5c895ec1a254e3dbae1f9f21
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;
@@ -95,14 +97,19 @@
   @ApiOperation(value = "分页", notes = "传入evaluateCandidateResult")
   public R listByCategoryId(EvaluateCandidateResultEntity evaluateCandidateResult,Query query) {
      QueryWrapper queryWrapper = new QueryWrapper();
      queryWrapper.eq("evaluate_task_category_id", evaluateCandidateResult.getEvaluateTaskCategoryId());
      queryWrapper.select("*,count(*) voteNum");
      EvaluateTaskEntity taskEntity = evaluateTaskService.getById(evaluateCandidateResult.getEvaluateTaskId());
      if (taskEntity.getType() == 0) {
         queryWrapper.eq("evaluate_task_category_id", evaluateCandidateResult.getEvaluateTaskCategoryId());
         queryWrapper.groupBy("user_id");
      } else {
         queryWrapper.groupBy("dept_id");
      }
      if (null != evaluateCandidateResult.getEvaluateTaskId())
         queryWrapper.eq("evaluate_task_id", evaluateCandidateResult.getEvaluateTaskId());
      queryWrapper.select("*,count(*) voteNum");
      queryWrapper.orderByDesc("count(*)");
@@ -117,6 +124,20 @@
   @ApiOperation(value = "分页", notes = "传入evaluateCandidateResult")
   public R<IPage<EvaluateCandidateResultVO>> page(EvaluateCandidateResultVO evaluateCandidateResult, Query query) {
      IPage<EvaluateCandidateResultVO> pages = evaluateCandidateResultService.selectEvaluateCandidateResultPage(Condition.getPage(query), evaluateCandidateResult);
      return R.data(pages);
   }
   /**
    * 公司投票详情集合 分页
    * @param evaluateTaskReferrer
    * @param query
    * @return
    */
   @GetMapping("/resultList")
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "分页", notes = "传入evaluateTaskReferrer")
   public R<IPage<EvaluateCandidateResultVO>> resultList(EvaluateCandidateResultVO evaluateTaskReferrer, Query query) {
      IPage<EvaluateCandidateResultVO> pages = evaluateCandidateResultService.selectCandidateResultInfoPage(Condition.getPage(query), evaluateTaskReferrer);
      return R.data(pages);
   }
@@ -184,4 +205,30 @@
      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.eq("a.is_deleted", 0);
      queryWrapper.orderByDesc("a.evaluate_task_category_id,a.dept_id,voteNum");
      queryWrapper.groupBy("a.user_id,a.evaluate_task_category_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("evaluate_task_id", taskId);
      queryWrapper.isNull("user_id");
      queryWrapper.orderByDesc("voteNum");
      queryWrapper.groupBy("dept_id");
      List<DeptResultGroupExcel> list = evaluateCandidateResultService.exportDeptResultGroupExcel(queryWrapper);
      ExcelUtil.export(response, "最终评优结果" + DateUtil.time(), "投票结果数据", list, DeptResultGroupExcel.class);
   }
}