====== Relatório de Tarefas com Atraso no Deadline ====== Esse relatório apresenta para equipe selecionada a listagem das tarefas que estão com atraso no deadline. É utilizado pelos gestores para analisar quais tarefas estão em atraso e devem ser priorizadas. ===== Descrição do Caso de Uso ===== O caso de uso se inicia solicitando para qual equipe se deseja gerar o relatório e a opção de ordenação: * **Equipe***: Tipo : TEXTO * **Ordenar por**: Tipo: TEXTO. Formato: ''{Responsável, Deadline}'' O sistema exibe as tarefas em atraso com os dados([[#principais_regras_de_negócio|RN01, RN02]]): * **__Número__**: Tipo - NUMÉRICO * **__Título__**. Tipo - TEXTO * **__Início__**: Tipo - DATA. Formato: dd/mm/aaaa * **__Deadline__**: Tipo - DATA. Formato: dd/mm/aaaa * **__Percentual__**: Tipo - NUMÉRICO. Formato: 99% * **__Status__**: Tipo - TEXTO. * **__Responsável__**: Tipo - TEXTO. Formato - login do usuário. O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01**: Não são exibidas tarefas com status: CANCELADA, DUPLICADA, EM PRODUCAO, VALIDADA POR TESTES, ATUALIZADO HOMOLOGACAO, SOLICITADO ATUALIZACAO e CONCLUIDA. * **RN02**: Só são exibidas tarefas com percentual menor que 100% e que a data final (deadline) é anterior ao dia atual. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela ^ | br.com.jeebrasil.iproject.dominio.Tarefa | sistemas_comum.iproject.tarefa | ====== Plano de Teste ====== Sistema: iProject Módulo: Relatórios Links: iProject -> Relatórios -> Tarefas com Atraso no Deadline Usuário: dalton. Papel que usuário deve ter: Usuário com permissão de Gerente. ===== Cenários de Teste ===== - Alterar o deadline de tarefas existentes e verificar se elas aparecem no relatório (atentar para o status da tarefa [[#principais_regras_de_negócio|RN01]]). ===== Dados de Teste ===== O relatório gerado é o mesmo do SQL abaixo: select u.login, t.titulo, t.numtarefa, t.inicio, t.fim, t.percentual, t.id_status from iproject.tarefa t join comum.usuario u on (t.id_responsavel = u.id_usuario) where t.id_status not in (13, 14, 20, 43, 30, 31, 11) and t.id_responsavel in (select id_usuario from iproject.membroequipe where id_equipe = 39137390) and percentual <> 100 and fim < now() order by login