puzhibing
6 天以前 082bddee7df8a05ca95f473ec2643701d41a5213
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java
@@ -16,20 +16,14 @@
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.TStrainReportProjectQuery;
import com.ruoyi.system.query.TStrainReportQuery;
import com.ruoyi.system.query.TTrainLibraryDetailQuery;
import com.ruoyi.system.query.TTrainLibraryQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.*;
import com.tencentcloudapi.tcaplusdb.v20190823.models.IdlFileInfo;
import io.swagger.annotations.ApiOperation;
import jdk.nashorn.internal.parser.Token;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.sql.Array;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -61,24 +55,43 @@
    @ApiOperation(value = "菌种报告库分页列表查询",tags = "菌种报告库",response = TStrainReportQuery.class)
    @PostMapping(value = "/api/t-strain-report/pageListAll")
    public R<PageInfo<TStrainReportVO>> pageListAll(@RequestBody String param) {
        TStrainReportQuery query = JSON.parseObject(param, TStrainReportQuery.class);
        LoginUser loginUser = tokenService.getLoginUser();
        SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId());
        List<String> projectIds = new ArrayList<>();
        if (!sysUser.getRoleType().equals("1")){
            // 查询和自己相关的项目组id
            List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list()
                    .stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
            if (collect.isEmpty()){
                collect.add("0");
        if (sysUser.getRoleType().equals("2")){
            List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
                    .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
            if (!allProjectIds.isEmpty()){
                List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
                    .list().stream().map(TProjectTeam::getId).collect(Collectors.toList());
                if (projectIds.isEmpty()){
                    return R.ok(new PageInfo<>());
                }
                query.setProjectIds(projectIds);
            }else{
                return R.ok(new PageInfo<>());
            }
            projectIds = collect;
        }else if (!sysUser.getRoleType().equals("1")){
            List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
                    .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
            if (!allProjectIds.isEmpty()){
                List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
                    .eq(TProjectTeam::getStatus, 1).list().stream().map(TProjectTeam::getId).collect(Collectors.toList());
                if (projectIds.isEmpty()){
                    return R.ok(new PageInfo<>());
                }
                query.setProjectIds(projectIds);
            }else{
                return R.ok(new PageInfo<>());
            }
        }
        TStrainReportQuery query = JSON.parseObject(param, TStrainReportQuery.class);
        if (StringUtils.hasLength(query.getTime())){
            query.setStartTime(query.getTime().split(" - ")[0]);
            query.setEndTime(query.getTime().split(" - ")[1]);
        }
        query.setProjectIds(projectIds);
        return R.ok(strainReportService.pageListAll(query));
    }
    @ApiOperation(value = "获取菌种报告库操作评定分页列表",tags = "菌种报告库操作评定-菌种实验员",response = TStrainReportQuery.class)
@@ -152,17 +165,22 @@
                    return R.ok(new PageInfo<>());
                }
                query.setProjectIds(projectIds);
            }else {
                return R.ok(new PageInfo<>());
            }
        }else if (!sysUser.getRoleType().equals("1")){
            List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
                    .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
            if (!allProjectIds.isEmpty()){                List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
            if (!allProjectIds.isEmpty()){
                List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds)
                        .eq(TProjectTeam::getStatus, 1).list().stream().map(TProjectTeam::getId).collect(Collectors.toList());
                if (projectIds.isEmpty()){
                    return R.ok(new PageInfo<>());
                }
                query.setProjectIds(projectIds);
            }else {
                return R.ok(new PageInfo<>());
            }
        }
        return R.ok(strainReportService.pageListProject(query));
@@ -172,17 +190,19 @@
    @ApiOperation(value = "菌种项目组评定详情",tags = "菌种项目组评定表")
    @GetMapping(value = "/open/t-strain-report/getDetailByIdProject")
    public R<TStrainReportDetailProjectVO> getDetailByIdProject(@RequestParam String id) {
        TProjectTeam byId = projectTeamService.getById(id);
        TProjectTeam project = projectTeamService.getById(id);
        TStrainReportDetailProjectVO tStrainReportDetailVO = new TStrainReportDetailProjectVO();
        LoginUser loginUser = tokenService.getLoginUser();
        SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId());
        List<TStrainReport> tStrainReports = strainReportService.list(new LambdaQueryWrapper<TStrainReport>()
                .eq(TStrainReport::getStatus,3).eq(TStrainReport::getProjectId,id));
                .eq(TStrainReport::getStatus,3).eq(TStrainReport::getProjectId,id)
                .orderByDesc(TStrainReport::getEvaluateTime));
        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,strainReportIds)
                        .isNotNull(TStrainReportDetail::getExperimentId)
                        .orderByDesc(TStrainReportDetail::getCreateTime));
        BigDecimal sum = new BigDecimal("0");
        BigDecimal sum1 = new BigDecimal("0");
@@ -197,56 +217,67 @@
                    .filter(e -> e.getReportId().equals(tStrainReport.getId())&&
                            e.getEvaluateHumanType()==2).collect(Collectors.toList());
            // 菌种工程积分
            sum1 = tStrainReportDetails2.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(1))
                    .map(TStrainReportDetail::getEvaluateTotal)
                    .reduce(BigDecimal::add)
                    .orElse(BigDecimal.ZERO);
            // 菌种实验员积分
            sum2 = tStrainReportDetails1.stream()
            sum1 = sum1.add(tStrainReportDetails2.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(2))
                    .map(TStrainReportDetail::getEvaluateTotal)
                    .reduce(BigDecimal::add)
                    .orElse(BigDecimal.ZERO);
            List<TStrainReportDetail> tStrainReportDetails3 = tStrainReportDetails.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
                    .orElse(BigDecimal.ZERO));
            // 菌种实验员积分
            sum2 = sum2.add(tStrainReportDetails1.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getReportType()==1)
                    .map(TStrainReportDetail::getEvaluateTotal)
                    .reduce(BigDecimal::add)
                    .orElse(BigDecimal.ZERO));
            List<TStrainReportDetail> tStrainReportDetails3 = tStrainReportDetails.stream().filter(e -> e.getReportId().equals(tStrainReport.getId())
                    &&
                    e.getReportType() == 1).collect(Collectors.toList());
            for (TStrainReportDetail tStrainReportDetail : tStrainReportDetails3) {
                // 根据评定等级统计失败次数
                if (StringUtils.hasLength(tStrainReportDetail.getEvaluate())&&  tStrainReportDetail.getEvaluate().split(",").length>=5){
                    if (tStrainReportDetail.getEvaluate().split(",")[4].equals("2")){
                    if (tStrainReportDetail.getEvaluate().split(",")[4].equals("-3")){
                        temp++;
                        break;
                    }
                }
            }
        }
        tStrainReportDetailVO.setTeamIntegral(sum);
        tStrainReportDetailVO.setTeamIntegral(sum1.add(sum2));
        tStrainReportDetailVO.setEngineerIntegral(sum1);
        tStrainReportDetailVO.setExperimenterIntegral(sum2);
        tStrainReportDetailVO.setFailCount(temp);
        List<TStrainReport> strainReportIdsByProjectId = tStrainReports.stream().filter(e -> e.getProjectId().equals(byId.getId())).collect(Collectors.toList());
        List<TStrainReport> strainReportIdsByProjectId = tStrainReports.stream().filter(e -> e.getProjectId().equals(project.getId())).collect(Collectors.toList());
        if (!strainReportIdsByProjectId.isEmpty()){
            tStrainReportDetailVO.setEndTime(strainReportIdsByProjectId.get(0).getEvaluateTime());
        }
        tStrainReportDetailVO.setStartTime(byId.getCreateTime());
        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId())
                .eq(TProjectTeamStaff::getRoleType, 2).one();
        tStrainReportDetailVO.setStartTime(project.getCreateTime());
        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, project.getId())
                .eq(TProjectTeamStaff::getRoleType, 2).last("limit 1").one();
        List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS = new ArrayList<>();
        if (sysUser.getRoleType().equals("4")){
            TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO();
            tStrainReportDetailExperimentVO.setUserName(sysUser.getNickName());
            tStrainReportDetailExperimentVO.setHandleCount((int) tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).count());
            tStrainReportDetailExperimentVO.setHandleCount((int) tStrainReportDetails.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(1) && e.getReportType() == 1
                            && e.getExperimentId()!=null && e.getExperimentId().equals(sysUser.getUserId() + ""))
                    .count());
            BigDecimal handleIntegral = tStrainReportDetails.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+""))
                    .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"")
                            &&e.getReportType()==1)
                    .map(TStrainReportDetail::getEvaluateTotal)
                    .reduce(BigDecimal::add)
                    .orElse(BigDecimal.ZERO);
            tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
            List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList());
            List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(1) && e.getReportType() == 1
                            && e.getExperimentId().equals(sysUser.getUserId() + ""))
                    .collect(Collectors.toList());
            if (!strainReportDetails.isEmpty()){
                tStrainReportDetailExperimentVO.setHandleStartTime(strainReportDetails.get(0).getCreateTime());
                tStrainReportDetailExperimentVO.setHandleEndTime(strainReportDetails.get(0).getCreateTime());
            }
            tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
            tStrainReportDetailExperimentVOS.add(tStrainReportDetailExperimentVO);
            tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS);
        }else{
@@ -264,7 +295,8 @@
                tStrainReportDetailVO.setDetailEngineerVO(tStrainReportDetailEngineerVO);
                List<String> userIds = new ArrayList<>();
                List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS1 = new ArrayList<>();
                List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList());
                List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)
                        &&e.getReportType()==1).collect(Collectors.toList());
                for (TStrainReportDetail tStrainReportDetail : collect) {
                    if (userIds.contains(tStrainReportDetail.getExperimentId())){
                        continue;
@@ -274,20 +306,23 @@
                    tStrainReportDetailExperimentVO.setUserName(sysUserService.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId())).getNickName());
                    tStrainReportDetailExperimentVO.setHandleCount((int) collect.stream().filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId())).count());
                    BigDecimal handleIntegral = collect.stream()
                            .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+""))
                            .filter(e -> e.getEvaluateHumanType().equals(1)
                                    && e.getExperimentId().equals(tStrainReportDetail.getExperimentId())
                                    && e.getReportType()==1)
                            .map(TStrainReportDetail::getEvaluateTotal)
                            .reduce(BigDecimal::add)
                            .orElse(BigDecimal.ZERO);
                    tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
                    List<TStrainReportDetail> collect9 = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList());
                    if (!collect9.isEmpty()){
                        tStrainReportDetailExperimentVO.setHandleEndTime(collect9.get(collect9.size()-1).getCreateTime());
                    List<TStrainReportDetail> reportDetails = collect.stream()
                            .filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId()))
                            .collect(Collectors.toList());
                    if (!reportDetails.isEmpty()){
                        tStrainReportDetailExperimentVO.setHandleEndTime(reportDetails.get(0).getCreateTime());
                    }
                    tStrainReportDetailExperimentVO.setHandleStartTime(byId.getCreateTime());
                    tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
                    tStrainReportDetailExperimentVOS1.add(tStrainReportDetailExperimentVO);
                }
                tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS1);
            }else{
                List<TStrainReportDetail> reportDetails = strainReportDetails.stream()
                        .filter(e -> e.getEvaluateHumanType().equals(2) && e.getExperimentId().equals(projectTeamStaff.getUserId())).collect(Collectors.toList());
@@ -295,51 +330,58 @@
                TStrainReportDetailEngineerVO tStrainReportDetailEngineerVO = new TStrainReportDetailEngineerVO();
                tStrainReportDetailEngineerVO.setInnovateCount((int)reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).count());
                tStrainReportDetailEngineerVO.setInnovateIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
                List<TStrainReportDetail> collect3 = reportDetails.stream().filter(e ->e.getEvaluateType()!=null&& e.getEvaluateType().equals(1)).collect(Collectors.toList());
                if (!collect3.isEmpty()){
                    tStrainReportDetailEngineerVO.setInnovateStartTime(collect3.get(collect3.size()-1).getCreateTime());
                List<TStrainReportDetail> tStrainReportDetails1 = reportDetails.stream().filter(e ->e.getEvaluateType()!=null&& e.getEvaluateType().equals(1)).collect(Collectors.toList());
                if (!tStrainReportDetails1.isEmpty()){
                    tStrainReportDetailEngineerVO.setInnovateEndTime(tStrainReportDetails1.get(0).getCreateTime());
                }
                tStrainReportDetailEngineerVO.setInnovateEndTime(byId.getCreateTime());
                tStrainReportDetailEngineerVO.setInnovateStartTime(project.getCreateTime());
                tStrainReportDetailEngineerVO.setRegulationCount((int)reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).count());
                tStrainReportDetailEngineerVO.setRegulationIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
                List<TStrainReportDetail> collect4 = reportDetails.stream().filter(e -> e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).collect(Collectors.toList());
                if (!collect4.isEmpty()){
                    tStrainReportDetailEngineerVO.setRegulationStartTime(collect4.get(collect4.size()-1).getCreateTime());
                    tStrainReportDetailEngineerVO.setRegulationEndTime(collect4.get(0).getCreateTime());
                }
                tStrainReportDetailEngineerVO.setRegulationEndTime(byId.getCreateTime());
                tStrainReportDetailEngineerVO.setRegulationStartTime(project.getCreateTime());
                tStrainReportDetailEngineerVO.setHandleCount((int)reportDetails.stream().filter(e->e.getReportType().equals(1)).count());
                tStrainReportDetailEngineerVO.setHandleIntegral(reportDetails.stream().filter(e->e.getReportType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
                List<TStrainReportDetail> reportDetailList = reportDetails.stream().filter(e->e.getReportType().equals(1)).collect(Collectors.toList());
                if (!reportDetailList.isEmpty()){
                    tStrainReportDetailEngineerVO.setHandleStartTime(reportDetailList.get(reportDetailList.size()-1).getCreateTime());
                    tStrainReportDetailEngineerVO.setHandleEndTime(reportDetailList.get(0).getCreateTime());
                }
                tStrainReportDetailEngineerVO.setHandleEndTime(byId.getCreateTime());
                tStrainReportDetailEngineerVO.setHandleStartTime(project.getCreateTime());
                tStrainReportDetailVO.setDetailEngineerVO(tStrainReportDetailEngineerVO);
                List<String> userIds = new ArrayList<>();
                List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS1 = new ArrayList<>();
                List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList());
                for (TStrainReportDetail tStrainReportDetail : collect) {
                    if (userIds.contains(tStrainReportDetail.getExperimentId())){
                        continue;
                    }
                    userIds.add(tStrainReportDetail.getExperimentId());
                List<String> experimentIds = tStrainReportDetails.stream().filter(e ->
                                e.getEvaluateHumanType().equals(1)
                                        &&e.getReportType()==1)
                        .map(TStrainReportDetail::getExperimentId)
                        .distinct()
                        .collect(Collectors.toList());
                List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream()
                        .filter(e -> e.getEvaluateHumanType().equals(1) && e.getReportType() == 1)
                        .collect(Collectors.toList());
                for (String experimentId : experimentIds) {
                    List<TStrainReportDetail> details = tStrainReportDetails2.stream().filter(e -> e.getExperimentId().equals(experimentId)).collect(Collectors.toList());
                    TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO();
                    tStrainReportDetailExperimentVO.setUserName(sysUserService.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId())).getNickName());
                    tStrainReportDetailExperimentVO.setHandleCount((int) collect.stream().filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId())).count());
                    BigDecimal handleIntegral = collect.stream()
                            .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+""))
                    SysUser sysUser1 = sysUserService.selectUserById(Long.valueOf(experimentId));
                    tStrainReportDetailExperimentVO.setUserName(sysUser1.getNickName());
                    tStrainReportDetailExperimentVO.setHandleCount(details.size());
                    BigDecimal handleIntegral = details.stream()
                            .filter(e -> e.getEvaluateHumanType().equals(1)
                                    &&e.getReportType()==1)
                            .map(TStrainReportDetail::getEvaluateTotal)
                            .reduce(BigDecimal::add)
                            .orElse(BigDecimal.ZERO);
                    tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
                    List<TStrainReportDetail> collect9 = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList());
                    if (!collect9.isEmpty()){
                        tStrainReportDetailExperimentVO.setHandleEndTime(collect9.get(collect9.size()-1).getCreateTime());
                    if (!details.isEmpty()){
                        tStrainReportDetailExperimentVO.setHandleEndTime(details.get(0).getCreateTime());
                    }
                    tStrainReportDetailExperimentVO.setHandleStartTime(byId.getCreateTime());
                    tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
                    tStrainReportDetailExperimentVOS1.add(tStrainReportDetailExperimentVO);
                }
                tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS1);
@@ -376,7 +418,7 @@
        tStrainReportDetail.setEvaluateType(dto.getEvaluateType());
        strainReportDetailService.save(tStrainReportDetail);
        if (dto.getIsDraft()==0){
            // 新增消息
            // 新增审批消息
            TNotice tNotice = new TNotice();
            TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
                    .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
@@ -389,11 +431,8 @@
            noticeService.save(tNotice);
            // 新增消息
            TNotice tNotice1 = new TNotice();
            TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId())
                    .eq(TProjectTeamStaff::getRoleType, 3).last("limit 1").one();
            tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+"");
            tNotice1.setUserId(tProjectTeamStaff.getUserId());
            tNotice1.setUserId(dto.getExperimentId());
            tNotice1.setStatus(1);
            tNotice1.setNoticeContent("您有【1】条菌种库操作菌种工程师已评定;");
            tNotice1.setDataId(dto.getId());
@@ -481,19 +520,19 @@
        tNotice.setNoticeType(2);
        noticeService.save(tNotice);
            // 新增消息
            TNotice notice = new TNotice();
            TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
                    .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
         // 新增消息
        TNotice notice = new TNotice();
        TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
                .eq(TProjectTeamStaff::getRoleType, 2).last("limit 1").one();
            notice.setCommitId(tokenService.getLoginUser().getUserId()+"");
            notice.setUserId(tProjectTeamStaff.getUserId());
            notice.setStatus(1);
            String temp=dto.getStatus()==2?"通过":"驳回";
            notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】");
            notice.setDataId(dto.getId());
            notice.setNoticeType(7);
            noticeService.save(notice);
        notice.setCommitId(tokenService.getLoginUser().getUserId()+"");
        notice.setUserId(tProjectTeamStaff.getUserId());
        notice.setStatus(1);
        String temp=dto.getStatus()==2?"通过":"驳回";
        notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】");
        notice.setDataId(dto.getId());
        notice.setNoticeType(7);
        noticeService.save(notice);
        return R.ok();
    }
    /**
@@ -527,8 +566,9 @@
        strainReportDetailService.save(tStrainReportDetail);
        // 新增消息
        TNotice notice = new TNotice();
        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
                .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one();
        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery()
                .eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId())
                .eq(TProjectTeamStaff::getRoleType, 2).last("limit 1").one();
        notice.setCommitId(tokenService.getLoginUser().getUserId()+"");
        notice.setUserId(projectTeamStaff.getUserId());
        notice.setStatus(1);
@@ -557,6 +597,9 @@
    public R<TStrainReportDetailVO> detail(@RequestParam String id) {
        TStrainReportDetailVO tStrainReportDetailVO = new TStrainReportDetailVO();
        TStrainReport strainReport = strainReportService.getById(id);
        if (strainReport == null) {
            return R.fail("报告不存在或已删除");
        }
        if (strainReport.getAuditId()!=null){
            SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReport.getAuditId()));
            if (sysUser!=null){