| | |
| | | |
| | | |
| | | 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.service.TResultWorkEvaluateService; |
| | | 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.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | 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> |
| | |
| | | @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; |
| | | |
| | | private final TResultWorkEvaluateService resultWorkEvaluateService; |
| | | @Resource |
| | | private TProjectProposalService projectProposalService; |
| | | @Resource |
| | | private TQaProduceReportService qaProduceReportService; |
| | | private final TProjectTeamService projectTeamService; |
| | | private final TProjectTeamStaffService projectTeamStaffService; |
| | | private final ISysUserService sysUserService; |
| | | |
| | | @Autowired |
| | | public TResultWorkEvaluateController(TResultWorkEvaluateService resultWorkEvaluateService) { |
| | | this.resultWorkEvaluateService = resultWorkEvaluateService; |
| | | public TResultWorkEvaluateController(TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService) { |
| | | this.projectTeamService = projectTeamService; |
| | | this.projectTeamStaffService = projectTeamStaffService; |
| | | this.sysUserService = sysUserService; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')") |
| | | @Log(title = "QA检测项管理信息-新增QA检测项管理", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "添加QA检测项管理",response = TQaTestItemDTO.class) |
| | | @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); |
| | | 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) { |
| | | 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()); |
| | | 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::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); |
| | | // todo 项目检测项评定 |
| | | |
| | | |
| | | // 中试、生产验证试验检验分析报告评定 |
| | | List<TQaProduceReport> list = qaProduceReportService.lambdaQuery() |
| | | .eq(TQaProduceReport::getStatus,3).eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list(); |
| | | TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO(); |
| | | List<TQaProduceReport> 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<TQaProduceReport> 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<TQaProduceReport> 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<TResultWorkEvaluateDetailVO> getDetailByIdLeftThree(@RequestParam String id) { |
| | | TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO(); |
| | | List<TResultWorkEvaluateDetailUserVO> tResultWorkEvaluateDetailUserVOS = new ArrayList<>(); |
| | | TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id); |
| | | TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId()); |
| | | tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime()); |
| | | List<Long> role5 = projectTeamStaffService.lambdaQuery() |
| | | .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() |
| | | .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); |
| | | List<SysUser> user5 = new ArrayList<>(); |
| | | SysUser sysUser1 = sysUserService.selectUserById(tokenService.getLoginUser().getUserId()); |
| | | if (sysUser1.getRoleType() == 4 || sysUser1.getRoleType() == 5) { |
| | | //只能查看自己的 |
| | | user5.add(sysUser1); |
| | | } else { |
| | | for (Long l : role5) { |
| | | SysUser sysUser = sysUserService.selectUserById(l); |
| | | if (sysUser != null) { |
| | | user5.add(sysUser); |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); |
| | | for (SysUser sysUser : user5) { |
| | | TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO(); |
| | | tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName()); |
| | | // 开发阶段 |
| | | List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery() |
| | | .eq(TResultWorkEvaluate::getEvaluateType, 3) |
| | | .eq(TResultWorkEvaluate::getStatus, 1) |
| | | .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId()) |
| | | .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list(); |
| | | // 调度ids |
| | | List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList()); |
| | | if (collect.isEmpty()) { |
| | | collect.add("0"); |
| | | } |
| | | TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO(); |
| | | List<Integer> status = new ArrayList<>(); |
| | | status.add(-1); |
| | | status.add(1); |
| | | status.add(3); |
| | | status.add(4); |
| | | status.add(5); |
| | | // 课题方案ids |
| | | List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect) |
| | | .ne(TExperimentDispatch::getStatus, -1) |
| | | .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList()); |
| | | if (collect6.isEmpty()) { |
| | | collect6.add("0"); |
| | | } |
| | | List<TProjectProposal> list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) |
| | | .notIn(TProjectProposal::getAuditStatus, status).list(); |
| | | List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList()); |
| | | if (collect5.isEmpty()) { |
| | | collect5.add("0"); |
| | | } |
| | | // 开发阶段调度ids |
| | | List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); |
| | | if (collect1.isEmpty()) { |
| | | collect1.add("0"); |
| | | } |
| | | List<TResultWorkEvaluate> collect2 = list1.stream().filter(e -> collect1.contains(e.getDispatchId())).collect(Collectors.toList()); |
| | | int tempDetail2 = 0; |
| | | for (TResultWorkEvaluate tResultWorkEvaluate : collect2) { |
| | | Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); |
| | | switch (evaluateOne) { |
| | | case 1: |
| | | |
| | | tempDetail2 += 2; |
| | | break; |
| | | case 2: |
| | | tempDetail2 += 1; |
| | | |
| | | break; |
| | | |
| | | } |
| | | Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); |
| | | switch (evaluateTwo) { |
| | | case 1: |
| | | tempDetail2 += 2; |
| | | break; |
| | | case 2: |
| | | tempDetail2 += 1; |
| | | |
| | | break; |
| | | } |
| | | Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); |
| | | switch (evaluateThree) { |
| | | case 1: |
| | | tempDetail2 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail2 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); |
| | | switch (evaluateFour) { |
| | | case 1: |
| | | tempDetail2 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail2 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); |
| | | switch (evaluateFive) { |
| | | case 1: |
| | | tempDetail2 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail2 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); |
| | | switch (evaluateSix) { |
| | | case 1: |
| | | tempDetail2 -= 3; |
| | | break; |
| | | } |
| | | } |
| | | if (!list1.isEmpty()) { |
| | | tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime()); |
| | | } |
| | | tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime()); |
| | | tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size()); |
| | | tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2); |
| | | tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2); |
| | | |
| | | // 中试试验阶段 |
| | | TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO(); |
| | | List<String> collect7 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) |
| | | .eq(TProjectProposal::getProjectStage, 2) |
| | | .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList()); |
| | | if (collect7.isEmpty()) { |
| | | collect7.add("0"); |
| | | } |
| | | List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7) |
| | | .ne(TExperimentDispatch::getStatus, -1) |
| | | .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); |
| | | if (collect8.isEmpty()) { |
| | | collect8.add("0"); |
| | | } |
| | | List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery() |
| | | .eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list(); |
| | | int tempDetail3 = 0; |
| | | for (TResultWorkEvaluate tResultWorkEvaluate : list3) { |
| | | Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); |
| | | switch (evaluateOne) { |
| | | case 1: |
| | | |
| | | tempDetail3 += 2; |
| | | break; |
| | | case 2: |
| | | tempDetail3 += 1; |
| | | |
| | | break; |
| | | |
| | | } |
| | | Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); |
| | | switch (evaluateTwo) { |
| | | case 1: |
| | | tempDetail3 += 2; |
| | | break; |
| | | case 2: |
| | | tempDetail3 += 1; |
| | | |
| | | break; |
| | | } |
| | | Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); |
| | | switch (evaluateThree) { |
| | | case 1: |
| | | tempDetail3 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail3 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); |
| | | switch (evaluateFour) { |
| | | case 1: |
| | | tempDetail3 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail3 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); |
| | | switch (evaluateFive) { |
| | | case 1: |
| | | tempDetail3 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail3 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); |
| | | switch (evaluateSix) { |
| | | case 1: |
| | | tempDetail3 -= 3; |
| | | break; |
| | | } |
| | | } |
| | | if (!list3.isEmpty()) { |
| | | tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime()); |
| | | tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime()); |
| | | } |
| | | tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size()); |
| | | tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3); |
| | | tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3); |
| | | // 验证试验阶段 |
| | | TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO(); |
| | | |
| | | List<String> collect10 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) |
| | | .eq(TProjectProposal::getProjectStage, 2) |
| | | .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList()); |
| | | if (collect10.isEmpty()) { |
| | | collect10.add("0"); |
| | | } |
| | | List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10) |
| | | .ne(TExperimentDispatch::getStatus, -1) |
| | | .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); |
| | | if (collect11.isEmpty()) { |
| | | collect11.add("0"); |
| | | } |
| | | List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list(); |
| | | int tempDetail4 = 0; |
| | | for (TResultWorkEvaluate tResultWorkEvaluate : list4) { |
| | | Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); |
| | | switch (evaluateOne) { |
| | | case 1: |
| | | |
| | | tempDetail4 += 2; |
| | | break; |
| | | case 2: |
| | | tempDetail4 += 1; |
| | | |
| | | break; |
| | | |
| | | } |
| | | Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); |
| | | switch (evaluateTwo) { |
| | | case 1: |
| | | tempDetail4 += 2; |
| | | break; |
| | | case 2: |
| | | tempDetail4 += 1; |
| | | |
| | | break; |
| | | } |
| | | Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); |
| | | switch (evaluateThree) { |
| | | case 1: |
| | | tempDetail4 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail4 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); |
| | | switch (evaluateFour) { |
| | | case 1: |
| | | tempDetail4 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail4 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); |
| | | switch (evaluateFive) { |
| | | case 1: |
| | | tempDetail4 += 2; |
| | | |
| | | break; |
| | | case 2: |
| | | tempDetail4 += 1; |
| | | break; |
| | | } |
| | | Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); |
| | | switch (evaluateSix) { |
| | | case 1: |
| | | tempDetail4 -= 3; |
| | | break; |
| | | } |
| | | } |
| | | if (!list4.isEmpty()) { |
| | | tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime()); |
| | | tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime()); |
| | | } |
| | | tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size()); |
| | | tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4); |
| | | tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4); |
| | | // 其他任务 |
| | | List<TTesterOtherTask> 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); |
| | | } |
| | | } |
| | | |