Enel Brasil

Queries históricas · parte 12

Conhecimento observado em queries históricas reais.
Base RCO / Queries históricas
### QUERY: Oportunidade Ebilling Lojas.sql
Data: 2024-03-01 22:52:36
Tópicos: CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_asset_brazil_rio; bi_brrj_act.bt_brrj_requestqlik; dp_brrj.bt_de_para_motivos_requestqlik
JOINs: 2
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
drop table if exists Consulta_DACC_EBILL;
create temporary table Consulta_DACC_EBILL as (
select
ROW_NUMBER() OVER (PARTITION BY cdc_pod_id ORDER BY dte_validity_start_date DESC) as ordem,
fk_external_asset_id,
cdc_pod_id,
fk_local_customer_id,
sds_tension_group,
fln_top_large,
sds_aggregate_cluster_local,
lds_local_segment,
lds_asset_city,
dte_ebill_activation_date,
dte_ebill_deactivation_date,
mds_ebill_deactivation_reason,
fln_risk_areas,
fln_automatic_debit,
dte_validity_start_date,
sds_asset_status_local
from global_brasil_rio.bt_global_asset_brazil_rio
);
drop table if exists EBILL;
create temporary table EBILL as (
select fk_external_asset_id
,cdc_pod_id
,fk_local_customer_id
,sds_asset_status_local
,sds_tension_group
,sds_aggregate_cluster_local
,lds_local_segment
,lds_asset_city
,dte_ebill_activation_date
,dte_ebill_deactivation_date
,mds_ebill_deactivation_reason
,case
when mds_ebill_deactivation_reason is null or mds_ebill_deactivation_reason = ''
then 'S'
else 'N'
end as Fatura_digital
,fln_risk_areas
,fln_automatic_debit
,fln_top_large
,dte_validity_start_date
from Consulta_DACC_EBILL
where
ordem = '1');
drop table if exists oportunidade;
create temporary table oportunidade as (
select distinct
ROW_NUMBER() OVER (PARTITION BY numero_ponto_de_fornecimento ORDER BY data_criacao desc) as ordem_atend,
cta_contrato,
numero_ponto_de_fornecimento as pod,
id_conta_salesforce,
numero_caso,
tipo_caso,
A.motivo,
A.submotivo,
C.motivo_tratado,
canal_oficial,
tipocanal,
ano,
mes,
dia,
B.fatura_Digital,
B.dte_ebill_activation_date,
B.dte_ebill_deactivation_date,
data_criacao,
data_fechamento_caso AS data_fechamento,
case
when B.dte_ebill_activation_date isnull then 'Nunca Teve Fatura Digital'
when B.Fatura_digital = 'S' and left(B.dte_ebill_activation_date,7) = left(data_criacao,7) then 'Convertido'
when left(B.dte_ebill_activation_date,7) = left(data_criacao,7) and left(B.dte_ebill_activation_date,10) > left(data_criacao,10) then 'Convertido'
when B.Fatura_digital = 'N' and left(B.dte_ebill_activation_date,7) = left(data_criacao,7) then 'Convertido'
when B.Fatura_digital = 'N' and left(B.dte_ebill_activation_date,7) = left(data_criacao,7) then 'Convertido'
when B.Fatura_digital = 'S' and left(B.dte_ebill_activation_date,10) > left(data_criacao,10) then 'Convertido'
when B.Fatura_digital = 'S' and B.dte_ebill_activation_date <= data_criacao then 'Já Possuia Fatura Digital'
when B.Fatura_digital = 'N' and DATEDIFF(DAY, CAST(LEFT(A.data_criacao, 10) AS DATE), CAST(LEFT(B.dte_ebill_deactivation_date, 10) AS DATE)) between -365 and 0 then 'Já teve nos últimos 12 meses'
when B.Fatura_digital = 'N' and DATEDIFF(DAY, CAST(LEFT(A.data_criacao, 10) AS DATE), CAST(LEFT(B.dte_ebill_deactivation_date, 10) AS DATE)) < -365 then 'Já teve há mais de 12 meses'
when B.Fatura_digital = 'N' and DATEDIFF(DAY, CAST(LEFT(A.data_criacao, 10) AS DATE), CAST(LEFT(B.dte_ebill_deactivation_date, 10) AS DATE)) > 0 then 'Descadastrou após atendimento'
end as Oportunidade_Ebilling
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
left join EBILL B on B.cdc_pod_id = a.numero_ponto_de_fornecimento
where ano >= '2024'
and canal_oficial IN ('Lojas', 'Whatsapp Lojas', '[VALOR_OMITIDO]'));
select * from oportunidade
where ordem_atend = '1'
```

### QUERY: Fuga de Divida.sql
Data: 2024-02-28 12:49:26
Tópicos: COBRANCA
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_asset_brazil_rio; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_bill.bt_brrj_inadim
JOINs: 3
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
drop table if exists medidores;
create temporary table medidores as (
select cdc_counter_serial_number,dte_validity_start_date as data_troca, count(fk_external_asset_id) as qtd_conta_contrato
from global_brasil_rio.bt_global_asset_brazil_rio
where mds_termination_mode IN ('004-TITULARITY TRANSFER', '[VALOR_OMITIDO]')
and left(dte_validity_start_date,10) >= '2023-01-01'
and sds_tension_group = 'B'
group by
1,2
having qtd_conta_contrato > 2);
drop table if exists clientes;
create temporary table clientes as (
select distinct
B.cdc_counter_serial_number as medidor,
accountcontract__c as UCs,
A.pk_asset_id as id,
lastmodifieddate_asset as data_modificacao,
sds_aggregate_cluster_local as segmento,
C.identitynumber__c as documento
from global_brasil_rio.bt_global_asset_brazil_rio A
inner join medidores B on B.cdc_counter_serial_number = A.cdc_counter_serial_number
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro C on C.id_asset = A.pk_asset_id);
select
medidor
,ucs
,id
,data_modificacao
,segmento
,documento
,num_contas_atraso
,B.divida
from clientes A
left join (select conta_contrato, num_contas_atraso, sum(valor_deb_venc)+0 as divida
from bi_brrj_bill.bt_brrj_inadim where ano_mes_selecao = '[VALOR_OMITIDO]'
group by
1,2
) B on B.conta_contrato = A.ucs
where divida > 0
order by
medidor,
data_modificacao desc,
ucs
```

### QUERY: DNA QRT.sql
Data: 2024-02-28 10:45:36
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; dp_brrj.bt_de_para_motivos_requestqlik
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
cta_contrato,
ano||mes,
id_conta_salesforce,
tipo_caso,
A.motivo,
C.motivo_tratado,
canal_caso,
canal_oficial,
tipocanal,
count(numero_caso) as qtd
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
where ano IN ('2022', '2023') AND id_conta_salesforce IN ([LISTA_DE_VALORES_OMITIDA]) AND A.motivo <> 'MOT001-Sol Registro Aviso Emergencial'
GROUP BY
1,2,3,4,5,6,7,8,9;
```

### QUERY: Oportunidade Cadastro E-mail e Celular.sql
Data: 2024-02-21 11:40:32
Tópicos: CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
cta_contrato,
loja,
br_atendente,
canal_oficial,
case
when b.email isnull then 0 else 1
end as valida_email,
case
when B.celular isnull then 0 else 1
end as Telefone,
valida_email+telefone as Check_Contato,
count(numero_caso) as qtd_contatos
from BI_BRRJ_ACT.bt_brrj_requestqlik A
left join BI_BRRJ_CUS.bt_brrj_relatorio_de_cadastro B on B.accountid = A.id_conta_salesforce
where ANO = '2024' and MES = '1' and motivo not IN ('MOT001-Sol Registro Aviso Emergencial', 'MOT001-')
and tipocanal = 'Humano' and Canal_Oficial IN ('Lojas', 'Call Center', 'Ouvidoria') and check_contato < 2
and cta_contrato is not null
group by
1,2,3,4,5,6,7
```

### QUERY: Funil Parcelamento Ce.sql
Data: 2024-02-19 12:15:30
Tópicos: COBRANCA
Empresas detectadas: ENEL CE
Objetos: bi_brce_act.bt_brce_requestqlik; global_brasil_rio.bt_global_asset_brazil_rio; bi_brce_bill.bt_brce_inadim; bi_brce_bill.bt_brce_parcel_macro; bi_brce_bill.bt_brce_parcel_cota; dp_brce.breps
JOINs: 9
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS _variables;
CREATE TEMPORARY TABLE _variables AS (
SELECT
TO_CHAR(DATE_TRUNC('MONTH', CURRENT_DATE), 'YYYYMMDD')::nvarchar(8) as start_date_loja,
TO_CHAR(DATE_TRUNC('MONTH', CURRENT_DATE), 'YYYYMMDD')::nvarchar(8) as start_date_callcenter,
TO_CHAR(DATE_TRUNC('MONTH', CURRENT_DATE), 'YYYYMMDD')::nvarchar(8) as start_date_digitais,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 month' - INTERVAL '1 day'), 'YYYYMMDD') as end_date_loja)::nvarchar(8) as end_date_loja,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 month' - INTERVAL '1 day'), 'YYYYMMDD') as end_date_callcenter)::nvarchar(8) as end_date_callcenter,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 month' - INTERVAL '1 day'), 'YYYYMMDD') as end_date_digitais)::nvarchar(8) as end_date_digitais,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 month' - INTERVAL '1 day'), 'YYYY-MM-DD') as ref_venc_inad)::date as ref_venc_inad,
TO_CHAR(DATE_TRUNC('MONTH', CURRENT_DATE), 'YYYYMM')::nvarchar(6) as ref,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) - INTERVAL '1 month'), 'YYYYMM') as ref_ant)::nvarchar(6) as ref_ant
);
DROP TABLE IF EXISTS _aux;
CREATE TEMPORARY TABLE _aux AS (
select
cast(ano*100+mes as char(6)) as anomes
,b.conta_contrato
,b.parceiro
,MAX(a.loja) AS LOJA
,case when canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas') then 'Loja'
when canal_usuario IN ([LISTA_DE_VALORES_OMITIDA]) then 'Call Center'
when canal_caso IN ([LISTA_DE_VALORES_OMITIDA]) then 'Digitais'
else '' end as Canal
,max(case when canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas') then canal_oficial
when canal_caso IN ('[VALOR_OMITIDO]','CAN002-App') then 'APP'
when canal_caso IN ('8-CALL CENTER - AGENCIA VIRTUAL','CAN001-Web') THEN 'Web - Self operation'
when canal_caso IN ('96-CALL CENTER - AGENCIA NAO LOGADA') then 'Web Public - Self operation'
when canal_caso IN ('71-MAQUINAS DE AUTO ATENDIMENTO') then '[VALOR_OMITIDO]'
when canal_caso IN ('4-CALL CENTER - REDES SOCIAIS','[VALOR_OMITIDO]') then 'Social Network'
when canal_caso IN ('6-E-MAIL','90-CALL CENTER - FALE CONOSCO') then 'E-mail'
else '' end) as SubCanal
,max(br_atendente) as usuario
from bi_brce_act.bt_brce_requestqlik a
inner join (select distinct fk_local_customer_id,aa.conta_contrato,parceiro from
(select distinct fk_local_customer_id,cast(fk_external_asset_id as bigint) as conta_contrato
,cast(fk_external_local_customer_id as bigint) as parceiro
,dte_asset_end_date
from global_brasil_RIO.bt_global_asset_brazil_RIO
) aa
left join (select distinct conta_contrato,num_cliente
from bi_brce_bill.bt_brce_inadim where num_fatura <> '' and ano_mes_selecao = (select distinct ref_ant from _variables)) bb
on aa.conta_contrato = bb.conta_contrato and aa.parceiro = bb.num_cliente
where bb.conta_contrato is not null
or dte_asset_end_date >= (select start_date_loja from _variables)
or dte_asset_end_date is null) b
on (a.id_conta_salesforce = b.fk_local_customer_id)
where ano = cast((select left(ref,4) from _variables) as integer) and mes = cast((select right(ref,2) from _variables) as integer)
and ((canal_usuario IN (
'143-CALL CENTER - CLIENTE INTERNO',
'144-CALL CENTER - GERACAO DISTRIBUIDA',
'1-CALL CENTER - BACKOFFICE',
'7-CALL CENTER',
'CAN005-Call Center') and dataingresso between (select cast(start_date_callcenter as date) from _variables) and (select cast(end_date_callcenter as date) from _variables))
or (canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas') and dataingresso between (select cast(start_date_loja as date) from _variables) and (select cast(end_date_loja as date) from _variables))
or (canal_caso IN ([LISTA_DE_VALORES_OMITIDA]) and dataingresso between (select cast(start_date_loja as date) from _variables) and (select cast(end_date_loja as date) from _variables)))
GROUP BY ano,mes
,b.conta_contrato
,b.parceiro
,case when canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas') then 'Loja'
when canal_usuario IN ('143-CALL CENTER - CLIENTE INTERNO',
'144-CALL CENTER - GERACAO DISTRIBUIDA',
'1-CALL CENTER - BACKOFFICE',
'7-CALL CENTER',
'CAN005-Call Center') then 'Call Center'
when canal_caso IN ([LISTA_DE_VALORES_OMITIDA]) then 'Digitais'
else '' end
);
select a.canal,'RJ' as empresa,to_date(a.anomes||'01','YYYYMMDD') AS REF,a.loja,a.conta_contrato,usuario
,case when Art115_p = 1 and ISNULL(Parc,0) then 'Artigo 115'
when Art113_p = 1 and ISNULL(Parc,0) then 'Artigo 113'
when TOI_P = 1 and ISNULL(Parc,0) then 'TOI'
end as Parcelamento_anterior
,case when isnull(b.Inad_1,0) > 0 then 1 when isnull(b.Inad_61,0) > 0 then 1 else 0 end as Inadimplente
,case when toi = 1 and isnull(b.Inad_1,0) > 0 then 'Elegivel - TOI'
WHEN BaixaRenda = 1 and isnull(b.Inad_1,0) > 0 THEN 'Elegivel - Baixa Renda'
when a.anomes >= '[VALOR_OMITIDO]' and ISNULL(Parc,0) > 0 then 'Nao elegivel - Parcelamento contratado'
when isnull(Inad_61,0) > 0 then 'Elegivel - divida maior 60'
else 'Nao elegivel - sem divida maior 60' end as Elegivel
,case when d.numero_cliente is not null then 'Sim' else 'Nao' end as Contratacao_parcelamento
,desc_estado_parcel,desc_campanha
,case when toi = 1 and isnull(b.Inad_1,0) <= 100 then 1
WHEN BaixaRenda = 1 and isnull(b.Inad_1,0) <= 100 THEN 1
when a.anomes >= '[VALOR_OMITIDO]' and ISNULL(Parc,0) > 0 then 0
when isnull(Inad_61,0) <= 100 and b.BaixaRenda <> 1 and toi <> 1 then 1
else 0 end as Clientes_ate_100_reais
,case when b.qtde_faturas > 1 then 1 else 0 end as Duas_ou_mais_faturas
,case when b.toi = 1 and isnull(b.Inad_1,0) > 0 and isnull(f.Inad_1m_toi,0) <= 0 then 'Regularizou'
when b.toi = 1 and isnull(b.Inad_1,0) > 0 then 'Nao regularizou'
WHEN b.BaixaRenda = 1 and isnull(b.Inad_1,0) > 0 and isnull(f.Inad_1m_bxr,0) <= 0 THEN 'Regularizou'
WHEN b.BaixaRenda = 1 and isnull(b.Inad_1,0) > 0 THEN 'Nao regularizou'
when a.anomes >= '[VALOR_OMITIDO]' and ISNULL(Parc,0) > 0 then ''
when isnull(b.Inad_61,0) > 0 and isnull(f.Inad_61m,0) <= 0 then 'Regularizou'
when isnull(b.Inad_61,0) > 0 then 'Nao Regularizou'
else '' end as Regularizacao
,count(a.conta_contrato) as qtde_contas_atendidas
,sum(case when d.numero_cliente is not null then valor_negociado_original else 0 end) as valor_parcelamento
,sum(case when isnull(b.Inad_1,0) > 0 then b.Inad_1 when isnull(b.Inad_61,0) > 0 then b.Inad_61 else 0 end) as Inad_1
,sum(case when toi = 1 and isnull(b.Inad_1,0) > 0 then b.Inad_1
WHEN BaixaRenda = 1 and isnull(b.Inad_1,0) > 0 THEN b.Inad_1
when a.anomes >= '[VALOR_OMITIDO]' and ISNULL(Parc,0) > 0 then 0
when isnull(Inad_61,0) > 0 and toi <> 1 and baixarenda <> 1 then Inad_61
else 0 end) as Inad_61
,sum(case when d.numero_cliente is not null then faturado else 0 end) as faturado
,sum(case when d.numero_cliente is not null then arrecadado else 0 end) as arrecadado
,a.subcanal
from (
select * from _aux
union all
select left(data_criacao,6) as anomes,cast(x.numero_cliente as bigint) as conta_contrato,x.parceiro,'' as loja,'Loja' as canal
,case when desc_localidade = 'AUTO ATENDIMENTO' then '[VALOR_OMITIDO]' else 'Lojas' end as SubCanal,max(x.usuario) as usuario
from BI_brce_BILL.BT_brce_PARCEL_MACRO x
left join (select * from _aux where canal = 'Loja') y
on x.numero_cliente = y.conta_contrato and x.parceiro = y.parceiro and left(x.data_criacao,6) = y.anomes
where data_criacao between (select start_date_loja from _variables) and (select end_date_loja from _variables) and desc_localidade IN ('ATENDIMENTO PRESENCIAL','AUTO ATENDIMENTO') and y.conta_contrato is null
group by left(data_criacao,6),x.numero_cliente,x.parceiro
,case when desc_localidade = 'AUTO ATENDIMENTO' then '[VALOR_OMITIDO]' else 'Lojas' end
) a
left join (select ref,conta_contrato,parceiro
,sum(case when dias > 0 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1
,sum(case when dias > 60 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_61
,max(case when toi = 1 and dias between 1 and 1800 and valor_deb_total > 0 then 1 else 0 end) as toi
,max(case when classe = 'Residencial Baixa Renda' and dias between 1 and 1800 and valor_deb_total > 0 then 1 else 0 end) as BaixaRenda
,sum(case when dias between 1 and 1800 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1_1800
,count(*) as qtde_faturas
,max(case when valor_cota_parcela > 0 then 1 else 0 end) as Parc
,max(case when desc_campanha = 'ARTIGO 115' and valor_cota_parcela > 0 then 1 else 0 end) as Art115_p
,max(case when desc_campanha = 'ARTIGO 113' and valor_cota_parcela > 0 then 1 else 0 end) as Art113_p
,max(case when desc_campanha like '%TOI%' and valor_cota_parcela > 0 then 1 else 0 end) as TOI_p
from (select ano_mes_selecao as ref,conta_contrato,num_cliente as parceiro
,datediff(day,to_date(DATA_VENCIMENTO,'YYYY-MM-DD'),LAST_DAY(to_date(ano_mes_SELECAO||'01','YYYYMMDD'))) as dias
,valor_deb_total,valor_cota_parcela
,case when flag_toi = 'X' then 1 else 0 end as toi,classe,desc_campanha
from bi_brce_bill.bt_brce_inadim aa
left join (select bb.documento_impressao,desc_campanha
from BI_brce_BILL.BT_brce_PARCEL_cota bb
inner join (select corr_convenio,desc_campanha from BI_brce_BILL.BT_brce_PARCEL_macro
where desc_campanha IN ('ARTIGO 115','ARTIGO 113') or desc_campanha like '%TOI%') cc
on bb.corr_convenio = cc.corr_convenio) dd
on aa.num_parcelamento = dd.documento_impressao
where num_fatura is not null and ano_mes_selecao = (select ref_ant from _variables))
group by ref,conta_contrato,parceiro) b
on CAST(a.conta_contrato AS BIGINT) = CAST(b.conta_contrato AS BIGINT) and CAST(a.parceiro AS BIGINT) = CAST(b.parceiro AS BIGINT) and ADD_MONTHS(to_date(a.anomes||'01','YYYYMMDD'),-1) = TO_DATE(b.ref||'01','YYYYMMDD')
left join (select numero_cliente,parceiro
,case when desc_localidade IN ('ATENDIMENTO PRESENCIAL','AUTO ATENDIMENTO') then 'Loja'
when desc_localidade IN ('CALL CENTER') then 'Call Center'
when desc_localidade IN ('AGÊNCIA VIRTUAL WEB','APLICATIVO') then 'Digitais'
else '' end as Canal
,max(desc_campanha) as desc_campanha,max(desc_estado_parcel) as desc_estado_parcel
,left(data_criacao,6) as ref
,sum(cast(valor_negociado_original as decimal(18,2))) as valor_negociado_original
,sum(qtde_faturadas*valor_parcela) as faturado
,sum(valor_total_arrec) as arrecadado
from BI_brce_BILL.BT_brce_PARCEL_MACRO
where (desc_localidade IN ('ATENDIMENTO PRESENCIAL','AUTO ATENDIMENTO') and data_criacao between (select start_date_loja from _variables) and (select end_date_loja from _variables))
group by numero_cliente,parceiro,left(data_criacao,6)
,case when desc_localidade IN ('ATENDIMENTO PRESENCIAL','AUTO ATENDIMENTO') then 'Loja'
when desc_localidade IN ('CALL CENTER') then 'Call Center'
when desc_localidade IN ('AGÊNCIA VIRTUAL WEB','APLICATIVO') then 'Digitais'
else '' end) d
on cast(a.conta_contrato as bigint) = cast(d.numero_cliente as bigint) and cast(a.parceiro as bigint) = cast(d.parceiro as bigint) and a.anomes = d.ref and a.canal = d.canal
left join (select ano_mes_selecao as ref,conta_contrato,parceiro
,sum(case when dias > 60 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_61m
,sum(case when dias > 0 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1m
,sum(case when toi = 1 and dias > 0 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1m_toi
,sum(case when classe = 'Residencial Baixa Renda' and dias > 0 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1m_bxr
from (select ano_mes_selecao,CAST(conta_contrato as bigint) as conta_contrato,num_cliente as parceiro
,datediff(day,to_date(DATA_VENCIMENTO,'YYYY-MM-DD'),(select ref_venc_inad from _variables)) as dias
,classe,valor_deb_total,valor_cota_parcela,case when flag_toi = 'X' then 1 else 0 end as toi
from bi_brce_bill.bt_brce_inadim
where num_fatura is not null and ano_mes_selecao = (select ref from _variables))
group by ano_mes_selecao,conta_contrato,parceiro) f
on CAST(a.conta_contrato AS BIGINT) = CAST(f.conta_contrato AS BIGINT) and CAST(a.parceiro AS BIGINT) = CAST(f.parceiro AS BIGINT) and a.anomes = f.ref
left
[TRUNCADO PARA BASE DE CONHECIMENTO]
```

### QUERY: Solução Ebil vs 2° via.sql
Data: 2024-02-18 11:47:34
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_asset_brazil_rio; bi_brrj_act.bt_brrj_requestqlik; dp_brrj.bt_de_para_motivos_requestqlik
JOINs: 2
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
drop table if exists Consulta_DACC_EBILL;
create temporary table Consulta_DACC_EBILL as (
select
ROW_NUMBER() OVER (PARTITION BY cdc_pod_id ORDER BY dte_validity_start_date DESC) as ordem,
fk_external_asset_id,
cdc_pod_id,
fk_local_customer_id,
sds_tension_group,
fln_top_large,
sds_aggregate_cluster_local,
lds_local_segment,
lds_asset_city,
dte_ebill_activation_date,
dte_ebill_deactivation_date,
mds_ebill_deactivation_reason,
fln_risk_areas,
fln_automatic_debit,
dte_validity_start_date,
sds_asset_status_local
from global_brasil_rio.bt_global_asset_brazil_rio
);
drop table if exists EBILL;
create temporary table EBILL as (
select fk_external_asset_id
,cdc_pod_id
,fk_local_customer_id
,sds_asset_status_local
,sds_tension_group
,sds_aggregate_cluster_local
,lds_local_segment
,lds_asset_city
,dte_ebill_activation_date
,dte_ebill_deactivation_date
,mds_ebill_deactivation_reason
,case
when mds_ebill_deactivation_reason is null or mds_ebill_deactivation_reason = ''
then 'S'
else 'N'
end as Fatura_digital
,fln_risk_areas
,fln_automatic_debit
,fln_top_large
,dte_validity_start_date
from Consulta_DACC_EBILL
where
ordem = '1');
select * from ebill where fk_external_asset_id = '[VALOR_OMITIDO]';
select distinct
cta_contrato,
interacao,
numero_caso,
tipo_caso,
A.motivo,
A.submotivo,
C.motivo_tratado,
canal_oficial,
tipocanal,
ano,
mes,
dia,
B.dte_ebill_activation_date,
data_criacao,
case
when B.Fatura_digital = 'S' and B.dte_ebill_activation_date <= data_criacao then 'S' else 'N'
end as Fatura_Digital,
data_fechamento_caso AS data_fechamento
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
left join EBILL B on B.fk_external_asset_id = a.cta_contrato
where ano = '2023' and tipo_caso = 'Solicitação' and canal_oficial = 'Lojas'
and MOTIVO_TRATADO IN ('TROCA DE TITULARIDADE', 'TROCA/COBRANCA/PARCELAMENTO') and cta_contrato <> '0'
and cta_contrato IN ('[VALOR_OMITIDO]')
order by
cta_contrato
```

### QUERY: Divida Credit Recovery.sql
Data: 2024-02-15 11:22:34
Tópicos: COBRANCA
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_bill.bt_brrj_inadim; global_brasil_rio.bt_global_asset_brazil_rio; global_brasil_rio.bt_global_billing_brazil_rio; dp_brrj.tb_capilaridade_credit_recovery; bi_brrj_coll.bt_brrj_faturamento; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_bill.bt_brrj_cip_faturado
JOINs: 12
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
SELECT distinct
a.classe as Categoria,
case when D.segmento is null then e.segmento else d.segmento end as Segmento,
D.Classe,
[Area] as Macro_área,
case
WHEN [Area] = 'EDUCAÇÃO' THEN 'EDUCAÇÃO'
WHEN [AREA] IN ('ILUMINAÇÃO PÚBLICA','ILUMINAÇÕES FESTIVAS') THEN 'IP'
WHEN [AREA] = 'SAÚDE' THEN 'SAÚDE'
WHEN [AREA] IN ([LISTA_DE_VALORES_OMITIDA]) THEN 'OUTROS'
WHEN [AREA] IN ([LISTA_DE_VALORES_OMITIDA]) THEN 'PRÓPRIOS' ELSE 'OUTROS' END AS Cluster,
A.conta_contrato,
D.Coletiva,
G.nr_medidor as Medidor,
D.uc as nome,
D.descricao as descricao,
D.orgao_controlador,
executivo,
doc_fiscal,
num_fatura,
A.fatura_coletiva,
billing_periodo as referencia,
a.data_faturamento,
B.sds_tension_group as Tipo_Cliente,
sds_global_bill_type as Tipo_Fatura,
case when [Data_Vencimento] < sysdate then 'Vencida' else 'A Vencer' end as Status_Vencimento,
case
when DATEDIFF(month, TO_DATE(cast(data_vencimento as date) , 'YYYY-MM-DD'), TO_DATE(cast(ultima_att as date), 'YYYY-MM-DD')) = 0 then 'Vencendo'
when DATEDIFF(month, TO_DATE(cast(data_vencimento as date) , 'YYYY-MM-DD'), TO_DATE(cast(ultima_att as date), 'YYYY-MM-DD')) > 0 then 'Vencida' else 'A Vencer' end as Status_Conta,
cast(replace([Valor_Deb_Venc], ',', '.') as decimal(17,2)) as Valor_deb_Venc,
cast(replace([Valor_Deb_Total],',', '.') as decimal(17,2)) as divida_nominal,
juros,
igpm as IPCA,
case when status_vencimento = 'Vencida' then divida_nominal * 0.02 else 0 end as Multa,
case when right([Data_Vencimento],2) <='07' then '1° Semana'
when right([Data_Vencimento],2) <='14' then '2° Semana'
when right([Data_Vencimento],2) <='21' then '3° Semana' else '4° Semana' end as Semana_Vencimento,
CASE WHEN JUROS IS NULL OR IGPM IS NULL THEN [valor_deb_total] ELSE CASE WHEN [valor_deb_total] + [juros] + [IGPM] IS NULL then 0 else [valor_deb_total] + [juros] + [IGPM] END END as Dívida_Atualizada,
cast(replace([Num_Contas_Atraso],',', '.') as decimal(17,2)) as Numero_Contas_Atraso,
cast(ultima_att as date) - cast([data_vencimento] as date) as Aging_Cliente,
case
when ([Aging_Cliente]<= 0) then 'A Vencer'
when ([Aging_Cliente]<= 30) then '1 - 30 dias'
when ([Aging_Cliente]<= 60) then '31 - 60 dias'
when ([Aging_Cliente]<= 90) then '61 - 90 dias'
when ([Aging_Cliente]<= 120) then '91 - 120 dias'
when ([Aging_Cliente]<= 150) then '121 - 150 dias'
when ([Aging_Cliente]<= 180) then '151 - 180 dias'
when ([Aging_Cliente]<= 365) then '181 - 365 dias'
when ([Aging_Cliente]<= 365) then '181 - 365 dias'
when ([Aging_Cliente]<= 730) then '1 - 2 anos'
when ([Aging_Cliente]<= 1095) then '2 - 3 anos'
when ([Aging_Cliente]<= 1460) then '3 - 4 anos'
when ([Aging_Cliente]<= 1825) then '4 - 5 anos'
when ([Aging_Cliente]> 1825) then '> 5 anos' end as Faixa_Aging,
Case when Tipo_Cliente = 'A' then 'Grupo A' else 'Grupo B' end as Tensão,
flag_toi,
valor_toi,
cast([Data_Vencimento] as date) as Data_Vencimento,
left(data_vencimento, 4) AS Ano_vencimento,
substring(data_vencimento,6,2) AS mes_vencimento,
ano_vencimento||mes_vencimento as Anomes_vencimento,
F.distributionaddress__c as end_instalacao,
F.neighbourhood__c as bairro,
F.municipality__c as cidade,
F.postal_code__c as CEP,
estado,
status,
estado_fornc_codigo,
estado_fornc_desc,
tipo_corte_realizado,
justica,
vital,
religa_cofianca,
bloqueio_corte,
bloqueio_cobranca,
bloqueio_juros,
bloqueio_multa,
bloqueio_refaturamento,
bloqueio_segunda_via,
bloqueio_parcelamento,
bloqueio_devolucao,
bloqueio_lanc_compensacao,
bloqueio_reav_dentro_conta,
bloqueio_reav_fora_conta,
bloqueio_tr_tit_sem_div,
bloqueio_tr_tit_com_div,
bloqueio_secutirizacao,
ano_mes_selecao,
ultima_att
from bi_brrj_bill.bt_brrj_inadim A
left join global_brasil_rio.bt_global_asset_brazil_rio B on B.cdc_pod_id = A.conta_contrato
left join global_brasil_rio.bt_global_billing_brazil_rio C on left(C.pk_bill_id,16) = A.num_fatura
left join dp_brrj.tb_capilaridade_credit_recovery D on D.numero_cliente = A.conta_contrato
left join (select numero_cliente, segmento, count(*) as qtd from bi_brrj_coll.bt_brrj_faturamento group by 1,2) E on E.numero_cliente = A.conta_contrato
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro F on F.accountcontract__c = A.conta_contrato
left join bi_brrj_bill.bt_brrj_cip_faturado G on G.conta_contrato = A.conta_contrato
WHERE A.classe IN ('Poder Público Estadual Adm. Indireta','Poder Público Municipal','Iluminação Pública', 'Poder Público Estadual', 'Poder Público Federal', 'Serviço Público')
AND
A.CONTA_CONTRATO < '[VALOR_OMITIDO]'
AND ano_mes_selecao = (select max(ano_mes_selecao) from bi_brrj_bill.bt_brrj_inadim)
union all
SELECT distinct
a.classe as Categoria,
case when D.segmento is null then e.segmento else d.segmento end as Segmento,
D.Classe,
[Area] as Macro_área,
case
WHEN [Area] = 'EDUCAÇÃO' THEN 'EDUCAÇÃO'
WHEN [AREA] IN ('ILUMINAÇÃO PÚBLICA','ILUMINAÇÕES FESTIVAS') THEN 'IP'
WHEN [AREA] = 'SAÚDE' THEN 'SAÚDE'
WHEN [AREA] IN ([LISTA_DE_VALORES_OMITIDA]) THEN 'OUTROS'
WHEN [AREA] IN ([LISTA_DE_VALORES_OMITIDA]) THEN 'PRÓPRIOS' ELSE 'OUTROS' END AS Cluster,
A.conta_contrato,
D.Coletiva,
G.nr_medidor as Medidor,
D.uc as nome,
D.descricao as descricao,
D.orgao_controlador,
executivo,
doc_fiscal,
num_fatura,
A.fatura_coletiva,
billing_periodo as referencia,
a.data_faturamento,
B.sds_tension_group as Tipo_Cliente,
sds_global_bill_type as Tipo_Fatura,
case when [Data_Vencimento] < sysdate then 'Vencida' else 'A Vencer' end as Status_Vencimento,
case
when DATEDIFF(month, TO_DATE(cast(data_vencimento as date) , 'YYYY-MM-DD'), TO_DATE(cast(ultima_att as date), 'YYYY-MM-DD')) = 0 then 'Vencendo'
when DATEDIFF(month, TO_DATE(cast(data_vencimento as date) , 'YYYY-MM-DD'), TO_DATE(cast(ultima_att as date), 'YYYY-MM-DD')) > 0 then 'Vencida' else 'A Vencer' end as Status_Conta,
cast(replace([Valor_Deb_Venc], ',', '.') as decimal(17,2)) as Valor_deb_Venc,
cast(replace([Valor_Deb_Total],',', '.') as decimal(17,2)) as divida_nominal,
juros,
igpm as IPCA,
case when status_vencimento = 'Vencida' then divida_nominal * 0.02 else 0 end as Multa,
case when right([Data_Vencimento],2) <='07' then '1° Semana'
when right([Data_Vencimento],2) <='14' then '2° Semana'
when right([Data_Vencimento],2) <='21' then '3° Semana' else '4° Semana' end as Semana_Vencimento,
CASE WHEN JUROS IS NULL OR IGPM IS NULL THEN [valor_deb_total] ELSE CASE WHEN [valor_deb_total] + [juros] + [IGPM] IS NULL then 0 else [valor_deb_total] + [juros] + [IGPM] END END as Dívida_Atualizada,
cast(replace([Num_Contas_Atraso],',', '.') as decimal(17,2)) as Número_Contas_Atraso,
cast(ultima_att as date) - cast([data_vencimento] as date) as Aging_Cliente,
case
when ([Aging_Cliente]<= 0) then 'A Vencer'
when ([Aging_Cliente]<= 30) then '1 - 30 dias'
when ([Aging_Cliente]<= 60) then '31 - 60 dias'
when ([Aging_Cliente]<= 90) then '61 - 90 dias'
when ([Aging_Cliente]<= 120) then '91 - 120 dias'
when ([Aging_Cliente]<= 150) then '121 - 150 dias'
when ([Aging_Cliente]<= 180) then '151 - 180 dias'
when ([Aging_Cliente]<= 365) then '181 - 365 dias'
when ([Aging_Cliente]<= 365) then '181 - 365 dias'
when ([Aging_Cliente]<= 730) then '1 - 2 anos'
when ([Aging_Cliente]<= 1095) then '2 - 3 anos'
when ([Aging_Cliente]<= 1460) then '3 - 4 anos'
when ([Aging_Cliente]<= 1825) then '4 - 5 anos'
when ([Aging_Cliente]> 1825) then '> 5 anos' end as Faixa_Aging,
Case when Tipo_Cliente = 'A' then 'Grupo A' else 'Grupo B' end as Tensão,
flag_toi,
valor_toi,
cast([Data_Vencimento] as date) as Data_Vencimento,
left(data_vencimento, 4) AS Ano_vencimento,
substring(data_vencimento,6,2) AS mes_vencimento,
ano_vencimento||mes_vencimento as Anomes_vencimento,
F.distributionaddress__c as end_instalacao,
F.neighbourhood__c as bairro,
F.municipality__c as cidade,
F.postal_code__c as CEP,
estado,
status,
estado_fornc_codigo,
estado_fornc_desc,
tipo_corte_realizado,
justica,
vital,
religa_cofianca,
bloqueio_corte,
bloqueio_cobranca,
bloqueio_juros,
bloqueio_multa,
bloqueio_refaturamento,
bloqueio_segunda_via,
bloqueio_parcelamento,
bloqueio_devolucao,
bloqueio_lanc_compensacao,
bloqueio_reav_dentro_conta,
bloqueio_reav_fora_conta,
bloqueio_tr_tit_sem_div,
bloqueio_tr_tit_com_div,
bloqueio_secutirizacao,
ano_mes_selecao,
ultima_att
from bi_brrj_bill.bt_brrj_inadim A
left join global_brasil_rio.bt_global_asset_brazil_rio B on B.cdc_pod_id = A.conta_contrato
left join global_brasil_rio.bt_global_billing_brazil_rio C on left(C.pk_bill_id,16) = A.num_fatura
left join dp_brrj.tb_capilaridade_credit_recovery D on D.numero_cliente = A.conta_contrato
left join (select numero_cliente, segmento, count(*) from bi_brrj_coll.bt_brrj_faturamento group by 1,2) E on E.numero_cliente = A.conta_contrato
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro F on F.accountcontract__c = A.conta_contrato
left join bi_brrj_bill.bt_brrj_cip_faturado G on G.conta_contrato = A.conta_contrato
WHERE tipo_cliente = 'GRPA' AND
A.classe not IN ('Poder Público Estadual Adm. Indireta','Residencial Baixa Renda','Poder Público Municipal','Iluminação Pública', 'Poder Público Estadual', 'Poder Público Federal', 'Serviço Público')
AND ano_mes_selecao = (select max(ano_mes_selecao) from bi_brrj_bill.bt_brrj_inadim)
```

### QUERY: Tutelas.sql
Data: 2024-02-05 19:02:52
Tópicos: JURIDICO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_clientes_ordem_servico; dp_brrj.tb_aux_depara_estado_ordens; dp_brrj.tb_aux_depara_tipo_servicos; dp_brrj.bt_brrj_sucursal
JOINs: 5
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then null
when trim(A.numero_ordem_relac) =' ' then null
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,numero_cliente
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,'SIM' as TUTELA
,G.polo
from
(
select distinct corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
sucursal,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
) A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS C on C.ESTADO = A.ESTADO
left join DP_BRRJ.TB_AUX_DEPARA_TIPO_SERVICOS D on D.CHAVE = A.tipo_ordem||A.cod_servico||RTRIM(A.des_servico)
left join (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join dp_brrj.bt_brrj_sucursal G on G.sucursal = A.sucursal
where A.des_servico IN ([LISTA_DE_VALORES_OMITIDA])
and ULTIMA_ETAPA = true and Status_ordem IN ('ABERTA', 'SUSPENSA')
order by
a.numero_ordem
,corr_visita ASC
```

### QUERY: Funil Negociacao.sql
Data: 2024-01-29 11:53:00
Tópicos: OUTROS
Empresas detectadas: ENEL CE, ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; global_brasil_rio.bt_global_asset_brazil_rio; bi_brrj_bill.bt_brrj_inadim; bi_brrj_bill.bt_brrj_parcel_macro; bi_brrj_bill.bt_brrj_parcel_cota; dp_brce.breps
JOINs: 9
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS _variables;
CREATE TEMPORARY TABLE _variables AS (
SELECT
TO_CHAR(DATE_TRUNC('MONTH', CURRENT_DATE), 'YYYYMMDD')::nvarchar(8) as start_date_loja,
TO_CHAR(DATE_TRUNC('MONTH', CURRENT_DATE), 'YYYYMMDD')::nvarchar(8) as start_date_callcenter,
TO_CHAR(DATE_TRUNC('MONTH', CURRENT_DATE), 'YYYYMMDD')::nvarchar(8) as start_date_digitais,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 month' - INTERVAL '1 day'), 'YYYYMMDD') as end_date_loja)::nvarchar(8) as end_date_loja,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 month' - INTERVAL '1 day'), 'YYYYMMDD') as end_date_callcenter)::nvarchar(8) as end_date_callcenter,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 month' - INTERVAL '1 day'), 'YYYYMMDD') as end_date_digitais)::nvarchar(8) as end_date_digitais,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 month' - INTERVAL '1 day'), 'YYYY-MM-DD') as ref_venc_inad)::date as ref_venc_inad,
TO_CHAR(DATE_TRUNC('MONTH', CURRENT_DATE), 'YYYYMM')::nvarchar(6) as ref,
(SELECT TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) - INTERVAL '1 month'), 'YYYYMM') as ref_ant)::nvarchar(6) as ref_ant
);
DROP TABLE IF EXISTS _aux;
CREATE TEMPORARY TABLE _aux AS (
select
cast(ano*100+mes as char(6)) as anomes
,b.conta_contrato
,b.parceiro
,MAX(a.loja) AS LOJA
,case when canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas') then 'Loja'
when canal_usuario IN ([LISTA_DE_VALORES_OMITIDA]) then 'Call Center'
when canal_caso IN ([LISTA_DE_VALORES_OMITIDA]) then 'Digitais'
else '' end as Canal
,max(case when canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas') then canal_oficial
when canal_caso IN ('[VALOR_OMITIDO]','CAN002-App') then 'APP'
when canal_caso IN ('8-CALL CENTER - AGENCIA VIRTUAL','CAN001-Web') THEN 'Web - Self operation'
when canal_caso IN ('96-CALL CENTER - AGENCIA NAO LOGADA') then 'Web Public - Self operation'
when canal_caso IN ('71-MAQUINAS DE AUTO ATENDIMENTO') then '[VALOR_OMITIDO]'
when canal_caso IN ('4-CALL CENTER - REDES SOCIAIS','[VALOR_OMITIDO]') then 'Social Network'
when canal_caso IN ('6-E-MAIL','90-CALL CENTER - FALE CONOSCO') then 'E-mail'
else '' end) as SubCanal
,max(br_atendente) as usuario
from bi_brRJ_act.bt_brRJ_requestqlik a
inner join (select distinct fk_local_customer_id,aa.conta_contrato,parceiro from
(select distinct fk_local_customer_id,cast(fk_external_asset_id as bigint) as conta_contrato
,cast(fk_external_local_customer_id as bigint) as parceiro
,dte_asset_end_date
from global_brasil_RIO.bt_global_asset_brazil_RIO
) aa
left join (select distinct conta_contrato,num_cliente
from bi_brRJ_bill.bt_brRJ_inadim where num_fatura <> '' and ano_mes_selecao = (select distinct ref_ant from _variables)) bb
on aa.conta_contrato = bb.conta_contrato and aa.parceiro = bb.num_cliente
where bb.conta_contrato is not null
or dte_asset_end_date >= (select start_date_loja from _variables)
or dte_asset_end_date is null) b
on (a.id_conta_salesforce = b.fk_local_customer_id)
where ano = cast((select left(ref,4) from _variables) as integer) and mes = cast((select right(ref,2) from _variables) as integer)
and ((canal_usuario IN (
'143-CALL CENTER - CLIENTE INTERNO',
'144-CALL CENTER - GERACAO DISTRIBUIDA',
'1-CALL CENTER - BACKOFFICE',
'7-CALL CENTER',
'CAN005-Call Center') and dataingresso between (select cast(start_date_callcenter as date) from _variables) and (select cast(end_date_callcenter as date) from _variables))
or (canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas') and dataingresso between (select cast(start_date_loja as date) from _variables) and (select cast(end_date_loja as date) from _variables))
or (canal_caso IN ([LISTA_DE_VALORES_OMITIDA]) and dataingresso between (select cast(start_date_loja as date) from _variables) and (select cast(end_date_loja as date) from _variables)))
GROUP BY ano,mes
,b.conta_contrato
,b.parceiro
,case when canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas') then 'Loja'
when canal_usuario IN ('143-CALL CENTER - CLIENTE INTERNO',
'144-CALL CENTER - GERACAO DISTRIBUIDA',
'1-CALL CENTER - BACKOFFICE',
'7-CALL CENTER',
'CAN005-Call Center') then 'Call Center'
when canal_caso IN ([LISTA_DE_VALORES_OMITIDA]) then 'Digitais'
else '' end
);
select a.canal,'RJ' as empresa,to_date(a.anomes||'01','YYYYMMDD') AS REF,a.loja,a.conta_contrato,usuario
,case when Art115_p = 1 and ISNULL(Parc,0) then 'Artigo 115'
when Art113_p = 1 and ISNULL(Parc,0) then 'Artigo 113'
when TOI_P = 1 and ISNULL(Parc,0) then 'TOI'
end as Parcelamento_anterior
,case when isnull(b.Inad_1,0) > 0 then 1 when isnull(b.Inad_61,0) > 0 then 1 else 0 end as Inadimplente
,case when toi = 1 and isnull(b.Inad_1,0) > 0 then 'Elegivel - TOI'
WHEN BaixaRenda = 1 and isnull(b.Inad_1,0) > 0 THEN 'Elegivel - Baixa Renda'
when a.anomes >= '[VALOR_OMITIDO]' and ISNULL(Parc,0) > 0 then 'Nao elegivel - Parcelamento contratado'
when isnull(Inad_61,0) > 0 then 'Elegivel - divida maior 60'
else 'Nao elegivel - sem divida maior 60' end as Elegivel
,case when d.numero_cliente is not null then 'Sim' else 'Nao' end as Contratacao_parcelamento
,desc_estado_parcel,desc_campanha
,case when toi = 1 and isnull(b.Inad_1,0) <= 100 then 1
WHEN BaixaRenda = 1 and isnull(b.Inad_1,0) <= 100 THEN 1
when a.anomes >= '[VALOR_OMITIDO]' and ISNULL(Parc,0) > 0 then 0
when isnull(Inad_61,0) <= 100 and b.BaixaRenda <> 1 and toi <> 1 then 1
else 0 end as Clientes_ate_100_reais
,case when b.qtde_faturas > 1 then 1 else 0 end as Duas_ou_mais_faturas
,case when b.toi = 1 and isnull(b.Inad_1,0) > 0 and isnull(f.Inad_1m_toi,0) <= 0 then 'Regularizou'
when b.toi = 1 and isnull(b.Inad_1,0) > 0 then 'Nao regularizou'
WHEN b.BaixaRenda = 1 and isnull(b.Inad_1,0) > 0 and isnull(f.Inad_1m_bxr,0) <= 0 THEN 'Regularizou'
WHEN b.BaixaRenda = 1 and isnull(b.Inad_1,0) > 0 THEN 'Nao regularizou'
when a.anomes >= '[VALOR_OMITIDO]' and ISNULL(Parc,0) > 0 then ''
when isnull(b.Inad_61,0) > 0 and isnull(f.Inad_61m,0) <= 0 then 'Regularizou'
when isnull(b.Inad_61,0) > 0 then 'Nao Regularizou'
else '' end as Regularizacao
,count(a.conta_contrato) as qtde_contas_atendidas
,sum(case when d.numero_cliente is not null then valor_negociado_original else 0 end) as valor_parcelamento
,sum(case when isnull(b.Inad_1,0) > 0 then b.Inad_1 when isnull(b.Inad_61,0) > 0 then b.Inad_61 else 0 end) as Inad_1
,sum(case when toi = 1 and isnull(b.Inad_1,0) > 0 then b.Inad_1
WHEN BaixaRenda = 1 and isnull(b.Inad_1,0) > 0 THEN b.Inad_1
when a.anomes >= '[VALOR_OMITIDO]' and ISNULL(Parc,0) > 0 then 0
when isnull(Inad_61,0) > 0 and toi <> 1 and baixarenda <> 1 then Inad_61
else 0 end) as Inad_61
,sum(case when d.numero_cliente is not null then faturado else 0 end) as faturado
,sum(case when d.numero_cliente is not null then arrecadado else 0 end) as arrecadado
,a.subcanal
from (
select * from _aux
union all
select left(data_criacao,6) as anomes,cast(x.numero_cliente as bigint) as conta_contrato,x.parceiro,'' as loja,'Loja' as canal
,case when desc_localidade = 'AUTO ATENDIMENTO' then '[VALOR_OMITIDO]' else 'Lojas' end as SubCanal,max(x.usuario) as usuario
from BI_BRRJ_BILL.BT_BRRJ_PARCEL_MACRO x
left join (select * from _aux where canal = 'Loja') y
on x.numero_cliente = y.conta_contrato and x.parceiro = y.parceiro and left(x.data_criacao,6) = y.anomes
where data_criacao between (select start_date_loja from _variables) and (select end_date_loja from _variables) and desc_localidade IN ('ATENDIMENTO PRESENCIAL','AUTO ATENDIMENTO') and y.conta_contrato is null
group by left(data_criacao,6),x.numero_cliente,x.parceiro
,case when desc_localidade = 'AUTO ATENDIMENTO' then '[VALOR_OMITIDO]' else 'Lojas' end
) a
left join (select ref,conta_contrato,parceiro
,sum(case when dias > 0 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1
,sum(case when dias > 60 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_61
,max(case when toi = 1 and dias between 1 and 1800 and valor_deb_total > 0 then 1 else 0 end) as toi
,max(case when classe = 'Residencial Baixa Renda' and dias between 1 and 1800 and valor_deb_total > 0 then 1 else 0 end) as BaixaRenda
,sum(case when dias between 1 and 1800 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1_1800
,count(*) as qtde_faturas
,max(case when valor_cota_parcela > 0 then 1 else 0 end) as Parc
,max(case when desc_campanha = 'ARTIGO 115' and valor_cota_parcela > 0 then 1 else 0 end) as Art115_p
,max(case when desc_campanha = 'ARTIGO 113' and valor_cota_parcela > 0 then 1 else 0 end) as Art113_p
,max(case when desc_campanha like '%TOI%' and valor_cota_parcela > 0 then 1 else 0 end) as TOI_p
from (select ano_mes_selecao as ref,conta_contrato,num_cliente as parceiro
,datediff(day,to_date(DATA_VENCIMENTO,'YYYY-MM-DD'),LAST_DAY(to_date(ano_mes_SELECAO||'01','YYYYMMDD'))) as dias
,valor_deb_total,valor_cota_parcela
,case when flag_toi = 'X' then 1 else 0 end as toi,classe,desc_campanha
from bi_brrj_bill.bt_brrj_inadim aa
left join (select bb.documento_impressao,desc_campanha
from BI_BRrj_BILL.BT_BRrj_PARCEL_cota bb
inner join (select corr_convenio,desc_campanha from BI_BRrj_BILL.BT_BRrj_PARCEL_macro
where desc_campanha IN ('ARTIGO 115','ARTIGO 113') or desc_campanha like '%TOI%') cc
on bb.corr_convenio = cc.corr_convenio) dd
on aa.num_parcelamento = dd.documento_impressao
where num_fatura is not null and ano_mes_selecao = (select ref_ant from _variables))
group by ref,conta_contrato,parceiro) b
on CAST(a.conta_contrato AS BIGINT) = CAST(b.conta_contrato AS BIGINT) and CAST(a.parceiro AS BIGINT) = CAST(b.parceiro AS BIGINT) and ADD_MONTHS(to_date(a.anomes||'01','YYYYMMDD'),-1) = TO_DATE(b.ref||'01','YYYYMMDD')
left join (select numero_cliente,parceiro
,case when desc_localidade IN ('ATENDIMENTO PRESENCIAL','AUTO ATENDIMENTO') then 'Loja'
when desc_localidade IN ('CALL CENTER') then 'Call Center'
when desc_localidade IN ('AGÊNCIA VIRTUAL WEB','APLICATIVO') then 'Digitais'
else '' end as Canal
,max(desc_campanha) as desc_campanha,max(desc_estado_parcel) as desc_estado_parcel
,left(data_criacao,6) as ref
,sum(cast(valor_negociado_original as decimal(18,2))) as valor_negociado_original
,sum(qtde_faturadas*valor_parcela) as faturado
,sum(valor_total_arrec) as arrecadado
from BI_BRRJ_BILL.BT_BRRJ_PARCEL_MACRO
where (desc_localidade IN ('ATENDIMENTO PRESENCIAL','AUTO ATENDIMENTO') and data_criacao between (select start_date_loja from _variables) and (select end_date_loja from _variables))
group by numero_cliente,parceiro,left(data_criacao,6)
,case when desc_localidade IN ('ATENDIMENTO PRESENCIAL','AUTO ATENDIMENTO') then 'Loja'
when desc_localidade IN ('CALL CENTER') then 'Call Center'
when desc_localidade IN ('AGÊNCIA VIRTUAL WEB','APLICATIVO') then 'Digitais'
else '' end) d
on cast(a.conta_contrato as bigint) = cast(d.numero_cliente as bigint) and cast(a.parceiro as bigint) = cast(d.parceiro as bigint) and a.anomes = d.ref and a.canal = d.canal
left join (select ano_mes_selecao as ref,conta_contrato,parceiro
,sum(case when dias > 60 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_61m
,sum(case when dias > 0 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1m
,sum(case when toi = 1 and dias > 0 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1m_toi
,sum(case when classe = 'Residencial Baixa Renda' and dias > 0 and valor_deb_total > 0 then valor_deb_total else 0 end) as Inad_1m_bxr
from (select ano_mes_selecao,CAST(conta_contrato as bigint) as conta_contrato,num_cliente as parceiro
,datediff(day,to_date(DATA_VENCIMENTO,'YYYY-MM-DD'),(select ref_venc_inad from _variables)) as dias
,classe,valor_deb_total,valor_cota_parcela,case when flag_toi = 'X' then 1 else 0 end as toi
from bi_brRJ_bill.bt_brRJ_inadim
where num_fatura is not null and ano_mes_selecao = (select ref from _variables))
group by ano_mes_selecao,conta_contrato,parceiro) f
on CAST(a.conta_contrato AS BIGINT) = CAST(f.conta_contrato AS BIGINT) and CAST(a.parceiro AS BIGINT) = CAST(f.parceiro AS BIGINT) and a.anomes = f.ref
left
[TRUNCADO PARA BASE DE CONHECIMENTO]
```

### QUERY: Rec_duplicadas.sql
Data: 2024-01-29 10:04:10
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_att.bt_br_consolidacao_reclamacao; bi_brrj_att.bt_br_depara; dp_brrj.bt_aux_canal_rec
JOINs: 3
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=True | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
with base_exclusao as (select
atr_periodo
,protocolo
,num_order
,case when numero_cliente = '' then pod_id else numero_cliente end as Cliente
,ROW_NUMBER() OVER (PARTITION BY numero_cliente, atr_periodo, motivo_empresa_subtipo, nivel ORDER BY data_ingressada asc) as Ordem
,case
when ROW_NUMBER() OVER (PARTITION BY numero_cliente, atr_periodo, motivo_empresa_subtipo, nivel ORDER BY data_ingressada asc) > 1
then 'Excluir'
else 'Manter'
end as Sugestao_duplicidade
,motivo_aneel
,motivo_empresa_subtipo as Assunto
,data_ingressada
,nivel
,canal_ouvidoria
,prazo_encerrado
,procedencia
from bi_brrj_att.bt_br_consolidacao_reclamacao A
left join bi_brrj_att.bt_br_depara as b
on a.id_depara = b.id_linha
where left(data_ingressada,4) = '${ano_ingressada}' and a.distribuidora = 'RJ' and b.latam_nivel_0 = 'Commercial claims')
select
atr_periodo
,protocolo
,latam_nivel_0
,latam_nivel_1
,latam_nivel_2
,latam_nivel_3
,motivo_cliente_natureza_da_ocorrencia
,motivo_empresa_subtipo
,divisao
,num_order
,cod_aneel_do_anexo_i
,case when numero_cliente is null then pod_id else numero_cliente end as Cliente
,ROW_NUMBER() OVER (PARTITION BY numero_cliente, atr_periodo, motivo_empresa_subtipo, nivel ORDER BY data_ingressada asc) as Ordem
,case
when ROW_NUMBER() OVER (PARTITION BY numero_cliente, atr_periodo, motivo_empresa_subtipo, nivel ORDER BY data_ingressada asc) > 1
then 'Excluir'
else 'Manter'
end as Sugestao_duplicidade
,motivo_aneel
,assunto_bd_reclamacao as Assunto
,data_ingressada
,nivel
,A.canal_ouvidoria
,Canal_consolidado
,prazo_encerrado
,procedencia
from bi_brrj_att.bt_br_consolidacao_reclamacao A
left join dp_brrj.bt_aux_canal_rec B on B.Canal_ouvidoria = A.canal_ouvidoria
left join bi_brrj_att.bt_br_depara as C
on a.id_depara = C.id_linha
where left(data_ingressada,4) = '${ano_ingressada}'
and atr_periodo >= '${atr_periodo}'
and exists (select 1 from base_exclusao where sugestao_duplicidade = 'Excluir'
and base_exclusao.atr_periodo >= '${atr_periodo}')
and C.latam_nivel_0 = 'Commercial claims' and cliente > '0'
order by
numero_cliente
,data_ingressada
```

### QUERY: Filtros Variáveis.txt
Data: 2024-01-29 00:14:14
Tópicos: OUTROS
Empresas detectadas: NAO_IDENTIFICADA
Objetos: 
JOINs: 0
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
'${atr_periodo}'
```

### QUERY: Atendimentos por cidade.sql
Data: 2024-01-24 16:05:54
Tópicos: CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_act.bt_brrj_requestqlik; dp_brrj.bt_de_para_motivos_requestqlik
JOINs: 2
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS Mangaratiba;
CREATE TEMPORARY TABLE Mangaratiba as (
select accountcontract__c as conta_contrato, municipality__c as municipio from bi_brrj_cus.bt_brrj_relatorio_de_cadastro
where municipality__c = 'NATIVIDADE');
SELECT
cta_contrato,
B.municipio,
tipo_caso,
A.motivo,
A.submotivo,
C.motivo_tratado,
canal_oficial,
tipocanal,
ano,
count(numero_caso) as qtd
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
LEFT JOIN Mangaratiba B on B.Conta_contrato = A.cta_contrato
where ano = '2023' and B.Conta_contrato = A.cta_contrato and TIPO_CASO = 'Reclamação'
group by
1,2,3,4,5,6,7,8,9;
```

### QUERY: Analise Rec oriunda de troca.sql
Data: 2024-01-13 22:55:18
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; dp_brrj.bt_de_para_motivos_requestqlik
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
cta_contrato,
interacao,
numero_caso,
tipo_caso,
A.motivo,
A.submotivo,
C.motivo_tratado,
canal_oficial,
tipocanal,
ano,
mes,
dia,
data_criacao,
data_fechamento_caso AS data_fechamento
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
where ano = '2023' and mes >= '10' and tipo_caso IN ('Reclamação','RSME')
and MOTIVO_TRATADO IN ([LISTA_DE_VALORES_OMITIDA]) AND cta_contrato IN ([LISTA_DE_VALORES_OMITIDA])
```

### QUERY: Funil Ebilling.sql
Data: 2024-01-08 11:26:52
Tópicos: CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; global_brasil_rio.bt_global_asset_brazil_rio; dp_brrj.bt_de_para_motivos_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 4
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS Atendimentos_Lojas;
CREATE TEMPORARY TABLE Atendimentos_Lojas AS
select DISTINCT
fk_external_asset_id AS Conta_Contrato,
case
when mes IN ('10', '11','12') then mes
when mes <= '9' then '0'||mes else mes end as mes,
COUNT(numero_caso) AS qtd
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
GLOBAL_BRASIL_RIO.bt_global_asset_brazil_rio B ON B.fk_local_customer_id = A.id_conta_salesforce
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
WHERE
ano = '2023'
AND expurgado = 'false'
AND canal_oficial IN ('Lojas', 'Whatsapp Lojas')
GROUP BY
mes,fk_external_asset_id;
DROP TABLE IF EXISTS Consulta_DACC_EBILL;
CREATE TEMPORARY TABLE Consulta_DACC_EBILL AS (
SELECT DISTINCT
ROW_NUMBER() OVER (PARTITION BY cdc_pod_id ORDER BY dte_validity_start_date DESC) AS ordem,
fk_external_asset_id,
cdc_pod_id,
fk_local_customer_id,
sds_tension_group,
fln_top_large,
sds_aggregate_cluster_local,
lds_local_segment,
lds_asset_city,
dte_ebill_activation_date,
dte_ebill_deactivation_date,
mds_ebill_deactivation_reason,
fln_risk_areas,
fln_automatic_debit,
dte_validity_start_date,
sds_asset_status_local
FROM
global_brasil_rio.bt_global_asset_brazil_rio
);
select DISTINCT
A.conta_contrato,
EXTRACT(YEAR FROM GETDATE()) - EXTRACT(YEAR FROM birthdate__c) -
CASE WHEN EXTRACT(MONTH FROM birthdate__c) > EXTRACT(MONTH FROM GETDATE())
OR (EXTRACT(MONTH FROM birthdate__c) = EXTRACT(MONTH FROM GETDATE())
AND EXTRACT(DAY FROM birthdate__c) > EXTRACT(DAY FROM GETDATE()))
THEN 1 ELSE 0 END AS idade,
case
when idade <= '30' then 'Ate 30'
when idade <= '60' then 'Entre 31 e 60'
when idade between '61' and '80' then 'Entre 61 e 80'
when idade > '80' then 'Acima de 80'
else 'NI'
end as Faixa_etaria,
'2023'||mes as anomes_atendimento,
A.qtd,
B.sds_asset_status_local as status_uc,
B.lds_asset_city as cidade,
to_char(B.dte_ebill_activation_date, 'YYYYMM') as anomes_ebilling,
B.mds_ebill_deactivation_reason as motivo_desativacao,
to_char(B.dte_validity_start_date, 'YYYYMM') as anomes_descadastramento_ebil,
CASE
WHEN B.mds_ebill_deactivation_reason IS NULL OR B.mds_ebill_deactivation_reason = '' THEN true
ELSE false
END AS Fatura_digital,
B.fln_automatic_debit as Dacc,
CASE
WHEN Fatura_digital = true and anomes_ebilling < anomes_atendimento THEN 'Ja possuia ebilling'
WHEN Fatura_digital = true and anomes_ebilling = anomes_atendimento THEN 'Convertido'
WHEN Fatura_digital = false and anomes_descadastramento_ebil > anomes_atendimento THEN 'Ja possuia ebilling'
WHEN Fatura_digital = false and anomes_descadastramento_ebil < anomes_atendimento THEN '[VALOR_OMITIDO]'
ELSE '[VALOR_OMITIDO]'
END as Funil
FROM
Atendimentos_Lojas A
LEFT JOIN
Consulta_DACC_EBILL B ON B.fk_external_asset_id = A.Conta_Contrato
left join
bi_brrj_cus.bt_brrj_relatorio_de_cadastro C on C.ACCOUNTCONTRACT__C = A.CONTA_CONTRATO
WHERE
B.ordem = 1
and anomes_atendimento <= '[VALOR_OMITIDO]';
```

### QUERY: TUSD.sql
Data: 2023-12-26 16:20:00
Tópicos: FATURAMENTO
Empresas detectadas: NAO_IDENTIFICADA
Objetos: global_brasil_rio.bt_global_billing_brazil_rio; global_brasil_rio.bt_global_billing_concepts_brazil_rio
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
drop table if exists Tabela1;
create temporary table Tabela1
as (
select
cdc_pod_id, global_brasil_rio.bt_global_billing_brazil_rio.fk_asset_id, max(dte_issue_date)
from
global_brasil_rio.bt_global_billing_brazil_rio
where
cdc_pod_id
in
group by 1,2
);
drop table if exists Tabela_TUSD_RJ;
create temporary table Tabela_TUSD_RJ
as (
select
cdc_pod_id, global_brasil_rio.bt_global_billing_concepts_brazil_rio.fk_asset_id, sds_accounting_period
, sum(vad_concept_billed_amount_no_tax) TUSD
from
global_brasil_rio.bt_global_billing_concepts_brazil_rio
inner join Tabela1
on Tabela1.fk_asset_id = global_brasil_rio.bt_global_billing_concepts_brazil_rio.fk_asset_id
where
lds_local_concept like '%TUSD%'
and
sds_accounting_period IN ('[VALOR_OMITIDO]', '[VALOR_OMITIDO]')
group by 1,2,3
);
Select
cdc_pod_id,
fk_asset_id,
sds_accounting_period,
TUSD
from Tabela_TUSD_RJ
order by sds_accounting_period desc
```

### QUERY: Transbordo Call Center x Loja.sql
Data: 2023-12-18 17:59:52
Tópicos: CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; dp_brrj.bt_de_para_motivos_requestqlik; dp_brrj.bt_consultoreslojas
JOINs: 8
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS Atendimentos_Lojas;
CREATE TEMPORARY TABLE Atendimentos_Lojas AS
SELECT
ROW_NUMBER() OVER (PARTITION BY numero_caso) AS numero,
COALESCE(cta_contrato::VARCHAR, B.accountcontract__c::VARCHAR) AS Conta_Contrato,
numero_ponto_de_fornecimento AS Pod_id,
id_conta_salesforce AS id_interno,
interacao,
numero_caso AS caso,
numero_da_ordem_ou_atividade AS numero_ordem,
tipo_caso,
A.motivo,
A.submotivo,
motivo_tratado,
canal_oficial,
tipocanal AS Tipo_Canal,
A.br_atendente,
case
when D.localidade is null then Municipio
else D.localidade
end as Loja,
data_criacao AS data_ingresso
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountid = A.id_conta_salesforce
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
LEFT JOIN
dp_brrj.bt_consultoreslojas D on right(D.BR,9) = right(left(A.BR_ATENDENTE,12),9)
WHERE
ano = '2023'
AND mes = '10'
AND expurgado = 'false'
AND canal_oficial IN ('Lojas', 'Whatsapp Lojas', '[VALOR_OMITIDO]') and motivo_tratado IN ('LIGACAO NOVA','TROCA DE TITULARIDADE');
DROP TABLE IF EXISTS Outros_Canais;
CREATE TEMPORARY TABLE Outros_Canais AS
SELECT
ROW_NUMBER() OVER (PARTITION BY numero_caso) AS numero,
COALESCE(cta_contrato::VARCHAR, B.accountcontract__c::VARCHAR) AS Conta_Contrato,
numero_ponto_de_fornecimento AS Pod_id,
id_conta_salesforce AS id_interno,
interacao,
numero_caso AS caso,
numero_da_ordem_ou_atividade AS numero_ordem,
tipo_caso,
A.motivo,
A.submotivo,
motivo_tratado,
canal_oficial,
tipocanal AS Tipo_Canal,
A.br_atendente,
case
when D.localidade is null then Municipio
else D.localidade
end as Loja,
data_criacao AS data_ingresso
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountid = A.id_conta_salesforce
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
LEFT JOIN
dp_brrj.bt_consultoreslojas D on right(D.BR,9) = right(left(A.BR_ATENDENTE,12),9)
WHERE
ano = '2023'
AND mes IN ('8','9','10')
AND expurgado = 'false'
AND canal_oficial IN ('URA', 'Call Center') and motivo_tratado IN ('LIGACAO NOVA','TROCA DE TITULARIDADE');
DROP TABLE IF EXISTS Resultados_Analise;
CREATE TEMPORARY TABLE Resultados_Analise AS
SELECT DISTINCT
A1.Conta_Contrato,
A1.interacao,
A1.caso,
A1.numero_ordem,
A1.data_ingresso,
A1.tipo_caso,
A1.motivo,
A1.submotivo,
A1.motivo_tratado,
A1.canal_oficial,
A1.Tipo_Canal,
A1.br_atendente,
A1.Loja,
CASE WHEN A2_Call_Center.id_interno IS NOT NULL THEN 1 ELSE 0 END AS atendimento_call_center,
CASE WHEN A2_URA.id_interno IS NOT NULL THEN 1 ELSE 0 END AS atendimento_URA
FROM
Atendimentos_Lojas A1
LEFT JOIN
Outros_Canais A2_URA ON A1.id_interno = A2_URA.id_interno
AND A2_URA.canal_oficial = 'URA'
AND A2_URA.motivo_tratado = A1.motivo_tratado
AND A2_URA.data_ingresso >= A1.data_ingresso::date - INTERVAL '60' DAY
LEFT JOIN
Outros_Canais A2_Call_Center ON A1.id_interno = A2_Call_Center.id_interno
AND A2_Call_Center.canal_oficial = 'Call Center'
AND A2_Call_Center.motivo_tratado = A1.motivo_tratado
AND A2_Call_Center.data_ingresso >= A1.data_ingresso::date - INTERVAL '60' day
WHERE
A1.numero = '1';
SELECT
Conta_Contrato,
caso,
data_ingresso,
tipo_caso,
motivo,
submotivo,
motivo_tratado,
canal_oficial,
Tipo_Canal,
Loja,
atendimento_call_center,
atendimento_URA
FROM Resultados_Analise;
```

### QUERY: FCR Lojas.sql
Data: 2023-12-12 08:41:22
Tópicos: CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; dp_brrj.bt_de_para_motivos_requestqlik; dp_brrj.bt_consultoreslojas
JOINs: 8
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS Atendimentos_Lojas;
CREATE TEMPORARY TABLE Atendimentos_Lojas AS
SELECT
ROW_NUMBER() OVER (PARTITION BY numero_caso) AS numero,
COALESCE(cta_contrato::VARCHAR, B.accountcontract__c::VARCHAR) AS Conta_Contrato,
numero_ponto_de_fornecimento AS Pod_id,
id_conta_salesforce AS id_interno,
interacao,
numero_caso AS caso,
numero_da_ordem_ou_atividade AS numero_ordem,
tipo_caso,
A.motivo,
A.submotivo,
motivo_tratado,
canal_oficial,
tipocanal AS Tipo_Canal,
A.br_atendente,
case
when D.localidade is null then Municipio
else D.localidade
end as Loja,
data_criacao AS data_ingresso
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountid = A.id_conta_salesforce
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
LEFT JOIN
dp_brrj.bt_consultoreslojas D on right(D.BR,9) = right(left(A.BR_ATENDENTE,12),9)
WHERE
ano = '2023'
AND mes = '9'
AND expurgado = 'false'
AND canal_oficial IN ('Lojas', 'Whatsapp Lojas', '[VALOR_OMITIDO]');
DROP TABLE IF EXISTS Outros_Canais;
CREATE TEMPORARY TABLE Outros_Canais AS
SELECT
ROW_NUMBER() OVER (PARTITION BY numero_caso) AS numero,
COALESCE(cta_contrato::VARCHAR, B.accountcontract__c::VARCHAR) AS Conta_Contrato,
numero_ponto_de_fornecimento AS Pod_id,
id_conta_salesforce AS id_interno,
interacao,
numero_caso AS caso,
numero_da_ordem_ou_atividade AS numero_ordem,
tipo_caso,
A.motivo,
A.submotivo,
motivo_tratado,
canal_oficial,
tipocanal AS Tipo_Canal,
A.br_atendente,
case
when D.localidade is null then Municipio
else D.localidade
end as Loja,
data_criacao AS data_ingresso
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountid = A.id_conta_salesforce
LEFT JOIN
dp_brrj.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
LEFT JOIN
dp_brrj.bt_consultoreslojas D on right(D.BR,9) = right(left(A.BR_ATENDENTE,12),9)
WHERE
ano = '2023'
AND mes IN ('7', '8', '9')
AND expurgado = 'false'
AND canal_oficial IN ('URA', 'Call Center');
DROP TABLE IF EXISTS Resultados_Analise;
CREATE TEMPORARY TABLE Resultados_Analise AS
SELECT DISTINCT
A1.Conta_Contrato,
A1.interacao,
A1.caso,
A1.numero_ordem,
A1.data_ingresso,
A1.tipo_caso,
A1.motivo,
A1.submotivo,
A1.motivo_tratado,
A1.canal_oficial,
A1.Tipo_Canal,
A1.br_atendente,
A1.Loja,
CASE WHEN A2_Call_Center.id_interno IS NOT NULL THEN 1 ELSE 0 END AS atendimento_call_center,
CASE WHEN A2_URA.id_interno IS NOT NULL THEN 1 ELSE 0 END AS atendimento_URA
FROM
Atendimentos_Lojas A1
LEFT JOIN
Outros_Canais A2_URA ON A1.id_interno = A2_URA.id_interno
AND A2_URA.canal_oficial = 'URA'
AND A2_URA.motivo_tratado = A1.motivo_tratado
AND A2_URA.data_ingresso >= A1.data_ingresso::date - INTERVAL '60' DAY
LEFT JOIN
Outros_Canais A2_Call_Center ON A1.id_interno = A2_Call_Center.id_interno
AND A2_Call_Center.canal_oficial = 'Call Center'
AND A2_Call_Center.motivo_tratado = A1.motivo_tratado
AND A2_Call_Center.data_ingresso >= A1.data_ingresso::date - INTERVAL '60' day
WHERE
A1.numero = '1';
SELECT
Conta_Contrato,
caso,
data_ingresso,
tipo_caso,
motivo,
submotivo,
motivo_tratado,
canal_oficial,
Tipo_Canal,
Loja,
atendimento_call_center,
atendimento_URA
FROM Resultados_Analise;
```

### QUERY: Praia Brava.sql
Data: 2023-12-06 08:39:50
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_bill.bt_brrj_cip_faturado; bi_brrj_bill.bt_brrj_icg_compliance; bi_brrj_coll.bt_brrj_faturamento; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_cus.bt_brrj_conta_contrato; dp_brrj.tb_capilaridade_credit_recovery; global_brasil_rio.bt_global_billing_concepts_brazil_rio
JOINs: 7
Sinais legados: SELECT*=True | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
D.Fatura_Coletiva
,cast(F.consumo_faturado as decimal(17,2)) Consumo
,C.identitynumber__c Documento
,C.postal_code__c CEP
,cast(H.vad_concept_issued_amount_due_date_tax as decimal(17,2)) as VALOR_CONSUMO
,cast(J.vad_concept_issued_amount_due_date_tax as decimal(17,2)) as VALOR_EVENTUAL
,cast(F.juros_fatura as decimal(17,2)) as Juros
,cast(F.multa_fatura as decimal(17,2)) as Multa
,icg_referencia referencia
,left(F.data_vencimento_fatura,10) as Data_Vencimento
,cast(F.valor_da_fatura as decimal(17,2)) Valor_Faturado
,'NULL' as COD_BARRAS
,'NULL' as COD_BARRAS_AGRUPAMENTO
,F.grupo as Tensao
,case
WHEN
F.tipo_documento_faturamento = 'REFATURADO' then (select left(F2.DATA_FATURAMENTO,10)
from bi_brrj_bill.bt_brrj_cip_faturado F2
where F.CONTA_CONTRATO = F2.conta_contrato
and F2.referencia_faturamento = F.referencia_faturamento and F2.tipo_documento_faturamento = 'FATURADO'
order by F2.data_faturamento desc limit 1)
else
left(F.data_faturamento,10) end as Data_Faturamento
,G.orgao_controlador
,icg_numero_Cliente Conta_Contrato
,F.numero_fatura
,nr_medidor
,C.billing_type__c Tipo_Faturamento
,icg_nome Nome
,C.coordinatex__c
,C.coordinatey__c
,C.distributionaddress__c Endereço
,C.neighbourhood__c Bairro
,icg_municipio Municipio
,icg_tipo_fatura tipo_fatura
,case
when tipo_fatura = 'FA' then 'Fatura Normal'
when tipo_fatura = 'EP' then 'Fatura Cancelada'
when tipo_fatura = 'RF' then '[VALOR_OMITIDO]'
end
as Legenda_Tipo_Fatura
,cast(icg_cons_activo_livre as decimal(17,2)) Consumo_Livre
,case when icg_cons_activo_cativo <> 0 then 'Regulado' else 'Livre' end Mercado
,case when C.mov_out = '31/12/9999' then 'Ativo' else 'Inativo' end Status
,cast(B.valor_icms as decimal(17,2)) as Icms
,cast(B.valor_pis as decimal(17,2)) as Pis
,cast(B.valor_cofins as decimal(17,2)) as cofins
,cast(B.valor_toi as decimal(17,2)) as Valor_Toi
from bi_brrj_bill.bt_brrj_icg_compliance A
left join bi_brrj_coll.bt_brrj_faturamento B on B.corr_facturacion = A.ICG_CORR_FACTURACION and ORIGEM = 'FATURADO'
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro C on C.accountcontract__c = icg_numero_Cliente
left join bi_brrj_cus.bt_brrj_conta_contrato D on D.conta_contrato = A.icg_numero_Cliente
left join (select *
from bi_brrj_bill.bt_brrj_cip_faturado A
where not exists (select 1 from bi_brrj_bill.bt_brrj_cip_faturado B where tipo_documento_faturamento = 'ESTONO PLENO' and B.numero_fatura = A.numero_fatura)) F on numero_fatura = A.icg_corr_facturacion
left join dp_brrj.tb_capilaridade_credit_recovery G on G.numero_cliente = icg_numero_Cliente
left join (select
left(fk_bill_id,16) as FATURA,
SUM(vad_concept_issued_amount_due_date_tax) as vad_concept_issued_amount_due_date_tax
from global_brasil_rio.bt_global_billing_concepts_brazil_rio H
where lds_local_concept IN ('IMPOSTOS','ENERGIA ATIVA FORNECIDA TE','TUSD') group by FATURA) H on left(H.FATURA,16) = A.icg_corr_facturacion
left join (select
left(fk_bill_id,16) as FATURA,
SUM(vad_concept_issued_amount_due_date_tax) as vad_concept_issued_amount_due_date_tax
from global_brasil_rio.bt_global_billing_concepts_brazil_rio
where lds_local_concept IN ('ADICIONAL BAND.%') group by FATURA) J on left(J.FATURA,16) = A.icg_corr_facturacion
where F.numero_fatura is not null and icg_referencia = '2023/11' and icg_numero_cliente IN ([LISTA_DE_VALORES_OMITIDA])
```

### QUERY: Demanda CPI.sql
Data: 2023-12-05 18:25:08
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; dp_brrj.bt_de_para_motivos_requestqlik
JOINs: 2
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
drop table if exists atendimentos;
create temporary table atendimentos as
(select
row_number() over(partition by numero_caso) as numero
,case
when cast(cta_contrato as varchar) is null then cast(B.accountcontract__c as varchar)
else cast(cta_contrato as varchar)
end as Conta_Contrato
,numero_ponto_de_fornecimento as Pod_id
,id_conta_salesforce as id_interno
,interacao
,numero_caso as caso
,numero_da_ordem_ou_atividade as numero_ordem
,tipo_caso
,A.motivo
,A.submotivo
,motivo_tratado
,canal_oficial
,tipocanal as Tipo_Canal
,ano as ano_ingresso
,mes as mes_ingresso
,dia as dia_ingresso
,data_criacao as data_ingresso
,data_fechamento_caso as data_fechamento
,B.distributionaddress__c as endereco
,B.neighbourhood__c as Bairro
,B.municipality__c as municipio
,B.postal_code__c as Cep
from bi_brrj_act.bt_brrj_requestqlik A
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro B on B.accountid = A.id_conta_salesforce
left join dp_brrj.bt_de_para_motivos_requestqlik C on C.chave = A.motivo||A.submotivo
where ano = '2023'
and mes = '11'
and dia <= '29'
and expurgado = 'false'
and canal_oficial not IN ('URA', 'App', 'Call Center', 'Area Logada', 'Area Não Logada'));
select conta_contrato
,pod_id
,id_interno
,interacao
,caso
,numero_ordem
,tipo_caso
,motivo
,submotivo
,motivo_tratado as Motivo_Final
,canal_oficial
,Tipo_Canal
,ano_ingresso
,mes_ingresso
,dia_ingresso
,data_ingresso
,data_fechamento
,endereco
,Bairro
,municipio
,Cep
from atendimentos
where numero = '1';
```

### QUERY: Cliente Vital.sql
Data: 2023-12-05 16:18:10
Tópicos: CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
cta_contrato
,numero_ponto_de_fornecimento as Pod_id
,id_conta_salesforce as id_interno
,interacao
,numero_caso as caso
,numero_da_ordem_ou_atividade as numero_ordem
,tipo_caso
,motivo
,submotivo
,canal_oficial
,tipocanal as Tipo_Canal
,ano as ano_ingresso
,mes as mes_ingresso
,dia as dia_ingresso
,data_criacao as data_ingresso
,data_fechamento_caso as data_fechamento
,case
when cliente_vital is null then 'N'
else cliente_vital
end as C
from bi_brrj_act.bt_brrj_requestqlik A
left join (select accountcontract__c,
case when electrodependant__c = 'N' then 'N' else 'S'
end Cliente_Vital
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro) B on B.accountcontract__c = A.cta_contrato
where submotivo = '182-FALTA EM CLIENTE VITAL'
and ano = '2023'
```

### QUERY: Rechamadas Call Center.sql
Data: 2023-11-29 18:17:00
Tópicos: RECONTATO, CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik
JOINs: 1
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
A.ano
,A.mes
,A.cta_contrato
,A.submotivo
,cast(A.data_criacao as date) as Data_contato
,A.Canal_oficial
,case
when cast(B.data_criacao as date) - cast(A.data_criacao as date) between -15 and 0
and B.canal_oficial = 'Call Center'
and A.submotivo = B.submotivo
and A.cta_contrato = B.cta_contrato
then count(B.cta_contrato) else 0
end as Qtd_Rechamadas
from bi_brrj_act.bt_brrj_requestqlik A
left join (select * from bi_brrj_act.bt_brrj_requestqlik where canal_oficial IN ('Call Center')
and ano >= (SELECT MAX(ano) FROM bi_brrj_act.bt_brrj_requestqlik)) B on B.cta_contrato = A.cta_contrato
where A.ano >= (SELECT MAX(ano) FROM bi_brrj_act.bt_brrj_requestqlik) and A.Canal_oficial IN ('Call Center') and a.expurgado = 'false'
and a.mes >= '10'
group by
A.cta_contrato
,A.submotivo
,A.data_criacao
,B.data_criacao
,A.submotivo
,B.cta_contrato
,A.canal_oficial
,A.ano
,A.mes
,B.submotivo
,b.canal_oficial
```

### QUERY: Share Canais - Emergencia.sql
Data: 2023-11-16 09:39:40
Tópicos: REDE_EMERGENCIA
Empresas detectadas: ENEL CE, ENEL RJ, ENEL SP
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brce_act.bt_brce_requestqlik; bi_brsp_act.bt_brsp_requestqlik
JOINs: 0
Sinais legados: SELECT*=True | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select * from
(select estado, canal_oficial,mes,tipocanal, count(numero_caso) as qtd
from bi_brrj_act.bt_brrj_requestqlik
where motivo = 'MOT001-Sol Registro Aviso Emergencial'
and ano = '2023'
group by
1,2,3,4
union all
select estado, canal_oficial,mes,tipocanal,count(numero_caso) as qtd
from bi_brce_act.bt_brce_requestqlik
where motivo = 'MOT001-Sol Registro Aviso Emergencial'
and ano = '2023'
group by
1,2,3,4
union all
select estado, canal_oficial,mes,tipocanal,count(numero_caso) as qtd
from bi_brsp_act.bt_brsp_requestqlik
where tipo_caso = 'ZEME-Emergência'
and ano = '2023'
group by
1,2,3,4)
```

### QUERY: Query Ordens Grupo B.sql
Data: 2023-11-14 16:37:46
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_clientes_ordem_servico; dp_brrj.tb_aux_depara_estado_ordens; dp_brrj.tb_aux_depara_tipo_servicos; global_brasil_rio.bt_global_asset_brazil_rio
JOINs: 5
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,case
when left(sysdate,10) = left(data_fim_regulada,10) and Status_ordem = 'ABERTA' then 'Vence Hoje'
when sysdate > data_fim_regulada and Status_ordem = 'ABERTA' then 'Vencida'
when data_fim_regulada <= sysdate+7 AND Status_ordem = 'ABERTA' then 'Vence na Semana'
when Status_ordem <> 'ABERTA' then '-'
else 'A Vencer'
end as Controle_Prazo
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
,G.lds_asset_city as Municipio
from
(
select corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
) A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS C on C.ESTADO = A.ESTADO
left join DP_BRRJ.TB_AUX_DEPARA_TIPO_SERVICOS D on D.CHAVE = A.tipo_ordem||A.cod_servico||RTRIM(A.des_servico)
left join (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join global_brasil_rio.bt_global_asset_brazil_rio G on G.fk_external_asset_id = A.numero_cliente
where A.numero_ordem IN ('A040899122', 'A040551374','A040940131')
order by
a.numero_ordem
,corr_visita ASC
```

### QUERY: ADP & Bad Debt.sql
Data: 2023-11-14 11:58:54
Tópicos: COBRANCA
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_bill.bt_brrj_parcel_macro
JOINs: 0
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select desc_campanha, desc_estado_parcel, COUNT( corr_convenio ) from BI_BRRJ_BILL.BT_BRRJ_PARCEL_MACRO
where substring(data_criacao,1,6) = '[VALOR_OMITIDO]'
and desc_localidade = 'ATENDIMENTO PRESENCIAL'
and desc_campanha not IN ('DUPLO VENCIMENTO','TOI PRÉ-FATURADO','TOI','QUITAÇÃO','QUITAÇÃO CARTÃO','MÊS DO CLIENTE')
group by 1,2;
select substring(data_criacao,1,6) AS MES,
COUNT( corr_convenio ) as PARC_TOTAL,
COUNT( case when
desc_estado_parcel not IN ('Cancelado') and
desc_campanha IN ('ANTIGUIDADE','ACORDO DE PAGO','BAIXA RENDA','MÊS DO CLIENTE') then corr_convenio end) as PARC_ELEGIVEL,
COUNT(case when desc_campanha = 'ACORDO DE PAGO' then corr_convenio end) as ADP
from BI_BRRJ_BILL.BT_BRRJ_PARCEL_MACRO
where desc_localidade = 'ATENDIMENTO PRESENCIAL'
group by 1
order by MES desc;
```

### QUERY: Transbordo celula x loja.sql
Data: 2023-11-10 13:29:26
Tópicos: CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik
JOINs: 0
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
A.ano
,A.mes
,A.cta_contrato
,A.submotivo
,cast(A.data_criacao as date) as Data_contato
,A.Canal_oficial
from bi_brrj_act.bt_brrj_requestqlik A
where A.ano = '2023' and A.mes IN ('09', '10')
and A.canal_oficial = 'Call Center'
and A.tipo_caso = 'Informação'
and A.submotivo = 'ATBR002-CONSUMO LEITURA'
```