~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Bolsas Por Curso ====== Esse caso de uso gera o relatório de quantidades de bolsas por curso. Nesse relatório podem ser mostras apenas as bolsas não finalizadas ou todas as bolsas. O relatório de bolsas por curso pode ser visualizado pelos usuários responsáveis da Pró-Reitoria de Administração - PROAD, mais especificamente da Seção de Bolsas, além dos gestores de bolsas dos centros. ===== Descrição do Caso de Uso ===== Esse caso de uso é acessado através do link: //SIPAC -> Bolsas -> Módulos -> Bolsas -> Operações -> Relatórios -> Bolsas por Curso//. O caso de uso se inicia com uma consulta das bolsas por curso. Os filtros para a consulta são: * **Curso***: Formato - NOME DA CURSO, Tipo - TEXTO. * **__Opções Adicionais__**: além do curso o usuário poderá refinar a consulta pelo seguintes dados: * **Tipo da Bolsa**: Formato - DENOMINAÇÃO DO TIPO DE BOLSA - (UNIDADE PAGADORA DO TIPO DE BOLSA), Tipo - TEXTO. * **Data de Início**([[desenvolvimento:especificacoes:sipac:bolsas:casos_de_uso:operacoes:relatorios:bolsas_por_curso#Principais Regras de Negócio|RN01]], [[desenvolvimento:especificacoes:sipac:bolsas:casos_de_uso:operacoes:relatorios:bolsas_por_curso#Principais Regras de Negócio|RN02]]): Formato - DD/MM/AAAA à DD/MM/AAAA, Tipo - DATA. * **Status**: Formato - APENAS BOLSAS NÃO FINALIZADAS | APENAS BOLSAS FINALIZADAS, Tipo - LÓGICO * **__Agrupamento__**: o relatório pode ser agrupados segundo as informações: * **Agrupar por sexo**: Tipo - LÓGICO * **Agrupar por Tipo de Bolsa**: Tipo - LÓGICO Ao realizar a consulta o sistema exibe os seguintes dados das bolsas por curso, conforme modelo: **Relatório de Bolsas por Curso** * **__Curso__**: Formato - NOME DO CURSO, Tipo - TEXTO. * **__Tipo da Bolsa__**: Formato - DENOMINAÇÃO DO TIPO DE BOLSA - (UNIDADE PAGADORA DO TIPO DE BOLSA), Tipo - TEXTO. * **__Data de Início__**: Formato - DD/MM/AAAA à DD/MM/AAAA, Tipo - TEXTO. * **__Apenas bolsas não finalizadas | Apenas bolsas finalizadas__**: Tipo - TEXTO. * **__Agrupar por sexo__**: Tipo - TEXTO. * **__Agrupar por Tipo de Bolsa__**: Tipo - TEXTO. ^ Tipo de Bolsa ^ Sexo ^ Qtd. ^ | **Curso: NOME DO CURSO** ||| | DENOMINAÇÃO DO TIPO DA BOLSA (UNIDADE PAGADORA DO TIPO DA BOLSA) | MASCULINO/FEMININO | 99 | | ------ | ------ | ------ | | **Total de Bolsas do Curso: 999** ||| |. ||| | **Curso: NOME DO CURSO** ||| | DENOMINAÇÃO DO TIPO DA BOLSA (UNIDADE PAGADORA DO TIPO DA BOLSA) | MASCULINO/FEMININO | 99 | | ------ | ------ | ------ | | **Total de Bolsas do Curso: 999** ||| | **TOTAL DE BOLSAS: 9999** ||| Apenas quando os agrupamentos são informados os dados agrupados são mostrados. Caso contrário o relatório segue o seguinte modelo: ^ Curso ^ Qtd. ^ | NOME DO CURSO | 99 | | ------ | ------ | | ------ | ------ | | **TOTAL DE BOLSAS: 9999** || ===== Principais Regras de Negócio ===== - **RN01** - Para incluir apenas bolsas concedidas a partir de uma data até a data corrente, o segundo campo da data de início deve estar em branco. - **RN02** - Para incluir apenas bolsas concedidas até uma data, o primeiro campo da data de início deve estar em branco e o segundo campo deve ser preenchido com a data desejada. ==== Resoluções/Legislações Associadas ==== Não se Aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.bolsas.dominio.Bolsa | administrativo.bolsas.bolsa | | br.ufrn.academico.dominio.Curso | administrativo.academico.curso | | br.ufrn.sipac.bolsas.dominio.TipoBolsa | administrativo.bolsas.tipo_bolsa | | br.ufrn.sipac.cadastro.dominio.Unidade | administrativo.comum.unidade | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Bolsas Link(s): Módulos -> Bolsas -> Operações -> Relatórios -> Bolsas por Curso Usuário: rcn(GESTOR_BOLSAS_GLOBAL), mvoc(GESTOR_BOLSAS_CENTRO) Papel que usuário deve ter: * SipacPapeis.GESTOR_BOLSAS_GLOBAL * SipacPapeis.GESTOR_BOLSAS_CENTRO ===== Cenários de Teste ===== Não se aplica. ===== Dados para o Teste ===== * Para obter as bolsas fora do prazo podemos usar a consulta: SELECT c.denominacao, count(bt.id) FROM bolsas.bolsa b JOIN comum.unidade u ON u.id_unidade = b.id_unidade JOIN bolsas.tipo_bolsa t ON t.id = b.id_tipo_bolsa JOIN bolsas.bolsista bt ON bt.id = b.id_bolsista JOIN comum.pessoa p ON p.id_pessoa = bt.id_pessoa JOIN academico.curso c ON c.id_curso = bt.id_curso WHERE b.id_convenio IS NULL GROUP BY c.denominacao, c.id_curso ORDER BY c.denominacao