~~ODT~~
====== Reforços Pendentes de Registro ======
Este caso de uso tem a finalidade de identificar os reforços de empenhos registrados no SIAFI mas que ainda não foram lançados no SIPAC. Contudo, para cada um destes reforços é possível efetuar o seu registro (Cadastro de Reforço de Empenho).
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: existir registros de reforços de empenhos pendentes.
===== 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 -> Reforços Pendentes de Registro //.
Inicialmente é mostrado ao usuário a opção de busca a partir do seguinte campo:
* **Unidade**: Tipo - TEXTO.
* **Período**: Tipo - DATA. Formato - DD/MM/AAAA a DD/MM/AAAA.
===Passo 1===
O sistema lista todos os empenhos pendentes de registro no SIPAC com os campos descritos abaixo:
* **__Número/Ano__**: Formato - NÚMERO / ANO, Tipo - NUMÉRICO. Corresponde ao número e ano do registro de reforço do empenho.
* **__Credor__**: Formato - NOME (NÚMERO DO REGISTO), Tipo - TEXTO.
* **__Natureza de Despesa__**: Formato - NOME (CÓDIGO), Tipo - TEXTO.
* **__Valor(R$)__**: Tipo - NUMÉRICO.
===Passo 2===
Ao selecionar o Reforço pendente (Passo 1), o sistema solicita ao usuário a confirmação do reforço.
Os procedimentos são realizados através do caso de uso [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:empenho:reforcar_empenho| Reforço de Empenho]].
O caso de uso é finalizado.
===== Principais Regras de Negócio =====
Não se aplica.
==== Resoluções/Legislações Associadas ====
Não se aplica.
===== Classes Persistentes e Tabelas Envolvidas =====
^ Classe ^ Tabela |
|br.ufrn.sipac.siafi.dominio.ReforcoEmpenhoSIAFI|administrativo.siafi.reforco_empenho|
====== Plano de Teste ======
Sistema: SIPAC
Módulo: Orçamento
Link(s): Movimentações → Empenho → Integração SIAFI → Reforços 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 um reforço para ser direcionado para o[[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:empenho:reforcar_empenho| Reforço do Empenho]] selecionado, ou ser direcionado para a página de consolidação, caso o reforço já se encontre no SCO.
===== 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 dos reforços 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 re.id_reforco,
re.cod_reforco,
re.cod_associado,
re.ano_associado,
re.data_transacao,
ev.id_evento AS idEvento,
ev.codigo AS codEvento,
ev.descricao AS descricaoEvento,
re.valor,
re.observacoes,
re.ano,
re.id_celula_orcamentaria,
re.id_unidade_gestora,
re.data_migracao,
re.migrado,
re.id_importacao,
re.cod_unidade_gestora,
re.cod_unidade_gestao,
re.tentativas_consolidacao,
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.reforco_empenho re
LEFT JOIN siafi.evento ev ON ((re.id_evento = ev.id_evento)
AND ev.id_classificacao_evento_siafi = 3)
LEFT OUTER JOIN sco.empenho e ON (re.cod_associado = e.cod_empenho
AND re.ano_associado = e.ano
AND re.id_unidade_gestora = e.id_unidade_gestora
AND e.id_registro_estorno IS NULL)
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 re.id_unidade_gestora = ug.id_unidade
LEFT OUTER JOIN comum.pessoa credor ON (e.id_credor = credor.id_pessoa)
WHERE re.data_consolidacao IS NULL
AND re.ano = 2016
GROUP BY re.id_reforco,
re.cod_reforco,
re.cod_associado,
re.ano_associado,
re.data_transacao,
ev.id_evento,
ev.codigo,
ev.descricao,
re.valor,
re.observacoes,
re.ano,
re.id_celula_orcamentaria,
re.id_unidade_gestora,
re.data_migracao,
re.migrado,
re.id_importacao,
re.cod_unidade_gestora,
re.cod_unidade_gestao,
re.tentativas_consolidacao,
ug.nome,
e.id_empenho,
e.valor,
e.saldo,
e.id_unidade_gestora,
credor.nome,
credor.cpf_cnpj,
credor.tipo
ORDER BY re.cod_reforco;
Consulta por unidade gestora e período de transação:
SELECT re.id_reforco,
re.cod_reforco,
re.cod_associado,
re.ano_associado,
re.data_transacao,
ev.id_evento AS idEvento,
ev.codigo AS codEvento,
ev.descricao AS descricaoEvento,
re.valor,
re.observacoes,
re.ano,
re.id_celula_orcamentaria,
re.id_unidade_gestora,
re.data_migracao,
re.migrado,
re.id_importacao,
re.cod_unidade_gestora,
re.cod_unidade_gestao,
re.tentativas_consolidacao,
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.reforco_empenho re
LEFT JOIN siafi.evento ev ON ((re.id_evento = ev.id_evento)
AND ev.id_classificacao_evento_siafi = 3)
LEFT OUTER JOIN sco.empenho e ON (re.cod_associado = e.cod_empenho
AND re.ano_associado = e.ano
AND re.id_unidade_gestora = e.id_unidade_gestora
AND e.id_registro_estorno IS NULL)
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 re.id_unidade_gestora = ug.id_unidade
LEFT OUTER JOIN comum.pessoa credor ON (e.id_credor = credor.id_pessoa)
WHERE re.data_consolidacao IS NULL
AND re.id_unidade_gestora IN (2)
AND re.ano = 2016
AND re.data_transacao BETWEEN 'Thu Sep 01 00:00:00 BRT 2016' AND 'Thu Sep 29 23:59:59 BRT 2016'
GROUP BY re.id_reforco,
re.cod_reforco,
re.cod_associado,
re.ano_associado,
re.data_transacao,
ev.id_evento,
ev.codigo,
ev.descricao,
re.valor,
re.observacoes,
re.ano,
re.id_celula_orcamentaria,
re.id_unidade_gestora,
re.data_migracao,
re.migrado,
re.id_importacao,
re.cod_unidade_gestora,
re.cod_unidade_gestao,
re.tentativas_consolidacao,
ug.nome,
e.id_empenho,
e.valor,
e.saldo,
e.id_unidade_gestora,
credor.nome,
credor.cpf_cnpj,
credor.tipo
ORDER BY re.cod_reforco;