~~ODT~~
Nível de Atendimento Mensal das Ordens de Serviço
Este Caso de Uso permite o acompanhamento do atendimento mensal das ordens de serviço. Através desse relatório pode-se verificar a quantidade de Ordem de Serviço solicitadas em um dado mês, a quantidade que foi finalizada e o que está pendente, além do percentual de atendimento das ordens de serviço solicitadas. O relatório ainda mostra esses dados de maneira gráfica, fornecendo uma melhor compreensão dos dados ao usuário, possibilitando-o realizar uma comparação de atendimentos entre os meses do ano.
Este caso de uso se encontra na área de Infraestrutura e é utilizado pelos servidores da Diretoria de Projetos e Obras da Superintendência de Infraestrutura.
Descrição do Caso de Uso
O Caso de Uso inicia com a seleção dos parâmetros do relatório pelo usuário. O usuário pode gerar o relatório considerando apenas o ano ou indicar uma unidade requisitante das ordens de serviço. Para isso o usuário deve informar:
- Unidade Requisitante: Tipo - AUTOCOMPLETE, Formato - nome (código), Entrada de Dados - Código, Nome.
- Ano *: Tipo - NUMÉRICO.
Tendo selecionado a maneira como o relatório será gerado, o usuário solicita a construção do relatório. O sistema exibe os seguintes dados no relatório:
- Unidade Requisitante: Tipo - TEXTO (caso o usuário tenha selecionado alguma unidade)
- Ano: Tipo - TEXTO.
O Relatório gerado tem o seguinte formato:
Nível de Atendimento Mensal das Ordens de Serviço |
Ano: | 2010 |
---|---|
Unidade Requisitante: | SUPERINTENDENCIA DE INFRA-ESTRUTURA (11.08) |
Após a exibição do relatório o caso de uso finaliza.
Principais Regras de Negócio
- RN1: A Solicitação Geral é a quantidade de ordens de serviço solicitadas no mês mais o total pendente.
- RN2: A Finalização Geral é a quantidade de ordens de serviço finalizadas no mês mais o finalizado pendente, onde finalizado pendente é a quantidade de ordens de serviço solicitadas no meses anteriores que foram atendidas no mês atual.
- RN3: O Atendimento Geral é igual a: ( Finalizado Geral / Solicitado Geral ) * 100.
- RN4: O Atendimento no Mês é igual a: ( Finalizado no Mês / Solicitado no Mês) * 100.
- RN5: A Pendência Anterior é igual a: Solicitação Geral - Solicitação Mês
- RN6: A Pendência Atendida é igual a quantidade de ordens de serviço que estavam pendentes nos meses anteriores e que foram atendidas no mês atual.
- RN7: A Pendência Restante é igual a: Pendência Anterior - Pendência Atendida.
- RN8: Solicitado no Mês = número de ordens de serviço solicitadas no mês.
- RN9: Finalizado no Mês = número de ordens de serviço finalizadas no mês.
- RN10: Pendente no Mês = Solicitado no Mês - Finalizado no Mês
- RN11: META = 70,00%
- RN12: Total Pendente = Pendência no Mês + Pendência Anterior
Classes Persistentes e Tabelas Envolvidas
Tabela | Classe |
---|---|
sipac.infra.ordem_servico | br.ufrn.sipac.supinfra.manutencao.dominio.OrdemServico |
Plano de Teste
Sistema: SIPAC
Módulo: Superintendência de Infra-Estrutura
Link(s): Manutenção → Relatórios → Nível de Atendimento Mensal das Ordens de Serviço
Usuário: lane (gestor_obras), joca (gestor_manutencao)
Papel que usuário deve ter: SipacPapeis.GESTOR_OBRAS, SipacPapeis.GESTOR_MANUTENCAO
Cenários de Teste
- Testar a geração do relatório para diferentes períodos e observar se as quantidades textual e gráfica das ordens de serviço executadas estão correspondentes.
- Pode-se gerar uma ordem de serviço para visualizar mudança nas quantidades exibidas no relatório.
- Verificar os dados do relatório observando os cálculos descritos nas regras de negócio.
Dados para o Teste
Para verificar as unidades que possuam ordens de serviço associadas, executar o seguinte script:
SELECT os.numero, os.ano, unidade.nome FROM infra.ordem_servico os LEFT JOIN infra.requisicao_supinfra requisicao ON os.id_requisicao = requisicao.id LEFT JOIN comum.unidade unidade ON unidade.id_unidade = requisicao.id_unidade_req;
Para verificar a Regra de negócio RN2, executar o seguinte script e verificar a quantidade recuperada na consulta. O valor a ser retornado pelo script refere-se ao finalizado pendente, citado na regra de negócio RN2.
OBS: Observando da esquerda para a direita, a primeira interrogação deve ser substituída pelo ano que se deseja obter o total pendente. As outras duas interrogações devem ser substituídas pelo mês que se deseja obter o total pendente.
SELECT SUM( os.id_status) AS quantidade FROM infra.ordem_servico os WHERE os.ano = ? AND EXTRACT ( MONTH FROM os.data_conclusao ) = ? AND EXTRACT ( MONTH FROM os.data_cadastro ) < ?