From 9d8243be2ea2f56259bc41b74daaa392a05f9a4a Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 27 Dec 2023 09:16:18 +0800
Subject: [PATCH] 评优结果

---
 src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateResultServiceImpl.java |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateResultServiceImpl.java b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateResultServiceImpl.java
index c0f5c0a..35009ae 100644
--- a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateResultServiceImpl.java
+++ b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateResultServiceImpl.java
@@ -117,7 +117,7 @@
 					// 用户判断是否所有部门所有用户投票完成,改变任务状态使用
 					deptIds.add(obj.getDeptId());
 
-					//该部门是否投票完成,投票完成增加候选人信息
+					//该部门是否投票完成,投票完成增加候选人信息   isAddCandidate已经增加了候选人信息不在增加数据
 					Boolean isAddCandidate = Func.toBoolean(bladeRedis.get(EVALUATE_CANDIDATE_DEPT_KEY + evaluateResult.getEvaluateTaskId() + obj.getDeptId()));
 					if (null == isAddCandidate || !isAddCandidate) {
 						//根据部门获取所有用户数量
@@ -140,7 +140,6 @@
 						Long evaluateResultCount = count(resultEntityQueryWrapper);
 
 						if (userByDeptIdCount == evaluateResultCount) { //如果相等表示该部门所有人都投票完成 开始增加候选人
-							// 是否已经增加了候选人
 
 							//开始增加候选人
 							Integer val = obj.getVal();
@@ -163,6 +162,7 @@
 								evaluateCandidate.setDeptName(SysCache.getDeptName(Long.valueOf(user.getDeptId())));
 								evaluateCandidate.setPostName(SysCache.getPostName(Long.valueOf(user.getPostId())));
 								evaluateCandidateService.save(evaluateCandidate);
+								// 不加会重复处理候选人信息
 								bladeRedis.set(EVALUATE_CANDIDATE_DEPT_KEY + evaluateResult.getEvaluateTaskId() + obj.getDeptId(), true);
 							}
 						}
@@ -179,6 +179,7 @@
 				//用户数量和评优数据进行匹配 相同需要设置任务状态为已完成
 				QueryWrapper<EvaluateResultEntity> resultEntityQueryWrapper = new QueryWrapper<>();
 				resultEntityQueryWrapper.eq("evaluate_task_id", evaluateResult.getEvaluateTaskId());
+				resultEntityQueryWrapper.eq("type", 0);
 				Long evaluateResultCount = count(resultEntityQueryWrapper);
 
 				// 相同需要设置任务状态为已完成 不同不处理    修改为一个部门投票结束就增加候选人
@@ -205,6 +206,22 @@
 					taskPO.setEvaluateState(2);//结束
 					evaluateTaskService.updateById(taskPO);
 				}
+			} else if (evaluateResult.getType() == 2) {
+				QueryWrapper<EvaluateResultEntity> resultEntityQueryWrapper = new QueryWrapper<>();
+				resultEntityQueryWrapper.eq("evaluate_task_id", evaluateResult.getEvaluateTaskId());
+				resultEntityQueryWrapper.eq("type", 2);
+				Long evaluateResultCount = count(resultEntityQueryWrapper);
+
+				//公司评优数量和所有员工用户数量比对,相同则表示评分完成
+				QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
+				userQueryWrapper.eq("user_type", 2);
+				Long setUserCount = userService.count(userQueryWrapper);
+
+				// 相同需要设置任务状态为已完成 不同不处理
+				if (setUserCount == evaluateResultCount) {
+					taskPO.setEvaluateState(2);//结束
+					evaluateTaskService.updateById(taskPO);
+				}
 			}
 		}
 

--
Gitblit v1.9.3