/*
$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