~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
======Consultar Empenho ====== O empenho é o primeiro estágio da despesa e pode ser conceituado como sendo o ato emanado de autoridade competente que cria para o Estado a obrigação de pagamento, pendente ou não, de implemento de condição. Outros detalhes são descritos no [[desenvolvimento:especificacoes:sipac:orcamentario:negocio|documento de Negócio Orçamentário]]. Este caso de uso permite que os gestores ou auditores da instituição façam consultas de empenhos com o objetivo de visualizar todos os seus detalhes. Pré-condição: O empenho deve ter sido cadastrado no sistema. ===== Descrição do Caso de Uso ===== O caso de uso é acessado através do caminho: //SIPAC → Orçamento → Consultas → Empenho -> Empenho//. ===Passo 1=== Para efetuar a consulta do empenho, o usuário informa os dados apresentados abaixo (pelo menos um parâmetro deve ser preenchido). Os mesmos são selecionados conforme desejado: * **Número do Empenho**: formato - 9..., Tipo - NUMÉRICO. ([[#principais_regras_de_negócio|RN01 e RN02]]). * **Credor**: Formato - NOME DO CREDOR, entrada de dados: NOME ou DOCUMENTO DO CREDOR , Tipo - AUTOCOMPLETE. ([[#Principais Regras de Negócio|RN03]]) * **Centro de Custo**: Formato - NOME CENTRO (CÓDIGO), entrada de dados: NOME ou CÓDIGO, Tipo - AUTOCOMPLETE. * **Processo**: * Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja //true//: TIPO - NUMÉRICO, FORMATO - 99999.999999/9999-99, Entrada de Dados: (radical.número/ano-dv) * Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja //false//: TIPO - TEXTO, FORMATO - 99999.999999/AAAA-99. Entrada de Dados: (radical.número/ano-dv) * **Intervalo de Data**: Formato - DD/MM/AAAA a DD/MM/AAAA, Tipo - DATA. * **Intervalo de Valores**: Tipo - NUMÉRICO. *Ao informar o Credor na pesquisa, serão consultados todos os empenhos que possuam este credor. Se forem apresentados mais de um empenho é exibido a lista com os dados ([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:consultas:empenho:empenho#Principais Regras de Negócio|RN04]], [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:consultas:empenho:empenho#Principais Regras de Negócio|RN05]]): ***__Documento__**: Tipo - NUMÉRICO. ***__Modalidade__**: Tipo - TEXTO. As modalidades apresentadas são: ''ESTIMATIVO'', ''ORDINÁRIO'' ou ''GLOBAL''. ***__Data__**: Formato: DD/MM/AAAA, Tipo - DATA. ***__Credor__**: Formato - DOCUMENTO - NOME CREDOR, Tipo - TEXTO. ***__Processo__**: Formato - 9.../AAAA, Tipo - NUMÉRICO. ***__Valor__**: Tipo - NUMÉRICO. * Para cada empenho listado, os //Detalhes do Empenho// podem ser visualizados. Sendo informado apenas o Número do Empenho na pesquisa, o sistema apresenta os **Detalhes do Empenho** com os dados abaixo: ===Passo 2 === O sistema exibe os dados do empenho: ***__Empenho__**: Formato - 9.../AAAA, Tipo - NUMÉRICO. ***__Gestora__**: formato: NOME GESTORA (CÓDIGO), Tipo - TEXTO. ***__Data__**: Formato - DD/MM/AAAA, Tipo - DATA. ***__Processo__**: Formato - 9.../AAAA, Tipo - NUMÉRICO. ***__Prog. de Trabalho Resum__.**: Formato - NOME PROGRAMA (CÓDIGO), Tipo - TEXTO. ***__Natureza da Despesa__**: Formato - NOME NATUREZA (CÓDIGO), Tipo - TEXTO. ***__Fonte de Recurso__**: Formato - NOME FONTE (CÓDIGO), Tipo - TEXTO. ***__Esfera__**: Formato - NOME ESFERA (CÓDIGO), Tipo - TEXTO. ***__Plano Interno__**: formato: NOME PLANO INTERNO (CÓDIGO), Tipo TEXTO. ***__Modalidade__**: Tipo - TEXTO. As modalidades apresentadas são: ''ESTIMATIVO'', ''ORDINÁRIO'' ou ''GLOBAL''. ***__Licitação__**: Tipo - NUMÉRICO. ***__Credor__**: Formato - NOME CREDOR, Tipo TEXTO. ***__Total do empenho__**: Tipo NUMÉRICO. ***__Saldo do Empenho__**: Tipo NUMÉRICO. ***__Registrado por__**: Tipo TEXTO, formato: NOME USUÁRIO (LOGIN). *Sistema apresenta opção para visualizar detalhes do usuário que efetuou o registro, exibindo as informações: ***__Login__**: Tipo - TEXTO. ***__Nome__**: Tipo - TEXTO. ***__Unidade__**: Tipo - TEXTO. ***__Email__**: Tipo - TEXTO. ***__Telefone__**: Tipo - NUMÉRICO. ***__Ramal__**: Tipo - NUMÉRICO. *Sistema apresenta lista dos Centros de Custo, com os dados: * **__Centro de Custo__**: Tipo TEXTO, formato: NOME DA UNIDADE (CÓDIGO). Observa-se que o //**Centro de Custo**// corresponde a Unidade Gestora da instituição. * **__Valor__**: Tipo - NUMÉRICO. * **__Saldo__**: Tipo - NUMÉRICO. * **__Detalhamento por Sub-Item__**: Tipo - TEXTO. * **__Valor__**: Tipo NUMÉRICO. ***__Total do Valor e Saldo__**: Tipo - NUMÉRICO. O sistema exibe as transferências orçamentárias associadas * **Documento**: Tipo - NUMÉRICO. * **Tipo**: Tipo - TEXTO. * **Célula Origem**: Tipo - TEXTO. * **Célula Destino**: Tipo - TEXTO. * **Valor**: Tipo - NUMÉRICO. ===Passo 3 (Visualização de detalhamento)=== O sistema exibe os dados abaixo, caso usuário selecione a opção ver //detalhes do empenho//. São exibidos os dados do passo 2 sem o //Detalhamento por Sub-Item// e sem as transferências associadas. *São exibidos os dados do cancelamento do empenho se existir: * **__Documento__**: Formato 9..., Tipo - NUMÉRICO. * Opção para visualizar detalhes do cancelamento do Empenho: * __**Número do cancelamento do empenho**__: Tipo - NUMÉRICO. * __**Empenho**__: Formato - NÚMERO/AAAA, Tipo - NUMÉRICO. * __**Unidade**__: Tipo - TEXTO. * __**Código da Célula Orçamentária**__: Tipo - NUMÉRICO. * __**Tipo**__: Tipo - TEXTO. Exemplo: Cancelamento Parcial do Empenho. * __**Tipo do Evento**__: Tipo - TEXTO. Exemplo: Cancelamento de Empenho. * __**Valor (R$)**__: Tipo - NUMÉRICO. * __**Arquivo Anexo**__: Tipo - TEXTO. * __**Observações**__: Tipo - TEXTO. * __**Movimentador**__: Formato - NOME COMPLETO DO MOVIMENTADOR (CÓDIGO) (USUARIO DO MOVIMENTADOR), Tipo - TEXTO e NUMÉRICO para CÓDIGO. *Dados do movimentador: ***__Login__**: Tipo - TEXTO. ***__Nome__**: Tipo - TEXTO. ***__Unidade__**: Tipo - TEXTO. ***__Email__**: Tipo - TEXTO. ***__Telefone__**: Tipo - NUMÉRICO. ***__Ramal__**: Tipo - NUMÉRICO. ***__Tipo do Evento__**: Tipo - TEXTO. Um exemplo do tipo de evento seria a **Anulação de Empenho**. ***__Data__**: Formato - DD/MM/AAAA, Tipo DATA. ***__Célula__**: Tipo - NUMÉRICO. ***__Unidade__**: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO. ***__Valor__** (R$): Tipo - NUMÉRICO. *Os Lançamentos são exibidos (caso existam). São exibidos os dados: * **__Unidade__**: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO. * **__Data__**: Formato - DD/MM/AAAA, Tipo DATA. * **__Tipo__**: Tipo - TEXTO. * **__Processo__**: Formato - 9…/AAAA, Tipo - NUMÉRICO e DATA. * **__Valor__**: Tipo NUMÉRICO. * **__Ordem bancária__**: Tipo NUMÉRICO. * **__Data da Ordem bancária__**: Formato - DD/MM/AAAA, Tipo DATA. *São apresentados os dados da Anulação do Empenho, caso exista anulação: * **__Documento__**: Formato 9..., Tipo - NUMÉRICO. * Opção para visualizar detalhes da Anulação do Empenho: * **__Número da anulação do empenho__**: Formato 9..., Tipo - NUMÉRICO. O sistema exibe opção para Gestor visualizar //**Detalhes do Empenho**//. * **__Unidade__**: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO. * **__Código da Célula Orçamentária__**: Formato 9..., Tipo - NUMÉRICO. * **__Tipo do Evento__**: Tipo - TEXTO. Um exemplo do tipo de evento seria a Anulação de Empenho. * **__Valor (R$)__**: Tipo - NUMÉRICO. * **__Observações__**: Tipo - TEXTO. * __**Movimentador**__: Formato - NOME COMPLETO DO MOVIMENTADOR (CÓDIGO) (USUARIO DO MOVIMENTADOR), Tipo - TEXTO e NUMÉRICO para CÓDIGO. *Dados do movimentador: ***__Login__**: Tipo - TEXTO. ***__Nome__**: Tipo - TEXTO. ***__Unidade__**: Tipo - TEXTO. ***__Email__**: Tipo - TEXTO. ***__Telefone__**: Tipo - NUMÉRICO. ***__Ramal__**: Tipo - NUMÉRICO. * **__Tipo__**: Tipo - TEXTO. Exemplo: ANULAÇÃO PARCIAL DO EMPENHO. * **__Data__**: Formato - DD/MM/AAAA, Tipo - DATA. * **__Célula__**: Formato 9..., Tipo - NUMÉRICO. * **__Unidade__**: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO. * **__Valor (R$)__**: Tipo - NUMÉRICO. * **__Total__**: Tipo - NUMÉRICO. Corresponde a soma do campo valor (R$). *São apresentados os Reforços de Empenho, caso exista resultados: * **__Documento__**: Formato 9..., Tipo - NUMÉRICO. * Opção para visualizar detalhes do Reforço do Empenho: * __**Número do reforço do empenho**__: Tipo - NUMÉRICO. * __**Empenho**__: Formato - NÚMERO/AAAA, Tipo - NUMÉRICO. * __**Unidade**__: Tipo - TEXTO. * __**Código da Célula Orçamentária**__: Tipo - NUMÉRICO. * __**Tipo**__: Tipo - TEXTO. Exemplo: Cancelamento Parcial do Empenho. * __**Tipo do Evento**__: Tipo - TEXTO. Exemplo: Cancelamento de Empenho. * __**Valor (R$)**__: Tipo - NUMÉRICO. * __**Arquivo Anexo**__: Tipo - TEXTO. * __**Observações**__: Tipo - TEXTO. * __**Movimentador**__: Formato - NOME COMPLETO DO MOVIMENTADOR (CÓDIGO) (USUARIO DO MOVIMENTADOR), Tipo - TEXTO e NUMÉRICO para CÓDIGO. *Dados do movimentador: ***__Login__**: Tipo - TEXTO. ***__Nome__**: Tipo - TEXTO. ***__Unidade__**: Tipo - TEXTO. ***__Email__**: Tipo - TEXTO. ***__Telefone__**: Tipo - NUMÉRICO. ***__Ramal__**: Tipo - NUMÉRICO. * **__Data__**: Formato - DD/MM/AAAA, Tipo - DATA. * **__Célula__**: Formato 9..., Tipo - NUMÉRICO. * **__Unidade__**: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO. * **__Valor (R$)__**: Tipo - NUMÉRICO. * **__Total(R$):__**: Tipo - NUMÉRICO. *Sistema exibe as Liquidações Associadas, caso exista resultados: * **__Unidade__**: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO. * **__Data__**: Formato - DD/MM/AAAA, Tipo DATA. * **__Tipo__**: Tipo - TEXTO. * **__Processo__**: Formato 9.../AAAA, Tipo - NUMÉRICO. * **__Ordem Bancária__**: Tipo - NUMÉRICO. * **__Valor (R$):__**: Tipo - NUMÉRICO. * **__Total__**: Tipo - NUMÉRICO. Corresponde a soma do campo valor(R$). O Caso de Uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Ao informar o Número do Empenho, a consulta será realizada levando em consideração o ano orçamentário atual. * **RN02** - Ao informar o Número do Empenho, a consulta pelos outros campos é desabilitada, sendo possível incluir apenas o campo Processo. * **RN03** - O campo Credor pode ser pesquisado tanto pela razão social/nome como pelo CNPJ/CPF do Credor. * **RN04** - Não são apresentados empenhos com registro de estorno. * **RN05** - Todos os empenhos consultados serão da unidade gestora raiz, exemplo: UFRN (11.00). * **RN06** - Os usuários com papel de EXECUTOR_ORCAMENTO_GLOBAL, a cunsulta deve retornar os empenhos de todas as unidades independente da unidade vinculada a ele. ==== Resoluções/Legislações Associadas ==== Lei nº 4320/64 : empenho, liquidação e pagamento. ===== Classes Persistentes e Tabelas Envolvidas ===== |^ Classe ^ Tabela | |br.ufrn.sipac.orcamento.movimentacoes.dominio.Empenho | administrativo.sco.empenho | |br.ufrn.sipac.orcamento.movimentacoes.dominio.SubEmpenhoRequisicao | administrativo.sco.sub_empenho_requisicao | |br.ufrn.sipac.orcamento.movimentacoes.dominio.Transferencia | administrativo.sco.transferencia | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Orçamento Link(s): Orçamento -> Consultas -> Empenho -> Empenho. Usuário: * dinarego: EXECUTOR_CONVENIO, EXECUTOR_ESPECIAL e EXECUTOR_ORCAMENTO_GLOBAL * torres: EXECUTOR_ORCAMENTO_GLOBAL e EXECUTOR_ESPECIAL * seocchla01: EXECUTOR_ORCAMENTO e GESTOR_DOTACAO_ORCAMENTARIA * larrubia2: EXECUTOR_CONVENIO, EXECUTOR_ESPECIAL, EXECUTOR_ORCAMENTO, EXECUTOR_ORCAMENTO_GLOBAL e GESTOR_DOTACAO_ORCAMENTARIA * sandrojs: EXECUTOR_ORCAMENTO e GESTOR_DOTACAO_ORCAMENTARIA). Papel que usuário deve ter: ScoPapeis.EXECUTOR_CONVENIO, ScoPapeis.EXECUTOR_ESPECIAL, ScoPapeis.EXECUTOR_ORCAMENTO, ScoPapeis.EXECUTOR_ORCAMENTO_GLOBAL, ScoPapeis.GESTOR_DOTACAO_ORCAMENTARIA. ===== Cenários de Teste ===== Cadastrar Empenhos através do caso de uso Orçamento -> Movimentações -> Empenho -> Registrar Nota de Empenho e verificar se os mesmos estão sendo exibidos no relatório. Também pode-se realizar estorno em algum empenho, e verificar se ele não aparece neste relatório (Orçamento -> Estornos -> Estorno -> Empenho). Também testar as regras de negócio. Testar o relatório também para os casos de [[desenvolvimento:especificacoes:sipac:orcamentario:orcamento_convenio|Convênios]]. Registrar uma nota de empenho, informando um arquivo a ser anexado. Realizar a consulta desse empenho e abrir o arquivo anexado através do **Download**. ===== Dados para o Teste ===== Pesquisa os empenhos: select * from sco.empenho this_ left outer join sco.categoria_despesa categoriad2_ on this_.id_categoria_despesa=categoriad2_.id_categoria_despesa left outer join UNIDADE unidade3_ on categoriad2_.id_unidade_gestora=unidade3_.ID_UNIDADE left outer join UNIDADE unidade4_ on unidade3_.UNIDADE_RESPONSAVEL=unidade4_.ID_UNIDADE left outer join public.RESPONSAVEL_UNIDADE responsave5_ on unidade4_.ID_RESPONSAVEL=responsave5_.id left outer join RH.SERVIDOR servidor6_ on responsave5_.id_servidor=servidor6_.ID_SERVIDOR left outer join UNIDADE unidade7_ on responsave5_.id_unidade=unidade7_.ID_UNIDADE left outer join USUARIO usuario8_ on responsave5_.id_usuario=usuario8_.ID_USUARIO left outer join UNIDADE unidadeger9_ on unidade4_.ID_GESTORA_ACADEMICA=unidadeger9_.ID_UNIDADE left outer join UNIDADE unidade10_ on unidadeger9_.ID_GESTORA=unidade10_.ID_UNIDADE left outer join public.classificacao_unidade classifica11_ on unidadeger9_.ID_CLASSIFICACAO_UNIDADE=classifica11_.id_classificacao_unidade left outer join public.nivel_organizacional nivelorgan12_ on unidadeger9_.ID_NIVEL_ORGANIZACIONAL=nivelorgan12_.id_nivel_organizacional left outer join UNIDADE unidade13_ on unidade4_.ID_UNID_RESP_ORG=unidade13_.ID_UNIDADE left outer join public.TIPO_UNIDADE_ORGANIZACIONAL tipounidad14_ on unidade13_.ID_TIPO_ORGANIZACIONAL=tipounidad14_.ID_TIPO_UNIDADE_ORGANIZACIONAL left outer join public.AREA_ATUACAO_UNIDADE areaatuaca15_ on unidade13_.ID_AREA_ATUACAO=areaatuaca15_.ID_AREA_ATUACAO_UNIDADE left outer join public.AMBIENTE_ORG_UNIDADE ambienteor16_ on unidade13_.ID_AMBIENTE_ORGANIZACIONAL=ambienteor16_.ID left outer join public.classificacao_unidade classifica17_ on unidade13_.id_classificacao_unidade=classifica17_.id_classificacao_unidade left outer join PESSOA pessoa18_ on this_.id_credor=pessoa18_.ID_PESSOA left outer join rh.FORMACAO formacao19_ on pessoa18_.ID_TIPO_FORMACAO=formacao19_.ID_FORMACAO left outer join comum.banco banco20_ on pessoa18_.id_banco=banco20_.id left outer join compras.PROCESSO_COMPRA processoco21_ on this_.id_processo_compra=processoco21_.ID_PROC_COMPRA left outer join USUARIO usuario22_ on processoco21_.ID_USUARIO=usuario22_.ID_USUARIO left outer join PESSOA pessoa23_ on usuario22_.ID_PESSOA=pessoa23_.ID_PESSOA left outer join UNIDADE unidade24_ on usuario22_.ID_UNIDADE=unidade24_.ID_UNIDADE left outer join USUARIO usuario25_ on processoco21_.ID_USUARIO_ENVIO_LICITACAO=usuario25_.ID_USUARIO left outer join USUARIO usuario26_ on processoco21_.ID_USUARIO_JULGAMENTO=usuario26_.ID_USUARIO left outer join UNIDADE unidade27_ on processoco21_.ID_UNIDADE_GESTORA=unidade27_.ID_UNIDADE left outer join compras.INCISO_DL_IN incisodlin28_ on processoco21_.ID_INCISO_DL_IN=incisodlin28_.ID_INCISO left outer join compras.MODALIDADE_LICITACAO modalidade29_ on processoco21_.ID_MODALIDADE=modalidade29_.ID left outer join USUARIO usuario30_ on modalidade29_.ID_USUARIO=usuario30_.ID_USUARIO left outer join protocolo.processo processo31_ on this_.id_processo_protocolo=processo31_.id_processo left outer join protocolo.movimento movimento32_ on processo31_.id_movimento_atual=movimento32_.id_movimento left outer join protocolo.processo processo33_ on movimento32_.id_processo=processo33_.id_processo left outer join protocolo.tipoprocesso tipoproces34_ on processo33_.id_tipo_processo=tipoproces34_.idtipoprocesso left outer join UNIDADE unidade35_ on processo33_.id_unidade_origem=unidade35_.ID_UNIDADE left outer join USUARIO usuario36_ on processo33_.id_usuario=usuario36_.ID_USUARIO left outer join UNIDADE unidade37_ on movimento32_.id_unidade_destino=unidade37_.ID_UNIDADE left outer join protocolo.orgao_externo_protocolo orgaoexter38_ on movimento32_.id_unidade_externa=orgaoexter38_.id_orgao_externo_protocolo left outer join UNIDADE unidade39_ on movimento32_.id_unidade_origem=unidade39_.ID_UNIDADE left outer join USUARIO usuario40_ on movimento32_.id_usuario_destino=usuario40_.ID_USUARIO left outer join USUARIO usuario41_ on movimento32_.id_usuario_origem=usuario41_.ID_USUARIO left outer join REGISTRO_ENTRADA registroen42_ on this_.id_registro_estorno=registroen42_.ID_ENTRADA left outer join USUARIO usuario43_ on registroen42_.ID_USUARIO=usuario43_.ID_USUARIO left outer join UNIDADE unidade44_ on this_.id_unidade_gestora=unidade44_.ID_UNIDADE left outer join USUARIO usuario45_ on this_.id_usuario=usuario45_.ID_USUARIO where this_.cod_empenho=:codEmpenho and this_.ano=:anoOrcamentario and this_.id_unidade_gestora=:unidadeGestora and this_.id_registro_estorno is null Para encontrar empenhos que possuam requisições associadas, utilize o seguinte SQL: SELECT empenho.cod_empenho FROM sco.sub_empenho_requisicao sub_emp_req JOIN sco.sub_empenho sub_emp on (sub_emp.id_sub_empenho = sub_emp_req.id_sub_empenho) JOIN sco.empenho empenho on (empenho.id_empenho = sub_emp.id_empenho) WHERE empenho.ano = 2010; Para encontrar empenhos com resumos de empenhos, utilize o seguinte SQL -- Empenhos com resumo para empenhos SELECT empenho.cod_empenho FROM sco.sub_empenho sub_emp JOIN sco.empenho empenho on (empenho.id_empenho = sub_emp.id_empenho) JOIN sco.empenho_minuta_licitacao emp_min on(emp_min.id_sub_empenho = sub_emp.id_sub_empenho) WHERE empenho.ano = 2010;