From 082bddee7df8a05ca95f473ec2643701d41a5213 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 08 十月 2026 11:09:01 +0800
Subject: [PATCH] 更新代码
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java | 106 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 88 insertions(+), 18 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java
index 27b04b5..01b4191 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java
@@ -13,6 +13,7 @@
import com.ruoyi.common.enums.BusinessType;
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.TBreedingAndPreservationQuery;
import com.ruoyi.system.query.TStrainValidationDataQuery;
@@ -30,6 +31,7 @@
import javax.annotation.Resource;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -75,18 +77,22 @@
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()) {
+ 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<>());
+ 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<>());
}
}
return R.ok(strainValidationDataService.pageList(query));
@@ -103,15 +109,19 @@
if (StringUtils.hasLength(dto.getHandleSignature())){
dto.setHandleTime(LocalDateTime.now());
}
- List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
- .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- if (!projectIds.isEmpty()){
- TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, projectIds)
- .eq(TProjectTeam::getStatus, 1)
- .orderByDesc(BaseModel::getCreateTime)
- .last("limit 1").one();
- dto.setProjectId(projectTeam.getId());
+
+ if (com.ruoyi.common.utils.StringUtils.isEmpty(dto.getProjectId())) {
+ List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
+ .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
+ if (!projectIds.isEmpty()){
+ TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, projectIds)
+ .eq(TProjectTeam::getStatus, 1)
+ .orderByDesc(BaseModel::getCreateTime)
+ .last("limit 1").one();
+ dto.setProjectId(projectTeam.getId());
+ }
}
+
strainValidationDataService.save(dto);
if (dto.getIsDraft()==0){
dto.setStatus(1);
@@ -124,6 +134,9 @@
List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
.eq(TProjectTeamStaff::getRoleType, 3)
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
+ if (allProjectIds.isEmpty()){
+ allProjectIds.add("0");
+ }
TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
.eq(TProjectTeam::getStatus, 1)
.orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
@@ -176,6 +189,7 @@
strainValidationDataService.updateById(dto);
return R.ok();
}
+
@Log(title = "菌种验证数据资料-确认验证资料", businessType = BusinessType.INSERT)
@ApiOperation(value = "确认验证资料",response = AddStrainValidationDataDetailDTO.class)
@PostMapping(value = "/api/t-strain-validation-data/confirm")
@@ -187,9 +201,39 @@
}
dto.setStatus(2);
strainValidationDataService.updateById(dto);
+
+ // 先删除该 dataId 的所有数据
+ LambdaQueryWrapper<TStrainValidationDataDetail> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TStrainValidationDataDetail::getDataId, dto.getId());
+ strainValidationDataDetailService.remove(wrapper);
+
strainValidationDataDetailService.saveBatch(list);
return R.ok();
}
+
+ @Log(title = "菌种验证数据资料-存草稿", businessType = BusinessType.INSERT)
+ @ApiOperation(value = "确认验证资料",response = AddStrainValidationDataDetailDTO.class)
+ @PostMapping(value = "/api/t-strain-validation-data/saveDraf")
+ public R<Boolean> saveDraf(@RequestBody String param) {
+ AddStrainValidationDataDetailDTO dto = JSON.parseObject(param,AddStrainValidationDataDetailDTO.class);
+ List<TStrainValidationDataDetail> list = dto.getList();
+ for (TStrainValidationDataDetail tStrainValidationDataDetail : list) {
+ tStrainValidationDataDetail.setDataId(dto.getId());
+ }
+ dto.setIsDraft(1);
+ strainValidationDataService.updateById(dto);
+
+ // 先删除该 dataId 的所有数据
+ LambdaQueryWrapper<TStrainValidationDataDetail> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TStrainValidationDataDetail::getDataId, dto.getId());
+ strainValidationDataDetailService.remove(wrapper);
+
+ strainValidationDataDetailService.saveBatch(list);
+ return R.ok();
+ }
+
+ @Resource
+ private TProjectTeamMapper tProjectTeamMapper;
/**
* 查看菌种验证数据资料详情
@@ -198,10 +242,36 @@
@GetMapping(value = "/open/t-strain-validation-data/getDetailById")
public R<AddStrainValidationDataDetailVO> getDetailMainById(@RequestParam String id) {
TStrainValidationData strainValidationData = strainValidationDataService.getById(id);
+ if (strainValidationData == null) {
+ return R.fail("菌种验证资料不存在或已删除");
+ }
AddStrainValidationDataDetailVO res = new AddStrainValidationDataDetailVO();
BeanUtils.copyProperties(strainValidationData,res);
List<TStrainValidationDataDetail> list = strainValidationDataDetailService.lambdaQuery().eq(TStrainValidationDataDetail::getDataId, id).list();
res.setList(list);
+
+ if (com.ruoyi.common.utils.StringUtils.isNotEmpty(strainValidationData.getProjectId())) {
+ TProjectTeam tProjectTeam = tProjectTeamMapper.selectById(strainValidationData.getProjectId());
+ if (tProjectTeam != null) {
+ List<TProjectTeamStaff> listProsd = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, tProjectTeam.getId()).list();
+ StringBuilder staffNames = new StringBuilder();
+ for (TProjectTeamStaff tProjectTeamStaff : listProsd) {
+ 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.setProjectName(tProjectTeam.getTeamName());
+ }
+ }
+
return R.ok(res);
}
@Log(title = "主细胞-删除菌种验证数据资料", businessType = BusinessType.DELETE)
--
Gitblit v1.7.1