/*
$funcao:Certidão para Cnpj e Endereço Validos$
$descricao:Emissão de certidão para inscrição para Cnpj e Endereço validos$
$contexto:NET.PROTOCOLOCERTIDAO$
$autor:Júnior Barros$
$data:2019-10-9$
*/
create proc sp_regra_net_certidao_pj_cnpj_endreco_validos
@Retorno int OUTPUT, @Mensagem varchar(8000) OUTPUT, @IdInscricao int, @TipoDocumento int,
@Assunto int, @EntradaDocumento bit, @CodArt int
as
set @Retorno = 0
if @EntradaDocumento = 0 and @Assunto in (900000001,900000003,27) begin
declare @tepf int
declare @tepj int
SELECT DISTINCT
@tepf = TipoEntidade.[Pessoa Fisica]
FROM Entidade
LEFT JOIN Entidade AS Entidade_1 ON Entidade.Codigo = Entidade_1.Codigo
LEFT JOIN TipoEntidade ON Entidade_1.TipoEntidade = TipoEntidade.Codigo
LEFT JOIN Registro ON Entidade.Codigo = Registro.Entidade
WHERE
((TipoEntidade.[Pessoa Fisica] = 1) and (Registro.Codigo = @IdInscricao ))
if(@tepf = 1) begin
if exists(
SELECT DISTINCT
Registro.Codigo AS "ID da Inscrição",
PessoaFisica.Cpf AS "CPF"
FROM Entidade
LEFT JOIN Entidade AS Entidade_1 ON Entidade.Codigo = Entidade_1.Codigo
LEFT JOIN TipoEntidade ON Entidade_1.TipoEntidade = TipoEntidade.Codigo
LEFT JOIN PessoaFisica ON Entidade.Codigo = PessoaFisica.Entidade
LEFT JOIN Registro ON Entidade.Codigo = Registro.Entidade
WHERE
((TipoEntidade.[Pessoa Fisica] = 1) AND
(PessoaFisica.Cpf IS NULL) AND
(Registro.Codigo = @IdInscricao ))
)begin
set @Mensagem = 'Não é possível emitir Certidão pois este profissional não possui CPF cadastrado na base.
Realize o cadastro e refaça a operação.'
set @Retorno = 1
end
end
SELECT DISTINCT
@tepj = TipoEntidade.[Pessoa Juridica]
FROM Entidade
LEFT JOIN Entidade AS Entidade_1 ON Entidade.Codigo = Entidade_1.Codigo
LEFT JOIN TipoEntidade ON Entidade_1.TipoEntidade = TipoEntidade.Codigo
LEFT JOIN Registro ON Entidade.Codigo = Registro.Entidade
WHERE
((TipoEntidade.[Pessoa Juridica] = 1) and (Registro.Codigo = @IdInscricao ))
if(@tepj = 1) begin
if exists(
SELECT DISTINCT
TipoEntidade.[Pessoa Juridica]
FROM Entidade
LEFT JOIN Entidade AS Entidade_1 ON Entidade.Codigo = Entidade_1.Codigo
LEFT JOIN TipoEntidade ON Entidade_1.TipoEntidade = TipoEntidade.Codigo
LEFT JOIN Registro ON Entidade.Codigo = Registro.Entidade
LEFT JOIN PessoaJuridica ON Entidade.Codigo = PessoaJuridica.Entidade
WHERE
((TipoEntidade.[Pessoa Juridica] = 1) AND
(Registro.Codigo = @IdInscricao ) AND
(LEN(PessoaJuridica.Cgc) <= 0))
)begin
set @Mensagem = 'Não é possível emitir Certidão pois esta empresa não possui CNPJ cadastrado na
base. Realize o cadastro e refaça a operação.'
set @Retorno = 1
end
end
if(@tepf = 1 or @tepj = 1) begin
if not exists(
SELECT R.Codigo FROM REGISTRO R
LEFT JOIN Entidade E ON E.Codigo = R.Entidade
LEFT JOIN TemEndereco TE ON TE.Entidade = E.Codigo
LEFT JOIN Endereco EN ON EN.Codigo = TE.Endereco
WHERE
(R.Codigo = @IdInscricao) and
((TE.Correspondencia & ~TE.Desatualizado & ~EN.Invalido) = 1) AND
(TE.Desatualizado = 0) AND
(EN.[Invalido] = 0)
)begin
set @Retorno = 1
set @Mensagem = 'Não é possível emitir Certidão pois o endereço está desatualizado ou Inválido ou não
está marcado como Recebe Correspondência no cadastrado.
Atualize o cadastro e refaça a operação.'
end
end
end