Query Disparos: mudanças entre as edições

De Wiki NBS
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
'''<big>Query que seleciona os eventos para disparo</big>'''
<small>SELECT   disparo.template,         fila.ddd,         fila.celular,         fila.cod_empresa,         fila.cod_evento,</small>
SELeCT agenda.cod_empresa, agenda.cod_os_agenda , 


 cli.prefixo_cel , cli.telefone_cel, agenda.data_agendada
<small>         disparo.id_disparo,         disparo.template,         fila.id_disparo_fila,         Nvl(fila.cod_os_agenda, ag.cod_os_agenda) cod_os_agenda</small>


 from  os_agenda agenda , clientes cli, crm_parm_fluxo parm, cliente_diverso div
<small>FROM     crm_disparo disparo,         crm_disparo_fila fila,         os_agenda ag</small>


 where agenda.cod_cliente = cli.cod_cliente
<small>WHERE    disparo.id_disparo = fila.id_disparo</small>


 and   agenda.cod_empresa = parm.cod_empresa
<small>         AND fila.cod_empresa = ag.crm_cod_empresa(+)</small>


 and   cli.cod_cliente    = div.cod_cliente
<small>         AND fila.cod_evento = ag.crm_cod_evento(+)</small>


 and agenda.status_agenda = 'A' -- se ja confirmada nao precisa 'C'
<small>-- tem que existir dados no template</small>


  AND Nvl(agenda.apagar_ao_sair, 'N') <> 'X'
<small>         AND EXISTS (SELECT a.cod_evento        FROM   vw_crm_template_agendamento a            WHERE  a.cod_empresa = fila.cod_empresa                       AND a.cod_evento = fila.cod_evento)</small>


 -- cliente tem flag de envio liberado
<small>-- disparos com data menor que agora</small>


 and nvl(div.crm_sms,'N') = 'N' 
<small>         AND fila.data_disparo <= SYSDATE</small>


 -- pega a turma do futuro: amanha, conforme parametro. se vazio poe 1 dia na frente
<small>-- Celular valido</small>


 and (agenda.data_agendada - nvl(parm.tempo_aviso_recepcao,1)) >trunc(sysdate)
<small>         AND Length(fila.ddd) = 2         AND Length(celular) >= 8</small>


 and (agenda.data_agendada - nvl(parm.tempo_aviso_recepcao,1)) <   trunc(sysdate+1)
<small>--Eventos ativos</small>


 --telefone celular tem que ser valido
<small>         AND fila.status = 'P'</small>


 and length(cli.prefixo_cel)   = 2
<small>-- parâmetro de Ativar LEADZAP OK</small>


 and length(cli.telefone_cel) >= 8
<small>         AND EXISTS (SELECT 1                FROM   crm_parm_fluxo p              WHERE  p.cod_empresa = fila.cod_empresa                 AND Nvl(p.ativar_leadzap, 'N') = 'S')</small>
'''<big>Query que lê a fila de disparos e envia mensagem</big>'''
SELECT   disparo.template,


         fila.ddd,
<small>-- Empresa tem que estar cruzada com algum número de LEADZAP</small>


         fila.celular,
<small>         AND EXISTS (SELECT 1         FROM   crm_whatsapp_empresa a         WHERE  a.cod_empresa = fila.cod_empresa)</small>


         fila.cod_empresa,
<small>ORDER BY fila.cod_empresa</small>
 
         fila.cod_evento,
 
         disparo.id_disparo,
 
         disparo.template,
 
         fila.id_disparo_fila,
 
         Nvl(fila.cod_os_agenda, ag.cod_os_agenda) cod_os_agenda
 
FROM     crm_disparo disparo,
 
         crm_disparo_fila fila,
 
         os_agenda ag
 
WHERE    disparo.id_disparo = fila.id_disparo
 
         AND fila.cod_empresa = ag.crm_cod_empresa(+)
 
         AND fila.cod_evento = ag.crm_cod_evento(+)
 
         AND EXISTS (SELECT a.cod_evento
 
                     FROM   vw_crm_template_agendamento a
 
                     WHERE  a.cod_empresa = fila.cod_empresa
 
                            AND a.cod_evento = fila.cod_evento)
 
         AND fila.data_disparo <= SYSDATE
 
         AND Length(fila.ddd) = 2
 
         AND Length(celular) >= 8
 
         AND fila.status = 'P'
 
         AND EXISTS (SELECT 1
 
                     FROM   crm_parm_fluxo p
 
                     WHERE  p.cod_empresa = fila.cod_empresa
 
                            AND Nvl(p.ativar_leadzap, 'N') = 'S')
 
         AND EXISTS (SELECT 1
 
                     FROM   crm_whatsapp_empresa a
 
                     WHERE  a.cod_empresa = fila.cod_empresa)
 
ORDER BY fila.cod_empresa

Edição atual tal como às 20h48min de 20 de agosto de 2020

SELECT   disparo.template,         fila.ddd,         fila.celular,         fila.cod_empresa,         fila.cod_evento,

         disparo.id_disparo,         disparo.template,         fila.id_disparo_fila,         Nvl(fila.cod_os_agenda, ag.cod_os_agenda) cod_os_agenda

FROM     crm_disparo disparo,         crm_disparo_fila fila,         os_agenda ag

WHERE    disparo.id_disparo = fila.id_disparo

         AND fila.cod_empresa = ag.crm_cod_empresa(+)

         AND fila.cod_evento = ag.crm_cod_evento(+)

-- tem que existir dados no template

         AND EXISTS (SELECT a.cod_evento        FROM   vw_crm_template_agendamento a            WHERE  a.cod_empresa = fila.cod_empresa                       AND a.cod_evento = fila.cod_evento)

-- disparos com data menor que agora

         AND fila.data_disparo <= SYSDATE

-- Celular valido

         AND Length(fila.ddd) = 2         AND Length(celular) >= 8

--Eventos ativos

         AND fila.status = 'P'

-- parâmetro de Ativar LEADZAP OK

         AND EXISTS (SELECT 1                FROM   crm_parm_fluxo p              WHERE  p.cod_empresa = fila.cod_empresa                 AND Nvl(p.ativar_leadzap, 'N') = 'S')

-- Empresa tem que estar cruzada com algum número de LEADZAP

         AND EXISTS (SELECT 1         FROM   crm_whatsapp_empresa a         WHERE  a.cod_empresa = fila.cod_empresa)

ORDER BY fila.cod_empresa