xieb
2024-01-04 243fd893c84bd0b379b94efa8a6242b0adc6a6eb
考核任务
2 files modified
98 ■■■■ changed files
src/main/java/org/springblade/modules/assessment/service/impl/AssessmentTaskServiceImpl.java 29 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/evaluate/controller/EvaluateTaskController.java 69 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/assessment/service/impl/AssessmentTaskServiceImpl.java
@@ -18,15 +18,15 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.AllArgsConstructor;
import org.springblade.modules.assessment.entity.AssessmentSetEntity;
import org.springblade.modules.assessment.entity.AssessmentTaskEntity;
import org.springblade.modules.assessment.service.IAssessmentScoreService;
import org.springblade.modules.assessment.service.IAssessmentSetAssessorService;
import org.springblade.modules.assessment.service.IAssessmentSetService;
import org.springblade.modules.assessment.vo.AssessmentTaskVO;
import org.springblade.modules.assessment.excel.AssessmentTaskExcel;
import org.springblade.modules.assessment.mapper.AssessmentTaskMapper;
import org.springblade.modules.assessment.service.IAssessmentTaskService;
import org.springblade.modules.evaluate.entity.EvaluateCandidateEntity;
import org.springblade.modules.evaluate.service.IEvaluateCandidateAssessorService;
import org.springblade.modules.evaluate.service.IEvaluateCandidateService;
import org.springblade.modules.evaluate.service.IEvaluateTaskSetService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -34,7 +34,6 @@
import org.springframework.transaction.annotation.Transactional;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.List;
/**
@@ -47,9 +46,9 @@
@AllArgsConstructor
public class AssessmentTaskServiceImpl extends BaseServiceImpl<AssessmentTaskMapper, AssessmentTaskEntity> implements IAssessmentTaskService {
    private final IEvaluateCandidateService evaluateCandidateService;
    private final IEvaluateTaskSetService evaluateTaskSetService;
    private final IEvaluateCandidateAssessorService evaluateCandidateAssessorService;
    private final IAssessmentSetService assessmentSetService;
    private final IAssessmentSetAssessorService assessmentSetAssessorService;
    private final IAssessmentScoreService assessmentScoreService;
    @Override
    public IPage<AssessmentTaskVO> selectAssessmentTaskPage(IPage<AssessmentTaskVO> page, AssessmentTaskVO assessmentTask) {
@@ -73,15 +72,15 @@
        if (ret) {
            for (Long id: ids) {
                QueryWrapper queryWrapper = new QueryWrapper();
                queryWrapper.eq("evaluate_task_id", id);
                List<EvaluateCandidateEntity> list = evaluateCandidateService.list(queryWrapper);
                evaluateCandidateService.remove(queryWrapper);
                evaluateTaskSetService.remove(queryWrapper);
                for (EvaluateCandidateEntity po: list
                queryWrapper.eq("assessment_task_id", id);
                List<AssessmentSetEntity> list = assessmentSetService.list(queryWrapper);
                assessmentSetService.remove(queryWrapper);
                assessmentScoreService.remove(queryWrapper);
                for (AssessmentSetEntity po: list
                     ) {
                    QueryWrapper qw = new QueryWrapper();
                    qw.eq("evaluate_candidate_id", po.getId());
                    evaluateCandidateAssessorService.remove(qw);
                    qw.eq("assessment_set_id", po.getId());
                    assessmentSetAssessorService.remove(qw);
                }
            }
src/main/java/org/springblade/modules/evaluate/controller/EvaluateTaskController.java
@@ -95,76 +95,7 @@
    }
    /**
     * 个人评优
     * @param userId
     * @param query
     * @return
     */
    @GetMapping("/taskList/{deptId}/{userId}")
    public R taskList(@ApiIgnore @PathVariable Long deptId,@ApiIgnore @PathVariable Long userId, Query query) {
        QueryWrapper<EvaluateTaskEntity> wrapper = new QueryWrapper<>();
        wrapper.or().like("candidate_num",deptId).or().like("candidate_num",userId);
        IPage<EvaluateTaskEntity> pages = evaluateTaskService.page(Condition.getPage(query), wrapper);
        // 处理获取当前部门的用户 type为0时
        List<EvaluateTaskVO> records = EvaluateTaskWrapper.build().listVO(pages.getRecords());
        for (EvaluateTaskVO vo: records) {
            if (vo.getType() == 0) {
                List<CandidateJsonObj> candidateJsonObjs = JSONArray.parseArray(JSON.toJSONString(vo.getCandidateNum()),CandidateJsonObj.class);
                QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
                userQueryWrapper.like("dept_id", deptId);
                List<User> users = userService.list(userQueryWrapper);
                for (CandidateJsonObj obj:candidateJsonObjs) {
                    if (deptId.equals(obj.getDeptId()) && obj.getUsers().size() > 0) {
                        //处理自己部门用户
                        List<Object> commonItems = obj.getUsers().stream()
                            .filter(item1 -> users.stream()
                                .anyMatch(item2 -> item1.getId().equals(item2.getId())))
                            .collect(Collectors.toList());
                        vo.setSelfCandidate(commonItems);
                        break;
                    } else if(deptId.equals(obj.getDeptId()) && obj.getUsers().size() == 0) {
                        vo.setSelfCandidate(users);
                        break;
                    }
                }
                //是否评论完成
                QueryWrapper<EvaluateResultEntity> resultEntityQueryWrapper = new QueryWrapper<>();
                resultEntityQueryWrapper.eq("score_user_id", userId);
                resultEntityQueryWrapper.eq("type", 0);
                resultEntityQueryWrapper.eq("evaluate_task_id", vo.getId());
                long reqCount = evaluateResultService.count(resultEntityQueryWrapper);
                vo.setIsEvaluateOk(reqCount > 0);
                if (reqCount > 0) {
                    vo.setEvaluateResultVO(EvaluateResultWrapper.build().entityVO(evaluateResultService.getOne(resultEntityQueryWrapper)));
                }
            } else {
                //是否评论完成
                QueryWrapper<EvaluateResultEntity> resultEntityQueryWrapper = new QueryWrapper<>();
                resultEntityQueryWrapper.eq("score_user_id", userId);
                resultEntityQueryWrapper.eq("type", 1);
                resultEntityQueryWrapper.eq("evaluate_task_id", vo.getId());
                long reqCount = evaluateResultService.count(resultEntityQueryWrapper);
                vo.setIsEvaluateOk(reqCount > 0);
                if (reqCount > 0) {
                    vo.setEvaluateResultVO(EvaluateResultWrapper.build().entityVO(evaluateResultService.getOne(resultEntityQueryWrapper)));
                }
            }
        }
        IPage<EvaluateTaskVO> pageVo = new Page<>(pages.getCurrent(), pages.getSize(), pages.getTotal());
        pageVo.setRecords(records);
        return R.data(pageVo);
    }
    /**
     * 评优任务表 自定义分页