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/TBreedingAndPreservationController.java |   48 +++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java
index 11b071c..ddd14bd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java
@@ -5,8 +5,10 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.system.dto.TConfirmBreedingAndPreservationDTO;
+import com.ruoyi.system.mapper.TProjectTeamMapper;
 import com.ruoyi.system.model.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -89,18 +91,20 @@
                 return R.ok(new PageInfo<>());
             }
         }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 (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()){
+                    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<>());
             }
         }
 
@@ -294,6 +298,10 @@
         culturePreservationService.updateById(culturePreservation);
         return R.ok();
     }
+
+    @Resource
+    private TProjectTeamMapper tProjectTeamMapper;
+
     //@PreAuthorize("@ss.hasPermi('system:breedingAndPreservation:detail')")
     @ApiOperation(value = "选育保藏记录详情")
     @GetMapping(value = "/open/t-breeding-and-preservation/getDetailById")
@@ -320,6 +328,28 @@
                 vaccinationSlope.setHandleName(sysUser.getNickName());
             }
         }
+
+        if (com.ruoyi.common.utils.StringUtils.isNotEmpty(breedingAndPreservation.getProjectId())) {
+            TProjectTeam tProjectTeam = tProjectTeamMapper.selectById(breedingAndPreservation.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 (StringUtils.hasLength(staffNames.toString())){
+                    tProjectTeam.setStaff(staffNames.substring(0, staffNames.toString().length() - 1));
+                }
+
+                List<TProjectTeam> tProjectTeamList = new ArrayList<>();
+                tProjectTeamList.add(tProjectTeam);
+                res.setTProjectTeamList(tProjectTeamList);
+            }
+        }
+
         res.setSeparationOfCultureDishesList(separationOfCultureDishesList);
         res.setObservationOfPetriDishes(observationOfPetriDishes);
         res.setVaccinationSlopes(vaccinationSlopes);

--
Gitblit v1.7.1