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
 
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
Agenda- Query que lê os Eventos que já estão aptos a serem contactados
<small>SELECT   disparo.template,         fila.ddd,         fila.celular,         fila.cod_empresa,         fila.cod_evento,</small>
'''Query que lê as Programações ativas'''


select id_prog , prog_nome,SUM(A.TOT_EVENTOS)/COUNT(*) tOT_EVENTOS   
<small>         disparo.id_disparo,         disparo.template,         fila.id_disparo_fila,         Nvl(fila.cod_os_agenda, ag.cod_os_agenda) cod_os_agenda</small>


from [[vw_crm_service_programacao]] A      
<small>FROM     crm_disparo disparo,         crm_disparo_fila fila,         os_agenda ag</small>


group by id_prog,prog_nome
<small>WHERE    disparo.id_disparo = fila.id_disparo</small>


'''<big>Lembrete - Query que seleciona os eventos para disparo</big>'''
<small>         AND fila.cod_empresa = ag.crm_cod_empresa(+)</small>
SELeCT agenda.cod_empresa, agenda.cod_os_agenda , 


 cli.prefixo_cel , cli.telefone_cel, agenda.data_agendada
<small>         AND fila.cod_evento = ag.crm_cod_evento(+)</small>


 from  os_agenda agenda , clientes cli, crm_parm_fluxo parm, cliente_diverso div
<small>-- tem que existir dados no template</small>


 where agenda.cod_cliente = cli.cod_cliente
<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>


 and   agenda.cod_empresa = parm.cod_empresa
<small>-- disparos com data menor que agora</small>


 and   cli.cod_cliente    = div.cod_cliente
<small>         AND fila.data_disparo <= SYSDATE</small>


 and agenda.status_agenda = 'A' -- se ja confirmada nao precisa 'C'
<small>-- Celular valido</small>


  AND Nvl(agenda.apagar_ao_sair, 'N') <> 'X'
<small>         AND Length(fila.ddd) = 2         AND Length(celular) >= 8</small>


 -- cliente tem flag de envio liberado
<small>--Eventos ativos</small>


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


 -- pega a turma do futuro: amanha, conforme parametro. se vazio poe 1 dia na frente
<small>-- parâmetro de Ativar LEADZAP OK</small>


 and (agenda.data_agendada - nvl(parm.tempo_aviso_recepcao,1)) >=  trunc(sysdate)
<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>


 and (agenda.data_agendada - nvl(parm.tempo_aviso_recepcao,1)) <   trunc(sysdate+1)
<small>-- Empresa tem que estar cruzada com algum número de LEADZAP</small>


 --telefone celular tem que ser valido
<small>         AND EXISTS (SELECT 1         FROM   crm_whatsapp_empresa a         WHERE  a.cod_empresa = fila.cod_empresa)</small>


 and length(cli.prefixo_cel)   = 2
<small>ORDER BY fila.cod_empresa</small>
 
 and length(cli.telefone_cel) >= 8
 
No Show - Query que lê as Agendas que não compareceram e alimenta a fila
'''<big>Query que lê a fila de disparos e envia mensagem</big>'''
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(+)
 
         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