~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== 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. ([[#principais_regras_de_negócio|RN01]]) * **Listar apenas propostos com diárias próximas do limite**: Tipo - LÓGICO. ([[#principais_regras_de_negócio|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;