xieb
2024-01-24 24e01e7f50bbfccf880b062a9a2a91efd61055b8
src/main/java/org/springblade/modules/evaluate/controller/EvaluateCandidateResultController.java
@@ -33,8 +33,12 @@
import org.springblade.core.tool.utils.DateUtil;
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;
import org.springblade.modules.evaluate.vo.EvaluateCandidateResultVO;
import org.springblade.modules.evaluate.wrapper.EvaluateCandidateResultWrapper;
import org.springframework.web.bind.annotation.*;
@@ -59,6 +63,8 @@
   private final IEvaluateCandidateResultService evaluateCandidateResultService;
   private final IEvaluateTaskService evaluateTaskService;
   /**
    * 评优任务候选人投票结果表 详情
    */
@@ -81,6 +87,36 @@
   }
   /**
    * 公司投票和部门投票根据用户或者部门汇总
    * @param evaluateCandidateResult
    * @param query
    * @return
    */
   @GetMapping("/listByCategoryId")
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "分页", notes = "传入evaluateCandidateResult")
   public R listByCategoryId(EvaluateCandidateResultEntity evaluateCandidateResult,Query query) {
      QueryWrapper queryWrapper = new QueryWrapper();
      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(*)");
      return R.data(evaluateCandidateResultService.pageMaps(Condition.getPage(query), queryWrapper));
   }
   /**
    * 评优任务候选人投票结果表 自定义分页
    */
   @GetMapping("/page")
@@ -92,6 +128,20 @@
   }
   /**
    * 公司投票详情集合 分页
    * @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);
   }
   /**
    * 评优任务候选人投票结果表 新增
    */
   @PostMapping("/save")
@@ -99,6 +149,13 @@
   @ApiOperation(value = "新增", notes = "传入evaluateCandidateResult")
   public R save(@Valid @RequestBody EvaluateCandidateResultEntity evaluateCandidateResult) {
      return R.status(evaluateCandidateResultService.save(evaluateCandidateResult));
   }
   @PostMapping("/saveBatch")
   @ApiOperationSupport(order = 4)
   @ApiOperation(value = "新增", notes = "传入evaluateTaskCategory")
   public R saveBatch(@Valid @RequestBody List<EvaluateCandidateResultEntity> evaluateTaskCategorys) {
      return R.status(evaluateCandidateResultService.saveBatch(evaluateTaskCategorys));
   }
   /**
@@ -148,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);
   }
}