jrbarros81
10/11/2019 - 11:12 AM

(Regra) Atribuir Vencimento da Parcela ao Vencimento do Protocolo

/*
$funcao:Atribuir Automaticamente Vencimento para o Protocolo NET$
$descricao:Atribuir Automaticamente Vencimento para o Protocolo NET$
$contexto:NET.PROTOCOLOCERTIDAO$
$autor:Hilton Farah$
$data:2019-7-24$
*/
create proc sp_regra_net_protocolo_seta_vencimento_protocolo
@Retorno int OUTPUT, @Mensagem varchar(8000) OUTPUT, @IdInscricao int, @TipoDocumento int, 
@Assunto int, @EntradaDocumento bit, @CodArt int

as

set @Retorno = 0

declare @Vencimento datetime

if @EntradaDocumento = 0 and @TipoDocumento = 190000001 and @Assunto in (190000001,190000002) 
begin

SELECT @Vencimento  = (CAST('12/31/'+ltrim(str(year(getdate()))) as datetime))

set @Mensagem = Cast(@Vencimento as Varchar)


if isnull(@Mensagem, '') <> '' begin
  set @Retorno = 1
  set @Mensagem='Vencimento='+convert(varchar, @Vencimento, 103)
end

end

if @EntradaDocumento = 0 and @TipoDocumento  = 190000001 and @Assunto in (190000003,190000004)
begin

SELECT
   @Vencimento  = (Min(Debito.Vencimento))
FROM Entidade
LEFT JOIN Registro ON Entidade.Codigo = Registro.Entidade
LEFT JOIN Debito ON Registro.Codigo = Debito.Registro
WHERE
   ((((~Debito.DebitoConfirmado) & ~Debito.DebitoCancelado & ~(Debito.Baixado | 
Debito.ParcelamentoLiquidado)) = 1) AND 
   (Debito.ParcelamentoConfirmado = 0) AND 
   (CAST(CASE WHEN (Debito.Vencimento < (cast(floor(cast(GetDate() as float)) as datetime))) THEN 1 ELSE 
0 END AS BIT) = 0) AND 
   (Registro.Codigo = @IdInscricao))
GROUP BY
   Registro.Codigo

set @Mensagem = Cast(@Vencimento as Varchar)


if isnull(@Mensagem, '') <> '' begin
  set @Retorno = 1
  set @Mensagem='Vencimento='+convert(varchar, @Vencimento, 103)
end

end