无关风月
2025-06-26 a0e9fac251df54e5ed6159ce1fdb77d463ebdc48
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);