~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Empenhos Globais ====== Globais são os empenhos cujos valores podem ser conhecidos com exatidão, mas cuja execução, necessariamente, ocorrerá de forma parcelada, como ocorre nas contratações de serviços de vigilância, por exemplo. Este caso de uso mostra os valores dos empenhos globais do fornecedor. Os Envolvidos: Setor de Liquidação de Despesas. Pré-condições: O usuário deve possuir o perfil de Gestor de Liquidação de Despesas para executar esta funcionalidade. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: //SIPAC -> Liquidação de Despesas -> Aba Relatórios -> Empenho -> Empenhos Globais.// O sistema exibe os dados do empenho global conforme modelo. O sistema exibe o relatório relacionado ao ano corrente, porém o mesmo pode ser alterado para outro ano. **RELATÓRIO DE EMPENHOS GLOBAIS** **__Data de Emissão__:** Formato - DD/MM/AAAA, Tipo - DATA. **__Ano__:** Formato - AAAA, Tipo - NUMÉRICO. ^ CPF/CNPJ ^ Fornecedor ^ Empenho ^ Valor Empenho ^ Pagamento ^ Notificação ^ | 99.999.999/9999-99 | NOME DO FORNECEDOR | 9.../AAAA| R$ 9,99| 9.../AAAA | 9.../AAAA | | 99.999.999/9999-99 | NOME DO FORNECEDOR | 9.../AAAA| R$ 9,99| 9.../AAAA | 9.../AAAA | ===== Principais Regras de Negócio ===== * **RN01** - O usuário logado só poder ver dados para as unidades que o papel GESTOR LIQUIDAÇÃO tem permissão. Por exemplo, o usuário com login: pedro pertence a unidade 14.00(CT), mas foi cadastrada a permissão de GESTOR LIQUIDACAO para (11.00) e (23.00) então ele possui a permissão de ver dados apenas da 11.00 e 23.00 e não possui permissao para 1400. Já o usuário que tiver o papel GESTOR LIQUIDACAO e tiver unidade com Permissão igual a nulo poderá ver os dados de todas as unidades. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.orcamento.movimentacoes.dominio.Empenho | administrativo.sco.empenho |] | br.ufrn.sipac.liquidacao.acompanhamento.dominio.NotificacaoFornecedor | administrativo.liquidacao.notificacao_fornecedor | | br.ufrn.sipac.cadastro.dominio.Pessoa (Fornecedor) | administrativo.public.pessoa | | br.ufrn.sipac.compras.dominio.ProcessoCompra | compras.processo_compra| ===== Plano de Teste ===== Sistema: SIPAC Módulo: Liquidação de Despesas Link(s): Liquidação de Despesas → Aba Relatórios → Empenho → Empenhos Globais Usuário: paulinho Papel que o usuário deve ter: SipacPapeis.GESTOR_LIQUIDACAO. ===== Cenários de Teste ===== Não se aplica. ===== Dados para o Teste ===== Os dados do empenho global são trazidos pela consulta abaixo: select distinct f.cpf_cnpj, f.nome, q.cod_empenho, q.ano_empenho, q.valor_empenho, q.num_protocolo, q.ano, q.radical, q.dv, q.num_notificacao, q.ano_notificacao from comum.pessoa f, ((((select id_empenho, cod_empenho, ano as ano_empenho, valor as valor_empenho, id_credor, modalidade, id_unidade_gestora from sco.empenho where modalidade = 2 and ano = ANO and id_unidade_gestora = _ID_UNIDADE_GESTORA_ )as emp left join (select id_empenho, id_sub_empenho from sco.sub_empenho) as sub using (id_empenho)) as sub left join (select id_proc_compra, id_sub_empenho, p.num_protocolo, p.ano, p.radical, p.dv from compras.minuta_licitacao pre, sco.empenho_minuta_licitacao subpre, compras.processo_compra proc LEFT JOIN protocolo.processo p ON (p.id_processo=proc.id_processo) where pre.id_processo_compra = proc.id_proc_compra and pre.id_minuta_licitacao = subpre.id_minuta_licitacao and pre.invalido = false and proc.id_unidade_gestora = _ID_UNIDADE_GESTORA_ ) as pre on (sub.id_sub_empenho = pre.id_sub_empenho)) as pre left join (select id_processo_compra, n.id_fornecedor, n.numero as num_notificacao, n.ano as ano_notificacao from liquidacao.notificacao_fornecedor n, liquidacao.acompanha_processo_compra a , liquidacao.recebimento_empenho re where re.id_acompanhamento = a.id_acompanhamento and re.id_notificacao = n.id_notificacao and n.id_fornecedor = a.id_fornecedor) as notif on (notif.id_processo_compra = pre.id_proc_compra and notif.id_fornecedor = pre.id_credor)) as q where f.id_pessoa = q.id_credor and q.id_unidade_gestora= ID_UNIDADE_GESTORA and q.modalidade = 2 order by f.nome asc