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
 
(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
'''<big>Agendamento - Lê as  Agendas programadas que ainda não foram para a fila</big>'''
<small>SELECT   disparo.template,         fila.ddd,         fila.celular,         fila.cod_empresa,         fila.cod_evento,</small>
'''<small>Job_LEADZAP_disparo_AGENDAMENTO</small>'''


<small>Select ev.cod_empresa, ev.cod_evento,    cli.prefixo_cel DDD,cli.telefone_cel Celular</small>
<small>         disparo.id_disparo,         disparo.template,         fila.id_disparo_fila,         Nvl(fila.cod_os_agenda, ag.cod_os_agenda) cod_os_agenda</small>


<small>from crm_eventos ev,      clientes cli  ,   cliente_diverso div,     crm_programacao prog     </small>
<small>FROM     crm_disparo disparo,         crm_disparo_fila fila,         os_agenda ag</small>


<small>  </small>
<small>WHERE    disparo.id_disparo = fila.id_disparo</small>


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


<small>and  ev.cod_programacao = prog.cod_programacao</small>
<small>         AND fila.cod_evento = ag.crm_cod_evento(+)</small>


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


<small>-- eventos pendentes</small>
<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>


<small>'''and   ev.status = 'P'''' </small>
<small>-- disparos com data menor que agora</small>


<small>-- nao pode estar na tabela de disparo, pois se ja esta, ja chegou onde queriamos</small>
<small>         AND fila.data_disparo <= SYSDATE</small>


'''<small>and ev.cod_evento not in (select cod_evento from crm_disparo_fila)</small>'''
<small>-- Celular valido</small>


<small>-- nao pode ter flags marcado</small>
<small>         AND Length(fila.ddd) = 2         AND Length(celular) >= 8</small>


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


<small>-- so pega valido celular</small>
<small>         AND fila.status = 'P'</small>


<small>'''and length(trim(cli.prefixo_cel)) = 2  and length(trim(cli.telefone_cel)) in (8,9)''' </small>
<small>-- parâmetro de Ativar LEADZAP OK</small>


<small>-- pega os agendados para hoje (ou seja,ligaria hoje para agendar)</small>
<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>


'''<small>and ev.data_novo_contato >= trunc(sysdate)</small>'''
<small>-- Empresa tem que estar cruzada com algum número de LEADZAP</small>


'''<small>and ev.data_novo_contato <  trunc(sysdate+1)</small>'''
<small>         AND EXISTS (SELECT 1         FROM   crm_whatsapp_empresa a         WHERE  a.cod_empresa = fila.cod_empresa)</small>


'''<big>Lembrete - Query que seleciona os eventos Agendados a confirmar para disparo</big>'''
<small>ORDER BY fila.cod_empresa</small>
<small>SELeCT agenda.cod_empresa, agenda.cod_os_agenda , </small>
 
<small> cli.prefixo_cel , cli.telefone_cel, agenda.data_agendada</small>
 
<small> from  os_agenda agenda , clientes cli, crm_parm_fluxo parm, cliente_diverso div</small>
 
<small> where agenda.cod_cliente = cli.cod_cliente</small>
 
<small> and   agenda.cod_empresa = parm.cod_empresa</small>
 
<small> and   cli.cod_cliente    = div.cod_cliente</small>
 
<small> '''and agenda.status_agenda = 'A' -- se ja confirmada nao precisa 'C''''</small>
 
<small>  AND Nvl(agenda.apagar_ao_sair, 'N') <> 'X'</small>
 
<small> -- cliente tem flag de envio liberado</small>
 
<small> '''and nvl(div.crm_sms,'N') = 'N'''' </small>
 
<small> -- pega a turma do futuro: amanha, conforme parametro. se vazio poe 1 dia na frente</small>
 
<small> '''and (agenda.data_agendada - nvl(parm.tempo_aviso_recepcao,1)) >=  trunc(sysdate)'''</small>
 
'''<small> and (agenda.data_agendada - nvl(parm.tempo_aviso_recepcao,1)) <   trunc(sysdate+1)</small>'''
 
<small> --telefone celular tem que ser valido</small>
 
<small> '''and length(cli.prefixo_cel)   = 2   and length(cli.telefone_cel) >= 8'''</small>
 
'''<big>No Show - Query que lê as Agendas que não compareceram e alimenta a fila</big>'''
<small>SELeCT agenda.cod_empresa, agenda.cod_os_agenda , cli.prefixo_cel , cli.telefone_cel, agenda.data_agendada</small>
 
<small>from  os_agenda agenda , clientes cli, crm_parm_fluxo parm, CRM_EVENTOS EV,   cliente_diverso div</small>
 
<small>where agenda.cod_cliente = cli.cod_cliente</small>
 
<small>and   agenda.cod_empresa = parm.cod_empresa</small>
 
<small>AND AGENdA.CRM_COD_EMPRESA = EV.COD_EMPRESA</small>
 
<small>and agenda.crm_cod_evento  = ev.cod_evento</small>
 
<small>and  cli.cod_cliente    = div.cod_cliente</small>
 
<small>-- Cliente nao pode ter flags marcado</small>
 
<small>'''and nvl(div.crm_sms,'N') = 'N''''</small>
 
<small>-- AGENDA TEM QUE ESTAR ATIVA</small>
 
<small>AND Nvl(agenda.apagar_ao_sair, 'N') <> 'X'</small>
 
<small>'''AND agenda.status_agenda IN ('C', 'A')'''</small>
 
<small>-- TEM QUE SER HOJE</small>
 
<small>'''and (agenda.data_agendada) >=  trunc(sysdate)  and  (agenda.data_agendada) <   trunc(sysdate+1)'''</small>
 
<small>-- QUE QUE TER ULTRAPASSADO O LIMITE DE HORAS . SE NAO MARCARAM O PARAMEtro VOU COLCOAR 4 HORAS</small>
 
<small>'''and (SYSDATE  - agenda.data_agendada)/24 >   nvl(PARM.tempo_horas_para_voltar_agenda,(4/24))'''</small>
 
<small>--telefone celular tem que ser valido</small>
 
<small>'''and length(cli.prefixo_cel)   = 2  and length(cli.telefone_cel) >= 8'''</small>
 
'''<big>Query que lê a fila TODOS os tipos 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(+)
 
'''-- 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

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