~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Calcular Multas para um Fornecedor ====== Este caso de uso tem finalidade em efetuar o cálculo das multas aplicadas a um determinado fornecedor. Este cálculo é realizado conforme está descrito no [[desenvolvimento:especificacoes:sipac:liquidacao_de_despesas:negocio|Documento de Negócio de Liquidação de Despesas]]. Esta operação é realizada pelos usuários responsáveis pelo controle da liquidação de despesas das compras da instituição. 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 -> Registro de Ocorrências -> Penalização -> Multas -> Calcular Multas para um Fornecedor//. ===Passo 1=== Inicialmente o usuário irá buscar os empenhos que serão multados utilizando o seguinte filtro: * **Unidade Gestora***: Tipo: TEXTO. * **Número/Ano***: Tipo TEXTO, formato: ...9/AAAA - NOME DA UNIDADE GESTORA. * **Fornecedor***: Tipo AUTOCOMPLETE, formato: NOME FORNECEDOR, entrada de dados: NOME ou DOCUMENTO. O usuário confirma a busca e sistema lista os empenhos atrasados do fornecedor: ***__Número__**: Formato - 9.../AAAA, Tipo - NUMÉRICO. ***__Fornecedor__**: Formato - NOME DO FORNECEDOR - 99.999.999/9999-99. , Tipo TEXTO. ***__Data de Cadastro__**: Formato - DD/MM/AAAA, Tipo - DATA. ***__Unidade Gestora__**: Tipo - NUMÉRICO. * Opção **todos** seleciona todos os empenhos da lista. O usuário continua e o sistema redireciona para o passo 2. ===Passo 2=== O usuário terá que informar a porcentagem da multa para cada empenho: ***__Número__**: Formato - 9.../AAAA, Tipo - NUMÉRICO. ***__Fornecedor__**: Formato - NOME DO FORNECEDOR - 99.999.999/9999-99. , Tipo TEXTO. ***__Valor do Empenho__**: Tipo - NUMÉRICO. ***__Unidade Gestora__**: Tipo - NUMÉRICO. ***Porcentagem da Multa**: Tipo - NUMÉRICO. ***__Valor da Multa__**: Tipo - NUMÉRICO. ***__Valor Total da Multa__**: Tipo - NUMÉRICO. Somatório de todas as multas. ===Passo 3=== ***Artigo***: Tipo - TEXTO. ***Portaria***: Formato - 9.../AAAA - DD/MM/AAAA, Tipo - NUMÉRICO. ***Pregão Eletrônico***: Formato - 9.../AAAA, Tipo - NUMÉRICO. ***Observações**: Tipo - TEXTO. No passo seguinte é possível associar um processo: ===Passo 4=== ***Processo de Compra:** Tipo NUMÉRICO. Formato 99999.999999/9999-99. ([[#principais regras de negócio|RN01]]) ===Passo 5=== ***__Número da Multa__**: Tipo NUMÉRICO, formato: ...9/AAAA. ***__Fornecedor__**: Formato - NOME DO FORNECEDOR - 99.999.999/9999-99. , Tipo TEXTO. ***__Artigo - Pregão Eletrônico __**: ***__Portaria__**: Formato - 9…/AAAA; Tipo - NUMÉRICO. ***__Artigo - Pregão Eletrônico__**: Formato - 9999 - 9999/AAAA, Tipo - NUMÉRICO. Listagem com os empenhos multados: ***__Número/Ano__**: Formato - 999999/AAAA - NOME DA UNIDADE GESTORA. Tipo - TEXTO. * **__Fornecedor__**: Formato - NOME DO FORNECEDOR - 99.999.999/9999-99. , Tipo TEXTO. * **__Valor do Empenho__**: Tipo - NUMÉRICO. * **__Unidade Gestora__**: Tipo - NUMÉRICO. * **__Valor da Multa__**: Tipo - NUMÉRICO. O sistema exibe opção para emitir relatório. ===Modelo de Relatório=== **Cálculo da Multa No. 9.../AAAA DMP/Divisão de Material** **Fornecedor:** 99.999.999/9999-99 - NOME DO FORNECEDOR. Conforme apurado no processo em epígrafe e estabelecido na Portaria no 99/AAAA de DD/MM/AAAA, aplicação da multa conforme previsto no Art. 40 do Pregão Eletrônico no 9.../AAAA. Prazo de Entrega: ^ No Multa^ No Protocolo^ Data da Multa^ | 9.../AAAA | 9.../AAAA | DD/MM/AAAA | | |**No Empenho - Data de Rec. do Empenho - P. de Entrega (em dias) - Data do Cálculo - Dias em Atraso - Porc. da Multa - Valor - Valor da Multa p/ Empenho** |||| | **VALOR TOTAL DAS MULTAS: R$ 9,99** ||||| CIDADE-ESTADO, DD/MM/AAAA. ASSINATURA DO RESPONSÁVEL UNIDADE O caso de uso é finalizado. ===== Principais Regras de Negócio ===== ***RN01** - Dependendo da configuração do parâmetro UTILIZA_PROTOCOLO_SIPAC este campo pode apresentar duas formas de exibição: * Se o valor do parâmetro for //true//, será solicitado ao usuário 4 campos separados para a informação do número do processo de compra. * Se o valor do parâmetro for //false//, será solicitado ao usuário 1 campo único para a informação do número do processo de compra. * Formato do número do processo de compra: 99999.999999/9999-99 (radical.número/ano-dv) ***RN02** - O usuário com o papel de Gestor Liquidação que tiver sua unidade de permissão inserida no parâmetro GESTORA_LIQUIDACAO_DESPESAS na tabela comum.parametro_gestora só poderá ver os empenhos e notificações nos quais possuem centro de custo pertencentes a hierarquia da unidade do usuário. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.liquidacao.acompanhamento.dominio.OcorrenciaFornecedor | administrativo.liquidacao.ocorrencia_fornecedor | | br.ufrn.sipac.cadastro.dominio.Pessoa | administrativo.comum.pessoa | | br.ufrn.sipac.liquidacao.acompanhamento.dominio.TipoOcorrenciaFornecedor | administrativo.liquidacao.tipo_ocorrencia_fornecedor | | br.ufrn.sipac.liquidacao.acompanhamento.dominio.NotificacaoFornecedor | administrativo.liquidacao.notificacao_fornecedor | | br.ufrn.sipac.compras.dominio.ProcessoCompra | administrativo.compras.processo_compra | | br.ufrn.sipac.compras.licitacao.dominio.Proposta | administrativo.compras.proposta | | br.ufrn.sipac.liquidacao.pagamento.dominio.RecebimentoEmpenho | administrativo.liquidacao.recebimento_empenho | ===== Plano de Teste ===== Sistema: SIPAC Módulo: Liquidação de Despesas Link(s): Aba Registro de Ocorrências -> Penalização -> Multas -> Calcular Multas para um Fornecedor Usuário: paulinho Papel que o usuário deve ter: SipacPapeis.GESTOR_LIQUIDACAO ===== Cenários de Teste ===== Verificar se o link de selecionar todas as multas de uma só vez está funcionando. Assim como verificar se o fluxo do caso de uso está sendo concluído normalmente. Para visualizar os cálculos de multas recém cadastrados, é só acessar: //**Sipac -> Liquidação de Despesas -> Registro de Ocorrências -> Penalização -> Consultar Cálculos de Metas**// ===== Dados para o Teste ===== Para encontrar os empenhos do fornecedores que se encontram em atraso, utilizar a consulta abaixo: SELECT e.cod_empenho AS codigo, e.ano AS ano,e.data as data, e.valor AS valor, e.id_empenho AS id, e.id_unidade_gestora, forn.nome AS fornecedor, forn.cpf_cnpj as cpf_cnpj ,gest.sigla as sigla ,gest.codigo_unidade as codigo_unidade FROM comum.unidade gest, comum.pessoa forn, liquidacao.acompanha_processo_compra ac, compras.processo_compra pc, compras.proposta pp, liquidacao.recebimento_empenho re, sco.empenho e LEFT OUTER JOIN (SELECT enf.id_empenho, COALESCE(ROUND(SUM(inf.quantidade*inf.valor), 2), 0) AS soma FROM liquidacao.empenho_notafiscal enf, liquidacao.nota_fiscal nf, liquidacao.item_nota_fiscal inf WHERE enf.id_nota_fiscal = nf.id_nota_fiscal AND nf.id_nota_fiscal = inf.id_nota_fiscal and nf.estornada = false GROUP BY enf.id_empenho) AS nota ON (e.id_empenho = nota.id_empenho) WHERE re.id_empenho = e.id_empenho AND re.id_notificacao IS NULL AND e.id_credor = forn.id_pessoa AND forn.id_pessoa = ac.id_fornecedor AND ac.id_processo_compra = e.id_processo_compra AND ((re.data_recebimento + COALESCE(pp.prazo_entrega, 0)) < CURRENT_DATE) AND e.empenho_atraso_desconsiderado = false AND e.id_processo_compra = pc.id_proc_compra AND pc.id_proc_compra = pp.id_processo_compra AND e.modalidade=1AND pp.id_fornecedor = forn.id_pessoa AND re.id_acompanhamento = ac.id_acompanhamento AND e.id_unidade_gestora = gest.id_unidade AND (e.id_unidade_gestora=605 OR gest.categoria=4) AND e.valor > (SELECT COALESCE(SUM(valor), 0.0) FROM sco.solicita_anulacao WHERE id_empenho = e.id_empenho) and e.saldo > COALESCE(nota.soma, 0) GROUP BY forn.id_pessoa, forn.nome , gest.sigla, gest.codigo_unidade , e.data,e.cod_empenho, e.ano, e.valor, e.id_empenho, forn.cpf_cnpj, forn.nome, e.saldo, e.id_unidade_gestora ORDER BY forn.nome ASC 1º - Quando é cadastrada uma multa é gerado uma ocorrência. Esta ocorrência pode ser verificada em: //**Sipac -> Liquidação de Despesas -> Registrar Ocorrências -> Ocorrências Diversas -> Consultar/Alterar Ocorrências Diversas**//