wenminjie
2026-07-14 bd6b08e65fe29994c6c6b5430639022f2a4f5e5c
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java
@@ -16,6 +16,7 @@
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.*;
import com.ruoyi.system.mapper.TProjectTeamMapper;
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.TPedigreeChartConfirmQuery;
import com.ruoyi.system.query.TPedigreeChartDetailConfirmCountDTO;
@@ -87,9 +88,12 @@
            }
        }else if (!sysUser.getRoleType().equals("1")){
            query.setRoleType(3);
            if (query.getProjectIds() == null || query.getProjectIds().isEmpty()){
            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)
                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<>());
@@ -98,6 +102,8 @@
            }else{
                return R.ok(new PageInfo<>());
            }
            }
        }else{
            query.setRoleType(1);
        }
@@ -291,6 +297,13 @@
            String child = JSON.toJSONString(dto.getOne().get(0));
            parent.setJson(child);
        }
        //不能修改别人的数据
        TPedigreeChart byId = pedigreeChartService.getById(parent.getId());
        if (!loginUser.getUser().getNickName().equals(byId.getCreateBy())) {
            return R.fail("不能修改其他工程师数据");
        }
        List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId,
                        tokenService.getLoginUser().getUserId())
                .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
@@ -666,6 +679,10 @@
        TPedigreeChartDetailQuery query = JSON.parseObject(param, TPedigreeChartDetailQuery.class);
        return R.ok(pedigreeChartService.pageListDetail(query));
    }
    @Resource
    private TProjectTeamMapper tProjectTeamMapper;
    /**
     * 谱系图-菌种传代生产谱系图详情
     */
@@ -730,6 +747,28 @@
            tPedigreeChartParentAllDetailDTO.setOne(tPedigreeChartParentOneDTOS);
        }
        pedigreeChart.setPedigreeChartParentAllDetailDTO(tPedigreeChartParentAllDetailDTO);
        if (com.ruoyi.common.utils.StringUtils.isNotEmpty(pedigreeChart.getProjectId())) {
            TProjectTeam tProjectTeam = tProjectTeamMapper.selectById(pedigreeChart.getProjectId());
            if (tProjectTeam != null) {
                List<TProjectTeamStaff> list = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, tProjectTeam.getId()).list();
                StringBuilder staffNames = new StringBuilder();
                for (TProjectTeamStaff tProjectTeamStaff : list) {
                    SysUser sysUser = sysUserService.selectUserById(Long.valueOf(tProjectTeamStaff.getUserId()));
                    if (sysUser!=null){
                        staffNames.append(sysUser.getNickName()).append(",");
                    }
                }
                if (org.springframework.util.StringUtils.hasLength(staffNames.toString())){
                    tProjectTeam.setStaff(staffNames.substring(0, staffNames.toString().length() - 1));
                }
                List<TProjectTeam> tProjectTeamList = new ArrayList<>();
                tProjectTeamList.add(tProjectTeam);
                pedigreeChart.setTProjectTeamList(tProjectTeamList);
            }
        }
        return R.ok(pedigreeChart);
    }
    /**