~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Cadastrar Ordem Bancária ====== Uma ordem bancária destina-se ao pagamento de compromissos, bem como à liberação de recursos para fins de adiantamento e suprimento de fundos. Sendo assim indica que um pagamento foi autorizado total ou parcialmente para um fornecedor. Este caso de uso deve ser utilizado pelos reponsáveis orçamentários da unidade e tem como finalidade o lançamento das ordens bancária de uma liquidação de empenho. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: //SIPAC -> Módulo Orçamento -> Aba Movimentações -> Empenho -> Pagamento -> Registrar Ordem Bancária//. O sistema solicita os dados a seguir: * **Número***: Formato - 999999, Tipo - NUMÉRICO. * **Data***: Formato - DD/MM/AAAA, Tipo - DATA. * **Número da Lista**: Formato - 999999, Tipo - NUMÉRICO. * **Processo de outra instituição?** Formato - SIM/NÃO, Tipo - TEXTO. ([[#Principais regras de negócio|RN09]]) * **Processo***: TIPO - NUMÉRICO, FORMATO - 99999.999999/AAAA-99, Entrada de Dados: (radical.número/ano-dv); ([[#Principais regras de negócio|RN06, RN07, RN08]]) * **Status***: Tipo - TEXTO. * **Observações**: Tipo - TEXTO. Ao informar o processo, uma lista de liquidações associadas a ordem bancária. Nessa lista são exibidos: ***Todos**: Tipo LÓGICO. *__**Empenho**__: ([[#Principais regras de negócio|RN02, RN03, RN04]]) Tipo - NUMÉRICO. * __**Data**__: Tipo - DATA. * __**Observações**__: Tipo - TEXTO * __**Valor Liquidado**__: Formato - R$ 99,99. Tipo - NUMÉRICO. * __**Valor Pago por Ordens Bancárias**__: Formato - R$ 99,99. Tipo - NUMÉRICO. * **Valor Pago por Esta Ordem Bancária**: ([[#Principais regras de negócio|RN05]]) Formato - R$ 99,99. Tipo - NUMÉRICO. Para cada liquidação é possível [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:consultas:empenho:pagamento:ordem_bancaria|visualizar a ordem bancária]]. É possível indicar as liquidações a serem geradas as ordens bancárias. Um e-mail é enviado para o proposto. que apresenta os seguintes dados ([[#Principais regras de negócio|RN04]]): Assunto: Pagamento da Requisição / - REQUISIÇÃO DE DIÁRIAS Foi registrado pagamento referente à Requisição / - REQUISIÇÃO DE DIÁRIAS pela Ordem Bancária /, no valor de com a finalidade -------------------------------------------------- O caso de uso então se encerra. ===== Principais Regras de Negócio ===== * **RN01** - Ao informar que o processo é de outra instituição, o sistema não exibirá os dados do processo. Apenas buscará as liquidações associadas. * **RN02** - É necessário que o empenho que será utilizado para registrar a ordem bancária possua pelo menos uma operação de liquidação. * **RN03** - Se o empenho for de requisição e se a requisição estiver com status de EM LIQUIDACAO, o seu status será alterado para FINALIZADA. * **RN04** - Se o empenho for de requisição e se a requisição for de diárias, um e-mail será enviado para o proposto informando os dados de pagamento da ordem bancária. * **RN05** - O valor da soma das ordens bancárias da operação de liquidação do empenho não pode ultrapassar o valor da liquidação * **RN06** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja true, ao informar o **Processo**, o sistema irá verificar a base dos processos. * **RN07** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja false, ao informar o **Processo**, o sistema não irá considerar a base dos processos. * **RN08** - Quando o parâmetro UTILIZA_PROTOCOLO_SIPAC estiver configurado como //false// o campo **Processo** é solicitado de forma única utilizando uma máscara no formato 99999.999999/9999-99, ao contrário da situação que o parâmetro esteja configurado como //true//, onde o campo **Processo** é solicitado ao usuário de forma separada, sendo necessário ser informado para cada campo os dados radical, número, ano e digito verificador do processo. * **RN09** - Caso o campo **Processo de Outra Instituição?** seja 'SIM' o campo **Processo** será solicitado em apenas um campo, onde exigirá a formatação completa do número do processo. FORMATO: 99999.999999/999-99 (radical.número/ano-dv). * **RN10** - Para registrar uma ordem bancária para um processo, é necessário registrar a liquidação de despesa para o mesmo no caso de uso Detalhar Despesas em Movimentações -> Empenhos -> Detalhar Despesas ou Detalhar Despesas em Lote. * **RN11** - Uma ordem bancária não pode ser associada a mais de um processo de pagamento. (Tarefa 166965 removida em 22/10/2015) * **RN12** - O sistema deve permitir que uma ordem bancária possa pagar vários processos de pagamento diferentes. (Tarefa 166965 adicionada em 22/10/2015) ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== 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): Módulo de Orçamento -> Movimentações -> Empenho -> Pagamento -> Registrar Ordem Bancária Usuário: * larrubia2: Executor do Orçamento Global * seocchla01: Executor do Orçamento * raiula: Executor Convênio Papel que usuário deve ter: ScoPapeis.EXECUTOR_ORCAMENTO, ScoPapeis.EXECUTOR_ORCAMENTO_GLOBAL, ScoPapeis.EXECUTOR_CONVENIO ===== Cenários de Teste ===== * Cadastrar uma nova ordem bancária, informando o número, data e pesquisando um processo válido. * Consultar a ordem bancária, preenchendo o número anteriormente cadastrado. Serão exibidos os dados, conferir a inibição dos checkbox e opções de envio. * Cadastrar uma nova ordem bancária, e testar o cadastro de valores para serem pagos em um lançamento onde o Valor Pago por O.B.(s) seja igual ao Valor Liquidado. (Deve ser bloqueado). * Verificar se o valor apresentado na coluna Valor Pago por O.B.(s) corresponde a soma dos valores exibidos junto ao pop up Visualizar Ordens Bancárias (O.B.). * Cadastrar ordens bancárias que paguem completamente o valor dos lançamentos de um processo, verificando que o mesmo não fica mais acessível para o pagamento por meio de outras ordens bancárias. * Cadastrar uma ordem bancária e usá-la para pagamento de mais de um processo. Observação: O valor de OB corresponde ao valor líquido da despesa. O valor bruto da despesa deverá corresponde a tributos + ordem bancária (liquidação) * Para verificar se a operação foi realizada corretamente basta consultar a seguinte consulta SCO -> Consultas -> Empenho -> Movimentação de Liquidação de Empenho e verificar se a ordem bancária foi associada a liquidação que está sendo paga com a Ordem Bancária. === Testar Ordem Bancária Vinculada à Requisição de Diária === * Cadastrar e enviar uma [[desenvolvimento:especificacoes:sipac:requisicoes:casos_de_uso:diarias:cadastrar_requisicao|Requisição de Diária]]. * Altere o email do proposto informado no cadastro da requisição. * [[liquidar_empenho|Liquidar]] um empenho associando com a requisição cadasatrada anteriormente, tomando nota do número do processo. * Cadastrar uma nova Ordem Bancária, informando o número, data, o processo do empenho e o status SACADAS. * [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:consultas:requisicao:requisicoes|Consultar a Requisição de Diária]] e verificar se está FINALIZADA. * Verificar se foi enviado email para o proposto com os dados do pagamento pela ordem bancária. ===== Dados para o Teste ===== Select de busca de processo válidos: select l.num_processo, l.id_lancamento, l.data, l.observacoes, l.valor, e.id_empenho as idEmpenhoSub, e.cod_empenho as documentoSub, el.id_empenho as idEmpenho, el.cod_empenho as documentoEmpenho from sco.empenho e join sco.sub_empenho sub on (e.id_empenho = sub.id_empenho) join sco.lancamento l on (l.id_sub_empenho = sub.id_sub_empenho ) left join sco.empenho el on (l.id_empenho = el.id_empenho ) where l.ano_processo = :AnoProcesso and e.anulado = falseValue() Para cadastrar Liquidações de Empenhos relacionadas com processo segue o link SCO -> Movimentações -> Empenho -> [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:empenho:liquidacao:liquidar_empenho|Liquidar Empenho]] Para alterar ordens bancárias cadastradas SIPAC -> Orçamento -> Aba Movimentações -> Empenho -> Pagamento -> Ordem Bancaria -> [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:empenho:pagamento:ordem_bancaria:listar_alterar|Listar/Alterar]] Script para alterar o email de uma pessoa: UPDATE comum.pessoa SET email=:email WHERE cpf_cnpj = :cpf_cnpj