Query executada cliente não respondeu: 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
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 6: Linha 6:


  Query
  Query
'''-- Eventos que vieram de disparo (ATIVOS)'''
<small>SELECT E.COD_EMPRESA,  E.COD_EVENTO,                             F.ID_DISPARO</small>


select e.cod_empresa, e.cod_evento, id_disparo
<small>FROM CRM_EVENTOS E,     CRM_DISPARO_FILA F,     PARM_SYS3 PS</small>


from crm_eventos e, crm_disparo_fila f
<small>WHERE E.COD_EVENTO  = F.COD_EVENTO</small>


where e.cod_evento  = f.cod_evento
<small>  AND E.COD_EMPRESA = PS.COD_EMPRESA</small>


and f.status = 'E'  -- enviado
<small>  AND F.STATUS      = 'E'  --ENVIADO</small>


and e.status = 'P' -- Evento pendente
<small>  --Tira Cliente = 1</small>


and not exists (select 1 from crm_chatbot_resposta where cod_evento = e.cod_evento)  --nao foi respondido
<small>  AND E.COD_CLIENTE <> 1</small>


and (sysdate - f.data_disparo) > 1 --  24 horas do disparo
<small>  AND NOT EXISTS (SELECT 1</small>


'''union'''
<small>                  FROM CRM_CHATBOT_RESPOSTA R</small>


'''-- Eventos que vieram de clientes (Passivo)'''
<small>                  WHERE R.COD_EVENTO = E.COD_EVENTO</small>


select e.cod_empresa, e.cod_evento, 0
<small>                   AND R.COD_EMPRESA = E.COD_EMPRESA</small>


from crm_eventos e
<small>                   AND R.ID_DISPARO = F.ID_DISPARO) --NAO FOI RESPONDIDO</small>


where e.status = 'P' -- Evento pendente
<small>   AND (SYSDATE - F.DATA_DISPARO) > NVL('''PS.LEADZAP_NAO_RESPONDEU,''' 1)</small> 


and not exists (select 1 from crm_chatbot_resposta where cod_evento = e.cod_evento)  --nao foi respondido
<small>     </small>


and cod_programacao in (1000002) --- Agendamento somente
<small>  '''Insert Into Crm_Chatbot_Resposta'''</small>


and (sysdate - e.data_evento) >  <parâmetro de dias: 1 ou 2 ou 3>
<small>   (COD_EMPRESA, COD_EVENTO, ID_DISPARO, ID_ITEM)</small><small>        Values</small><small     (CHAT_BOT.Cod_Empresa, CHAT_BOT.Cod_Evento, CHAT_BOT.Id_Disparo, 99);</small>
 
Ação
Insert into '''CRM_CHATBOT_RESPOSTA'''
{| class="wikitable"
|COD_EMPRESA
 
COD_EVENTO
 
ID_DISPARO
|DA QUERY
|-
|ID_ITEM
|99   -- FIXO
|}

Edição atual tal como às 15h13min de 14 de setembro de 2020

Conceito

Quando o cliente responder ao chatbot, vamos guardar a resposta na tabela “CRM_CHATBOT_RESPOSTA”

Ou seja, se não tem registro nesta tabela, ainda não respondeu

Imagechatnresp.png
Query

SELECT E.COD_EMPRESA,  E.COD_EVENTO,                             F.ID_DISPARO

FROM CRM_EVENTOS E,     CRM_DISPARO_FILA F,     PARM_SYS3 PS

WHERE E.COD_EVENTO  = F.COD_EVENTO

  AND E.COD_EMPRESA = PS.COD_EMPRESA

  AND F.STATUS      = 'E'  --ENVIADO

  --Tira Cliente = 1

  AND E.COD_CLIENTE <> 1

  AND NOT EXISTS (SELECT 1

                  FROM CRM_CHATBOT_RESPOSTA R

                  WHERE R.COD_EVENTO = E.COD_EVENTO

                   AND R.COD_EMPRESA = E.COD_EMPRESA

                   AND R.ID_DISPARO = F.ID_DISPARO) --NAO FOI RESPONDIDO

  AND (SYSDATE - F.DATA_DISPARO) > NVL(PS.LEADZAP_NAO_RESPONDEU, 1) 

     

  Insert Into Crm_Chatbot_Resposta

   (COD_EMPRESA, COD_EVENTO, ID_DISPARO, ID_ITEM)        Values       (CHAT_BOT.Cod_Empresa, CHAT_BOT.Cod_Evento, CHAT_BOT.Id_Disparo, 99);