~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Liquidar Empenho ====== Esta operação é utilizada pelos gestores do orçamento das unidades. Liquidar um empenho é a mesma coisa que zerar os saldos dos sub-empenhos. Este caso de uso tem como finalidade controlar os saldos dos empenhos e sub empenhos. Para maiores informações sobre empenhos, vide o [[desenvolvimento:especificacoes:sipac:orcamentario:negocio|Documento de Negócio do Sistema de Controle Orçamentário]]. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Orçamento → Aba Movimentações → Empenho → Liquidação Pagamento -> Liquidar Empenho. O caso de uso inicia com a escolha entre os tipos de empenho a serem liquidados: * Vinculado a requisições * Outros ===Fluxo 1 : Vinculado a requisições === ([[#principais_regras_de_negócio|RN06]]) ([[#principais_regras_de_negócio|RN20]]) == Passo 1== É necessário no primeiro passo informar: * **Ano Orçamentário:** Tipo - TEXTO. O sistema preenche esta informação automaticamente. * **Gestora:** Tipo - TEXTO. O sistema preenche esta informação automaticamente. * **Número da requisição associada ao empenho:** Tipo - NUMÉRICO. * **Ano:** Tipo - NUMÉRICO. * **Tipo:** Tipo - TEXTO. == Passo 2== O sistema exibe então os dados da requisição como: * **__Número/Ano__:** Formato - 9.../AAAA. Tipo - TEXTO. * **__Unidade de Custo__:** Formato - () Tipo - TEXTO. * **__Unidade Requisitante__:** Formato - () Tipo - TEXTO. * **__Valor__:** Tipo NUMÉRICO. * **__Valor Empenhado__:** Tipo NUMÉRICO. * **__Valor Contigenciado__:** Tipo NUMÉRICO. E então o usuário informa o **número do documento do empenho**. == Passo 3== O sistema exibe então os seguintes dados do empenho: * **__Empenho__:** Formato - 9.../AAAA. Tipo - TEXTO. * **__Gestora__:** Formato - () Tipo - TEXTO. * **__Data__:** Tipo - DATA. * **__Processo__:** Formato - 99999.999999/AAAA-99. Tipo - TEXTO. * **__Programa de Trabalho Resumido__:** Tipo - TEXTO. * **__Natureza de Despesa__:** Tipo - TEXTO. * **__Fonte de Recurso__:** Tipo - TEXTO. * **__Esfera__:** Tipo - TEXTO. * **__Plano Interno__:** Tipo - TEXTO. * **__Modalidade__:** Tipo - TEXTO. * **__Credor__:** Tipo - TEXTO. * **__Observações__:** * **__Total do Empenho__:** Tipo - NUMÉRICO. * **__Saldo do Empenho__:** Tipo - NUMÉRICO. * **__Valor Anulado__:** Tipo - NUMÉRICO. * **__Valor Reforçado__:** Tipo - NUMÉRICO. * **__Valor Cancelado__:** Tipo - NUMÉRICO. * **__Registrado por__:** Formato - () Tipo - TEXTO. Exibe os seguintes dados dos Centros de Custos * **__Centro de Custo__:** Formato - () Tipo - TEXTO. * **__Valor__:** Tipo - NUMÉRICO. * **__Saldo__:** Tipo - NUMÉRICO. Existe a opção de //Visualizar todas as liquidações já realizadas para este empenho// e então solicitará os dados da liquidação do empenho. Primeiramente exibe: * **__Número/Ano e Tipo da Requisição__:** Formato - 9.../AAAA . Tipo - TEXTO. * **__Valor da Requisição__:** Tipo - NUMÉRICO. * **__Valor Contigenciado__:** Tipo - NUMÉRICO. e então solicita: * **Modalidade**: Tipo - TEXTO. Opção: 'PROCESSO' ou 'DEVOLUÇÃO'. ([[#principais_regras_de_negócio|RN02]]) * **Processo de Outra Instituição?**: Tipo - LÓGICO. Pode ser 'SIM' ou 'NÃO'. ([[#principais_regras_de_negócio|RN11, RN14, RN15 e RN17]]) * **Processo:** TIPO - NUMÉRICO, FORMATO - 99999.999999/AAAA-99, Entrada de Dados: (radical.número/ano-dv) ([[#principais_regras_de_negócio|RN12, RN13, RN16]]) * **Favorecido:** Tipo AUTOCOMPLETE, formato: , Entrada de dados: NOME, CPNJ ou CPF. * **Categoria de Despesa:** Tipo - TEXTO. ([[#principais_regras_de_negócio|RN05]]) * **Data:** Tipo - DATA. * **Valor:** Tipo NUMÉRICO. ([[#principais_regras_de_negócio|RN03]]) * **Número da Ordem Bancária:** Tipo - NUMÉRICO. * **Data da Ordem Bancária:** Tipo - DATA. * **Observações:** Tipo - TEXTO. == Passo 4== Ao informar um processo associado a tributos, estes serão listados, podendo o usuário informar o valor que será tributado para a liquidação. Caso o processo não tenha tributos associados, poderá ser selecionado a opção "Esta liquidação possui recolhimento de tributos?", sendo necessário informar os seguintes campos: * **Tipo do Tributo:** Tipo - TEXTO. Opção: 'DAR', 'DARF' ou 'GPS'; * **Número:** Tipo - NUMÉRICO. * **Ano:** Tipo - NUMÉRICO. * **Data:** Tipo - DATA. * **Valor Pago na Liquidação:** Tipo - NUMÉRICO. * **Observações:** Tipo - NUMÉRICO. Após adicionar as informações serão exibidas em lista da seguinte maneira: ([[#principais_regras_de_negócio|RN19]]) * **Número/Ano:** Tipo - TEXTO. * **Tipo do Atributo:** Tipo - TEXTO. * **Data do Tributo:** Tipo - DATA. * **Valor do Tributo(R$):** Tipo - NUMÉRICO. * **Valor já Tributado(R$):** Tipo - NUMÉRICO. * **Valor a Tributar(R$):** Tipo - NUMÉRICO. == Passo 5== O sistema exibe as seguintes informações no formato de comprovante: * **Número do Empenho:** Formato - 9.../AAAA. Tipo - TEXTO. * **PTRES:** Tipo - TEXTO. * **Natureza de Despesa:** Tipo - TEXTO. * **Fonte de Recurso:** Tipo - TEXTO. * **Esfera:** Tipo - TEXTO. * **Modalidade:** Tipo - TEXTO. * **Número do Processo:** Formato - 99999.999999/AAAA-99. Tipo - TEXTO. * **Favorecido:** Formato: . Tipo - TEXTO. * **Data:** Tipo - DATA. * **Valor:** Tipo - NUMÉRICO. Logo abaixo caso tenha sido informado as informações da ordem bancária, estas serão exibidas da seguinte maneira: * **Número da Ordem Bancária / Ano da Ordem Bancária:** Formato - 9.../AAAA. Tipo - NUMÉRICO. * **Processo:** FORMATO - 99999.999999/AAAA-99. Tipo - TEXTO. * **Data:** Tipo - DATA. * **Status da Ordem Bancária:** Tipo - TEXTO. * **Valor Pago pela Ordem Bancária:**Formato - 99,99, Tipo NUMÉRICO. * **Natureza de Despesa:** Tipo - TEXTO. * Existe a possibilidade de imprimir este comprovante, clicando em //**Imprimir **// ===Fluxo 2 : Outros=== O Usuário informa o **Número do Empenho** ([[#principais_regras_de_negócio|RN04, RN07, RN08, RN09, RN10]]). O caso de uso a mesmo fluxo do //**passo 3**// do //**fluxo 1**//. O caso de uso é encerrado. ===== Principais Regras de Negócio ===== * **RN01** - Caso a opção Processo de Outra Instituição seja selecionada, o processo não será validado, ou seja, não irá verificar se está cadastrado na base do Protocolo e as serão buscadas apenas as ordens bancárias que tenham processos de outras instituições; * **RN02** - Caso a modalidade de Liquidação de empenho escolhida seja de processo, o saldo do empenho será dimuido assim como o saldo do sub empenho da unidade interessada. Caso seja escolhida a modalidade de liquidação de devolução os saldos serão somados. * **RN03** - O valor da liquidação obrigatoriamente deve ser maior que zero. * **RN04** - O empenho não pode ter sido anulado. * **RN05** - VALOR DA LIQUIDAÇÃO: * O valor da liquidação não pode ultrapassar o valor do saldo do empenho. * O valor da liquidação não pode ultrapassar o valor do saldo do sub empenho da unidade interessada. * **RN06** - Caso seja escolhida a opção de realizar a liquidação de empenho associado a uma requisição, esta operação só poderá ser realizada sobre empenhos estimativos/globais. * **RN07** - O empenho deve possuir saldo maior que zero. * **RN08** - Os sub empenhos do empenho selecionado devem possuir a mesma natureza de despesa da requisição. * **RN09** - Para realizar uma liquidação para uma unidade debitada é necessário que exista no empenho um sub empenho para a unidade central de empenho. * **RN10** - Caso um empenho seja ordinário, só poderá ser liquidado totalmente. Não é possível fazer uma liquidação parcial sobre o mesmo. * **RN11** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja false, o campo **Processo de Outra Instituição?** não será exibido. * **RN12** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja true, ao informar o **Processo**, o sistema irá verificar a base dos processos. * **RN13** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja false, ao informar o **Processo**, o sistema não irá considerar a base dos processos. * **RN14** - Caso o campo **Processo de Outra Instituição?** seja 'NÃO' e o processo contenha ordens bancárias associadas ao processo, estas serão exibidas após o campo **observação**. * **RN15** - Caso o campo **Processo de Outra Instituição?** seja 'NÃO' e o processo não contenha ordens bancárias associadas ao processo, será solicitado após o campo **observação** as informações de //**Número da Ordem Bancária**// e a //**Data da Ordem Bancária**// * **RN16** - 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. * **RN17** - 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). * **RN18** - A requisição informada não pode está associada a outras liquidações do(s) empenho. (Adicionado em 13/07/2011 referente a tarefa 66587) * **RN19** - A soma dos Tributos mais a Ordem Bancária não pode ser superior ao valor da Liquidação; * **RN20** - Caso seja uma requisição de solicitação de materia em um registro de preço, e o processo associado a esta requisição possua pelo menos 1 item com o status cancelado ou pendente, não será possível realizar a liquidação. * **RN21** - O valor da liquidação só pode ser maior que o valor da requisição quando a requisição for de diárias. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.orcamento.movimentacoes.dominio.Lancamento | administrativo.sco.lancamento | | br.ufrn.sipac.orcamento.movimentacoes.dominio.OrdemBancaria | administrativo.sco.ordem_bancaria | | br.ufrn.sipac.orcamento.movimentacoes.dominio.Empenho | administrativo.sco.empenho | | br.ufrn.sipac.orcamento.movimentacoes.dominio.OrdemBancariaLancamento | administrativo.sco.ordem_bancaria_lancamento | | br.ufrn.sipac.orcamento.movimentacoes.dominio.SubEmpenho | administrativo.sco.sub_empenho | | br.ufrn.sipac.orcamento.movimentacoes.dominio.Tributo | administrativo.sco.tributo | | br.ufrn.sipac.orcamento.movimentacoes.dominio.TributoLancamento | administrativo.sco.tributo_lancamento | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Orçamento Link(s): Aba Movimentações → Empenho → Liquidação/Pagamento → Liquidar Empenho 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 ===== * Realizar a liquidação para unidade pagadora e que o sub empenho da unidade central de empenho possua um ou mais reforços, verificando a consistência dos saldos das células orçamentárias. Para Verificar os dados das células orçamentárias utilizar o relatório Menu SCO -> Relatórios -> Saldos -> Saldo Orçamentário por Unidade. ===== Dados para o Teste ===== * Para obtermos os dados necessários para a realização do teste desse caso de uso devemos buscar esse dados em SCO -> Consultas -> Empenho -> Empenho. Devem ser utilizados apenas empenhos que não estejam finalizados. * Para obter os dados para requisições consulte SCO > Relatórios > Requisições/Documentos de Resumo para Empenhos > Requisições Empenhadas * Consulta que exibe os os empenhos estimativos e globais não anulados que possuem requisições associados e que não foram liquidados totalmente: select distinct cod_empenho, subreq.id_requisicao, subreq.tipo_requisicao from sco.empenho e join sco.sub_empenho sub using (id_empenho) join sco.sub_empenho_requisicao subreq on (subreq.id_sub_empenho = sub.id_sub_empenho) join sco.lancamento l on (sub.id_sub_empenho = l.id_sub_empenho) where e.ano = :ano and e.id_unidade_gestora = :gestora and e.anulado = false and e.saldo > 0 * Para obter os dados da requisição para dar inicio ao fluxo quando escolhida a opção **Vinculado a requisições**, o testador deve ir ao caso de uso: * SIPAC > Orçamento > Requisições > requisições > Consultar Requisição, onde o status da requisição seja **enviada**. * Consulta que exibe os empenhos ordinários não anulados que possuem requisições associados e que não foram liquidados totalmente: select distinct cod_empenho from sco.empenho e join sco.sub_empenho sub using (id_empenho) join sco.sub_empenho_requisicao subreq on (subreq.id_sub_empenho = sub.id_sub_empenho) join sco.lancamento l on (e.id_empenho = l.id_empenho) where e.ano = :ano and e.id_unidade_gestora = :gestora and e.anulado = false and e.saldo > 0 Onde ano é o :ano do empenho e :gestora é a unidade gestora do empenho. Consulta que traz as unidades gestoras select * from unidade where categoria = 1 and tipo = 2