From a0e9fac251df54e5ed6159ce1fdb77d463ebdc48 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 26 六月 2025 20:05:35 +0800
Subject: [PATCH] 菌种库所有代码
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java | 148 ++++++++++++++++++++++++++++--------------------
1 files changed, 86 insertions(+), 62 deletions(-)
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));
-// }
+
}
--
Gitblit v1.7.1