~~ODT~~
Consultar Ordem Bancária
Este caso de uso serve para que os responsáveis pelo orçamento das unidades realizem consultas às ordens bancárias registradas através do sistema, com o objetivo de visualizar todos os seus detalhes.
Esta operação é utilizada pelos funcionários dos setores orçamentários que controlam a execução do orçamento de determinada unidade gestora.
Descrição do Caso de Uso
Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Orçamento → Aba Consultas → Empenho → Ordem Bancária.
O usuário pode realizar a consulta utilizando as seguintes informações (o sistema permite a seleção de mais de um campo para efetuar a busca):
- Número da Ordem Bancária: Formato - 9…, Tipo - NUMÉRICO.
- Empenho: Formato - 9…, Tipo - NUMÉRICO.
- Processo: Formato - 99999.999999/AAAA-99 (radical.número/ano-dv) ou ATUAL, Tipo - TEXTO E NUMÉRICO.
- Credor: Formato - NOME DO CREDOR, Tipo - TEXTO.
- Intervalo de Data: Formato - DD/MM/AAAA a DD/MM/AAAA, Tipo - DATA.
Com a confirmação da consulta, o sistema exibe uma lista de ordens bancárias, com os dados (RN01):
- Documento: Formato - 999, Tipo - NUMÉRICO.
- Credor: Formato - CREDOR da ORDEM BANCÁRIA, Tipo - TEXTO.
- Data: Formato - DD/MM/AAAA, Tipo - DATA.
- Processo: Formato - 99999.999999/9999-99, Tipo - NUMÉRICO.
- Status: Formato - STATUS DA ORDEM BANCÁRIA, Tipo - TEXTO.
- Valor (R$): Formato 9,99 - Tipo - NUMÉRICO.
- O Sistema apresenta opção para visualizar os dados da ordem bancária. Esta opção exibe os dados:
- Ordem Bancária: Formato - 9…/AAAA, Tipo - NUMÉRICO.
- Documento: Formato - 9/9999, Tipo - NUMÉRICO.
- Credor: Formato - CREDOR da ORDEM BANCÁRIA, Tipo - TEXTO.
- Data: Formato - DD/MM/AAAA, Tipo - DATA.
- Status: Formato - STATUS DA ORDEM BANCÁRIA, Tipo - TEXTO.
- Ordem Bancária (cancelamento): Formato - 9…/AAAA, Tipo - NUMÉRICO. (RN02)
- Valor (R$): Tipo - NUMÉRICO.
- Observações: Tipo - TEXTO.
O Caso de Uso é finalizado.
Principais Regras de Negócio
- RN01 - Não são apresentadas ordens bancárias com registro de estorno.
- RN02 - Só é exibida quando o status da ordem bancária for CANCELADA ou DE CANCELAMENTO. Quando o status for CANCELADA, a informação exibida é a do documento que cancelou a ordem bancária. Quando o status for DE CANCELAMENTO, a informação exibida é a do documento que foi cancelado pela ordem bancária.
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela | |
---|---|---|
br.ufrn.sipac.orcamento.movimentacoes.dominio.OrdemBancaria | administrativo.sco.ordem_bancaria | |
br.ufrn.sipac.orcamento.movimentacoes.dominio.Lancamento | administrativo.sco.lancamento | |
br.ufrn.sipac.orcamento.movimentacoes.dominio.Empenho | administrativo.sco.empenho | |
br.ufrn.sipac.orcamento.movimentacoes.dominio.OrdemBancariaLancamento | administrativo.sco.ordem_bancaria_lancamento |
Plano de Teste
Sistema: SIPAC
Módulo: Orçamento
Link(s): Orçamento → Consultas → Empenho → Pagamento → Ordem Bancária
Usuário:
- falves (executor_orcamento_global)
- suzana_macedo (executor_orcamento),
- raiula (executor_convenio)
Papel que usuário deve ter: ScoPapeis.EXECUTOR_ORCAMENTO, ScoPapeis.EXECUTOR_ORCAMENTO_GLOBAL,ScoPapeis.EXECUTOR_CONVENIO
Cenários de Teste
- Cadastrar Ordem Bancária através do caso de uso SCO → Movimentações → Empenho → Liquidação/Pagamento → Registrar Ordem Bancária e verificar se estão sendo exibidas na consulta.
Dados para o Teste
Pesquisar as ordens bancárias:
SELECT ob.id_ordem_bancaria, ob.numero, ob.ano, ob.data, ob.valor, p.num_protocolo, p.ano AS ano_protocolo, s.nome FROM sco.ordem_bancaria ob LEFT OUTER JOIN sco.ordem_bancaria_lancamento obl ON (ob.id_ordem_bancaria = obl.id_ordem_bancaria) JOIN sco.lancamento l ON (obl.id_lancamento = l.id_lancamento) JOIN sco.sub_empenho se ON (l.id_sub_empenho = se.id_sub_empenho) JOIN sco.empenho e ON (se.id_empenho = e.id_empenho) JOIN comum.pessoa c ON (e.id_credor = c.id_pessoa) JOIN sco.status_ordem_bancaria s ON (ob.id_status = s.id_status_ordem_bancaria) LEFT JOIN protocolo.processo p ON (ob.id_processo = p.id_processo) WHERE ob.id_registro_estorno IS NULL AND e.id_registro_estorno IS NULL AND obl.id_registro_estorno IS NULL AND l.id_registro_estorno IS NULL AND se.id_registro_estorno IS NULL AND ob.ativo = trueValue() AND ob.id_unidade_gestora = ? AND ob.data BETWEEN ? AND ? UNION SELECT ob.id_ordem_bancaria, ob.numero, ob.ano, ob.data, ob.valor, p.num_protocolo, p.ano AS ano_protocolo, s.nome FROM sco.ordem_bancaria ob LEFT OUTER JOIN sco.ordem_bancaria_lancamento obl ON (ob.id_ordem_bancaria = obl.id_ordem_bancaria) JOIN sco.lancamento l ON (obl.id_lancamento = l.id_lancamento) JOIN sco.empenho e ON (l.id_empenho = e.id_empenho) JOIN comum.pessoa c ON (e.id_credor = c.id_pessoa) JOIN sco.status_ordem_bancaria s ON (ob.id_status = s.id_status_ordem_bancaria) LEFT JOIN protocolo.processo p ON (ob.id_processo = p.id_processo) WHERE ob.id_registro_estorno IS NULL AND e.id_registro_estorno IS NULL AND obl.id_registro_estorno IS NULL AND l.id_registro_estorno IS NULL AND ob.ativo = trueValue() AND ob.id_unidade_gestora = ? AND ob.data BETWEEN ? AND ? ORDER BY DATA LIMIT 10