From 082bddee7df8a05ca95f473ec2643701d41a5213 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 08 十月 2026 11:09:01 +0800
Subject: [PATCH] 更新代码
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java | 97 ++++++++++++++++++++++++++++++++++++------------
1 files changed, 73 insertions(+), 24 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 ffcfceb..8c32cfe 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
@@ -16,6 +16,7 @@
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.*;
+import com.ruoyi.system.mapper.TProjectTeamMapper;
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.TPedigreeChartConfirmQuery;
import com.ruoyi.system.query.TPedigreeChartDetailConfirmCountDTO;
@@ -87,17 +88,22 @@
}
}else if (!sysUser.getRoleType().equals("1")){
query.setRoleType(3);
- 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()){
+
+ if (query.getProjectIds() == null || query.getProjectIds().isEmpty()){
+ List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
+ .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
+ if (!allProjectIds.isEmpty()){
+ List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
+ .eq(TProjectTeam::getStatus, 1).list().stream().map(TProjectTeam::getId).collect(Collectors.toList());
+ if (projectIds.isEmpty()){
+ return R.ok(new PageInfo<>());
+ }
+ query.setProjectIds(projectIds);
+ }else{
return R.ok(new PageInfo<>());
}
- query.setProjectIds(projectIds);
- }else{
- return R.ok(new PageInfo<>());
}
+
}else{
query.setRoleType(1);
}
@@ -165,7 +171,7 @@
count.setPedigreeChartId(parent.getId());
count.setId(null);
if (parent.getStatus()==1){
- count.setAuditStatus(0);
+ count.setAuditStatus(1);
}else{
count.setAuditStatus(1);
}
@@ -200,12 +206,12 @@
TPedigreeChartParentTwoCountDTO childCount = count1List.get(0);
childCount.setType(2);
if (parent.getStatus()==1){
- count.setAuditStatus(0);
+ childCount.setAuditStatus(1);
}else{
- count.setAuditStatus(1);
+ childCount.setAuditStatus(1);
}
- count.setVaccinateId(loginUser.getUserId()+"");
- count.setVaccinateTime(LocalDateTime.now());
+ childCount.setVaccinateId(loginUser.getUserId()+"");
+ childCount.setVaccinateTime(LocalDateTime.now());
childCount.setParentId(tPedigreeChartParentTwoDTO.getId());
childCount.setPedigreeChartId(parent.getId());
childCount.setStatus(1);
@@ -291,6 +297,13 @@
String child = JSON.toJSONString(dto.getOne().get(0));
parent.setJson(child);
}
+
+ //不能修改别人的数据
+ TPedigreeChart byId = pedigreeChartService.getById(parent.getId());
+ if (!loginUser.getUser().getNickName().equals(byId.getCreateBy())) {
+ return R.fail("不能修改其他工程师数据");
+ }
+
List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId,
tokenService.getLoginUser().getUserId())
.list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
@@ -304,7 +317,7 @@
Integer status = parent.getStatus();
TPedigreeChart pedigreeChart = pedigreeChartService.getById(parent.getId());
if (pedigreeChart.getStatus() == 2){
- parent.setStatus(2);
+ return R.fail("谱系图已提交,不可编辑");
}
pedigreeChartService.updateById(parent);
parent.setStatus( status);
@@ -358,7 +371,7 @@
count.setStatus(1);
if (count.getId()==null){
if (parent.getStatus()==1){
- count.setAuditStatus(0);
+ count.setAuditStatus(1);
count.setCodeStatus(parent.getStatus());
}else{
count.setAuditStatus(1);
@@ -434,7 +447,7 @@
childCount.setType(2);
if (childCount.getId()==null){
if (parent.getStatus()==1){
- childCount.setAuditStatus(0);
+ childCount.setAuditStatus(1);
childCount.setCodeStatus(parent.getStatus());
}else{
childCount.setAuditStatus(1);
@@ -530,7 +543,7 @@
.eq(TProjectTeam::getStatus, 1)
.orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery()
- .eq(TProjectTeamStaff::getTeamId, team.getId()).eq(TProjectTeamStaff::getRoleType, 1).one();
+ .eq(TProjectTeamStaff::getTeamId, team.getId()).eq(TProjectTeamStaff::getRoleType, 2).one();
tNotice.setCommitId(tokenService.getLoginUser().getUserId()+"");
tNotice.setUserId(projectTeamStaff.getUserId());
tNotice.setStatus(1);
@@ -666,6 +679,10 @@
TPedigreeChartDetailQuery query = JSON.parseObject(param, TPedigreeChartDetailQuery.class);
return R.ok(pedigreeChartService.pageListDetail(query));
}
+
+ @Resource
+ private TProjectTeamMapper tProjectTeamMapper;
+
/**
* 谱系图-菌种传代生产谱系图详情
*/
@@ -675,7 +692,21 @@
public R<TPedigreeChart> getDetailInfoById(@RequestParam String id) {
List<TPedigreeChartParentOneDTO> tPedigreeChartParentOneDTOS = new ArrayList<>();
TPedigreeChart pedigreeChart = pedigreeChartService.getById(id);
- List<TPedigreeChartDetail> details = pedigreeChartDetailService.lambdaQuery().eq(TPedigreeChartDetail::getPedigreeChartId, id).list();
+ if (pedigreeChart == null) {
+ return R.fail("谱系图不存在或已删除");
+ }
+ List<TPedigreeChartDetail> details = new ArrayList<>(pedigreeChartDetailService.lambdaQuery()
+ .eq(TPedigreeChartDetail::getPedigreeChartId, id)
+ .orderByDesc(TPedigreeChartDetail::getUpdateTime)
+ .orderByDesc(TPedigreeChartDetail::getCreateTime)
+ .list().stream()
+ .filter(detail -> StringUtils.isNotEmpty(detail.getId()))
+ .collect(Collectors.toMap(
+ TPedigreeChartDetail::getId,
+ detail -> detail,
+ (first, duplicate) -> first,
+ LinkedHashMap::new
+ )).values());
TPedigreeChartParentAllDetailDTO tPedigreeChartParentAllDetailDTO = new TPedigreeChartParentAllDetailDTO();
// 祖代
TPedigreeChartDetail pedigreeChartDetail = details.stream().filter(e -> e.getParentId().equals("0")
@@ -697,7 +728,6 @@
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 : childs) {
TPedigreeChartParentTwoDTO tPedigreeChartParentTwoDTO = new TPedigreeChartParentTwoDTO();
BeanUtils.copyProperties(tPedigreeChartDetail,tPedigreeChartParentTwoDTO);
@@ -708,6 +738,7 @@
ArrayList<TPedigreeChartParentTwoCountDTO> tPedigreeChartParentTwoCountDTOS = new ArrayList<>();
TPedigreeChartParentTwoCountDTO tPedigreeChartParentTwoCountDTO = new TPedigreeChartParentTwoCountDTO();
BeanUtils.copyProperties(childCountChild,tPedigreeChartParentTwoCountDTO);
+ List<TPedigreeChartParentThreeDTO> tPedigreeChartParentThreeDTOS = new ArrayList<>();
List<TPedigreeChartDetail> childChilds = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoCountDTO.getId())
&& e.getType() == 1).collect(Collectors.toList());
for (TPedigreeChartDetail chartDetail : childChilds) {
@@ -730,6 +761,28 @@
tPedigreeChartParentAllDetailDTO.setOne(tPedigreeChartParentOneDTOS);
}
pedigreeChart.setPedigreeChartParentAllDetailDTO(tPedigreeChartParentAllDetailDTO);
+
+ if (com.ruoyi.common.utils.StringUtils.isNotEmpty(pedigreeChart.getProjectId())) {
+ TProjectTeam tProjectTeam = tProjectTeamMapper.selectById(pedigreeChart.getProjectId());
+ if (tProjectTeam != null) {
+ List<TProjectTeamStaff> list = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, tProjectTeam.getId()).list();
+ StringBuilder staffNames = new StringBuilder();
+ for (TProjectTeamStaff tProjectTeamStaff : list) {
+ SysUser sysUser = sysUserService.selectUserById(Long.valueOf(tProjectTeamStaff.getUserId()));
+ if (sysUser!=null){
+ staffNames.append(sysUser.getNickName()).append(",");
+ }
+ }
+ if (org.springframework.util.StringUtils.hasLength(staffNames.toString())){
+ tProjectTeam.setStaff(staffNames.substring(0, staffNames.toString().length() - 1));
+ }
+
+ List<TProjectTeam> tProjectTeamList = new ArrayList<>();
+ tProjectTeamList.add(tProjectTeam);
+ pedigreeChart.setTProjectTeamList(tProjectTeamList);
+ }
+ }
+
return R.ok(pedigreeChart);
}
/**
@@ -779,11 +832,7 @@
pedigreeChartDetail1.setType(2);
pedigreeChartDetail1.setCodeStatus(dto.getCodeStatus());
- if (dto.getCodeStatus()==1){
- pedigreeChartDetail1.setAuditStatus(0);
- }else{
- pedigreeChartDetail1.setAuditStatus(1);
- }
+ pedigreeChartDetail1.setAuditStatus(1);
pedigreeChartDetailService.save(pedigreeChartDetail1);
return R.ok();
}
--
Gitblit v1.7.1