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 | 946 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 622 insertions(+), 324 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 17ba696..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 @@ -3,12 +3,15 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.BaseModel; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.TQaTestItemDTO; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.query.TResultWorkEvaluateQuery; @@ -30,12 +33,13 @@ /** * <p> - * 实验员工作评定 前端控制器 + * 实验结果工作评定 前端控制器 * </p> * * @author xiaochen * @since 2025-04-08 */ +@Api(tags = "实验结果工作评定管理") @RestController @RequestMapping("/t-result-work-evaluate") public class TResultWorkEvaluateController { @@ -66,6 +70,22 @@ this.projectTeamStaffService = projectTeamStaffService; this.sysUserService = sysUserService; } + + /** + * 添加QA检测项管理管理 + */ + //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')") + @Log(title = "QA检测项管理信息-新增QA检测项管理", businessType = BusinessType.INSERT) + @ApiOperation(value = "添加QA检测项管理",response = TQaTestItemDTO.class) + @PostMapping(value = "/api/t-qa-test-item/add") + public R<Boolean> add(@RequestBody String param) { + TQaTestItemDTO dto = JSON.parseObject(param,TQaTestItemDTO.class); +// resultWorkEvaluateService.save(dto); + return R.ok(); + } + + + @ApiOperation(value = "项目组总积分分页列表",tags = "项目组总积分",response = TQaTestItemReportQuery.class) @PostMapping(value = "/api/t-result-work-evaluate/pageList") public R<PageInfo<TResultWorkEvaluateVO>> pageList(@RequestBody String param) { @@ -690,350 +710,628 @@ @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") - .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()); List<SysUser> user5 = new ArrayList<>(); - for (Long l : role5) { - SysUser sysUser = sysUserService.selectUserById(l); - if (sysUser != null) { - user5.add(sysUser); + 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::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: - // 开发阶段 - TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO(); - List<Integer> status = new ArrayList<>(); - status.add(-1); - status.add(1); - status.add(3); - status.add(4); - status.add(5); - List<TProjectProposal> list2 = projectProposalService.lambdaQuery().eq(TProjectProposal::getCommitUserId, userId) - .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"); + 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); } - 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"); - } - List<Integer> status1 = new ArrayList<>(); - status1.add(-1); - 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(); - 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(list1.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"); - } - 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<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(); - 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 = list2.stream().filter(e -> e.getProjectStage().equals(2)).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); - // 工艺开发工具 - 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); + 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); } } } - 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); + + 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); } - 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); - tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS); + tResultWorkEvaluateDetailVO.setChemistList(tResultWorkEvaluateDetailUserVOS); return R.ok(tResultWorkEvaluateDetailVO); } } -- Gitblit v1.7.1