~~ODT~~
Relatório de Consumo e Quilometragem por Tipo de Veículo
Este caso de uso é utilizado pelos gestores de transporte com a finalidade de criar um relatório detalhando o consumo de combustível e quilometragem por tipo de veículo.
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 → Consumo de Combustível e Quilometragem por Tipo de Veículo.
Inicialmente, é exibido o seguinte formulário de busca:
- Unidade Beneficiada: Tipo - AUTOCOMPLETE, formato: NOME_UNIDADE (CODIGO_UNIDADE). Nome ou código da unidade a ser consultada.
- Tipo do Veículo: Tipo - TEXTO, formato: DENOMINACAO TIPO DO VEICULO.
- Situação do Veículo: Tipo - TEXTO.
- Tipo de Propriedade: Tipo - TEXTO.
- Período: Tipo - DATA, formato: DD/MM/AAAA de DD/MM/AAAA.
O relatório gerado exibe os seguintes dados:
- Tipo do Veículo: Tipo - TEXTO.
- Quilometragem (KM): Tipo - NUMÉRICO. Quilometragem no período selecionado.
- Consumo (em litros): Tipo - NUMÉRICO. Consumo de combustível no período selecionado.
- Valor Acumulado (R$): Tipo - NUMÉRICO. Valor do gasto com combustível no período selecionado.
- Média (KM/L): Tipo - NUMÉRICO. Média do consumo no período selecionado.
- Totais: Tipo - NUMÉRICO. Valores totais de cada coluna.
O caso de uso é finalizado.
Principais Regras de Negócio
- RN01 - Caso o usuário seja um Gestor de Transportes de Unidades, deverá visualizar apenas os abastecimentos cuja unidade gestora esteja na hierarquia de sua unidade.
Resoluções/Legislações Associadas
Não se aplica.
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sipac.transportes.dominio.Abastecimento | transporte.abastecimento |
br.ufrn.sipac.transportes.dominio.Veiculo | transporte.veiculo |
Plano de Teste
Sistema: SIPAC
Módulo: Transportes
Link(s): Aba de Relatórios → Gastos → Consumo de Combustível e Quilometragem por Tipo de Veículo.
Usuário: 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
SELECT tv.id_tipo_veiculo, tv.denominacao , MAX(a.odometro)-MIN(a.odometro) AS km_rodados , CAST (SUM(a.quantidade_litros) AS NUMERIC(10,2)) AS qt_litros, CAST(SUM(a.valor_abastecimento) AS NUMERIC(10,2)) AS valor ,CAST((MAX(a.odometro)-MIN(a.odometro))/SUM(a.quantidade_litros) AS NUMERIC(10,2)) AS consumo FROM transporte.abastecimento a JOIN transporte.veiculo v ON (a.id_veiculo = v.id_veiculo ) JOIN comum.unidade u ON (a.id_unidade = u.id_unidade) JOIN transporte.status_veiculo sv ON (sv.id_status_veiculo = v.id_status_veiculo) JOIN transporte.tipo_propriedade tp ON (tp.id_tipo_propriedade = v.id_tipo_propriedade ) LEFT JOIN transporte.ano_modelo anoModelo ON (v.id_ano_modelo= anoModelo.id_ano_modelo ) LEFT JOIN transporte.modelo_veiculo modelo ON ( anoModelo.id_modelo_veiculo = modelo.id_modelo_veiculo ) LEFT JOIN transporte.tipo_veiculo tv ON (modelo.id_tipo_veiculo = tv.id_tipo_veiculo) GROUP BY tv.id_tipo_veiculo, tv.denominacao