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

De Wiki NBS
Ir para navegação Ir para pesquisar
(Criou página com ''''<big>Query que seleciona os eventos para disparo</big>''' SELeCT agenda.cod_empresa, agenda.cod_os_agenda ,   cli.prefixo_cel , cli.telefone_cel, agenda.data_agendada...')
 
Sem resumo de edição
 
(9 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 , 
<small>         disparo.id_disparo,         disparo.template,         fila.id_disparo_fila,         Nvl(fila.cod_os_agenda, ag.cod_os_agenda) cod_os_agenda</small>


 cli.prefixo_cel , cli.telefone_cel, agenda.data_agendada
<small>FROM     crm_disparo disparo,         crm_disparo_fila fila,         os_agenda ag</small>


 from  os_agenda agenda , clientes cli, crm_parm_fluxo parm, cliente_diverso div
<small>WHERE    disparo.id_disparo = fila.id_disparo</small>


 where agenda.cod_cliente = cli.cod_cliente
<small>         AND fila.cod_empresa = ag.crm_cod_empresa(+)</small>


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


 and   cli.cod_cliente    = div.cod_cliente
<small>-- tem que existir dados no template</small>


 and agenda.status_agenda = 'A' -- se ja confirmada nao precisa 'C'
<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 Nvl(agenda.apagar_ao_sair, 'N') <> 'X'
<small>-- disparos com data menor que agora</small>


 -- cliente tem flag de envio liberado
<small>         AND fila.data_disparo <= SYSDATE</small>


 and nvl(div.crm_sms,'N') = 'N' 
<small>-- Celular valido</small>


 -- pega a turma do futuro: amanha, conforme parametro. se vazio poe 1 dia na frente
<small>         AND Length(fila.ddd) = 2         AND Length(celular) >= 8</small>


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


 and (agenda.data_agendada - nvl(parm.tempo_aviso_recepcao,1)) <   trunc(sysdate+1)
<small>         AND fila.status = 'P'</small>


 --telefone celular tem que ser valido
<small>-- parâmetro de Ativar LEADZAP OK</small>


 and length(cli.prefixo_cel)   = 2
<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 length(cli.telefone_cel) >= 8
<small>-- Empresa tem que estar cruzada com algum número de LEADZAP</small>


'''<big>Query que lê a fila de disparos e envia mensagem</big>'''
<small>         AND EXISTS (SELECT 1         FROM   crm_whatsapp_empresa a         WHERE  a.cod_empresa = fila.cod_empresa)</small>
 
<small>ORDER BY fila.cod_empresa</small>

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