Relatório com o Total de Alunos Regulares por Curso
Esse caso de uso é responsável pela geração de um relatório quantitativo com os discentes regulares, agrupados por curso.
Apenas os usuário que possuem a permissão de acessar os relatórios do DAE.
Descrição do Caso de Uso
Para a geração do relatório, o usuário deverá escolher obrigatoriamente um município.
O relatório exibido contém os seguintes campos:
- Curso: Curso do discente;
- Quantidade de Homens: Quantidades de homens do curso que são regulares;
- Quantidade de Mulheres: Quantidades de mulheres do curso que são regulares;
Principais Regras de Negócio
Não se aplica
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sigaa.pessoa.dominio.Discente | sigaa.discente |
br.ufrn.sigaa.ensino.graduacao.dominio.DiscenteGraduacao | sigaa.graduacao.discente_graduacao |
br.ufrn.sigaa.pessoa.dominio.Pessoa | sigaa.comum.pessoa |
br.ufrn.sigaa.dominio.Curso | sigaa.curso |
br.ufrn.sigaa.pessoa.dominio.Municipio | sigaa.comum.municipio |
Plano de Teste
Sistema: SIGAA
Módulo: Graduação
Link(s): Relatórios - DAE → Quantitativos → Quantitativos → Relatório Quantitativo dos Alunos Regulares por Curso
Usuário: lins, mirza
Papel que usuário deve ter: SigaaPapeis.DAE
Cenários de Teste
Para verificar a veracidade das informações é necessário cadastrar um novo discente para verificar se está sendo contabilizado de forma correta pelo relatório: Cadastrar Discente.
Dados para o Teste
A consulta a seguir exibi o nome do municipio juntamente com o código dos municipios.
select nome, id_municipio from comum.municipio order by nome, onde por exemplo: Natal = 1171
Utilize a consulta acima para localizar os código dos municipios e na consulta abaixo substitua os ???? pelo código da cidade desejada.
select c.nome, sum(case when p.sexo ='M' then 1 else 0 end) as homens, sum(case when p.sexo ='F' then 1 else 0 end) as mulheres from discente d join graduacao.discente_graduacao dg on (d.id_discente = dg.id_discente_graduacao) join comum.pessoa p using(id_pessoa) join curso c on (c.id_curso = d.id_curso) join comum.municipio m using(id_municipio) where m.id_municipio = ???? and d.status in (1) and c.id_modalidade_educacao = 1 and c.id_convenio is null group by c.nome ORDER BY c.nome