Tabela de conteúdos

~~ODT~~

Última atualização: 2017/04/03 18:23 (edição externa)

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:

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:

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