From bd8d88e5e984e59a5c895ec1a254e3dbae1f9f21 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 21 Jan 2025 14:55:39 +0800
Subject: [PATCH] 修复

---
 src/main/java/org/springblade/modules/evaluate/controller/EvaluateCandidateResultController.java |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/evaluate/controller/EvaluateCandidateResultController.java b/src/main/java/org/springblade/modules/evaluate/controller/EvaluateCandidateResultController.java
index cd72bfa..4f3ec6b 100644
--- a/src/main/java/org/springblade/modules/evaluate/controller/EvaluateCandidateResultController.java
+++ b/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")
@@ -88,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);
 	}
 
@@ -155,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);
+	}
+
 }

--
Gitblit v1.9.3