From 5010d9601e510fb3b70bb9ca3a55ad2552b2ae16 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 02 Jan 2024 10:02:18 +0800
Subject: [PATCH] h5评优任务返回自己是否评论完成
---
src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateResultServiceImpl.java | 128 ------------------------------------------
1 files changed, 1 insertions(+), 127 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 35009ae..ab3a20c 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
@@ -99,133 +99,7 @@
@Transactional
public boolean saveOrUpdate(EvaluateResultEntity evaluateResult) {
- boolean ret = super.saveOrUpdate(evaluateResult);
-
- // 是否评分完成判断此操作
- if (ret) {
-
- EvaluateTaskEntity taskPO = evaluateTaskService.getById(evaluateResult.getEvaluateTaskId());
-
- //判断评分是否完成 0:type 判断设置的部门员工是否完成评分 1:type 判断设置的部门是否完成评分
- if (evaluateResult.getType() == 0) {
-
- List<CandidateJsonObj> candidateJsonObjs = JSONArray.parseArray(JSON.toJSONString(taskPO.getCandidateNum()),CandidateJsonObj.class);
-
- List<Long> deptIds = new ArrayList<>();
- for (CandidateJsonObj obj:candidateJsonObjs) {
-
- // 用户判断是否所有部门所有用户投票完成,改变任务状态使用
- deptIds.add(obj.getDeptId());
-
- //该部门是否投票完成,投票完成增加候选人信息 isAddCandidate已经增加了候选人信息不在增加数据
- Boolean isAddCandidate = Func.toBoolean(bladeRedis.get(EVALUATE_CANDIDATE_DEPT_KEY + evaluateResult.getEvaluateTaskId() + obj.getDeptId()));
- if (null == isAddCandidate || !isAddCandidate) {
- //根据部门获取所有用户数量
- QueryWrapper<User> queryWrapper = new QueryWrapper();
- queryWrapper.eq("dept_id", obj.getDeptId());
- List<User> deptUsers = userService.list(queryWrapper);
- // 拿到设置部门所有用户数量
- int userByDeptIdCount = deptUsers.size();
-
- // 拿到该部门的所有投票结果
- List<Long> userIds = new ArrayList<>();
- for (User deptUser:deptUsers) {
- userIds.add(deptUser.getId());
- }
-
- //部门所有用户数量和部门的所有投票结果
- QueryWrapper<EvaluateResultEntity> resultEntityQueryWrapper = new QueryWrapper<>();
- resultEntityQueryWrapper.eq("evaluate_task_id", evaluateResult.getEvaluateTaskId());
- resultEntityQueryWrapper.in("score_user_id", userIds); //评分人
- Long evaluateResultCount = count(resultEntityQueryWrapper);
-
- if (userByDeptIdCount == evaluateResultCount) { //如果相等表示该部门所有人都投票完成 开始增加候选人
-
- //开始增加候选人
- Integer val = obj.getVal();
-
- Page<EvaluateResultVO> page = new Page<>();
- page.setCurrent(1);
- page.setSize(val);
- EvaluateResultVO vo = new EvaluateResultVO();
- vo.setType(0);
- vo.setEvaluateTaskId(evaluateResult.getEvaluateTaskId());
-
- IPage<EvaluateResultVO> evaluateResultVOIPage = selectEvaluateResultByScoreIdsGroupBeId(page,vo,userIds);
- for (EvaluateResultVO resultVO:evaluateResultVOIPage.getRecords()) {
- EvaluateCandidateEntity evaluateCandidate = new EvaluateCandidateEntity();
- evaluateCandidate.setEvaluateTaskId(evaluateResult.getEvaluateTaskId());
- evaluateCandidate.setEvaluateTaskName(taskPO.getTaskName());
- User user = UserCache.getUser(resultVO.getBeId());
- evaluateCandidate.setUserId(user.getId());
- evaluateCandidate.setUserName(user.getName());
- 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);
- }
- }
- }
-
- }
-
- //根据部门获取所有用户数量
- QueryWrapper<User> queryWrapper = new QueryWrapper();
- queryWrapper.in("dept_id", deptIds);
- // 拿到设置部门所有用户数量
- Long userByDeptIdsCount = userService.count(queryWrapper);
-
- //用户数量和评优数据进行匹配 相同需要设置任务状态为已完成
- QueryWrapper<EvaluateResultEntity> resultEntityQueryWrapper = new QueryWrapper<>();
- resultEntityQueryWrapper.eq("evaluate_task_id", evaluateResult.getEvaluateTaskId());
- resultEntityQueryWrapper.eq("type", 0);
- Long evaluateResultCount = count(resultEntityQueryWrapper);
-
- // 相同需要设置任务状态为已完成 不同不处理 修改为一个部门投票结束就增加候选人
- if (userByDeptIdsCount == evaluateResultCount) {
- taskPO.setCandidateState(2);//结束
- evaluateTaskService.updateById(taskPO);
- }
-
- } else if (evaluateResult.getType() == 1) {
- QueryWrapper<EvaluateResultEntity> resultEntityQueryWrapper = new QueryWrapper<>();
- resultEntityQueryWrapper.eq("evaluate_task_id", evaluateResult.getEvaluateTaskId());
- Long evaluateResultCount = count(resultEntityQueryWrapper);
-
- //部门评优数量和所有用户匹配 修改为选定的评定人
- List<CandidateJsonObj> candidateJsonObjs = JSONArray.parseArray(JSON.toJSONString(taskPO.getCandidateNum()),CandidateJsonObj.class);
- int setUserCount = 0;
- for (CandidateJsonObj obj:candidateJsonObjs) {
- List<UserJsonObj> userJsonObjs = obj.getUsers();
- setUserCount += userJsonObjs.size();
- }
-
- // 相同需要设置任务状态为已完成 不同不处理
- if (setUserCount == evaluateResultCount) {
- 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);
- }
- }
- }
-
- return ret;
+ return super.saveOrUpdate(evaluateResult);
}
}
--
Gitblit v1.9.3