无关风月
3 天以前 20739d95d85d5d6744690093a061292325ce4a9b
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
@@ -693,10 +693,7 @@
        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")
                .one();
        tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
        List<Long> role5 = projectTeamStaffService.lambdaQuery()
                .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
                .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
@@ -725,6 +722,7 @@
            // 开发阶段
            List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery()
                    .eq(TResultWorkEvaluate::getEvaluateType,2)
                    .eq(TResultWorkEvaluate::getStatus,1)
                    .eq(TResultWorkEvaluate::getUserId,sysUser.getUserId())
                    .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list();
            // 调度ids
@@ -749,17 +747,17 @@
            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 (collect6.isEmpty()){
                collect6.add("0");
            if (collect5.isEmpty()){
                collect5.add("0");
            }
            List<Integer> status1 = new ArrayList<>();
            status1.add(-1);
            status1.add(1);
            status1.add(2);
            status1.add(4);
            // 开发阶段调度ids
            List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
            if (collect1.isEmpty()){
                collect1.add("0");
            }
            List<TResultWorkEvaluate> collect2 = list1.stream().filter(e -> collect1.contains(e.getDispatchId())).collect(Collectors.toList());
            int tempDetail2 = 0;
            for (TResultWorkEvaluate tResultWorkEvaluate : list1) {
            for (TResultWorkEvaluate tResultWorkEvaluate : collect2) {
                Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
                switch (evaluateOne){
                    case 1:
@@ -829,7 +827,9 @@
            // 中试试验阶段
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO();
            List<String> collect7 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
            List<String> collect7 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
                    .eq(TProjectProposal::getProjectStage,2)
                    .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
            if (collect7.isEmpty()){
                collect7.add("0");
            }
@@ -839,12 +839,8 @@
            if (collect8.isEmpty()){
                collect8.add("0");
            }
            List<Integer> status2 = new ArrayList<>();
            status2.add(-1);
            status2.add(1);
            status2.add(2);
            status2.add(4);
            List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect8).list();
            List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery()
                    .eq(TResultWorkEvaluate::getStatus,1).in(TResultWorkEvaluate::getDispatchId, collect8).list();
            int tempDetail3 = 0;
            for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
                Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
@@ -916,7 +912,9 @@
            // 验证试验阶段
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO();
            List<String> collect10 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
            List<String> collect10 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
                    .eq(TProjectProposal::getProjectStage,2)
                    .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
            if (collect10.isEmpty()){
                collect10.add("0");
            }
@@ -996,63 +994,12 @@
            tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
            // 工艺开发工具
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
            List<TFeasibilityStudyReport> collect12 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList());
            int  tempDetail15= 0 ;
            for (TFeasibilityStudyReport tFeasibilityStudyReport : collect12) {
                if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())){
                    for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
                        tempDetail15+=Integer.parseInt(s);
                    }
                }
            }
            tResultWorkEvaluateDetailEngineerVO5.setCount(collect12.size());
            tResultWorkEvaluateDetailEngineerVO5.setIntegral(tempDetail15);
            if (!collect12.isEmpty()){
                tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect12.get(0).getEvaluateTime());
                tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect12.get(collect12.size()-1).getEvaluateTime());
            }
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
            // 验证与发布
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO();
            List<TFeasibilityStudyReport> collect13 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList());
            int  tempDetail16= 0 ;
            for (TFeasibilityStudyReport tFeasibilityStudyReport : collect13) {
                if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())){
                    for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
                        tempDetail16+=Integer.parseInt(s);
                    }
                }
            }
            tResultWorkEvaluateDetailEngineerVO6.setCount(collect13.size());
            tResultWorkEvaluateDetailEngineerVO6.setIntegral(tempDetail16);
            if (!collect13.isEmpty()){
                tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect13.get(0).getEvaluateTime());
                tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect13.get(collect13.size()-1).getEvaluateTime());
            }
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO6);
            // 立项报告
            List<TProjectApprovalReport> list5 = projectApprovalReportService.lambdaQuery().orderByDesc(BaseModel::getCreateTime).eq(TProjectApprovalReport::getTeamId, projectTeam.getId()).eq(TProjectApprovalReport::getStatus, 2).list();
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO();
            tResultWorkEvaluateDetailEngineerVO7.setCount(list5.size());
            if (!list5.isEmpty()){
                tResultWorkEvaluateDetailEngineerVO7.setEndTime(list5.get(list5.size()-1).getAuditTime());
            }
            tResultWorkEvaluateDetailEngineerVO7.setStartTime(projectTeam.getCreateTime());
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO7);
            // todo 临床试验积分
            List<TClinicalTrialPoints> list6 = clinicalTrialPointsService.lambdaQuery().eq(TClinicalTrialPoints::getTeamId, projectTeam.getId()).list();
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO8 = new TResultWorkEvaluateDetailEngineerVO();
            tResultWorkEvaluateDetailEngineerVO8.setCount(list6.size());
            if (!list6.isEmpty()){
                tResultWorkEvaluateDetailEngineerVO8.setEndTime(list6.get(list6.size()-1).getCreateTime());
            }
            tResultWorkEvaluateDetailEngineerVO8.setStartTime(projectTeam.getCreateTime());
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8);
            tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS);
            tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO);
        }
        tResultWorkEvaluateDetailVO.setChemistList(tResultWorkEvaluateDetailUserVOS);
        return R.ok(tResultWorkEvaluateDetailVO);
    }
}