From a0e9fac251df54e5ed6159ce1fdb77d463ebdc48 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 26 六月 2025 20:05:35 +0800
Subject: [PATCH] 菌种库所有代码
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java | 94 ++++++++++++++++++++++++++++++++++------------
1 files changed, 69 insertions(+), 25 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 c58fcd3..0233b2d 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
@@ -71,12 +71,33 @@
@ApiOperation(value = "菌种选育保藏记录-获取菌种选育保藏记录分页列表",response = TBreedingAndPreservationQuery.class)
@PostMapping(value = "/api/t-breeding-and-preservation/pageList")
public R<PageInfo<TBreedingAndPreservationVO>> pageList(@RequestBody String param) {
- LoginUser loginUser = tokenService.getLoginUser();
- if (loginUser==null){
- return R.fail(401,"登录失效");
- }
- SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId());
+
TBreedingAndPreservationQuery query = JSON.parseObject(param, TBreedingAndPreservationQuery.class);
+ SysUser sysUser = sysUserService.selectUserById(tokenService.getLoginUser().getUserId());
+ if (sysUser.getRoleType().equals("2")){
+ 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)
+ .list().stream().map(TProjectTeam::getId).collect(Collectors.toList());
+
+ if (projectIds.isEmpty()){
+ return R.ok(new PageInfo<>());
+ }
+ query.setProjectIds(projectIds);
+ }
+ }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 (projectIds.isEmpty()){
+ return R.ok(new PageInfo<>());
+ }
+ query.setProjectIds(projectIds);
+ }
+ }
+
return R.ok(breedingAndPreservationService.pageList(query));
}
/**
@@ -91,8 +112,20 @@
return R.fail(401,"登陆失效");
}
TBreedingAndPreservationDTO dto = JSON.parseObject(param,TBreedingAndPreservationDTO.class);
+ if (dto.getStatus()==1){
+ return R.fail("有菌种待确认,无法提交");
+ }
if (dto.getStatus()==3){
dto.setIsDraft(1);
+ }
+ 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());
}
breedingAndPreservationService.save(dto);
List<TSeparationOfCultureDishes> separationOfCultureDishesList = dto.getSeparationOfCultureDishesList();
@@ -107,27 +140,31 @@
observationOfPetriDishesService.saveBatch(observationOfPetriDishes);
List<TVaccinationSlope> vaccinationSlopes = dto.getVaccinationSlopes();
for (TVaccinationSlope tSeparationOfCultureDishes : vaccinationSlopes) {
+ tSeparationOfCultureDishes.setHandleId(tokenService.getLoginUser().getUserId()+"");
+ tSeparationOfCultureDishes.setHandleTime(LocalDateTime.now());
tSeparationOfCultureDishes.setBreedingPreserveId(dto.getId());
}
vaccinationSlopeService.saveBatch(vaccinationSlopes);
List<TCulturePreservation> culturePreservations = dto.getCulturePreservations();
for (TCulturePreservation tSeparationOfCultureDishes : culturePreservations) {
+ tSeparationOfCultureDishes.setHandleId(tokenService.getLoginUser().getUserId()+"");
+ tSeparationOfCultureDishes.setHandleTime(LocalDateTime.now());
tSeparationOfCultureDishes.setBreedingPreserveId(dto.getId());
}
culturePreservationService.saveBatch(culturePreservations);
if (dto.getStatus()!=null&&dto.getStatus()==2){
// 新增消息
TNotice tNotice = new TNotice();
- List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
+ List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
.eq(TProjectTeamStaff::getRoleType, 2)
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- if (!collect.isEmpty()){
- TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect)
+ if (!allProjectIds.isEmpty()){
+ TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
.eq(TProjectTeam::getStatus, 1)
.orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
- TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery()
- .eq(TProjectTeamStaff::getTeamId, one.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
- tNotice.setUserId(one1.getUserId());
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery()
+ .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
+ tNotice.setUserId(projectTeamStaff.getUserId());
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
tNotice.setStatus(1);
@@ -146,7 +183,6 @@
private TProjectTeamStaffService projectTeamStaffService;
@Resource
private TNoticeService noticeService;
- //@PreAuthorize("@ss.hasPermi('system:breedingAndPreservation:update')")
@Log(title = "菌种选育保藏记录-编辑选育保藏记录", businessType = BusinessType.UPDATE)
@ApiOperation(value = "菌种选育保藏记录-编辑选育保藏记录",response = TBreedingAndPreservationDTO.class)
@PostMapping(value = "/api/t-breeding-and-preservation/update")
@@ -188,14 +224,14 @@
if (dto.getStatus()==2){
// 新增消息
TNotice tNotice = new TNotice();
- List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
+ List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
.eq(TProjectTeamStaff::getRoleType, 2)
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect)
+ TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
.eq(TProjectTeam::getStatus, 1)
.orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery()
- .eq(TProjectTeamStaff::getTeamId, one.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
+ .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
tNotice.setUserId(one1.getUserId());
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
@@ -214,11 +250,11 @@
Long userId = tokenService.getLoginUser().getUserId();
TConfirmBreedingAndPreservationDTO dto = JSON.parseObject(param,TConfirmBreedingAndPreservationDTO.class);
- TVaccinationSlope byId = vaccinationSlopeService.getById(dto.getId());
- byId.setPreserveId(userId+"");
- byId.setPreserveTime(LocalDateTime.now());
- byId.setPreserveSignature(dto.getPreserveSignature());
- vaccinationSlopeService.updateById(byId);
+ TVaccinationSlope vaccinationSlope = vaccinationSlopeService.getById(dto.getId());
+ vaccinationSlope.setPreserveId(userId+"");
+ vaccinationSlope.setPreserveTime(LocalDateTime.now());
+ vaccinationSlope.setPreserveSignature(dto.getPreserveSignature());
+ vaccinationSlopeService.updateById(vaccinationSlope);
return R.ok();
}
@Log(title = "菌种保藏记录确认入库", businessType = BusinessType.UPDATE)
@@ -227,17 +263,18 @@
public R<Boolean> culturePreservationsConfirm(@RequestBody String param) {
Long userId = tokenService.getLoginUser().getUserId();
TConfirmBreedingAndPreservationDTO dto = JSON.parseObject(param,TConfirmBreedingAndPreservationDTO.class);
- TCulturePreservation byId = culturePreservationService.getById(dto.getId());
- byId.setPreserveId(userId+"");
- byId.setPreserveTime(LocalDateTime.now());
- byId.setPreserveSignature(dto.getPreserveSignature());
- culturePreservationService.updateById(byId);
+ TCulturePreservation culturePreservation = culturePreservationService.getById(dto.getId());
+ culturePreservation.setPreserveId(userId+"");
+ culturePreservation.setPreserveTime(LocalDateTime.now());
+ culturePreservation.setPreserveSignature(dto.getPreserveSignature());
+ culturePreservationService.updateById(culturePreservation);
return R.ok();
}
//@PreAuthorize("@ss.hasPermi('system:breedingAndPreservation:detail')")
@ApiOperation(value = "选育保藏记录详情")
@GetMapping(value = "/open/t-breeding-and-preservation/getDetailById")
public R<TBreedingAndPreservationDetailVO> getDetailById(@RequestParam String id) {
+ List<SysUser> sysUsers = sysUserService.selectAllList();
TBreedingAndPreservationDetailVO res = new TBreedingAndPreservationDetailVO();
TBreedingAndPreservation breedingAndPreservation = breedingAndPreservationService.getById(id);
BeanUtils.copyProperties(breedingAndPreservation, res);
@@ -245,6 +282,13 @@
List<TObservationOfPetriDishes> observationOfPetriDishes = observationOfPetriDishesService.lambdaQuery().eq(TObservationOfPetriDishes::getBreedingPreserveId, id).list();
List<TVaccinationSlope> vaccinationSlopes = vaccinationSlopeService.lambdaQuery().eq(TVaccinationSlope::getBreedingPreserveId, id).list();
List<TCulturePreservation> culturePreservations = culturePreservationService.lambdaQuery().eq(TCulturePreservation::getBreedingPreserveId, id).list();
+ for (TCulturePreservation culturePreservation : culturePreservations) {
+ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(culturePreservation.getHandleId()))).findFirst()
+ .orElse(null);
+ if (sysUser!=null){
+ culturePreservation.setHandleName(sysUser.getNickName());
+ }
+ }
res.setSeparationOfCultureDishesList(separationOfCultureDishesList);
res.setObservationOfPetriDishes(observationOfPetriDishes);
res.setVaccinationSlopes(vaccinationSlopes);
--
Gitblit v1.7.1