| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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.framework.web.service.TokenService; |
| | | 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 org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | 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; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @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 TProjectProposalService projectProposalService; |
| | | 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; |
| | | } |
| | | @ApiOperation(value = "项目组总积分分页列表",tags = "项目组总积分",response = TQaTestItemReportQuery.class) |
| | | @PostMapping(value = "/api/t-result-work-evaluate/pageList") |
| | | public R<PageInfo<TResultWorkEvaluateVO>> 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<String> 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<TResultWorkEvaluateDetailVO> 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<Long> role4 = projectTeamStaffService.lambdaQuery() |
| | | .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() |
| | | .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); |
| | | List<Long> role5 = projectTeamStaffService.lambdaQuery() |
| | | .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() |
| | | .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); |
| | | List<SysUser> user4 = new ArrayList<>(); |
| | | List<SysUser> 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<TResultWorkEvaluate> 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<TResultWorkEvaluateDetailVO> 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<Long> role4 = projectTeamStaffService.lambdaQuery() |
| | | .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() |
| | | .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); |
| | | List<Long> role5 = projectTeamStaffService.lambdaQuery() |
| | | .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() |
| | | .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); |
| | | List<SysUser> user4 = new ArrayList<>(); |
| | | List<SysUser> 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<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery() |
| | | .eq(TFeasibilityStudyReport::getStatus,3) |
| | | .eq(TFeasibilityStudyReport::getEvaluatePersonId, userId).list(); |
| | | List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); |
| | | // 工艺可研 |
| | | TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO = new TResultWorkEvaluateDetailEngineerVO(); |
| | | List<TFeasibilityStudyReport> 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<TFeasibilityStudyReport> 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<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"); |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | 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); |
| | | tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS); |
| | | return R.ok(tResultWorkEvaluateDetailVO); |
| | | } |
| | | @ApiOperation(value = "查看详情-左侧数据-化验师工作内容评定") |
| | | @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<>(); |
| | | 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<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery() |
| | | .eq(TFeasibilityStudyReport::getStatus,3) |
| | | .eq(TFeasibilityStudyReport::getTeamId, resultWorkEvaluate.getTeamId()).list(); |
| | | List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); |
| | | for (SysUser sysUser : user5) { |
| | | TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO(); |
| | | tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName()); |
| | | // 开发阶段 |
| | | List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery() |
| | | .eq(TResultWorkEvaluate::getEvaluateType,2) |
| | | .eq(TResultWorkEvaluate::getUserId,sysUser.getUserId()) |
| | | .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list(); |
| | | // 调度ids |
| | | List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList()); |
| | | if (collect.isEmpty()){ |
| | | collect.add("0"); |
| | | } |
| | | TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO(); |
| | | List<Integer> status = new ArrayList<>(); |
| | | status.add(-1); |
| | | 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 (collect6.isEmpty()){ |
| | | collect6.add("0"); |
| | | } |
| | | List<Integer> status1 = new ArrayList<>(); |
| | | status1.add(-1); |
| | | status1.add(1); |
| | | status1.add(2); |
| | | status1.add(4); |
| | | 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(collect5.size()); |
| | | tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2); |
| | | tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2); |
| | | |
| | | // 中试试验阶段 |
| | | TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO(); |
| | | List<String> collect7 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList()); |
| | | if (collect7.isEmpty()){ |
| | | collect7.add("0"); |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | 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); |
| | | } |
| | | |
| | | return R.ok(tResultWorkEvaluateDetailVO); |
| | | } |
| | | } |
| | | |