From a0e9fac251df54e5ed6159ce1fdb77d463ebdc48 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 26 六月 2025 20:05:35 +0800
Subject: [PATCH] 菌种库所有代码
---
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 9
ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml | 6
ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChart.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java | 148 +++++----
ruoyi-system/src/main/java/com/ruoyi/system/model/TStrainValidationData.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 1
ruoyi-system/src/main/java/com/ruoyi/system/model/TCulturePreservation.java | 3
ruoyi-system/src/main/java/com/ruoyi/system/query/TPedigreeChartQuery.java | 5
ruoyi-system/src/main/java/com/ruoyi/system/model/TBreedingAndPreservation.java | 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 104 ++++++
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TStrainReportServiceImpl.java | 21
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java | 1
ruoyi-system/src/main/java/com/ruoyi/system/dto/TPedigreeChartParentTwoCountDTO.java | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java | 6
ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChartDetail.java | 3
ruoyi-system/src/main/java/com/ruoyi/system/query/TBreedingAndPreservationQuery.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BaseController.java | 4
ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java | 218 +++++++-------
ruoyi-system/src/main/resources/mapper/system/TStrainReportMapper.xml | 16
ruoyi-system/src/main/java/com/ruoyi/system/model/TTrainLibrary.java | 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TProjectTeamServiceImpl.java | 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java | 29 +
ruoyi-system/src/main/resources/mapper/system/TBreedingAndPreservationMapper.xml | 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java | 118 ++++---
ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainReportProjectQuery.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPedigreeChartServiceImpl.java | 18 +
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 24
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java | 94 ++++-
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java | 6
30 files changed, 570 insertions(+), 300 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BaseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BaseController.java
index ba681ca..cddd55a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BaseController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BaseController.java
@@ -31,8 +31,8 @@
@Resource
private TSeparationOfCultureDishesService separationOfCultureDishesService;
-// @Resource
-// private TStrainReportService strainReportService;
+ @Resource
+ private TStrainReportService strainReportService;
@Resource
private TStrainValidationDataService strainValidationDataService;
@Resource
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);
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 5bef464..364aad8 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
@@ -8,6 +8,7 @@
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BaseModel;
import com.ruoyi.common.core.domain.R;
+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.utils.StringUtils;
@@ -52,7 +53,8 @@
@Resource
private TokenService tokenService;
-
+ @Resource
+ private ISysUserService sysUserService;
@@ -64,6 +66,30 @@
@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")){
+ 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(pedigreeChartService.pageList(query));
}
@@ -83,27 +109,36 @@
TPedigreeChartParentAllDTO dto = JSON.parseObject(param, TPedigreeChartParentAllDTO.class);
TPedigreeChart parent = dto.getParent();
if (!dto.getOne().isEmpty()){
- String one1Json = JSON.toJSONString(dto.getOne().get(0));
- parent.setJson(one1Json);
+ String child = JSON.toJSONString(dto.getOne().get(0));
+ parent.setJson(child);
+ }
+ 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();
+ parent.setProjectId(projectTeam.getId());
}
pedigreeChartService.save(parent);
if (!dto.getOne().isEmpty()){
- TPedigreeChartParentOneDTO one = dto.getOne().get(0);
- one.setParentId("0");
- one.setType(1);
- one.setStatus(one.getStatus());
- one.setStorageTime(LocalDateTime.now());
- one.setPedigreeChartId(parent.getId());
- one.setVaccinateId(loginUser.getUserId()+"");
- one.setVaccinateSignature(one.getVaccinateSignature());
- one.setVaccinateTime(LocalDateTime.now());
- one.setId(null);
- pedigreeChartDetailService.save(one);
- List<TPedigreeChartParentOneCountDTO> countList = one.getChildren();
+ TPedigreeChartParentOneDTO oneLevel = dto.getOne().get(0);
+ oneLevel.setParentId("0");
+ oneLevel.setType(1);
+ oneLevel.setStatus(oneLevel.getStatus());
+ oneLevel.setStorageTime(LocalDateTime.now());
+ oneLevel.setPedigreeChartId(parent.getId());
+ oneLevel.setVaccinateId(loginUser.getUserId()+"");
+ oneLevel.setVaccinateSignature(oneLevel.getVaccinateSignature());
+ oneLevel.setVaccinateTime(LocalDateTime.now());
+ oneLevel.setId(null);
+ pedigreeChartDetailService.save(oneLevel);
+ List<TPedigreeChartParentOneCountDTO> countList = oneLevel.getChildren();
if (!countList.isEmpty()){
TPedigreeChartParentOneCountDTO count = countList.get(0);
- count.setParentId(one.getId());
+ count.setParentId(oneLevel.getId());
count.setType(2);
count.setStatus(1);
count.setPedigreeChartId(parent.getId());
@@ -112,7 +147,7 @@
pedigreeChartDetailService.save(count);
if (count.getChildren()!=null){
for (TPedigreeChartParentTwoDTO tPedigreeChartParentTwoDTO : count.getChildren()) {
- tPedigreeChartParentTwoDTO.setParentId(one.getId());
+ tPedigreeChartParentTwoDTO.setParentId(oneLevel.getId());
tPedigreeChartParentTwoDTO.setPedigreeChartId(parent.getId());
tPedigreeChartParentTwoDTO.setType(1);
if (tPedigreeChartParentTwoDTO.getStatus()==null){
@@ -130,16 +165,16 @@
List<TPedigreeChartParentTwoCountDTO> count1List = tPedigreeChartParentTwoDTO.getChildren();
if (!count1List.isEmpty()){
// 传代数
- TPedigreeChartParentTwoCountDTO count1 = count1List.get(0);
- count1.setType(2);
- count1.setParentId(tPedigreeChartParentTwoDTO.getId());
- count1.setPedigreeChartId(parent.getId());
- count1.setStatus(1);
- count1.setId(null);
- pedigreeChartDetailService.save(count1);
- if (count1.getChildren()!=null){
- for (TPedigreeChartParentThreeDTO tPedigreeChartParentThreeDTO : count1.getChildren()) {
- tPedigreeChartParentThreeDTO.setParentId(count1.getId());
+ TPedigreeChartParentTwoCountDTO childCount = count1List.get(0);
+ childCount.setType(2);
+ childCount.setParentId(tPedigreeChartParentTwoDTO.getId());
+ childCount.setPedigreeChartId(parent.getId());
+ childCount.setStatus(1);
+ childCount.setId(null);
+ pedigreeChartDetailService.save(childCount);
+ if (childCount.getChildren()!=null){
+ for (TPedigreeChartParentThreeDTO tPedigreeChartParentThreeDTO : childCount.getChildren()) {
+ tPedigreeChartParentThreeDTO.setParentId(childCount.getId());
tPedigreeChartParentThreeDTO.setPedigreeChartId(parent.getId());
tPedigreeChartParentThreeDTO.setType(1);
if (tPedigreeChartParentThreeDTO.getStatus()==null){
@@ -158,22 +193,22 @@
}
}
}
- String one1Json = JSON.toJSONString(one);
- parent.setJson(one1Json);
+ String child = JSON.toJSONString(oneLevel);
+ parent.setJson(child);
pedigreeChartService.updateById(parent);
// 新增消息
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 team = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect)
+ if (!allProjectIds.isEmpty()){
+ TProjectTeam team = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
.eq(TProjectTeam::getStatus, 1)
.orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
- TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery()
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery()
.eq(TProjectTeamStaff::getTeamId, team.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice.setUserId(one1.getUserId());
+ tNotice.setUserId(projectTeamStaff.getUserId());
tNotice.setStatus(1);
tNotice.setNoticeContent("菌种实验员新增【1】条【菌种传代生产谱系图】操作,等待您签字确认;");
tNotice.setDataId(parent.getId());
@@ -192,7 +227,6 @@
private TNoticeService noticeService;
/**
*/
- //@PreAuthorize("@ss.hasPermi('system:pedigreeChart:addProgenitor')")
@Log(title = "谱系图-编辑谱系图-编辑谱系图", businessType = BusinessType.UPDATE)
@ApiOperation(value = "编辑谱系图-编辑谱系图",response = TPedigreeChartParentAllDTO.class)
@PostMapping(value = "/api/t-pedigree-chart/editProgenitor")
@@ -204,8 +238,8 @@
TPedigreeChartParentAllDTO dto = JSON.parseObject(param, TPedigreeChartParentAllDTO.class);
TPedigreeChart parent = dto.getParent();
if (!dto.getOne().isEmpty()){
- String one1Json = JSON.toJSONString(dto.getOne().get(0));
- parent.setJson(one1Json);
+ String child = JSON.toJSONString(dto.getOne().get(0));
+ parent.setJson(child);
}
pedigreeChartService.updateById(parent);
// pedigreeChartDetailService.remove(new LambdaQueryWrapper<TPedigreeChartDetail>()
@@ -362,36 +396,36 @@
// 祖代/母代
TPedigreeChartParentOneDTO tPedigreeChartParentOneDTO = new TPedigreeChartParentOneDTO();
BeanUtils.copyProperties(pedigreeChartDetail,tPedigreeChartParentOneDTO);
- TPedigreeChartDetail pedigreeChartDetail1 = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentOneDTO.getId())
+ TPedigreeChartDetail childCount = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentOneDTO.getId())
&& e.getType() == 2).findFirst().orElse(null);
// 传代计划数
- if (pedigreeChartDetail1!=null){
+ if (childCount!=null){
TPedigreeChartParentOneCountDTO tPedigreeChartParentOneCountDTO = new TPedigreeChartParentOneCountDTO();
List<TPedigreeChartParentOneCountDTO> tPedigreeChartParentOneCountDTOS = new ArrayList<>();
- BeanUtils.copyProperties(pedigreeChartDetail1,tPedigreeChartParentOneCountDTO);
+ BeanUtils.copyProperties(childCount,tPedigreeChartParentOneCountDTO);
tPedigreeChartParentOneCountDTO.setParent(pedigreeChartDetail);
// 祖代母代传代数
- List<TPedigreeChartDetail> collect = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentOneCountDTO.getId())
+ List<TPedigreeChartDetail> childs = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentOneCountDTO.getId())
&& e.getType() == 1).collect(Collectors.toList());
List<TPedigreeChartParentTwoDTO> tPedigreeChartParentTwoDTOS = new ArrayList<>();
List<TPedigreeChartParentThreeDTO> tPedigreeChartParentThreeDTOS = new ArrayList<>();
- for (TPedigreeChartDetail tPedigreeChartDetail : collect) {
+ for (TPedigreeChartDetail tPedigreeChartDetail : childs) {
TPedigreeChartParentTwoDTO tPedigreeChartParentTwoDTO = new TPedigreeChartParentTwoDTO();
BeanUtils.copyProperties(tPedigreeChartDetail,tPedigreeChartParentTwoDTO);
- tPedigreeChartParentTwoDTO.setParent(pedigreeChartDetail1);
- TPedigreeChartDetail pedigreeChartDetail2 = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoDTO.getId())
+ tPedigreeChartParentTwoDTO.setParent(childCount);
+ TPedigreeChartDetail childCountChild = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoDTO.getId())
&& e.getType() == 2).findFirst().orElse(null);
- if (pedigreeChartDetail2!=null){
+ if (childCountChild!=null){
ArrayList<TPedigreeChartParentTwoCountDTO> tPedigreeChartParentTwoCountDTOS = new ArrayList<>();
TPedigreeChartParentTwoCountDTO tPedigreeChartParentTwoCountDTO = new TPedigreeChartParentTwoCountDTO();
- BeanUtils.copyProperties(pedigreeChartDetail2,tPedigreeChartParentTwoCountDTO);
- List<TPedigreeChartDetail> collect1 = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoCountDTO.getId())
+ BeanUtils.copyProperties(childCountChild,tPedigreeChartParentTwoCountDTO);
+ List<TPedigreeChartDetail> childChilds = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoCountDTO.getId())
&& e.getType() == 1).collect(Collectors.toList());
- for (TPedigreeChartDetail chartDetail : collect1) {
+ for (TPedigreeChartDetail chartDetail : childChilds) {
TPedigreeChartParentThreeDTO tPedigreeChartParentThreeDTO = new TPedigreeChartParentThreeDTO();
BeanUtils.copyProperties(chartDetail,tPedigreeChartParentThreeDTO);
- tPedigreeChartParentThreeDTO.setParent(pedigreeChartDetail2);
+ tPedigreeChartParentThreeDTO.setParent(childCountChild);
tPedigreeChartParentThreeDTOS.add(tPedigreeChartParentThreeDTO);
}
tPedigreeChartParentTwoCountDTO.setChildren(tPedigreeChartParentThreeDTOS);
@@ -413,7 +447,6 @@
/**
* 谱系图-菌种传代生产谱系图详情-菌种详情
*/
- //@PreAuthorize("@ss.hasPermi('system:pedigreeChart:strainInfo')")
@ApiOperation(value = "谱系图-菌种传代生产谱系图详情-菌种详情")
@GetMapping(value = "/api/t-pedigree-chart/strainInfo")
public R strainInfo(@RequestParam String id) {
@@ -437,9 +470,9 @@
pedigreeChartDetail1.setVaccinateId(tokenService.getLoginUser().getUserId()+"");
pedigreeChartDetail1.setVaccinateTime(LocalDateTime.now());
pedigreeChartDetail1.setVaccinateSignature(dto.getVaccinateSignature());
- TPedigreeChartDetail byId = pedigreeChartDetailService.getById(dto.getParentId());
+ TPedigreeChartDetail tPedigreeChartDetail = pedigreeChartDetailService.getById(dto.getParentId());
pedigreeChartDetail1.setGenerationCount(dto.getGenerationCount());
- pedigreeChartDetail1.setPedigreeChartId(byId.getPedigreeChartId());
+ pedigreeChartDetail1.setPedigreeChartId(tPedigreeChartDetail.getPedigreeChartId());
pedigreeChartDetail1.setType(2);
pedigreeChartDetailService.save(pedigreeChartDetail1);
return R.ok();
@@ -464,15 +497,6 @@
pedigreeChartDetailService.updateById(pedigreeChartDetail);
return R.ok();
}
- /**
- * 谱系图-代确认入库菌种列表
- */
- //@PreAuthorize("@ss.hasPermi('system:pedigreeChart:listConfirm')")
-// @ApiOperation(value = "谱系图-代确认入库菌种列表",response = TPedigreeChartConfirmQuery.class)
-// @GetMapping(value = "/api/t-pedigree-chart/listConfirm")
-// public R<PageInfo<TPedigreeChartConfirmVO>> listConfirm(@RequestBody String param) {
-// TPedigreeChartConfirmQuery query = JSON.parseObject(param, TPedigreeChartConfirmQuery.class);
-// return R.ok(pedigreeChartService.listConfirm(query));
-// }
+
}
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 dc1902a..1051b0a 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
@@ -60,6 +60,12 @@
TProjectTeamQuery query = JSON.parseObject(param, TProjectTeamQuery.class);
return R.ok(projectTeamService.pageList(query));
}
+ @ApiOperation(value = "新增报告-获取项目组分页列表")
+ @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));
+ }
/**
* 添加项目组管理
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 015ac4f..0042752 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
@@ -81,7 +81,6 @@
query.setProjectIds(projectIds);
return R.ok(strainReportService.pageListAll(query));
}
- //@PreAuthorize("@ss.hasPermi('system:strainReport:list')")
@ApiOperation(value = "获取菌种报告库操作评定分页列表",tags = "菌种报告库操作评定-菌种实验员",response = TStrainReportQuery.class)
@PostMapping(value = "/api/t-strain-report/pageList")
public R<PageInfo<TStrainReportVO>> pageList(@RequestBody String param) {
@@ -99,6 +98,8 @@
List<SysUser> sysUser1 = sysUserService.selectUserByUserNameLike(query.getEvaluateName());
if (sysUser1.isEmpty()){
strings.add("0");
+ query.setEvaluateId(strings);
+
}else{
strings = sysUser1.stream().map(SysUser::getUserId).map(String::valueOf).collect(Collectors.toList());
query.setEvaluateId(strings);
@@ -114,20 +115,21 @@
public R<TStrainReportDetailVO> getDetailById(@RequestParam String id) {
TStrainReportDetailVO tStrainReportDetailVO = new TStrainReportDetailVO();
TStrainReport strainReport = strainReportService.getById(id);
- TStrainReportDetail one = strainReportDetailService.getOne(new LambdaQueryWrapper<TStrainReportDetail>()
+ TStrainReportDetail strainReportDetail = strainReportDetailService.getOne(new LambdaQueryWrapper<TStrainReportDetail>()
.eq(TStrainReportDetail::getReportId, strainReport.getId())
.eq(TStrainReportDetail::getEvaluateHumanType, 1)
.eq(TStrainReportDetail::getExperimentId, tokenService.getLoginUser().getUserId()));
- if (one!=null){
- tStrainReportDetailVO.setEvaluate(one.getEvaluate());
- }
- BeanUtils.copyProperties(strainReport, tStrainReportDetailVO);
- if (strainReport.getEvaluateId() != null){
- SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId()));
- if (sysUser != null){
- tStrainReportDetailVO.setEvaluateName(sysUser.getNickName());
+ if (strainReportDetail!=null){
+ tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate());
+ if (StringUtils.hasLength(strainReportDetail.getEvaluateId())){
+ SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReportDetail.getEvaluateId()));
+ if (sysUser != null){
+ tStrainReportDetailVO.setEvaluateName(sysUser.getNickName());
+ }
}
}
+ BeanUtils.copyProperties(strainReport, tStrainReportDetailVO);
+
return R.ok(tStrainReportDetailVO);
}
//@PreAuthorize("@ss.hasPermi('system:strainReportProject:pageListProject')")
@@ -139,19 +141,30 @@
query.setStartTime(query.getTime().split(" - ")[0]);
query.setEndTime(query.getTime().split(" - ")[1]);
}
- 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");
+ 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);
}
- 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);
+ }
}
- query.setProjectIds(projectIds);
return R.ok(strainReportService.pageListProject(query));
}
@@ -166,10 +179,10 @@
SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId());
List<TStrainReport> tStrainReports = strainReportService.list(new LambdaQueryWrapper<TStrainReport>()
.eq(TStrainReport::getStatus,3).eq(TStrainReport::getProjectId,id));
- List<String> collect7 = tStrainReports.stream().map(TStrainReport::getId).collect(Collectors.toList());
- if (collect7.isEmpty())collect7.add("0");
+ List<String> strainReportIds = tStrainReports.stream().map(TStrainReport::getId).collect(Collectors.toList());
+ if (strainReportIds.isEmpty())strainReportIds.add("0");
List<TStrainReportDetail> tStrainReportDetails = strainReportDetailService
- .list(new LambdaQueryWrapper<TStrainReportDetail>().in(TStrainReportDetail::getReportId,collect7)
+ .list(new LambdaQueryWrapper<TStrainReportDetail>().in(TStrainReportDetail::getReportId,strainReportIds)
.orderByDesc(TStrainReportDetail::getCreateTime));
BigDecimal sum = new BigDecimal("0");
BigDecimal sum1 = new BigDecimal("0");
@@ -177,26 +190,26 @@
Integer temp = 0;
for (TStrainReport tStrainReport : tStrainReports) {
- List<TStrainReportDetail> collect1 = tStrainReportDetails.stream()
+ List<TStrainReportDetail> tStrainReportDetails1 = tStrainReportDetails.stream()
.filter(e -> e.getReportId().equals(tStrainReport.getId())&&
e.getEvaluateHumanType()==1).collect(Collectors.toList());
- List<TStrainReportDetail> collect2 = tStrainReportDetails.stream()
+ List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream()
.filter(e -> e.getReportId().equals(tStrainReport.getId())&&
e.getEvaluateHumanType()==2).collect(Collectors.toList());
// 菌种工程积分
- sum1 = collect2.stream()
+ sum1 = tStrainReportDetails2.stream()
.filter(e -> e.getEvaluateHumanType().equals(1))
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
.orElse(BigDecimal.ZERO);
// 菌种实验员积分
- sum2 = collect1.stream()
+ sum2 = tStrainReportDetails1.stream()
.filter(e -> e.getEvaluateHumanType().equals(2))
.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) {
+ List<TStrainReportDetail> tStrainReportDetails3 = tStrainReportDetails.stream().filter(e -> 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")){
@@ -211,18 +224,14 @@
tStrainReportDetailVO.setFailCount(temp);
- List<TStrainReport> collect1 = tStrainReports.stream().filter(e -> e.getProjectId().equals(byId.getId())).collect(Collectors.toList());
- if (!collect1.isEmpty()){
- tStrainReportDetailVO.setEndTime(collect1.get(0).getEvaluateTime());
+ List<TStrainReport> strainReportIdsByProjectId = tStrainReports.stream().filter(e -> e.getProjectId().equals(byId.getId())).collect(Collectors.toList());
+ if (!strainReportIdsByProjectId.isEmpty()){
+ tStrainReportDetailVO.setEndTime(strainReportIdsByProjectId.get(0).getEvaluateTime());
}
tStrainReportDetailVO.setStartTime(byId.getCreateTime());
- TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId())
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId())
.eq(TProjectTeamStaff::getRoleType, 2).one();
-
- List<String> strings = new ArrayList<>();
List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS = new ArrayList<>();
-
-
if (sysUser.getRoleType().equals("4")){
TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO();
tStrainReportDetailExperimentVO.setUserName(sysUser.getNickName());
@@ -234,17 +243,17 @@
.orElse(BigDecimal.ZERO);
tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
- List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList());
- if (!collect.isEmpty()){
- tStrainReportDetailExperimentVO.setHandleStartTime(collect.get(0).getCreateTime());
+ List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList());
+ if (!strainReportDetails.isEmpty()){
+ tStrainReportDetailExperimentVO.setHandleStartTime(strainReportDetails.get(0).getCreateTime());
}
tStrainReportDetailExperimentVOS.add(tStrainReportDetailExperimentVO);
tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS);
}else{
- List<TStrainReportDetail> collect6 = tStrainReportDetails.stream()
+ List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream()
.filter(e -> e.getEvaluateHumanType() == 2&&
- e.getExperimentId().equals(one1.getUserId())).collect(Collectors.toList());
- if (collect6.isEmpty()){
+ e.getExperimentId().equals(projectTeamStaff.getUserId())).collect(Collectors.toList());
+ if (strainReportDetails.isEmpty()){
TStrainReportDetailEngineerVO tStrainReportDetailEngineerVO = new TStrainReportDetailEngineerVO();
tStrainReportDetailEngineerVO.setInnovateCount(0);
tStrainReportDetailEngineerVO.setInnovateIntegral(BigDecimal.ZERO);
@@ -280,31 +289,31 @@
tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS1);
}else{
- List<TStrainReportDetail> collect2 = collect6.stream()
- .filter(e -> e.getEvaluateHumanType().equals(2) && e.getExperimentId().equals(one1.getUserId())).collect(Collectors.toList());
+ List<TStrainReportDetail> reportDetails = strainReportDetails.stream()
+ .filter(e -> e.getEvaluateHumanType().equals(2) && e.getExperimentId().equals(projectTeamStaff.getUserId())).collect(Collectors.toList());
TStrainReportDetailEngineerVO tStrainReportDetailEngineerVO = new TStrainReportDetailEngineerVO();
- tStrainReportDetailEngineerVO.setInnovateCount((int)collect2.stream().filter(e->e.getEvaluateType().equals(1)).count());
- tStrainReportDetailEngineerVO.setInnovateIntegral(collect2.stream().filter(e->e.getEvaluateType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
- List<TStrainReportDetail> collect3 = collect2.stream().filter(e -> e.getEvaluateType().equals(1)).collect(Collectors.toList());
+ 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());
}
tStrainReportDetailEngineerVO.setInnovateEndTime(byId.getCreateTime());
- tStrainReportDetailEngineerVO.setRegulationCount((int)collect2.stream().filter(e->e.getEvaluateType().equals(2)).count());
- tStrainReportDetailEngineerVO.setRegulationIntegral(collect2.stream().filter(e->e.getEvaluateType().equals(2)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
- List<TStrainReportDetail> collect4 = collect2.stream().filter(e -> e.getEvaluateType().equals(2)).collect(Collectors.toList());
+ 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(byId.getCreateTime());
- tStrainReportDetailEngineerVO.setHandleCount((int)collect2.stream().filter(e->e.getReportType().equals(1)).count());
- tStrainReportDetailEngineerVO.setHandleIntegral(collect2.stream().filter(e->e.getReportType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
- List<TStrainReportDetail> collect5 = collect2.stream().filter(e->e.getReportType().equals(1)).collect(Collectors.toList());
- if (!collect5.isEmpty()){
- tStrainReportDetailEngineerVO.setHandleStartTime(collect5.get(collect5.size()-1).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(byId.getCreateTime());
@@ -369,10 +378,10 @@
if (dto.getIsDraft()==0){
// 新增消息
TNotice tNotice = new TNotice();
- TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
.eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice.setUserId(one.getUserId());
+ tNotice.setUserId(projectTeamStaff.getUserId());
tNotice.setStatus(1);
tNotice.setNoticeContent("您有【1】条【菌种报告】【报告库"+dto.getReportType()+"】等待审核");
tNotice.setDataId(dto.getId());
@@ -380,11 +389,11 @@
noticeService.save(tNotice);
// 新增消息
TNotice tNotice1 = new TNotice();
- TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
+ TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
.eq(TProjectTeamStaff::getRoleType, 3).last("limit 1").one();
tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice1.setUserId(one1.getUserId());
+ tNotice1.setUserId(tProjectTeamStaff.getUserId());
tNotice1.setStatus(1);
tNotice1.setNoticeContent("您有【1】条菌种库操作菌种工程师已评定;");
tNotice1.setDataId(dto.getId());
@@ -416,11 +425,11 @@
if (dto.getIsDraft()==0){
// 新增消息
TNotice tNotice = new TNotice();
- TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
.eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice.setUserId(one.getUserId());
+ tNotice.setUserId(projectTeamStaff.getUserId());
tNotice.setStatus(1);
tNotice.setNoticeContent("您有【1】条【菌种报告】【报告库"+dto.getReportType()+"】等待审核");
tNotice.setDataId(dto.getId());
@@ -435,8 +444,8 @@
//@PreAuthorize("@ss.hasPermi('system:strainReport:cancelReport')")
@Log(title = "菌种库报告管理-菌种工程师撤销审批", businessType = BusinessType.UPDATE)
@ApiOperation(value = "菌种工程师撤销审批",tags = "菌种报告库")
- @PostMapping(value = "/api/t-strain-report/cancelReport")
- public R<Boolean> cancelReport(@RequestBody String id) {
+ @GetMapping(value = "/open/t-strain-report/cancelReport")
+ public R<Boolean> cancelReport(@RequestParam String id) {
TStrainReport strainReport = strainReportService.getById(id);
strainReport.setIsDraft(1);
strainReport.setStatus(1);
@@ -464,9 +473,6 @@
strainReportService.updateById(strainReport);
// 新增消息
TNotice tNotice = new TNotice();
- TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
- .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
-
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
tNotice.setUserId(tokenService.getLoginUser().getUserId()+"");
tNotice.setStatus(1);
@@ -476,18 +482,18 @@
noticeService.save(tNotice);
// 新增消息
- TNotice tNotice1 = new TNotice();
- TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
+ TNotice notice = new TNotice();
+ TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
.eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
- tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice1.setUserId(one1.getUserId());
- tNotice1.setStatus(1);
+ notice.setCommitId(tokenService.getLoginUser().getUserId()+"");
+ notice.setUserId(tProjectTeamStaff.getUserId());
+ notice.setStatus(1);
String temp=dto.getStatus()==2?"通过":"驳回";
- tNotice1.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】");
- tNotice1.setDataId(dto.getId());
- tNotice1.setNoticeType(7);
- noticeService.save(tNotice1);
+ notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】");
+ notice.setDataId(dto.getId());
+ notice.setNoticeType(7);
+ noticeService.save(notice);
return R.ok();
}
/**
@@ -520,16 +526,16 @@
tStrainReportDetail.setEvaluateType(dto.getEvaluateType());
strainReportDetailService.save(tStrainReportDetail);
// 新增消息
- TNotice tNotice1 = new TNotice();
- TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
+ TNotice notice = new TNotice();
+ TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
.eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
- tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+"");
- tNotice1.setUserId(one1.getUserId());
- tNotice1.setStatus(1);
- tNotice1.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已评定");
- tNotice1.setDataId(dto.getId());
- tNotice1.setNoticeType(8);
- noticeService.save(tNotice1);
+ notice.setCommitId(tokenService.getLoginUser().getUserId()+"");
+ notice.setUserId(projectTeamStaff.getUserId());
+ notice.setStatus(1);
+ notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已评定");
+ notice.setDataId(dto.getId());
+ notice.setNoticeType(8);
+ noticeService.save(notice);
return R.ok();
}
/**
@@ -558,31 +564,31 @@
}
}
BeanUtils.copyProperties(strainReport, tStrainReportDetailVO);
- TProjectTeam byId = projectTeamService.getById(strainReport.getProjectId());
- List<TProjectTeamStaff> list = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId()).list();
- StringBuilder stringBuilder = new StringBuilder();
+ TProjectTeam projectTeam = projectTeamService.getById(strainReport.getProjectId());
+ List<TProjectTeamStaff> list = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).list();
+ StringBuilder staffNames = new StringBuilder();
for (TProjectTeamStaff tProjectTeamStaff : list) {
SysUser sysUser = sysUserService.selectUserById(Long.valueOf(tProjectTeamStaff.getUserId()));
if (sysUser!=null){
- stringBuilder.append(sysUser.getNickName()).append(",");
+ staffNames.append(sysUser.getNickName()).append(",");
}
}
- if (StringUtils.hasLength(stringBuilder.toString())){
- byId.setStaff(stringBuilder.substring(0, stringBuilder.toString().length() - 1));
+ if (StringUtils.hasLength(staffNames.toString())){
+ projectTeam.setStaff(staffNames.substring(0, staffNames.toString().length() - 1));
}
- tStrainReportDetailVO.setProjectTeam(byId);
- TStrainReportDetail one = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id)
+ tStrainReportDetailVO.setProjectTeam(projectTeam);
+ TStrainReportDetail strainReportDetail = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id)
.eq(TStrainReportDetail::getEvaluateHumanType, 1).one();
- tStrainReportDetailVO.setEvaluate(one.getEvaluate());
- tStrainReportDetailVO.setEvaluateTotal(one.getEvaluateTotal());
+ tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate());
+ tStrainReportDetailVO.setEvaluateTotal(strainReportDetail.getEvaluateTotal());
if (strainReport.getEvaluateId()!=null){
tStrainReportDetailVO.setEvaluateName(sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())).getNickName());
}
- if (one.getExperimentId()!=null){
- SysUser sysUser = sysUserService.selectUserById(Long.valueOf(one.getExperimentId()));
+ if (strainReportDetail.getExperimentId()!=null){
+ SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReportDetail.getExperimentId()));
tStrainReportDetailVO.setExperimentName(sysUser.getNickName());
tStrainReportDetailVO.setExperimentAvatar(sysUser.getAvatar());
- tStrainReportDetailVO.setExperimentId(one.getExperimentId());
+ tStrainReportDetailVO.setExperimentId(strainReportDetail.getExperimentId());
}
tStrainReportDetailVO.setReportType(strainReport.getReportType());
if (strainReport.getCommitId()!=null){
@@ -599,15 +605,15 @@
TStrainReportDetailVO tStrainReportDetailVO = new TStrainReportDetailVO();
TStrainReport strainReport = strainReportService.getById(id);
BeanUtils.copyProperties(strainReport, tStrainReportDetailVO);
- TProjectTeam byId = projectTeamService.getById(strainReport.getProjectId());
- tStrainReportDetailVO.setProjectTeam(byId);
- TStrainReportDetail one = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id)
+ TProjectTeam projectTeam = projectTeamService.getById(strainReport.getProjectId());
+ tStrainReportDetailVO.setProjectTeam(projectTeam);
+ TStrainReportDetail strainReportDetail = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id)
.eq(TStrainReportDetail::getEvaluateHumanType, 2).one();
- tStrainReportDetailVO.setEvaluate(one.getEvaluate());
- tStrainReportDetailVO.setEvaluateTotal(one.getEvaluateTotal());
+ tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate());
+ tStrainReportDetailVO.setEvaluateTotal(strainReportDetail.getEvaluateTotal());
tStrainReportDetailVO.setEvaluateName(sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())).getNickName());
- tStrainReportDetailVO.setExperimentName(sysUserService.selectUserById(Long.valueOf(one.getExperimentId())).getNickName());
- tStrainReportDetailVO.setExperimentId(one.getExperimentId());
+ tStrainReportDetailVO.setExperimentName(sysUserService.selectUserById(Long.valueOf(strainReportDetail.getExperimentId())).getNickName());
+ tStrainReportDetailVO.setExperimentId(strainReportDetail.getExperimentId());
tStrainReportDetailVO.setReportType(strainReport.getReportType());
tStrainReportDetailVO.setCommitName(sysUserService.selectUserById(Long.valueOf(strainReport.getCommitId())).getNickName());
return R.ok(tStrainReportDetailVO);
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 5174df0..3b8bac4 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
@@ -72,35 +72,46 @@
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());
+ }
strainValidationDataService.save(dto);
if (dto.getIsDraft()==0){
dto.setStatus(1);
+ }else{
+ dto.setStatus(3);
}
if (dto.getStatus()==1){
// 新增消息
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, 3)
.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();
- tNotice.setUserId(one1.getUserId());
+ TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery()
+ .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
+ tNotice.setUserId(tProjectTeamStaff.getUserId());
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
tNotice.setStatus(1);
- StringBuilder stringBuilder = new StringBuilder();
+ StringBuilder content = new StringBuilder();
switch (dto.getStrainType()){
case 1:
- stringBuilder.append( "【原始细胞库验证资料】");
+ content.append( "【原始细胞库验证资料】");
break;
case 2:
- stringBuilder.append("【主细胞库验证资料】");
+ content.append("【主细胞库验证资料】");
break;
}
- tNotice.setNoticeContent("您有【1】条"+stringBuilder+"等待确认;");
+ tNotice.setNoticeContent("您有【1】条"+content+"等待确认;");
tNotice.setDataId(dto.getId());
tNotice.setNoticeType(6);
noticeService.save(tNotice);
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 510786a..185522e 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
@@ -61,14 +61,19 @@
@PostMapping(value = "/api/t-train-library/choiceUserList")
public R<PageInfo<ChoiceUserVO>> choiceUserList(@RequestBody String param) {
ChoiceStrainDTO query = JSON.parseObject(param, ChoiceStrainDTO.class);
+ if (query.getRoleType()==2){
+ query.setRoleType(3);
+ }
+ if (query.getRoleType()==1){
+ query.setRoleType(2);
+ }
List<String> userIds = projectTeamStaffService.lambdaQuery()
- .eq(TProjectTeamStaff::getRoleType, query.getRoleType())
+ .eq(TProjectTeamStaff::getRoleType, query.getRoleType() )
.eq(TProjectTeamStaff::getTeamId, query.getProjectId()).list().stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
if (userIds.isEmpty()){
userIds.add("0");
}
query.setUserIds(userIds);
-
return R.ok(sysUserService.choiceUserList(query));
}
/**
@@ -79,20 +84,18 @@
public R<PageInfo<TProjectTeamVO>> choiceProjectList(@RequestBody String param) {
LoginUser loginUser = tokenService.getLoginUser();
SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId());
- List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- if (collect.isEmpty()){
- collect.add("0");
+ List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
+ if (projectIds.isEmpty()){
+ projectIds.add("0");
}
ChoiceProjectDTO query = JSON.parseObject(param, ChoiceProjectDTO.class);
- query.setProjectIds(collect);
+ query.setProjectIds(projectIds);
return R.ok(projectTeamService.choiceProjectList(query));
}
- // 提取为独立方法以提高可读性和复用性
/**
* 获取菌种库分页列表
*/
- //@PreAuthorize("@ss.hasPermi('system:trainLibrary:list')")
@ApiOperation(value = "获取菌种库分页列表",tags = "菌种库管理",response = TTrainLibraryQuery.class)
@PostMapping(value = "/api/t-train-library/pageList")
public R<PageInfo<TTrainLibraryVO>> pageList(@RequestBody String param) {
@@ -106,10 +109,10 @@
@ApiOperation(value = "获取菌种库出入库时间轴列表",tags = "菌种库管理")
@PostMapping(value = "/api/t-train-library/timeList")
public R<List<TTrainLibraryWarehousing>> timeList(@RequestParam String id) {
- List<TTrainLibraryWarehousing> list = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId,id)
+ List<TTrainLibraryWarehousing> tTrainLibraryWarehousings = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId,id)
.orderByDesc(TTrainLibraryWarehousing::getCreateTime).list();
List<SysUser> sysUsers = sysUserService.selectList();
- for (TTrainLibraryWarehousing tTrainLibraryWarehousing : list) {
+ for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousings) {
if (tTrainLibraryWarehousing.getHandleId()!=null){
SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(tTrainLibraryWarehousing.getHandleId())).findFirst().orElse(null);
if (sysUser!=null){
@@ -123,7 +126,7 @@
}
}
}
- return R.ok(list);
+ return R.ok(tTrainLibraryWarehousings);
}
@Resource
private TNoticeService noticeService;
@@ -139,6 +142,15 @@
return R.fail(401,"登陆失效");
}
TTrainLibraryDTO dto = JSON.parseObject(param,TTrainLibraryDTO.class);
+ 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());
+ }
tTrainLibraryService.save(dto);
if (dto.getIsDraft()==0){
// 新增入库记录
@@ -147,34 +159,34 @@
tTrainLibraryWarehousing.setType(2);
tTrainLibraryWarehousing.setBoundTime(LocalDateTime.now());
tTrainLibraryWarehousing.setHandleId(tokenService.getLoginUser().getUserId());
- tTrainLibraryWarehousing.setHandleSignature(dto.getHandleSignature());
+ tTrainLibraryWarehousing.setHandleSignature(dto.getSignature());
tTrainLibraryWarehousingService.save(tTrainLibraryWarehousing);
// 新增消息
TNotice tNotice = new TNotice();
- List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
- .eq(TProjectTeamStaff::getRoleType, 2)
+ List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
+ .eq(TProjectTeamStaff::getRoleType, 3)
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect).eq(TProjectTeam::getStatus, 1)
+ 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);
- StringBuilder stringBuilder = new StringBuilder();
+ StringBuilder content = new StringBuilder();
switch (dto.getType()){
case 1:
- stringBuilder.append("【原始细胞库】");
+ content.append("【原始细胞库】");
break;
case 2:
- stringBuilder.append("【主细胞库】");
+ content.append("【主细胞库】");
break;
case 3:
- stringBuilder.append("【生产细胞库】");
+ content.append("【生产细胞库】");
break;
}
- tNotice.setNoticeContent("您有【1】条"+stringBuilder+"入库记录等待签字确认;");
+ tNotice.setNoticeContent("您有【1】条"+content+"入库记录等待签字确认;");
tNotice.setDataId(dto.getId());
tNotice.setNoticeType(3);
noticeService.save(tNotice);
@@ -195,10 +207,10 @@
TTrainLibrary tTrainLibrary = new TTrainLibrary();
BeanUtils.copyProperties(dto,tTrainLibrary);
if (i==0){
- List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
+ List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
.eq(TProjectTeamStaff::getRoleType, 3)
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- if (collect.isEmpty()){
+ if (projectIds.isEmpty()){
return R.fail("请先加入项目组");
}
tTrainLibrary.setStatus(4);
@@ -213,29 +225,29 @@
// 新增消息
TNotice tNotice = new TNotice();
- TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect)
+ TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, projectIds)
.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 tProjectTeamStaff = projectTeamStaffService.lambdaQuery()
+ .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
+ tNotice.setUserId(tProjectTeamStaff.getUserId());
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
tNotice.setStatus(1);
- StringBuilder stringBuilder = new StringBuilder();
+ StringBuilder content = new StringBuilder();
switch (dto.getType()){
case 1:
- stringBuilder.append("【原始细胞库】");
+ content.append("【原始细胞库】");
break;
case 2:
- stringBuilder.append("【主细胞库】");
+ content.append("【主细胞库】");
break;
case 3:
- stringBuilder.append("【生产细胞库】");
+ content.append("【生产细胞库】");
break;
}
- tNotice.setNoticeContent("您有【1】条"+stringBuilder+"入库记录等待签字确认;");
+ tNotice.setNoticeContent("您有【1】条"+content+"入库记录等待签字确认;");
tNotice.setDataId(dto.getId());
tNotice.setNoticeType(3);
noticeService.save(tNotice);
@@ -289,15 +301,15 @@
}
TTrainLibraryDetailConfirmDto query = JSON.parseObject(param, TTrainLibraryDetailConfirmDto.class);
TTrainLibraryWarehousing tTrainLibraryWarehousing = tTrainLibraryWarehousingService.getById(query.getId());
- TTrainLibrary byId = tTrainLibraryService.getById(tTrainLibraryWarehousing.getTrainLibraryId());
+ TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(tTrainLibraryWarehousing.getTrainLibraryId());
if (tTrainLibraryWarehousing.getType()==1){
- byId.setStock(0);
- byId.setStatus(1);
+ tTrainLibrary.setStock(0);
+ tTrainLibrary.setStatus(1);
}else{
- byId.setStock(1);
- byId.setStatus(3);
+ tTrainLibrary.setStock(1);
+ tTrainLibrary.setStatus(3);
}
- tTrainLibraryService.updateById(byId);
+ tTrainLibraryService.updateById(tTrainLibrary);
tTrainLibraryWarehousing.setPreserveSignature(query.getPreserveSignature());
tTrainLibraryWarehousing.setPreserveId(tokenService.getLoginUser().getUserId());
tTrainLibraryWarehousing.setConfirmTime(LocalDateTime.now());
@@ -312,9 +324,9 @@
@ApiOperation(value = "编辑获取菌种库详情",tags = "菌种库管理",response = TTrainLibraryDetailVO.class)
@GetMapping(value = "/open/t-train-library/getDetailEditById")
public R<TTrainLibraryDetailVO> getDetailEditById(@RequestParam String id) {
- TTrainLibrary byId = tTrainLibraryService.getById(id);
+ TTrainLibrary trainLibrary = tTrainLibraryService.getById(id);
TTrainLibraryDetailVO tTrainLibraryDetailVO = new TTrainLibraryDetailVO();
- BeanUtils.copyProperties(byId,tTrainLibraryDetailVO);
+ BeanUtils.copyProperties(trainLibrary,tTrainLibraryDetailVO);
return R.ok(tTrainLibraryDetailVO);
}
/**
@@ -325,8 +337,8 @@
@PostMapping(value = "/open/t-train-library/getDetailById")
public R<TTrainLibraryDetailVO> getDetailById(@RequestBody String param) {
TTrainLibraryDetailQuery query = JSON.parseObject(param, TTrainLibraryDetailQuery.class);
- TTrainLibraryDetailVO detailById = tTrainLibraryService.getDetailById(query);
- PageInfo<TTrainLibraryWarehousingVO> warehousingList = detailById.getWarehousingList();
+ TTrainLibraryDetailVO libraryDetailVO = tTrainLibraryService.getDetailById(query);
+ PageInfo<TTrainLibraryWarehousingVO> warehousingList = libraryDetailVO.getWarehousingList();
List<TTrainLibraryWarehousingVO> records = warehousingList.getRecords();
List<SysUser> sysUsers = sysUserService.selectList();
for (TTrainLibraryWarehousingVO record : records) {
@@ -360,8 +372,8 @@
}
}
}
- detailById.setList(list);
- return R.ok(detailById);
+ libraryDetailVO.setList(list);
+ return R.ok(libraryDetailVO);
}
/**
* 删除项目组
@@ -397,28 +409,36 @@
AddTrainLibraryWarehousingDTO query = JSON.parseObject(param, AddTrainLibraryWarehousingDTO.class);
TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(query.getTrainLibraryId());
if (query.getType()==1){
- if (tTrainLibrary.getStatus()==1||tTrainLibrary.getStatus()==2){
+ if (tTrainLibrary.getStatus()==1||tTrainLibrary.getStatus()==2||tTrainLibrary.getStatus()==4){
if(tTrainLibrary.getStatus()==2){
return R.fail("当前菌种为出库待确认状态,不可重复出库");
- }else{
+ }else if (tTrainLibrary.getStatus()==1){
return R.fail("当前菌种为已出库状态,不可重复出库");
+ }else{
+ return R.fail("当前菌种为入库待确认状态,不可出库");
}
}
+ tTrainLibrary.setStatus(2);
}
if (query.getType()==2){
- if (tTrainLibrary.getStatus()==3||tTrainLibrary.getStatus()==4){
+ if (tTrainLibrary.getStatus()==2||tTrainLibrary.getStatus()==3||tTrainLibrary.getStatus()==4){
if(tTrainLibrary.getStatus()==4){
return R.fail("当前菌种为入库待确认状态,不可重复入库");
- }else{
+ }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);
return R.ok();
}
/**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 4fec420..c3eec7c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -81,7 +81,6 @@
}
List<SysMenu> menus = roleService.roleInfoFromUserId(loginUser.getUserId());
-
ajax.put("menus",menus);
ajax.put("roleName",roles.get(0).getRoleName());
ajax.put("userInfo",loginUser);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 237eae1..ce91242 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -13,6 +13,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.*;
+import com.ruoyi.system.model.*;
import com.ruoyi.system.query.SysUserQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.SysUserVO;
@@ -24,6 +25,7 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -48,6 +50,35 @@
private ISysDeptService deptService;
@Autowired
private TokenService tokenService;
+ @Resource
+ private TBreedingAndPreservationService breedingAndPreservationService;
+ @Resource
+ private TCulturePreservationService culturePreservationService;
+ @Resource
+ private TNoticeService noticeService;
+ @Resource
+ private TObservationOfPetriDishesService observationOfPetriDishesService;
+ @Resource
+ private TPedigreeChartDetailService pedigreeChartDetailService;
+ @Resource
+ private TPedigreeChartService pedigreeChartService;
+
+ @Resource
+ private TSeparationOfCultureDishesService separationOfCultureDishesService;
+ @Resource
+ private TStrainReportService strainReportService;
+ @Resource
+ private TStrainReportDetailService strainReportDetailService;
+ @Resource
+ private TStrainValidationDataService strainValidationDataService;
+ @Resource
+ private TTrainLibraryService tTrainLibraryService;
+ @Resource
+ private TTrainLibraryWarehousingService tTrainLibraryWarehousingService;
+ @Resource
+ private TVaccinationSlopeService vaccinationSlopeService;
+ @Resource
+ private TProjectTeamStaffService projectTeamStaffService;
/**
* 获取用户列表
@@ -233,18 +264,81 @@
}
return AjaxResult.success(userService.updateUser(sysUser));
}
- @ApiOperation(value = "账号继承")
+ @ApiOperation(value = "账号继承",response = SysUserInheritDTO.class)
@Log(title = "用户信息-账号继承", businessType = BusinessType.UPDATE)
@PostMapping("/api/system/user/inherit")
public AjaxResult inherit(@RequestBody String param)
{
SysUserInheritDTO dto = JSON.parseObject(param,SysUserInheritDTO.class);
+ Long currentUserId = dto.getCurrentUserId();
+ Long userId = dto.getUserId();
SysUser currentUser = userService.selectUserById(dto.getCurrentUserId());
SysUser user = userService.selectUserById(dto.getUserId());
- user.setUserId(currentUser.getUserId());
- userService.deleteUserById(dto.getCurrentUserId());
- // 将user的userId换成currentUser的userId
- userService.inherit(user);
+ // 将user所有数据 替换为当前账号id
+ List<TCulturePreservation> culturePreservationsHandle = culturePreservationService.lambdaQuery().eq(TCulturePreservation::getHandleId, userId).list();
+ for (TCulturePreservation tCulturePreservation : culturePreservationsHandle) {
+ tCulturePreservation.setHandleId(currentUserId+"");
+ }
+ culturePreservationService.updateBatchById( culturePreservationsHandle);
+ List<TCulturePreservation> culturePreservationsPreserve = culturePreservationService.lambdaQuery().eq(TCulturePreservation::getPreserveId, userId).list();
+ for (TCulturePreservation tCulturePreservation : culturePreservationsPreserve) {
+ tCulturePreservation.setPreserveId(currentUserId+"");
+ }
+ culturePreservationService.updateBatchById( culturePreservationsPreserve);
+ List<TNotice> notices = noticeService.lambdaQuery().eq(TNotice::getUserId, userId).list();
+ for (TNotice tNotice : notices) {
+ tNotice.setUserId(currentUserId+"");
+ }
+ noticeService.updateBatchById( notices);
+ List<TPedigreeChartDetail> pedigreeChartDetailsVaccinate = pedigreeChartDetailService.lambdaQuery().eq(TPedigreeChartDetail::getVaccinateId, userId).list();
+ for (TPedigreeChartDetail tPedigreeChartDetail : pedigreeChartDetailsVaccinate) {
+ tPedigreeChartDetail.setVaccinateId(currentUserId+"");
+ }
+ pedigreeChartDetailService.updateBatchById( pedigreeChartDetailsVaccinate);
+ List<TPedigreeChartDetail> pedigreeChartDetailsPreserve = pedigreeChartDetailService.lambdaQuery().eq(TPedigreeChartDetail::getPreserveId, userId).list();
+ for (TPedigreeChartDetail tPedigreeChartDetail : pedigreeChartDetailsPreserve) {
+ tPedigreeChartDetail.setPreserveId(currentUserId+"");
+ }
+ pedigreeChartDetailService.updateBatchById(pedigreeChartDetailsPreserve);
+ List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, userId).list();
+ for (TProjectTeamStaff tProjectTeamStaff : projectTeamStaffs) {
+ tProjectTeamStaff.setUserId(currentUserId+"");
+ }
+ projectTeamStaffService.updateBatchById(projectTeamStaffs);
+ List<TStrainReport> strainReports = strainReportService.lambdaQuery().eq(TStrainReport::getCommitId, userId).list();
+ for (TStrainReport tStrainReport : strainReports) {
+ tStrainReport.setCommitId(currentUserId+"");
+ }
+ strainReportService.updateBatchById(strainReports);
+ List<TStrainReportDetail> strainReportDetailsExperiment = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getExperimentId, userId).list();
+ for (TStrainReportDetail tStrainReportDetail : strainReportDetailsExperiment) {
+ tStrainReportDetail.setExperimentId(currentUserId+"");
+ }
+ strainReportDetailService.updateBatchById(strainReportDetailsExperiment);
+ List<TStrainReportDetail> strainReportDetailsEvaluate = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getEvaluateId, userId).list();
+ for (TStrainReportDetail tStrainReportDetail : strainReportDetailsEvaluate) {
+ tStrainReportDetail.setEvaluateId(currentUserId+"");
+ }
+ strainReportDetailService.updateBatchById(strainReportDetailsEvaluate);
+ List<TTrainLibraryWarehousing> tTrainLibraryWarehousingsHandle = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getHandleId, userId).list();
+ for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousingsHandle) {
+ tTrainLibraryWarehousing.setHandleId(currentUserId);
+ }
+ tTrainLibraryWarehousingService.updateBatchById(tTrainLibraryWarehousingsHandle);
+ List<TTrainLibraryWarehousing> tTrainLibraryWarehousingsPreserve = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getPreserveId, userId).list();
+ for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousingsPreserve) {
+ tTrainLibraryWarehousing.setPreserveId(currentUserId);
+ }
+ tTrainLibraryWarehousingService.updateBatchById(tTrainLibraryWarehousingsPreserve);
+ List<TVaccinationSlope> vaccinationSlopesHandle = vaccinationSlopeService.lambdaQuery().eq(TVaccinationSlope::getHandleId, userId).list();
+ for (TVaccinationSlope tVaccinationSlope : vaccinationSlopesHandle) {
+ tVaccinationSlope.setHandleId(currentUserId+"");
+ }
+ vaccinationSlopeService.updateBatchById(vaccinationSlopesHandle);
+ List<TVaccinationSlope> vaccinationSlopesPreserve = vaccinationSlopeService.lambdaQuery().eq(TVaccinationSlope::getPreserveId, userId).list();
+ for (TVaccinationSlope tVaccinationSlope : vaccinationSlopesPreserve) {
+ tVaccinationSlope.setPreserveId(currentUserId+"");
+ }
return AjaxResult.success();
}
@ApiOperation(value = "启用/禁用")
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java
index 9007fbb..8c48624 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java
@@ -55,7 +55,6 @@
LoginUser loginUser = SecurityUtils.getLoginUser();
SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId());
if (sysUser!=null) {
- this.setFieldValByName("createBy", sysUser.getNickName(), metaObject);
this.setFieldValByName("updateBy", sysUser.getNickName(), metaObject);
}
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 c02d68a..b995100 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
@@ -23,7 +23,7 @@
@Api(tags = "服务器文件上传")
@RestController
@CrossOrigin
-@RequestMapping("/file/")
+@RequestMapping("/open/file/")
public class FileController {
@Autowired
@@ -39,7 +39,7 @@
}
String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
// String realPath = fileUploadConfig.getLocation() + TimeDir;
- String realPath = "C:\\Users\\Admin\\Desktop\\qrcode\\" + TimeDir;
+ String realPath = "D:\\upload\\image\\" + TimeDir;
File file = new File(realPath);
// 没有目录就创建
if (!file.exists()) {
@@ -92,7 +92,7 @@
return "请传入文件!";
}
String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
- String realPath = "C:\\Users\\Admin\\Desktop\\qrcode\\" + TimeDir;
+ String realPath = "D:\\upload\\image" + TimeDir;
File file = new File(realPath);
// 没有目录就创建
if (!file.exists()) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TPedigreeChartParentTwoCountDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TPedigreeChartParentTwoCountDTO.java
index be5be37..1a7a55f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TPedigreeChartParentTwoCountDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TPedigreeChartParentTwoCountDTO.java
@@ -8,7 +8,7 @@
import java.util.List;
@Data
-@ApiModel(value = "添加谱系图一级设置穿戴书")
+@ApiModel(value = "添加谱系图一级设置传代书")
public class TPedigreeChartParentTwoCountDTO extends TPedigreeChartDetail {
@ApiModelProperty(value = "后代")
private List<TPedigreeChartParentThreeDTO> children;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBreedingAndPreservation.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBreedingAndPreservation.java
index 15751e5..6f5883d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBreedingAndPreservation.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBreedingAndPreservation.java
@@ -72,6 +72,9 @@
@ApiModelProperty(value = "培养温度")
@TableField("temperature")
private String temperature;
+ @ApiModelProperty(value = "项目组id")
+ @TableField("project_id")
+ private String projectId;
@ApiModelProperty(value = "需氧类型1专性需氧 2专性厌氧 3兼性厌氧 4耐氧厌氧")
@TableField("aerobic_type")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TCulturePreservation.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TCulturePreservation.java
index 861b17a..ff1b98d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TCulturePreservation.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TCulturePreservation.java
@@ -54,6 +54,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/model/TPedigreeChart.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChart.java
index cb9573b..888bfea 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
@@ -63,6 +63,8 @@
@ApiModelProperty(value = "菌种传代生产谱系图 回显使用")
@TableField(exist = false)
private TPedigreeChartParentAllDetailDTO pedigreeChartParentAllDetailDTO;
-
+ @ApiModelProperty(value = "项目组id")
+ @TableField("project_id")
+ private String projectId;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChartDetail.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChartDetail.java
index a175b6c..10efa29 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChartDetail.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChartDetail.java
@@ -71,6 +71,9 @@
@ApiModelProperty(value = "接种操作人id")
@TableField("vaccinate_id")
private String vaccinateId;
+ @ApiModelProperty(value = "接种操作人名称")
+ @TableField(exist = false)
+ private String vaccinateName;
@ApiModelProperty(value = "接种时间")
@TableField("vaccinate_time")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TStrainValidationData.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TStrainValidationData.java
index f533250..bd13323 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TStrainValidationData.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TStrainValidationData.java
@@ -33,7 +33,9 @@
@TableField("id")
private String id;
-
+ @ApiModelProperty(value = "项目组id")
+ @TableField("project_id")
+ private String projectId;
@ApiModelProperty(value = "菌种来源")
@TableField("strain_source")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTrainLibrary.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTrainLibrary.java
index b12ce73..d88dc64 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTrainLibrary.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTrainLibrary.java
@@ -40,7 +40,9 @@
@TableField("strain_name")
private String strainName;
-
+ @ApiModelProperty(value = "项目组id")
+ @TableField("project_id")
+ private String projectId;
@ApiModelProperty(value = "菌种来源1 是沙土管或甘油管的源头菌种;入原始细胞库(祖代-0) 2 是斜面的源头菌种;接种入主细胞库(祖代-0)。经过育种、验证后,菌种保藏为甘油管或沙土管的,入原始细胞库(祖代-0)3 是含菌物质自己分离后获得的斜面源头菌种,接种入主细胞库;经生产验证后,保藏为沙土管或甘油管,入原始细胞库(祖代-O)")
@TableField("strain_source")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TBreedingAndPreservationQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TBreedingAndPreservationQuery.java
index 1d9c245..947d524 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TBreedingAndPreservationQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TBreedingAndPreservationQuery.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel(value = "菌种选育保藏记录分页列表query")
public class TBreedingAndPreservationQuery extends TimeRangeQueryBody {
@@ -19,6 +21,8 @@
private Integer aerobicType;
@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/query/TPedigreeChartQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TPedigreeChartQuery.java
index 4b6c064..a71b020 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TPedigreeChartQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TPedigreeChartQuery.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel(value = "谱系图分页列表query")
public class TPedigreeChartQuery extends TimeRangeQueryBody {
@@ -18,5 +20,6 @@
@ApiModelProperty(value = "起传类型1母代 2祖代")
private Integer generationType;
-
+ @ApiModelProperty(value = "项目组ids")
+ private List<String> projectIds;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainReportProjectQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainReportProjectQuery.java
index 5642e02..121a2eb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainReportProjectQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainReportProjectQuery.java
@@ -12,7 +12,7 @@
public class TStrainReportProjectQuery extends TimeRangeQueryBody {
@ApiModelProperty(value = "所属项目组")
private String teamName;
- @ApiModelProperty(value = "评定开始时间段 创建日期 例:2020-11-11 20:20:20 - 2020-12-12 20:20:20")
+ @ApiModelProperty(value = "创建日期 例:2020-11-11 20:20:20 - 2020-12-12 20:20:20")
private String time;
@ApiModelProperty(value = "开始时间 前端忽略")
private String startTime;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index a310cf7..01fedf7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -517,19 +517,23 @@
public List<SysMenu> getMenuLevelList(List<Long> menusId) {
//获取当前的权限菜单
List<SysMenu> all = menuMapper.getAllInIds(menusId);
- // 第三级
- List<SysMenu> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList());
- // 第二级
- List<SysMenu> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList());
+ List<SysMenu> collect4 = all.stream().filter(e -> e.getParentId() != null).collect(Collectors.toList());
// 第一级
List<SysMenu> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList());
-
- for (SysMenu menu : s2) {
- List<SysMenu> collect = s3.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList());
- menu.setChildren(collect);
- }
for (SysMenu menu : s1) {
- List<SysMenu> collect = s2.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList());
+ List<SysMenu> collect = collect4.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList());
+ for (SysMenu sysMenu : collect) {
+ List<SysMenu> collect1 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu.getMenuId())).collect(Collectors.toList());
+ for (SysMenu sysMenu1 : collect1) {
+ List<SysMenu> collect2 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu1.getMenuId())).collect(Collectors.toList());
+ for (SysMenu sysMenu2 : collect2) {
+ List<SysMenu> collect3 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu2.getMenuId())).collect(Collectors.toList());
+ sysMenu2.setChildren(collect3);
+ }
+ sysMenu1.setChildren(collect2);
+ }
+ sysMenu.setChildren(collect1);
+ }
menu.setChildren(collect);
}
return s1;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPedigreeChartServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPedigreeChartServiceImpl.java
index a16204e..b79ed2e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPedigreeChartServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPedigreeChartServiceImpl.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.mapper.TPedigreeChartMapper;
import com.ruoyi.system.model.TPedigreeChart;
import com.ruoyi.system.model.TProjectTeamStaff;
@@ -14,6 +16,7 @@
import com.ruoyi.system.vo.TPedigreeChartDetailVO;
import com.ruoyi.system.vo.TPedigreeChartVO;
import com.ruoyi.system.vo.TProjectTeamVO;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -31,6 +34,8 @@
@Service
public class TPedigreeChartServiceImpl extends ServiceImpl<TPedigreeChartMapper, TPedigreeChart> implements TPedigreeChartService {
+ @Autowired
+ private SysUserMapper sysUserMapper;
@Override
public PageInfo<TPedigreeChartVO> pageList(TPedigreeChartQuery query) {
PageInfo<TPedigreeChartVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
@@ -51,6 +56,19 @@
public PageInfo<TPedigreeChartDetailVO> pageListDetail(TPedigreeChartDetailQuery query) {
PageInfo<TPedigreeChartDetailVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
List<TPedigreeChartDetailVO> list = this.baseMapper.pageListDetail(query,pageInfo);
+ List<SysUser> sysUsers = sysUserMapper.selectAllList();
+ for (TPedigreeChartDetailVO tPedigreeChartDetailVO : list) {
+ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(tPedigreeChartDetailVO.getVaccinateId())))
+ .findFirst().orElse(null);
+ if (sysUser!=null){
+ tPedigreeChartDetailVO.setExperimenter(sysUser.getNickName());
+ }
+ SysUser sysUser1 = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(tPedigreeChartDetailVO.getVaccinateId())))
+ .findFirst().orElse(null);
+ if (sysUser1!=null){
+ tPedigreeChartDetailVO.setVaccinateName(sysUser.getNickName());
+ }
+ }
pageInfo.setRecords(list);
return pageInfo;
}
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 77ebca2..4f87d16 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,7 +41,8 @@
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<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffMapper.selectList(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+ .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 9564a71..8c69508 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
@@ -58,30 +58,33 @@
public PageInfo<TStrainReportProjectVO> pageListProject(TStrainReportProjectQuery query) {
PageInfo<TStrainReportProjectVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
List<TStrainReportProjectVO> list = this.baseMapper.pageListProject(query,pageInfo);
- List<TStrainReport> tStrainReports = this.baseMapper.selectList(new LambdaQueryWrapper<TStrainReport>().eq(TStrainReport::getStatus,3));
+ LambdaQueryWrapper<TStrainReport> queryWrapper = new LambdaQueryWrapper<TStrainReport>().eq(TStrainReport::getStatus, 3);
+
+ List<TStrainReport> tStrainReports = this.baseMapper.selectList(
+ queryWrapper);
List<TStrainReportDetail> tStrainReportDetails = strainReportDetailMapper.selectList(new LambdaQueryWrapper<TStrainReportDetail>());
for (TStrainReportProjectVO tStrainReportProjectVO : list) {
- List<TStrainReport> collect = tStrainReports.stream().filter(e -> e.getProjectId().equals(tStrainReportProjectVO.getProjectId())).collect(Collectors.toList());
+ List<TStrainReport> strainReports = tStrainReports.stream().filter(e -> e.getProjectId().equals(tStrainReportProjectVO.getProjectId())).collect(Collectors.toList());
BigDecimal sum = new BigDecimal("0");
BigDecimal sum1 = new BigDecimal("0");
BigDecimal sum2 = new BigDecimal("0");
Integer temp = 0;
- for (TStrainReport tStrainReport : collect) {
- List<TStrainReportDetail> collect1 = tStrainReportDetails.stream()
+ for (TStrainReport tStrainReport : strainReports) {
+ List<TStrainReportDetail> tStrainReportDetails1 = tStrainReportDetails.stream()
.filter(e -> e.getReportId().equals(tStrainReport.getId())&&
e.getEvaluateHumanType()==1).collect(Collectors.toList());
- List<TStrainReportDetail> collect2 = tStrainReportDetails.stream()
+ List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream()
.filter(e -> e.getReportId().equals(tStrainReport.getId())&&
e.getEvaluateHumanType()==2).collect(Collectors.toList());
// 菌种工程积分
- sum1 = collect2.stream()
- .filter(e -> e.getEvaluateHumanType().equals(1))
+ sum1 = tStrainReportDetails2.stream()
+ .filter(e -> e.getEvaluateHumanType().equals(2))
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
.orElse(BigDecimal.ZERO);
// 菌种实验员积分
- sum2 = collect1.stream()
- .filter(e -> e.getEvaluateHumanType().equals(2))
+ sum2 = tStrainReportDetails1.stream()
+ .filter(e -> e.getEvaluateHumanType().equals(1))
.map(TStrainReportDetail::getEvaluateTotal)
.reduce(BigDecimal::add)
.orElse(BigDecimal.ZERO);
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 0c39855..a780725 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -265,9 +265,8 @@
<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}
@@ -278,7 +277,7 @@
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>
@@ -375,7 +374,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/src/main/resources/mapper/system/TBreedingAndPreservationMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBreedingAndPreservationMapper.xml
index 2ab61a8..62d7e22 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TBreedingAndPreservationMapper.xml
+++ b/ruoyi-system/src/main/resources/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/src/main/resources/mapper/system/TPedigreeChartMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml
index 88f3fa5..07a6c69 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml
+++ b/ruoyi-system/src/main/resources/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
diff --git a/ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml
index 5ba2f16..dcc3f02 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml
+++ b/ruoyi-system/src/main/resources/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,7 @@
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>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TStrainReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TStrainReportMapper.xml
index 781018e..4e25013 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TStrainReportMapper.xml
+++ b/ruoyi-system/src/main/resources/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>
--
Gitblit v1.7.1