~~ODT~~
Quantitativo de Diárias por Proposto
Este caso de uso tem a finalidade de exibir um quantitativo de de diárias por proposto com o objetivo de verificar quem ultrapassou o limite de quarenta diárias ou está próximo disso.
Cada proposto pode ter até 40 diárias no mesmo ano, caso ultrapasse, será necessário a autorização superior de algum servidor designado.
Descrição do Caso de Uso
Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Atendimento de Requisições → Diárias → Relatórios → Quantitativo de Diárias por Proposto.
Ao acessar o caso de uso são listados os seguintes filtros:
- Ano*: Tipo - NUMÉRICO.
- Proposto: Tipo - AUTOCOMPLETE.
- Listar apenas propostos com diárias ultrapassadas: Tipo - LÓGICO. (RN01)
- Listar apenas propostos com diárias próximas do limite: Tipo - LÓGICO. (RN01)
- Ordenação: Crescente ou decrescente.
O relatório gerado deve exibir os seguintes dados:
- Ano: Tipo - NUMÉRICO. Ano escolhido para a busca.
- Proposto: Tipo - TEXTO. Nome completo do proposto.
- Quantidade: Tipo - NUMÉRICO. Selecionável, ao selecionar, listar todas as requisições, cada uma podendo visualizar os detalhes.
O caso de uso é finalizado.
Principais Regras de Negócio
- RN01 - Apenas uma das opções (Diárias ultrapassadas ou próximas do limite) pode ser escolhida.
Resoluções/Legislações Associadas
Não se aplica.
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sipac.cadastro.dominio.Pessoa | comum.pessoa |
br.ufrn.rh.dominio.Servidor | rh.servidor |
Plano de Teste
Sistema: SIPAC
Módulo: Atendimento de Requisições
Link(s): Diárias → Relatórios → Quantitativo de Diárias por Proposto
Papel que usuário deve ter: SipacPapeis.GESTOR_DIÁRIAS e SipacPapeis.AUTORIZADOR_DIARIAS_ULTRAPASSADAS.
Cenários de Teste
Verificar se a listagem corresponde a combinação de filtros utilizada.
Dados para o Teste
Realizar cadastros de requisições para um proposto que tenha ultrapassado o limite de 40 req. de diárias enviadas no ano e também para propostos que não ultrapassaram.
– SCRIPT PARA AUXILIAR NOS TESTES, TRAS TODOS OS PROPOSTOS COM QUANTIDADE ACIMA DO LIMITE NO ANO DE 2016. SELECT COUNT(id_proposto) FROM requisicoes.requisicao_diaria rd INNER JOIN comum.pessoa p ON p.id_pessoa=rd.id_proposto INNER JOIN rh.servidor s ON s.id_pessoa=p.id_pessoa WHERE s.data_desligamento IS NULL rd.ano=2016 AND rd.id_status IN ( 101,104,105,106,108,1011,103,109,715,717,716,702,703,708,718,709,710,711,757,758,760 ) AND GROUP BY id_proposto HAVING COUNT(id_proposto) > 40;