xieb
2023-12-26 26546dc75148da6b5f6369e0cbe7a131b12dfe5b
评优结果
3 files modified
26 ■■■■ changed files
src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateResultServiceImpl.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskSetWrapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.xml
@@ -28,8 +28,8 @@
    <select id="selectEvaluateTaskSetPage" resultMap="evaluateTaskSetVOMap">
        select *,
               CASE type
                   WHEN 0 THEN ( select count(*) from yw_evaluate_result b where b.evaluate_task_id = a.evaluate_task_id and a.user_id = b.be_id )
                   WHEN 1 THEN ( select count(*) from yw_evaluate_result b where b.evaluate_task_id = a.evaluate_task_id and a.dept_id = b.be_id )
                   WHEN 0 THEN ( select count(*) from yw_evaluate_result b where b.evaluate_task_id = a.evaluate_task_id and a.user_id = b.be_id and b.type = 0)
                   WHEN 1 THEN ( select count(*) from yw_evaluate_result b where b.evaluate_task_id = a.evaluate_task_id and a.dept_id = b.be_id and b.type = 1)
                END as vote_num
        from yw_evaluate_task_set a where is_deleted = 0
        <if test="evaluateTaskSet.type !=null">
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);
                }
            }
        }
src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskSetWrapper.java
@@ -70,6 +70,7 @@
            QueryWrapper<EvaluateResultEntity> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("be_id",vo.getUserId());
            queryWrapper.eq("evaluate_task_id",vo.getEvaluateTaskId());
            queryWrapper.eq("type", vo.getType());
            vo.setVoteNum(evaluateResultService.count(queryWrapper));
        }