Enel Brasil

Queries históricas · parte 7

Conhecimento observado em queries históricas reais.
Base RCO / Queries históricas
### QUERY: FCR SP.sql
Data: 2026-04-16 17:01:12
Tópicos: OUTROS
Empresas detectadas: ENEL SP
Objetos: bi_brsp_act.bt_brsp_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 tmp_base;
DROP TABLE IF EXISTS tmp_seed;
DROP TABLE IF EXISTS tmp_fcr_base;
CREATE TEMP TABLE tmp_base AS
SELECT
cta_contrato,
numero_caso,
data_criacao::timestamp AS data_criacao,
mes,
canal_oficial,
tipocanal,
motivo,
submotivo
FROM bi_brsp_act.bt_brsp_requestqlik
WHERE ano >= '2026'
AND mes*1 = '1'
AND tipocanal = 'Humano'
AND cta_contrato <> '0'
AND tipo_caso <> 'ZEME-Emergência'
and expurgado = 'false'
AND cta_contrato IS NOT NULL
AND numero_caso IS NOT NULL
AND data_criacao IS NOT NULL
AND submotivo IS NOT NULL
AND TRIM(submotivo) <> '';
CREATE TEMP TABLE tmp_seed AS
SELECT
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo
FROM tmp_base a
LEFT JOIN tmp_base p
ON p.cta_contrato = a.cta_contrato
AND p.motivo = a.motivo
AND p.submotivo = a.submotivo
AND (
p.data_criacao < a.data_criacao
OR (p.data_criacao = a.data_criacao AND p.numero_caso < a.numero_caso)
)
AND p.data_criacao >= a.data_criacao - INTERVAL '15 day'
GROUP BY
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo
HAVING COUNT(p.numero_caso) = 0;
CREATE TEMP TABLE tmp_fcr_base AS
SELECT
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo,
SUM(
CASE
WHEN (
b.data_criacao > a.data_criacao
OR (b.data_criacao = a.data_criacao AND b.numero_caso <> a.numero_caso)
)
AND b.data_criacao <= a.data_criacao + INTERVAL '24 hour'
THEN 1 ELSE 0
END
) AS qtd_recontato_24h,
SUM(
CASE
WHEN b.data_criacao > a.data_criacao + INTERVAL '24 hour'
AND b.data_criacao <= a.data_criacao + INTERVAL '7 day'
THEN 1 ELSE 0
END
) AS qtd_recontato_7d,
SUM(
CASE
WHEN b.data_criacao > a.data_criacao + INTERVAL '7 day'
AND b.data_criacao <= a.data_criacao + INTERVAL '15 day'
THEN 1 ELSE 0
END
) AS qtd_recontato_15d
FROM tmp_seed a
LEFT JOIN tmp_base b
ON b.cta_contrato = a.cta_contrato
AND b.motivo = a.motivo
AND b.submotivo = a.submotivo
AND b.numero_caso <> a.numero_caso
AND b.data_criacao <= a.data_criacao + INTERVAL '15 day'
AND (
b.data_criacao > a.data_criacao
OR (b.data_criacao = a.data_criacao AND b.numero_caso <> a.numero_caso)
)
GROUP BY
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo;
SELECT
cta_contrato AS UC,
numero_caso,
data_criacao,
mes,
canal_oficial,
tipocanal,
motivo,
submotivo,
qtd_recontato_24h,
qtd_recontato_7d,
qtd_recontato_15d,
CASE
WHEN qtd_recontato_24h > 0 THEN 0
ELSE 1
END AS fcr_24h,
CASE
WHEN qtd_recontato_7d > 0 THEN 0
ELSE 1
END AS fcr_7d,
CASE
WHEN qtd_recontato_15d > 0 THEN 0
ELSE 1
END AS fcr_15d
FROM tmp_fcr_base
ORDER BY
data_criacao ASC,
cta_contrato,
motivo,
submotivo,
numero_caso;
```

### QUERY: FCR_CE.sql
Data: 2026-04-15 16:30:30
Tópicos: OUTROS
Empresas detectadas: ENEL CE
Objetos: bi_brce_act.bt_brce_requestqlik; bi_brce_cus.bt_brce_relatorio_de_cadastro
JOINs: 3
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 tmp_base;
DROP TABLE IF EXISTS tmp_seed;
DROP TABLE IF EXISTS tmp_fcr_base;
CREATE TEMP TABLE tmp_base AS
SELECT
cta_contrato,
numero_caso,
data_criacao::timestamp AS data_criacao,
mes,
canal_oficial,
tipocanal,
motivo,
submotivo
FROM bi_brce_act.bt_brce_requestqlik A
left join bi_brce_cus.bt_brce_relatorio_de_cadastro B on B.accountcontract__c = A.cta_contrato
WHERE ano >= '2026'
AND mes = '1'
AND tipocanal = 'Humano'
AND cta_contrato <> '0'
AND motivo <> 'MOT001-Sol Registro Aviso Emergencial'
AND cta_contrato IS NOT NULL
AND numero_caso IS NOT NULL
AND data_criacao IS NOT NULL
AND motivo IS NOT NULL
AND submotivo IS NOT null
AND B.tipo_conta <> 'B2G'
AND TRIM(submotivo) <> ''
AND submotivo not IN ([LISTA_DE_VALORES_OMITIDA]);
CREATE TEMP TABLE tmp_seed AS
SELECT
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo
FROM tmp_base a
LEFT JOIN tmp_base p
ON p.cta_contrato = a.cta_contrato
AND p.motivo = a.motivo
AND p.submotivo = a.submotivo
AND (
p.data_criacao < a.data_criacao
OR (p.data_criacao = a.data_criacao AND p.numero_caso < a.numero_caso)
)
AND p.data_criacao >= a.data_criacao - INTERVAL '15 day'
GROUP BY
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo
HAVING COUNT(p.numero_caso) = 0;
CREATE TEMP TABLE tmp_fcr_base AS
SELECT
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo,
SUM(
CASE
WHEN (
b.data_criacao > a.data_criacao
OR (b.data_criacao = a.data_criacao AND b.numero_caso <> a.numero_caso)
)
AND b.data_criacao <= a.data_criacao + INTERVAL '24 hour'
THEN 1 ELSE 0
END
) AS qtd_recontato_24h,
SUM(
CASE
WHEN b.data_criacao > a.data_criacao + INTERVAL '24 hour'
AND b.data_criacao <= a.data_criacao + INTERVAL '7 day'
THEN 1 ELSE 0
END
) AS qtd_recontato_7d,
SUM(
CASE
WHEN b.data_criacao > a.data_criacao + INTERVAL '7 day'
AND b.data_criacao <= a.data_criacao + INTERVAL '15 day'
THEN 1 ELSE 0
END
) AS qtd_recontato_15d
FROM tmp_seed a
LEFT JOIN tmp_base b
ON b.cta_contrato = a.cta_contrato
AND b.motivo = a.motivo
AND b.submotivo = a.submotivo
AND b.numero_caso <> a.numero_caso
AND b.data_criacao <= a.data_criacao + INTERVAL '15 day'
AND (
b.data_criacao > a.data_criacao
OR (b.data_criacao = a.data_criacao AND b.numero_caso <> a.numero_caso)
)
GROUP BY
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo;
SELECT
cta_contrato as UC,
numero_caso,
data_criacao,
mes,
canal_oficial,
tipocanal,
motivo,
submotivo,
qtd_recontato_24h,
qtd_recontato_7d,
qtd_recontato_15d,
CASE
WHEN qtd_recontato_24h > 0 THEN 0
ELSE 1
END AS fcr_24h,
CASE
WHEN qtd_recontato_7d > 0 THEN 0
ELSE 1
END AS fcr_7d,
CASE
WHEN qtd_recontato_15d > 0 THEN 0
ELSE 1
END AS fcr_15d
FROM tmp_fcr_base
ORDER BY
data_criacao ASC,
cta_contrato,
motivo,
submotivo,
numero_caso;
```

### QUERY: FCR RJ.sql
Data: 2026-04-15 16:28:32
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 3
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 tmp_base;
DROP TABLE IF EXISTS tmp_seed;
DROP TABLE IF EXISTS tmp_fcr_base;
CREATE TEMP TABLE tmp_base AS
SELECT
cta_contrato,
numero_caso,
data_criacao::timestamp AS data_criacao,
mes,
canal_oficial,
tipocanal,
motivo,
submotivo
FROM bi_brrj_act.bt_brrj_requestqlik A
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro B on B.accountcontract__c = A.cta_contrato
WHERE ano >= '2026'
AND mes = '1'
AND tipocanal = 'Humano'
AND cta_contrato <> '0'
AND motivo <> 'MOT001-Sol Registro Aviso Emergencial'
AND cta_contrato IS NOT NULL
AND numero_caso IS NOT NULL
AND data_criacao IS NOT NULL
AND motivo IS NOT NULL
AND submotivo IS NOT null
AND B.tipo_conta <> 'B2G'
AND TRIM(submotivo) <> ''
AND submotivo not IN ([LISTA_DE_VALORES_OMITIDA]);
CREATE TEMP TABLE tmp_seed AS
SELECT
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo
FROM tmp_base a
LEFT JOIN tmp_base p
ON p.cta_contrato = a.cta_contrato
AND p.motivo = a.motivo
AND p.submotivo = a.submotivo
AND (
p.data_criacao < a.data_criacao
OR (p.data_criacao = a.data_criacao AND p.numero_caso < a.numero_caso)
)
AND p.data_criacao >= a.data_criacao - INTERVAL '15 day'
GROUP BY
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo
HAVING COUNT(p.numero_caso) = 0;
CREATE TEMP TABLE tmp_fcr_base AS
SELECT
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo,
SUM(
CASE
WHEN (
b.data_criacao > a.data_criacao
OR (b.data_criacao = a.data_criacao AND b.numero_caso <> a.numero_caso)
)
AND b.data_criacao <= a.data_criacao + INTERVAL '24 hour'
THEN 1 ELSE 0
END
) AS qtd_recontato_24h,
SUM(
CASE
WHEN b.data_criacao > a.data_criacao + INTERVAL '24 hour'
AND b.data_criacao <= a.data_criacao + INTERVAL '7 day'
THEN 1 ELSE 0
END
) AS qtd_recontato_7d,
SUM(
CASE
WHEN b.data_criacao > a.data_criacao + INTERVAL '7 day'
AND b.data_criacao <= a.data_criacao + INTERVAL '15 day'
THEN 1 ELSE 0
END
) AS qtd_recontato_15d
FROM tmp_seed a
LEFT JOIN tmp_base b
ON b.cta_contrato = a.cta_contrato
AND b.motivo = a.motivo
AND b.submotivo = a.submotivo
AND b.numero_caso <> a.numero_caso
AND b.data_criacao <= a.data_criacao + INTERVAL '15 day'
AND (
b.data_criacao > a.data_criacao
OR (b.data_criacao = a.data_criacao AND b.numero_caso <> a.numero_caso)
)
GROUP BY
a.cta_contrato,
a.numero_caso,
a.data_criacao,
a.mes,
a.canal_oficial,
a.tipocanal,
a.motivo,
a.submotivo;
SELECT
cta_contrato as UC,
numero_caso,
data_criacao,
mes,
canal_oficial,
tipocanal,
motivo,
submotivo,
qtd_recontato_24h,
qtd_recontato_7d,
qtd_recontato_15d,
CASE
WHEN qtd_recontato_24h > 0 THEN 0
ELSE 1
END AS fcr_24h,
CASE
WHEN qtd_recontato_7d > 0 THEN 0
ELSE 1
END AS fcr_7d,
CASE
WHEN qtd_recontato_15d > 0 THEN 0
ELSE 1
END AS fcr_15d
FROM tmp_fcr_base
ORDER BY
data_criacao ASC,
cta_contrato,
motivo,
submotivo,
numero_caso;
```

### QUERY: Smart Service CE.sql
Data: 2026-04-14 15:51:58
Tópicos: OUTROS
Empresas detectadas: ENEL CE
Objetos: bi_brce_act.bt_brce_requestqlik
JOINs: 6
Sinais legados: SELECT*=True | 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 Smart_Service_tmp_aux_rq_Rec_iguais;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_iguais AS (
select rq.cta_contrato as cta_contrato, rq.submotivo as submotivo, rq.numero_caso as numero_caso
from bi_brce_act.bt_brce_requestqlik rq
WHERE rq.cta_contrato IS NOT null
AND rq.tipo_caso = 'Reclamação'
AND rq.expurgado = 'false'
AND rq.motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND rq.dataingresso >= CURRENT_DATE - INTERVAL '6' MONTH
)
;
DROP TABLE IF EXISTS Smart_Service_Rec_iguais;
CREATE TEMPORARY TABLE Smart_Service_Rec_iguais AS (
SELECT rq.cta_contrato, rq.submotivo, COUNT(rq.numero_caso) as Rec_reincidentes
FROM Smart_Service_tmp_aux_rq_Rec_iguais rq
GROUP BY 1, 2
HAVING COUNT(rq.numero_caso) >= 2
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Rec_diversas;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_diversas AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brce_act.bt_brce_requestqlik rq
WHERE tipo_caso = 'Reclamação'
AND dataingresso >= CURRENT_DATE - INTERVAL '6' MONTH AND expurgado = 'false'
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Rec_diversas2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_diversas2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Rec_diversas
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_Rec_diversas;
CREATE TEMPORARY TABLE Smart_Service_Rec_diversas AS (
SELECT cta_contrato, COUNT(cta_contrato) as Rec_diversas
FROM Smart_Service_tmp_aux_rq_Rec_diversas2
GROUP BY 1
HAVING Rec_diversas >= 3
);
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_inf_repetidas;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_inf_repetidas AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brce_act.bt_brce_requestqlik rq
WHERE tipo_caso = 'Informação'
AND dataingresso >= CURRENT_DATE - INTERVAL '30' DAY AND expurgado = 'false'
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
and submotivo not IN ('[VALOR_OMITIDO]')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_inf_repetidas2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_inf_repetidas2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_inf_repetidas
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_inf_repetidas;
CREATE TEMPORARY TABLE Smart_Service_inf_repetidas AS (
SELECT cta_contrato, COUNT(cta_contrato) as inf_repetidas
FROM Smart_Service_tmp_aux_rq_inf_repetidas2
GROUP BY 1
HAVING inf_repetidas >= 3
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_N3;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_N3 AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brce_act.bt_brce_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
AND canal_caso LIKE '%ANEEL%'
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_N32;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_N32 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_N3
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_N3;
CREATE TEMPORARY TABLE Smart_Service_N3 AS (
SELECT cta_contrato, COUNT(cta_contrato) as Aneel
FROM Smart_Service_tmp_aux_rq_N32
GROUP BY 1
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Judicial;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Judicial AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brce_act.bt_brce_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
AND canal_caso IN ('19-JUDICIAL',
'36-JURIDICO - PROCESSO JUDICIAL',
'34-JUDICIAL')
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Judicial2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Judicial2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Judicial
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_Judicial;
CREATE TEMPORARY table Smart_Service_Judicial AS (
SELECT cta_contrato, COUNT(cta_contrato) as Judicial
FROM Smart_Service_tmp_aux_rq_Judicial2
GROUP BY 1
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Ouvidoria;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Ouvidoria AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brce_act.bt_brce_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
and canal_caso IN ([LISTA_DE_VALORES_OMITIDA])
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Ouvidoria2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Ouvidoria2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Ouvidoria
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_OUVIDORIA;
CREATE TEMPORARY TABLE Smart_Service_OUVIDORIA AS (
SELECT cta_contrato, COUNT(cta_contrato) as QTD_OUVIDORIA
FROM Smart_Service_tmp_aux_rq_Ouvidoria2
GROUP BY 1
HAVING QTD_OUVIDORIA >= 2
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos AS (
select rq.cta_contrato as cta_contrato,
rq.ano as ano,
rq.mes as mes,
rq.tipo_caso as tipo_caso,
rq.motivo as motivo,
rq.submotivo as submotivo,
rq.numero_caso as numero_caso,
rq.data_criacao as data_criacao,
rq.numero_da_ordem_ou_atividade as Ordem,
rq.status as status
from bi_brce_act.bt_brce_requestqlik rq
WHERE
rq.motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND LEFT(rq.data_criacao, 7) >= '2024-00'
AND rq.tipocanal IN ('Humano')
AND rq.tipo_caso IN ('Solicitação', 'Reclamação', 'RSME')
AND rq.numero_da_ordem_ou_atividade IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos2 AS (
select tmp_cri_1.cta_contrato as cta_contrato,
tmp_cri_1.ano as ano,
tmp_cri_1.mes as mes,
tmp_cri_1.tipo_caso as tipo_caso,
tmp_cri_1.motivo as motivo,
tmp_cri_1.submotivo as submotivo,
tmp_cri_1.numero_caso as numero_caso,
tmp_cri_1.data_criacao as data_criacao,
tmp_cri_1.ordem as Ordem,
tmp_cri_1.status as status,
rec_igu.cta_contrato as rec_igu_cta_contrato,
rec_igu.submotivo as rec_igu_submotivo,
rec_igu.rec_reincidentes as rec_igu_rec_reincidentes
from Smart_Service_tmp_aux_rq_Criticos tmp_cri_1
LEFT JOIN Smart_Service_Rec_iguais rec_igu ON tmp_cri_1.cta_contrato = rec_igu.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos3;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos3 AS (
select tmp_cri_2.cta_contrato as cta_contrato,
tmp_cri_2.ano as ano,
tmp_cri_2.mes as mes,
tmp_cri_2.tipo_caso as tipo_caso,
tmp_cri_2.motivo as motivo,
tmp_cri_2.submotivo as submotivo,
tmp_cri_2.numero_caso as numero_caso,
tmp_cri_2.data_criacao as data_criacao,
tmp_cri_2.ordem as Ordem,
tmp_cri_2.status as status,
tmp_cri_2.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_2.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_2.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
rec_div.cta_contrato as rec_div_cta_contrato,
rec_div.rec_diversas as rec_div_rec_diversas
from Smart_Service_tmp_aux_rq_Criticos2 tmp_cri_2
left join Smart_Service_rec_diversas rec_div ON tmp_cri_2.cta_contrato = rec_div.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos4;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos4 AS (
select tmp_cri_3.cta_contrato as cta_contrato,
tmp_cri_3.ano as ano,
tmp_cri_3.mes as mes,
tmp_cri_3.tipo_caso as tipo_caso,
tmp_cri_3.motivo as motivo,
tmp_cri_3.submotivo as submotivo,
tmp_cri_3.numero_caso as numero_caso,
tmp_cri_3.data_criacao as data_criacao,
tmp_cri_3.ordem as Ordem,
tmp_cri_3.status as status,
tmp_cri_3.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_3.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_3.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_3.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_3.rec_div_rec_diversas as rec_div_rec_diversas,
inf_rep.cta_contrato as inf_rep_cta_contrato,
inf_rep.inf_repetidas as inf_rep_inf_repetidas
from Smart_Service_tmp_aux_rq_Criticos3 tmp_cri_3
left join Smart_Service_inf_repetidas inf_rep ON tmp_cri_3.cta_contrato = inf_rep.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos5;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos5 AS (
select tmp_cri_4.cta_contrato as cta_contrato,
tmp_cri_4.ano as ano,
tmp_cri_4.mes as mes,
tmp_cri_4.tipo_caso as tipo_caso,
tmp_cri_4.motivo as motivo,
tmp_cri_4.submotivo as submotivo,
tmp_cri_4.numero_caso as numero_caso,
tmp_cri_4.data_criacao as data_criacao,
tmp_cri_4.ordem as Ordem,
tmp_cri_4.status as status,
tmp_cri_4.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_4.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_4.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_4.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_4.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_4.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_4.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
T_N3.cta_contrato as n3_cta_contrato,
T_N3.aneel as n3_aneel
from Smart_Service_tmp_aux_rq_Criticos4 tmp_cri_4
left join Smart_Service_n3 T_N3 ON tmp_cri_4.cta_contrato = T_N3.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos6;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos6 AS (
select tmp_cri_5.cta_contrato as cta_contrato,
tmp_cri_5.ano as ano,
tmp_cri_5.mes as mes,
tmp_cri_5.tipo_caso as tipo_caso,
tmp_cri_5.motivo as motivo,
tmp_cri_5.submotivo as submotivo,
tmp_cri_5.numero_caso as numero_caso,
tmp_cri_5.data_criacao as data_criacao,
tmp_cri_5.ordem as Ordem,
tmp_cri_5.status as status,
tmp_cri_5.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_5.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_5.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_5.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_5.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_5.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_5.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
tmp_cri_5.n3_cta_contrato as n3_cta_contrato,
tmp_cri_5.n3_aneel as n3_aneel,
t_ouv.cta_contrato as ouv_cta_contrato,
t_ouv.qtd_ouvidoria as ouv_qtd_ouvidoria
from Smart_Service_tmp_aux_rq_Criticos5 tmp_cri_5
left join Smart_Service_ouvidoria t_ouv ON tmp_cri_5.cta_contrato = t_ouv.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos7;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos7 AS (
select tmp_cri_6.cta_contrato as cta_contrato,
tmp_cri_6.ano as ano,
tmp_cri_6.mes as mes,
tmp_cri_6.tipo_caso as tipo_caso,
tmp_cri_6.motivo as motivo,
tmp_cri_6.submotivo as submotivo,
tmp_cri_6.numero_caso as numero_caso,
tmp_cri_6.data_criacao as data_criacao,
tmp_cri_6.ordem as Ordem,
tmp_cri_6.status as status,
tmp_cri_6.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_6.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_6.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_6.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_6.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_6.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_6.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
tmp_cri_6.n3_cta_contrato as n3_cta_contrato,
tmp_cri_6.n3_aneel as n3_aneel,
tmp_cri_6.ouv_cta_contrato as ouv_cta_contrato,
tmp_cri_6.ouv_qtd_ouvidoria as ouv_qtd_ouvidoria,
t_jud.cta_contrato as jud_cta_contrato,
t_jud.judicial as jud_judicial
from Smart_Service_tmp_aux_rq_Criticos6 tmp_cri_6
left join Smart_Service_judicial t_jud ON tmp_cri_6.cta_contrato = t_jud
[TRUNCADO PARA BASE DE CONHECIMENTO]
```

### QUERY: Smart Service RJ.sql
Data: 2026-04-14 15:50:18
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik
JOINs: 6
Sinais legados: SELECT*=True | 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 Smart_Service_tmp_aux_rq_Rec_iguais;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_iguais AS (
select rq.cta_contrato as cta_contrato, rq.submotivo as submotivo, rq.numero_caso as numero_caso
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE rq.cta_contrato IS NOT null
AND rq.tipo_caso = 'Reclamação'
AND rq.expurgado = 'false'
AND rq.motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND rq.dataingresso >= CURRENT_DATE - INTERVAL '6' MONTH
)
;
DROP TABLE IF EXISTS Smart_Service_Rec_iguais;
CREATE TEMPORARY TABLE Smart_Service_Rec_iguais AS (
SELECT rq.cta_contrato, rq.submotivo, COUNT(rq.numero_caso) as Rec_reincidentes
FROM Smart_Service_tmp_aux_rq_Rec_iguais rq
GROUP BY 1, 2
HAVING COUNT(rq.numero_caso) >= 2
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Rec_diversas;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_diversas AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE tipo_caso = 'Reclamação'
AND dataingresso >= CURRENT_DATE - INTERVAL '6' MONTH AND expurgado = 'false'
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Rec_diversas2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_diversas2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Rec_diversas
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_Rec_diversas;
CREATE TEMPORARY TABLE Smart_Service_Rec_diversas AS (
SELECT cta_contrato, COUNT(cta_contrato) as Rec_diversas
FROM Smart_Service_tmp_aux_rq_Rec_diversas2
GROUP BY 1
HAVING Rec_diversas >= 3
);
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_inf_repetidas;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_inf_repetidas AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE tipo_caso = 'Informação'
AND dataingresso >= CURRENT_DATE - INTERVAL '30' DAY AND expurgado = 'false'
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
and submotivo not IN ('[VALOR_OMITIDO]')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_inf_repetidas2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_inf_repetidas2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_inf_repetidas
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_inf_repetidas;
CREATE TEMPORARY TABLE Smart_Service_inf_repetidas AS (
SELECT cta_contrato, COUNT(cta_contrato) as inf_repetidas
FROM Smart_Service_tmp_aux_rq_inf_repetidas2
GROUP BY 1
HAVING inf_repetidas >= 3
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_N3;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_N3 AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
AND canal_caso LIKE '%ANEEL%'
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_N32;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_N32 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_N3
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_N3;
CREATE TEMPORARY TABLE Smart_Service_N3 AS (
SELECT cta_contrato, COUNT(cta_contrato) as Aneel
FROM Smart_Service_tmp_aux_rq_N32
GROUP BY 1
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Judicial;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Judicial AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
AND canal_caso IN ('19-JUDICIAL',
'36-JURIDICO - PROCESSO JUDICIAL',
'34-JUDICIAL')
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Judicial2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Judicial2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Judicial
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_Judicial;
CREATE TEMPORARY table Smart_Service_Judicial AS (
SELECT cta_contrato, COUNT(cta_contrato) as Judicial
FROM Smart_Service_tmp_aux_rq_Judicial2
GROUP BY 1
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Ouvidoria;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Ouvidoria AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
and canal_caso IN ([LISTA_DE_VALORES_OMITIDA])
AND motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Ouvidoria2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Ouvidoria2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Ouvidoria
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_OUVIDORIA;
CREATE TEMPORARY TABLE Smart_Service_OUVIDORIA AS (
SELECT cta_contrato, COUNT(cta_contrato) as QTD_OUVIDORIA
FROM Smart_Service_tmp_aux_rq_Ouvidoria2
GROUP BY 1
HAVING QTD_OUVIDORIA >= 2
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos AS (
select rq.cta_contrato as cta_contrato,
rq.ano as ano,
rq.mes as mes,
rq.tipo_caso as tipo_caso,
rq.motivo as motivo,
rq.submotivo as submotivo,
rq.numero_caso as numero_caso,
rq.data_criacao as data_criacao,
rq.numero_da_ordem_ou_atividade as Ordem,
rq.status as status
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE
rq.motivo NOT IN ('MOT001-Sol Registro Aviso Emergencial')
AND LEFT(rq.data_criacao, 7) >= '2024-00'
AND rq.tipocanal IN ('Humano')
AND rq.tipo_caso IN ('Solicitação', 'Reclamação', 'RSME')
AND rq.numero_da_ordem_ou_atividade IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos2 AS (
select tmp_cri_1.cta_contrato as cta_contrato,
tmp_cri_1.ano as ano,
tmp_cri_1.mes as mes,
tmp_cri_1.tipo_caso as tipo_caso,
tmp_cri_1.motivo as motivo,
tmp_cri_1.submotivo as submotivo,
tmp_cri_1.numero_caso as numero_caso,
tmp_cri_1.data_criacao as data_criacao,
tmp_cri_1.ordem as Ordem,
tmp_cri_1.status as status,
rec_igu.cta_contrato as rec_igu_cta_contrato,
rec_igu.submotivo as rec_igu_submotivo,
rec_igu.rec_reincidentes as rec_igu_rec_reincidentes
from Smart_Service_tmp_aux_rq_Criticos tmp_cri_1
LEFT JOIN Smart_Service_Rec_iguais rec_igu ON tmp_cri_1.cta_contrato = rec_igu.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos3;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos3 AS (
select tmp_cri_2.cta_contrato as cta_contrato,
tmp_cri_2.ano as ano,
tmp_cri_2.mes as mes,
tmp_cri_2.tipo_caso as tipo_caso,
tmp_cri_2.motivo as motivo,
tmp_cri_2.submotivo as submotivo,
tmp_cri_2.numero_caso as numero_caso,
tmp_cri_2.data_criacao as data_criacao,
tmp_cri_2.ordem as Ordem,
tmp_cri_2.status as status,
tmp_cri_2.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_2.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_2.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
rec_div.cta_contrato as rec_div_cta_contrato,
rec_div.rec_diversas as rec_div_rec_diversas
from Smart_Service_tmp_aux_rq_Criticos2 tmp_cri_2
left join Smart_Service_rec_diversas rec_div ON tmp_cri_2.cta_contrato = rec_div.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos4;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos4 AS (
select tmp_cri_3.cta_contrato as cta_contrato,
tmp_cri_3.ano as ano,
tmp_cri_3.mes as mes,
tmp_cri_3.tipo_caso as tipo_caso,
tmp_cri_3.motivo as motivo,
tmp_cri_3.submotivo as submotivo,
tmp_cri_3.numero_caso as numero_caso,
tmp_cri_3.data_criacao as data_criacao,
tmp_cri_3.ordem as Ordem,
tmp_cri_3.status as status,
tmp_cri_3.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_3.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_3.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_3.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_3.rec_div_rec_diversas as rec_div_rec_diversas,
inf_rep.cta_contrato as inf_rep_cta_contrato,
inf_rep.inf_repetidas as inf_rep_inf_repetidas
from Smart_Service_tmp_aux_rq_Criticos3 tmp_cri_3
left join Smart_Service_inf_repetidas inf_rep ON tmp_cri_3.cta_contrato = inf_rep.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos5;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos5 AS (
select tmp_cri_4.cta_contrato as cta_contrato,
tmp_cri_4.ano as ano,
tmp_cri_4.mes as mes,
tmp_cri_4.tipo_caso as tipo_caso,
tmp_cri_4.motivo as motivo,
tmp_cri_4.submotivo as submotivo,
tmp_cri_4.numero_caso as numero_caso,
tmp_cri_4.data_criacao as data_criacao,
tmp_cri_4.ordem as Ordem,
tmp_cri_4.status as status,
tmp_cri_4.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_4.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_4.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_4.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_4.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_4.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_4.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
T_N3.cta_contrato as n3_cta_contrato,
T_N3.aneel as n3_aneel
from Smart_Service_tmp_aux_rq_Criticos4 tmp_cri_4
left join Smart_Service_n3 T_N3 ON tmp_cri_4.cta_contrato = T_N3.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos6;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos6 AS (
select tmp_cri_5.cta_contrato as cta_contrato,
tmp_cri_5.ano as ano,
tmp_cri_5.mes as mes,
tmp_cri_5.tipo_caso as tipo_caso,
tmp_cri_5.motivo as motivo,
tmp_cri_5.submotivo as submotivo,
tmp_cri_5.numero_caso as numero_caso,
tmp_cri_5.data_criacao as data_criacao,
tmp_cri_5.ordem as Ordem,
tmp_cri_5.status as status,
tmp_cri_5.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_5.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_5.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_5.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_5.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_5.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_5.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
tmp_cri_5.n3_cta_contrato as n3_cta_contrato,
tmp_cri_5.n3_aneel as n3_aneel,
t_ouv.cta_contrato as ouv_cta_contrato,
t_ouv.qtd_ouvidoria as ouv_qtd_ouvidoria
from Smart_Service_tmp_aux_rq_Criticos5 tmp_cri_5
left join Smart_Service_ouvidoria t_ouv ON tmp_cri_5.cta_contrato = t_ouv.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos7;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos7 AS (
select tmp_cri_6.cta_contrato as cta_contrato,
tmp_cri_6.ano as ano,
tmp_cri_6.mes as mes,
tmp_cri_6.tipo_caso as tipo_caso,
tmp_cri_6.motivo as motivo,
tmp_cri_6.submotivo as submotivo,
tmp_cri_6.numero_caso as numero_caso,
tmp_cri_6.data_criacao as data_criacao,
tmp_cri_6.ordem as Ordem,
tmp_cri_6.status as status,
tmp_cri_6.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_6.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_6.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_6.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_6.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_6.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_6.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
tmp_cri_6.n3_cta_contrato as n3_cta_contrato,
tmp_cri_6.n3_aneel as n3_aneel,
tmp_cri_6.ouv_cta_contrato as ouv_cta_contrato,
tmp_cri_6.ouv_qtd_ouvidoria as ouv_qtd_ouvidoria,
t_jud.cta_contrato as jud_cta_contrato,
t_jud.judicial as jud_judicial
from Smart_Service_tmp_aux_rq_Criticos6 tmp_cri_6
left join Smart_Service_judicial t_jud ON tmp_cri_6.cta_contrato = t_jud
[TRUNCADO PARA BASE DE CONHECIMENTO]
```

### QUERY: Smart Service SP.sql
Data: 2026-04-14 14:53:32
Tópicos: OUTROS
Empresas detectadas: ENEL RJ, ENEL SP
Objetos: bi_brsp_act.bt_brsp_requestqlik; bi_brrj_act.bt_brrj_requestqlik
JOINs: 6
Sinais legados: SELECT*=True | 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 Smart_Service_tmp_aux_rq_Rec_iguais;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_iguais AS (
select rq.cta_contrato as cta_contrato, rq.submotivo as submotivo, rq.numero_caso as numero_caso
from bi_brsp_act.bt_brsp_requestqlik rq
WHERE rq.cta_contrato IS NOT null
AND rq.tipo_caso = 'ZREC-Reclamação'
AND rq.expurgado = 'false'
AND rq.tipo_caso <> 'ZEME-Emergência'
AND rq.dataingresso >= CURRENT_DATE - INTERVAL '6' MONTH
)
;
DROP TABLE IF EXISTS Smart_Service_Rec_iguais;
CREATE TEMPORARY TABLE Smart_Service_Rec_iguais AS (
SELECT rq.cta_contrato, rq.submotivo, COUNT(rq.numero_caso) as Rec_reincidentes
FROM Smart_Service_tmp_aux_rq_Rec_iguais rq
GROUP BY 1, 2
HAVING COUNT(rq.numero_caso) >= 2
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Rec_diversas;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_diversas AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE tipo_caso = 'ZREC-Reclamação'
AND dataingresso >= CURRENT_DATE - INTERVAL '6' MONTH AND expurgado = 'false'
AND tipo_caso not IN ('ZEME-Emergência')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Rec_diversas2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Rec_diversas2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Rec_diversas
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_Rec_diversas;
CREATE TEMPORARY TABLE Smart_Service_Rec_diversas AS (
SELECT cta_contrato, COUNT(cta_contrato) as Rec_diversas
FROM Smart_Service_tmp_aux_rq_Rec_diversas2
GROUP BY 1
HAVING Rec_diversas >= 3
);
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_inf_repetidas;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_inf_repetidas AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE tipo_caso = 'ZINF-Contato Informação'
AND dataingresso >= CURRENT_DATE - INTERVAL '30' DAY AND expurgado = 'false'
AND tipo_caso not IN ('ZEME-Emergência')
and submotivo not IN ('[VALOR_OMITIDO]')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_inf_repetidas2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_inf_repetidas2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_inf_repetidas
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_inf_repetidas;
CREATE TEMPORARY TABLE Smart_Service_inf_repetidas AS (
SELECT cta_contrato, COUNT(cta_contrato) as inf_repetidas
FROM Smart_Service_tmp_aux_rq_inf_repetidas2
GROUP BY 1
HAVING inf_repetidas >= 3
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_N3;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_N3 AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
AND canal_caso LIKE '%ANEEL%'
AND tipo_caso not IN ('ZEME-Emergência')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_N32;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_N32 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_N3
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_N3;
CREATE TEMPORARY TABLE Smart_Service_N3 AS (
SELECT cta_contrato, COUNT(cta_contrato) as Aneel
FROM Smart_Service_tmp_aux_rq_N32
GROUP BY 1
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Judicial;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Judicial AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
AND submotivo IN ('3068-Determinação Judicial (Liminares)'
'1182-1012 INFO NOTIFICAÇÃO EXTRA JUDICIAL')
AND tipo_caso not IN ('ZEME-Emergência')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Judicial2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Judicial2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Judicial
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_Judicial;
CREATE TEMPORARY table Smart_Service_Judicial AS (
SELECT cta_contrato, COUNT(cta_contrato) as Judicial
FROM Smart_Service_tmp_aux_rq_Judicial2
GROUP BY 1
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Ouvidoria;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Ouvidoria AS (
select rq.cta_contrato as cta_contrato, rq. submotivo as submotivo
from bi_brrj_act.bt_brrj_requestqlik rq
WHERE dataingresso >= CURRENT_DATE - INTERVAL '13' MONTH AND expurgado = 'false'
and canal_oficial IN ([LISTA_DE_VALORES_OMITIDA])
AND tipo_caso not IN ('ZEME-Emergência')
AND cta_contrato IS NOT null
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Ouvidoria2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Ouvidoria2 AS (
select cta_contrato as cta_contrato, submotivo as submotivo
from Smart_Service_tmp_aux_rq_Ouvidoria
group by cta_contrato, submotivo
)
;
DROP TABLE IF EXISTS Smart_Service_OUVIDORIA;
CREATE TEMPORARY TABLE Smart_Service_OUVIDORIA AS (
SELECT cta_contrato, COUNT(cta_contrato) as QTD_OUVIDORIA
FROM Smart_Service_tmp_aux_rq_Ouvidoria2
GROUP BY 1
HAVING QTD_OUVIDORIA >= 1
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos AS (
select rq.cta_contrato as cta_contrato,
rq.ano as ano,
rq.mes as mes,
rq.tipo_caso as tipo_caso,
rq.motivo as motivo,
rq.submotivo as submotivo,
rq.numero_caso as numero_caso,
rq.data_criacao as data_criacao,
rq.numero_da_ordem_ou_atividade as Ordem,
rq.status as status
from bi_brsp_act.bt_brsp_requestqlik rq
WHERE
rq.tipo_caso not IN ('ZEME-Emergência')
AND LEFT(rq.data_criacao, 7) >= '2025-00'
AND rq.tipocanal IN ('Humano')
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos2;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos2 AS (
select tmp_cri_1.cta_contrato as cta_contrato,
tmp_cri_1.ano as ano,
tmp_cri_1.mes as mes,
tmp_cri_1.tipo_caso as tipo_caso,
tmp_cri_1.motivo as motivo,
tmp_cri_1.submotivo as submotivo,
tmp_cri_1.numero_caso as numero_caso,
tmp_cri_1.data_criacao as data_criacao,
tmp_cri_1.ordem as Ordem,
tmp_cri_1.status as status,
rec_igu.cta_contrato as rec_igu_cta_contrato,
rec_igu.submotivo as rec_igu_submotivo,
rec_igu.rec_reincidentes as rec_igu_rec_reincidentes
from Smart_Service_tmp_aux_rq_Criticos tmp_cri_1
LEFT JOIN Smart_Service_Rec_iguais rec_igu ON tmp_cri_1.cta_contrato = rec_igu.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos3;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos3 AS (
select tmp_cri_2.cta_contrato as cta_contrato,
tmp_cri_2.ano as ano,
tmp_cri_2.mes as mes,
tmp_cri_2.tipo_caso as tipo_caso,
tmp_cri_2.motivo as motivo,
tmp_cri_2.submotivo as submotivo,
tmp_cri_2.numero_caso as numero_caso,
tmp_cri_2.data_criacao as data_criacao,
tmp_cri_2.ordem as Ordem,
tmp_cri_2.status as status,
tmp_cri_2.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_2.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_2.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
rec_div.cta_contrato as rec_div_cta_contrato,
rec_div.rec_diversas as rec_div_rec_diversas
from Smart_Service_tmp_aux_rq_Criticos2 tmp_cri_2
left join Smart_Service_rec_diversas rec_div ON tmp_cri_2.cta_contrato = rec_div.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos4;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos4 AS (
select tmp_cri_3.cta_contrato as cta_contrato,
tmp_cri_3.ano as ano,
tmp_cri_3.mes as mes,
tmp_cri_3.tipo_caso as tipo_caso,
tmp_cri_3.motivo as motivo,
tmp_cri_3.submotivo as submotivo,
tmp_cri_3.numero_caso as numero_caso,
tmp_cri_3.data_criacao as data_criacao,
tmp_cri_3.ordem as Ordem,
tmp_cri_3.status as status,
tmp_cri_3.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_3.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_3.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_3.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_3.rec_div_rec_diversas as rec_div_rec_diversas,
inf_rep.cta_contrato as inf_rep_cta_contrato,
inf_rep.inf_repetidas as inf_rep_inf_repetidas
from Smart_Service_tmp_aux_rq_Criticos3 tmp_cri_3
left join Smart_Service_inf_repetidas inf_rep ON tmp_cri_3.cta_contrato = inf_rep.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos5;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos5 AS (
select tmp_cri_4.cta_contrato as cta_contrato,
tmp_cri_4.ano as ano,
tmp_cri_4.mes as mes,
tmp_cri_4.tipo_caso as tipo_caso,
tmp_cri_4.motivo as motivo,
tmp_cri_4.submotivo as submotivo,
tmp_cri_4.numero_caso as numero_caso,
tmp_cri_4.data_criacao as data_criacao,
tmp_cri_4.ordem as Ordem,
tmp_cri_4.status as status,
tmp_cri_4.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_4.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_4.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_4.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_4.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_4.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_4.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
T_N3.cta_contrato as n3_cta_contrato,
T_N3.aneel as n3_aneel
from Smart_Service_tmp_aux_rq_Criticos4 tmp_cri_4
left join Smart_Service_n3 T_N3 ON tmp_cri_4.cta_contrato = T_N3.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos6;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos6 AS (
select tmp_cri_5.cta_contrato as cta_contrato,
tmp_cri_5.ano as ano,
tmp_cri_5.mes as mes,
tmp_cri_5.tipo_caso as tipo_caso,
tmp_cri_5.motivo as motivo,
tmp_cri_5.submotivo as submotivo,
tmp_cri_5.numero_caso as numero_caso,
tmp_cri_5.data_criacao as data_criacao,
tmp_cri_5.ordem as Ordem,
tmp_cri_5.status as status,
tmp_cri_5.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_5.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_5.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_5.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_5.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_5.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_5.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
tmp_cri_5.n3_cta_contrato as n3_cta_contrato,
tmp_cri_5.n3_aneel as n3_aneel,
t_ouv.cta_contrato as ouv_cta_contrato,
t_ouv.qtd_ouvidoria as ouv_qtd_ouvidoria
from Smart_Service_tmp_aux_rq_Criticos5 tmp_cri_5
left join Smart_Service_ouvidoria t_ouv ON tmp_cri_5.cta_contrato = t_ouv.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_aux_rq_Criticos7;
CREATE TEMPORARY TABLE Smart_Service_tmp_aux_rq_Criticos7 AS (
select tmp_cri_6.cta_contrato as cta_contrato,
tmp_cri_6.ano as ano,
tmp_cri_6.mes as mes,
tmp_cri_6.tipo_caso as tipo_caso,
tmp_cri_6.motivo as motivo,
tmp_cri_6.submotivo as submotivo,
tmp_cri_6.numero_caso as numero_caso,
tmp_cri_6.data_criacao as data_criacao,
tmp_cri_6.ordem as Ordem,
tmp_cri_6.status as status,
tmp_cri_6.rec_igu_cta_contrato as rec_igu_cta_contrato,
tmp_cri_6.rec_igu_submotivo as rec_igu_submotivo,
tmp_cri_6.rec_igu_rec_reincidentes as rec_igu_rec_reincidentes,
tmp_cri_6.rec_div_cta_contrato as rec_div_cta_contrato,
tmp_cri_6.rec_div_rec_diversas as rec_div_rec_diversas,
tmp_cri_6.inf_rep_cta_contrato as inf_rep_cta_contrato,
tmp_cri_6.inf_rep_inf_repetidas as inf_rep_inf_repetidas,
tmp_cri_6.n3_cta_contrato as n3_cta_contrato,
tmp_cri_6.n3_aneel as n3_aneel,
tmp_cri_6.ouv_cta_contrato as ouv_cta_contrato,
tmp_cri_6.ouv_qtd_ouvidoria as ouv_qtd_ouvidoria,
t_jud.cta_contrato as jud_cta_contrato,
t_jud.judicial as jud_judicial
from Smart_Service_tmp_aux_rq_Criticos6 tmp_cri_6
left join Smart_Service_judicial t_jud ON tmp_cri_6.cta_contrato = t_jud.cta_contrato
)
;
DROP TABLE IF EXISTS Smart_Service_tmp_CRITICOS;
CREATE TEMPORARY TABLE Smart_Service_tmp_CRITICOS AS (
SELECT cta_contrato as cta_contrato,
ano as ano,
mes as mes,
tipo_caso as tip
[TRUNCADO PARA BASE DE CONHECIMENTO]
```

### QUERY: Query Transbordo Canais.sql
Data: 2026-03-26 14:28:26
Tópicos: CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; dp_brrj_cus.bt_de_para_motivos_requestqlik
JOINs: 6
Sinais legados: SELECT*=True | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=True | 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 tmp_submotivos;
create temporary table tmp_submotivos (
submotivo varchar(100),
s_motivo varchar(100)
);
insert into tmp_submotivos (submotivo, s_motivo)
VALUES ([VALORES_OMITIDOS]),
('ATBR175-CUSTO DISPONIBILIDADE','CONSUMO'),
('ATBR422-FATURAMENTO POR MÉDIA','CONSUMO'),
('[VALOR_OMITIDO]','CONSUMO'),
('ATBR130-GCLI FATURAMENTO','CONSUMO'),
('ATBR453-FATURA COLETIVA GD','CONSUMO'),
('ATBR475-BAIXA RENDA RECLAMACAO','CONSUMO'),
('ATBR177-GCLI COBR INDEV MULTA JUROS-FATURA ABERTA','CONSUMO'),
('ATBR179-GCLI MUDANCA TARIFA','CONSUMO'),
('ATBR188-INSPECAO/MANUT CONC CHIP','CONSUMO'),
('ATBR385-RATEIO GD','CONSUMO'),
('ATBR140-GCLI TELEMEDICAO','CONSUMO'),
('ATBR443-ERRO LEITURA GD','CONSUMO'),
('ATBR134-GCLI MEMORIA DE MASSA','CONSUMO'),
('ATBR441-FATURAMENTO POR MÉDIA GD','CONSUMO'),
('ATBR012-LEITURA FORNECIDA CLIENTE','CONSUMO'),
('ATBR444-TARIFA GD','CONSUMO'),
('ATBR439-BONUS REDUCAO VOLUNTARIA CONSUMO','CONSUMO'),
('ATBR093-OI/OT/TOI','TOI'),
('ATBR050-COBR TOI','TOI'),
('ATBR338-CANCELAMENTO DE TOI - JUIZADO','TOI'),
('ATBR272-RECURSO IPEM/INMETRO TOI','TOI'),
('ATBR369-REGISTRO PHONE COLLECTION TOI','TOI'),
('ATBR003-CORTE OU RELIG','RELIGAÇÃO'),
('ATBR017-RELIG NORMAL','RELIGAÇÃO'),
('ATBR018-RELIG URGENTE','RELIGAÇÃO'),
('ATBR394-COBR TAXA AUTORELIG','RELIGAÇÃO'),
('ATBR109-RELIG NAO EXECUTADA','RELIGAÇÃO'),
('72-REC RELIGAÇÃO FORA DO HORÁRIO COMERCIAL','RELIGAÇÃO'),
('ATBR110-RELIG NAO EXECUTADA CONC','RELIGAÇÃO'),
('ATBR174-RELIGAÇÃO C/ IMPLANT MED- JUIZADO','RELIGAÇÃO'),
('ATBR376-GERACAO DISTRIBUIDA FATURAMENTO','CONSUMO'),
('ATBR286-MED CONVENCIONAL - AFER MEDIDOR','CONSUMO'),
('ATBR143-VERIF TECNICA','RELIGAÇÃO'),
('[VALOR_OMITIDO]','CONSUMO'),
('ATBR313-MED CONVENCIONAL - VERIF MED','CONSUMO'),
('ATBR048-COBR PROD E DOACAO NAO AUTORIZADO','CONSUMO'),
('ATBR180-MANUTENCAO CP CS','CONSUMO'),
('ATBR399-CANCELAMENTO DE FATURAS','CONSUMO'),
('ATBR401-DIFERIMENTO FATURAS','CONSUMO'),
('ATBR212-CHIP - VERIF MED','CONSUMO'),
('ATBR076-ERRO LEITURA','CONSUMO'),
('ATBR107-REFAT PROD E DOACAO','CONSUMO'),
('ATBR405-REFAT CONTAS AGRUPADAS','CONSUMO'),
('ATBR285-IPEM/INMETRO - AFER MEDIDOR','CONSUMO'),
('ATBR227-COMPOSICAO VALOR CONSUMO','CONSUMO')
;
drop table if exists tmp_canais_excluidos;
create temporary table tmp_canais_excluidos (
canal_caso varchar(200)
);
insert into tmp_canais_excluidos (canal_caso)
VALUES ([VALORES_OMITIDOS]),
('115-OUV ORGAO DEFESA - PROCON EMAIL'),
('33-OUV ORGAO DEFESA - DECON/CODECON PRESENCIAL'),
('118-OUV ORGAO DEFESA - PROCON NOTIFICACAO'),
('26-OUVIDORIA - EMAIL'),
('114-OUV ORGAO DEFESA - PROCON CIP ELETRONICA'),
('30-OUV ORGAO DEFESA - DECON/CODECON TEL'),
('119-OUV ORGAO DEFESA - PROCON PROCESSO ADM'),
('107-OUVIDORIA - CONSUMIDOR GOV'),
('28-OUVIDORIA - PRESENCIAL'),
('111-OUVIDORIA - IMPRENSA'),
('32-OUV ORGAO DEFESA - DECON/CODECON CIP ELETRONICA'),
('31-OUV ORGAO DEFESA - DECON/CODECON CIP'),
('120-OUV ORGAO DEFESA - PROCON TEL'),
('106-OUVIDORIA - ORGAO DEFESA'),
('27-OUVIDORIA - CARTA/OFICIO'),
('25-OUVIDORIA - VOCE E O PRESIDENTE'),
('117-OUV ORGAO DEFESA - PROCON MULTA')
;
drop table if exists tmp_base;
create temporary table tmp_base as
select
case
when a.numero_ponto_de_fornecimento is null then cast(a.cta_contrato as int)
else cast(a.numero_ponto_de_fornecimento as int)
end as instalacao,
a.numero_caso,
a.ano || substring(a.data_criacao, 6, 2) as anomes,
cast(left(a.data_criacao, 10) as date) as data_atendimento,
a.tipo_caso,
a.motivo,
a.submotivo,
b.motivo_tratado,
c.s_motivo as submotivo_resumido,
a.os_procedencia,
a.canal_caso,
a.canal_oficial,
a.tipocanal
from bi_brrj_act.bt_brrj_requestqlik a
inner join tmp_submotivos c
on c.submotivo = a.submotivo
left join dp_brrj_cus.bt_de_para_motivos_requestqlik b
on b.chave = a.motivo || a.submotivo
where a.canal_oficial IN ('Call Center', 'Lojas', 'Whatsapp Lojas')
and c.s_motivo IN ('CONSUMO', 'TOI', 'RELIGAÇÃO')
and a.canal_caso not like '%ANEEL%';
drop table if exists tmp_atendimento_inicial;
create temporary table tmp_atendimento_inicial as
select
b.*
from tmp_base b
left join tmp_canais_excluidos x
on b.canal_caso = x.canal_caso
where b.anomes = '${ANOMES}'
and b.tipo_caso not IN ('Reclamação', 'RSME')
and x.canal_caso is null;
drop table if exists tmp_reclamacoes;
create temporary table tmp_reclamacoes as
select
b.*
from tmp_base b
left join tmp_canais_excluidos x
on b.canal_caso = x.canal_caso
where b.tipo_caso IN ('Reclamação', 'RSME')
and x.canal_caso is null;
drop table if exists tmp_match_30d;
create temporary table tmp_match_30d as
select
i.instalacao,
i.numero_caso as caso_atendimento_inicial,
i.data_atendimento as data_atendimento_inicial,
i.anomes as anomes_inicial,
i.canal_oficial as canal_inicial,
i.canal_caso as canal_caso_inicial,
i.tipo_caso as tipo_caso_inicial,
i.motivo as motivo_inicial,
i.submotivo as submotivo_inicial,
i.submotivo_resumido as submotivo_resumido_inicial,
r.numero_caso as caso_reclamacao,
r.data_atendimento as data_reclamacao,
r.canal_oficial as canal_reclamacao,
r.canal_caso as canal_caso_reclamacao,
r.tipo_caso as tipo_caso_reclamacao,
r.motivo as motivo_reclamacao,
r.submotivo as submotivo_reclamacao,
r.submotivo_resumido as submotivo_resumido_reclamacao,
datediff(day, i.data_atendimento, r.data_atendimento) as dias_ate_reclamacao,
row_number() over (
partition by i.numero_caso
order by r.data_atendimento, r.numero_caso
) as rn
from tmp_atendimento_inicial i
inner join tmp_reclamacoes r
on r.instalacao = i.instalacao
and r.data_atendimento > i.data_atendimento
and r.data_atendimento <= dateadd(day, 30, i.data_atendimento)
and r.canal_oficial <> i.canal_oficial
and r.submotivo_resumido = i.submotivo_resumido;
select
i.instalacao,
i.numero_caso as caso_atendimento_inicial,
i.anomes,
i.data_atendimento,
i.tipo_caso,
i.motivo,
i.submotivo,
i.submotivo_resumido,
i.canal_oficial,
i.canal_caso,
case when m.caso_reclamacao is not null then 1 else 0 end as virou_reclamacao_30d_outro_canal,
m.caso_reclamacao,
m.data_reclamacao,
m.canal_reclamacao,
m.canal_caso_reclamacao,
m.dias_ate_reclamacao
from tmp_atendimento_inicial i
left join tmp_match_30d m
on i.numero_caso = m.caso_atendimento_inicial
and m.rn = 1;
```

### QUERY: Sala Mercado Tecnicas.sql
Data: 2026-03-10 10:58:18
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: 5
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 _variables;
CREATE TEMP TABLE _variables
DISTSTYLE ALL
SORTKEY (ref, ref_ant)
AS
SELECT
TO_CHAR(DATE_TRUNC('month', CURRENT_DATE), 'YYYYMM')::NVARCHAR(6) AS ref,
TO_CHAR(DATE_TRUNC('month', CURRENT_DATE) - INTERVAL '3 month', 'YYYYMM')::NVARCHAR(6) AS ref_ant
;
ANALYZE _variables;
DROP TABLE IF EXISTS reclamacao_base;
CREATE TEMP TABLE reclamacao_base
DISTKEY (cliente)
SORTKEY (atr_periodo, cliente, motivo_empresa_subtipo, nivel)
AS
SELECT
a.atr_periodo,
a.protocolo,
a.num_order,
a.pod_id AS cliente,
a.nivel,
a.municipio,
d.canal_ouvidoria,
a.tipo_tensao,
a.data_ingressada,
a.data_encerramento,
a.data_fim_previsto,
a.prazo_encerrado,
a.prazo_em_andamento,
a.procedencia,
a.status,
a.detalhamento_assunto,
a.assunto_bd_reclamacao,
a.motivo_aneel,
a.codigo_motivo_aneel,
a.detalhe_controle_cx,
a.area,
a.alimentador,
a.smartmeter,
a.data_atualizacao,
a.data_fotografia,
a.id_depara,
a.aging,
b.latam_nivel_0,
b.latam_nivel_1,
b.latam_nivel_2,
b.latam_nivel_3 AS assunto,
a.motivo_cliente_natureza_da_ocorrencia,
a.motivo_empresa_subtipo,
a.divisao,
a.cod_aneel_do_anexo_i
FROM bi_brrj_att.bt_br_consolidacao_reclamacao a
INNER JOIN bi_brrj_att.bt_br_depara b
ON a.id_depara = b.id_linha
LEFT JOIN dp_brrj.bt_aux_canal_rec d
ON d.canal_ouvidoria = a.canal_ouvidoria
CROSS JOIN _variables v
WHERE a.distribuidora = 'RJ'
AND b.latam_nivel_0 = 'Commercial claims'
AND a.atr_periodo >= v.ref_ant
;
ANALYZE reclamacao_base;
DROP TABLE IF EXISTS n3;
CREATE TEMP TABLE n3
DISTKEY (cliente)
SORTKEY (cliente, motivo_empresa_subtipo)
AS
SELECT
rb.atr_periodo,
rb.protocolo,
rb.num_order,
rb.cliente,
rb.nivel,
rb.municipio,
rb.canal_ouvidoria,
rb.tipo_tensao,
rb.data_ingressada,
rb.data_encerramento,
rb.data_fim_previsto,
rb.prazo_encerrado,
rb.prazo_em_andamento,
rb.procedencia,
rb.status,
rb.detalhamento_assunto,
rb.assunto_bd_reclamacao,
rb.motivo_aneel,
rb.codigo_motivo_aneel,
rb.detalhe_controle_cx,
rb.area,
rb.alimentador,
rb.smartmeter,
rb.data_atualizacao,
rb.data_fotografia,
rb.id_depara,
rb.aging,
rb.latam_nivel_0,
rb.latam_nivel_1,
rb.latam_nivel_2,
rb.assunto,
rb.motivo_cliente_natureza_da_ocorrencia,
rb.motivo_empresa_subtipo,
rb.divisao,
rb.cod_aneel_do_anexo_i
FROM reclamacao_base rb
CROSS JOIN _variables v
WHERE rb.atr_periodo = v.ref
AND rb.nivel LIKE '%3%'
;
ANALYZE n3;
DROP TABLE IF EXISTS n1_n2;
CREATE TEMP TABLE n1_n2
DISTKEY (cliente)
SORTKEY (cliente, motivo_empresa_subtipo)
AS
SELECT
rb.cliente,
rb.motivo_empresa_subtipo
FROM reclamacao_base rb
WHERE rb.nivel IN ('%1%', '%2%')
;
ANALYZE n1_n2;
SELECT
a.atr_periodo,
a.protocolo,
a.num_order,
a.cliente,
a.nivel,
a.municipio,
a.canal_ouvidoria,
a.tipo_tensao,
a.data_ingressada,
a.data_encerramento,
a.data_fim_previsto,
a.prazo_encerrado,
a.prazo_em_andamento,
a.procedencia,
a.status,
a.detalhamento_assunto,
a.assunto_bd_reclamacao,
a.motivo_aneel,
a.codigo_motivo_aneel,
a.detalhe_controle_cx,
a.area,
a.alimentador,
a.smartmeter,
a.data_atualizacao,
a.data_fotografia,
a.id_depara,
a.aging,
a.latam_nivel_0,
a.latam_nivel_1,
a.latam_nivel_2,
a.assunto,
a.motivo_cliente_natureza_da_ocorrencia,
a.motivo_empresa_subtipo,
a.divisao,
a.cod_aneel_do_anexo_i,
COUNT(b.cliente) AS reincidencia
FROM n3 a
LEFT JOIN n1_n2 b
ON b.cliente = a.cliente
AND b.motivo_empresa_subtipo = a.motivo_empresa_subtipo
GROUP BY
a.atr_periodo,
a.protocolo,
a.num_order,
a.cliente,
a.nivel,
a.municipio,
a.canal_ouvidoria,
a.tipo_tensao,
a.data_ingressada,
a.data_encerramento,
a.data_fim_previsto,
a.prazo_encerrado,
a.prazo_em_andamento,
a.procedencia,
a.status,
a.detalhamento_assunto,
a.assunto_bd_reclamacao,
a.motivo_aneel,
a.codigo_motivo_aneel,
a.detalhe_controle_cx,
a.area,
a.alimentador,
a.smartmeter,
a.data_atualizacao,
a.data_fotografia,
a.id_depara,
a.aging,
a.latam_nivel_0,
a.latam_nivel_1,
a.latam_nivel_2,
a.assunto,
a.motivo_cliente_natureza_da_ocorrencia,
a.motivo_empresa_subtipo,
a.divisao,
a.cod_aneel_do_anexo_i
;
```

### QUERY: Faturamento Mensal Mambucaba e Praia Brava.sql
Data: 2026-02-13 10:35:16
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_bill.bt_brrj_cip_faturado; global_brasil_rio.bt_global_billing_concepts_brazil_rio; 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_cus.tb_capilaridade_credit_recovery
JOINs: 9
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 tmp_estono_pleno;
CREATE TEMP TABLE tmp_estono_pleno AS
SELECT
numero_fatura
FROM bi_brrj_bill.bt_brrj_cip_faturado
WHERE tipo_documento_faturamento = 'ESTONO PLENO'
GROUP BY 1;
ANALYZE tmp_estono_pleno;
DROP TABLE IF EXISTS tmp_cip_base;
CREATE TEMP TABLE tmp_cip_base AS
SELECT
conta_contrato,
numero_fatura,
referencia_faturamento,
tipo_documento_faturamento,
data_faturamento,
consumo_faturado,
juros_fatura,
multa_fatura,
data_vencimento_fatura,
valor_da_fatura,
grupo,
nr_medidor
FROM bi_brrj_bill.bt_brrj_cip_faturado a
WHERE NOT EXISTS (
SELECT 1
FROM tmp_estono_pleno e
WHERE e.numero_fatura = a.numero_fatura
);
ANALYZE tmp_cip_base;
DROP TABLE IF EXISTS tmp_cip_faturado_dt;
CREATE TEMP TABLE tmp_cip_faturado_dt AS
SELECT
conta_contrato,
referencia_faturamento,
MAX(data_faturamento) AS data_faturamento_faturado
FROM tmp_cip_base
WHERE tipo_documento_faturamento = 'FATURADO'
GROUP BY 1,2;
ANALYZE tmp_cip_faturado_dt;
DROP TABLE IF EXISTS tmp_concepts_h;
CREATE TEMP TABLE tmp_concepts_h AS
SELECT
LEFT(fk_bill_id,16) AS fatura,
SUM(vad_concept_issued_amount_due_date_tax) AS valor_consumo
FROM global_brasil_rio.bt_global_billing_concepts_brazil_rio
WHERE lds_local_concept IN ('IMPOSTOS','ENERGIA ATIVA FORNECIDA TE','TUSD')
GROUP BY 1;
ANALYZE tmp_concepts_h;
DROP TABLE IF EXISTS tmp_concepts_j;
CREATE TEMP TABLE tmp_concepts_j AS
SELECT
LEFT(fk_bill_id,16) AS fatura,
SUM(vad_concept_issued_amount_due_date_tax) AS valor_eventual
FROM global_brasil_rio.bt_global_billing_concepts_brazil_rio
WHERE lds_local_concept LIKE 'ADICIONAL BAND.%'
GROUP BY 1;
ANALYZE tmp_concepts_j;
DROP TABLE IF EXISTS tmp_concepts_k;
CREATE TEMP TABLE tmp_concepts_k AS
SELECT
LEFT(fk_bill_id,16) AS fatura,
SUM(vad_concept_billed_amount_no_tax) AS retencao_ir
FROM global_brasil_rio.bt_global_billing_concepts_brazil_rio
WHERE lds_local_concept_id IN ('WHTAX','[VALOR_OMITIDO]')
GROUP BY 1;
ANALYZE tmp_concepts_k;
SELECT
D.Fatura_Coletiva,
CAST(F.consumo_faturado AS decimal(17,2)) AS Consumo,
C.identitynumber__c AS Documento,
C.postal_code__c AS CEP,
CAST(H.valor_consumo AS decimal(17,2)) AS VALOR_CONSUMO,
CAST(J.valor_eventual 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,
A.icg_referencia AS referencia,
LEFT(F.data_vencimento_fatura,10) AS Data_Vencimento,
CAST(F.valor_da_fatura AS decimal(17,2)) AS Valor_Faturado,
'NULL' AS COD_BARRAS,
'NULL' AS COD_BARRAS_AGRUPAMENTO,
F.grupo AS Tensao,
CASE
WHEN F.tipo_documento_faturamento = 'REFATURADO'
THEN LEFT(DT.data_faturamento_faturado,10)
ELSE LEFT(F.data_faturamento,10)
END AS Data_Faturamento,
G.orgao_controlador,
A.icg_numero_Cliente AS Conta_Contrato,
F.numero_fatura,
F.nr_medidor,
C.coordinatex__c,
C.coordinatey__c,
C.distributionaddress__c AS Endereço,
C.neighbourhood__c AS Bairro,
A.icg_municipio AS Municipio,
A.icg_tipo_fatura AS tipo_fatura,
CASE
WHEN A.icg_tipo_fatura = 'FA' THEN 'Fatura Normal'
WHEN A.icg_tipo_fatura = 'EP' THEN 'Fatura Cancelada'
WHEN A.icg_tipo_fatura = 'RF' THEN '[VALOR_OMITIDO]'
END AS Legenda_Tipo_Fatura,
CAST(A.icg_cons_activo_livre AS decimal(17,2)) AS Consumo_Livre,
CASE WHEN A.icg_cons_activo_cativo <> 0 THEN 'Regulado' ELSE 'Livre' END AS Mercado,
CASE WHEN C.mov_out = '31/12/9999' THEN 'Ativo' ELSE 'Inativo' END AS 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,
CAST(K.retencao_ir * -1 AS decimal(17,2)) AS retencao_IR,
C.connectiontype__C
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 B.origem = 'FATURADO'
LEFT JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro C
ON C.accountcontract__c = A.icg_numero_Cliente
LEFT JOIN bi_brrj_cus.bt_brrj_conta_contrato D
ON D.conta_contrato = A.icg_numero_Cliente
LEFT JOIN tmp_cip_base F
ON F.numero_fatura = A.icg_corr_facturacion
LEFT JOIN tmp_cip_faturado_dt DT
ON DT.conta_contrato = F.conta_contrato
AND DT.referencia_faturamento = F.referencia_faturamento
LEFT JOIN dp_brrj_cus.tb_capilaridade_credit_recovery G
ON G.numero_cliente = A.icg_numero_Cliente
LEFT JOIN tmp_concepts_h H
ON H.fatura = A.icg_corr_facturacion
LEFT JOIN tmp_concepts_j J
ON J.fatura = A.icg_corr_facturacion
LEFT JOIN tmp_concepts_k K
ON K.fatura = A.icg_corr_facturacion
WHERE F.numero_fatura IS NOT NULL
AND A.icg_referencia = '2026/01'
and icg_numero_cliente IN ()
```

### QUERY: Carga de unidades B.sql
Data: 2026-01-25 22:00:24
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_coll.bt_brrj_faturamento; 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
CAST(A.numero_cliente AS varchar(50)) AS numero_cliente,
c.name_account,
c.tipo_conta,
c.segmenttype__c as grupo,
c.carga_kw_br,
c.categoria_de_tarifa_br,
A.corr_facturacion AS numero_fatura,
A.referencia AS referencia,
CAST(A.consumo_lido AS numeric(18,0)) AS consumo,
A.valor_fat AS valor_fatura,
A.data_vencimento AS data_vencimento
FROM bi_brrj_coll.bt_brrj_faturamento A
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro c on c.accountcontract__c = A.numero_cliente
WHERE (LEFT(A.referencia,4) || RIGHT(A.referencia,2)) >= '[VALOR_OMITIDO]' and consumo > 0 and Grupo = 'B'
AND TRIM(CAST(A.numero_cliente AS varchar(50))) IN ()
```

### QUERY: RZK.sql
Data: 2026-01-07 18:04:02
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro
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 accountcontract__c, segmenttype__c, clienteativo, identitynumber__C from bi_brrj_cus.bt_brrj_relatorio_de_cadastro
where accountcontract__c in
```

### QUERY: Tipo de Conexão Ligação Nova.sql
Data: 2026-01-05 14:51:44
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_clientes_ordem_servico; dp_brrj_cus.tb_aux_depara_estado_ordens; dp_brrj_cus.tb_aux_depara_tipo_servicos
JOINs: 8
Sinais legados: SELECT*=True | 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 tmp_os_base;
CREATE TEMP TABLE tmp_os_base AS
SELECT
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY numero_ordem ORDER BY corr_visita DESC) = 1
THEN true ELSE false
END AS ultima_etapa,
corr_visita,
numero_ordem,
numero_ordem_relac,
cod_servico,
des_servico,
cod_retorno,
descricao_retorno,
estado,
situacao,
data_ingresso,
data_estado,
data_visita,
data_exec_visita,
hora_exec_visita,
data_fim_regulada,
tipo_ordem,
tempo_max_servico,
numero_cliente,
nro_caso,
ind_serv_executado,
ind_procedente
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico
WHERE LEFT(data_ingresso,4) >= '2021';
ANALYZE tmp_os_base;
DROP TABLE IF EXISTS complexas_1;
CREATE TEMP TABLE complexas_1 AS
SELECT
numero_ordem,
numero_ordem_relac,
cod_servico,
des_servico,
descricao_retorno,
estado,
situacao,
data_ingresso
FROM tmp_os_base
WHERE ultima_etapa = true
AND descricao_retorno NOT IN (
'ATENDIDO POR OUTRO PROJETO ',
'FALTA DOC. PROPRIEDADE - CANCELAR '
);
ANALYZE complexas_1;
DROP TABLE IF EXISTS complexas_2;
CREATE TEMP TABLE complexas_2 AS
SELECT
numero_ordem,
numero_ordem_relac,
cod_servico AS codigo_servico,
des_servico AS descricao_servico,
situacao,
descricao_retorno
FROM complexas_1
WHERE LEFT(data_ingresso, 4) >= '${ano_complexas}'
AND cod_servico IN ('PRJ', 'EX1', 'PRG')
AND estado NOT IN ('9', '09')
GROUP BY
numero_ordem,
numero_ordem_relac,
cod_servico,
des_servico,
situacao,
descricao_retorno;
ANALYZE complexas_2;
DROP TABLE IF EXISTS tmp_sit_last_corr;
CREATE TEMP TABLE tmp_sit_last_corr AS
SELECT
numero_ordem,
MAX(corr_visita) AS corr_visita_ultima
FROM tmp_os_base
WHERE LEFT(data_ingresso, 4) >= '${ano_complexas}'
GROUP BY 1;
ANALYZE tmp_sit_last_corr;
DROP TABLE IF EXISTS situacoes_ordens;
CREATE TEMP TABLE situacoes_ordens AS
SELECT
b.numero_ordem,
o.situacao
FROM tmp_sit_last_corr b
JOIN tmp_os_base o
ON o.numero_ordem = b.numero_ordem
AND o.corr_visita = b.corr_visita_ultima;
ANALYZE situacoes_ordens;
DROP TABLE IF EXISTS complexas;
CREATE TEMP TABLE complexas AS
SELECT
A.numero_ordem,
CASE
WHEN COALESCE(S1.situacao, '') IN ('N', 'X', '') THEN 'DP'
WHEN S1.situacao = 'A' THEN 'FP'
ELSE 'Sem Informação'
END AS Status_prazo_Ordem,
A.numero_ordem_relac,
CASE
WHEN COALESCE(S2.situacao, '') IN ('N', 'X', '') THEN 'DP'
WHEN S2.situacao = 'A' THEN 'FP'
ELSE 'Sem Informação'
END AS Status_prazo_Ordem_Relac,
B.numero_ordem AS Ordem_Complexa,
CASE
WHEN COALESCE(S3.situacao, '') IN ('N', 'X', '') THEN 'DP'
WHEN S3.situacao = 'A' THEN 'FP'
ELSE 'Sem Informação'
END AS Status_prazo_Complexa,
B.codigo_servico AS Cod_servico_complexo,
B.descricao_servico AS Des_servico_complexo
FROM tmp_os_base A
JOIN complexas_2 B
ON A.numero_ordem_relac = B.numero_ordem_relac
AND A.numero_ordem <> B.numero_ordem
LEFT JOIN situacoes_ordens S1 ON S1.numero_ordem = A.numero_ordem
LEFT JOIN situacoes_ordens S2 ON S2.numero_ordem = A.numero_ordem_relac
LEFT JOIN situacoes_ordens S3 ON S3.numero_ordem = B.numero_ordem
GROUP BY
A.numero_ordem,
A.numero_ordem_relac,
B.numero_ordem,
B.codigo_servico,
B.descricao_servico,
S1.situacao,
S2.situacao,
S3.situacao;
ANALYZE complexas;
DROP TABLE IF EXISTS tmp_os_last_main;
CREATE TEMP TABLE tmp_os_last_main AS
SELECT
corr_visita,
numero_ordem,
numero_ordem_relac,
LEFT(data_ingresso,4) AS ano,
SUBSTRING(data_ingresso,6,2) AS mes,
LEFT(data_ingresso,4) || SUBSTRING(data_ingresso,6,2) AS anomes,
LEFT(data_estado, 4) AS ano_encerramento,
SUBSTRING(data_estado, 6, 2) AS mes_encerramento,
LEFT(data_estado, 4) || SUBSTRING(data_estado, 6, 2) AS anomes_encerramento,
CONVERT(varchar(19), data_ingresso) AS Data_ingresso,
CONVERT(varchar(19),
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,
LEFT(NULLIF(data_visita,''),10) AS Data_visita,
LEFT(
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita || ' ' || CONVERT(varchar(8), RIGHT(hora_exec_visita,8))
ELSE NULL
END
,10) AS data_exec_visita,
CONVERT(varchar(19), data_estado) AS Data_estado,
CASE WHEN numero_cliente IS NULL THEN 0 ELSE numero_cliente END AS Numero_cliente,
nro_caso,
tipo_ordem,
cod_servico,
des_servico,
estado,
situacao,
cod_retorno,
descricao_retorno,
tempo_max_servico,
ind_serv_executado,
ind_procedente
FROM tmp_os_base
WHERE ultima_etapa = true
AND cod_servico IN ([LISTA_DE_VALORES_OMITIDA]);
ANALYZE tmp_os_last_main;
DROP TABLE IF EXISTS tmp_final;
CREATE TEMP TABLE tmp_final AS
SELECT
A.ano AS ano_abertura,
A.mes AS mes_abertura,
A.anomes AS anomes_abertura,
A.ano_encerramento,
A.mes_encerramento,
A.anomes_encerramento AS anomes_encerramento_ordem,
A.Data_ingresso AS Data_abertura,
A.data_fim_regulada,
A.Data_visita,
A.data_exec_visita AS data_execucao_visita,
A.Data_estado AS data_estado,
A.numero_ordem,
A.Numero_cliente,
A.nro_caso AS numero_caso,
CASE
WHEN COALESCE(H.numero_ordem_relac,'') <> '' THEN 'Complexa'
ELSE 'Simples'
END AS Tipo_ligacao,
A.tipo_ordem,
A.cod_servico,
A.des_servico,
C.descricao AS Estado_Ordem,
C.status_ordem AS status_ordem,
CASE
WHEN A.situacao IN ('N','X','') THEN 'DP'
WHEN A.situacao = 'A' THEN 'FP'
END AS status_prazo_ordem_principal,
CASE
WHEN COALESCE(H.numero_ordem_relac,'') = '' THEN '-'
ELSE H.numero_ordem_relac
END AS numero_ordem_relac,
CASE
WHEN COALESCE(H.numero_ordem_relac,'') IN ('','-') THEN '-'
ELSE H.Status_prazo_Ordem_Relac
END AS Status_prazo_Ordem_Relac,
CASE WHEN COALESCE(H.numero_ordem_relac,'') <> '' THEN H.Ordem_Complexa ELSE '-' END AS ordem_complexa,
CASE WHEN COALESCE(H.numero_ordem_relac,'') <> '' THEN H.Cod_servico_complexo ELSE '-' END AS Cod_servico_complexo,
CASE WHEN COALESCE(H.numero_ordem_relac,'') <> '' THEN H.Des_servico_complexo ELSE '-' END AS servico_complexo,
CASE
WHEN COALESCE(H.numero_ordem_relac,'') = '' THEN '-'
WHEN COALESCE(H.Ordem_Complexa,'') IN ('','-') THEN '-'
ELSE H.Status_prazo_Complexa
END AS Status_prazo_Complexa,
CASE
WHEN (COALESCE(H.numero_ordem_relac,'') = '' OR COALESCE(H.numero_ordem_relac,'') = '-') THEN
CASE
WHEN (CASE WHEN A.situacao IN ('N','X','') THEN 'DP' WHEN A.situacao='A' THEN 'FP' END) = 'DP' THEN 'Dentro do Prazo'
WHEN (CASE WHEN A.situacao IN ('N','X','') THEN 'DP' WHEN A.situacao='A' THEN 'FP' END) = 'FP' THEN 'Fora Prazo'
ELSE 'Sem Informação'
END
WHEN H.Status_prazo_Ordem_Relac = 'FP'
OR H.Status_prazo_Complexa = 'FP'
OR (CASE WHEN A.situacao IN ('N','X','') THEN 'DP' WHEN A.situacao='A' THEN 'FP' END) = 'FP'
THEN 'Fora Prazo'
WHEN H.Status_prazo_Ordem_Relac = 'DP'
AND H.Status_prazo_Complexa = 'DP'
AND (CASE WHEN A.situacao IN ('N','X','') THEN 'DP' WHEN A.situacao='A' THEN 'FP' END) = 'DP'
THEN 'Dentro do Prazo'
ELSE 'Sem Informação'
END AS Status_prazo_jornada,
A.cod_retorno,
A.descricao_retorno,
D.area_responsavel,
D.responsavel,
D.negocio,
A.tempo_max_servico,
A.ind_serv_executado,
A.ind_procedente
FROM tmp_os_last_main A
LEFT JOIN DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS C
ON C.estado = A.estado
LEFT JOIN DP_BRRJ_CUS.TB_AUX_DEPARA_TIPO_SERVICOS D
ON D.chave = A.tipo_ordem || A.cod_servico || RTRIM(A.des_servico)
LEFT JOIN complexas H
ON H.numero_ordem = A.numero_ordem;
ANALYZE tmp_final;
SELECT *
FROM tmp_final
WHERE Tipo_ligacao = 'Complexa'
AND anomes_encerramento_ordem >= '${anomes_encerramento_ordem}';
```

### QUERY: Ordens por Etapa.sql
Data: 2026-01-05 11:42:38
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_grids_workorder_brazil_rio; bi_brrj_cus.bt_brrj_grandes_ordem_servico; dp_brrj_cus.tb_aux_depara_estado_ordens; dp_brrj_cus.tb_aux_depara_tipo_servicos
JOINs: 10
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 tmp_workorder_steps;
CREATE TEMP TABLE tmp_workorder_steps AS
SELECT
ROW_NUMBER() OVER (PARTITION BY pk_workorder_id ORDER BY dte_order_sub_status_validity_start ASC) AS corr_visit,
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY pk_workorder_id ORDER BY dte_order_sub_status_validity_start DESC) = 1
THEN true ELSE false
END AS Ultima_Etapa,
pk_workorder_id,
cdc_pod_id,
dte_order_creation_date,
fk_local_customer_id_synergia,
fk_request_id,
dte_order_sub_status_validity_start,
dte_order_sub_status_validity_end,
lds_order_status,
lds_order_sub_status_local,
lds_order_not_exec_reason,
lds_municipal_area_local,
sds_group_synergia,
qty_compliance_time_deadline,
qty_compliance_time_elapsed,
sds_ind_pending_local,
sds_ind_serv_execution_local
FROM global_brasil_rio.bt_global_grids_workorder_brazil_rio;
ANALYZE tmp_workorder_steps;
DROP TABLE IF EXISTS tmp_os_raw;
CREATE TEMP TABLE tmp_os_raw AS
SELECT
corr_visita,
numero_ordem,
numero_cliente,
numero_ordem_relac,
data_ingresso,
data_estado,
data_visita,
data_exec_visita,
hora_exec_visita,
data_fim_regulada,
situacao,
tipo_ordem,
cod_servico,
des_servico,
estado,
cod_etapa,
descricao_etapa,
cod_retorno,
descricao_retorno,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tempo_max_servico,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_procedente,
nro_caso,
last_update
FROM Bi_brrj_cus.bt_brrj_grandes_ordem_servico;
ANALYZE tmp_os_raw;
DROP TABLE IF EXISTS tmp_os_last;
CREATE TEMP TABLE tmp_os_last AS
SELECT
numero_ordem,
MAX(corr_visita) AS corr_visita_ultima
FROM tmp_os_raw
GROUP BY 1;
ANALYZE tmp_os_last;
DROP TABLE IF EXISTS tmp_b_last;
CREATE TEMP TABLE tmp_b_last AS
SELECT
r.corr_visita,
true AS ultima_etapa,
LEFT(r.data_ingresso,4) AS ano,
SUBSTRING(r.data_ingresso,6,2) AS mes,
LEFT(r.data_ingresso,4) || SUBSTRING(r.data_ingresso,6,2) AS anomes,
LEFT(r.data_estado, 4) AS ano_encerramento,
SUBSTRING(r.data_estado, 6, 2) AS mes_encerramento,
LEFT(r.data_estado, 4) || SUBSTRING(r.data_estado, 6, 2) AS anomes_encerramento,
r.numero_ordem,
CASE
WHEN TRIM(r.numero_ordem_relac) = '' THEN '-'
ELSE r.numero_ordem_relac
END AS numero_ordem_relac,
d.cluster_ordem,
CASE WHEN r.numero_cliente IS NULL THEN 0 ELSE r.numero_cliente END AS numero_cliente,
r.nro_caso AS numero_caso,
r.tipo_ordem,
r.cod_servico,
r.des_servico,
r.cod_etapa,
r.descricao_etapa,
r.cod_retorno,
r.descricao_retorno,
d.area_responsavel,
d.responsavel,
d.negocio,
d.regulada,
d.artigo,
r.estado,
c.descricao AS estado_ordem,
c.status_ordem AS status_ordem,
CONVERT(varchar(19), r.data_ingresso) AS data_ingresso,
CONVERT(varchar(19),
CASE
WHEN r.data_fim_regulada <> '' THEN r.data_fim_regulada
ELSE LEFT(CONVERT(varchar(19),
DATE_TRUNC('day', CAST(r.tempo_max_servico / 24 AS INT) + CAST(r.data_ingresso AS date))
),10) || ' ' || CONVERT(varchar(8), RIGHT(r.data_ingresso,8))
END
) AS data_fim_regulada,
LEFT(NULLIF(r.data_visita,''),10) AS data_visita,
CASE
WHEN r.situacao IN ('N','') THEN 'Dentro do Prazo'
WHEN r.situacao = 'X' THEN 'Alerta'
WHEN r.situacao = 'A' THEN 'Fora do Prazo'
END AS status_prazo,
CASE
WHEN r.situacao IN ('N','X','') THEN 'DP'
WHEN r.situacao = 'A' THEN 'FP'
END AS farol_prazo,
CONVERT(varchar(19), r.data_estado) AS data_estado,
r.observacoes,
r.observacao_exe,
UPPER(LEFT(r.rol_ingresso,12)) AS rol_ingresso,
UPPER(LEFT(r.rol_visita,12)) AS rol_visita,
r.tempo_max_servico,
CASE
WHEN r.descricao_retorno IS NULL OR r.descricao_retorno = '' THEN '[VALOR_OMITIDO]'
WHEN r.ind_serv_executado = 'S' THEN '[VALOR_OMITIDO]'
WHEN r.ind_encerra_ordem = 'S' THEN '[VALOR_OMITIDO]'
WHEN r.ind_def_tec_client = 'S' THEN '[VALOR_OMITIDO]'
WHEN r.ind_def_tec_empres = 'S' THEN '[VALOR_OMITIDO]'
WHEN r.ind_pendencia = 'S' THEN 'Suspensa'
ELSE '[VALOR_OMITIDO]'
END AS acao_retorno1,
CASE
WHEN r.ind_efeito_tempo = 'P' THEN 'Para Tempo'
WHEN r.ind_efeito_tempo = 'N' THEN 'Nao Afeta'
WHEN r.ind_efeito_tempo = 'Z' THEN 'Zera Tempo'
ELSE ''
END AS efeito_tempo_descricao,
r.last_update AS atualizacao,
r.ind_serv_executado,
r.ind_procedente
FROM tmp_os_last l
JOIN tmp_os_raw r
ON r.numero_ordem = l.numero_ordem
AND r.corr_visita = l.corr_visita_ultima
LEFT JOIN DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS c
ON c.estado = r.estado
LEFT JOIN DP_BRRJ_CUS.TB_AUX_DEPARA_TIPO_SERVICOS d
ON d.chave = r.tipo_ordem || r.cod_servico || RTRIM(r.des_servico);
ANALYZE tmp_b_last;
DROP TABLE IF EXISTS tmp_last_nonempty;
CREATE TEMP TABLE tmp_last_nonempty AS
SELECT
numero_ordem,
MAX(CASE WHEN TRIM(descricao_etapa) <> '' THEN corr_visita END) AS corr_desc_etapa,
MAX(CASE WHEN TRIM(cod_retorno) <> '' THEN corr_visita END) AS corr_cod_retorno,
MAX(CASE WHEN TRIM(descricao_retorno) <> '' THEN corr_visita END) AS corr_desc_retorno,
MAX(
CASE
WHEN TRIM(
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
) <> '' THEN corr_visita
END
) AS corr_acao_retorno
FROM tmp_os_raw
WHERE LEFT(data_ingresso,4) = '2024'
GROUP BY 1;
ANALYZE tmp_last_nonempty;
DROP TABLE IF EXISTS tmp_last_values;
CREATE TEMP TABLE tmp_last_values AS
SELECT
n.numero_ordem,
COALESCE(et.descricao_etapa, '-') AS descricao_etapa,
COALESCE(cr.cod_retorno, '-') AS cod_retorno,
COALESCE(dr.descricao_retorno, '-') AS descricao_retorno,
COALESCE(
CASE
WHEN ar.descricao_retorno IS NULL OR ar.descricao_retorno = '' THEN '[VALOR_OMITIDO]'
WHEN ar.ind_serv_executado = 'S' THEN '[VALOR_OMITIDO]'
WHEN ar.ind_encerra_ordem = 'S' THEN '[VALOR_OMITIDO]'
WHEN ar.ind_def_tec_client = 'S' THEN '[VALOR_OMITIDO]'
WHEN ar.ind_def_tec_empres = 'S' THEN '[VALOR_OMITIDO]'
WHEN ar.ind_pendencia = 'S' THEN 'Suspensa'
ELSE '[VALOR_OMITIDO]'
END,
'-'
) AS acao_retorno
FROM tmp_last_nonempty n
LEFT JOIN tmp_os_raw et
ON et.numero_ordem = n.numero_ordem
AND et.corr_visita = n.corr_desc_etapa
LEFT JOIN tmp_os_raw cr
ON cr.numero_ordem = n.numero_ordem
AND cr.corr_visita = n.corr_cod_retorno
LEFT JOIN tmp_os_raw dr
ON dr.numero_ordem = n.numero_ordem
AND dr.corr_visita = n.corr_desc_retorno
LEFT JOIN tmp_os_raw ar
ON ar.numero_ordem = n.numero_ordem
AND ar.corr_visita = n.corr_acao_retorno;
ANALYZE tmp_last_values;
DROP TABLE IF EXISTS tmp_step_c;
CREATE TEMP TABLE tmp_step_c AS
SELECT
corr_visita,
numero_ordem,
cod_retorno,
descricao_retorno,
descricao_etapa,
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
FROM tmp_os_raw;
ANALYZE tmp_step_c;
SELECT
A.corr_visit AS corr_visita,
A.Ultima_Etapa,
B.ano,
B.mes,
B.anomes,
CASE WHEN B.status_ordem = 'FECHADA' THEN B.ano_encerramento ELSE '-' END AS ano_encerramento,
CASE WHEN B.status_ordem = 'FECHADA' THEN B.mes_encerramento ELSE '-' END AS mes_encerramento,
CASE WHEN B.status_ordem = 'FECHADA' THEN B.anomes_encerramento ELSE '-' END AS anomes_encerramento,
B.numero_cliente,
A.pk_workorder_id AS numero_ordem,
B.tipo_ordem,
B.cod_servico,
B.des_servico,
B.numero_ordem_relac,
CONVERT(VARCHAR(19), B.data_ingresso) AS Data_abertura,
CONVERT(VARCHAR(19), B.data_fim_regulada) AS data_fim_regulada,
B.cluster_ordem,
CASE WHEN C.descricao_etapa IS NULL THEN LV.descricao_etapa ELSE C.descricao_etapa END AS descricao_etapa,
A.lds_order_sub_status_local AS fase_etapa,
LEFT(A.dte_order_sub_status_validity_start, 19) AS data_inicio_etapa,
CASE
WHEN A.dte_order_sub_status_validity_end IS NULL THEN LEFT(A.dte_order_sub_status_validity_start, 19)
ELSE LEFT(A.dte_order_sub_status_validity_end, 19)
END AS data_fim_etapa,
A.lds_order_status AS Status_Etapa,
CASE WHEN C.cod_retorno IS NULL THEN LV.cod_retorno ELSE C.cod_retorno END AS cod_retorno,
CASE WHEN C.descricao_retorno IS NULL THEN LV.descricao_retorno ELSE C.descricao_retorno END AS descricao_retorno,
CASE WHEN C.acao_retorno IS NULL THEN LV.acao_retorno ELSE C.acao_retorno END AS acao_retorno,
COALESCE(C.efeito_tempo_descricao, '-') AS efeito_tempo_descricao,
A.sds_ind_pending_local AS indica_pendencia,
A.sds_ind_serv_execution_local AS indica_execucao,
B.area_responsavel,
B.responsavel,
B.negocio,
B.regulada,
B.estado AS codigo_estado,
B.estado_ordem,
B.status_ordem,
B.status_prazo,
B.farol_prazo,
A.qty_compliance_time_deadline AS Total_Dias_de_prazo,
A.qty_compliance_time_elapsed AS Dias_restantes,
B.rol_ingresso AS BR_ingresso,
B.rol_visita AS BR_execucao,
B.observacao_exe,
B.observacoes,
A.lds_municipal_area_local
FROM tmp_workorder_steps A
LEFT JOIN tmp_b_last B
ON B.numero_ordem = A.pk_workorder_id
LEFT JOIN tmp_step_c C
ON C.numero_ordem = A.pk_workorder_id
AND C.corr_visita = A.corr_visit
LEFT JOIN tmp_last_values LV
ON LV.numero_ordem = A.pk_workorder_id
WHERE A.pk_workorder_id IN (${Numero_ordem})
ORDER BY
A.pk_workorder_id,
A.corr_visit ASC;
```

### QUERY: Faturamento Full.sql
Data: 2026-01-05 10:47:38
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_coll.bt_brrj_faturamento; global_brasil_rio.bt_global_billing_brazil_rio; bi_brrj_bill.bt_brrj_parcel_macro
JOINs: 4
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 tmp_fat_base;
CREATE TEMP TABLE tmp_fat_base AS
SELECT
A.referencia AS Anomes_Faturamento,
CAST(A.numero_cliente AS varchar(50)) AS numero_cliente,
A.corr_facturacion AS fatura,
A.data_leitura,
A.data_evento,
A.data_evento AS data_faturamento_M,
A.data_vencimento,
A.origem,
A.consumo_lido,
A.valor_fat,
A.valor_icms,
A.valor_pis,
A.valor_cofins,
A.valor_parcela,
A.valor_toi,
A.valor_credito,
A.valor_psva,
A.segmento,
A.grupo,
LEFT(A.referencia,4) || RIGHT(A.referencia,2) AS referencia_yyyymm
FROM bi_brrj_coll.bt_brrj_faturamento A
WHERE (LEFT(A.referencia,4) || RIGHT(A.referencia,2)) >= '[VALOR_OMITIDO]'
AND TRIM(CAST(A.numero_cliente AS varchar(50))) IN ()
AND A.origem <> 'CANCELADO';
ANALYZE tmp_fat_base;
DROP TABLE IF EXISTS tmp_bill_key;
CREATE TEMP TABLE tmp_bill_key AS
SELECT
fatura
FROM tmp_fat_base
GROUP BY 1;
ANALYZE tmp_bill_key;
DROP TABLE IF EXISTS tmp_bill_base;
CREATE TEMP TABLE tmp_bill_base AS
SELECT
LEFT(b.pk_bill_id, 16) AS bill_id_16,
MAX(b.sds_reading_consumption_type) AS sds_reading_consumption_type,
MAX(b.lds_reading_notes) AS lds_reading_notes
FROM global_brasil_rio.bt_global_billing_brazil_rio b
JOIN tmp_bill_key k
ON k.fatura = LEFT(b.pk_bill_id, 16)
GROUP BY 1;
ANALYZE tmp_bill_base;
DROP TABLE IF EXISTS tmp_parcel_max;
CREATE TEMP TABLE tmp_parcel_max AS
SELECT
numero_cliente,
MAX(data_criacao) AS max_data_criacao
FROM bi_brrj_bill.bt_brrj_parcel_macro
GROUP BY 1;
ANALYZE tmp_parcel_max;
DROP TABLE IF EXISTS tmp_parcel_latest;
CREATE TEMP TABLE tmp_parcel_latest AS
SELECT
p.numero_cliente,
p.data_vigencia,
p.data_criacao,
p.data_termino,
p.desc_campanha
FROM bi_brrj_bill.bt_brrj_parcel_macro p
JOIN tmp_parcel_max m
ON m.numero_cliente = p.numero_cliente
AND m.max_data_criacao = p.data_criacao;
ANALYZE tmp_parcel_latest;
SELECT
x.Anomes_Faturamento,
x.numero_cliente AS NUMERO_CLIENTE,
x.fatura AS Fatura,
x.lds_reading_notes AS Notas_leitura,
x.vigencia_parcelamento AS Vigencia_Parcelamento,
CASE
WHEN x.vigencia_parcelamento IS NULL OR x.vigencia_parcelamento = 'NI' THEN ''
ELSE x.desc_campanha
END AS Tipo_Parcelamento,
x.origem,
CASE
WHEN x.origem = 'REFATURADO' THEN 'Referência refaturada, verifique a fatura original.'
ELSE '-'
END AS Observação,
x.Tipo_Faturamento,
x.referencia_yyyymm AS referencia,
x.data_faturamento_M,
x.Tipo_Faturamento_M1,
x.Tipo_Faturamento_M2,
x.Tipo_Faturamento_M3,
x.data_vencimento,
CAST(x.consumo_lido AS decimal(17,2)) AS Consumo,
x.Consumo_M1,
x.consumo_M2,
x.consumo_M3,
x.Media_consumo_3M,
x.Consumo_mesmo_mes_ano_anterior,
CONCAT(
CAST(
(CASE WHEN x.Media_consumo_3M = 0 THEN 0 ELSE x.Consumo / x.Media_consumo_3M END - 1) * 100
AS decimal(17,2)
),
'%'
) AS Variacao_Consumo_M_vs_media,
CONCAT(
CAST(
(CASE WHEN x.Consumo_mesmo_mes_ano_anterior = 0 THEN 0 ELSE x.Consumo / x.Consumo_mesmo_mes_ano_anterior END - 1) * 100
AS decimal(17,2)
),
'%'
) AS Variacao_consumo_M_vs_ano_anterior,
CASE
WHEN x.Tipo_Faturamento_M1 IN ('ESTIMADO', 'NÃO LIDO / SEM CONSUMO') THEN 'O tipo de faturamento do mês anterior não foi REAL, verifique no sistema.'
ELSE '-'
END AS Observação_tipo_Faturamento,
x.data_leitura,
x.dias_lidos_m,
CASE
WHEN x.dias_lidos_m < 27 OR x.dias_lidos_m > 33 THEN 'Atenção! Quantidades dias lidos fora do range de 27 a 33 dias, verifique no sistema.'
ELSE 'Quantidade de dias dentro do range de 27 a 33 dias lidos.'
END AS Observação_leitura,
CAST(CASE WHEN x.dias_lidos_m = 0 THEN 0 ELSE x.consumo_lido / x.dias_lidos_m END AS decimal(17,2)) AS Media_consumo_dia_M,
x.valor_fat AS Valor_fat_M,
x.valor_icms AS Valor_icms_M,
CONCAT(CAST(CASE WHEN x.valor_fat = 0 THEN 0 ELSE x.valor_icms / x.valor_fat * 100 END AS decimal(17,2)), '%') AS Percendual_icms_M,
x.valor_fat_M1,
x.dias_lidos_m1,
x.Media_consumo_dia_M1,
x.Percentual_icms_M1,
x.valor_fat_M2,
x.Percentual_icms_M2,
x.valor_fat_M3,
x.Percentual_icms_M3,
x.valor_pis,
x.valor_cofins,
x.valor_parcela,
x.valor_toi,
x.valor_credito,
x.valor_psva
FROM (
SELECT
a.Anomes_Faturamento,
a.numero_cliente,
a.fatura,
b.lds_reading_notes,
b.sds_reading_consumption_type,
a.origem,
a.referencia_yyyymm,
a.data_faturamento_M,
a.data_vencimento,
a.consumo_lido,
a.valor_fat,
a.valor_icms,
a.valor_pis,
a.valor_cofins,
a.valor_parcela,
a.valor_toi,
a.valor_credito,
a.valor_psva,
a.data_leitura,
CASE
WHEN a.valor_parcela > 0 AND p.data_vigencia >= a.data_evento
THEN CAST(p.data_criacao AS varchar) || ' - ' || CAST(p.data_termino AS varchar)
ELSE 'NI'
END AS vigencia_parcelamento,
p.desc_campanha,
CASE
WHEN b.sds_reading_consumption_type = '[VALOR_OMITIDO]' THEN 'ESTIMADO'
WHEN b.sds_reading_consumption_type = '001-REAL' THEN 'REAL'
WHEN b.sds_reading_consumption_type = '004-NO READING OR CONSUMPTION' THEN 'NÃO LIDO / SEM CONSUMO'
ELSE b.sds_reading_consumption_type
END AS Tipo_Faturamento,
LAG(
CASE
WHEN b.sds_reading_consumption_type = '[VALOR_OMITIDO]' THEN 'ESTIMADO'
WHEN b.sds_reading_consumption_type = '001-REAL' THEN 'REAL'
WHEN b.sds_reading_consumption_type = '004-NO READING OR CONSUMPTION' THEN 'NÃO LIDO / SEM CONSUMO'
ELSE b.sds_reading_consumption_type
END, 1
) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS Tipo_Faturamento_M1,
LAG(
CASE
WHEN b.sds_reading_consumption_type = '[VALOR_OMITIDO]' THEN 'ESTIMADO'
WHEN b.sds_reading_consumption_type = '001-REAL' THEN 'REAL'
WHEN b.sds_reading_consumption_type = '004-NO READING OR CONSUMPTION' THEN 'NÃO LIDO / SEM CONSUMO'
ELSE b.sds_reading_consumption_type
END, 2
) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS Tipo_Faturamento_M2,
LAG(
CASE
WHEN b.sds_reading_consumption_type = '[VALOR_OMITIDO]' THEN 'ESTIMADO'
WHEN b.sds_reading_consumption_type = '001-REAL' THEN 'REAL'
WHEN b.sds_reading_consumption_type = '004-NO READING OR CONSUMPTION' THEN 'NÃO LIDO / SEM CONSUMO'
ELSE b.sds_reading_consumption_type
END, 3
) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS Tipo_Faturamento_M3,
CAST(a.consumo_lido AS decimal(17,2)) AS Consumo,
LAG(CAST(a.consumo_lido AS decimal(17,2)), 1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS Consumo_M1,
LAG(CAST(a.consumo_lido AS decimal(17,2)), 2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS consumo_M2,
LAG(CAST(a.consumo_lido AS decimal(17,2)), 3) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS consumo_M3,
CAST(
CASE
WHEN (CASE WHEN LAG(CAST(a.consumo_lido AS decimal(17,2)),1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) IS NOT NULL THEN 1 ELSE 0 END
+ CASE WHEN LAG(CAST(a.consumo_lido AS decimal(17,2)),2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) IS NOT NULL THEN 1 ELSE 0 END
+ CASE WHEN LAG(CAST(a.consumo_lido AS decimal(17,2)),3) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) IS NOT NULL THEN 1 ELSE 0 END) = 0
THEN 0
ELSE (
COALESCE(LAG(CAST(a.consumo_lido AS decimal(17,2)),1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura),0)
+ COALESCE(LAG(CAST(a.consumo_lido AS decimal(17,2)),2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura),0)
+ COALESCE(LAG(CAST(a.consumo_lido AS decimal(17,2)),3) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura),0)
) / (
(CASE WHEN LAG(CAST(a.consumo_lido AS decimal(17,2)),1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) IS NOT NULL THEN 1 ELSE 0 END)
+ (CASE WHEN LAG(CAST(a.consumo_lido AS decimal(17,2)),2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) IS NOT NULL THEN 1 ELSE 0 END)
+ (CASE WHEN LAG(CAST(a.consumo_lido AS decimal(17,2)),3) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) IS NOT NULL THEN 1 ELSE 0 END)
)
END AS decimal(17,2)
) AS Media_consumo_3M,
LAG(CAST(a.consumo_lido AS decimal(17,2)), 12) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS Consumo_mesmo_mes_ano_anterior,
LAG(a.valor_fat, 1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS valor_fat_M1,
LAG(a.valor_fat, 2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS valor_fat_M2,
LAG(a.valor_fat, 3) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS valor_fat_M3,
CAST(CAST(a.data_leitura AS date) - CAST(LAG(a.data_leitura, 1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS date) AS int) AS dias_lidos_m,
CAST(
CAST(LAG(a.data_leitura, 1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS date)
- CAST(LAG(a.data_leitura, 2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS date) AS int
) AS dias_lidos_m1,
CAST(
CASE
WHEN CAST(
CAST(LAG(a.data_leitura, 1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS date)
- CAST(LAG(a.data_leitura, 2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS date) AS int
) = 0
THEN 0
ELSE LAG(a.consumo_lido, 1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura)
/ CAST(
CAST(LAG(a.data_leitura, 1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS date)
- CAST(LAG(a.data_leitura, 2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS date) AS int
)
END AS decimal(17,2)
) AS Media_consumo_dia_M1,
CONCAT(
CAST(
CASE WHEN LAG(a.valor_fat,1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) = 0
THEN 0
ELSE LAG(a.valor_icms,1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura)
/ LAG(a.valor_fat,1) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura)
* 100
END AS decimal(17,2)
), '%'
) AS Percentual_icms_M1,
CONCAT(
CAST(
CASE WHEN LAG(a.valor_fat,2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) = 0
THEN 0
ELSE LAG(a.valor_icms,2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura)
/ LAG(a.valor_fat,2) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura)
* 100
END AS decimal(17,2)
), '%'
) AS Percentual_icms_M2,
CONCAT(
CAST(
CASE WHEN LAG(a.valor_fat,3) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) = 0
THEN 0
ELSE LAG(a.valor_icms,3) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura)
/ LAG(a.valor_fat,3) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura)
* 100
END AS decimal(17,2)
), '%'
) AS Percentual_icms_M3,
LAG(a.valor_fat, 12) OVER (PARTITION BY a.numero_cliente ORDER BY a.data_leitura) AS Valor_mesmo_mes_ano_anterior
FROM tmp_fat_base a
LEFT JOIN tmp_bill_base b
ON b.bill_id_16 = a.fatura
LEFT JOIN tmp_parcel_latest p
ON p.numero_cliente = a.numero_cliente
) x
ORDER BY
x.numero_cliente,
x.anomes_faturamento asc;
```

### QUERY: Duplo Vencimento.sql
Data: 2026-01-04 18:57:10
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_billing_concepts_brazil_rio; bi_brrj_coll.bt_brrj_faturamento; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_cus.bt_brrj_conta_contrato
JOINs: 2
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 tmp_faturas_com_zdeve;
CREATE TEMP TABLE tmp_faturas_com_zdeve AS
SELECT DISTINCT
LEFT(bc.fk_bill_id, 16) AS corr_facturacion
FROM global_brasil_rio.bt_global_billing_concepts_brazil_rio bc
WHERE LEFT(bc.lds_local_concept_id, 5) = 'ZDEVE';
ANALYZE tmp_faturas_com_zdeve;
DROP TABLE IF EXISTS tmp_faturas_canceladas;
CREATE TEMP TABLE tmp_faturas_canceladas AS
SELECT DISTINCT
LEFT(f.corr_facturacion, 16) AS corr_facturacion
FROM bi_brrj_coll.bt_brrj_faturamento f
WHERE f.ano_mes_evento >= '[VALOR_OMITIDO]'
AND f.origem = 'CANCELADO';
ANALYZE tmp_faturas_canceladas;
SELECT
t.numero_cliente,
t.cliente,
t.tipo_cliente AS mercado,
t.segmento,
cc.condicao_pagamento,
CASE
WHEN cc.condicao_pagamento = 'ZFAT' THEN '[VALOR_OMITIDO]'
ELSE '[VALOR_OMITIDO]'
END AS tipo_vencimento,
t.fatura,
t.referencia,
to_char(t.data_vencimento::date, 'YYYYMM') AS anomes_duplo_vencimento,
t.data_vencimento,
t.faturamento
FROM (
SELECT
f.numero_cliente,
b.name_account AS cliente,
f.tipo_cliente,
COALESCE(
f.segmento,
CASE
WHEN b.Tipo_Conta = 'B2B' THEN 'Grandes Clientes'
WHEN b.Tipo_Conta = 'B2G' THEN 'Governo'
WHEN b.Tipo_Conta = 'B2C' THEN 'Massivo'
ELSE NULL
END
) AS segmento,
LEFT(f.corr_facturacion, 16) AS fatura,
f.referencia,
f.data_vencimento,
f.ano_mes_evento,
f.valor_fat AS faturamento,
COUNT(*) OVER (
PARTITION BY
f.numero_cliente,
date_trunc('month', f.data_vencimento::date)
) AS qtd_vencimentos_no_mes
FROM bi_brrj_coll.bt_brrj_faturamento f
LEFT JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro b
ON b.accountcontract__c = f.numero_cliente
WHERE f.ano_mes_evento >= '[VALOR_OMITIDO]'
AND f.origem = 'FATURADO'
AND f.valor_fat > 0
AND NOT EXISTS (
SELECT 1
FROM tmp_faturas_com_zdeve z
WHERE z.corr_facturacion = LEFT(f.corr_facturacion, 16)
)
AND NOT EXISTS (
SELECT 1
FROM tmp_faturas_canceladas c
WHERE c.corr_facturacion = LEFT(f.corr_facturacion, 16)
)
) t
LEFT JOIN bi_brrj_cus.bt_brrj_conta_contrato cc
ON cc.conta_contrato = t.numero_cliente
WHERE t.qtd_vencimentos_no_mes >= 2
AND (t.segmento IS NULL OR t.segmento NOT IN ('Próprio', 'Consumo Próprio', 'Massivo'))
ORDER BY
t.numero_cliente,
t.data_vencimento,
t.fatura,
t.ano_mes_evento;
```

### QUERY: Vencimento fixo Grupo A.sql
Data: 2025-12-02 09:24:44
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_conta_contrato; bi_brrj_coll.bt_brrj_faturamento
JOINs: 1
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 conta_contrato, condicao_pagamento, AVG(f.valor_fat) as Media_faturamento
from bi_brrj_cus.bt_brrj_conta_contrato B
left join
(select * from bi_brrj_coll.bt_brrj_faturamento
where referencia >= '2025/01' and origem = 'FATURADO') f on f.numero_cliente = B.conta_contrato
where condicao_pagamento <> 'ZFAT' and B.conta_contrato IN ([LISTA_DE_VALORES_OMITIDA])
group by
1,2
```

### QUERY: Monitoramento de Pulo de Vencimento.sql
Data: 2025-12-01 12:57:58
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_coll.bt_brrj_faturamento; bi_brrj_cus.bt_brrj_conta_contrato
JOINs: 4
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=True | 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 temp_cal;
CREATE TEMP TABLE temp_cal (
referencia VARCHAR(7) ENCODE zstd,
venc_min DATE ENCODE zstd,
venc_max DATE ENCODE zstd
)
DISTSTYLE ALL
SORTKEY (referencia);
INSERT INTO temp_cal (referencia, venc_min, venc_max)
SELECT
t.referencia,
DATE_TRUNC('month', DATEADD(month, 2, t.ref_date))::date AS venc_min,
DATE_TRUNC('month', DATEADD(month, 3, t.ref_date))::date AS venc_max
FROM (
SELECT DISTINCT
f.referencia,
TO_DATE(f.referencia || '/01', 'YYYY/MM/DD') AS ref_date
FROM bi_brrj_coll.bt_brrj_faturamento f
) t;
DROP TABLE IF EXISTS temp_cal_m1;
CREATE TEMP TABLE temp_cal_m1 AS
SELECT
referencia,
DATEADD(month, -1, venc_min) AS venc_min,
DATEADD(month, -1, venc_max) AS venc_max,
'M1'::varchar AS tipo_pulo
FROM temp_cal;
SELECT
f.numero_cliente,
f.tipo_cliente,
f.grupo,
f.subclasse_texto,
f.segmento,
f.municipio,
f.corr_facturacion AS fatura,
f.origem,
f.data_leitura,
f.data_lancamento,
f.data_vencimento,
b.condicao_pagamento,
f.referencia,
'M2' AS tipo_pulo,
f.valor_fat AS valor,
f.valor_import,
f.valor_icms,
f.valor_pis,
f.valor_cofins,
f.valor_psva,
f.valor_credito,
f.valor_toi
FROM bi_brrj_coll.bt_brrj_faturamento f
JOIN temp_cal c
ON c.referencia = f.referencia
left join bi_brrj_cus.bt_brrj_conta_contrato B on B.conta_contrato = f.numero_cliente
WHERE f.data_vencimento >= c.venc_min
AND f.data_vencimento < c.venc_max
AND f.segmento NOT IN ('Massivo', 'Consumo Próprio')
and F.referencia >= '2025/01'
UNION ALL
SELECT
f.numero_cliente,
f.tipo_cliente,
f.grupo,
f.subclasse_texto,
f.segmento,
f.municipio,
f.corr_facturacion AS fatura,
f.origem,
f.data_leitura,
f.data_lancamento,
f.data_vencimento,
b.condicao_pagamento,
f.referencia,
m1.tipo_pulo,
f.valor_fat AS valor,
f.valor_import,
f.valor_icms,
f.valor_pis,
f.valor_cofins,
f.valor_psva,
f.valor_credito,
f.valor_toi
FROM bi_brrj_coll.bt_brrj_faturamento f
JOIN temp_cal_m1 m1
ON m1.referencia = f.referencia
left join bi_brrj_cus.bt_brrj_conta_contrato B on B.conta_contrato = f.numero_cliente
WHERE f.data_vencimento >= m1.venc_min
AND f.data_vencimento < m1.venc_max
AND f.segmento NOT IN ('Massivo', 'Consumo Próprio')
and F.referencia >= '2025/01'
ORDER BY
referencia,
tipo_pulo,
data_vencimento;
```

### QUERY: Base de Ativos Enel RJ.sql
Data: 2025-11-14 12:33:44
Tópicos: CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: dp_brrj.datas; dp_brrj.visao_historica_cadastro; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; dp_brrj_cus.bt_brrj_cidades_rj_tabela_cadastro; dp_brrj_cus.bt_de_para_pointofdelivery
JOINs: 19
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=True | 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
CREATE TEMPORARY TABLE IF NOT EXISTS meses (
mes INT);
INSERT INTO meses (mes)
VALUES ([VALORES_OMITIDOS]), 2, '0') || '-01', 'YYYY-MM-DD'), 'DD/MM/YYYY') AS primeiro_dia_do_mes
,TO_CHAR(DATEADD(DAY, -1, DATEADD(MONTH, 1, TO_DATE(ano.ano || '-' || LPAD(CAST(meses.mes AS VARCHAR), 2, '0') || '-01', 'YYYY-MM-DD'))), 'DD/MM/YYYY') AS ultimo_dia_do_mes
FROM
meses
CROSS JOIN ano
ORDER BY
ano.ano, meses.mes);
drop table if exists dp_brrj.VISAO_HISTORICA_CADASTRO;
create table dp_brrj.VISAO_HISTORICA_CADASTRO AS
SELECT
D.ano,
D.mes,
case when K.electrodependant__c = 'V' then 'S' Else 'N' end as vital,
K.clienteativo,
K.pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
K.tipo_conta,
B.cidade,
count(distinct K.accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ_CUS.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B
on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from dp_brrj.datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Janeiro') D
on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj_cus.bt_de_para_pointofdelivery E
on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8;
insert into dp_brrj.VISAO_HISTORICA_CADASTRO
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ_CUS.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B
on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from dp_brrj.datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Fevereiro') D
on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj_cus.bt_de_para_pointofdelivery E
on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8;
insert into dp_brrj.VISAO_HISTORICA_CADASTRO
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ_CUS.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B
on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from dp_brrj.datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Março') D
on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj_cus.bt_de_para_pointofdelivery E
on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8;
insert into dp_brrj.VISAO_HISTORICA_CADASTRO
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ_CUS.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B
on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from dp_brrj.datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Abril') D
on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj_cus.bt_de_para_pointofdelivery E
on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8;
insert into dp_brrj.VISAO_HISTORICA_CADASTRO
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ_CUS.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B
on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from dp_brrj.datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Maio') D
on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj_cus.bt_de_para_pointofdelivery E
on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8;
insert into dp_brrj.VISAO_HISTORICA_CADASTRO
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ_CUS.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B
on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from dp_brrj.datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Junho') D
on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj_cus.bt_de_para_pointofdelivery E
on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8;
drop table if exists dp_brrj.datas;
select ano, mes,vital, clienteativo, estado_fornecimento, tipo_conta, cidade, sum(qtd) as qtd
from dp_brrj.VISAO_HISTORICA_CADASTRO
group by ano, mes, vital, clienteativo, estado_fornecimento, tipo_conta, cidade
order by ano, mes asc
```

### QUERY: Check cobrança segunda via.sql
Data: 2025-11-08 00:28:58
Tópicos: COBRANCA
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_efatura_ga; dp_brrj_cus.bt_brrj_efatura_historico; bi_brrj_coll.bt_brrj_faturamento; bi_brrj_coll.bt_brrj_arrecadacao; bi_brrj_cus.bt_brrj_conta_contrato; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 4
Sinais legados: SELECT*=True | 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 status_envio;
CREATE TEMP TABLE status_envio AS
SELECT * FROM bi_brrj_cus.bt_brrj_efatura_ga
UNION ALL
SELECT * FROM
UNION ALL
SELECT * FROM dp_brrj_cus.bt_brrj_efatura_historico;
DROP TABLE IF EXISTS ultimos_envios;
CREATE TEMP TABLE ultimos_envios AS
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY numero_da_fatura
ORDER BY data_disparo DESC
) AS rn
FROM status_envio
WHERE enviado IN ('Email Enviado', 'Email Recebido');
SELECT
A.numero_cliente,
case
when D.clienteativo = 1 then 'Ativo' else 'Inativo'
end as Status_UC,
segmenttype__c as Grupo,
case
when fl_debito_automatico is null then 'Não' else fl_debito_automatico
end as Debito_automatico,
A.corr_facturacion AS fatura,
case
when C.enviado is null then 'Não Enviado' else C.enviado
end AS status_envio_email,
C.data_disparo AS ultimo_disparo,
C.abertura,
A.data_vencimento,
A.referencia,
A.data_leitura,
SUM(A.valor_fat) AS valor_fatura,
CASE
WHEN B.fatura IS NULL THEN 'Não pago'
ELSE 'Pago'
END AS status_pagamento,
B.data_pagamento
FROM bi_brrj_coll.bt_brrj_faturamento A
LEFT JOIN (
SELECT
corr_facturacion AS fatura,
numero_cliente,
MAX(data_evento) AS data_pagamento,
SUM(valor) AS valor
FROM bi_brrj_coll.bt_brrj_arrecadacao
WHERE visao_compensacao IN (
'DOCUMENTO',
'DOCUMENTO COLETIVO FILHA',
'DOCUMENTO EM PLANO',
'DOCUMENTO EM PLANO COLETIVO FILHA'
)
GROUP BY corr_facturacion, numero_cliente
) B ON B.fatura = A.corr_facturacion
LEFT JOIN (
SELECT
conta_contrato,
instalacao,
nome_do_cliente,
endereco,
municipio,
enviado,
data_disparo,
abertura,
numero_da_fatura AS fatura,
valor_da_fatura,
CAST(data_de_vencimento AS date) AS data_vencimento,
CAST(data_de_emissao AS date) AS data_referencia,
TO_DATE(LEFT(data_de_emissao, 7) || '-01', 'YYYY-MM-DD') AS mes_referencia
FROM ultimos_envios
WHERE rn = 1
) C ON C.fatura = A.corr_facturacion
left join (select conta_contrato,'Sim' as fl_debito_automatico
from bi_brrj_cus.bt_brrj_conta_contrato
where forma_pagamanto_texto ='DÉBITO AUTOMÁTICO') as dacc on dacc.conta_contrato = A.numero_cliente
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro D on D.accountcontract__c = A.numero_cliente
WHERE referencia >= '2025/06'
AND A.numero_cliente IN ()
GROUP BY
A.numero_cliente,
D.clienteativo,
D.segmenttype__c,
dacc.fl_debito_automatico,
A.corr_facturacion,
A.data_vencimento,
A.referencia,
A.data_leitura,
C.endereco,
C.municipio,
C.enviado,
C.data_disparo,
C.abertura,
status_pagamento,
B.data_pagamento,
B.valor;
```

### QUERY: Fiscalização 25-09-2025 clientes e endereços.sql
Data: 2025-10-02 18:16:42
Tópicos: CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_act.bt_brrj_requestqlik
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 clientes;
create temp table clientes as (
select
pointofdeliverynumber__c as instalacao,
accountcontract__c as numero_cliente,
CASE
WHEN distributionaddress__c = ''
THEN upper(literal_street_type__c) || ' - ' || street__c || ' - ' || postal_code__c || ' - ' || neighbourhood__c
ELSE distributionaddress__c || ' - ' || postal_code__c || ' - ' || neighbourhood__c
END AS endereco,
municipality__c as municipio
FROM bi_brrj_cus.bt_brrj_relatorio_de_cadastro
where municipality__c IN ('RESENDE', 'ITATIAIA', 'PORTO REAL', 'AREAL'));
select numero_caso,
data_criacao,
B.numero_cliente,
b.endereco,
b.municipio,
a.submotivo
from bi_brrj_act.bt_brrj_requestqlik A
inner join clientes B on B.numero_cliente = A.cta_contrato
where motivo IN ('MOT001-Sol Registro Aviso Emergencial') and tipo_caso = 'Reclamação' and
submotivo not IN ('[VALOR_OMITIDO]','[VALOR_OMITIDO]', 'FA002-INF - Desligamento Programado','FA001-INF - Aviso emergencial')
and A.expurgado = 'false' and ano = '2025'
order by data_criacao desc
```

### QUERY: DACC & Ebilling.sql
Data: 2025-10-01 16:49:32
Tópicos: CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_asset_brazil_rio; bi_brrj_cus.bt_brrj_conta_contrato
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 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
);
select fk_external_asset_id
,cdc_pod_id
,B.fatura_coletiva
,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 A
left join bi_brrj_cus.bt_brrj_conta_contrato B on B.conta_contrato = A.fk_external_asset_id
where
ordem = '1'
and cdc_pod_id IN ([LISTA_DE_VALORES_OMITIDA])
```

### QUERY: Faturamento Media GA.sql
Data: 2025-09-25 09:19:52
Tópicos: FATURAMENTO
Empresas detectadas: NAO_IDENTIFICADA
Objetos: global_brasil_rio.bt_global_billing_brazil_rio
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
pk_bill_id,
sds_global_bill_type,
lds_local_customer_identification,
dte_start_billing_date,
dte_end_billing_date,
lds_local_segment,
lds_customer_aggregate_cluster_local,
lds_aggregate_cluster_local,
cdc_pod_id,
sds_market,
lds_local_tariff,
fln_direct_debit,
fln_e_bill,
sds_reading_consumption_type,
cast(vad_bill_amount_to_be_payed as decimal(17,2)) as valor_fatura,
sds_accounting_period,
CASE
WHEN LAG(sds_accounting_period) OVER (PARTITION BY lds_local_customer_identification, cdc_pod_id ORDER BY sds_accounting_period) IS NOT NULL
AND (
CAST(LEFT(sds_accounting_period, 4) AS INTEGER) * 12 + CAST(RIGHT(sds_accounting_period, 2) AS INTEGER)
-
(
CAST(LEFT(LAG(sds_accounting_period) OVER (PARTITION BY lds_local_customer_identification, cdc_pod_id ORDER BY sds_accounting_period), 4) AS INTEGER) * 12 +
CAST(RIGHT(LAG(sds_accounting_period) OVER (PARTITION BY lds_local_customer_identification, cdc_pod_id ORDER BY sds_accounting_period), 2) AS INTEGER)
)
) = 1
THEN 'Reincidência de Média'
ELSE 'Média em Conformidade'
END AS status_fat
FROM global_brasil_rio.bt_global_billing_brazil_rio A
WHERE sds_accounting_period >= '[VALOR_OMITIDO]'
AND lds_local_customer_identification = 'GA'
AND sds_reading_consumption_type IN ('004-NO READING OR CONSUMPTION', '[VALOR_OMITIDO]') and vad_bill_amount_to_be_payed > 0 and sds_global_bill_type = '001-NORMAL'
ORDER BY cdc_pod_id ASC, sds_accounting_period ASC;
```

### QUERY: Pericia Canabrava.sql
Data: 2025-09-07 18:27:28
Tópicos: JURIDICO
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_billing_brazil_rio; bi_brrj_coll.bt_brrj_arrecadacao; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 2
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
pk_bill_id,
case
when sds_bill_system = '[VALOR_OMITIDO]' then LEFT(pk_bill_id,3)
else LEFT(pk_bill_id,16)
end AS Fatura,
case
when sds_bill_system = '[VALOR_OMITIDO]' then RIGHT(pk_bill_id,7)
else RIGHT(pk_bill_id,12)
end AS documento_fatura,
sds_bill_system AS sistema_de_faturamento,
lds_local_customer_identification AS grupo,
dte_start_billing_date,
dte_end_billing_date,
dte_issue_date,
dte_due_date,
dte_second_due_date,
dte_last_due_date,
sds_accounting_period AS referencia,
dte_contract_sap_activation_date,
dte_contract_sap_deactivation_date,
lds_local_segment AS segmento,
sds_sector AS lote,
cdc_pod_id AS instalacao,
fk_asset_id AS Contrato_Asset,
A.fk_local_customer_id,
C.identitynumber__c AS Documento,
C.parceiro AS parceiro_de_negocio,
sds_market,
lds_local_tariff AS tarifa,
dte_start_reading_date AS data_inicio_leitura,
dte_end_reading_date AS data_fim_leitura,
sds_consumption_unity_measure AS unidade_mensuracao_de_consumo,
sds_reading_consumption_type AS tipo_leitura,
mds_estimation_responsability AS responsavel_pela_estimativa,
fln_remote_reading AS leitura_remota,
mds_reading_routes AS rota,
lds_reading_notes AS anotacoes_da_leitura,
vad_billed_consumption AS consumo,
vad_bill_amount_to_be_payed AS valor_da_fatura,
B.valor,
B.origem,
CASE
WHEN B.valor IS null or b.valor = 0 THEN 'Não paga'
WHEN B.valor < A.vad_bill_amount_to_be_payed and B.valor > 0 THEN '[VALOR_OMITIDO]'
WHEN B.valor = A.vad_bill_amount_to_be_payed THEN 'Compensada'
WHEN B.valor > A.vad_bill_amount_to_be_payed THEN 'Compensada a maior'
END AS status_fatura
FROM global_brasil_rio.bt_global_billing_brazil_rio A
LEFT JOIN bi_brrj_coll.bt_brrj_arrecadacao B
ON B.corr_facturacion = LEFT(A.pk_bill_id, 16)
left join BI_BRRJ_CUS.BT_BRRJ_RELATORIO_DE_CADASTRO C on C.pointofdeliverynumber__c = A.cdc_pod_id
WHERE cdc_pod_id = '[VALOR_OMITIDO]'
ORDER BY sds_accounting_period ASC;
```

### QUERY: Arrecadação.sql
Data: 2025-09-07 17:32:02
Tópicos: COBRANCA
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_coll.bt_brrj_arrecadacao
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 bi_brrj_coll.bt_brrj_arrecadacao where corr_facturacion = '[VALOR_OMITIDO]'
```

### QUERY: Arrecadação CIP Mensal.sql
Data: 2025-09-07 17:31:58
Tópicos: COBRANCA
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_coll.bt_brrj_cip_repasse; bi_brrj_coll.bt_brrj_compensacao; bi_brrj_bill.bt_brrj_cip_faturado
JOINs: 2
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 REP.numero_documento_cip
,REP.numero_fatura
,FAT.tipo_documento_faturamento
,FAT.nome_municipio
,FAT.sigla
,FAT.grupo
,FAT.classe
,FAT.sub_classe
,FAT.data_faturamento
,FAT.data_vencimento_fatura
,PAG.data_pagamento_fatura
,FAT.valor_documento_cip
,REP.valor_cip_arrecadada
,REP.data_arrecadacao
,REP.tipo_arrecadacao
,REP.tipo_arrecadacao_desc
,REP.conta_contrato
,FAT.data_criacao
,REP.conta_contrato_coletiva
,FAT.contrato_de_concessao
,FAT.estado_de_fornecimento
,FAT.data_desligamento_uc
,FAT.tensao
,FAT.tipo_ligacao
,FAT.tipo_tarifa
,FAT.nr_medidor
,FAT.consumo_lido
,FAT.consumo_faturado
,FAT.consumo_ativo_fp
,FAT.origem
,REP.data_ref
FROM(
SELECT REP.opbel AS numero_documento_cip
,REP.xblnr AS numero_fatura
,REP.vkont AS conta_contrato
,REP.FINRE AS conta_contrato_coletiva
,REP.correct AS tipo_arrecadacao
,REP.correct_desc AS tipo_arrecadacao_desc
,CAST(LEFT(REP.cpudt_post, 10)+' '+REP.cputm_post as timestamp) AS data_arrecadacao
,TO_CHAR(REP.cpudt_post, 'YYYYMM') AS data_ref
,SUM(REP.betrw) AS valor_cip_arrecadada
FROM bi_brrj_coll.bt_brrj_cip_repasse AS REP
WHERE REP.correct IN ('', 'X')
AND REP.cpudt_post BETWEEN '2023-07-01 00:00:00' AND '2023-07-31 00:00:00'
GROUP BY REP.opbel
,REP.xblnr
,REP.vkont
,REP.FINRE
,REP.correct
,REP.correct_desc
,CAST(LEFT(REP.cpudt_post, 10)+' '+REP.cputm_post as timestamp)
,TO_CHAR(REP.cpudt_post, 'YYYYMM')
) AS REP
LEFT JOIN (
SELECT documento AS numero_documento_cip
,documento_ref AS numero_fatura
,MIN(COALESCE(CASE WHEN data_compensacao_efetiva <> '1900-01-01' THEN data_compensacao_efetiva ELSE data_compensacao END, '')) AS data_pagamento_fatura
FROM bi_brrj_coll.bt_brrj_compensacao
WHERE motivo_compensacao NOT IN ('05','11')
AND operacao = 'ZCIP'
group by documento,
documento_ref
) AS PAG
ON REP.numero_documento_cip = PAG.numero_documento_cip
AND REP.numero_fatura = PAG.numero_fatura
AND REP.tipo_arrecadacao = ''
LEFT JOIN bi_brrj_bill.bt_brrj_cip_faturado AS FAT
ON REP.numero_documento_cip = FAT.numero_documento_cip
AND REP.numero_fatura = FAT.numero_fatura
AND FAT.tipo_documento_faturamento <> 'ESTONO PLENO'
ORDER BY REP.numero_documento_cip
,REP.data_arrecadacao
LIMIT 100
```