Tabela de conteúdos

~~ODT~~

Anulações Pendentes de Registro

Este caso de uso tem a finalidade de identificar Anulações de Empenhos Pendentes de Registro no SIAFI mas que ainda não foram lançados no SIPAC. Contudo, para cada um destas anulações é possível efetuar o seu registro.

Envolvidos: Departamento de Contabilidade e Finanças (DCF) para a administração central e os Setores de Execução Orçamentária nos âmbitos dos centros.

Pré-condições:

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 → Integração SIAFI → Anulações Pendentes de Registro.

O sistema exibe opção de consulta:

PASSO 1

O sistema lista todos as anulações pendentes de registro no SIPAC com os campos descritos abaixo:

PASSO 2

Os procedimentos são realizados no caso de uso Anular Empenho:

Ao selecionar a Anulação pendente (Passo 1), o sistema exibe automaticamente os dados da anulação e solicita a confirmação do usuário para a importação do registro.

O caso de uso é finalizado.

Principais Regras de Negócio

Não se aplica.

Resoluções/Legislações Associadas

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.sipac.siafi.dominio.AnulacaoEmpenhoSIAFIadministrativo.siafi.anulacao_empenho

Plano de Teste

Sistema: SIPAC

Módulo: Orçamento

Link(s): Movimentações → Empenho → Integração SIAFI → Anulações Pendentes de Registro.

Usuário: larrubia2, seocchla01

Papel que usuário deve ter: ScoPapeis.EXECUTOR_ORCAMENTO_GLOBAL, ScoPapeis.EXECUTOR_ORCAMENTO

Cenários de Teste

Acessar o caso de uso e selecionar uma anulação para ser direcionado para a Anulação do Empenho selecionada, ou ser direcionado para a página de consolidação, caso a anulação já se encontre no SCO.

Verificar se o registro de anulação está sendo exibido em consultas → Empenho → Anulação de Empenho.

Dados para o Teste

Caso o link do caso de uso não apareça será necessário alterar o ano orçamentário ou então realizar a importação das anulações através da aba de Integração SIAFI → Leitura de Arquivos do SIAFI com os arquivos que foram baixados do SIAFI.

Consulta padrão assim que o caso de uso é acessado:

SELECT ae.id_anulacao,
       ae.cod_associado,
       ae.ano_associado,
       ae.cod_anulacao,
       ae.ano,
       ae.data_transacao,
       ev.id_evento AS idEvento,
       ev.codigo AS codEvento,
       ev.descricao AS descricaoEvento,
       ae.observacoes,
       ae.tipo,
       ae.id_celula_orcamentaria,
       ae.valor,
       ae.id_unidade_gestora,
       ae.tentativas_consolidacao,
       ae.data_migracao,
       ae.id_importacao,
       ae.migrado,
       ae.cod_unidade_gestora,
       ae.cod_unidade_gestao,
       ug.nome,
       e.id_empenho,
       e.valor AS valorEmpenho,
       e.saldo,
       e.id_unidade_gestora AS idUnidadeEmpenho,
       credor.nome AS credorNome,
       credor.cpf_cnpj,
       credor.tipo AS credorTipo,
       COUNT(*) AS COUNT
FROM siafi.anulacao_empenho ae
LEFT JOIN siafi.evento ev ON ((ae.id_evento = ev.id_evento)
                              AND ev.id_classificacao_evento_siafi = 2)
LEFT JOIN sco.empenho e ON (ae.cod_associado = e.cod_empenho
                            AND ae.ano_associado = e.ano
                            AND e.id_registro_estorno IS NULL
                            AND ae.id_unidade_gestora = e.id_unidade_gestora)
LEFT OUTER JOIN sco.sub_empenho se ON (e.id_empenho = se.id_empenho
                                       AND se.id_registro_estorno IS NULL)
JOIN comum.unidade ug ON ae.id_unidade_gestora = ug.id_unidade
LEFT OUTER JOIN comum.pessoa credor ON (e.id_credor = credor.id_pessoa)
WHERE ae.data_consolidacao IS NULL
  AND ae.ano = 2016
GROUP BY ae.id_anulacao,
         ae.cod_associado,
         ae.ano_associado,
         ae.cod_anulacao,
         ae.ano,
         ae.data_transacao,
         ev.id_evento,
         ev.codigo,
         ev.descricao,
         ae.observacoes,
         ae.tipo,
         ae.id_celula_orcamentaria,
         ae.valor,
         ae.id_unidade_gestora,
         ae.tentativas_consolidacao,
         ae.data_migracao,
         ae.id_importacao,
         ae.migrado,
         ae.cod_unidade_gestora,
         ae.cod_unidade_gestao,
         ug.nome,
         e.id_empenho,
         e.valor,
         e.saldo,
         e.id_unidade_gestora,
         e.ano,
         credor.nome,
         credor.cpf_cnpj,
         credor.tipo
ORDER BY ae.cod_anulacao;
Consulta por unidade gestora e período de transação:

SELECT ae.id_anulacao,
       ae.cod_associado,
       ae.ano_associado,
       ae.cod_anulacao,
       ae.ano,
       ae.data_transacao,
       ev.id_evento AS idEvento,
       ev.codigo AS codEvento,
       ev.descricao AS descricaoEvento,
       ae.observacoes,
       ae.tipo,
       ae.id_celula_orcamentaria,
       ae.valor,
       ae.id_unidade_gestora,
       ae.tentativas_consolidacao,
       ae.data_migracao,
       ae.id_importacao,
       ae.migrado,
       ae.cod_unidade_gestora,
       ae.cod_unidade_gestao,
       ug.nome,
       e.id_empenho,
       e.valor AS valorEmpenho,
       e.saldo,
       e.id_unidade_gestora AS idUnidadeEmpenho,
       credor.nome AS credorNome,
       credor.cpf_cnpj,
       credor.tipo AS credorTipo,
       COUNT(*) AS COUNT
FROM siafi.anulacao_empenho ae
LEFT JOIN siafi.evento ev ON ((ae.id_evento = ev.id_evento)
                              AND ev.id_classificacao_evento_siafi = 2)
LEFT JOIN sco.empenho e ON (ae.cod_associado = e.cod_empenho
                            AND ae.ano_associado = e.ano
                            AND e.id_registro_estorno IS NULL
                            AND ae.id_unidade_gestora = e.id_unidade_gestora)
LEFT OUTER JOIN sco.sub_empenho se ON (e.id_empenho = se.id_empenho
                                       AND se.id_registro_estorno IS NULL)
JOIN comum.unidade ug ON ae.id_unidade_gestora = ug.id_unidade
LEFT OUTER JOIN comum.pessoa credor ON (e.id_credor = credor.id_pessoa)
WHERE ae.data_consolidacao IS NULL
  AND ae.id_unidade_gestora IN (2)
  AND ae.ano = 2016
  AND ae.data_transacao BETWEEN 'Thu Sep 01 00:00:00 BRT 2016' AND 'Thu Sep 29 23:59:59 BRT 2016'
GROUP BY ae.id_anulacao,
         ae.cod_associado,
         ae.ano_associado,
         ae.cod_anulacao,
         ae.ano,
         ae.data_transacao,
         ev.id_evento,
         ev.codigo,
         ev.descricao,
         ae.observacoes,
         ae.tipo,
         ae.id_celula_orcamentaria,
         ae.valor,
         ae.id_unidade_gestora,
         ae.tentativas_consolidacao,
         ae.data_migracao,
         ae.id_importacao,
         ae.migrado,
         ae.cod_unidade_gestora,
         ae.cod_unidade_gestao,
         ug.nome,
         e.id_empenho,
         e.valor,
         e.saldo,
         e.id_unidade_gestora,
         e.ano,
         credor.nome,
         credor.cpf_cnpj,
         credor.tipo
ORDER BY ae.cod_anulacao;