From 053f6187b5f6cda1725ed63df8a8766b5976fb53 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 06 八月 2025 09:01:35 +0800
Subject: [PATCH] 菌种库所有代码
---
ruoyi-admin/src/main/resources/application-test.yml | 2
ruoyi-system/src/main/java/com/ruoyi/system/model/TVaccinationSlope.java | 3
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 9
.idea/encodings.xml | 2
ruoyi-system/src/main/java/com/ruoyi/system/service/TProjectTeamService.java | 1
ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainValidationDataQuery.java | 4
ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml | 1
ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChart.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java | 64 +++-
ruoyi-system/src/main/java/com/ruoyi/system/dto/ChoiceStrainDTO.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/query/TTrainLibraryQuery.java | 4
ruoyi-system/target/classes/mapper/system/TProjectTeamMapper.xml | 11
ruoyi-system/target/classes/mapper/system/SysUserMapper.xml | 18 +
ruoyi-system/target/classes/mapper/system/TPedigreeChartMapper.xml | 7
ruoyi-system/target/classes/mapper/system/TStrainReportMapper.xml | 16 +
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java | 2
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java | 6
ruoyi-system/src/main/java/com/ruoyi/system/model/TObservationOfPetriDishes.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TStrainReportServiceImpl.java | 23 +
ruoyi-system/target/classes/mapper/system/TStrainValidationDataMapper.xml | 6
ruoyi-system/src/main/resources/mapper/system/TStrainValidationDataMapper.xml | 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java | 16 +
ruoyi-admin/target/classes/application-prod.yml | 2
ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml | 7
ruoyi-system/target/classes/mapper/system/TBreedingAndPreservationMapper.xml | 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java | 188 +++++++++------
ruoyi-system/target/classes/mapper/system/TTrainLibraryMapper.xml | 6
ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectTeamQuery.java | 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TProjectTeamServiceImpl.java | 24 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java | 35 ++
ruoyi-admin/target/classes/application-test.yml | 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java | 117 +++++++-
ruoyi-admin/src/main/resources/application-prod.yml | 2
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java | 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java | 17 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java | 63 +++-
ruoyi-system/src/main/resources/mapper/system/TTrainLibraryMapper.xml | 6
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java | 13
40 files changed, 536 insertions(+), 175 deletions(-)
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 4b6378c..42dcb4d 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
+ <file url="file://$PROJECT_DIR$/generator/src/main/java" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/generator/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-admin/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-admin/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-applet/src/main/java" charset="UTF-8" />
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 0233b2d..11b071c 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
@@ -30,6 +30,7 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -78,23 +79,28 @@
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());
+ .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<>());
}
}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)
+ 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<>());
}
}
@@ -115,6 +121,7 @@
if (dto.getStatus()==1){
return R.fail("有菌种待确认,无法提交");
}
+
if (dto.getStatus()==3){
dto.setIsDraft(1);
}
@@ -155,7 +162,8 @@
if (dto.getStatus()!=null&&dto.getStatus()==2){
// 新增消息
TNotice tNotice = new TNotice();
- List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
+ List<String> allProjectIds = projectTeamStaffService.lambdaQuery()
+ .eq(TProjectTeamStaff::getTeamId,dto.getProjectId())
.eq(TProjectTeamStaff::getRoleType, 2)
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
if (!allProjectIds.isEmpty()){
@@ -196,6 +204,10 @@
}else{
dto.setIsDraft(0);
}
+ TBreedingAndPreservation breedingAndPreservationServiceById = breedingAndPreservationService.getById(dto.getId());
+ if (breedingAndPreservationServiceById.getStatus()==1){
+ return R.fail("该记录已提交,不可编辑!");
+ }
breedingAndPreservationService.updateById(dto);
List<TSeparationOfCultureDishes> separationOfCultureDishesList = dto.getSeparationOfCultureDishesList();
for (TSeparationOfCultureDishes tSeparationOfCultureDishes : separationOfCultureDishesList) {
@@ -211,35 +223,47 @@
observationOfPetriDishesService.saveBatch(observationOfPetriDishes);
List<TVaccinationSlope> vaccinationSlopes = dto.getVaccinationSlopes();
for (TVaccinationSlope vaccinationSlope : vaccinationSlopes) {
+ if (dto.getStatus()==1&&!StringUtils.hasLength(vaccinationSlope.getPreserveId())){
+ return R.fail("接种斜面记录未确认,不能提交");
+ }
vaccinationSlope.setBreedingPreserveId(dto.getId());
}
vaccinationSlopeService.remove(new LambdaQueryWrapper<TVaccinationSlope>().eq(TVaccinationSlope::getBreedingPreserveId, dto.getId()));
vaccinationSlopeService.saveBatch(vaccinationSlopes);
List<TCulturePreservation> culturePreservations = dto.getCulturePreservations();
for (TCulturePreservation tSeparationOfCultureDishes : culturePreservations) {
+
tSeparationOfCultureDishes.setBreedingPreserveId(dto.getId());
}
culturePreservationService.remove(new LambdaQueryWrapper<TCulturePreservation>().eq(TCulturePreservation::getBreedingPreserveId, dto.getId()));
+ for (TCulturePreservation culturePreservation : culturePreservations) {
+ if (dto.getStatus()==1&&!StringUtils.hasLength(culturePreservation.getPreserveId())){
+ return R.fail("菌种保藏记录未确认,不能提交");
+ }
+ culturePreservation.setBreedingPreserveId(dto.getId());
+ }
culturePreservationService.saveBatch(culturePreservations);
if (dto.getStatus()==2){
// 新增消息
TNotice tNotice = new TNotice();
List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
- .eq(TProjectTeamStaff::getRoleType, 2)
+ .eq(TProjectTeamStaff::getRoleType, 3)
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- 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, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
- tNotice.setUserId(one1.getUserId());
+ 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, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
+ tNotice.setUserId(one1.getUserId());
- tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice.setStatus(1);
- tNotice.setNoticeContent("您有【1】条【菌种选育保藏记录】等待签字入库确认;");
- tNotice.setDataId(dto.getId());
- tNotice.setNoticeType(6);
- noticeService.save(tNotice);
+ tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
+ tNotice.setStatus(1);
+ tNotice.setNoticeContent("您有【1】条【菌种选育保藏记录】等待签字入库确认;");
+ tNotice.setDataId(dto.getId());
+ tNotice.setNoticeType(6);
+ noticeService.save(tNotice);
+ }
}
return R.ok();
}
@@ -289,6 +313,13 @@
culturePreservation.setHandleName(sysUser.getNickName());
}
}
+ for (TVaccinationSlope vaccinationSlope : vaccinationSlopes) {
+ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(vaccinationSlope.getHandleId()))).findFirst()
+ .orElse(null);
+ if (sysUser!=null){
+ vaccinationSlope.setHandleName(sysUser.getNickName());
+ }
+ }
res.setSeparationOfCultureDishesList(separationOfCultureDishesList);
res.setObservationOfPetriDishes(observationOfPetriDishes);
res.setVaccinationSlopes(vaccinationSlopes);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java
index f432d09..d5db4f4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java
@@ -53,10 +53,11 @@
* 获取项目组管理列表
*/
@ApiOperation(value = "中台消息列表")
- @PostMapping(value = "/notice/list")
+ @GetMapping(value = "/notice/list")
public R<List<TNotice>> list() {
Long userId = tokenService.getLoginUser().getUserId();
- List<TNotice> list = noticeService.lambdaQuery().eq(TNotice::getUserId, userId + "").list();
+ List<TNotice> list = noticeService.lambdaQuery()
+ .eq(TNotice::getStatus, 1).orderByDesc(TNotice::getCreateTime).eq(TNotice::getUserId, userId + "").list();
for (TNotice tNotice : list) {
SysUser sysUser = sysUserService.selectUserById(Long.valueOf(tNotice.getCommitId()));
if (sysUser!=null){
@@ -65,6 +66,18 @@
}
return R.ok(list);
}
+ /**
+ * 获取项目组管理列表
+ */
+ @ApiOperation(value = "点击跳转后")
+ @GetMapping(value = "/open/notice/editStatus")
+ public R editStatus(@RequestParam String id) {
+ TNotice notice = noticeService.getById(id);
+ notice.setStatus(2);
+ noticeService.updateById(notice);
+
+ return R.ok();
+ }
}
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 364aad8..b1e5f66 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
@@ -11,6 +11,7 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.GlobalException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.framework.web.service.TokenService;
@@ -32,6 +33,7 @@
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*;
+import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
/**
@@ -48,6 +50,7 @@
public class TPedigreeChartController {
@Resource
private TPedigreeChartDetailService pedigreeChartDetailService;
+
@Resource
private TPedigreeChartService pedigreeChartService;
@Resource
@@ -65,6 +68,7 @@
@ApiOperation(value = "谱系图-获取谱系图分页列表",response = TPedigreeChartQuery.class)
@PostMapping(value = "/api/t-pedigree-chart/pageList")
public R<PageInfo<TPedigreeChartVO>> pageList(@RequestBody String param) {
+
TPedigreeChartQuery query = JSON.parseObject(param, TPedigreeChartQuery.class);
SysUser sysUser = sysUserService.selectUserById(tokenService.getLoginUser().getUserId());
if (sysUser.getRoleType().equals("2")){
@@ -77,6 +81,9 @@
return R.ok(new PageInfo<>());
}
query.setProjectIds(projectIds);
+ }else{
+ return R.ok(new PageInfo<>());
+
}
}else if (!sysUser.getRoleType().equals("1")){
List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
@@ -88,6 +95,9 @@
return R.ok(new PageInfo<>());
}
query.setProjectIds(projectIds);
+ }else{
+ return R.ok(new PageInfo<>());
+
}
}
return R.ok(pedigreeChartService.pageList(query));
@@ -158,7 +168,6 @@
tPedigreeChartParentTwoDTO.setVaccinateTime(LocalDateTime.now());
tPedigreeChartParentTwoDTO.setStorageTime(LocalDateTime.now());
tPedigreeChartParentTwoDTO.setParentId(count.getId());
- tPedigreeChartParentTwoDTO.setPedigreeChartId(parent.getId());
tPedigreeChartParentTwoDTO.setId(null);
pedigreeChartDetailService.save(tPedigreeChartParentTwoDTO);
@@ -177,6 +186,7 @@
tPedigreeChartParentThreeDTO.setParentId(childCount.getId());
tPedigreeChartParentThreeDTO.setPedigreeChartId(parent.getId());
tPedigreeChartParentThreeDTO.setType(1);
+ tPedigreeChartParentThreeDTO.setVaccinateId(loginUser.getUserId()+"");
if (tPedigreeChartParentThreeDTO.getStatus()==null){
tPedigreeChartParentThreeDTO.setStatus(1);
}
@@ -196,26 +206,28 @@
String child = JSON.toJSONString(oneLevel);
parent.setJson(child);
pedigreeChartService.updateById(parent);
- // 新增消息
- TNotice tNotice = new TNotice();
- List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
- .eq(TProjectTeamStaff::getRoleType, 2)
- .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- if (!allProjectIds.isEmpty()){
- TProjectTeam team = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
- .eq(TProjectTeam::getStatus, 1)
- .orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
- TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery()
- .eq(TProjectTeamStaff::getTeamId, team.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
- tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice.setUserId(projectTeamStaff.getUserId());
- tNotice.setStatus(1);
- tNotice.setNoticeContent("菌种实验员新增【1】条【菌种传代生产谱系图】操作,等待您签字确认;");
- tNotice.setDataId(parent.getId());
- tNotice.setNoticeType(4);
- noticeService.save(tNotice);
- }
+
+ }
+
+ // 新增消息
+ TNotice tNotice = new TNotice();
+ List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId,parent.getProjectId() )
+ .eq(TProjectTeamStaff::getRoleType, 2)
+ .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
+ if (!allProjectIds.isEmpty()){
+ TProjectTeam team = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
+ .eq(TProjectTeam::getStatus, 1)
+ .orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery()
+ .eq(TProjectTeamStaff::getTeamId, team.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
+ tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
+ tNotice.setUserId(projectTeamStaff.getUserId());
+ tNotice.setStatus(1);
+ tNotice.setNoticeContent("菌种实验员新增【1】条【菌种传代生产谱系图】操作,等待您签字确认;");
+ tNotice.setDataId(parent.getId());
+ tNotice.setNoticeType(4);
+ noticeService.save(tNotice);
}
return R.ok();
}
@@ -242,6 +254,16 @@
parent.setJson(child);
}
pedigreeChartService.updateById(parent);
+ if (parent.getGenerationType()==1){
+ TPedigreeChartDetail one = pedigreeChartDetailService.getOne(new LambdaQueryWrapper<TPedigreeChartDetail>()
+ .eq(TPedigreeChartDetail::getPedigreeChartId, "0"));
+ if (one!=null){
+ one.setStrainName(parent.getStrainName());
+ one.setStrainCode(parent.getStrainCode());
+ pedigreeChartDetailService.updateById( one);
+ }
+ }
+
// pedigreeChartDetailService.remove(new LambdaQueryWrapper<TPedigreeChartDetail>()
// .eq(TPedigreeChartDetail::getPedigreeChartId, dto.getParent().getId()));
// if (!dto.getOne().isEmpty()){
@@ -335,7 +357,7 @@
}
TPedigreeChartDetailDTO dto = JSON.parseObject(param, TPedigreeChartDetailDTO.class);
if (dto.getParentId().equals("0")){
- // 新增祖代
+ // 新增祖/母代
dto.setParentId("0");
pedigreeChartDetailService.save(dto);
}else{
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java
index 1051b0a..063a2fa 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java
@@ -10,6 +10,7 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.domain.server.Sys;
+import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.ChoiceDTO;
import com.ruoyi.system.dto.SysUserDTO;
import com.ruoyi.system.dto.TProjectTeamDTO;
@@ -31,6 +32,7 @@
import javax.annotation.Resource;
import java.util.List;
+import java.util.stream.Collectors;
/**
* <p>
@@ -50,6 +52,8 @@
private TProjectTeamStaffService projectTeamStaffService;
@Resource
private ISysUserService sysUserService;
+ @Resource
+ private TokenService tokenService;
/**
* 获取项目组管理列表
*/
@@ -64,7 +68,17 @@
@PostMapping(value = "/api/t_project_team/pageList1")
public R<PageInfo<TProjectTeamVO>> pageList1(@RequestBody String param) {
TProjectTeamQuery query = JSON.parseObject(param, TProjectTeamQuery.class);
- return R.ok(projectTeamService.pageList(query));
+ Long userId = tokenService.getLoginUser().getUserId();
+ SysUser sysUser = sysUserService.selectUserById(userId);
+ if (!sysUser.getRoleType().equals("1")){
+ List<String> projetIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, userId).list()
+ .stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
+ if (projetIds.isEmpty()){
+ return R.ok(new PageInfo<>());
+ }
+ query.setProjectIds(projetIds);
+ }
+ return R.ok(projectTeamService.pageList1(query));
}
/**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java
index 0042752..77ea143 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java
@@ -61,24 +61,43 @@
@ApiOperation(value = "菌种报告库分页列表查询",tags = "菌种报告库",response = TStrainReportQuery.class)
@PostMapping(value = "/api/t-strain-report/pageListAll")
public R<PageInfo<TStrainReportVO>> pageListAll(@RequestBody String param) {
+ TStrainReportQuery query = JSON.parseObject(param, TStrainReportQuery.class);
+
LoginUser loginUser = tokenService.getLoginUser();
SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId());
- List<String> projectIds = new ArrayList<>();
- if (!sysUser.getRoleType().equals("1")){
- // 查询和自己相关的项目组id
- List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list()
- .stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- if (collect.isEmpty()){
- collect.add("0");
+ 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{
+ return R.ok(new PageInfo<>());
}
- projectIds = collect;
+ }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);
+ }else{
+ return R.ok(new PageInfo<>());
+ }
}
- TStrainReportQuery query = JSON.parseObject(param, TStrainReportQuery.class);
if (StringUtils.hasLength(query.getTime())){
query.setStartTime(query.getTime().split(" - ")[0]);
query.setEndTime(query.getTime().split(" - ")[1]);
}
- query.setProjectIds(projectIds);
return R.ok(strainReportService.pageListAll(query));
}
@ApiOperation(value = "获取菌种报告库操作评定分页列表",tags = "菌种报告库操作评定-菌种实验员",response = TStrainReportQuery.class)
@@ -152,17 +171,22 @@
return R.ok(new PageInfo<>());
}
query.setProjectIds(projectIds);
+ }else {
+ 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)
+ 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<>());
}
}
return R.ok(strainReportService.pageListProject(query));
@@ -172,7 +196,7 @@
@ApiOperation(value = "菌种项目组评定详情",tags = "菌种项目组评定表")
@GetMapping(value = "/open/t-strain-report/getDetailByIdProject")
public R<TStrainReportDetailProjectVO> getDetailByIdProject(@RequestParam String id) {
- TProjectTeam byId = projectTeamService.getById(id);
+ TProjectTeam project = projectTeamService.getById(id);
TStrainReportDetailProjectVO tStrainReportDetailVO = new TStrainReportDetailProjectVO();
LoginUser loginUser = tokenService.getLoginUser();
@@ -183,6 +207,7 @@
if (strainReportIds.isEmpty())strainReportIds.add("0");
List<TStrainReportDetail> tStrainReportDetails = strainReportDetailService
.list(new LambdaQueryWrapper<TStrainReportDetail>().in(TStrainReportDetail::getReportId,strainReportIds)
+ .isNotNull(TStrainReportDetail::getExperimentId)
.orderByDesc(TStrainReportDetail::getCreateTime));
BigDecimal sum = new BigDecimal("0");
BigDecimal sum1 = new BigDecimal("0");
@@ -197,47 +222,51 @@
.filter(e -> e.getReportId().equals(tStrainReport.getId())&&
e.getEvaluateHumanType()==2).collect(Collectors.toList());
// 菌种工程积分
- sum1 = tStrainReportDetails2.stream()
- .filter(e -> e.getEvaluateHumanType().equals(1))
- .map(TStrainReportDetail::getEvaluateTotal)
- .reduce(BigDecimal::add)
- .orElse(BigDecimal.ZERO);
- // 菌种实验员积分
- sum2 = tStrainReportDetails1.stream()
+ sum1 = sum1.add(tStrainReportDetails2.stream()
.filter(e -> e.getEvaluateHumanType().equals(2))
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
- .orElse(BigDecimal.ZERO);
- List<TStrainReportDetail> tStrainReportDetails3 = tStrainReportDetails.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
+ .orElse(BigDecimal.ZERO));
+ // 菌种实验员积分
+ sum2 = sum2.add(tStrainReportDetails1.stream()
+ .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getReportType()==1)
+ .map(TStrainReportDetail::getEvaluateTotal)
+ .reduce(BigDecimal::add)
+ .orElse(BigDecimal.ZERO));
+ List<TStrainReportDetail> tStrainReportDetails3 = tStrainReportDetails.stream().filter(e -> e.getReportId().equals(tStrainReport.getId())
+ &&
+ e.getReportType() == 1).collect(Collectors.toList());
for (TStrainReportDetail tStrainReportDetail : tStrainReportDetails3) {
// 根据评定等级统计失败次数
if (StringUtils.hasLength(tStrainReportDetail.getEvaluate())&& tStrainReportDetail.getEvaluate().split(",").length>=5){
- if (tStrainReportDetail.getEvaluate().split(",")[4].equals("2")){
+ if (tStrainReportDetail.getEvaluate().split(",")[4].equals("-3")){
temp++;
+ break;
}
}
}
}
- tStrainReportDetailVO.setTeamIntegral(sum);
+ tStrainReportDetailVO.setTeamIntegral(sum1.add(sum2));
tStrainReportDetailVO.setEngineerIntegral(sum1);
tStrainReportDetailVO.setExperimenterIntegral(sum2);
tStrainReportDetailVO.setFailCount(temp);
- List<TStrainReport> strainReportIdsByProjectId = tStrainReports.stream().filter(e -> e.getProjectId().equals(byId.getId())).collect(Collectors.toList());
+ List<TStrainReport> strainReportIdsByProjectId = tStrainReports.stream().filter(e -> e.getProjectId().equals(project.getId())).collect(Collectors.toList());
if (!strainReportIdsByProjectId.isEmpty()){
tStrainReportDetailVO.setEndTime(strainReportIdsByProjectId.get(0).getEvaluateTime());
}
- tStrainReportDetailVO.setStartTime(byId.getCreateTime());
- TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId())
+ tStrainReportDetailVO.setStartTime(project.getCreateTime());
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, project.getId())
.eq(TProjectTeamStaff::getRoleType, 2).one();
List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS = new ArrayList<>();
if (sysUser.getRoleType().equals("4")){
TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO();
tStrainReportDetailExperimentVO.setUserName(sysUser.getNickName());
- tStrainReportDetailExperimentVO.setHandleCount((int) tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).count());
+ tStrainReportDetailExperimentVO.setHandleCount((int) tStrainReportDetails.stream().filter(e -> e.getExperimentId()!=null&&e.getExperimentId().equals(sysUser.getUserId() + "")).count());
BigDecimal handleIntegral = tStrainReportDetails.stream()
- .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+""))
+ .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"")
+ &&e.getReportType()==1)
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
.orElse(BigDecimal.ZERO);
@@ -245,8 +274,9 @@
List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList());
if (!strainReportDetails.isEmpty()){
- tStrainReportDetailExperimentVO.setHandleStartTime(strainReportDetails.get(0).getCreateTime());
+ tStrainReportDetailExperimentVO.setHandleEndTime(strainReportDetails.get(strainReportDetails.size()-1).getCreateTime());
}
+ tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
tStrainReportDetailExperimentVOS.add(tStrainReportDetailExperimentVO);
tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS);
}else{
@@ -264,7 +294,8 @@
tStrainReportDetailVO.setDetailEngineerVO(tStrainReportDetailEngineerVO);
List<String> userIds = new ArrayList<>();
List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS1 = new ArrayList<>();
- List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList());
+ List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)
+ &&e.getReportType()==1).collect(Collectors.toList());
for (TStrainReportDetail tStrainReportDetail : collect) {
if (userIds.contains(tStrainReportDetail.getExperimentId())){
continue;
@@ -274,20 +305,20 @@
tStrainReportDetailExperimentVO.setUserName(sysUserService.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId())).getNickName());
tStrainReportDetailExperimentVO.setHandleCount((int) collect.stream().filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId())).count());
BigDecimal handleIntegral = collect.stream()
- .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+""))
+ .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"")
+ &&e.getReportType()==1)
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
.orElse(BigDecimal.ZERO);
tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
- List<TStrainReportDetail> collect9 = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList());
- if (!collect9.isEmpty()){
- tStrainReportDetailExperimentVO.setHandleEndTime(collect9.get(collect9.size()-1).getCreateTime());
+ List<TStrainReportDetail> reportDetails = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList());
+ if (!reportDetails.isEmpty()){
+ tStrainReportDetailExperimentVO.setHandleEndTime(reportDetails.get(reportDetails.size()-1).getCreateTime());
}
- tStrainReportDetailExperimentVO.setHandleStartTime(byId.getCreateTime());
+ tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
tStrainReportDetailExperimentVOS1.add(tStrainReportDetailExperimentVO);
}
tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS1);
-
}else{
List<TStrainReportDetail> reportDetails = strainReportDetails.stream()
.filter(e -> e.getEvaluateHumanType().equals(2) && e.getExperimentId().equals(projectTeamStaff.getUserId())).collect(Collectors.toList());
@@ -295,51 +326,56 @@
TStrainReportDetailEngineerVO tStrainReportDetailEngineerVO = new TStrainReportDetailEngineerVO();
tStrainReportDetailEngineerVO.setInnovateCount((int)reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).count());
tStrainReportDetailEngineerVO.setInnovateIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
- List<TStrainReportDetail> collect3 = reportDetails.stream().filter(e ->e.getEvaluateType()!=null&& e.getEvaluateType().equals(1)).collect(Collectors.toList());
- if (!collect3.isEmpty()){
- tStrainReportDetailEngineerVO.setInnovateStartTime(collect3.get(collect3.size()-1).getCreateTime());
+ List<TStrainReportDetail> tStrainReportDetails1 = reportDetails.stream().filter(e ->e.getEvaluateType()!=null&& e.getEvaluateType().equals(1)).collect(Collectors.toList());
+ if (!tStrainReportDetails1.isEmpty()){
+ tStrainReportDetailEngineerVO.setInnovateEndTime(tStrainReportDetails1.get(tStrainReportDetails1.size()-1).getCreateTime());
}
- tStrainReportDetailEngineerVO.setInnovateEndTime(byId.getCreateTime());
+ tStrainReportDetailEngineerVO.setInnovateStartTime(project.getCreateTime());
tStrainReportDetailEngineerVO.setRegulationCount((int)reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).count());
tStrainReportDetailEngineerVO.setRegulationIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
List<TStrainReportDetail> collect4 = reportDetails.stream().filter(e -> e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).collect(Collectors.toList());
if (!collect4.isEmpty()){
- tStrainReportDetailEngineerVO.setRegulationStartTime(collect4.get(collect4.size()-1).getCreateTime());
+ tStrainReportDetailEngineerVO.setRegulationEndTime(collect4.get(collect4.size()-1).getCreateTime());
}
- tStrainReportDetailEngineerVO.setRegulationEndTime(byId.getCreateTime());
+ tStrainReportDetailEngineerVO.setRegulationStartTime(project.getCreateTime());
tStrainReportDetailEngineerVO.setHandleCount((int)reportDetails.stream().filter(e->e.getReportType().equals(1)).count());
tStrainReportDetailEngineerVO.setHandleIntegral(reportDetails.stream().filter(e->e.getReportType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
List<TStrainReportDetail> reportDetailList = reportDetails.stream().filter(e->e.getReportType().equals(1)).collect(Collectors.toList());
if (!reportDetailList.isEmpty()){
- tStrainReportDetailEngineerVO.setHandleStartTime(reportDetailList.get(reportDetailList.size()-1).getCreateTime());
+ tStrainReportDetailEngineerVO.setHandleEndTime(reportDetailList.get(reportDetailList.size()-1).getCreateTime());
}
- tStrainReportDetailEngineerVO.setHandleEndTime(byId.getCreateTime());
+ tStrainReportDetailEngineerVO.setHandleStartTime(project.getCreateTime());
tStrainReportDetailVO.setDetailEngineerVO(tStrainReportDetailEngineerVO);
List<String> userIds = new ArrayList<>();
List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS1 = new ArrayList<>();
- List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList());
- for (TStrainReportDetail tStrainReportDetail : collect) {
- if (userIds.contains(tStrainReportDetail.getExperimentId())){
- continue;
- }
- userIds.add(tStrainReportDetail.getExperimentId());
+ List<String> experimentIds = tStrainReportDetails.stream().filter(e ->
+ e.getEvaluateHumanType().equals(1)
+ &&e.getReportType()==1)
+ .map(TStrainReportDetail::getExperimentId)
+ .distinct()
+ .collect(Collectors.toList());
+ List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList());
+ for (String experimentId : experimentIds) {
+ List<TStrainReportDetail> details = tStrainReportDetails2.stream().filter(e -> e.getExperimentId().equals(experimentId)).collect(Collectors.toList());
+
TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO();
- tStrainReportDetailExperimentVO.setUserName(sysUserService.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId())).getNickName());
- tStrainReportDetailExperimentVO.setHandleCount((int) collect.stream().filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId())).count());
- BigDecimal handleIntegral = collect.stream()
- .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+""))
+ SysUser sysUser1 = sysUserService.selectUserById(Long.valueOf(experimentId));
+ tStrainReportDetailExperimentVO.setUserName(sysUser1.getNickName());
+ tStrainReportDetailExperimentVO.setHandleCount(details.size());
+ BigDecimal handleIntegral = details.stream()
+ .filter(e -> e.getEvaluateHumanType().equals(1)
+ &&e.getReportType()==1)
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
.orElse(BigDecimal.ZERO);
tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
- List<TStrainReportDetail> collect9 = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList());
- if (!collect9.isEmpty()){
- tStrainReportDetailExperimentVO.setHandleEndTime(collect9.get(collect9.size()-1).getCreateTime());
+ if (!tStrainReportDetails2.isEmpty()){
+ tStrainReportDetailExperimentVO.setHandleEndTime(details.get(details.size()-1).getCreateTime());
}
- tStrainReportDetailExperimentVO.setHandleStartTime(byId.getCreateTime());
+ tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
tStrainReportDetailExperimentVOS1.add(tStrainReportDetailExperimentVO);
}
tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS1);
@@ -376,7 +412,7 @@
tStrainReportDetail.setEvaluateType(dto.getEvaluateType());
strainReportDetailService.save(tStrainReportDetail);
if (dto.getIsDraft()==0){
- // 新增消息
+ // 新增审批消息
TNotice tNotice = new TNotice();
TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
.eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
@@ -389,11 +425,8 @@
noticeService.save(tNotice);
// 新增消息
TNotice tNotice1 = new TNotice();
- TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
- .eq(TProjectTeamStaff::getRoleType, 3).last("limit 1").one();
-
tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice1.setUserId(tProjectTeamStaff.getUserId());
+ tNotice1.setUserId(dto.getExperimentId());
tNotice1.setStatus(1);
tNotice1.setNoticeContent("您有【1】条菌种库操作菌种工程师已评定;");
tNotice1.setDataId(dto.getId());
@@ -481,19 +514,19 @@
tNotice.setNoticeType(2);
noticeService.save(tNotice);
- // 新增消息
- TNotice notice = new TNotice();
- TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
- .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
+ // 新增消息
+ TNotice notice = new TNotice();
+ TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
+ .eq(TProjectTeamStaff::getRoleType, 2).last("limit 1").one();
- notice.setCommitId(tokenService.getLoginUser().getUserId()+"");
- notice.setUserId(tProjectTeamStaff.getUserId());
- notice.setStatus(1);
- String temp=dto.getStatus()==2?"通过":"驳回";
- notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】");
- notice.setDataId(dto.getId());
- notice.setNoticeType(7);
- noticeService.save(notice);
+ notice.setCommitId(tokenService.getLoginUser().getUserId()+"");
+ notice.setUserId(tProjectTeamStaff.getUserId());
+ notice.setStatus(1);
+ String temp=dto.getStatus()==2?"通过":"驳回";
+ notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】");
+ notice.setDataId(dto.getId());
+ notice.setNoticeType(7);
+ noticeService.save(notice);
return R.ok();
}
/**
@@ -527,8 +560,9 @@
strainReportDetailService.save(tStrainReportDetail);
// 新增消息
TNotice notice = new TNotice();
- TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
- .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery()
+ .eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
+ .eq(TProjectTeamStaff::getRoleType, 2).last("limit 1").one();
notice.setCommitId(tokenService.getLoginUser().getUserId()+"");
notice.setUserId(projectTeamStaff.getUserId());
notice.setStatus(1);
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 3b8bac4..27b04b5 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
@@ -49,15 +49,46 @@
private TStrainValidationDataService strainValidationDataService;
@Resource
private TStrainValidationDataDetailService strainValidationDataDetailService;
-
+ @Resource
+ private ISysUserService sysUserService;
/**
* 菌种验证数据资料分页列表
*/
- //@PreAuthorize("@ss.hasPermi('system:strainValidationData:list')")
@ApiOperation(value = "菌种验证数据资料-获取菌种验证数据资料分页列表",response = TStrainValidationDataQuery.class)
@PostMapping(value = "/api/t-strain-validation-data/pageList")
public R<PageInfo<TStrainValidationDataVO>> pageList(@RequestBody String param) {
+
TStrainValidationDataQuery query = JSON.parseObject(param, TStrainValidationDataQuery.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 {
+ 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 (projectIds.isEmpty()){
+ return R.ok(new PageInfo<>());
+ }
+ query.setProjectIds(projectIds);
+ }else {
+ return R.ok(new PageInfo<>());
+ }
+ }
return R.ok(strainValidationDataService.pageList(query));
}
/**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java
index 185522e..3cf162b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java
@@ -29,6 +29,7 @@
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -54,6 +55,16 @@
private TProjectTeamService projectTeamService;
@Resource
private TProjectTeamStaffService projectTeamStaffService;
+ @ApiOperation(value = "修改用户签名")
+ @Log(title = "用户信息-修改用户签名", businessType = BusinessType.UPDATE)
+ @PostMapping("/api/system/user/editSignPicture")
+ public R editSignPicture(@RequestBody String param)
+ {
+ Long userId = tokenService.getLoginUser().getUserId();
+ SysUser user = JSON.parseObject(param,SysUser.class);
+ user.setUserId(userId);
+ return R.ok(sysUserService.editSignPicture(user));
+ }
/**
* 选择人员
*/
@@ -99,7 +110,37 @@
@ApiOperation(value = "获取菌种库分页列表",tags = "菌种库管理",response = TTrainLibraryQuery.class)
@PostMapping(value = "/api/t-train-library/pageList")
public R<PageInfo<TTrainLibraryVO>> pageList(@RequestBody String param) {
+ Long userId = tokenService.getLoginUser().getUserId();
+ SysUser sysUser = sysUserService.selectUserById(userId);
TTrainLibraryQuery query = JSON.parseObject(param, TTrainLibraryQuery.class);
+ 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 {
+ 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 (projectIds.isEmpty()){
+ return R.ok(new PageInfo<>());
+ }
+ query.setProjectIds(projectIds);
+ }else {
+ return R.ok(new PageInfo<>());
+ }
+ }
return R.ok(tTrainLibraryService.pageList(query));
}
/**
@@ -207,10 +248,17 @@
TTrainLibrary tTrainLibrary = new TTrainLibrary();
BeanUtils.copyProperties(dto,tTrainLibrary);
if (i==0){
+
List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
- .eq(TProjectTeamStaff::getRoleType, 3)
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- if (projectIds.isEmpty()){
+ if (!projectIds.isEmpty()){
+ TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, projectIds)
+ .eq(TProjectTeam::getStatus, 1)
+ .orderByDesc(BaseModel::getCreateTime)
+ .last("limit 1").one();
+ tTrainLibrary.setProjectId(projectTeam.getId());
+ dto.setProjectId(projectTeam.getId());
+ }else{
return R.fail("请先加入项目组");
}
tTrainLibrary.setStatus(4);
@@ -408,37 +456,62 @@
}
AddTrainLibraryWarehousingDTO query = JSON.parseObject(param, AddTrainLibraryWarehousingDTO.class);
TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(query.getTrainLibraryId());
- if (query.getType()==1){
- if (tTrainLibrary.getStatus()==1||tTrainLibrary.getStatus()==2||tTrainLibrary.getStatus()==4){
- if(tTrainLibrary.getStatus()==2){
- return R.fail("当前菌种为出库待确认状态,不可重复出库");
-
- }else if (tTrainLibrary.getStatus()==1){
- return R.fail("当前菌种为已出库状态,不可重复出库");
- }else{
- return R.fail("当前菌种为入库待确认状态,不可出库");
+ List<TTrainLibraryWarehousing> tTrainLibraryWarehousings = tTrainLibraryWarehousingService.lambdaQuery()
+ .isNull(TTrainLibraryWarehousing::getConfirmTime)
+ .eq(TTrainLibraryWarehousing::getTrainLibraryId, query.getTrainLibraryId()).list();
+ if (!tTrainLibraryWarehousings.isEmpty()){
+ for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousings) {
+ if (Objects.equals(tTrainLibraryWarehousing.getType(), query.getType())){
+ if (query.getType()==1){
+ return R.fail("当前已存在该类型待确认出库记录");
+ }else{
+ return R.fail("当前已存在该类型待确认入库记录");
+ }
}
}
+ }
+ if (query.getType()==1){
tTrainLibrary.setStatus(2);
}
if (query.getType()==2){
- if (tTrainLibrary.getStatus()==2||tTrainLibrary.getStatus()==3||tTrainLibrary.getStatus()==4){
- if(tTrainLibrary.getStatus()==4){
- return R.fail("当前菌种为入库待确认状态,不可重复入库");
-
- }else if (tTrainLibrary.getStatus()==3){
- return R.fail("当前菌种为已入库状态,不可重复入库");
- }else{
- return R.fail("当前菌种为出库待确认状态,不可入库");
-
- }
- }
tTrainLibrary.setStatus(4);
}
query.setHandleId(tokenService.getLoginUser().getUserId());
query.setBoundTime(LocalDateTime.now());
tTrainLibraryWarehousingService.save(query);
tTrainLibraryService.updateById(tTrainLibrary);
+ // 新增消息
+ TNotice tNotice = new TNotice();
+
+ TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery()
+ .eq(TProjectTeamStaff::getTeamId, tTrainLibrary.getProjectId()).eq(TProjectTeamStaff::getRoleType, 2).one();
+ tNotice.setUserId(tProjectTeamStaff.getUserId());
+ tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
+ tNotice.setStatus(1);
+ StringBuilder content = new StringBuilder();
+ switch (tTrainLibrary.getType()){
+ case 1:
+ content.append("【原始细胞库】");
+ break;
+ case 2:
+ content.append("【主细胞库】");
+ break;
+ case 3:
+ content.append("【生产细胞库】");
+ break;
+ }
+ switch (query.getType()){
+ case 1:
+ tNotice.setNoticeContent("您有【1】条"+content+"出库记录等待签字确认;");
+ break;
+ case 2:
+ tNotice.setNoticeContent("您有【1】条"+content+"入库记录等待签字确认;");
+ break;
+
+ }
+ tNotice.setDataId(query.getId());
+ tNotice.setNoticeType(3);
+ noticeService.save(tNotice);
return R.ok();
}
/**
diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml
index b00292d..02bf461 100644
--- a/ruoyi-admin/src/main/resources/application-prod.yml
+++ b/ruoyi-admin/src/main/resources/application-prod.yml
@@ -197,7 +197,7 @@
location: /file/
qrLocation: /file/qrCode/
accessPath: /file/
- allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF
+ allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF|.xls|.xlsx|.rar|.zip|.rar
url:
prefix: https://xzgt.test.591taxi.cn:${server.port}${server.servlet.context-path}
wx:
diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml
index 26ba2e9..adf7853 100644
--- a/ruoyi-admin/src/main/resources/application-test.yml
+++ b/ruoyi-admin/src/main/resources/application-test.yml
@@ -190,7 +190,7 @@
location: /file/
qrLocation: /file/qrCode/
accessPath: /file/
- allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF
+ allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF|.xls|.xlsx|.rar|.zip|.rar
url:
# prefix: http://localhost:${server.port}${server.servlet.context-path}
prefix: https://xzgt.test.591taxi.cn:${server.port}${server.servlet.context-path}
diff --git a/ruoyi-admin/target/classes/application-prod.yml b/ruoyi-admin/target/classes/application-prod.yml
index b00292d..02bf461 100644
--- a/ruoyi-admin/target/classes/application-prod.yml
+++ b/ruoyi-admin/target/classes/application-prod.yml
@@ -197,7 +197,7 @@
location: /file/
qrLocation: /file/qrCode/
accessPath: /file/
- allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF
+ allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF|.xls|.xlsx|.rar|.zip|.rar
url:
prefix: https://xzgt.test.591taxi.cn:${server.port}${server.servlet.context-path}
wx:
diff --git a/ruoyi-admin/target/classes/application-test.yml b/ruoyi-admin/target/classes/application-test.yml
index 26ba2e9..adf7853 100644
--- a/ruoyi-admin/target/classes/application-test.yml
+++ b/ruoyi-admin/target/classes/application-test.yml
@@ -190,7 +190,7 @@
location: /file/
qrLocation: /file/qrCode/
accessPath: /file/
- allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF
+ allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF|.xls|.xlsx|.rar|.zip|.rar
url:
# prefix: http://localhost:${server.port}${server.servlet.context-path}
prefix: https://xzgt.test.591taxi.cn:${server.port}${server.servlet.context-path}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java
index b995100..4ac1e16 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java
@@ -47,19 +47,26 @@
}
// 获取文件名称
String filename = mf.getOriginalFilename();
+ // 生成随机5位英文字母
+ String rename = "";
+ for (int i = 0; i < 5; i++) {
+ rename += (char) (Math.random() * 26 + 'a');
+ }
+ long l = System.currentTimeMillis();
// 获取文件后缀
- String ext = filename.substring(filename.lastIndexOf("."), filename.length());
+ String temp = rename+l+filename;
+ String ext = temp.substring(temp.lastIndexOf("."), temp.length());
// 检查文件类型
if (!fileUploadConfig.getAllowExt().contains(ext)) {
return AjaxResult.error("上传文件格式不正确,仅支持" + fileUploadConfig.getAllowExt());
}
- File targetFile = new File(realPath, filename);//目标文件
+ File targetFile = new File(realPath, temp);//目标文件
//开始从源文件拷贝到目标文件
//传图片一步到位
mf.transferTo(targetFile);
//拼接数据
// String imgstr = fileUploadConfig.getAccessPath() + TimeDir +"\\"+ filename;
- String imgstr = TimeDir +"/"+ filename;
+ String imgstr = TimeDir +"/"+ temp;
return AjaxResult.success(imgstr);
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index 45bcfa9..17f6099 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -56,6 +56,8 @@
@ApiModelProperty(value = "用户邮箱")
private String email;
+
+
/** 手机号码 */
//@Excel(name = "手机号码")
@ApiModelProperty(value = "手机号码")
@@ -130,7 +132,9 @@
@ApiModelProperty(value = "部门id集合")
@TableField(exist = false)
private List<String> deptIds;
-
+ @ApiModelProperty(value = "用户签名")
+ @TableField("sign_picture")
+ private String signPicture;
public String getRoleName() {
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
index a047082..0f5a48a 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
@@ -7,6 +7,7 @@
import com.ruoyi.common.core.domain.model.LoginUserApplet;
import com.ruoyi.common.exception.GlobalException;
+import com.ruoyi.common.exception.ServiceException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -68,7 +69,7 @@
{
LoginUser loginUser = getLoginUser(ServletUtils.getRequest());
if (loginUser==null){
- throw new GlobalException().setDetailMessage("登录失效",401);
+ throw new ServiceException("401");
}
return loginUser;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/ChoiceStrainDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/ChoiceStrainDTO.java
index 0f03f9f..1ba398b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/ChoiceStrainDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/ChoiceStrainDTO.java
@@ -16,6 +16,8 @@
private Integer roleType;
@ApiModelProperty(value = "菌种报告库选择实验员项目组id")
private String projectId;
+ @ApiModelProperty(value = "名称")
+ private String nickNameOrPhone;
@ApiModelProperty(value = "前端忽略 人员ids")
private List<String> userIds;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
index aea2a65..506716e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -187,4 +187,6 @@
List<ChoiceUserVO> choiceUserList(@Param("query")ChoiceStrainDTO query, @Param("pageInfo")PageInfo<ChoiceUserVO> pageInfo);
List<SysUser> selectUserByUserNameLike(@Param("userName") String userName);
+
+ int editSignPicture(SysUser user);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TObservationOfPetriDishes.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TObservationOfPetriDishes.java
index bbd873b..9ac0666 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TObservationOfPetriDishes.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TObservationOfPetriDishes.java
@@ -53,7 +53,7 @@
@ApiModelProperty(value = "形态强壮度排名")
@TableField("strength")
- private Integer strength;
+ private String strength;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChart.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChart.java
index 888bfea..e29cb62 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChart.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChart.java
@@ -55,11 +55,11 @@
@ApiModelProperty(value = "菌种源开始1母 2子 3孙 起传类型为母代存值")
@TableField("strain_source_start")
- private Integer strainSourceStart;
+ private String strainSourceStart;
@ApiModelProperty(value = "菌种源结束1母 2子 3孙 起传类型为母代存值")
@TableField("strain_source_end")
- private Integer strainSourceEnd;
+ private String strainSourceEnd;
@ApiModelProperty(value = "菌种传代生产谱系图 回显使用")
@TableField(exist = false)
private TPedigreeChartParentAllDetailDTO pedigreeChartParentAllDetailDTO;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TVaccinationSlope.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TVaccinationSlope.java
index 3789dcf..e45eefd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TVaccinationSlope.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TVaccinationSlope.java
@@ -49,6 +49,9 @@
@ApiModelProperty(value = "操作人id")
@TableField("handle_id")
private String handleId;
+ @ApiModelProperty(value = "操作人名称")
+ @TableField(exist = false)
+ private String handleName;
@ApiModelProperty(value = "操作人签名")
@TableField("handle_signature")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectTeamQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectTeamQuery.java
index 02866a8..72d2a93 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectTeamQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectTeamQuery.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel(value = "项目组分页query")
public class TProjectTeamQuery extends TimeRangeQueryBody {
@@ -18,5 +20,7 @@
private String startTime1;
@ApiModelProperty(value = "结束时间 前端忽略")
private String endTime1;
+ @ApiModelProperty(value = "项目组ids")
+ private List<String> projectIds;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainValidationDataQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainValidationDataQuery.java
index 4e08ffb..d059e0e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainValidationDataQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainValidationDataQuery.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel(value = "菌种验证数据资料分页列表query")
public class TStrainValidationDataQuery extends TimeRangeQueryBody {
@@ -21,6 +23,8 @@
private Integer isDraft;
@ApiModelProperty(value = "类型 1原始细胞库 2主细胞库")
private Integer strainType;
+ @ApiModelProperty(value = "项目组ids")
+ private List<String> projectIds;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TTrainLibraryQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTrainLibraryQuery.java
index e688ea9..8ef0344 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TTrainLibraryQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTrainLibraryQuery.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel(value = "菌种库管理分页query")
public class TTrainLibraryQuery extends TimeRangeQueryBody {
@@ -20,6 +22,8 @@
private Integer type;
@ApiModelProperty(value = "是否草稿 0否1是")
private Integer isDraft;
+ @ApiModelProperty(value = "项目组ids")
+ private List<String> projectIds;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index 046cf39..6bc8f40 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -271,4 +271,6 @@
PageInfo<ChoiceUserVO> choiceUser(ChoiceDTO user);
PageInfo<ChoiceUserVO> choiceUserList(ChoiceStrainDTO query);
+
+ Integer editSignPicture(SysUser user);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TProjectTeamService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TProjectTeamService.java
index b0605ca..21b506d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TProjectTeamService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TProjectTeamService.java
@@ -18,6 +18,7 @@
public interface TProjectTeamService extends IService<TProjectTeam> {
PageInfo<TProjectTeamVO> pageList(TProjectTeamQuery query);
+ PageInfo<TProjectTeamVO> pageList1(TProjectTeamQuery query);
PageInfo<TProjectTeamVO> choiceProjectList(ChoiceProjectDTO query);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 72f5f56..c935bbf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -715,6 +715,11 @@
return pageInfo;
}
+ @Override
+ public Integer editSignPicture(SysUser user) {
+ return userMapper.editSignPicture(user);
+ }
+
// @Override
// public UserInfoVo userInfo(Long userId) {
// return userMapper.userInfo(userId);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TProjectTeamServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TProjectTeamServiceImpl.java
index 4f87d16..ef88719 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TProjectTeamServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TProjectTeamServiceImpl.java
@@ -41,8 +41,30 @@
List<String> teamIds = list.stream().map(TProjectTeamVO::getId).collect(Collectors.toList());
List<SysUser> sysUsers = sysUserMapper.selectList();
if(!CollectionUtils.isEmpty(teamIds)){
+ List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffMapper.selectList(Wrappers.lambdaQuery(TProjectTeamStaff.class).in(TProjectTeamStaff::getTeamId, teamIds));
+ list.forEach(item->{
+ List<TProjectTeamStaff> projectTeamStaffList = projectTeamStaffs.stream().filter(staff -> staff.getTeamId().equals(item.getId())).collect(Collectors.toList());
+ if(!CollectionUtils.isEmpty(projectTeamStaffList)){
+ List<String> staffIds = projectTeamStaffList.stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
+ List<SysUser> staffs = sysUsers.stream().filter(sysUser -> staffIds.contains(sysUser.getUserId()+"")).collect(Collectors.toList());
+ item.setStaffName(staffs.stream().map(SysUser::getNickName).collect(Collectors.joining(",")));
+ }
+ item.setStaffs(projectTeamStaffList);
+ });
+ }
+ pageInfo.setRecords(list);
+ return pageInfo;
+ }
+ @Override
+ public PageInfo<TProjectTeamVO> pageList1(TProjectTeamQuery query) {
+ PageInfo<TProjectTeamVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+ List<TProjectTeamVO> list = this.baseMapper.pageList(query,pageInfo);
+ List<String> teamIds = list.stream().map(TProjectTeamVO::getId).collect(Collectors.toList());
+ List<SysUser> sysUsers = sysUserMapper.selectList();
+ if(!CollectionUtils.isEmpty(teamIds)){
List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffMapper.selectList(Wrappers.lambdaQuery(TProjectTeamStaff.class)
- .eq(TProjectTeamStaff::getRoleType,3).in(TProjectTeamStaff::getTeamId, teamIds));
+ .eq(TProjectTeamStaff::getRoleType,3)
+ .in(TProjectTeamStaff::getTeamId, teamIds));
list.forEach(item->{
List<TProjectTeamStaff> projectTeamStaffList = projectTeamStaffs.stream().filter(staff -> staff.getTeamId().equals(item.getId())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(projectTeamStaffList)){
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TStrainReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TStrainReportServiceImpl.java
index 8c69508..bc95c9f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TStrainReportServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TStrainReportServiceImpl.java
@@ -77,23 +77,28 @@
.filter(e -> e.getReportId().equals(tStrainReport.getId())&&
e.getEvaluateHumanType()==2).collect(Collectors.toList());
// 菌种工程积分
- sum1 = tStrainReportDetails2.stream()
+ sum1 = sum1.add(tStrainReportDetails2.stream()
.filter(e -> e.getEvaluateHumanType().equals(2))
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
- .orElse(BigDecimal.ZERO);
+ .orElse(BigDecimal.ZERO));
// 菌种实验员积分
- sum2 = tStrainReportDetails1.stream()
- .filter(e -> e.getEvaluateHumanType().equals(1))
+ sum2 = sum2.add(tStrainReportDetails1.stream()
+ .filter(e -> e.getEvaluateHumanType().equals(1)
+ &&e.getReportType()==1)
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
- .orElse(BigDecimal.ZERO);
- List<TStrainReportDetail> collect3 = tStrainReportDetails.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
- for (TStrainReportDetail tStrainReportDetail : collect3) {
+ .orElse(BigDecimal.ZERO));
+ List<TStrainReportDetail> tStrainReportDetails3 = tStrainReportDetails.stream().filter(e ->
+ e.getReportId().equals(tStrainReport.getId())
+ &&
+ e.getReportType() == 1).collect(Collectors.toList());
+ for (TStrainReportDetail tStrainReportDetail : tStrainReportDetails3) {
// 根据评定等级统计失败次数
if (StringUtils.hasLength(tStrainReportDetail.getEvaluate())&& tStrainReportDetail.getEvaluate().split(",").length>=5){
- if (tStrainReportDetail.getEvaluate().split(",")[4].equals("2")){
+ if (tStrainReportDetail.getEvaluate().split(",")[4].equals("-3")){
temp++;
+ break;
}
}
}
@@ -126,11 +131,13 @@
if (tStrainReportDetail.getExperimentId()!=null){
SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId()));
tStrainReportVO.setExperimentName(sysUser.getNickName());
+ break;
}
}else if (tStrainReportDetail.getEvaluateHumanType()==2){
if (tStrainReportDetail.getExperimentId()!=null){
SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId()));
tStrainReportVO.setExperimentName(sysUser.getNickName());
+ break;
}
}
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index a780725..f844487 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -134,7 +134,7 @@
select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
u.phonenumber AS phonenumber, u.sex AS sex, u.status AS status, u.del_flag AS delFlag, u.login_ip AS loginIp,
u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.ifBlack AS ifBlack,
- u.roleType,
+ u.roleType,u.sign_picture as signPicture,
ur.role_id AS roleId,sr.role_name AS roleName,u.deptName as deptName
from sys_user u
left join sys_user_role ur on u.user_id = ur.user_id
@@ -272,6 +272,10 @@
#{id}
</foreach>
</if>
+ <if test="query.nickNameOrPhone != null and query.nickNameOrPhone != ''">
+ and( nick_name LIKE concat('%', #{query.nickNameOrPhone}, '%') or phonenumber LIKE concat('%', #{query.nickNameOrPhone}, '%')
+ )
+ </if>
</select>
<select id="selectUserByUserNameLike" resultType="com.ruoyi.common.core.domain.entity.SysUser">
select * from sys_user
@@ -281,6 +285,9 @@
</if>
</select>
+ <update id="editSignPicture" parameterType="SysUser">
+ update sys_user set sign_picture = #{signPicture} where user_id = #{userId}
+ </update>
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
diff --git a/ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml
index 07a6c69..964e772 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml
@@ -57,6 +57,7 @@
where pedigree_chart_id = #{query.id}
and status = 1
and type = 1
+ and vaccinate_id is not null
and preserve_id is null
and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</select>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml
index dcc3f02..e080caa 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml
@@ -33,6 +33,13 @@
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
AND create_time BETWEEN #{query.startTime} AND #{query.endTime}
</if>
+
+ <if test="query.projectIds != null and query.projectIds.size()>0">
+ AND id IN
+ <foreach collection="query.projectIds" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
+ </if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
ORDER BY create_time DESC
diff --git a/ruoyi-system/src/main/resources/mapper/system/TStrainValidationDataMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TStrainValidationDataMapper.xml
index b95cef4..d87be06 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TStrainValidationDataMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TStrainValidationDataMapper.xml
@@ -44,6 +44,12 @@
<if test="query.strainType != null">
and strain_type = #{query.strainType}
</if>
+ <if test="query.projectIds != null and query.projectIds.size() > 0">
+ and project_id in
+ <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index="">
+ #{item}
+ </foreach>
+ </if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
order by create_time desc
diff --git a/ruoyi-system/src/main/resources/mapper/system/TTrainLibraryMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTrainLibraryMapper.xml
index 853c303..f804864 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TTrainLibraryMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TTrainLibraryMapper.xml
@@ -49,6 +49,12 @@
<if test="query.isDraft != null">
and is_draft = #{query.isDraft}
</if>
+ <if test="query.projectIds != null and query.projectIds.size() > 0">
+ and project_id in
+ <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index="">
+ #{item}
+ </foreach>
+ </if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
order by create_time desc
diff --git a/ruoyi-system/target/classes/mapper/system/SysUserMapper.xml b/ruoyi-system/target/classes/mapper/system/SysUserMapper.xml
index 0c39855..f844487 100644
--- a/ruoyi-system/target/classes/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/target/classes/mapper/system/SysUserMapper.xml
@@ -134,7 +134,7 @@
select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
u.phonenumber AS phonenumber, u.sex AS sex, u.status AS status, u.del_flag AS delFlag, u.login_ip AS loginIp,
u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.ifBlack AS ifBlack,
- u.roleType,
+ u.roleType,u.sign_picture as signPicture,
ur.role_id AS roleId,sr.role_name AS roleName,u.deptName as deptName
from sys_user u
left join sys_user_role ur on u.user_id = ur.user_id
@@ -265,23 +265,29 @@
<select id="choiceUserList" resultType="com.ruoyi.system.vo.ChoiceUserVO">
select * from sys_user
- where status = 0 and del_flag = 0
- and roleType = #{query.roleType}
- <if test="query.userIds != null and query.userIds()>0">
+ where status = '0' and del_flag = '0'
+ <if test="query.userIds != null and query.userIds.size()>0">
AND user_id IN
<foreach collection="query.userIds" close=")" open="(" item="id" separator=",">
#{id}
</foreach>
+ </if>
+ <if test="query.nickNameOrPhone != null and query.nickNameOrPhone != ''">
+ and( nick_name LIKE concat('%', #{query.nickNameOrPhone}, '%') or phonenumber LIKE concat('%', #{query.nickNameOrPhone}, '%')
+ )
</if>
</select>
<select id="selectUserByUserNameLike" resultType="com.ruoyi.common.core.domain.entity.SysUser">
select * from sys_user
where 1=1
<if test="userName != null and userName != ''">
- OR nick_name LIKE concat('%', #{userName}, '%')
+ and nick_name LIKE concat('%', #{userName}, '%')
</if>
</select>
+ <update id="editSignPicture" parameterType="SysUser">
+ update sys_user set sign_picture = #{signPicture} where user_id = #{userId}
+ </update>
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
@@ -375,7 +381,7 @@
</update>
<delete id="deleteUserById" parameterType="Long">
- update sys_user set del_flag = '2' where user_id = #{userId}
+ delete sys_user where user_id = #{userId}
</delete>
<delete id="deleteUserByIds" parameterType="Long">
diff --git a/ruoyi-system/target/classes/mapper/system/TBreedingAndPreservationMapper.xml b/ruoyi-system/target/classes/mapper/system/TBreedingAndPreservationMapper.xml
index 2ab61a8..62d7e22 100644
--- a/ruoyi-system/target/classes/mapper/system/TBreedingAndPreservationMapper.xml
+++ b/ruoyi-system/target/classes/mapper/system/TBreedingAndPreservationMapper.xml
@@ -46,6 +46,12 @@
<if test="query.isDraft != null and query.isDraft == 0">
and (status = 1 or status =2)
</if>
+ <if test="query.projectIds != null and query.projectIds.size() > 0">
+ and project_id in
+ <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index="">
+ #{item}
+ </foreach>
+ </if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
ORDER BY create_time DESC
diff --git a/ruoyi-system/target/classes/mapper/system/TPedigreeChartMapper.xml b/ruoyi-system/target/classes/mapper/system/TPedigreeChartMapper.xml
index 88f3fa5..964e772 100644
--- a/ruoyi-system/target/classes/mapper/system/TPedigreeChartMapper.xml
+++ b/ruoyi-system/target/classes/mapper/system/TPedigreeChartMapper.xml
@@ -35,6 +35,12 @@
<if test="query.generationType != null">
and generation_type = #{query.generationType}
</if>
+ <if test="query.projectIds != null and query.projectIds.size() > 0">
+ and project_id in
+ <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index="">
+ #{item}
+ </foreach>
+ </if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
ORDER BY create_time DESC
@@ -51,6 +57,7 @@
where pedigree_chart_id = #{query.id}
and status = 1
and type = 1
+ and vaccinate_id is not null
and preserve_id is null
and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</select>
diff --git a/ruoyi-system/target/classes/mapper/system/TProjectTeamMapper.xml b/ruoyi-system/target/classes/mapper/system/TProjectTeamMapper.xml
index 5ba2f16..e080caa 100644
--- a/ruoyi-system/target/classes/mapper/system/TProjectTeamMapper.xml
+++ b/ruoyi-system/target/classes/mapper/system/TProjectTeamMapper.xml
@@ -20,7 +20,6 @@
id, team_name, person_charge, status, create_time, update_time, create_by, update_by, disabled
</sql>
<select id="pageList" resultType="com.ruoyi.system.vo.TProjectTeamVO">
-
SELECT
<include refid="Base_Column_List" />
FROM t_project_team
@@ -32,8 +31,14 @@
AND person_charge LIKE CONCAT('%', #{query.personCharge}, '%')
</if>
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
- AND create_time >= #{query.startTime}
- AND create_time <= #{query.endTime}
+ AND create_time BETWEEN #{query.startTime} AND #{query.endTime}
+ </if>
+
+ <if test="query.projectIds != null and query.projectIds.size()>0">
+ AND id IN
+ <foreach collection="query.projectIds" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
</if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
diff --git a/ruoyi-system/target/classes/mapper/system/TStrainReportMapper.xml b/ruoyi-system/target/classes/mapper/system/TStrainReportMapper.xml
index 781018e..4e25013 100644
--- a/ruoyi-system/target/classes/mapper/system/TStrainReportMapper.xml
+++ b/ruoyi-system/target/classes/mapper/system/TStrainReportMapper.xml
@@ -37,7 +37,10 @@
id, project_id, report_code, report_name, report_content, create_time, update_time, create_by, update_by, disabled, enclosure_name, enclosure_size, enclosure_url, status, experiment_id, evaluate, evaluate_total, audit_remark, audit_time, audit_id, evaluate_time, evaluate_id, is_draft, report_type, evaluate_human_type, evaluate_type
</sql>
<select id="pageList" resultType="com.ruoyi.system.vo.TStrainReportVO">
- select t1.*,t2.team_name as teamName,t3.nick_name as experimentName,t4.nick_name as evaluateName from t_strain_report t1
+ select t1.*,t2.team_name as teamName,t3.nick_name as experimentName,t4.nick_name as evaluateName,
+ t5.create_time as evaluateTime
+
+ from t_strain_report t1
left join t_strain_report_detail t5 on t5.report_id = t1.id
left join t_project_team t2 on t1.project_id = t2.id
left join sys_user t3 on t3.user_id = t5.experiment_id
@@ -66,7 +69,7 @@
</if>
<if test="query.evaluateId != null and query.evaluateId.size()>0">
- AND t1.evaluate_id IN
+ AND t5.evaluate_id IN
<foreach collection="query.evaluateId" close=")" open="(" item="id" separator=",">
#{id}
</foreach>
@@ -84,8 +87,15 @@
and t1.team_name like concat('%',#{query.teamName},'%')
</if>
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
- and t1.evaluate_time between #{query.startTime} and #{query.endTime}
+ and t1.create_time between #{query.startTime} and #{query.endTime}
</if>
+ <if test="query.projectIds != null and query.projectIds.size() > 0">
+ and t1.id in
+ <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index="">
+ #{item}
+ </foreach>
+ </if>
+
AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
diff --git a/ruoyi-system/target/classes/mapper/system/TStrainValidationDataMapper.xml b/ruoyi-system/target/classes/mapper/system/TStrainValidationDataMapper.xml
index b95cef4..d87be06 100644
--- a/ruoyi-system/target/classes/mapper/system/TStrainValidationDataMapper.xml
+++ b/ruoyi-system/target/classes/mapper/system/TStrainValidationDataMapper.xml
@@ -44,6 +44,12 @@
<if test="query.strainType != null">
and strain_type = #{query.strainType}
</if>
+ <if test="query.projectIds != null and query.projectIds.size() > 0">
+ and project_id in
+ <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index="">
+ #{item}
+ </foreach>
+ </if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
order by create_time desc
diff --git a/ruoyi-system/target/classes/mapper/system/TTrainLibraryMapper.xml b/ruoyi-system/target/classes/mapper/system/TTrainLibraryMapper.xml
index 853c303..f804864 100644
--- a/ruoyi-system/target/classes/mapper/system/TTrainLibraryMapper.xml
+++ b/ruoyi-system/target/classes/mapper/system/TTrainLibraryMapper.xml
@@ -49,6 +49,12 @@
<if test="query.isDraft != null">
and is_draft = #{query.isDraft}
</if>
+ <if test="query.projectIds != null and query.projectIds.size() > 0">
+ and project_id in
+ <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index="">
+ #{item}
+ </foreach>
+ </if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
order by create_time desc
--
Gitblit v1.7.1