| | |
| | | public R<PageInfo<TProjectTeamVO>> choiceProjectList(@RequestBody String param) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); |
| | | List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (projectIds.isEmpty()){ |
| | | projectIds.add("0"); |
| | | } |
| | | ChoiceProjectDTO query = JSON.parseObject(param, ChoiceProjectDTO.class); |
| | | query.setProjectIds(projectIds); |
| | | if (!"1".equals(sysUser.getRoleType())) { |
| | | List<String> projectIds = getAccessibleProjectIds(sysUser.getUserId()); |
| | | if (projectIds.isEmpty()) { |
| | | projectIds.add("0"); |
| | | } |
| | | query.setProjectIds(projectIds); |
| | | } |
| | | return R.ok(projectTeamService.choiceProjectList(query)); |
| | | } |
| | | |
| | |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | SysUser sysUser = sysUserService.selectUserById(userId); |
| | | TTrainLibraryQuery query = JSON.parseObject(param, TTrainLibraryQuery.class); |
| | | if (sysUser.getRoleType().equals("2")){ |
| | | if (CollectionUtils.isNotEmpty(query.getProjectIds())) { |
| | | query.setProjectIds(query.getProjectIds()); |
| | | if (!sysUser.getRoleType().equals("1")){ |
| | | List<String> accessibleProjectIds = getAccessibleProjectIds(userId); |
| | | if (accessibleProjectIds.isEmpty()) { |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | }else if (!sysUser.getRoleType().equals("1")){ |
| | | if (CollectionUtils.isNotEmpty(query.getProjectIds())) { |
| | | query.setProjectIds(query.getProjectIds()); |
| | | }else { |
| | | // 没有根据项目组查询 |
| | | 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 { |
| | | List<String> requestedProjectIds = new ArrayList<>(query.getProjectIds()); |
| | | requestedProjectIds.retainAll(accessibleProjectIds); |
| | | if (requestedProjectIds.isEmpty()) { |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | query.setProjectIds(requestedProjectIds); |
| | | } else { |
| | | query.setProjectIds(accessibleProjectIds); |
| | | } |
| | | } |
| | | return R.ok(tTrainLibraryService.pageList(query, sysUser.getRoleType())); |
| | | } |
| | | |
| | | private List<String> getAccessibleProjectIds(Long userId) { |
| | | List<String> teamIds = projectTeamStaffService.lambdaQuery() |
| | | .eq(TProjectTeamStaff::getUserId, userId) |
| | | .list().stream() |
| | | .map(TProjectTeamStaff::getTeamId) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | if (teamIds.isEmpty()) { |
| | | return new ArrayList<>(); |
| | | } |
| | | return projectTeamService.lambdaQuery() |
| | | .in(TProjectTeam::getId, teamIds) |
| | | .eq(TProjectTeam::getStatus, 1) |
| | | .list().stream() |
| | | .map(TProjectTeam::getId) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | /** |
| | |
| | | @GetMapping(value = "/open/t-train-library/getDetailEditById") |
| | | public R<TTrainLibraryDetailVO> getDetailEditById(@RequestParam String id) { |
| | | TTrainLibrary trainLibrary = tTrainLibraryService.getById(id); |
| | | if (trainLibrary == null) { |
| | | return R.fail("菌种库记录不存在或已删除"); |
| | | } |
| | | TTrainLibraryDetailVO tTrainLibraryDetailVO = new TTrainLibraryDetailVO(); |
| | | BeanUtils.copyProperties(trainLibrary,tTrainLibraryDetailVO); |
| | | return R.ok(tTrainLibraryDetailVO); |