~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatório de Movimentação de Usuários por Período ====== Este relatório se destina a verificação na movimentação de usuários na biblioteca, isto é, a quantidade de novos usuários cadastrados e a quantidade de usuários que foram quitados dentro de um certo período. ===== Descrição do Caso de Uso ===== O caso de uso se inicia quando o usuário acessa SIGAA → Menu Biblioteca → Relatórios → Circulação → Usuários -> Movimentação de Usuários por Período. Ao iniciar o caso de uso, o sistema mostra os filtros do relatório: * **Categorias de Usuário*** - O(s) tipo(s) de usuário que devem ser retornados, que podem ser ''ALUNO DE GRADUAÇÃO, ALUNO DE NÍVEL MÉDIO/TÉCNICO, ALUNO DE PÓS-GRADUAÇÃO, SERVIDOR TÉCNICO-ADMINISTRATIVO, DOCENTE, BIBLIOTECA DA UFRN, BIBLIOTECA EXTERNA À UFRN, USUÁRIO EXTERNO À UFRN, DOCENTE EXTERNO'' * **Período*** - O período no qual o usuário foi cadastrado ou teve sua quitação emitida. Quando o usuário requisita que o relatório seja gerado, o sistema o gera e ele tem as seguintes informações: Para cada categoria de usuário escolhida: * A quantidade de novos usuários (usuários cadastros no período informado). * A quantidade de usuários quitados (usuários que tiveram a sua quitação emitida no período informado). * A quantidade de usuários ativos (usuários que permanecem ativos no sistema, inclui a quantidade de novos usuários). * A quantidade total de usuários (a soma dos usuários que permanecem ativos no sistema mais a quantidade que foi quitada no período informado). Modelo de como os dados são impressos no relatório: ^Novos Usuários ^ Quantidade ^ | ALUNOS DE GRADUAÇÃO | 100| | ALUNOS DE PÓS- GRADUAÇÃO | 10 | | SERVIDORES TÉCNICOS-ADMINISTRATIVOS | 1| | **TOTAL** | **111** | ^Usuários Quitados ^ Quantidade ^ | ALUNOS DE GRADUAÇÃO | 5 | | ALUNOS DE PÓS- GRADUAÇÃO | 1| | SERVIDORES TÉCNICOS-ADMINISTRATIVOS | 0 | | **TOTAL** | **6** | ^Usuários Ativos ^ Quantidade ^ | ALUNOS DE GRADUAÇÃO | 10000 | | ALUNOS DE PÓS- GRADUAÇÃO | 5000 | | SERVIDORES TÉCNICOS-ADMINISTRATIVOS | 500 | | **TOTAL** | **15500** | ^Total Geral de Usuários (ativos + quitados ) ^ Quantidade ^ | ALUNOS DE GRADUAÇÃO | 10005 | | ALUNOS DE PÓS- GRADUAÇÃO | 5001 | | SERVIDORES TÉCNICOS-ADMINISTRATIVOS | 500 | | **TOTAL** | **15506** | ===== Principais Regras de Negócio ===== * **RN01** - A quantidade de usuários ativos não leva em conta o período informado no relatório. Na quantidade de novos usuários a data utilizada na consulta é data de cadastro do usuário no sistema, na quantidade de usuários quitados, a data utilizada é a data de quitação. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigaa.biblioteca.circulacao.dominio.UsuarioBiblioteca| sigaa.biblioteca.usuario_biblioteca | ====== Plano de Teste ====== Sistema: SIGAA Módulo: Biblioteca Link(s): SIGAA -> Menu Biblioteca -> Relatórios -> Circulação -> Usuários -> Movimentação de Usuários por Período Usuário: clediane, angelike, regina Papel que usuário deve ter: SigaaPapeis.BIBLIOTECA_SETOR_CONTROLE_ESTATISTICO ===== Cenários de Teste ===== * Executar os casos de uso [[ desenvolvimento:especificacoes:sigaa:biblioteca:casos_de_uso:modulo_servidor:cadastra_para_utilizar_os_servicos_da_biblioteca | de cadastro ]] e [[desenvolvimento:especificacoes:sigaa:biblioteca:casos_de_uso:circulacao:controle_de_emprestimos:verificar_situacao_do_usuario_emitir_declaracao_de_quitacao| quitação ]] e verificar as mudanças dos números mostrados no relatório. ===== Dados para o Teste ===== As consultas utilizadas pelos relatórios: -- novos usuários SELECT vinculo, count ( distinct id_usuario_biblioteca) FROM biblioteca.usuario_biblioteca ub WHERE ativo = trueValue() AND quitado = falseValue() AND vinculo IS NOT NULL AND vinculo in (0, 1, 2, 3, 4, 5, 6, 7, 8 ) -- considerando que o usuário escolheu todas as categorias AND data_cadastro between '01/01/2011' AND '31/04/2011 23:59:59.999' GROUP BY vinculo; -- usuários quitados SELECT vinculo, count ( distinct id_usuario_biblioteca) FROM UsuarioBiblioteca ub WHERE ativo = trueValue() AND quitado = trueValue() AND vinculo IS NOT NULL AND vinculo in (0, 1, 2, 3, 4, 5, 6, 7, 8 ) -- considerando que o usuário escolheu todas as categorias AND data_quitacao between '01/01/2011' AND '31/04/2011 23:59:59.999' GROUP BY vinculo; -- usuários ativos SELECT vinculo, count ( distinct id_usuario_biblioteca) FROM UsuarioBiblioteca ub WHERE ativo = trueValue() AND quitado = falseValue() AND vinculo IS NOT NULL AND vinculo in (0, 1, 2, 3, 4, 5, 6, 7, 8 ) -- considerando que o usuário escolheu todas as categorias GROUP BY vinculo;