USE DADOSADV -- DESBLOQUEAR CLIENTES QUE NAO TENHA TITULOS EM ABERTOS E QUE NAO TENHAM TITULOS INCOBRAVEIS DECLARE @CodigoCliente VARCHAR(6), @NomeCliente VARCHAR(255) DECLARE cur_cliente CURSOR FOR SELECT A1_COD, A1_NOME from DADOSADV..SA1010 WHERE (A1_CATEGFI = 'BL' OR A1_MSBLQL = 1) AND D_E_L_E_T_ = '' --AND A1_COD = '46711' UNION SELECT A1_COD, A1_NOME from DADOSADV..SA1200 WHERE (A1_CATEGFI = 'BL' OR A1_MSBLQL = 1) AND D_E_L_E_T_ = ''-- AND A1_COD = '46711' OPEN cur_cliente FETCH NEXT FROM cur_cliente INTO @CodigoCliente, @NomeCliente WHILE @@FETCH_STATUS = 0 BEGIN --select @CodigoCliente + ' - ' + @NomeCliente --IF (SELECT COUNT(*) FROM Atendimento..VW_TitulosNaoBaixados WHERE E1_CLIENTE = @CodigoCliente AND E1_VENCREA < DATEADD(d,-2,GETDATE()) )= 0 IF (SELECT COUNT(*) FROM DADOSADV..SE1010 WHERE SE1010.D_E_L_E_T_ = '' AND E1_BAIXA = '' AND E1_VENCREA < DATEADD(d,-1,GETDATE()) AND E1_CLIENTE = @CodigoCliente) = 0 AND (SELECT COUNT(*) FROM SE1010 WHERE E1_NUM IN (SELECT E5_NUMERO FROM SE5010 WHERE E5_HISTOR LIKE '%INCOBRAVEIS%' AND E5_CLIFOR = @CodigoCliente) AND E1_CLIENTE = @CodigoCliente) = 0 AND (SELECT COUNT(*) FROM SE1010 WHERE E1_NUM IN (SELECT E5_NUMERO FROM SE5100 WHERE E5_HISTOR LIKE '%INCOBRAVEIS%' AND E5_CLIFOR = @CodigoCliente) AND E1_CLIENTE = @CodigoCliente) = 0 AND (SELECT COUNT(*) FROM DADOSADV..SE1200 WHERE SE1200.D_E_L_E_T_ = '' AND E1_BAIXA = '' AND E1_VENCREA < DATEADD(d,-1,GETDATE()) AND E1_CLIENTE = @CodigoCliente) = 0 AND (SELECT COUNT(*) FROM SE1200 WHERE E1_NUM IN (SELECT E5_NUMERO FROM SE5200 WHERE E5_HISTOR LIKE '%INCOBRAVEIS%' AND E5_CLIFOR = @CodigoCliente) AND E1_CLIENTE = @CodigoCliente) = 0 BEGIN INSERT INTO ClienteBloqueadoDesbloqueado VALUES(@CodigoCliente,@NomeCliente, GETDATE(), 'DESBLOQUEADO') UPDATE SA1010 SET A1_CATEGFI = 'SR',A1_CATEGCO = 'AT',A1_MSBLQL = 2 WHERE A1_COD = @CodigoCliente END ELSE INSERT INTO ClienteBloqueadoDesbloqueado VALUES(@CodigoCliente,@NomeCliente, GETDATE(), 'NAO DESBLOQUEADO') FETCH NEXT FROM cur_cliente INTO @CodigoCliente, @NomeCliente END CLOSE cur_cliente DEALLOCATE cur_cliente --- BLOQUEAR OS CLIENTES QUE ESTÃO COM PAGAMENTOS ATRASADOS EM MAIS DE UM DIA INSERT INTO ClienteBloqueadoDesbloqueado SELECT DISTINCT E1_CLIENTE, B.A1_NOME, GETDATE(), 'BLOQUEADO' from Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1010 B ON A.E1_CLIENTE = B.A1_COD where E1_VENCREA < DATEADD(d,-1,GETDATE()) AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' and A.E1_TIPO <> 'NCC' AND A1_COD NOT IN ('40502','10119','37777','44089','44114','43380','61929','64012','62834','38606') AND B.A1_CATEGMA <> 'RE' UPDATE SA1010 SET A1_CATEGFI = 'BL', A1_MSBLQL = 1,A1_CATEGCO = 'SJ' WHERE A1_COD IN( SELECT DISTINCT E1_CLIENTE from Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1010 B ON A.E1_CLIENTE = B.A1_COD where E1_VENCREA < DATEADD(d,-1,GETDATE()) AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' and A.E1_TIPO <> 'NCC' AND A1_COD NOT IN ('40502','10119','37777','44089','44114','43380','61929','64012','62834','38606')AND B.A1_CATEGMA <> 'RE') --BLOQUEAR CLIENTES QUE TEM ALGUM TITULO EM INCOBRAVEIS E EM FALENCIA INSERT INTO ClienteBloqueadoDesbloqueado SELECT A1_COD,A1_NOME,GETDATE(), 'BLOQUEADO' FROM SA1010 WHERE A1_COD IN (SELECT E5_CLIFOR FROM SE5010 WHERE (E5_HISTOR LIKE '%INCOBRAVEIS%' OR E5_HISTOR LIKE '%FALENCIA%') AND D_E_L_E_T_ = '') AND A1_CATEGFI <> 'BL' UPDATE SA1010 SET A1_CATEGFI = 'BL', A1_MSBLQL = 1,A1_CATEGCO = 'SJ' WHERE A1_COD IN (SELECT A1_COD FROM SA1010 WHERE A1_COD IN (SELECT E5_CLIFOR FROM SE5010 WHERE (E5_HISTOR LIKE '%INCOBRAVEIS%' OR E5_HISTOR LIKE '%FALENCIA%') AND D_E_L_E_T_ = '' ) AND A1_CATEGFI <> 'BL') INSERT INTO ClienteBloqueadoDesbloqueado SELECT A1_COD,A1_NOME,GETDATE(), 'BLOQUEADO' FROM SA1010 WHERE A1_COD IN (SELECT E5_CLIFOR FROM SE5100 WHERE (E5_HISTOR LIKE '%INCOBRAVEIS%' OR E5_HISTOR LIKE '%FALENCIA%') AND D_E_L_E_T_ = '') AND A1_CATEGFI <> 'BL' UPDATE SA1010 SET A1_CATEGFI = 'BL', A1_MSBLQL = 1,A1_CATEGCO = 'SJ' WHERE A1_COD IN (SELECT A1_COD FROM SA1010 WHERE A1_COD IN (SELECT E5_CLIFOR FROM SE5100 WHERE (E5_HISTOR LIKE '%INCOBRAVEIS%' OR E5_HISTOR LIKE '%FALENCIA%')AND D_E_L_E_T_ = '') AND A1_CATEGFI <> 'BL') INSERT INTO ClienteBloqueadoDesbloqueado SELECT A1_COD,A1_NOME,GETDATE(), 'BLOQUEADO' FROM SA1200 WHERE A1_COD IN (SELECT E5_CLIFOR FROM SE5200 WHERE (E5_HISTOR LIKE '%INCOBRAVEIS%' OR E5_HISTOR LIKE '%FALENCIA%') AND D_E_L_E_T_ = '') AND A1_CATEGFI <> 'BL' UPDATE SA1010 SET A1_CATEGFI = 'BL', A1_MSBLQL = 1,A1_CATEGCO = 'SJ' WHERE A1_COD IN (SELECT A1_COD FROM SA1200 WHERE A1_COD IN (SELECT E5_CLIFOR FROM SE5200 WHERE (E5_HISTOR LIKE '%INCOBRAVEIS%' OR E5_HISTOR LIKE '%FALENCIA%')AND D_E_L_E_T_ = '') AND A1_CATEGFI <> 'BL') ---------------------------------------------------------------------------------FIM DA TRATATIVA DOS CLIENTES---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------TRATATIVA DOS FORNECEDORES------------------------------------------------------------------------------------------------------- DECLARE @Codigo VARCHAR(6), @Titulo VARCHAR(6), @Prefixo VARCHAR(6), @Filial VARCHAR(255), @Atraso VARCHAR(3) DECLARE cur_representantes CURSOR FOR SELECT DISTINCT B.A1_COD, B.A1_NOME FROM Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1010 B ON A.E1_CLIENTE = B.A1_COD where A.ATRASO BETWEEN 2 AND 7 --AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' AND A.E1_TIPO <> 'NCC' AND B.A1_CATEGMA = 'RE' UNION SELECT DISTINCT B.A1_COD, B.A1_NOME FROM Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1100 B ON A.E1_CLIENTE = B.A1_COD WHERE A.ATRASO BETWEEN 2 AND 7 --AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' AND A.E1_TIPO <> 'NCC' AND B.A1_CATEGMA = 'RE' OPEN cur_representantes FETCH NEXT FROM cur_representantes INTO @Codigo, @NomeCliente WHILE @@FETCH_STATUS = 0 BEGIN DECLARE cur_titulos CURSOR FOR SELECT A.E1_NUM, A.E1_PREFIXO, A.E1_FILIAL, A.ATRASO FROM Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1010 B ON A.E1_CLIENTE = B.A1_COD WHERE A.ATRASO BETWEEN 2 AND 7 --AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' AND A.E1_TIPO <> 'NCC' AND B.A1_CATEGMA = 'RE' AND B.A1_COD = @Codigo UNION SELECT A.E1_NUM, A.E1_PREFIXO, A.E1_FILIAL, A.ATRASO FROM Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1100 B ON A.E1_CLIENTE = B.A1_COD WHERE A.ATRASO BETWEEN 2 AND 7 --AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' AND A.E1_TIPO <> 'NCC' AND B.A1_CATEGMA = 'RE' AND B.A1_COD = @Codigo OPEN cur_titulos FETCH NEXT FROM cur_titulos INTO @Titulo, @Prefixo, @Filial, @Atraso DECLARE @Assunto VARCHAR(255), @Corpo VARCHAR(MAX) SET @Corpo = 'Atenção

' SET @Assunto = 'Representante ' + @Codigo + ' - ' + @NomeCliente SET @Corpo = @Corpo + 'O Representante ' + @Codigo + ' - ' + @NomeCliente + ' está inadimplente. Possui o(s) seguinte(s) título(s) em aberto:

' SET @Corpo = @Corpo + '' SET @Corpo = @Corpo + '' FETCH NEXT FROM cur_titulos INTO @Titulo, @Prefixo, @Filial, @Atraso END SET @Corpo = @Corpo + '
FILIALPrefixoNro TítuloDias em Atraso' WHILE @@FETCH_STATUS = 0 BEGIN SET @Corpo = @Corpo + '
' + @Filial + '' + @Prefixo + '' + @Titulo + '' + @Atraso + '
' SELECT @Corpo CLOSE cur_titulos DEALLOCATE cur_titulos EXEC msdb..sp_send_dbmail @profile_name='RepresentantesInadimplentes', @recipients='alvaro@tecnomotor.com.br; saulo.alves@tecnomotor.com.br; andrea@tecnomotordi.com.br; dmartins@tecnomotor.com.br; morila@tecnomotor.com.br;ale.souza@tecnomotor.com.br', --@recipients='alvaro@tecnomotor.com.br; saulo.alves@tecnomotor.com.br', @subject = @Assunto, @body = @Corpo, @body_format = 'HTML' FETCH NEXT FROM cur_representantes INTO @Codigo, @NomeCliente END CLOSE cur_representantes DEALLOCATE cur_representantes -- BLOQUEIA OS REPRESENTANTES QUE ESTÃO ACIMA DE SETE DIAS INADIMPLENTES INSERT INTO ClienteBloqueadoDesbloqueado SELECT A1_COD,A1_NOME,GETDATE(), 'BLOQUEADO' FROM DADOSADV..SA1010 WHERE A1_COD IN ( SELECT DISTINCT B.A1_COD FROM Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1010 B ON A.E1_CLIENTE = B.A1_COD WHERE A.ATRASO > 7 AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' AND A.E1_TIPO <> 'NCC' AND B.A1_CATEGMA = 'RE' UNION SELECT DISTINCT B.A1_COD FROM Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1100 B ON A.E1_CLIENTE = B.A1_COD WHERE A.ATRASO > 7 AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' AND A.E1_TIPO <> 'NCC' AND B.A1_CATEGMA = 'RE' ) UPDATE SA1010 SET A1_CATEGFI = 'BL', A1_MSBLQL = 1,A1_CATEGCO = 'SJ' WHERE A1_COD IN ( SELECT DISTINCT B.A1_COD FROM Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1010 B ON A.E1_CLIENTE = B.A1_COD WHERE A.ATRASO >= 8 AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' AND A.E1_TIPO <> 'NCC' AND B.A1_CATEGMA = 'RE' UNION SELECT DISTINCT B.A1_COD FROM Atendimento..VW_TitulosNaoBaixados A INNER JOIN DADOSADV..SA1100 B ON A.E1_CLIENTE = B.A1_COD WHERE A.ATRASO >= 8 AND (B.A1_CATEGFI <> 'BL' AND B.A1_MSBLQL <> 1) AND A.E1_TIPO <> 'RA' AND A.E1_TIPO <> 'NCC' AND B.A1_CATEGMA = 'RE' )