package com.ruoyi.web.controller.api; 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; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.models.auth.In; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** *

* 实验结果工作评定 前端控制器 *

* * @author xiaochen * @since 2025-04-08 */ @Api(tags = "实验结果工作评定管理") @RestController @RequestMapping("/t-result-work-evaluate") public class TResultWorkEvaluateController { @Resource private TResultWorkEvaluateService tResultWorkEvaluateService; @Resource private TokenService tokenService; @Resource private TFeasibilityStudyReportService feasibilityStudyReportService; @Resource private TExperimentResultReportService experimentResultReportService; @Resource private TProjectApprovalReportService projectApprovalReportService; @Resource private TExperimentDispatchService experimentDispatchService; @Resource private TClinicalTrialPointsService clinicalTrialPointsService; @Resource private TTesterOtherTaskService tTesterOtherTaskService; @Resource private TProjectProposalService projectProposalService; @Resource private TQaProduceReportService qaProduceReportService; private final TProjectTeamService projectTeamService; private final TProjectTeamStaffService projectTeamStaffService; private final ISysUserService sysUserService; @Autowired public TResultWorkEvaluateController(TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService) { this.projectTeamService = projectTeamService; 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 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> pageList(@RequestBody String param) { LoginUser loginUser = tokenService.getLoginUser(); TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.class); SysUser sysUser = sysUserService.selectUserById(loginUser.getUser().getUserId()); if (sysUser.getRoleType() != 1) { List collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, loginUser.getUser().getUserId()).list() .stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (collect.isEmpty()) { return R.ok(new PageInfo<>()); } } return R.ok(tResultWorkEvaluateService.pageList(query)); } /** * 查看取样记录详情 */ //@PreAuthorize("@ss.hasPermi('system:samplingRecord:detail')") @ApiOperation(value = "查看详情-顶部数据") @GetMapping(value = "/open/t-result-work-evaluate/getDetailById") public R getDetailById(@RequestParam String id) { TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO(); TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id); TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId()); tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime()); TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 3).last("limit 1").one(); List role4 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List role5 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List user4 = new ArrayList<>(); List user5 = new ArrayList<>(); for (Long l : role4) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser != null) { user4.add(sysUser); } } for (Long l : role5) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser != null) { user5.add(sysUser); } } List list = tResultWorkEvaluateService.lambdaQuery().eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()) .eq(TResultWorkEvaluate::getStatus, 1).orderByDesc(TResultWorkEvaluate::getEvaluateTime).list(); int temp1 = 0; int temp2 = 0; int temp3 = 0; int temp4 = 0; int temp5 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne) { case 1: if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } temp1 += 2; break; case 2: temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo) { case 1: temp1 += 2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } break; case 2: temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree) { case 1: temp1 += 2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } break; case 2: temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour) { case 1: temp1 += 2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } break; case 2: temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive) { case 1: temp1 += 2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } break; case 2: temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix) { case 1: temp1 -= 3; temp5++; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 -= 3; } if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 -= 3; } if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 -= 3; } break; } } tResultWorkEvaluateDetailVO.setTeamIntegral(temp1); tResultWorkEvaluateDetailVO.setEngineerIntegral(temp2); tResultWorkEvaluateDetailVO.setChemistIntegral(temp3); tResultWorkEvaluateDetailVO.setTesterIntegral(temp4); tResultWorkEvaluateDetailVO.setTermination(temp5); if (!list.isEmpty()) { tResultWorkEvaluateDetailVO.setEndTime(list.get(0).getEvaluateTime()); } return R.ok(tResultWorkEvaluateDetailVO); } @ApiOperation(value = "查看详情-左侧数据-工艺工程师工作内容评定") @GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftOne") public R getDetailByIdLeftOne(@RequestParam String id) { TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO(); 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 role4 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List role5 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List user4 = new ArrayList<>(); List user5 = new ArrayList<>(); for (Long l : role4) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser != null) { user4.add(sysUser); } } for (Long l : role5) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser != null) { user5.add(sysUser); } } Long userId = one.getUserId(); List total = feasibilityStudyReportService.lambdaQuery() .eq(TFeasibilityStudyReport::getStatus, 3) .eq(TFeasibilityStudyReport::getEvaluatePersonId, userId).list(); List tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); // 工艺可研 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO = new TResultWorkEvaluateDetailEngineerVO(); List collect = total.stream().filter(e -> e.getReportType().equals(1)).collect(Collectors.toList()); int tempDetail = 0; for (TFeasibilityStudyReport tFeasibilityStudyReport : collect) { if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) { for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) { tempDetail += Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO.setCount(collect.size()); tResultWorkEvaluateDetailEngineerVO.setIntegral(tempDetail); if (!collect.isEmpty()) { tResultWorkEvaluateDetailEngineerVO.setEndTime(collect.get(collect.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO.setStartTime(projectTeam.getCreateTime()); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO); // 工艺可行 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO1 = new TResultWorkEvaluateDetailEngineerVO(); List collect1 = total.stream().filter(e -> e.getReportType().equals(2)).collect(Collectors.toList()); int tempDetail1 = 0; for (TFeasibilityStudyReport tFeasibilityStudyReport : collect1) { if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) { for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) { tempDetail1 += Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO1.setCount(collect1.size()); tResultWorkEvaluateDetailEngineerVO1.setIntegral(tempDetail1); if (!collect1.isEmpty()) { tResultWorkEvaluateDetailEngineerVO1.setEndTime(collect1.get(collect1.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO1.setStartTime(projectTeam.getCreateTime()); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO1); // 开发阶段 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO(); List status = new ArrayList<>(); status.add(-1); status.add(1); status.add(3); status.add(4); status.add(5); List list2 = projectProposalService.lambdaQuery().eq(TProjectProposal::getCommitUserId, userId) .notIn(TProjectProposal::getAuditStatus, status).list(); List collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect5.isEmpty()) { collect5.add("0"); } List 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 status1 = new ArrayList<>(); status1.add(-1); status1.add(1); status1.add(2); status1.add(4); List 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 collect7 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect7.isEmpty()) { collect7.add("0"); } List 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 status2 = new ArrayList<>(); status2.add(-1); status2.add(1); status2.add(2); status2.add(4); List 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 collect10 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect10.isEmpty()) { collect10.add("0"); } List 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 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 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 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 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 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); return R.ok(tResultWorkEvaluateDetailVO); } @ApiOperation(value = "查看详情-左侧数据-化验师工作内容评定") @GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftTwo") public R getDetailByIdLeftTwo(@RequestParam String id) { TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO(); List tResultWorkEvaluateDetailUserVOS = new ArrayList<>(); TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id); TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId()); tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime()); List role5 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List 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 total = feasibilityStudyReportService.lambdaQuery() .eq(TFeasibilityStudyReport::getStatus, 3) .eq(TFeasibilityStudyReport::getTeamId, resultWorkEvaluate.getTeamId()).list(); List tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); for (SysUser sysUser : user5) { TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO(); tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName()); // 开发阶段 List list1 = tResultWorkEvaluateService.lambdaQuery() .eq(TResultWorkEvaluate::getEvaluateType, 2) .eq(TResultWorkEvaluate::getStatus, 1) .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId()) .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list(); // 调度ids List collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList()); if (collect.isEmpty()) { collect.add("0"); } TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO(); List status = new ArrayList<>(); status.add(-1); status.add(1); status.add(3); status.add(4); status.add(5); // 课题方案ids List 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 list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) .notIn(TProjectProposal::getAuditStatus, status).list(); List collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect5.isEmpty()) { collect5.add("0"); } // 开发阶段调度ids List collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect1.isEmpty()) { collect1.add("0"); } List 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 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 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 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 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 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 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); // todo 项目检测项评定 // 中试、生产验证试验检验分析报告评定 List list = qaProduceReportService.lambdaQuery() .eq(TQaProduceReport::getStatus,3).eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list(); TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO(); List collect3 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList()); if (!collect3.isEmpty()) { tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect3.get(0).getCreateTime()); tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect3.get(collect3.size() - 1).getCreateTime()); } int tempDetail5 = 0; for (TQaProduceReport tQaProduceReport : collect3) { if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){ for (String s : tQaProduceReport.getEvaluateScore().split(",")) { tempDetail5+=Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO5.setCount(collect3.size()); tResultWorkEvaluateDetailEngineerVO5.setIntegral(tempDetail5); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5); // 辅料 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO(); List collect4 = list.stream().filter(e -> e.getReportType() == 2).collect(Collectors.toList()); if (!collect4.isEmpty()) { tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect4.get(0).getCreateTime()); tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect4.get(collect4.size() - 1).getCreateTime()); } int tempDetail6 = 0; for (TQaProduceReport tQaProduceReport : collect4) { if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){ for (String s : tQaProduceReport.getEvaluateScore().split(",")) { tempDetail6+=Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO6.setCount(collect4.size()); tResultWorkEvaluateDetailEngineerVO6.setIntegral(tempDetail6); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO6); // 产品 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO(); List collect9 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList()); if (!collect9.isEmpty()) { tResultWorkEvaluateDetailEngineerVO7.setStartTime(collect9.get(0).getCreateTime()); tResultWorkEvaluateDetailEngineerVO7.setEndTime(collect9.get(collect9.size() - 1).getCreateTime()); } int tempDetail7 = 0; for (TQaProduceReport tQaProduceReport : collect9) { if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){ for (String s : tQaProduceReport.getEvaluateScore().split(",")) { tempDetail7+=Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO7.setCount(collect9.size()); tResultWorkEvaluateDetailEngineerVO7.setIntegral(tempDetail7); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO7); 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 getDetailByIdLeftThree(@RequestParam String id) { TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO(); List tResultWorkEvaluateDetailUserVOS = new ArrayList<>(); TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id); TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId()); tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime()); List role5 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List 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 tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); for (SysUser sysUser : user5) { TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO(); tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName()); // 开发阶段 List list1 = tResultWorkEvaluateService.lambdaQuery() .eq(TResultWorkEvaluate::getEvaluateType, 3) .eq(TResultWorkEvaluate::getStatus, 1) .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId()) .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list(); // 调度ids List collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList()); if (collect.isEmpty()) { collect.add("0"); } TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO(); List status = new ArrayList<>(); status.add(-1); status.add(1); status.add(3); status.add(4); status.add(5); // 课题方案ids List 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 list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) .notIn(TProjectProposal::getAuditStatus, status).list(); List collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect5.isEmpty()) { collect5.add("0"); } // 开发阶段调度ids List collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect1.isEmpty()) { collect1.add("0"); } List 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 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 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 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 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 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 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); // 其他任务 List list = tTesterOtherTaskService.lambdaQuery().eq(TTesterOtherTask::getTesterId, sysUser.getUserId()).list(); TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO(); tResultWorkEvaluateDetailEngineerVO5.setCount(list.size()); if (!list.isEmpty()) { tResultWorkEvaluateDetailEngineerVO5.setStartTime(list.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO5.setEndTime(list.get(list.size() - 1).getEvaluateTime()); } int temp = 0; for (TTesterOtherTask tTesterOtherTask : list) { temp += tTesterOtherTask.getEvaluateScore(); } tResultWorkEvaluateDetailEngineerVO5.setIntegral(temp); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4); tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS); tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO); } return R.ok(tResultWorkEvaluateDetailVO); } }