====== Notificação Relatório de Extensão ====== Esta caso de uso é responsável por enviar uma notificação aos coordenadores de ações de extensão que serão finalizadas no período de 30 dias, informando a necessidade do envio do relatório final para análise. ===== Descrição do Caso de Uso ===== O timer verifica as ações de extensão que estão vigentes e que faltam 1 mês para o prazo de fim de preenchimento dos relatórios finais. Serão notificados o seguintes envolvidos no estágio: - Coordenador da Ação de Extensão O Email deve seguir o seguinte modelo: ''Mensagem Gerada pelo ##siglaSistema## - ##nomeSistema## Caro(a) Coordenador(a) ##nomeCoordenador## A ação de Extensão: ##codigoTituloAtividade## será finalizada em menos de 30 dias. Não esqueça de cadastrar os relatórios parciais e/ou finais desta ação.'' ===== Principais Regras de Negócio ===== * **RN01** - O processamento será iniciado a cada 30 dias. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigaa.pessoa.dominio.Projeto | projetos.projeto | | br.ufrn.sigaa.pessoa.dominio.Pessoa | sigaa.comum.pessoa | | br.ufrn.sigaa.dominio.Usuario | sigaa.comum.usuario | | br.ufrn.sigaa.estagio.dominio.MembroProjeto |projetos.membro_projeto | | br.ufrn.sigaa.estagio.dominio.AtividadeExtensao |extensao.atividade | | br.ufrn.sigaa.estagio.dominio.RelatorioAcaoExtensao |extensao.relatorio_acao_extensao | ====== Plano de Teste ====== Sistema: SIGAA Módulo: - Link(s): - Usuário: - Papel que usuário deve ter: - ===== Cenários de Teste ===== //Primeira Alternativa// * Realizar novos cadastro de [[https://docs.info.ufrn.br/doku.php?id=desenvolvimento:especificacoes:sigaa:extensao:casos_de_uso:informacoes_gerais:acoes_de_extensao:cadastrar_proposta:projeto | Projetos de Extensão]] * Esses projetos devem conter uma data final inferior a 30 dias em relação com a data atual para que o timer seja ativado. * Verificar se as notificações de envio de relatório final foram enviadas corretamente aos coordenadores dos projetos. //Segunda Alternativa// * Utilizar os dados de projetos de extensão existente no banco. * Verificar se as notificações de envio de relatório final foram enviadas corretamente aos coordenadores dos projetos. ===== Dados para o Teste ===== --Consultar os projetos que estão pendentes de relatório SELECT a.id_atividade, a.sequencia, a.id_tipo_atividade_extensao, projeto.titulo, projeto.ano, usuario.email as emailCoordenador, pessoa.nome as nomeCoordenador FROM extensao.atividade a INNER JOIN projetos.projeto projeto on a.id_atividade = projeto.id_projeto INNER JOIN projetos.membro_projeto coordenador on coordenador.id_membro_projeto = projeto.id_coordenador INNER JOIN comum.pessoa pessoa ON pessoa.id_pessoa = coordenador.id_pessoa INNER JOIN comum.usuario usuario ON usuario.id_pessoa = pessoa.id_pessoa WHERE projeto.data_fim > now() and ( ( projeto.data_fim - now() ) <= cast('30 day' as interval) ) AND a.id_atividade not in ( select id_atividade from extensao.relatorio_acao_extensao where id_atividade = a.id_atividade and id_tipo_relatorio = 2 and ativo ) AND usuario.inativo = falseValue()