~~ODT~~
Relatório de Combustíveis Distribuídos por Unidade
Esta funcionalidade é utilizada pelos gestores de transportes com a finalidade de listar o consumo de determinados combustíveis por unidades em um período de tempo.
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 → Abastecimento → Combustíveis Distribuídos por Unidade.
As seguintes opções de filtragens são oferecidas:
- Período*: Formato - XXXX/AAAA. Tipo TEXTO.
- Combustíveis*: Tipo TEXTO.
- Mostrar Saldo?*: Tipo TEXTO. Pode ser
SIM
ouNão
.
Então o sistema exibe um relatório tal qual o modelo abaixo quando não for mostrar saldo:
Relatório de Consumo de Itens de Manutenção por Unidade
- Período: Formato - XXXX/AAAA. Tipo TEXTO e NUMÉRICO.
- Combustíveis: Tipo TEXTO.
- Mostrar Saldo?: Tipo TEXTO.
Unidade | Denominação do Combustível | ||
---|---|---|---|
Cód. | Nome Abreviado | Litros | Valor (R$) |
CÓDIGO | SIGLA DA UNIDADE | 9.999,99 | R$ 99,99 |
CÓDIGO | SIGLA DA UNIDADE | 9.999,99 | R$ 99,99 |
Total (R$): | 99.999,99 | 99.999,99 |
Ou então o sistema exibe um relatório tal qual o modelo abaixo quando for para mostrar saldo:
Relatório de Consumo de Itens de Manutenção por Unidade
- Período: Formato - XXXX/AAAA. Tipo TEXTO e NUMÉRICO.
- Combustíveis: Tipo TEXTO.
- Mostrar Saldo?: Tipo TEXTO.
Unidade | Denominação do Combustível (Litros) |
---|---|
CÓDIGO - SIGLA DA UNIDADE | 9.999,99 |
CÓDIGO - SIGLA DA UNIDADE | 9.999,99 |
Total | 99.999,99 |
SALDO | |||
---|---|---|---|
Saldo Anterior em DD/MM/AAAA | Entradas em MÊS de ANO | Saídas em MÊS de ANO | Saldo Atual em DD/MM/AAAA |
Denominação do Combustível | |||
9.999,99 | 9.999,99 | 9.999,99 | 9.999,99 |
9.999,99 | 9.999,99 | 9.999,99 | 9.999,99 |
Ao final do relatório deve ser impresso local, data e ainda espaços para a assinatura do encarregado do serviço e do diretor da divisão.
O caso de uso é finalizado.
Principais Regras de Negócio
Não se aplica
Resoluções/Legislações Associadas
Não se aplica
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sipac.transportes.dominio.TipoCombustivel | administrativo.transporte.tipo_combustivel |
br.ufrn.sipac.transportes.dominio.Abastecimento | administrativo.transporte.abastecimento |
br.ufrn.sipac.cadastro.dominio.Unidade | administrativo.transporte.unidade |
br.ufrn.sipac.transportes.dominio.EntradaCombustivel | administrativo.transporte.entrada_combustivel |
Plano de Teste
Sistema: SIPAC
Módulo: TRANSPORTES
Link(s): Aba de Relatórios → Abastecimento → Combustíveis Distribuídos por Unidade
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
- Verificar se o fluxo do caso de uso está funcionando corretamente.
Dados para o Teste
- Para verificar os dados dos combustíveis e usá-los nas consultas abaixo, basta executar a consulta abaixo:
SELECT * FROM transporte.tipo_combustivel
- Para verificar os dados do consumo de cada combustível por unidade, basta usar a consulta abaixo, informando o período com o dia igual a 1, por exemplo, para o mês de maio de 2011, deve-se informar abastecime0_.data_transacao>='2011-05-01' and abastecime0_.data_transacao<'2011-06-01', e os ids dos tipos de combustíveis:
SELECT unidade2_.ID_UNIDADE, unidade2_.CODIGO_UNIDADE, unidade2_.SIGLA, unidade2_.NOME, unidade2_.UNIDADE_ORCAMENTARIA, tipocombus1_.id_tipo_combustivel, tipocombus1_.denominacao, SUM(abastecime0_.quantidade_litros), SUM(round(abastecime0_.valor_abastecimento)) FROM transporte.abastecimento abastecime0_ INNER JOIN transporte.tipo_combustivel tipocombus1_ ON abastecime0_.id_tipo_combustivel=tipocombus1_.id_tipo_combustivel INNER JOIN comum.UNIDADE unidade2_ ON abastecime0_.id_unidade=unidade2_.ID_UNIDADE WHERE abastecime0_.data_transacao>='?' AND abastecime0_.data_transacao<'?' AND (tipocombus1_.id_tipo_combustivel IN (? , ?)) AND (EXISTS (SELECT entradacom3_.id_tipo_combustivel FROM transporte.entrada_combustivel entradacom3_ WHERE tipocombus1_.id_tipo_combustivel=entradacom3_.id_tipo_combustivel)) GROUP BY unidade2_.ID_UNIDADE , unidade2_.CODIGO_UNIDADE , unidade2_.SIGLA , unidade2_.NOME , unidade2_.UNIDADE_ORCAMENTARIA , tipocombus1_.id_tipo_combustivel , tipocombus1_.denominacao ORDER BY unidade2_.CODIGO_UNIDADE, tipocombus1_.denominacao
- Para verificar o saldo anterior (caso seja positiva a resposta de mostrar saldo) ao mês selecionado por combustível, pode-se utilizar as consultas abaixo informando a data do período em que o dia é sempre 1, por exemplo, para o mês de maio de 2011: ent.data_cadastro < '2011-05-01'. Informar o id do tipo de combustível. E fazer a subtração do resultado da primeira consulta pelo da segunda:
SELECT SUM(ent.quantidade) FROM transporte.entrada_combustivel ent WHERE ent.data_cadastro < '?' AND ent.id_tipo_combustivel = ?
SELECT SUM(abas.quantidade_litros) FROM transporte.abastecimento abas INNER JOIN transporte.tipo_combustivel tc ON abas.id_tipo_combustivel = tc.id_tipo_combustivel WHERE abas.data_transacao < '?' AND tc.id_tipo_combustivel = ? AND EXISTS(SELECT ec.id_tipo_combustivel FROM transporte.entrada_combustivel ec WHERE tc.id_tipo_combustivel = ec.id_tipo_combustivel)
- Para verificar as entradas de combustível no mês selecionado (caso seja positiva a resposta de mostrar saldo), pode-se utilizar a consulta abaixo informando o período com o dia sempre igual a 1, por exemplo, para o mês de maio de 2011: ent.data_cadastro >= '2011-05-01' and ent.data_cadastro < '2011-06-01'. E o id do tipo de combustível:
SELECT SUM(ent.quantidade) FROM transporte.entrada_combustivel ent WHERE ent.data_cadastro >= '?' AND ent.data_cadastro < '?' AND ent.id_tipo_combustivel = ?
- As saídas do mês selecionado (caso seja positiva a resposta de mostrar saldo) são o total consumido de cada combustível que é apresentado na tabela de gastos por unidade (primeira tabela). E o saldo atual é a soma do saldo anterior com o total de entradas, subtraído do total de saídas.