~~ODT~~
Registrar Atividade Complementar IMD
Este caso de uso é utilizado pelo Discente do IMD e permite o envio de atividades complementares para o Módulo Integrador.
Descrição do Caso de Uso
Este caso de uso inicia quando o usuário acessa a opção: SIGAA → Portal do Discente → Módulo Integrador → Enviar Atividade Complementar.
Para enviar o registro, o usuário será redirecionado para o formulário onde deverá informar os seguintes campos:
- Categoria:* Tipo - TEXTO. Refere-se ao Cadastro da Categoria de Atividade.
- Atividade a ser Contabilizada:* Tipo - TEXTO. Refere-se ao Cadastro da Atividade Contabilizada.
Ao fornecer os valores e selecionar a opção “Avançar”, o sistema direcionará o usuário para o formulário de adição dos itens que irão compor o registro e deverá informar os dados:
Registrar Atividade Complementar
- Categoria: * Tipo - TEXTO.
- Atividade contabilizada: * Tipo - TEXTO.
- Ano/Período de referência: * Tipo - NUMÉRICO.
- CH por atividade: * Tipo - NUMÉRICO
- CH por semestre: * Tipo - NUMÉRICO.
- CH total: * Tipo - DATA.
- Descrição: * Tipo - TEXTO.
- Documentos necessários: Tipo - TEXTO.
Dados do Novo Item
- Descrição*: Tipo - TEXTO.
- Carga Horária*: Tipo - NUMÉRICO.
- Período de atividade(Data Inicial)*: Tipo - DATA.
- Período de atividade(Data Final)*: Tipo - DATA.
- Comprovante*: Tipo - FILE.
- Li e concordo com os termos acima descritos: Tipo - LÓGICO (RN01).
O sistema irá apresentar as seguintes opções:
- Adicionar Atividade: efetua o vínculo do item no registro da atividade complementar (RN01).
- Voltar: retorna o usuário para o formulário anterior.
- Cancelar: efetua o cancelamento da operação (RN03).
- Enviar para Validação: efetua o envio do registro para validação por parte da coordenação (RN02).
Abaixo do formulário, o sistema apresentará a listagem dos itens vinculados ao registro que está sendo criado, conforme o modelo abaixo:
Itens Associados (Qtde) | |||
---|---|---|---|
Descrição | Data início | Data fim | CH |
Palestra | 01/01/2014 | 01/01/2014 | 30h |
—- | —- | —- | —- |
Ao clicar no botão Adicionar Atividade, o sistema deverá redirecionar para uma tela auxiliar para que o usuário anexe os comprovantes da atividade complementar. Essa tela possui as seguintes opções:
- Escolher Arquivo: Abre uma caixa de diálogo para que o usuário possa selecionar um arquivo para adicionar
- Anexar Arquivo: Adiciona como anexo o arquivo selecionado. Mais de um arquivo pode ser anexado a uma atividade
- Confirmar Anexo dos Arquivos: Confirma o anexo dos arquivos selecionados ao item de atividade complementar e redireciona para o formulário anterior, onde o usuário tem a possibilidade de finalizar o envio da atividade.
O caso de uso é finalizado.
Principais Regras de Negócio
- RN 01: A opção “Enviar para validação” só deverá ficar habilitada quando o discente indicar que leu e concordou com os termos informados.
- RN 02: A opção “Enviar para Validação” só deverá ficar habilitada quando o somatório dos itens do registro for maior ou igual a CH por Atividade a ser contabilizada.
- RN 03: Caso o discente não finalize o envio do registro, o sistema deverá armazenar o registro com o status “REGISTRADO” para um posterior envio.
- RN 04: Ao finalizar o envio do registro, o sistema deverá enviar um e-mail confirmando o registro para o discente e para o tutor do grupo no qual o discente está vinculado.
- RN 05: O discente não poderá registrar uma atividade complementar se houver um registro do mesmo tipo de atividade contabilizada criado e não enviado para validação.
- RN 06: O discente poderá anexar apenas arquivos com extensão .PDF.
- RN 07: O discente só poderá enviar um registro se estiver associado a um grupo do módulo integrador e fizer parte de uma turma do módulo avançado do IMD.
Resoluções/Legislações Associadas
Não se aplica.
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sigaa.ensino.metropoledigital.dominio.RegistroContabilizadorAtividadeComplementarIMD | sigaa.metropole_digital.registro_contabilizador_atividade_complementar_imd |
br.ufrn.sigaa.ensino.metropoledigital.dominio.ItemRegistroAtividadeComplementarIMD | sigaa.metropole_digital.item_registro_atividade_complementar_imd |
Plano de Teste
Sistema: SIGAA
Módulo: Portal do Discente
Link(s): Menu Módulo Integrador → Enviar Atividade Complementar
Usuários: brunominelli, alanjhone.ti, hudsonbrendon
Papel que usuário deve ter: Discente IMD
Cenários de Teste
Dados para o Teste
-- DISCENTES IMD DO MÓDULO AVANÇADO QUE ESTÃO VINCULADOS A UM GRUPO DO MÓDULO INTEGRADOR SELECT u.login FROM tecnico.discente_tecnico dt INNER JOIN public.discente d ON d.id_discente = dt.id_discente INNER JOIN comum.pessoa pe ON pe.id_pessoa = d.id_pessoa INNER JOIN comum.usuario u ON u.id_pessoa = pe.id_pessoa INNER JOIN tecnico.turma_entrada_tecnico te ON te.id_turma_entrada = dt.id_turma_entrada INNER JOIN metropole_digital.dados_turma_imd dad ON dad.id_dados_turma_imd = te.id_dados_turma_imd INNER JOIN metropole_digital.cronograma_execucao cro ON cro.id_cronograma_execucao = dad.id_cronograma_execucao INNER JOIN tecnico.modulo m ON m.id_modulo = cro.id_modulo INNER JOIN metropole_digital.discente_grupo_mi dg ON d.id_discente = dg.id_discente WHERE d.nivel = 'T' AND d.id_curso = 96054058 AND d.ano_ingresso IN (2014, 2015) AND d.status NOT IN (2, 10, 13, 15) AND m.descricao LIKE '%AVANÇADO%';
-- DISCENTES IMD DO MÓDULO AVANÇADO SELECT u.login FROM tecnico.discente_tecnico dt INNER JOIN public.discente d ON d.id_discente = dt.id_discente INNER JOIN comum.pessoa pe ON pe.id_pessoa = d.id_pessoa INNER JOIN comum.usuario u ON u.id_pessoa = pe.id_pessoa INNER JOIN tecnico.turma_entrada_tecnico te ON te.id_turma_entrada = dt.id_turma_entrada INNER JOIN metropole_digital.dados_turma_imd dad ON dad.id_dados_turma_imd = te.id_dados_turma_imd INNER JOIN metropole_digital.cronograma_execucao cro ON cro.id_cronograma_execucao = dad.id_cronograma_execucao INNER JOIN tecnico.modulo m ON m.id_modulo = cro.id_modulo WHERE d.nivel = 'T' AND d.id_curso = 96054058 AND d.ano_ingresso IN (2014, 2015) AND d.status NOT IN (2, 10, 13, 15) AND m.descricao LIKE '%AVANÇADO%';
-- DISCENTES IMD QUE NÃO SÃO DO MÓDULO AVANÇADO SELECT u.login FROM tecnico.discente_tecnico dt INNER JOIN public.discente d ON d.id_discente = dt.id_discente INNER JOIN comum.pessoa pe ON pe.id_pessoa = d.id_pessoa INNER JOIN comum.usuario u ON u.id_pessoa = pe.id_pessoa INNER JOIN tecnico.turma_entrada_tecnico te ON te.id_turma_entrada = dt.id_turma_entrada INNER JOIN metropole_digital.dados_turma_imd dad ON dad.id_dados_turma_imd = te.id_dados_turma_imd INNER JOIN metropole_digital.cronograma_execucao cro ON cro.id_cronograma_execucao = dad.id_cronograma_execucao INNER JOIN tecnico.modulo m ON m.id_modulo = cro.id_modulo WHERE d.nivel = 'T' AND d.id_curso = 96054058 AND d.ano_ingresso IN (2014, 2015) AND d.status NOT IN (2, 10, 13, 15) AND m.descricao NOT LIKE '%AVANÇADO%';
-- DISCENTES IMD DO MÓDULO AVANÇADO QUE NÃO ESTÃO VINCULADOS A UM GRUPO DO MÓDULO INTEGRADOR SELECT u.login FROM tecnico.discente_tecnico dt INNER JOIN public.discente d ON d.id_discente = dt.id_discente INNER JOIN comum.pessoa pe ON pe.id_pessoa = d.id_pessoa INNER JOIN comum.usuario u ON u.id_pessoa = pe.id_pessoa INNER JOIN tecnico.turma_entrada_tecnico te ON te.id_turma_entrada = dt.id_turma_entrada INNER JOIN metropole_digital.dados_turma_imd dad ON dad.id_dados_turma_imd = te.id_dados_turma_imd INNER JOIN metropole_digital.cronograma_execucao cro ON cro.id_cronograma_execucao = dad.id_cronograma_execucao INNER JOIN tecnico.modulo m ON m.id_modulo = cro.id_modulo LEFT JOIN metropole_digital.discente_grupo_mi dg ON d.id_discente = dg.id_discente WHERE d.nivel = 'T' AND d.id_curso = 96054058 AND d.ano_ingresso IN (2014, 2015) AND d.status NOT IN (2, 10, 13, 15) AND m.descricao LIKE '%AVANÇADO%' AND dg.id_discente_grupo_mi IS NULL;
-- DISCENTES IMD QUE NÃO SÃO DO MÓDULO AVANÇADO E QUE NÃO ESTÃO VINCULADOS A UM GRUPO DO MÓDULO INTEGRADOR SELECT u.login FROM tecnico.discente_tecnico dt INNER JOIN public.discente d ON d.id_discente = dt.id_discente INNER JOIN comum.pessoa pe ON pe.id_pessoa = d.id_pessoa INNER JOIN comum.usuario u ON u.id_pessoa = pe.id_pessoa INNER JOIN tecnico.turma_entrada_tecnico te ON te.id_turma_entrada = dt.id_turma_entrada INNER JOIN metropole_digital.dados_turma_imd dad ON dad.id_dados_turma_imd = te.id_dados_turma_imd INNER JOIN metropole_digital.cronograma_execucao cro ON cro.id_cronograma_execucao = dad.id_cronograma_execucao INNER JOIN tecnico.modulo m ON m.id_modulo = cro.id_modulo LEFT JOIN metropole_digital.discente_grupo_mi dg ON d.id_discente = dg.id_discente WHERE d.nivel = 'T' AND d.id_curso = 96054058 AND d.ano_ingresso IN (2014, 2015) AND d.status NOT IN (2, 10, 13, 15) AND m.descricao NOT LIKE '%AVANÇADO%' AND dg.id_discente_grupo_mi IS NULL;
-- DISCENTES IMD QUE NÃO SÃO DO MÓDULO AVANÇADO E QUE ESTÃO VINCULADOS A UM GRUPO DO MÓDULO INTEGRADOR SELECT u.login FROM tecnico.discente_tecnico dt INNER JOIN public.discente d ON d.id_discente = dt.id_discente INNER JOIN comum.pessoa pe ON pe.id_pessoa = d.id_pessoa INNER JOIN comum.usuario u ON u.id_pessoa = pe.id_pessoa INNER JOIN tecnico.turma_entrada_tecnico te ON te.id_turma_entrada = dt.id_turma_entrada INNER JOIN metropole_digital.dados_turma_imd dad ON dad.id_dados_turma_imd = te.id_dados_turma_imd INNER JOIN metropole_digital.cronograma_execucao cro ON cro.id_cronograma_execucao = dad.id_cronograma_execucao INNER JOIN tecnico.modulo m ON m.id_modulo = cro.id_modulo INNER JOIN metropole_digital.discente_grupo_mi dg ON d.id_discente = dg.id_discente WHERE d.nivel = 'T' AND d.id_curso = 96054058 AND d.ano_ingresso IN (2014, 2015) AND d.status NOT IN (2, 10, 13, 15) AND m.descricao NOT LIKE '%AVANÇADO%';