xuhy
2026-03-03 a1ba395da85bed4e5163837a9071eab00fc0b1d9
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectTeamController.java
@@ -86,6 +86,19 @@
    @PostMapping(value = "/api/t-project-team/pageList")
    public R<PageInfo<TProjectTeamVO>> pageList(@RequestBody String param) {
        TProjectTeamQuery query = JSON.parseObject(param, TProjectTeamQuery.class);
        // 查询所在项目组
        Long userId = tokenService.getLoginUser().getUserId();
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        if(roleType != 1){
            // 获取用户所在项目组
            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
                    .eq(TProjectTeamStaff::getUserId, userId));
            if(CollectionUtils.isEmpty(projectTeamStaffs)){
                return R.ok(new PageInfo<>());
            }
            List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
            query.setTeamIds(teamIds);
        }
        PageInfo<TProjectTeamVO> tProjectTeamVOPageInfo = projectTeamService.pageList(query);
        return R.ok(tProjectTeamVOPageInfo);
    }
@@ -101,18 +114,18 @@
        TProjectTeamDTO dto = JSON.parseObject(param,TProjectTeamDTO.class);
        List<TProjectTeamStaff> staffs = dto.getStaffs();
        // 判断工艺工程师是否存在其他项目组中
        staffs.stream().filter(staff -> staff.getRoleType() == 3).forEach(staff -> {
            long count = projectTeamStaffService.count(Wrappers.lambdaQuery(TProjectTeamStaff.class).eq(TProjectTeamStaff::getUserId, staff.getUserId()));
            if(count > 0){
                throw new ServiceException("该工艺工程师已存在项目组");
            }
        });
        staffs.stream().filter(staff -> staff.getRoleType() == 2).forEach(staff -> {
            long count = projectTeamStaffService.count(Wrappers.lambdaQuery(TProjectTeamStaff.class).eq(TProjectTeamStaff::getUserId, staff.getUserId()));
            if(count > 0){
                throw new ServiceException("该审批人已存在项目组");
            }
        });
//        staffs.stream().filter(staff -> staff.getRoleType() == 3).forEach(staff -> {
//            long count = projectTeamStaffService.count(Wrappers.lambdaQuery(TProjectTeamStaff.class).eq(TProjectTeamStaff::getUserId, staff.getUserId()));
//            if(count > 0){
//                throw new ServiceException("该工艺工程师已存在项目组");
//            }
//        });
//        staffs.stream().filter(staff -> staff.getRoleType() == 2).forEach(staff -> {
//            long count = projectTeamStaffService.count(Wrappers.lambdaQuery(TProjectTeamStaff.class).eq(TProjectTeamStaff::getUserId, staff.getUserId()));
//            if(count > 0){
//                throw new ServiceException("该审批人已存在项目组");
//            }
//        });
        projectTeamService.save(dto);
        // 保存项目组成员
        for (TProjectTeamStaff staff : staffs) {