From bd6b08e65fe29994c6c6b5430639022f2a4f5e5c Mon Sep 17 00:00:00 2001
From: wenminjie <1036699586@qq.com>
Date: 星期二, 14 七月 2026 11:48:08 +0800
Subject: [PATCH] 修复了已知的BUG
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 47 insertions(+), 8 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java
index ffcfceb..9c1f879 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java
+++ b/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,17 +88,22 @@
}
}else if (!sysUser.getRoleType().equals("1")){
query.setRoleType(3);
- 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()){
+
+ 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)
+ .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);
- }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);
}
/**
--
Gitblit v1.7.1