~~ODT~~
Relatório Detalhes de Rodagem e Consumo
Esta funcionalidade é utilizada pelos gestores de transportes globais e de unidades com a finalidade de listar a rodagem e o consumo dos veículos.
Descrição do Caso de Uso
Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Transportes → Aba de Relatórios → Gastos → Detalhes de Rodagem e Consumo.
As seguintes opções de filtragens são oferecidas:
- Placa: Tipo - AUTOCOMPLETE. Formato - XXX-9999.
- Período de Abastecimento: Tipo - DATA. Formato: De DD/MM/AAAA a DD/MM/AAAA.
- Unidade do Veículo: Tipo - AUTOCOMPLETE. Formato: NOME DA UNIDADE (CÓDIGO). Entrada de dados: NOME DA UNIDADE ou CÓDIGO.
- Opções de Consulta: Tipo Texto.
Então o sistema exibe um relatório tal qual o modelo abaixo:
Detalhes de Rodagem e Consumo
Placa: Descrição da Placa
Unidade: DENOMINAÇÃO UNIDADE
Período: DD/MM/AAAA a DD/MM/AAAA
Opção da Busca: DESCRIÇÃO DA OPÇÃO
# | Veículo | Placa | Quilometragem | Quantidade Litros | Consumo(KM/Litros) | ||
---|---|---|---|---|---|---|---|
Inicial | Final | Km Rodados | |||||
1 | MARCA /CATEGORIA/ MODELO | XXX-9999 | 99999 | 99999 | 99999 | 99,9 | 99,9 |
2 | MARCA /CATEGORIA/ MODELO | XXX-9999 | 99999 | 99999 | 99999 | 99,9 | 99,9 |
Total | 99999 | 99,9 | 99,9 |
O caso de uso é finalizado.
Principais Regras de Negócio
Não se aplicada.
Resoluções/Legislações Associadas
Não se aplica
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sipac.transportes.dominio.Veiculo | sipac.transporte.veiculo |
br.ufrn.sipac.transportes.dominio.Abastecimento | sipac.transporte.abastecimento |
Plano de Teste
Sistema: SIPAC
Módulo: TRANSPORTE
Aba Relatórios → Gastos → Detalhes de Rodagem e Consumo.
Usuários: bergue
Papel que usuário deve ter:
- SipacPapeis.GESTOR_TRANSPORTES_GLOBAL,
- SipacPapeis.GESTOR_TRANSPORTES_UNIDADES,
- SipacPapeis.RELATORIOS_TRANSPORTES,
- SipacPapeis.GESTOR_TRANSPORTES_ABASTECIMENTO,
- SipacPapeis.AUDITOR.
Cenários de Teste
Não se aplica.
Dados para o Teste
Dados para gerar o relatório:
SELECT v.descricao, v.placa, v.id_veiculo, MAX(a.odometro),MIN(a.odometro), MAX(a.odometro)-MIN(a.odometro) AS km_rodados, CAST(SUM(a.quantidade_litros) AS NUMERIC(10,2)) AS quantidade_litros, CAST((MAX(a.odometro)-MIN(a.odometro))/SUM(a.quantidade_litros) AS NUMERIC(10,2)) AS consumo FROM transporte.abastecimento a INNER JOIN transporte.veiculo v ON (a.id_veiculo = v.id_veiculo) WHERE v.id_veiculo NOT IN (SELECT id_veiculo FROM transporte.veiculo_tipo_uso_veiculo WHERE id_tipo_uso_veiculo IN (37,38)) AND v.data_exclusao IS NULL -- Caso for importado será id _linha_importacao_arquivo_abastecimento diferente de null. -- and a.id_linha_importacao_arquivo_abastecimento is not null -- and a.data_transacao >= '01-01-2011' AND a.data_transacao <= '31-08-2013' GROUP BY v.descricao, v.placa, v.id_veiculo