~~ODT~~ echo "
"; echo "Última atualização: ";ver('', false);echo "
";
====== Relatório de Empréstimos por Curso ====== Neste caso de uso, os bibliotecários podem verificar a distribuição dos empréstimos e renovações dentro dos cursos da instituição. ===== Descrição do Caso de Uso ===== Este caso de uso é iniciado quando o usuário acessa //SIGAA -> Biblioteca -> Link(s): Relatórios -> Circulação -> Empréstimos -> Empréstimos por Curso//. São disponibilizados os seguintes filtros para o usuário: * **Bibliotecas** * - o usuário deve escolher uma ou mais bibliotecas. Somente empréstimos feitos nessas bibliotecas serão considerados. * **Categoria de Usuário** - o tipo de usuário da biblioteca: //Aluno de Graduação//, //Docente//, //Docente Externo//, etc. * **Tipo de Material** - //Livro//, //Mapa//, //CD-ROM//, etc. * **Tipo de Empréstimo** - //Normal//, //Especial//, //Fotocópia//, etc. * **Período** * - Somente empréstimos e renovações feitas nesse período serão levados em conta. Ao escolher a opção //Gerar Relatório//, o sistema apresenta ao usuário um relatório com o seguinte modelo: ^Curso ^ Empréstimos ^ Renovações ^ Empréstimos + Renovações ^ |Engenharia de Pesca | 6345| 6000| 12345| |Matemática - Bacharelado | 2500| 1500| 4000| |Especialização em Dinâmica dos Fluidos | 1| 1| 2| ===== Principais Regras de Negócio ===== * **RN01** - As renovações mostradas neste relatório correspondem as renovações realizadas no período selecionado, não necessariamente correspondem as renovações dos empréstimos também mostrados nesse relatório. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigaa.biblioteca.circulacao.dominio.Emprestimo | sigaa.biblioteca.emprestimo | | br.ufrn.sigaa.biblioteca.circulacao.dominio.ProrrogacaoEmprestimo | sigaa.biblioteca.prorrogacao_emprestimo | | br.ufrn.sigaa.dominio.Curso | sigaa.curso | ====== Plano de Teste ====== Sistema: SIGAA Módulo: Biblioteca Link(s): Relatórios -> Circulação -> Empréstimos -> Empréstimos por Curso Usuário: angelike, edila, ekanzaki Papel que usuário deve ter: SigaaPapeis.BIBLIOTECA_SETOR_CONTROLE_ESTATISTICO ===== Cenários de Teste ===== * Testar os vários filtros * Filtrar a categoria de usuário e verificar que os tipos de cursos correspondem. Por exemplo, para usuários do tipo //pós graduação// somente cursos de pós graduação devem ser retornados. * Realizar / cancelar empréstimos e verificar se o relatório reflete as mudanças. ===== Dados para o Teste ===== --------- --------- Total Emprétimos para alunos da BCZM entre '01/08/2009' '01/09/2011' --------- --------- OS NÚMEROS TOTAIS DO RELATÓRIO DEVEM BATER COM OS NÚMEROS DESSA CONSULTA ( escolhendo-se a mesma biblioteca e período ) --------- SELECT count(distinct e.id_emprestimo) from biblioteca.emprestimo e INNER JOIN biblioteca.material_informacional m on m.id_material_informacional = e.id_material INNER JOIN biblioteca.usuario_biblioteca ub ON ub.id_usuario_biblioteca = e.id_usuario_biblioteca INNER JOIN discente dc ON ub.identificacao_vinculo = dc.id_discente INNER JOIN curso cs ON dc.id_curso = cs.id_curso WHERE e.data_emprestimo between '01/08/2009 00:00:00.000' and '01/09/2011 23:59:59.000' AND e.ativo = true AND m.id_biblioteca = 661399 AND ub.vinculo IN (0, 1, 2) --- vinculos de alunos ; --------- --------- Renovações para alunos da BCZM entre '01/08/2009' '01/09/2011' --------- --------- OS NÚMEROS TOTAIS DO RELATÓRIO DEVEM BATER COM OS NÚMEROS DESSA CONSULTA ( escolhendo-se a mesma biblioteca e período ) --------- SELECT count(distinct p.id_prorrogacao_emprestimo) from biblioteca.emprestimo e INNER JOIN biblioteca.prorrogacao_emprestimo p on p.id_emprestimo = e.id_emprestimo INNER JOIN biblioteca.material_informacional m on m.id_material_informacional = e.id_material INNER JOIN biblioteca.usuario_biblioteca ub ON ub.id_usuario_biblioteca = e.id_usuario_biblioteca INNER JOIN discente dc ON ub.identificacao_vinculo = dc.id_discente INNER JOIN curso cs ON dc.id_curso = cs.id_curso WEHRE p.data_cadastro between '01/08/2009 00:00:00.000' and '01/09/2011 23:59:59.000' AND e.ativo = true AND m.id_biblioteca = 661399 and p.tipo = 5 AND ub.vinculo IN (0, 1, 2) --- vinculos de alunos ;