无关风月
3 天以前 1f79430c64426c4dd5055bae30d981d1fbd751b3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
@@ -690,7 +690,7 @@
    @GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftTwo")
    public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftTwo(@RequestParam String id) {
        TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO();
        List<TResultWorkEvaluateDetailUserVO> tResultWorkEvaluateDetailUserVOS = new ArrayList<>();
        TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id);
        TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId());
        TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 3).last("limit 1")
@@ -701,20 +701,37 @@
                .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
                .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
        List<SysUser> user5 = new ArrayList<>();
        SysUser sysUser1 = sysUserService.selectUserById(tokenService.getLoginUser().getUserId());
        if (sysUser1.getRoleType()==4||sysUser1.getRoleType()==5){
            //只能查看自己的
            user5.add(sysUser1);
        }else{
        for (Long l : role5) {
            SysUser sysUser = sysUserService.selectUserById(l);
            if (sysUser != null) {
                user5.add(sysUser);
            }
        }
        Long userId = one.getUserId();
        }
        List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
                .eq(TFeasibilityStudyReport::getStatus,3)
                .eq(TFeasibilityStudyReport::getEvaluatePersonId, userId).list();
                .eq(TFeasibilityStudyReport::getTeamId, resultWorkEvaluate.getTeamId()).list();
        List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
        for (SysUser sysUser : user5) {
            TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO();
            tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName());
        // 开发阶段
            List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery()
                    .eq(TResultWorkEvaluate::getEvaluateType,2)
                    .eq(TResultWorkEvaluate::getUserId,sysUser.getUserId())
                    .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list();
            // 调度ids
            List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList());
            if (collect.isEmpty()){
                collect.add("0");
            }
        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO();
        List<Integer> status = new ArrayList<>();
        status.add(-1);
@@ -722,15 +739,17 @@
        status.add(3);
        status.add(4);
        status.add(5);
        List<TProjectProposal> list2 = projectProposalService.lambdaQuery().eq(TProjectProposal::getCommitUserId, userId)
            // 课题方案ids
            List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect)
                    .ne(TExperimentDispatch::getStatus, -1)
                    .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList());
            if (collect6.isEmpty()){
                collect6.add("0");
            }
            List<TProjectProposal> list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
                .notIn(TProjectProposal::getAuditStatus, status).list();
        List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList());
        if (collect5.isEmpty()){
            collect5.add("0");
        }
        List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5)
                .ne(TExperimentDispatch::getStatus, -1)
                .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
        if (collect6.isEmpty()){
            collect6.add("0");
        }
@@ -739,7 +758,6 @@
        status1.add(1);
        status1.add(2);
        status1.add(4);
        List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect6).list();
        int tempDetail2 = 0;
        for (TResultWorkEvaluate tResultWorkEvaluate : list1) {
            Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
@@ -805,14 +823,12 @@
            tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size()-1).getEvaluateTime());
        }
        tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime());
        tResultWorkEvaluateDetailEngineerVO2.setCount(list1.size());
            tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size());
        tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
        // 中试试验阶段
        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO();
        List<String> collect7 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
        if (collect7.isEmpty()){
            collect7.add("0");
@@ -1033,7 +1049,10 @@
        }
        tResultWorkEvaluateDetailEngineerVO8.setStartTime(projectTeam.getCreateTime());
        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8);
        tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS);
            tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS);
            tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO);
        }
        return R.ok(tResultWorkEvaluateDetailVO);
    }
}