From 33fea8cb7804ba9ee45a1c832907cbde5f336444 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 20 五月 2025 09:43:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java | 405 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 332 insertions(+), 73 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java index 5fba2d1..43cd077 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java @@ -713,10 +713,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()); @@ -745,6 +742,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 @@ -769,17 +767,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: @@ -849,7 +847,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"); } @@ -859,12 +859,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(); @@ -936,7 +932,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"); } @@ -1016,63 +1014,324 @@ 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); + } + @ApiOperation(value = "查看详情-左侧数据-实验员工作内容评定") + @GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftThree") + public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftThree(@RequestParam String id) { + TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO(); + List<TResultWorkEvaluateDetailUserVO> tResultWorkEvaluateDetailUserVOS = new ArrayList<>(); + TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id); + TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId()); + tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime()); + List<Long> role5 = projectTeamStaffService.lambdaQuery() + .eq(TProjectTeamStaff::getRoleType, 4).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); + } + } + } + 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,3) + .eq(TResultWorkEvaluate::getStatus,1) + .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); + status.add(1); + status.add(3); + status.add(4); + status.add(5); + // 课题方案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"); + } + // 开发阶段调度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 : collect2) { + Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); + switch (evaluateOne){ + case 1: + + tempDetail2+=2; + break; + case 2: + tempDetail2+=1; + + break; + + } + Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); + switch (evaluateTwo){ + case 1: + tempDetail2+=2; + break; + case 2: + tempDetail2+=1; + + break; + } + Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); + switch (evaluateThree){ + case 1: + tempDetail2+=2; + + break; + case 2: + tempDetail2+=1; + break; + } + Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); + switch (evaluateFour){ + case 1: + tempDetail2+=2; + + break; + case 2: + tempDetail2+=1; + break; + } + Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); + switch (evaluateFive){ + case 1: + tempDetail2+=2; + + break; + case 2: + tempDetail2+=1; + break; + } + Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); + switch (evaluateSix){ + case 1: + tempDetail2-=3; + break; + } + } + if (!list1.isEmpty()){ + tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size()-1).getEvaluateTime()); + } + tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime()); + tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size()); + tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2); + tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2); + + // 中试试验阶段 + TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO(); + 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"); + } + List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7) + .ne(TExperimentDispatch::getStatus, -1) + .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); + if (collect8.isEmpty()){ + collect8.add("0"); + } + 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(); + switch (evaluateOne){ + case 1: + + tempDetail3+=2; + break; + case 2: + tempDetail3+=1; + + break; + + } + Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); + switch (evaluateTwo){ + case 1: + tempDetail3+=2; + break; + case 2: + tempDetail3+=1; + + break; + } + Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); + switch (evaluateThree){ + case 1: + tempDetail3+=2; + + break; + case 2: + tempDetail3+=1; + break; + } + Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); + switch (evaluateFour){ + case 1: + tempDetail3+=2; + + break; + case 2: + tempDetail3+=1; + break; + } + Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); + switch (evaluateFive){ + case 1: + tempDetail3+=2; + + break; + case 2: + tempDetail3+=1; + break; + } + Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); + switch (evaluateSix){ + case 1: + tempDetail3-=3; + break; + } + } + if (!list3.isEmpty()){ + tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime()); + tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size()-1).getEvaluateTime()); + } + tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size()); + tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3); + tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3); + // 验证试验阶段 + TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO(); + + 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"); + } + List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10) + .ne(TExperimentDispatch::getStatus, -1) + .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); + if (collect11.isEmpty()){ + collect11.add("0"); + } + List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list(); + int tempDetail4 = 0; + for (TResultWorkEvaluate tResultWorkEvaluate : list4) { + Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); + switch (evaluateOne){ + case 1: + + tempDetail4+=2; + break; + case 2: + tempDetail4+=1; + + break; + + } + Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); + switch (evaluateTwo){ + case 1: + tempDetail4+=2; + break; + case 2: + tempDetail4+=1; + + break; + } + Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); + switch (evaluateThree){ + case 1: + tempDetail4+=2; + + break; + case 2: + tempDetail4+=1; + break; + } + Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); + switch (evaluateFour){ + case 1: + tempDetail4+=2; + + break; + case 2: + tempDetail4+=1; + break; + } + Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); + switch (evaluateFive){ + case 1: + tempDetail4+=2; + + break; + case 2: + tempDetail4+=1; + break; + } + Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); + switch (evaluateSix){ + case 1: + tempDetail4-=3; + break; + } + } + if (!list4.isEmpty()){ + tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime()); + tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size()-1).getEvaluateTime()); + } + tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size()); + tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4); + tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4); + // 工艺开发工具 + + + tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS); + tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO); + } + tResultWorkEvaluateDetailVO.setChemistList(tResultWorkEvaluateDetailUserVOS); return R.ok(tResultWorkEvaluateDetailVO); } } -- Gitblit v1.7.1