| | |
| | | @ApiOperation(value = "菌种报告库分页列表查询",tags = "菌种报告库",response = TStrainReportQuery.class) |
| | | @PostMapping(value = "/api/t-strain-report/pageListAll") |
| | | public R<PageInfo<TStrainReportVO>> pageListAll(@RequestBody String param) { |
| | | TStrainReportQuery query = JSON.parseObject(param, TStrainReportQuery.class); |
| | | |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); |
| | | List<String> projectIds = new ArrayList<>(); |
| | | if (!sysUser.getRoleType().equals("1")){ |
| | | // 查询和自己相关的项目组id |
| | | List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list() |
| | | .stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (collect.isEmpty()){ |
| | | collect.add("0"); |
| | | if (sysUser.getRoleType().equals("2")){ |
| | | List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) |
| | | .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (!allProjectIds.isEmpty()){ |
| | | List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) |
| | | .list().stream().map(TProjectTeam::getId).collect(Collectors.toList()); |
| | | |
| | | if (projectIds.isEmpty()){ |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | query.setProjectIds(projectIds); |
| | | }else{ |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | projectIds = collect; |
| | | }else if (!sysUser.getRoleType().equals("1")){ |
| | | List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) |
| | | .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (!allProjectIds.isEmpty()){ |
| | | List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) |
| | | .eq(TProjectTeam::getStatus, 1).list().stream().map(TProjectTeam::getId).collect(Collectors.toList()); |
| | | |
| | | if (projectIds.isEmpty()){ |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | query.setProjectIds(projectIds); |
| | | }else{ |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | } |
| | | TStrainReportQuery query = JSON.parseObject(param, TStrainReportQuery.class); |
| | | if (StringUtils.hasLength(query.getTime())){ |
| | | query.setStartTime(query.getTime().split(" - ")[0]); |
| | | query.setEndTime(query.getTime().split(" - ")[1]); |
| | | } |
| | | query.setProjectIds(projectIds); |
| | | return R.ok(strainReportService.pageListAll(query)); |
| | | } |
| | | //@PreAuthorize("@ss.hasPermi('system:strainReport:list')") |
| | | @ApiOperation(value = "获取菌种报告库操作评定分页列表",tags = "菌种报告库操作评定-菌种实验员",response = TStrainReportQuery.class) |
| | | @PostMapping(value = "/api/t-strain-report/pageList") |
| | | public R<PageInfo<TStrainReportVO>> pageList(@RequestBody String param) { |
| | |
| | | List<SysUser> sysUser1 = sysUserService.selectUserByUserNameLike(query.getEvaluateName()); |
| | | if (sysUser1.isEmpty()){ |
| | | strings.add("0"); |
| | | query.setEvaluateId(strings); |
| | | |
| | | }else{ |
| | | strings = sysUser1.stream().map(SysUser::getUserId).map(String::valueOf).collect(Collectors.toList()); |
| | | query.setEvaluateId(strings); |
| | |
| | | public R<TStrainReportDetailVO> getDetailById(@RequestParam String id) { |
| | | TStrainReportDetailVO tStrainReportDetailVO = new TStrainReportDetailVO(); |
| | | TStrainReport strainReport = strainReportService.getById(id); |
| | | TStrainReportDetail one = strainReportDetailService.getOne(new LambdaQueryWrapper<TStrainReportDetail>() |
| | | TStrainReportDetail strainReportDetail = strainReportDetailService.getOne(new LambdaQueryWrapper<TStrainReportDetail>() |
| | | .eq(TStrainReportDetail::getReportId, strainReport.getId()) |
| | | .eq(TStrainReportDetail::getEvaluateHumanType, 1) |
| | | .eq(TStrainReportDetail::getExperimentId, tokenService.getLoginUser().getUserId())); |
| | | if (one!=null){ |
| | | tStrainReportDetailVO.setEvaluate(one.getEvaluate()); |
| | | } |
| | | BeanUtils.copyProperties(strainReport, tStrainReportDetailVO); |
| | | if (strainReport.getEvaluateId() != null){ |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())); |
| | | if (sysUser != null){ |
| | | tStrainReportDetailVO.setEvaluateName(sysUser.getNickName()); |
| | | if (strainReportDetail!=null){ |
| | | tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate()); |
| | | if (StringUtils.hasLength(strainReportDetail.getEvaluateId())){ |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReportDetail.getEvaluateId())); |
| | | if (sysUser != null){ |
| | | tStrainReportDetailVO.setEvaluateName(sysUser.getNickName()); |
| | | } |
| | | } |
| | | } |
| | | BeanUtils.copyProperties(strainReport, tStrainReportDetailVO); |
| | | |
| | | return R.ok(tStrainReportDetailVO); |
| | | } |
| | | //@PreAuthorize("@ss.hasPermi('system:strainReportProject:pageListProject')") |
| | |
| | | query.setStartTime(query.getTime().split(" - ")[0]); |
| | | query.setEndTime(query.getTime().split(" - ")[1]); |
| | | } |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); |
| | | List<String> projectIds = new ArrayList<>(); |
| | | if (!sysUser.getRoleType().equals("1")){ |
| | | // 查询和自己相关的项目组id |
| | | List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list() |
| | | .stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (collect.isEmpty()){ |
| | | collect.add("0"); |
| | | SysUser sysUser = sysUserService.selectUserById(tokenService.getLoginUser().getUserId()); |
| | | if (sysUser.getRoleType().equals("2")){ |
| | | List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) |
| | | .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (!allProjectIds.isEmpty()){ List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) |
| | | .list().stream().map(TProjectTeam::getId).collect(Collectors.toList()); |
| | | |
| | | if (projectIds.isEmpty()){ |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | query.setProjectIds(projectIds); |
| | | }else { |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | projectIds = collect; |
| | | }else if (!sysUser.getRoleType().equals("1")){ |
| | | List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) |
| | | .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (!allProjectIds.isEmpty()){ |
| | | List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) |
| | | .eq(TProjectTeam::getStatus, 1).list().stream().map(TProjectTeam::getId).collect(Collectors.toList()); |
| | | |
| | | if (projectIds.isEmpty()){ |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | query.setProjectIds(projectIds); |
| | | }else { |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | } |
| | | query.setProjectIds(projectIds); |
| | | return R.ok(strainReportService.pageListProject(query)); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "菌种项目组评定详情",tags = "菌种项目组评定表") |
| | | @GetMapping(value = "/open/t-strain-report/getDetailByIdProject") |
| | | public R<TStrainReportDetailProjectVO> getDetailByIdProject(@RequestParam String id) { |
| | | TProjectTeam byId = projectTeamService.getById(id); |
| | | TProjectTeam project = projectTeamService.getById(id); |
| | | |
| | | TStrainReportDetailProjectVO tStrainReportDetailVO = new TStrainReportDetailProjectVO(); |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); |
| | | List<TStrainReport> tStrainReports = strainReportService.list(new LambdaQueryWrapper<TStrainReport>() |
| | | .eq(TStrainReport::getStatus,3).eq(TStrainReport::getProjectId,id)); |
| | | List<String> collect7 = tStrainReports.stream().map(TStrainReport::getId).collect(Collectors.toList()); |
| | | if (collect7.isEmpty())collect7.add("0"); |
| | | List<String> strainReportIds = tStrainReports.stream().map(TStrainReport::getId).collect(Collectors.toList()); |
| | | if (strainReportIds.isEmpty())strainReportIds.add("0"); |
| | | List<TStrainReportDetail> tStrainReportDetails = strainReportDetailService |
| | | .list(new LambdaQueryWrapper<TStrainReportDetail>().in(TStrainReportDetail::getReportId,collect7) |
| | | .list(new LambdaQueryWrapper<TStrainReportDetail>().in(TStrainReportDetail::getReportId,strainReportIds) |
| | | .isNotNull(TStrainReportDetail::getExperimentId) |
| | | .orderByDesc(TStrainReportDetail::getCreateTime)); |
| | | BigDecimal sum = new BigDecimal("0"); |
| | | BigDecimal sum1 = new BigDecimal("0"); |
| | |
| | | Integer temp = 0; |
| | | for (TStrainReport tStrainReport : tStrainReports) { |
| | | |
| | | List<TStrainReportDetail> collect1 = tStrainReportDetails.stream() |
| | | List<TStrainReportDetail> tStrainReportDetails1 = tStrainReportDetails.stream() |
| | | .filter(e -> e.getReportId().equals(tStrainReport.getId())&& |
| | | e.getEvaluateHumanType()==1).collect(Collectors.toList()); |
| | | List<TStrainReportDetail> collect2 = tStrainReportDetails.stream() |
| | | List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream() |
| | | .filter(e -> e.getReportId().equals(tStrainReport.getId())&& |
| | | e.getEvaluateHumanType()==2).collect(Collectors.toList()); |
| | | // 菌种工程积分 |
| | | sum1 = collect2.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(1)) |
| | | .map(TStrainReportDetail::getEvaluateTotal) |
| | | .reduce(BigDecimal::add) |
| | | .orElse(BigDecimal.ZERO); |
| | | // 菌种实验员积分 |
| | | sum2 = collect1.stream() |
| | | sum1 = sum1.add(tStrainReportDetails2.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(2)) |
| | | .map(TStrainReportDetail::getEvaluateTotal) |
| | | .reduce(BigDecimal::add) |
| | | .orElse(BigDecimal.ZERO); |
| | | List<TStrainReportDetail> collect3 = tStrainReportDetails.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList()); |
| | | for (TStrainReportDetail tStrainReportDetail : collect3) { |
| | | .orElse(BigDecimal.ZERO)); |
| | | // 菌种实验员积分 |
| | | sum2 = sum2.add(tStrainReportDetails1.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getReportType()==1) |
| | | .map(TStrainReportDetail::getEvaluateTotal) |
| | | .reduce(BigDecimal::add) |
| | | .orElse(BigDecimal.ZERO)); |
| | | List<TStrainReportDetail> tStrainReportDetails3 = tStrainReportDetails.stream().filter(e -> e.getReportId().equals(tStrainReport.getId()) |
| | | && |
| | | e.getReportType() == 1).collect(Collectors.toList()); |
| | | for (TStrainReportDetail tStrainReportDetail : tStrainReportDetails3) { |
| | | // 根据评定等级统计失败次数 |
| | | if (StringUtils.hasLength(tStrainReportDetail.getEvaluate())&& tStrainReportDetail.getEvaluate().split(",").length>=5){ |
| | | if (tStrainReportDetail.getEvaluate().split(",")[4].equals("2")){ |
| | | if (tStrainReportDetail.getEvaluate().split(",")[4].equals("-3")){ |
| | | temp++; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | tStrainReportDetailVO.setTeamIntegral(sum); |
| | | tStrainReportDetailVO.setTeamIntegral(sum1.add(sum2)); |
| | | tStrainReportDetailVO.setEngineerIntegral(sum1); |
| | | tStrainReportDetailVO.setExperimenterIntegral(sum2); |
| | | |
| | | |
| | | tStrainReportDetailVO.setFailCount(temp); |
| | | List<TStrainReport> collect1 = tStrainReports.stream().filter(e -> e.getProjectId().equals(byId.getId())).collect(Collectors.toList()); |
| | | if (!collect1.isEmpty()){ |
| | | tStrainReportDetailVO.setEndTime(collect1.get(0).getEvaluateTime()); |
| | | List<TStrainReport> strainReportIdsByProjectId = tStrainReports.stream().filter(e -> e.getProjectId().equals(project.getId())).collect(Collectors.toList()); |
| | | if (!strainReportIdsByProjectId.isEmpty()){ |
| | | tStrainReportDetailVO.setEndTime(strainReportIdsByProjectId.get(0).getEvaluateTime()); |
| | | } |
| | | tStrainReportDetailVO.setStartTime(byId.getCreateTime()); |
| | | TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId()) |
| | | tStrainReportDetailVO.setStartTime(project.getCreateTime()); |
| | | TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, project.getId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 2).one(); |
| | | |
| | | List<String> strings = new ArrayList<>(); |
| | | List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS = new ArrayList<>(); |
| | | |
| | | |
| | | if (sysUser.getRoleType().equals("4")){ |
| | | TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO(); |
| | | tStrainReportDetailExperimentVO.setUserName(sysUser.getNickName()); |
| | | tStrainReportDetailExperimentVO.setHandleCount((int) tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).count()); |
| | | tStrainReportDetailExperimentVO.setHandleCount((int) tStrainReportDetails.stream().filter(e -> e.getExperimentId()!=null&&e.getExperimentId().equals(sysUser.getUserId() + "")).count()); |
| | | BigDecimal handleIntegral = tStrainReportDetails.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"")) |
| | | .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"") |
| | | &&e.getReportType()==1) |
| | | .map(TStrainReportDetail::getEvaluateTotal) |
| | | .reduce(BigDecimal::add) |
| | | .orElse(BigDecimal.ZERO); |
| | | tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral); |
| | | |
| | | List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList()); |
| | | if (!collect.isEmpty()){ |
| | | tStrainReportDetailExperimentVO.setHandleStartTime(collect.get(0).getCreateTime()); |
| | | List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList()); |
| | | if (!strainReportDetails.isEmpty()){ |
| | | tStrainReportDetailExperimentVO.setHandleEndTime(strainReportDetails.get(strainReportDetails.size()-1).getCreateTime()); |
| | | } |
| | | tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime()); |
| | | tStrainReportDetailExperimentVOS.add(tStrainReportDetailExperimentVO); |
| | | tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS); |
| | | }else{ |
| | | List<TStrainReportDetail> collect6 = tStrainReportDetails.stream() |
| | | List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream() |
| | | .filter(e -> e.getEvaluateHumanType() == 2&& |
| | | e.getExperimentId().equals(one1.getUserId())).collect(Collectors.toList()); |
| | | if (collect6.isEmpty()){ |
| | | e.getExperimentId().equals(projectTeamStaff.getUserId())).collect(Collectors.toList()); |
| | | if (strainReportDetails.isEmpty()){ |
| | | TStrainReportDetailEngineerVO tStrainReportDetailEngineerVO = new TStrainReportDetailEngineerVO(); |
| | | tStrainReportDetailEngineerVO.setInnovateCount(0); |
| | | tStrainReportDetailEngineerVO.setInnovateIntegral(BigDecimal.ZERO); |
| | |
| | | tStrainReportDetailVO.setDetailEngineerVO(tStrainReportDetailEngineerVO); |
| | | List<String> userIds = new ArrayList<>(); |
| | | List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS1 = new ArrayList<>(); |
| | | List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList()); |
| | | List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1) |
| | | &&e.getReportType()==1).collect(Collectors.toList()); |
| | | for (TStrainReportDetail tStrainReportDetail : collect) { |
| | | if (userIds.contains(tStrainReportDetail.getExperimentId())){ |
| | | continue; |
| | |
| | | tStrainReportDetailExperimentVO.setUserName(sysUserService.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId())).getNickName()); |
| | | tStrainReportDetailExperimentVO.setHandleCount((int) collect.stream().filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId())).count()); |
| | | BigDecimal handleIntegral = collect.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"")) |
| | | .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"") |
| | | &&e.getReportType()==1) |
| | | .map(TStrainReportDetail::getEvaluateTotal) |
| | | .reduce(BigDecimal::add) |
| | | .orElse(BigDecimal.ZERO); |
| | | tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral); |
| | | List<TStrainReportDetail> collect9 = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList()); |
| | | if (!collect9.isEmpty()){ |
| | | tStrainReportDetailExperimentVO.setHandleEndTime(collect9.get(collect9.size()-1).getCreateTime()); |
| | | List<TStrainReportDetail> reportDetails = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList()); |
| | | if (!reportDetails.isEmpty()){ |
| | | tStrainReportDetailExperimentVO.setHandleEndTime(reportDetails.get(reportDetails.size()-1).getCreateTime()); |
| | | } |
| | | tStrainReportDetailExperimentVO.setHandleStartTime(byId.getCreateTime()); |
| | | tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime()); |
| | | tStrainReportDetailExperimentVOS1.add(tStrainReportDetailExperimentVO); |
| | | } |
| | | tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS1); |
| | | |
| | | }else{ |
| | | List<TStrainReportDetail> collect2 = collect6.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(2) && e.getExperimentId().equals(one1.getUserId())).collect(Collectors.toList()); |
| | | List<TStrainReportDetail> reportDetails = strainReportDetails.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(2) && e.getExperimentId().equals(projectTeamStaff.getUserId())).collect(Collectors.toList()); |
| | | |
| | | TStrainReportDetailEngineerVO tStrainReportDetailEngineerVO = new TStrainReportDetailEngineerVO(); |
| | | tStrainReportDetailEngineerVO.setInnovateCount((int)collect2.stream().filter(e->e.getEvaluateType().equals(1)).count()); |
| | | tStrainReportDetailEngineerVO.setInnovateIntegral(collect2.stream().filter(e->e.getEvaluateType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); |
| | | List<TStrainReportDetail> collect3 = collect2.stream().filter(e -> e.getEvaluateType().equals(1)).collect(Collectors.toList()); |
| | | if (!collect3.isEmpty()){ |
| | | tStrainReportDetailEngineerVO.setInnovateStartTime(collect3.get(collect3.size()-1).getCreateTime()); |
| | | tStrainReportDetailEngineerVO.setInnovateCount((int)reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).count()); |
| | | tStrainReportDetailEngineerVO.setInnovateIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); |
| | | List<TStrainReportDetail> tStrainReportDetails1 = reportDetails.stream().filter(e ->e.getEvaluateType()!=null&& e.getEvaluateType().equals(1)).collect(Collectors.toList()); |
| | | if (!tStrainReportDetails1.isEmpty()){ |
| | | tStrainReportDetailEngineerVO.setInnovateEndTime(tStrainReportDetails1.get(tStrainReportDetails1.size()-1).getCreateTime()); |
| | | } |
| | | tStrainReportDetailEngineerVO.setInnovateEndTime(byId.getCreateTime()); |
| | | tStrainReportDetailEngineerVO.setInnovateStartTime(project.getCreateTime()); |
| | | |
| | | tStrainReportDetailEngineerVO.setRegulationCount((int)collect2.stream().filter(e->e.getEvaluateType().equals(2)).count()); |
| | | tStrainReportDetailEngineerVO.setRegulationIntegral(collect2.stream().filter(e->e.getEvaluateType().equals(2)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); |
| | | List<TStrainReportDetail> collect4 = collect2.stream().filter(e -> e.getEvaluateType().equals(2)).collect(Collectors.toList()); |
| | | tStrainReportDetailEngineerVO.setRegulationCount((int)reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).count()); |
| | | tStrainReportDetailEngineerVO.setRegulationIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); |
| | | List<TStrainReportDetail> collect4 = reportDetails.stream().filter(e -> e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).collect(Collectors.toList()); |
| | | if (!collect4.isEmpty()){ |
| | | tStrainReportDetailEngineerVO.setRegulationStartTime(collect4.get(collect4.size()-1).getCreateTime()); |
| | | tStrainReportDetailEngineerVO.setRegulationEndTime(collect4.get(collect4.size()-1).getCreateTime()); |
| | | } |
| | | tStrainReportDetailEngineerVO.setRegulationEndTime(byId.getCreateTime()); |
| | | tStrainReportDetailEngineerVO.setRegulationStartTime(project.getCreateTime()); |
| | | |
| | | tStrainReportDetailEngineerVO.setHandleCount((int)collect2.stream().filter(e->e.getReportType().equals(1)).count()); |
| | | tStrainReportDetailEngineerVO.setHandleIntegral(collect2.stream().filter(e->e.getReportType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); |
| | | List<TStrainReportDetail> collect5 = collect2.stream().filter(e->e.getReportType().equals(1)).collect(Collectors.toList()); |
| | | if (!collect5.isEmpty()){ |
| | | tStrainReportDetailEngineerVO.setHandleStartTime(collect5.get(collect5.size()-1).getCreateTime()); |
| | | tStrainReportDetailEngineerVO.setHandleCount((int)reportDetails.stream().filter(e->e.getReportType().equals(1)).count()); |
| | | tStrainReportDetailEngineerVO.setHandleIntegral(reportDetails.stream().filter(e->e.getReportType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); |
| | | List<TStrainReportDetail> reportDetailList = reportDetails.stream().filter(e->e.getReportType().equals(1)).collect(Collectors.toList()); |
| | | if (!reportDetailList.isEmpty()){ |
| | | tStrainReportDetailEngineerVO.setHandleEndTime(reportDetailList.get(reportDetailList.size()-1).getCreateTime()); |
| | | } |
| | | tStrainReportDetailEngineerVO.setHandleEndTime(byId.getCreateTime()); |
| | | tStrainReportDetailEngineerVO.setHandleStartTime(project.getCreateTime()); |
| | | |
| | | tStrainReportDetailVO.setDetailEngineerVO(tStrainReportDetailEngineerVO); |
| | | List<String> userIds = new ArrayList<>(); |
| | | List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS1 = new ArrayList<>(); |
| | | List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList()); |
| | | for (TStrainReportDetail tStrainReportDetail : collect) { |
| | | if (userIds.contains(tStrainReportDetail.getExperimentId())){ |
| | | continue; |
| | | } |
| | | userIds.add(tStrainReportDetail.getExperimentId()); |
| | | List<String> experimentIds = tStrainReportDetails.stream().filter(e -> |
| | | e.getEvaluateHumanType().equals(1) |
| | | &&e.getReportType()==1) |
| | | .map(TStrainReportDetail::getExperimentId) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList()); |
| | | for (String experimentId : experimentIds) { |
| | | List<TStrainReportDetail> details = tStrainReportDetails2.stream().filter(e -> e.getExperimentId().equals(experimentId)).collect(Collectors.toList()); |
| | | |
| | | TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO(); |
| | | tStrainReportDetailExperimentVO.setUserName(sysUserService.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId())).getNickName()); |
| | | tStrainReportDetailExperimentVO.setHandleCount((int) collect.stream().filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId())).count()); |
| | | BigDecimal handleIntegral = collect.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"")) |
| | | SysUser sysUser1 = sysUserService.selectUserById(Long.valueOf(experimentId)); |
| | | tStrainReportDetailExperimentVO.setUserName(sysUser1.getNickName()); |
| | | tStrainReportDetailExperimentVO.setHandleCount(details.size()); |
| | | BigDecimal handleIntegral = details.stream() |
| | | .filter(e -> e.getEvaluateHumanType().equals(1) |
| | | &&e.getReportType()==1) |
| | | .map(TStrainReportDetail::getEvaluateTotal) |
| | | .reduce(BigDecimal::add) |
| | | .orElse(BigDecimal.ZERO); |
| | | tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral); |
| | | List<TStrainReportDetail> collect9 = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList()); |
| | | if (!collect9.isEmpty()){ |
| | | tStrainReportDetailExperimentVO.setHandleEndTime(collect9.get(collect9.size()-1).getCreateTime()); |
| | | if (!tStrainReportDetails2.isEmpty()){ |
| | | tStrainReportDetailExperimentVO.setHandleEndTime(details.get(details.size()-1).getCreateTime()); |
| | | } |
| | | tStrainReportDetailExperimentVO.setHandleStartTime(byId.getCreateTime()); |
| | | tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime()); |
| | | tStrainReportDetailExperimentVOS1.add(tStrainReportDetailExperimentVO); |
| | | } |
| | | tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS1); |
| | |
| | | tStrainReportDetail.setEvaluateType(dto.getEvaluateType()); |
| | | strainReportDetailService.save(tStrainReportDetail); |
| | | if (dto.getIsDraft()==0){ |
| | | // 新增消息 |
| | | // 新增审批消息 |
| | | TNotice tNotice = new TNotice(); |
| | | TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) |
| | | TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); |
| | | tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); |
| | | tNotice.setUserId(one.getUserId()); |
| | | tNotice.setUserId(projectTeamStaff.getUserId()); |
| | | tNotice.setStatus(1); |
| | | tNotice.setNoticeContent("您有【1】条【菌种报告】【报告库"+dto.getReportType()+"】等待审核"); |
| | | tNotice.setDataId(dto.getId()); |
| | |
| | | noticeService.save(tNotice); |
| | | // 新增消息 |
| | | TNotice tNotice1 = new TNotice(); |
| | | TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 3).last("limit 1").one(); |
| | | |
| | | tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+""); |
| | | tNotice1.setUserId(one1.getUserId()); |
| | | tNotice1.setUserId(dto.getExperimentId()); |
| | | tNotice1.setStatus(1); |
| | | tNotice1.setNoticeContent("您有【1】条菌种库操作菌种工程师已评定;"); |
| | | tNotice1.setDataId(dto.getId()); |
| | |
| | | if (dto.getIsDraft()==0){ |
| | | // 新增消息 |
| | | TNotice tNotice = new TNotice(); |
| | | TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) |
| | | TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); |
| | | |
| | | tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); |
| | | tNotice.setUserId(one.getUserId()); |
| | | tNotice.setUserId(projectTeamStaff.getUserId()); |
| | | tNotice.setStatus(1); |
| | | tNotice.setNoticeContent("您有【1】条【菌种报告】【报告库"+dto.getReportType()+"】等待审核"); |
| | | tNotice.setDataId(dto.getId()); |
| | |
| | | //@PreAuthorize("@ss.hasPermi('system:strainReport:cancelReport')") |
| | | @Log(title = "菌种库报告管理-菌种工程师撤销审批", businessType = BusinessType.UPDATE) |
| | | @ApiOperation(value = "菌种工程师撤销审批",tags = "菌种报告库") |
| | | @PostMapping(value = "/api/t-strain-report/cancelReport") |
| | | public R<Boolean> cancelReport(@RequestBody String id) { |
| | | @GetMapping(value = "/open/t-strain-report/cancelReport") |
| | | public R<Boolean> cancelReport(@RequestParam String id) { |
| | | TStrainReport strainReport = strainReportService.getById(id); |
| | | strainReport.setIsDraft(1); |
| | | strainReport.setStatus(1); |
| | |
| | | strainReportService.updateById(strainReport); |
| | | // 新增消息 |
| | | TNotice tNotice = new TNotice(); |
| | | TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); |
| | | |
| | | tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); |
| | | tNotice.setUserId(tokenService.getLoginUser().getUserId()+""); |
| | | tNotice.setStatus(1); |
| | |
| | | tNotice.setNoticeType(2); |
| | | noticeService.save(tNotice); |
| | | |
| | | // 新增消息 |
| | | TNotice tNotice1 = new TNotice(); |
| | | TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); |
| | | // 新增消息 |
| | | TNotice notice = new TNotice(); |
| | | TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 2).last("limit 1").one(); |
| | | |
| | | tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+""); |
| | | tNotice1.setUserId(one1.getUserId()); |
| | | tNotice1.setStatus(1); |
| | | String temp=dto.getStatus()==2?"通过":"驳回"; |
| | | tNotice1.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】"); |
| | | tNotice1.setDataId(dto.getId()); |
| | | tNotice1.setNoticeType(7); |
| | | noticeService.save(tNotice1); |
| | | notice.setCommitId(tokenService.getLoginUser().getUserId()+""); |
| | | notice.setUserId(tProjectTeamStaff.getUserId()); |
| | | notice.setStatus(1); |
| | | String temp=dto.getStatus()==2?"通过":"驳回"; |
| | | notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】"); |
| | | notice.setDataId(dto.getId()); |
| | | notice.setNoticeType(7); |
| | | noticeService.save(notice); |
| | | return R.ok(); |
| | | } |
| | | /** |
| | |
| | | tStrainReportDetail.setEvaluateType(dto.getEvaluateType()); |
| | | strainReportDetailService.save(tStrainReportDetail); |
| | | // 新增消息 |
| | | TNotice tNotice1 = new TNotice(); |
| | | TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); |
| | | tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+""); |
| | | tNotice1.setUserId(one1.getUserId()); |
| | | tNotice1.setStatus(1); |
| | | tNotice1.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已评定"); |
| | | tNotice1.setDataId(dto.getId()); |
| | | tNotice1.setNoticeType(8); |
| | | noticeService.save(tNotice1); |
| | | TNotice notice = new TNotice(); |
| | | TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery() |
| | | .eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 2).last("limit 1").one(); |
| | | notice.setCommitId(tokenService.getLoginUser().getUserId()+""); |
| | | notice.setUserId(projectTeamStaff.getUserId()); |
| | | notice.setStatus(1); |
| | | notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已评定"); |
| | | notice.setDataId(dto.getId()); |
| | | notice.setNoticeType(8); |
| | | noticeService.save(notice); |
| | | return R.ok(); |
| | | } |
| | | /** |
| | |
| | | } |
| | | } |
| | | BeanUtils.copyProperties(strainReport, tStrainReportDetailVO); |
| | | TProjectTeam byId = projectTeamService.getById(strainReport.getProjectId()); |
| | | List<TProjectTeamStaff> list = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId()).list(); |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | TProjectTeam projectTeam = projectTeamService.getById(strainReport.getProjectId()); |
| | | List<TProjectTeamStaff> list = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).list(); |
| | | StringBuilder staffNames = new StringBuilder(); |
| | | for (TProjectTeamStaff tProjectTeamStaff : list) { |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(tProjectTeamStaff.getUserId())); |
| | | if (sysUser!=null){ |
| | | stringBuilder.append(sysUser.getNickName()).append(","); |
| | | staffNames.append(sysUser.getNickName()).append(","); |
| | | } |
| | | } |
| | | if (StringUtils.hasLength(stringBuilder.toString())){ |
| | | byId.setStaff(stringBuilder.substring(0, stringBuilder.toString().length() - 1)); |
| | | if (StringUtils.hasLength(staffNames.toString())){ |
| | | projectTeam.setStaff(staffNames.substring(0, staffNames.toString().length() - 1)); |
| | | } |
| | | tStrainReportDetailVO.setProjectTeam(byId); |
| | | TStrainReportDetail one = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id) |
| | | tStrainReportDetailVO.setProjectTeam(projectTeam); |
| | | TStrainReportDetail strainReportDetail = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id) |
| | | .eq(TStrainReportDetail::getEvaluateHumanType, 1).one(); |
| | | tStrainReportDetailVO.setEvaluate(one.getEvaluate()); |
| | | tStrainReportDetailVO.setEvaluateTotal(one.getEvaluateTotal()); |
| | | tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate()); |
| | | tStrainReportDetailVO.setEvaluateTotal(strainReportDetail.getEvaluateTotal()); |
| | | if (strainReport.getEvaluateId()!=null){ |
| | | tStrainReportDetailVO.setEvaluateName(sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())).getNickName()); |
| | | } |
| | | if (one.getExperimentId()!=null){ |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(one.getExperimentId())); |
| | | if (strainReportDetail.getExperimentId()!=null){ |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReportDetail.getExperimentId())); |
| | | tStrainReportDetailVO.setExperimentName(sysUser.getNickName()); |
| | | tStrainReportDetailVO.setExperimentAvatar(sysUser.getAvatar()); |
| | | tStrainReportDetailVO.setExperimentId(one.getExperimentId()); |
| | | tStrainReportDetailVO.setExperimentId(strainReportDetail.getExperimentId()); |
| | | } |
| | | tStrainReportDetailVO.setReportType(strainReport.getReportType()); |
| | | if (strainReport.getCommitId()!=null){ |
| | |
| | | TStrainReportDetailVO tStrainReportDetailVO = new TStrainReportDetailVO(); |
| | | TStrainReport strainReport = strainReportService.getById(id); |
| | | BeanUtils.copyProperties(strainReport, tStrainReportDetailVO); |
| | | TProjectTeam byId = projectTeamService.getById(strainReport.getProjectId()); |
| | | tStrainReportDetailVO.setProjectTeam(byId); |
| | | TStrainReportDetail one = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id) |
| | | TProjectTeam projectTeam = projectTeamService.getById(strainReport.getProjectId()); |
| | | tStrainReportDetailVO.setProjectTeam(projectTeam); |
| | | TStrainReportDetail strainReportDetail = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id) |
| | | .eq(TStrainReportDetail::getEvaluateHumanType, 2).one(); |
| | | tStrainReportDetailVO.setEvaluate(one.getEvaluate()); |
| | | tStrainReportDetailVO.setEvaluateTotal(one.getEvaluateTotal()); |
| | | tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate()); |
| | | tStrainReportDetailVO.setEvaluateTotal(strainReportDetail.getEvaluateTotal()); |
| | | tStrainReportDetailVO.setEvaluateName(sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())).getNickName()); |
| | | tStrainReportDetailVO.setExperimentName(sysUserService.selectUserById(Long.valueOf(one.getExperimentId())).getNickName()); |
| | | tStrainReportDetailVO.setExperimentId(one.getExperimentId()); |
| | | tStrainReportDetailVO.setExperimentName(sysUserService.selectUserById(Long.valueOf(strainReportDetail.getExperimentId())).getNickName()); |
| | | tStrainReportDetailVO.setExperimentId(strainReportDetail.getExperimentId()); |
| | | tStrainReportDetailVO.setReportType(strainReport.getReportType()); |
| | | tStrainReportDetailVO.setCommitName(sysUserService.selectUserById(Long.valueOf(strainReport.getCommitId())).getNickName()); |
| | | return R.ok(tStrainReportDetailVO); |