Fornecedores Em Atraso

Este caso de uso envia uma mensagem para as unidades gestora que possuem os e-mails no parâmetro ParametrosGestoraLiquidcaoDespesas.EMAILS_PARA_ALERTAS_DO_SISTEMA informando os fornecedores que entraram em atraso na entrega de materiais de empenhos em um determinado dia.

Descrição do Caso de Uso

O timer verifica, uma vez, diariamente os fornecedores cujos empenhos apresentam a data de limite da entrega dos materiais pendentes no dia anterior e envia as informações desses fornecedores e seus empenhos ao responsável da DIVISÃO DE MATERIAL do DMP. As informações são:

Modelo:

          Caro(a) chefe do DMP - DIVISÃO DE MATERIAL, 
          Abaixo encontram-se as informações dos fornecedores que entraram em atraso hoje, data de <Data Atual>.
          _________________________________________________________________________________
          Fornecedor: <Nome(CPF/CNPJ)>
          EMPENHO(S):
              <Número/Ano - Gestora> recebido em <data de recebimento>
              PROCESSO DE COMPRA:
                  Processo: <Número/Ano>
                  Licitação: <Modalidade - Número/Ano>
          Esta mensagem é automática e não deve ser respondida.

Principais Regras de Negócio

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.sipac.liquidacao.timers.TimerLiquidacaoFornecedorEmAtraso comum.infra.registro_timer
br.ufrn.sipac.liquidacao.pagamento.dominio.RecebimentoEmpenho administrativo.liquidacao.recebimento_empenho
br.ufrn.sipac.orcamento.movimentacoes.dominio.Empenho administrativo.sco.empenho
br.ufrn.sipac.compras.dominio.ProcessoCompra administrativo.compras.processo_compra
br.ufrn.sipac.compras.licitacao.dominio.Proposta administrativo.compras.proposta
br.ufrn.sipac.cadastro.dominio.Pessoa (Fornecedor) administrativo.public.pessoa

Plano de Teste

Sistema: SIPAC

Módulo: <NÃO SE APLICA>

Link(s): <NÃO SE APLICA>

Usuário: <NÃO SE APLICA>

Papel que usuário deve ter: <NÃO SE APLICA>

Cenários de Teste

Para o timer definir um tempo curto (sugiro 2 ou 3 minutos) para o timer e o servidor de testes como servidor de restrição de execução. O tempo é definido diretamento no banco. Monitorar o e-mail de desenvolvimento (desenv@info.ufrn.br).

Também verificar se o email está sendo enviado corretamente ao responsável. (O testador pode modificar o email de recebimento através do caso de uso SIGPRH → Menu Servidor → Serviços → Atualizar Dados Pessoais. Lembrar de depois modificar o email novamente para desenv@info.ufrn.br para não afetar outros testes com esse usuário.)

Dados para o Teste

O Responsável da unidade DMP - DIVISÃO DE MATERIAL (11.02.03.03) é quem recebe o email com os fornecedores em atraso.

Para deixar empenhos em atraso no dia, obtenha o RELATÓRIO DE FORNECEDORES EM ATRASO pelo caminho:

Escolha um empenho e execute o sql:

      
      UPDATE compras.proposta 
      SET prazo_entrega = (
        SELECT ((CURRENT_DATE - receb.data_recebimento) - 1 ) AS data_limite 
      	FROM compras.proposta p 
      	JOIN compras.processo_compra pc ON p.id_processo_compra = pc.id_proc_compra
           JOIN sco.empenho e ON e.id_processo_compra = pc.id_proc_compra
	        JOIN liquidacao.recebimento_empenho receb ON receb.id_empenho = e.id_empenho
      	WHERE e.cod_empenho = <NÚMERO DO EMPENHO> AND e.ano = **<ANO DO EMPENHO> AND e.id_unidade_gestora = <ID UNIDADE GESTORA DO EMPENHO>
        AND e.id_credor = p.id_fornecedor
          )
      WHERE id_proposta = (
        SELECT p.id_proposta
      	FROM compras.proposta p 
        JOIN compras.processo_compra pc ON p.id_processo_compra = pc.id_proc_compra
      	   JOIN sco.empenho e ON e.id_processo_compra = pc.id_proc_compra
      		JOIN liquidacao.recebimento_empenho receb ON receb.id_empenho = e.id_empenho
      	WHERE e.cod_empenho = <NÚMERO DO EMPENHO> AND e.ano = <ANO DO EMPENHO> AND e.id_unidade_gestora = <ID UNIDADE GESTORA DO EMPENHO>
      	AND e.id_credor = p.id_fornecedor
           );

Assim, um novo prazo de entrega será informado deixando o empenho com 1 dia de atraso, ou seja, deixando o primeiro dia de atraso como a data atual. Isso pode ser verificado ao atualizar o relatório.

http://host/sipac/test.do?acao=timerFornecedorEmAtraso