Enel Brasil

Queries históricas · parte 8

Conhecimento observado em queries históricas reais.
Base RCO / Queries históricas
### QUERY: Troca e Liga com dívida.sql
Data: 2025-08-14 08:54:28
Tópicos: COBRANCA, ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_bill.bt_brrj_inadim
JOINs: 2
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS atendimentos;
CREATE temp TABLE atendimentos as (select
A.numero_caso
,ano
,mes
,dia
,cta_contrato as Conta_Contrato
,left(data_criacao,10) as Abertura
,left(data_fechamento_caso,10) as Fechamento
,tipo_caso
,motivo
,submotivo
,br_atendente
,canal_oficial
,loja
,status
,Municipio
,expurgado
from bi_brrj_act.bt_brrj_requestqlik A
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro B on B.accountid = A.id_conta_salesforce
where estado = 'RIO DE JANEIRO'
and ano = '2023'
and status IN ('002-CLOSED', '001-PENDING')
and tipo_caso IN ('Solicitação', 'ZSOL-Solicitação')
and canal_oficial IN ('Lojas', '[VALOR_OMITIDO]', 'Whatsapp Lojas')
and motivo IN ('MOT008-PROJETO LIGAÇÃO NOVA', 'MOT016-INADIMPLÊNCIA (CORTE E RELIGAÇÃO)')
and submotivo IN ([LISTA_DE_VALORES_OMITIDA]));
select
numero_caso
,ano
,mes
,dia
,A.Conta_Contrato
,Abertura
,Fechamento
,tipo_caso
,motivo
,submotivo
,br_atendente
,canal_oficial
,loja
,status
,Municipio
,expurgado
,case
when B.data_vencimento < abertura then cast(sum(divida) as decimal(17,2)) else 0
end as divida
,max(data_vencimento) as ultima_divida
,case
when divida > 0 then 'Sim' else 'Não'
end as Abertura_indevida
from Atendimentos A
left join (select conta_Contrato, data_vencimento, sum(valor_deb_venc) as divida from bi_brrj_bill.bt_brrj_inadim
where ano_mes_selecao = (select max(ano_mes_selecao) from bi_brrj_bill.bt_brrj_inadim)
and classe not IN ('Poder Público Municipal','Iluminação Pública', 'Poder Público Estadual', 'Poder Público Federal', 'Serviço Público')
group by
1,2) B on B.Conta_contrato = A.Conta_Contrato
group by
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,b.data_vencimento,b.divida
```

### QUERY: Fatura Digital e DACC 2.0.sql
Data: 2025-08-12 20:47:48
Tópicos: FATURAMENTO, CANAIS_ATENDIMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_conta_contrato; global_brasil_rio.bt_global_billing_brazil_rio; dp_brrj.bt_brrj_dna_geral_sap
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
Débito automático:
select conta_contrato,1 as fl_debito_automatico
from bi_brrj_cus.bt_brrj_conta_contrato
where forma_pagamanto_texto ='DÉBITO AUTOMÁTICO' and
group by conta_contrato;
fatura digital:
from global_brasil_rio.bt_global_billing_brazil_rio
fln_e_bill = '1'
where sds_accounting_period = 202406;
select * from dp_brrj.bt_brrj_dna_geral_sap;
```

### QUERY: Vital e Baixa Renda 2.0.sql
Data: 2025-08-07 12:06:48
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; dp_brrj_cus.bt_de_para_motivos_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
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 ATENDIMENTOS;
CREATE TEMPORARY TABLE ATENDIMENTOS AS
SELECT
ROW_NUMBER() OVER (PARTITION BY numero_caso) AS numero,
COALESCE(cta_contrato::VARCHAR, B.accountcontract__c::VARCHAR) AS cta_contrato,
numero_ponto_de_fornecimento,
COALESCE(id_conta_salesforce::VARCHAR, D.accountid::VARCHAR) as id_conta_salesforce,
interacao,
numero_caso,
numero_da_ordem_ou_atividade,
tipo_caso,
A.motivo,
A.submotivo,
C.motivo_tratado,
canal_oficial,
tipocanal,
ano,
mes,
dia,
data_criacao,
data_fechamento_caso AS data_fechamento
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
dp_brrj_cus.bt_de_para_motivos_requestqlik C ON C.chave = A.motivo || A.submotivo
LEFT JOIN
bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountid = A.id_conta_salesforce
LEFT JOIN
bi_brrj_cus.bt_brrj_relatorio_de_cadastro D ON D.accountcontract__c = A.cta_contrato
WHERE
A.submotivo IN ('182-FALTA EM CLIENTE VITAL') AND ano = '2023';
drop table if exists ATENDIMENTOS_TRATADA;
create temporary table ATENDIMENTOS_TRATADA AS
SELECT
cta_contrato AS Conta_contrato,
id_conta_salesforce AS id_interno,
numero_caso AS caso,
numero_da_ordem_ou_atividade AS numero_ordem,
tipo_caso,
motivo,
submotivo,
motivo_tratado,
canal_oficial,
tipocanal AS Tipo_Canal,
ano AS ano_ingresso,
mes AS mes_ingresso,
dia AS dia_ingresso,
data_criacao AS data_ingresso,
data_fechamento
FROM
ATENDIMENTOS
WHERE
numero = 1;
DROP TABLE IF EXISTS baixa_renda;
CREATE TEMPORARY TABLE baixa_renda AS
SELECT accountcontract__c as Conta_contrato,
accountid,
municipality__c as cidade,
tipo_conta as segmento
,subclasse_br
FROM bi_brrj_cus.bt_brrj_relatorio_de_cadastro
WHERE clienteativo = '1'
AND LEFT(subclasse_br, POSITION('-' IN subclasse_br || '-') - 1) IN ('REBRQUI', 'REBRIND', 'REBXR', 'REBRMUL', 'REBRBPC');
DROP TABLE IF EXISTS VITAIS;
CREATE TEMPORARY TABLE VITAIS AS
select accountcontract__c as conta_contrato,
case when electrodependant__c IN ('N','') then 'N' else 'S'
end Cliente_Vital
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro
where clienteativo = '1';
select
A1.Conta_contrato,
id_interno,
caso,
numero_ordem,
tipo_caso,
motivo,
submotivo,
motivo_tratado,
canal_oficial,
Tipo_Canal,
ano_ingresso,
mes_ingresso,
dia_ingresso,
data_ingresso,
CLIENTE_VITAL,
CASE WHEN A3.CONTA_CONTRATO IS NOT NULL THEN 'S' ELSE 'N' END AS Baixa_Renda
from ATENDIMENTOS_TRATADA A1
left join
VITAIS A2 on A2.CONTA_CONTRATO = A1.CONTA_CONTRATO
left join
baixa_renda A3 on A3.CONTA_CONTRATO = A1.CONTA_CONTRATO
```

### QUERY: Baixa Renda.sql
Data: 2025-08-07 11:20: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 as Conta_contrato,
accountid,
createddate_asset as criacao_da_Instalacao,
lastmodifieddate_asset as ultima_modificacao_da_instalacao,
createddate_account as criacao_conta,
lastmodifieddate_account as ultima_modificacao_da_conta,
case
when clienteativo = 1 then 'Ativo' else 'Inativo'
end as Status,
municipality__c as cidade,
tipo_conta as segmento
,subclasse_br
,case when electrodependant__c IN ('N','') then 'N' else 'S'
end Cliente_Vital
FROM bi_brrj_cus.bt_brrj_relatorio_de_cadastro
WHERE clienteativo = '1'
AND LEFT(subclasse_br, POSITION('-' IN subclasse_br || '-') - 1) IN ('REBRQUI', 'REBRIND', 'REBXR', 'REBRMUL', 'REBRBPC');
```

### QUERY: Check Recebimento de Fatura.sql
Data: 2025-06-02 11:55:00
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_efatura_ga; bi_brrj_cus.bt_brrj_efatura_gb; dp_brrj_cus.bt_brrj_efatura_historico; bi_brrj_coll.bt_brrj_arrecadacao
JOINs: 1
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 bi_brrj_cus.bt_brrj_efatura_gb
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.conta_contrato,
A.instalacao,
A.nome_do_cliente,
A.endereco,
A.municipio,
A.enviado AS status_envio_email,
A.data_disparo AS ultimo_disparo,
A.abertura,
A.numero_da_fatura AS fatura,
A.valor_da_fatura,
CAST(A.data_de_vencimento AS date) AS data_vencimento,
CAST(A.data_de_emissao AS date) AS data_referencia,
TO_DATE(LEFT(A.data_de_emissao, 7) || '-01', 'YYYY-MM-DD') AS mes_referencia,
CASE
WHEN B.fatura IS NULL THEN 'Não pago'
ELSE 'Pago'
END AS status_pagamento,
B.data_pagamento,
COALESCE(B.valor, 0) AS valor_pago
FROM ultimos_envios 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.numero_da_fatura
WHERE A.rn = 1
AND A.instalacao IN ([LISTA_DE_VALORES_OMITIDA]);
```

### QUERY: Estudo Demanda Ultrapassada.sql
Data: 2025-05-30 12:10:48
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_billing_brazil_rio; bi_brrj_bill.bt_brrj_cip_faturado; bi_brrj_bill.bt_brrj_icg_compliance; bi_brrj_coll.bt_brrj_faturamento; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; global_brasil_rio.bt_global_billing_concepts_brazil_rio; dp_brrj_cus.tb_capilaridade_credit_recovery
JOINs: 6
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 coletiva;
create temporary table coletiva as (
select fk_asset_id,cdc_aggregated_document_id, count (fk_asset_id) as qtd from global_brasil_rio.bt_global_billing_brazil_rio
group by 1,2);
select
B.cdc_aggregated_document_id as Conta_contrato_Coletiva,
G.orgao_controlador,
icg_numero_Cliente as Conta_Contrato,
F.numero_fatura,
doc_impressao,
D.identitynumber__c as Documento,
nr_medidor,
D.coordinatex__c,
D.coordinatey__c,
D.distributionaddress__c as Endereço,
D.neighbourhood__c as Bairro,
icg_municipio as Municipio,
D.postal_code__c as CEP,
cast(Consumo_ponta as decimal(17,2)) as consumo_ponta,
cast(Consumo_FP as decimal(17,2)) as consumo_FP,
cast(C.consumo_ativo as decimal(17,2)) as Consumo,
cast(consumo_reativo_fp as decimal(17,2)) as consumo_reativo_fp,
cast(consumo_reativo_hp as decimal(17,2)) as consumo_reativo_hp,
cast(demanda_ultrapassada_fp as decimal(17,2)) as demanda_ultrapassada_fp,
cast(demanda_ultrapassada_hp as decimal(17,2)) as demanda_ultrapassada_hp,
cast(demanda_lida_fp as decimal(17,2)) as demanda_lida_fp,
cast(demanda_lida_hp as decimal(17,2)) as demanda_lida_hp,
cast(demanda_faturada_fp as decimal(17,2)) as demanda_faturada_fp,
cast(demanda_faturada_hp as decimal(17,2)) as demanda_faturada_hp,
cast(TE as decimal(17,2)) as TE,
cast(TUSD as decimal(17,2)) as TUSD,
cast(IMPOSTOS as decimal(17,2)) as Imposto,
cast(Valor_consumo_reativo_FP as decimal(17,2)) as Valor_consumo_reativo_FP,
cast(Valor_consumo_reativo_NP as decimal(17,2)) as Valor_consumo_reativo_NP,
cast(Valor_Consumo_FP as decimal(17,2)) as Valor_Consumo_FP,
cast(Valor_Consumo_Ponta as decimal(17,2)) as Valor_Consumo_Ponta,
cast((E.TE + E.TUSD + E.IMPOSTOS+Valor_consumo_reativo_FP+Valor_consumo_reativo_NP+Valor_Consumo_FP+Valor_Consumo_Ponta) as decimal(17,2)) as Valor_consumo,
cast(Valor_demanda as decimal(17,2)) as Valor_demanda,
cast(Valor_TE_Ponta as decimal(17,2)) as Valor_TE_Ponta,
cast(VALOR_TE_FP as decimal(17,2)) as VALOR_TE_FP,
cast(E.bandeira_amarela as decimal(17,2)) as bandeira_amarela,
cast(E.bandeira_vermelha as decimal(17,2)) as bandeira_vermelha,
cast((E.bandeira_amarela + E.bandeira_vermelha) 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,
cast(F.valor_da_fatura as decimal(17,2)) as Valor_total_fatura,
icg_referencia as referencia,
F.Data_Vencimento,
'NULL' as COD_BARRAS,
'NULL' as COD_BARRAS_AGRUPAMENTO,
F.grupo as Grupo,
F.tensao as tensao,
case
WHEN F.tipo_documento_faturamento = 'REFATURADO' then (
select left(F2.DATA_FATURAMENTO,10)
from bi_brrj_bill.bt_brrj_cip_faturado F2
where F.CONTA_CONTRATO = F2.conta_contrato
and F2.referencia_faturamento = F.referencia_faturamento
and F2.tipo_documento_faturamento = 'FATURADO'
order by F2.data_faturamento desc
limit 1
)
else F.data_faturamento
end as Data_Faturamento,
icg_tipo_fatura as tipo_fatura,
case
when tipo_fatura = 'FA' then 'Fatura Normal'
when tipo_fatura = 'EP' then 'Fatura Cancelada'
when tipo_fatura = 'RF' then '[VALOR_OMITIDO]'
end as Legenda_Tipo_Fatura,
cast(icg_cons_activo_livre as decimal(17,2)) as Consumo_Livre,
case
when icg_cons_activo_cativo <> 0 then 'Regulado'
else 'Livre'
end as Mercado,
case
when D.mov_out = '31/12/9999' then 'Ativo'
else 'Inativo'
end as Status,
cast(F.valor_cip_faturada as decimal(17,2)) as CIP,
cast(C.valor_icms as decimal(17,2)) as Icms,
cast(C.valor_pis as decimal(17,2)) as Pis,
cast(C.valor_cofins as decimal(17,2)) as cofins,
cast(C.valor_toi as decimal(17,2)) as Valor_Toi,
cast(retencao_ir as decimal(17,2)) as retencao_ir
from
bi_brrj_bill.bt_brrj_icg_compliance A
inner join
coletiva B on B.fk_asset_id = A.icg_numero_cliente
left join
bi_brrj_coll.bt_brrj_faturamento C on C.corr_facturacion = A.ICG_CORR_FACTURACION
left join
bi_brrj_cus.bt_brrj_relatorio_de_cadastro D on D.accountcontract__c = A.icg_numero_Cliente
left join (
select
left(fk_bill_id,16) as FATURA,
sum(case when lds_local_concept = 'ENERGIA ATIVA FORNECIDA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as TE,
sum(case when lds_local_concept = 'TUSD' then vad_concept_issued_amount_due_date_tax else 0 end) as TUSD,
sum(case when lds_local_concept = 'IMPOSTOS' then vad_concept_issued_amount_due_date_tax else 0 end) as IMPOSTOS,
sum(case when lds_local_concept = 'ADICIONAL BAND.VERMELHA' then vad_concept_issued_amount_due_date_tax else 0 end) as BANDEIRA_VERMELHA,
sum(case when lds_local_concept = 'ADICIONAL BAND.AMARELA' then vad_concept_issued_amount_due_date_tax else 0 end) as BANDEIRA_AMARELA,
sum(case when lds_local_concept_id IN ('WHTAX','[VALOR_OMITIDO]') then vad_concept_billed_amount_no_tax * -1 else 0 end) as retencao_ir,
sum(case when lds_local_concept = 'CONSUMO PONTA' then vad_concept_billed_quantity else 0 end) as Consumo_Ponta,
sum(case when lds_local_concept = 'CONSUMO FORA PONTA' then vad_concept_billed_quantity else 0 end) as Consumo_FP,
sum(case when lds_local_concept = 'CONSUMO PONTA' then vad_concept_issued_amount_due_date_tax else 0 end) as valor_Consumo_Ponta,
sum(case when lds_local_concept = 'CONSUMO FORA PONTA' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_Consumo_FP,
sum(case when lds_local_concept = 'CONSUMO REATIVO EXCEDENTE FP' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_consumo_reativo_FP,
sum(case when lds_local_concept = 'CONSUMO REATIVO EXCEDENTE NP' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_consumo_reativo_NP,
sum(case when lds_local_concept IN ('DEMANDA', 'DEMANDA ATIVA') then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_demanda,
sum(case when lds_local_concept = 'ENERGIA ATV FORN PONTA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as VALOR_TE_PONTA,
sum(case when lds_local_concept = 'ENERGIA ATV FORN F PONTA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as VALOR_TE_FP
from
global_brasil_rio.bt_global_billing_concepts_brazil_rio
group by
left(fk_bill_id,16)
) E on E.FATURA = A.ICG_CORR_FACTURACION
left join (
select
numero_fatura,
conta_contrato,
doc_impressao,
referencia_faturamento,
consumo_reativo_fp,
consumo_reativo_hp,
demanda_ultrapassada_fp,
demanda_ultrapassada_hp,
demanda_lida_fp,
demanda_lida_hp,
demanda_faturada_fp,
demanda_faturada_hp,
leitura_anterior,
tipo_ligacao,
tipo_documento_faturamento,
juros_fatura,
multa_fatura,
valor_da_fatura,
nr_medidor,
consumo_ativo_fp,
consumo_ativo_hp,
valor_cip_faturada,
grupo,
tensao,
left(data_vencimento_fatura,10) as Data_Vencimento,
left(data_faturamento,10) as data_faturamento
from
bi_brrj_bill.bt_brrj_cip_faturado A
where
not exists (
select 1
from bi_brrj_bill.bt_brrj_cip_faturado B
where
tipo_documento_faturamento = 'ESTONO PLENO'
and B.numero_fatura = A.numero_fatura
)
) F on F.numero_fatura = A.icg_corr_facturacion
left join
dp_brrj_cus.tb_capilaridade_credit_recovery G on G.numero_cliente = icg_numero_Cliente
where
F.numero_fatura is not null and tipo_fatura <> 'EP'
and icg_referencia >= '2024/05' and cast(demanda_ultrapassada_fp as INT) + cast(demanda_ultrapassada_hp as INT) > 0
```

### QUERY: Query Dashboard Ordens RJ Total.sql
Data: 2025-04-14 23:28:36
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; bi_brrj_cus.bt_brrj_grandes_ordem_servico
JOINs: 8
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
'RJ' as Distribuidora
,'Grupo B' as Grupo_Tensao
,ano as ano_abertura
,mes as mes_abertura
,anomes as anomes_abertura
,ano_encerramento
,mes_encerramento
,anomes_encerramento
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,area_responsavel_etapa
,responsavel_etapa
,negocio
,regulada
,artigo
,status_prazo
,farol_prazo
,Controle_Prazo
,status_ordem
,count(numero_ordem) as qtd
from
(select distinct
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,left(A.data_estado,4) as ano_encerramento
,substring(A.data_estado,6,2) as mes_encerramento
,ano_encerramento||mes_encerramento as anomes_encerramento
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,D.area_responsavel_etapa
,D.responsavel_etapa
,negocio
,D.regulada
,D.artigo
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,case
when left(sysdate,10) = left(data_fim_regulada,10) and Status_ordem = 'ABERTA' then 'Vence Hoje'
when sysdate > data_fim_regulada and Status_ordem = 'ABERTA' then 'Vencida'
when data_fim_regulada <= sysdate+7 AND Status_ordem = 'ABERTA' then 'Vence na Semana'
when Status_ordem <> 'ABERTA' then '-'
else 'A Vencer'
end as Controle_Prazo
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
from
(
select corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
sucursal,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
) 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 (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
left join DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
where ultima_etapa = true and cluster_ordem = 'INICIATIVA CLIENTE' and status_prazo is not null and ano is not null and ano_encerramento >= '2025' and A.des_servico IN ('GD VISTORIA E CONEXÃO',
'GD - VISTORIA E CONEXÃO',
'GD - SOLICITAÇÃO DE VISTORIA MINI',
'GD-VISTORIA E CONEXÃO MINIGERAÇÃO'))
group by
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
union all
select
'RJ' as Distribuidora
,'Grupo A' as Grupo_Tensao
,ano as ano_abertura
,mes as mes_abertura
,anomes as anomes_abertura
,ano_encerramento
,mes_encerramento
,anomes_encerramento
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,area_responsavel_etapa
,responsavel_etapa
,negocio
,regulada
,artigo
,status_prazo
,farol_prazo
,Controle_Prazo
,status_ordem
,count(numero_ordem) as qtd
from
(select distinct
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,left(A.data_estado,4) as ano_encerramento
,substring(A.data_estado,6,2) as mes_encerramento
,ano_encerramento||mes_encerramento as anomes_encerramento
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,D.area_responsavel_etapa
,D.responsavel_etapa
,negocio
,D.regulada
,D.artigo
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,case
when left(sysdate,10) = left(data_fim_regulada,10) and Status_ordem = 'ABERTA' then 'Vence Hoje'
when sysdate > data_fim_regulada and Status_ordem = 'ABERTA' then 'Vencida'
when data_fim_regulada <= sysdate+7 AND Status_ordem = 'ABERTA' then 'Vence na Semana'
when Status_ordem <> 'ABERTA' then '-'
else 'A Vencer'
end as Controle_Prazo
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
from
(
select corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
sucursal,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_grandes_ordem_servico
) 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 (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_grandes_ordem_servico A
left join DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
where ultima_etapa = true and cluster_ordem = 'INICIATIVA CLIENTE' and status_prazo is not null and ano is not null and ano_encerramento >= '2025' and A.des_servico IN ('GD VISTORIA E CONEXÃO',
'GD - VISTORIA E CONEXÃO',
'GD - SOLICITAÇÃO DE VISTORIA MINI',
'GD-VISTORIA E CONEXÃO MINIGERAÇÃO'))
group by
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
```

### QUERY: Cobrabilidade B2B e B2G.sql
Data: 2025-04-04 22:30:46
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_coll.bt_brrj_faturamento; dp_brrj_cus.tb_capilaridade_credit_recovery; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_cus.bt_brrj_conta_contrato; bi_brrj_coll.bt_brrj_arrecadacao
JOINs: 9
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
anomes,
numero_cliente,
name_account as UC,
PN,
grupo,
classe,
case when coletiva is null then 'NI' else coletiva end as coletiva,
case when orgao_controlador is null then 'NI' else orgao_controlador end as orgao_controlador,
case when executivo is null then 'NI' else executivo end as executivo,
segmento,
'Faturamento' as origem,
corr_facturacion as numero_fatura,
data_evento,
data_vencimento,
'' as origem_evento,
cast((faturamento - valor_credito - valor_parcela) as decimal(17,2)) as valor,
case
when right(anomes::text, 2) = '12' then (left(anomes::text, 4)::int + 1)::text || '01'
else lpad((anomes::int + 1)::text, 6, '0')
end as ref_cobrabilidade,
tipo_conta
from (
select
ano_mes_evento as anomes,
A.grupo,
classe,
name_account,
UC,
D.parceiro as PN,
corr_facturacion,
data_vencimento,
data_evento,
case
when A.segmento IN ('Revenda', 'Grandes clientes') then 'Grandes Clientes'
else A.segmento
end as segmento,
A.numero_cliente,
B.coletiva,
executivo,
orgao_controlador,
cast(replace(sum(valor_fat)::text, ',', '.') as decimal(17,2)) as faturamento,
cast(replace(sum(valor_parcela)::text, ',', '.') as decimal(17,2)) as valor_parcela,
cast(replace(sum(valor_credito)::text, ',', '.') as decimal(17,2)) as valor_credito,
case
when A.numero_cliente < '[VALOR_OMITIDO]' then 'Filhas'
when A.numero_cliente > '[VALOR_OMITIDO]' then 'Coletivas'
end as tipo_conta
from bi_brrj_coll.bt_brrj_faturamento A
left join dp_brrj_cus.tb_capilaridade_credit_recovery B on B.numero_cliente = A.numero_cliente
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro C on C.accountcontract__c = A.numero_cliente
left join bi_brrj_cus.bt_brrj_conta_contrato D on D.conta_contrato = A.numero_cliente
where A.segmento is null or A.segmento IN ('Governo', 'Revenda', 'Grandes Clientes', 'Grandes clientes')
and ano_mes_evento >= '[VALOR_OMITIDO]'
group by
ano_mes_evento, A.data_vencimento, A.segmento, A.grupo, classe,
A.corr_facturacion, B.executivo, B.orgao_controlador,
A.numero_cliente, B.coletiva, UC, D.parceiro, data_evento,
C.name_account, tipo_conta
)
union all
select
anomes,
numero_cliente,
name_account as UC,
PN,
grupo,
classe,
case when coletiva is null then 'NI' else coletiva end as coletiva,
case when orgao_controlador is null then 'NI' else orgao_controlador end as orgao_controlador,
case when executivo is null then 'NI' else executivo end as executivo,
segmento,
'Arrecadacao' as origem,
corr_facturacion as numero_fatura,
data_evento,
data_vencimento,
case
when left(data_vencimento, 4) || substring(data_vencimento,6,2) = left(data_evento, 4) || substring(data_evento,6,2) then 'Mês Corrente'
when left(data_vencimento, 4) || substring(data_vencimento,6,2) < left(data_evento, 4) || substring(data_evento,6,2) then 'Recuperação'
else '[VALOR_OMITIDO]'
end as origem_evento,
arrecadacao as valor,
anomes as ref_cobrabilidade,
tipo_conta
from (
select
ano_mes_evento as anomes,
A.grupo,
classe,
name_account,
UC,
D.parceiro as PN,
corr_facturacion,
data_evento,
data_vencimento,
'' as origem_evento,
case
when A.segmento IN ('Revenda', 'Grandes clientes') then 'Grandes Clientes'
else A.segmento
end as segmento,
A.numero_cliente,
B.coletiva,
executivo,
orgao_controlador,
cast(replace(sum(valor)::text, ',', '.') as decimal(17,2)) as arrecadacao,
case
when A.numero_cliente < '[VALOR_OMITIDO]' then 'Filhas'
when A.numero_cliente > '[VALOR_OMITIDO]' then 'Coletivas'
end as tipo_conta
from bi_brrj_coll.bt_brrj_arrecadacao A
left join dp_brrj_cus.tb_capilaridade_credit_recovery B on B.numero_cliente = A.numero_cliente
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro C on C.accountcontract__c = A.numero_cliente
left join bi_brrj_cus.bt_brrj_conta_contrato D on D.conta_contrato = A.numero_cliente
where visao_compensacao IN ('DOCUMENTO', 'DOCUMENTO COLETIVO FILHA', 'DOCUMENTO EM PLANO','DOCUMENTO EM PLANO COLETIVO FILHA')
and (A.segmento is null or A.segmento IN ('Governo', 'Revenda', 'Grandes Clientes', 'Grandes clientes'))
and ano_mes_evento >= '[VALOR_OMITIDO]'
group by
ano_mes_evento, A.data_vencimento, A.segmento, A.grupo, classe,
A.corr_facturacion, B.executivo, B.orgao_controlador,
A.numero_cliente, B.coletiva, UC, D.parceiro, data_evento,
C.name_account, tipo_conta
)
union all
select
ref_fat_venc as anomes,
numero_cliente,
name_account as UC,
PN,
grupo,
classe,
case when coletiva is null then 'NI' else coletiva end as coletiva,
case when orgao_controlador is null then 'NI' else orgao_controlador end as orgao_controlador,
case when executivo is null then 'NI' else executivo end as executivo,
segmento,
'[VALOR_OMITIDO]' as origem,
corr_facturacion as numero_fatura,
data_evento,
data_vencimento,
'' as origem_evento,
cast((sum(faturamento) - sum(valor_credito) - sum(valor_parcela)) as decimal(17,2)) as valor,
ref_fat_venc as ref_cobrabilidade,
tipo_conta
from (
select
ano_mes_evento as anomes,
A.grupo,
classe,
name_account,
UC,
D.parceiro as PN,
corr_facturacion,
data_evento,
data_vencimento,
'' as origem_evento,
case
when A.segmento IN ('Revenda', 'Grandes clientes') then 'Grandes Clientes'
else A.segmento
end as segmento,
A.numero_cliente,
B.coletiva,
executivo,
orgao_controlador,
left(data_vencimento, 4) || substring(data_vencimento,6,2) as ref_fat_venc,
cast(replace(sum(valor_fat)::text, ',', '.') as decimal(17,2)) as faturamento,
cast(replace(sum(valor_parcela)::text, ',', '.') as decimal(17,2)) as valor_parcela,
cast(replace(sum(valor_credito)::text, ',', '.') as decimal(17,2)) as valor_credito,
case
when A.numero_cliente < '[VALOR_OMITIDO]' then 'Filhas'
when A.numero_cliente > '[VALOR_OMITIDO]' then 'Coletivas'
end as tipo_conta
from bi_brrj_coll.bt_brrj_faturamento A
left join dp_brrj_cus.tb_capilaridade_credit_recovery B on B.numero_cliente = A.numero_cliente
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro C on C.accountcontract__c = A.numero_cliente
left join bi_brrj_cus.bt_brrj_conta_contrato D on D.conta_contrato = A.numero_cliente
where (A.segmento is null or A.segmento IN ('Governo', 'Revenda', 'Grandes Clientes', 'Grandes clientes'))
and ano_mes_evento >= '[VALOR_OMITIDO]'
and ref_fat_venc >= '[VALOR_OMITIDO]'
group by
ano_mes_evento, A.data_vencimento, A.segmento, A.grupo, classe,
A.corr_facturacion, B.executivo, B.orgao_controlador,
A.numero_cliente, B.coletiva, UC, D.parceiro, data_evento,
C.name_account, tipo_conta
)
group by
ref_fat_venc, numero_cliente, coletiva, orgao_controlador, executivo,
segmento, grupo, classe, corr_facturacion, data_vencimento, UC, PN,
data_evento, name_account, tipo_conta;
```

### QUERY: SEFAZ 4.0.sql
Data: 2025-04-01 15:51:34
Tópicos: SEFAZ
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_billing_brazil_rio; bi_brrj_bill.bt_brrj_cip_faturado; bi_brrj_bill.bt_brrj_icg_compliance; bi_brrj_coll.bt_brrj_faturamento; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; global_brasil_rio.bt_global_billing_concepts_brazil_rio; dp_brrj_cus.tb_capilaridade_credit_recovery
JOINs: 6
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 coletiva;
create temporary table coletiva as (
select fk_asset_id,cdc_aggregated_document_id, count (fk_asset_id) as qtd from global_brasil_rio.bt_global_billing_brazil_rio
group by 1,2);
select
B.cdc_aggregated_document_id as Conta_contrato_Coletiva,
G.orgao_controlador,
icg_numero_Cliente as Conta_Contrato,
F.numero_fatura,
doc_impressao,
D.identitynumber__c as Documento,
nr_medidor,
D.coordinatex__c,
D.coordinatey__c,
D.distributionaddress__c as Endereço,
D.neighbourhood__c as Bairro,
icg_municipio as Municipio,
D.postal_code__c as CEP,
cast(Consumo_ponta as decimal(17,2)) as consumo_ponta,
cast(Consumo_FP as decimal(17,2)) as consumo_FP,
cast(C.consumo_ativo as decimal(17,2)) as Consumo,
cast(consumo_reativo_fp as decimal(17,2)) as consumo_reativo_fp,
cast(consumo_reativo_hp as decimal(17,2)) as consumo_reativo_hp,
cast(demanda_ultrapassada_fp as decimal(17,2)) as demanda_ultrapassada_fp,
cast(demanda_ultrapassada_hp as decimal(17,2)) as demanda_ultrapassada_hp,
cast(demanda_lida_fp as decimal(17,2)) as demanda_lida_fp,
cast(demanda_lida_hp as decimal(17,2)) as demanda_lida_hp,
cast(demanda_faturada_fp as decimal(17,2)) as demanda_faturada_fp,
cast(demanda_faturada_hp as decimal(17,2)) as demanda_faturada_hp,
cast(TE as decimal(17,2)) as TE,
cast(TUSD as decimal(17,2)) as TUSD,
cast(IMPOSTOS as decimal(17,2)) as Imposto,
cast(Valor_consumo_reativo_FP as decimal(17,2)) as Valor_consumo_reativo_FP,
cast(Valor_consumo_reativo_NP as decimal(17,2)) as Valor_consumo_reativo_NP,
cast(Valor_Consumo_FP as decimal(17,2)) as Valor_Consumo_FP,
cast(Valor_Consumo_Ponta as decimal(17,2)) as Valor_Consumo_Ponta,
cast((E.TE + E.TUSD + E.IMPOSTOS+Valor_consumo_reativo_FP+Valor_consumo_reativo_NP+Valor_Consumo_FP+Valor_Consumo_Ponta) as decimal(17,2)) as Valor_consumo,
cast(Valor_demanda as decimal(17,2)) as Valor_demanda,
cast(Valor_TE_Ponta as decimal(17,2)) as Valor_TE_Ponta,
cast(VALOR_TE_FP as decimal(17,2)) as VALOR_TE_FP,
cast(E.bandeira_amarela as decimal(17,2)) as bandeira_amarela,
cast(E.bandeira_vermelha as decimal(17,2)) as bandeira_vermelha,
cast((E.bandeira_amarela + E.bandeira_vermelha) 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,
cast(F.valor_da_fatura as decimal(17,2)) as Valor_total_fatura,
icg_referencia as referencia,
F.Data_Vencimento,
'NULL' as COD_BARRAS,
'NULL' as COD_BARRAS_AGRUPAMENTO,
F.grupo as Grupo,
F.tensao as tensao,
case
WHEN F.tipo_documento_faturamento = 'REFATURADO' then (
select left(F2.DATA_FATURAMENTO,10)
from bi_brrj_bill.bt_brrj_cip_faturado F2
where F.CONTA_CONTRATO = F2.conta_contrato
and F2.referencia_faturamento = F.referencia_faturamento
and F2.tipo_documento_faturamento = 'FATURADO'
order by F2.data_faturamento desc
limit 1
)
else F.data_faturamento
end as Data_Faturamento,
icg_tipo_fatura as tipo_fatura,
case
when tipo_fatura = 'FA' then 'Fatura Normal'
when tipo_fatura = 'EP' then 'Fatura Cancelada'
when tipo_fatura = 'RF' then '[VALOR_OMITIDO]'
end as Legenda_Tipo_Fatura,
cast(icg_cons_activo_livre as decimal(17,2)) as Consumo_Livre,
case
when icg_cons_activo_cativo <> 0 then 'Regulado'
else 'Livre'
end as Mercado,
case
when D.mov_out = '31/12/9999' then 'Ativo'
else 'Inativo'
end as Status,
cast(F.valor_cip_faturada as decimal(17,2)) as CIP,
cast(C.valor_icms as decimal(17,2)) as Icms,
cast(C.valor_pis as decimal(17,2)) as Pis,
cast(C.valor_cofins as decimal(17,2)) as cofins,
cast(C.valor_toi as decimal(17,2)) as Valor_Toi,
cast(retencao_ir as decimal(17,2)) as retencao_ir
from
bi_brrj_bill.bt_brrj_icg_compliance A
inner join
coletiva B on B.fk_asset_id = A.icg_numero_cliente
left join
bi_brrj_coll.bt_brrj_faturamento C on C.corr_facturacion = A.ICG_CORR_FACTURACION
left join
bi_brrj_cus.bt_brrj_relatorio_de_cadastro D on D.accountcontract__c = A.icg_numero_Cliente
left join (
select
left(fk_bill_id,16) as FATURA,
sum(case when lds_local_concept = 'ENERGIA ATIVA FORNECIDA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as TE,
sum(case when lds_local_concept = 'TUSD' then vad_concept_issued_amount_due_date_tax else 0 end) as TUSD,
sum(case when lds_local_concept = 'IMPOSTOS' then vad_concept_issued_amount_due_date_tax else 0 end) as IMPOSTOS,
sum(case when lds_local_concept = 'ADICIONAL BAND.VERMELHA' then vad_concept_issued_amount_due_date_tax else 0 end) as BANDEIRA_VERMELHA,
sum(case when lds_local_concept = 'ADICIONAL BAND.AMARELA' then vad_concept_issued_amount_due_date_tax else 0 end) as BANDEIRA_AMARELA,
sum(case when lds_local_concept_id IN ('WHTAX','[VALOR_OMITIDO]') then vad_concept_billed_amount_no_tax * -1 else 0 end) as retencao_ir,
sum(case when lds_local_concept = 'CONSUMO PONTA' then vad_concept_billed_quantity else 0 end) as Consumo_Ponta,
sum(case when lds_local_concept = 'CONSUMO FORA PONTA' then vad_concept_billed_quantity else 0 end) as Consumo_FP,
sum(case when lds_local_concept = 'CONSUMO PONTA' then vad_concept_issued_amount_due_date_tax else 0 end) as valor_Consumo_Ponta,
sum(case when lds_local_concept = 'CONSUMO FORA PONTA' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_Consumo_FP,
sum(case when lds_local_concept = 'CONSUMO REATIVO EXCEDENTE FP' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_consumo_reativo_FP,
sum(case when lds_local_concept = 'CONSUMO REATIVO EXCEDENTE NP' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_consumo_reativo_NP,
sum(case when lds_local_concept IN ('DEMANDA', 'DEMANDA ATIVA') then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_demanda,
sum(case when lds_local_concept = 'ENERGIA ATV FORN PONTA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as VALOR_TE_PONTA,
sum(case when lds_local_concept = 'ENERGIA ATV FORN F PONTA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as VALOR_TE_FP
from
global_brasil_rio.bt_global_billing_concepts_brazil_rio
group by
left(fk_bill_id,16)
) E on E.FATURA = A.ICG_CORR_FACTURACION
left join (
select
numero_fatura,
conta_contrato,
doc_impressao,
referencia_faturamento,
consumo_reativo_fp,
consumo_reativo_hp,
demanda_ultrapassada_fp,
demanda_ultrapassada_hp,
demanda_lida_fp,
demanda_lida_hp,
demanda_faturada_fp,
demanda_faturada_hp,
leitura_anterior,
tipo_ligacao,
tipo_documento_faturamento,
juros_fatura,
multa_fatura,
valor_da_fatura,
nr_medidor,
consumo_ativo_fp,
consumo_ativo_hp,
valor_cip_faturada,
grupo,
tensao,
left(data_vencimento_fatura,10) as Data_Vencimento,
left(data_faturamento,10) as data_faturamento
from
bi_brrj_bill.bt_brrj_cip_faturado A
where
not exists (
select 1
from bi_brrj_bill.bt_brrj_cip_faturado B
where
tipo_documento_faturamento = 'ESTONO PLENO'
and B.numero_fatura = A.numero_fatura
)
) F on F.numero_fatura = A.icg_corr_facturacion
left join
dp_brrj_cus.tb_capilaridade_credit_recovery G on G.numero_cliente = icg_numero_Cliente
where
F.numero_fatura is not null and tipo_fatura <> 'EP'
and icg_referencia >= '2023/07' and icg_numero_cliente IN ([LISTA_DE_VALORES_OMITIDA])
```

### QUERY: Compensações RJ.sql
Data: 2025-03-30 00:12:58
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_grandes_ordem_servico; bi_brrj_cus.bt_brrj_clientes_cliente; dp_brrj_cus.tb_aux_depara_tipo_servicos; dp_brrj_cus.tb_aux_depara_estado_ordens; dp_brrj_cus.e2e_base_k1; dp_brrj_cus.e2e_base_k2; global_brasil_rio.bt_global_billing_brazil_rio; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; global_brasil_rio.bt_global_billing_concepts_brazil_rio; dp_brrj.capilaridade_b2b_b2g_rj
JOINs: 10
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
numero_ordem,
tipo_conta,
des_servico,
status_ordem,
numero_cliente,
fk_asset_id,
sds_accounting_period,
data_inicio,
pv,
pr,
situacao,
tipo_cliente,
tipo_ligacao,
tipo as tipo_anexo_IV,
cast(k1 as decimal(17,2)),
k2,
cast(TUSD as decimal(17,2)),
cast(round((k1 + k2 * TUSD * (log(nullif(pv, 0)) - log(nullif(pr, 0))/ log(10))),2) as decimal(17,2)) as compensacao
from (
SELECT distinct
o.numero_ordem,
F.tipo_conta,
s.status_ordem,
o.numero_cliente,
o.des_servico,
x.fk_asset_id,
x.sds_accounting_period,
cast(o.data_ingresso as DATE) as data_inicio,
(cast(data_estado as date) - CAST(data_inicio AS DATE)) AS pv,
cast(d.pr as int),
o.situacao,
c.tipo_cliente,
c.tipo_ligacao,
d.tipo,
2604.66 as k1,
10 as k2,
20.61 as TUSD
FROM bi_brrj_cus.bt_brrj_grandes_ordem_servico o
LEFT JOIN bi_brrj_cus.bt_brrj_clientes_cliente c
ON c.numero_cliente = o.numero_cliente
LEFT JOIN DP_BRRJ_CUS.TB_AUX_DEPARA_TIPO_SERVICOS d
ON d.chave = o.tipo_ordem||o.cod_servico||RTRIM(o.des_servico) and d.cluster_ordem = 'INICIATIVA CLIENTE'
left join DP_BRRJ_CUS.tb_aux_depara_estado_ordens s
ON o.estado = s.estado
LEFT JOIN dp_brrj_cus.e2e_base_k1 b
ON b.codigo = c.tipo_cliente||c.tipo_ligacao
LEFT JOIN dp_brrj_cus.e2e_base_k2 k
ON k.codigo = c.tipo_cliente||d.tipo
LEFT JOIN (select B.accountcontract__c as fk_asset_id, max(sds_accounting_period) as sds_accounting_period
from global_brasil_rio.bt_global_billing_brazil_rio A
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro B on B.id_asset = A.fk_asset_id
group by 1) x
ON x.fk_asset_id = o.numero_cliente
LEFT JOIN (select B.accountcontract__c as fk_asset_id, sds_accounting_period, SUM(vad_concept_billed_amount_no_tax) * 0.755 AS TUSD
from global_brasil_rio.bt_global_billing_concepts_brazil_rio A
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro B on B.id_asset = A.fk_asset_id
where lds_local_concept LIKE '%TUSD%'
group by 1,2) z
ON z.fk_asset_id = o.numero_cliente and x.sds_accounting_period = z.sds_accounting_period
left join
dp_brrj.CAPILARIDADE_B2B_B2G_RJ F on F.INSTALACAO = o.NUMERO_CLIENTE
where o.numero_ordem IN ([LISTA_DE_VALORES_OMITIDA])
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
);
```

### QUERY: Ordens Grupo A.sql
Data: 2025-03-24 17:45:14
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_grandes_ordem_servico; dp_brrj_cus.tb_aux_depara_estado_ordens; dp_brrj_cus.tb_aux_depara_tipo_servicos; dp_brrj.capilaridade_b2b_b2g_rj
JOINs: 5
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
'RJ' as Distribuidora
,'Grupo A' as Grupo_Tensao
,case when Segmento is null then 'B2C' else Segmento end as Segmento
,numero_ordem
,numero_cliente
,numero_caso
,ano as ano_abertura
,mes as mes_abertura
,anomes as anomes_abertura
,ano_encerramento
,mes_encerramento
,anomes_encerramento
,data_abertura
,data_fim_regulada
,data_execucao_visita
,data_estado
,tipo_ordem
,cod_servico
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,area_responsavel_etapa
,responsavel_etapa
,negocio
,regulada
,artigo
,status_prazo
,farol_prazo
,Controle_Prazo
,status_ordem
,rol_ingresso
,rol_visita
,ind_serv_executado
,count(numero_ordem) as qtd
from
(select
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,left(A.data_estado,4) as ano_encerramento
,substring(A.data_estado,6,2) as mes_encerramento
,ano_encerramento||mes_encerramento as anomes_encerramento
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,tipo_conta as SEGMENTO
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,D.area_responsavel_etapa
,D.responsavel_etapa
,negocio
,D.regulada
,D.artigo
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,case
when left(sysdate,10) = left(data_fim_regulada,10) and Status_ordem = 'ABERTA' then 'Vence Hoje'
when sysdate > data_fim_regulada and Status_ordem = 'ABERTA' then 'Vencida'
when data_fim_regulada <= sysdate+7 AND Status_ordem = 'ABERTA' then 'Vence na Semana'
when Status_ordem <> 'ABERTA' then '-'
else 'A Vencer'
end as Controle_Prazo
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
,ind_serv_executado
from
(
select corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
sucursal,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_grandes_ordem_servico
group by all) 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 (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_grandes_ordem_servico A
left join DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join dp_brrj.capilaridade_b2b_b2g_rj F on F.INSTALACAO = A.NUMERO_CLIENTE
where ultima_etapa = true and cluster_ordem = 'INICIATIVA CLIENTE' and status_ordem IN ('ABERTA', 'SUSPENSA') and status_prazo is not null and ano is not null)
group by
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34
```

### QUERY: Query Jurídico.sql
Data: 2025-03-24 17:26:02
Tópicos: JURIDICO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_bill.bt_brrj_inadim; global_brasil_rio.bt_global_asset_brazil_rio; global_brasil_rio.bt_global_billing_brazil_rio; dp_brrj_cus.tb_capilaridade_credit_recovery; bi_brrj_coll.bt_brrj_faturamento; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_bill.bt_brrj_cip_faturado
JOINs: 12
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=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 divida;
create temporary table divida as (SELECT distinct
a.classe as Categoria,
case when D.segmento is null then e.segmento else d.segmento end as Segmento,
D.Classe,
[Area] as Macro_área,
case
WHEN [Area] = 'EDUCAÇÃO' THEN 'EDUCAÇÃO'
WHEN [AREA] IN ('ILUMINAÇÃO PÚBLICA','ILUMINAÇÕES FESTIVAS') THEN 'IP'
WHEN [AREA] = 'SAÚDE' THEN 'SAÚDE'
WHEN [AREA] IN ([LISTA_DE_VALORES_OMITIDA]) THEN 'OUTROS'
WHEN [AREA] IN ([LISTA_DE_VALORES_OMITIDA]) THEN 'PRÓPRIOS' ELSE 'OUTROS' END AS Cluster,
A.conta_contrato,
D.Coletiva,
G.nr_medidor as Medidor,
D.uc as nome,
D.descricao as descricao,
D.orgao_controlador,
executivo,
doc_fiscal,
num_fatura,
A.fatura_coletiva,
billing_periodo as referencia,
a.data_faturamento,
B.sds_tension_group as Tipo_Cliente,
sds_global_bill_type as Tipo_Fatura,
case when [Data_Vencimento] < sysdate then 'Vencida' else 'A Vencer' end as Status_Vencimento,
case
when DATEDIFF(month, TO_DATE(cast(data_vencimento as date) , 'YYYY-MM-DD'), TO_DATE(cast(ultima_att as date), 'YYYY-MM-DD')) = 0 then 'Vencendo'
when DATEDIFF(month, TO_DATE(cast(data_vencimento as date) , 'YYYY-MM-DD'), TO_DATE(cast(ultima_att as date), 'YYYY-MM-DD')) > 0 then 'Vencida' else 'A Vencer' end as Status_Conta,
cast(replace([Valor_Deb_Venc], ',', '.') as decimal(17,2)) as Valor_deb_Venc,
cast(replace([Valor_Deb_Total],',', '.') as decimal(17,2)) as divida_nominal,
juros,
igpm as IPCA,
case when status_vencimento = 'Vencida' then divida_nominal * 0.02 else 0 end as Multa,
case when right([Data_Vencimento],2) <='07' then '1° Semana'
when right([Data_Vencimento],2) <='14' then '2° Semana'
when right([Data_Vencimento],2) <='21' then '3° Semana' else '4° Semana' end as Semana_Vencimento,
CASE WHEN JUROS IS NULL OR IGPM IS NULL THEN [valor_deb_total] ELSE CASE WHEN [valor_deb_total] + [juros] + [IGPM] IS NULL then 0 else [valor_deb_total] + [juros] + [IGPM] END END as Dívida_Atualizada,
cast(replace([Num_Contas_Atraso],',', '.') as decimal(17,2)) as Numero_Contas_Atraso,
cast(ultima_att as date) - cast([data_vencimento] as date) as Aging_Cliente,
case
when ([Aging_Cliente]<= 0) then 'A Vencer'
when ([Aging_Cliente]<= 30) then '1 - 30 dias'
when ([Aging_Cliente]<= 60) then '31 - 60 dias'
when ([Aging_Cliente]<= 90) then '61 - 90 dias'
when ([Aging_Cliente]<= 120) then '91 - 120 dias'
when ([Aging_Cliente]<= 150) then '121 - 150 dias'
when ([Aging_Cliente]<= 180) then '151 - 180 dias'
when ([Aging_Cliente]<= 365) then '181 - 365 dias'
when ([Aging_Cliente]<= 365) then '181 - 365 dias'
when ([Aging_Cliente]<= 730) then '1 - 2 anos'
when ([Aging_Cliente]<= 1095) then '2 - 3 anos'
when ([Aging_Cliente]<= 1460) then '3 - 4 anos'
when ([Aging_Cliente]<= 1825) then '4 - 5 anos'
when ([Aging_Cliente]> 1825) then '> 5 anos' end as Faixa_Aging,
Case when Tipo_Cliente = 'A' then 'Grupo A' else 'Grupo B' end as Tensão,
flag_toi,
valor_toi,
cast([Data_Vencimento] as date) as Data_Vencimento,
left(data_vencimento, 4) AS Ano_vencimento,
substring(data_vencimento,6,2) AS mes_vencimento,
ano_vencimento||mes_vencimento as Anomes_vencimento,
F.distributionaddress__c as end_instalacao,
F.neighbourhood__c as bairro,
F.municipality__c as cidade,
F.postal_code__c as CEP,
estado,
status,
estado_fornc_codigo,
estado_fornc_desc,
tipo_corte_realizado,
justica,
vital,
ano_mes_selecao,
ultima_att
from bi_brrj_bill.bt_brrj_inadim A
left join global_brasil_rio.bt_global_asset_brazil_rio B on B.cdc_pod_id = A.conta_contrato
left join global_brasil_rio.bt_global_billing_brazil_rio C on left(C.pk_bill_id,16) = A.num_fatura
left join dp_brrj_cus.tb_capilaridade_credit_recovery D on D.numero_cliente = A.conta_contrato
left join (select numero_cliente, segmento, count(*) as qtd from bi_brrj_coll.bt_brrj_faturamento group by 1,2) E on E.numero_cliente = A.conta_contrato
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro F on F.accountcontract__c = A.conta_contrato
left join bi_brrj_bill.bt_brrj_cip_faturado G on G.conta_contrato = A.conta_contrato
WHERE A.classe IN ('Poder Público Estadual Adm. Indireta','Poder Público Municipal','Iluminação Pública', 'Poder Público Estadual', 'Poder Público Federal', 'Serviço Público')
AND
A.CONTA_CONTRATO < '[VALOR_OMITIDO]'
AND ano_mes_selecao = (select max(ano_mes_selecao) from bi_brrj_bill.bt_brrj_inadim)
and D.Segmento IN ('Governo', 'Grandes clientes', 'Grandes Clientes')
union all
SELECT distinct
a.classe as Categoria,
case when D.segmento is null then e.segmento else d.segmento end as Segmento,
D.Classe,
[Area] as Macro_área,
case
WHEN [Area] = 'EDUCAÇÃO' THEN 'EDUCAÇÃO'
WHEN [AREA] IN ('ILUMINAÇÃO PÚBLICA','ILUMINAÇÕES FESTIVAS') THEN 'IP'
WHEN [AREA] = 'SAÚDE' THEN 'SAÚDE'
WHEN [AREA] IN ([LISTA_DE_VALORES_OMITIDA]) THEN 'OUTROS'
WHEN [AREA] IN ([LISTA_DE_VALORES_OMITIDA]) THEN 'PRÓPRIOS' ELSE 'OUTROS' END AS Cluster,
A.conta_contrato,
D.Coletiva,
G.nr_medidor as Medidor,
D.uc as nome,
D.descricao as descricao,
D.orgao_controlador,
executivo,
doc_fiscal,
num_fatura,
A.fatura_coletiva,
billing_periodo as referencia,
a.data_faturamento,
B.sds_tension_group as Tipo_Cliente,
sds_global_bill_type as Tipo_Fatura,
case when [Data_Vencimento] < sysdate then 'Vencida' else 'A Vencer' end as Status_Vencimento,
case
when DATEDIFF(month, TO_DATE(cast(data_vencimento as date) , 'YYYY-MM-DD'), TO_DATE(cast(ultima_att as date), 'YYYY-MM-DD')) = 0 then 'Vencendo'
when DATEDIFF(month, TO_DATE(cast(data_vencimento as date) , 'YYYY-MM-DD'), TO_DATE(cast(ultima_att as date), 'YYYY-MM-DD')) > 0 then 'Vencida' else 'A Vencer' end as Status_Conta,
cast(replace([Valor_Deb_Venc], ',', '.') as decimal(17,2)) as Valor_deb_Venc,
cast(replace([Valor_Deb_Total],',', '.') as decimal(17,2)) as divida_nominal,
juros,
igpm as IPCA,
case when status_vencimento = 'Vencida' then divida_nominal * 0.02 else 0 end as Multa,
case when right([Data_Vencimento],2) <='07' then '1° Semana'
when right([Data_Vencimento],2) <='14' then '2° Semana'
when right([Data_Vencimento],2) <='21' then '3° Semana' else '4° Semana' end as Semana_Vencimento,
CASE WHEN JUROS IS NULL OR IGPM IS NULL THEN [valor_deb_total] ELSE CASE WHEN [valor_deb_total] + [juros] + [IGPM] IS NULL then 0 else [valor_deb_total] + [juros] + [IGPM] END END as Dívida_Atualizada,
cast(replace([Num_Contas_Atraso],',', '.') as decimal(17,2)) as Número_Contas_Atraso,
cast(ultima_att as date) - cast([data_vencimento] as date) as Aging_Cliente,
case
when ([Aging_Cliente]<= 0) then 'A Vencer'
when ([Aging_Cliente]<= 30) then '1 - 30 dias'
when ([Aging_Cliente]<= 60) then '31 - 60 dias'
when ([Aging_Cliente]<= 90) then '61 - 90 dias'
when ([Aging_Cliente]<= 120) then '91 - 120 dias'
when ([Aging_Cliente]<= 150) then '121 - 150 dias'
when ([Aging_Cliente]<= 180) then '151 - 180 dias'
when ([Aging_Cliente]<= 365) then '181 - 365 dias'
when ([Aging_Cliente]<= 365) then '181 - 365 dias'
when ([Aging_Cliente]<= 730) then '1 - 2 anos'
when ([Aging_Cliente]<= 1095) then '2 - 3 anos'
when ([Aging_Cliente]<= 1460) then '3 - 4 anos'
when ([Aging_Cliente]<= 1825) then '4 - 5 anos'
when ([Aging_Cliente]> 1825) then '> 5 anos' end as Faixa_Aging,
Case when Tipo_Cliente = 'A' then 'Grupo A' else 'Grupo B' end as Tensão,
flag_toi,
valor_toi,
cast([Data_Vencimento] as date) as Data_Vencimento,
left(data_vencimento, 4) AS Ano_vencimento,
substring(data_vencimento,6,2) AS mes_vencimento,
ano_vencimento||mes_vencimento as Anomes_vencimento,
F.distributionaddress__c as end_instalacao,
F.neighbourhood__c as bairro,
F.municipality__c as cidade,
F.postal_code__c as CEP,
estado,
status,
estado_fornc_codigo,
estado_fornc_desc,
tipo_corte_realizado,
justica,
vital,
ano_mes_selecao,
ultima_att
from bi_brrj_bill.bt_brrj_inadim A
left join global_brasil_rio.bt_global_asset_brazil_rio B on B.cdc_pod_id = A.conta_contrato
left join global_brasil_rio.bt_global_billing_brazil_rio C on left(C.pk_bill_id,16) = A.num_fatura
left join dp_brrj_cus.tb_capilaridade_credit_recovery D on D.numero_cliente = A.conta_contrato
left join (select numero_cliente, segmento, count(*) from bi_brrj_coll.bt_brrj_faturamento group by 1,2) E on E.numero_cliente = A.conta_contrato
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro F on F.accountcontract__c = A.conta_contrato
left join bi_brrj_bill.bt_brrj_cip_faturado G on G.conta_contrato = A.conta_contrato
WHERE tipo_cliente = 'GRPA' AND
A.classe not IN ('Poder Público Estadual Adm. Indireta','Residencial Baixa Renda','Poder Público Municipal','Iluminação Pública', 'Poder Público Estadual', 'Poder Público Federal', 'Serviço Público')
AND ano_mes_selecao = (select max(ano_mes_selecao) from bi_brrj_bill.bt_brrj_inadim) and D.Segmento IN ('Governo', 'Grandes clientes', 'Grandes Clientes'));
select
Conta_Contrato
,fatura_coletiva as Conta_Contrato_Coletiva
,segmento as Segmento_Oficial
,descricao
,orgao_controlador
,Cidade
,Case when [tipo_corte_realizado] is not null AND [JUSTICA] is not null THEN 'Corte Restrito e Pendencia Judicial'
when [tipo_corte_realizado] is not null AND [JUSTICA] is not null AND [FLAG_TOI] IS NOT NULL THEN 'Corte / Justica E Toi'
when [JUSTICA] is not null then 'Pendencia Judicial'
when [FLAG_TOI] IS NOT NULL then 'Toi'
When [tipo_corte_realizado] is not null then 'Corte Restrito' Else 'Sem Restricao' END AS Tipo_Restricao
,case when [tipo_corte_realizado] is not null AND [JUSTICA] is not null then sum(divida_nominal) else 0 end as Divida_sistema
,sum(divida_nominal) as Divida_nominal
from divida
where Status_Conta = 'Vencida'
group by
Conta_Contrato
,Conta_Contrato_Coletiva
,Segmento_Oficial
,descricao
,orgao_controlador
,Cidade
,tipo_corte_realizado
,JUSTICA
,FLAG_TOI
having sum(divida_nominal) > 0
order by sum(divida_nominal) desc
```

### QUERY: Defesa.sql
Data: 2025-03-17 13:03:16
Tópicos: JURIDICO
Empresas detectadas: ENEL CE, ENEL RJ
Objetos: bi_brce_act.bt_brce_requestqlik; dp_brrj_cus.bt_de_para_motivos_requestqlik; bi_brce_cus.bt_brce_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
ANO,
CTA_CONTRATO,
CASE
WHEN TIPO_CASO IS NULL OR TIPO_CASO = '' THEN 'Informação'
ELSE TIPO_CASO
END AS TIPO_CASO,
CASE
WHEN TIPO_CONTA IS NULL OR TIPO_CONTA = '' THEN 'B2C'
ELSE TIPO_CONTA
END AS TIPO_CONTA,
name_account as nome,
case
when CANAL_OFICIAL is null or CANAL_OFICIAL = '' then 'Outros' else Canal_oficial
end as CANAL_OFICIAL,
canal_caso,
A.submotivo,
case
when motivo_tratado is null or MOTIVO_TRATADO = '' then 'OUTROS' else MOTIVO_TRATADO
end MOTIVO_TRATADO,
COUNT(DISTINCT NUMERO_CASO) AS QTD
FROM bi_brce_act.bt_brce_requestqlik A
LEFT JOIN DP_BRRJ_CUS.bt_de_para_motivos_requestqlik B
ON B.CHAVE = A.MOTIVO || A.SUBMOTIVO
LEFT JOIN BI_BRCE_CUS.bt_brce_relatorio_de_cadastro C
ON C.accountcontract__c = A.cta_contrato
where ANO >= '2024' and cta_contrato IN ([LISTA_DE_VALORES_OMITIDA])
GROUP BY
ANO,
CTA_CONTRATO,
NAME_ACCOUNT,
TIPO_CASO,
TIPO_CONTA,
canal_caso,
CANAL_OFICIAL,
A.submotivo,
motivo_tratado;
```

### QUERY: Modelo Preditivo.sql
Data: 2025-03-13 13:52:46
Tópicos: OUTROS
Empresas detectadas: ENEL CE, ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brce_act.bt_brce_requestqlik
JOINs: 12
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 >= 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_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')
)
;
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_tm
[TRUNCADO PARA BASE DE CONHECIMENTO]
```

### QUERY: Modelo preditivo RJ_CE Ordens Todos os status.sql
Data: 2025-03-11 17:50:50
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL CE, ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_clientes_ordem_servico; bi_brrj_cus.bt_brrj_grandes_ordem_servico; dp_brrj.tb_aux_depara_estado_ordens; dp_brrj.tb_aux_depara_tipo_servicos; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brce_act.bt_brce_requestqlik; bi_brce_cus.bt_brce_clientes_ordem_servico; bi_brce_cus.bt_brce_grandes_ordem_servico; dp_brce_cus.tb_aux_depara_ce_tipo_servicos_totais_v2; dp_brce_cus.e2e_base_clientes_b2bg
JOINs: 44
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: Qualidade cadastro Enel.sql
Data: 2025-03-05 10:21:06
Tópicos: CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_asset_brazil_rio; 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
asset.fk_external_asset_id,
asset.pk_contract_id AS conta_contrato,
asset.cdc_pod_id AS instalacao,
cadastro.name_account AS nome,
cadastro.identitynumber__c AS documento,
case
when right(cadastro.externalid__c_account,1) = 'F' then right(cadastro.externalid__c_account,3)
when right(cadastro.externalid__c_account,1) = 'J' then right(cadastro.externalid__c_account,4)
end as tipo_documento,
asset.sds_aggregate_cluster_local as segmento,
asset.sds_tension_group
FROM global_brasil_rio.bt_global_asset_brazil_rio AS asset
LEFT JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro cadastro ON cadastro.accountcontract__c = asset.fk_external_asset_id
where cadastro.clienteativo = 1 and asset.sds_aggregate_cluster_local not IN ('B2B', 'B2G') and tipo_documento = 'CNPJ'
union all
select
asset.fk_external_asset_id,
asset.pk_contract_id AS conta_contrato,
asset.cdc_pod_id AS instalacao,
cadastro.name_account AS nome,
cadastro.identitynumber__c AS documento,
case
when right(cadastro.externalid__c_account,1) = 'F' then right(cadastro.externalid__c_account,3)
when right(cadastro.externalid__c_account,1) = 'J' then right(cadastro.externalid__c_account,4)
end as tipo_documento,
asset.sds_aggregate_cluster_local as segmento,
asset.sds_tension_group
FROM global_brasil_rio.bt_global_asset_brazil_rio AS asset
LEFT JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro cadastro ON cadastro.accountcontract__c = asset.fk_external_asset_id
where cadastro.clienteativo = 1 and asset.sds_aggregate_cluster_local IN ('B2B', 'B2G') and tipo_documento = 'CPF'
```

### QUERY: Query Dashboard Ordens.sql
Data: 2025-03-04 20:49:42
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; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 5
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,negocio
,D.regulada
,D.artigo
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,case
when left(sysdate,10) = left(data_fim_regulada,10) and Status_ordem = 'ABERTA' then 'Vence Hoje'
when sysdate > data_fim_regulada and Status_ordem = 'ABERTA' then 'Vencida'
when data_fim_regulada <= sysdate+7 AND Status_ordem = 'ABERTA' then 'Vence na Semana'
when Status_ordem <> 'ABERTA' then '-'
else 'A Vencer'
end as Controle_Prazo
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
,ind_serv_executado
,ind_procedente
,g.municipality__c
from
(
select corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
last_update,
sysdate as data_referencia,
count(*)
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
group by all
) 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 (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
left join DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro G on G.accountcontract__c = A.numero_cliente
where ultima_etapa = 'true' and A.des_servico IN ('GD VISTORIA E CONEXÃO',
'GD - VISTORIA E CONEXÃO',
'GD - SOLICITAÇÃO DE VISTORIA MINI',
'GD-VISTORIA E CONEXÃO MINIGERAÇÃO') and ano >= '2024' and status_ordem IN ('ABERTA', 'SUSPENSA')
group by all
```

### QUERY: Query Ordens Brasil - Fechamento Edlene.sql
Data: 2025-03-03 19:32:20
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL CE, 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; dp_brrj.capilaridade_b2b_b2g_rj; bi_brce_cus.bt_brce_clientes_ordem_servico; dp_brce_cus.tb_aux_depara_ce_tipo_servicos_totais_v2; dp_brce_cus.e2e_base_clientes_b2bg; bi_brce_cus.bt_brce_grandes_ordem_servico; bi_brrj_cus.bt_brrj_grandes_ordem_servico
JOINs: 20
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
'RJ' as Distribuidora
,'Grupo B' as Grupo_Tensao
,case when Segmento is null then 'B2C' else Segmento end as Segmento
,numero_ordem
,numero_cliente
,numero_caso
,ano as ano_abertura
,mes as mes_abertura
,anomes as anomes_abertura
,ano_encerramento
,mes_encerramento
,anomes_encerramento
,data_abertura
,data_fim_regulada
,data_execucao_visita
,data_estado
,tipo_ordem
,cod_servico
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,area_responsavel_etapa
,responsavel_etapa
,negocio
,regulada
,artigo
,status_prazo
,farol_prazo
,Controle_Prazo
,status_ordem
,rol_ingresso
,rol_visita
,ind_serv_executado
,count(numero_ordem) as qtd
from
(select
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,left(A.data_estado,4) as ano_encerramento
,substring(A.data_estado,6,2) as mes_encerramento
,ano_encerramento||mes_encerramento as anomes_encerramento
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,tipo_conta as SEGMENTO
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,D.area_responsavel_etapa
,D.responsavel_etapa
,negocio
,D.regulada
,D.artigo
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,case
when left(sysdate,10) = left(data_fim_regulada,10) and Status_ordem = 'ABERTA' then 'Vence Hoje'
when sysdate > data_fim_regulada and Status_ordem = 'ABERTA' then 'Vencida'
when data_fim_regulada <= sysdate+7 AND Status_ordem = 'ABERTA' then 'Vence na Semana'
when Status_ordem <> 'ABERTA' then '-'
else 'A Vencer'
end as Controle_Prazo
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
,ind_serv_executado
from
(
select corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
sucursal,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
group by all) 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 (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
left join DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join dp_brrj.capilaridade_b2b_b2g_rj F on F.INSTALACAO = A.NUMERO_CLIENTE
where ultima_etapa = true and cluster_ordem = 'INICIATIVA CLIENTE' and status_ordem = 'FECHADA' and status_prazo is not null and ano is not null and anomes_encerramento = '${anomes_encerramento}')
group by
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34
union all
select
'CE' as Distribuidora
,'Grupo B' as Grupo_Tensao
,case when Segmento is null or Segmento = '' then 'B2C' else Segmento end as Segmento
,numero_ordem
,numero_cliente
,numero_caso
,ano as ano_abertura
,mes as mes_abertura
,anomes as anomes_abertura
,ano_encerramento
,mes_encerramento
,anomes_encerramento
,data_abertura
,data_fim_regulada
,data_execucao_visita
,data_estado
,tipo_ordem
,cod_servico
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,area_responsavel_etapa
,responsavel_etapa
,negocio
,regulada
,artigo
,status_prazo
,farol_prazo
,Controle_Prazo
,status_ordem
,rol_ingresso
,rol_visita
,ind_serv_executado
,count(numero_ordem) as qtd
from
(select
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,left(A.data_estado,4) as ano_encerramento
,substring(A.data_estado,6,2) as mes_encerramento
,ano_encerramento||mes_encerramento as anomes_encerramento
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,tipo_registro_conta as SEGMENTO
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,'' as area_responsavel_etapa
,'' as responsavel_etapa
,diretoria as negocio
,case when escopo = 'REGULADA' then 'Sim' else 'Não' end as regulada
,D.artigo
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,case
when left(sysdate,10) = left(data_fim_regulada,10) and Status_ordem = 'ABERTA' then 'Vence Hoje'
when sysdate > data_fim_regulada and Status_ordem = 'ABERTA' then 'Vencida'
when data_fim_regulada <= sysdate+7 AND Status_ordem = 'ABERTA' then 'Vence na Semana'
when Status_ordem <> 'ABERTA' then '-'
else 'A Vencer'
end as Controle_Prazo
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
,ind_serv_executado
from
(
select corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
sucursal,
last_update,
sysdate as data_referencia
from Bi_brce_cus.bt_brce_clientes_ordem_servico
group by all) A
left join DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS C on C.ESTADO = A.ESTADO
left join dp_brce_cus.tb_aux_depara_ce_tipo_servicos_totais_v2 D on D.CHAVE = 'BT'||A.tipo_ordem||A.cod_servico||RTRIM(A.des_servico)
left join (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brce_cus.bt_brce_clientes_ordem_servico A
left join DP_BRRJ_CUS.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join dp_brce_cus.e2e_base_clientes_b2bg F on cast(F.ponto_fornecimento as int) = A.numero_cliente
where ultima_etapa = true and cluster_ordem = 'CLIENTE' and status_ordem = 'FECHADA' and status_prazo is not null and ano is not null and anomes_encerramento = '${a
[TRUNCADO PARA BASE DE CONHECIMENTO]
```

### QUERY: Faturamento Grupo A.sql
Data: 2025-03-03 19:19:54
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_billing_brazil_rio; bi_brrj_bill.bt_brrj_cip_faturado; bi_brrj_bill.bt_brrj_icg_compliance; bi_brrj_coll.bt_brrj_faturamento; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; global_brasil_rio.bt_global_billing_concepts_brazil_rio; dp_brrj.tb_capilaridade_credit_recovery
JOINs: 6
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 coletiva;
create temporary table coletiva as (
select fk_asset_id,cdc_aggregated_document_id, count (fk_asset_id) as qtd from global_brasil_rio.bt_global_billing_brazil_rio
group by 1,2);
select
B.cdc_aggregated_document_id as Conta_contrato_Coletiva,
G.orgao_controlador,
icg_numero_Cliente as Conta_Contrato,
F.numero_fatura,
doc_impressao,
D.identitynumber__c as Documento,
nr_medidor,
D.coordinatex__c,
D.coordinatey__c,
D.distributionaddress__c as Endereço,
D.neighbourhood__c as Bairro,
icg_municipio as Municipio,
D.postal_code__c as CEP,
cast(Consumo_ponta as decimal(17,2)) as consumo_ponta,
cast(Consumo_FP as decimal(17,2)) as consumo_FP,
cast(C.consumo_ativo as decimal(17,2)) as Consumo,
cast(consumo_reativo_fp as decimal(17,2)) as consumo_reativo_fp,
cast(consumo_reativo_hp as decimal(17,2)) as consumo_reativo_hp,
cast(demanda_ultrapassada_fp as decimal(17,2)) as demanda_ultrapassada_fp,
cast(demanda_ultrapassada_hp as decimal(17,2)) as demanda_ultrapassada_hp,
cast(demanda_lida_fp as decimal(17,2)) as demanda_lida_fp,
cast(demanda_lida_hp as decimal(17,2)) as demanda_lida_hp,
cast(demanda_faturada_fp as decimal(17,2)) as demanda_faturada_fp,
cast(demanda_faturada_hp as decimal(17,2)) as demanda_faturada_hp,
cast(TE as decimal(17,2)) as TE,
cast(TUSD as decimal(17,2)) as TUSD,
cast(IMPOSTOS as decimal(17,2)) as Imposto,
cast(Valor_consumo_reativo_FP as decimal(17,2)) as Valor_consumo_reativo_FP,
cast(Valor_consumo_reativo_NP as decimal(17,2)) as Valor_consumo_reativo_NP,
cast(Valor_Consumo_FP as decimal(17,2)) as Valor_Consumo_FP,
cast(Valor_Consumo_Ponta as decimal(17,2)) as Valor_Consumo_Ponta,
cast((E.TE + E.TUSD + E.IMPOSTOS+Valor_consumo_reativo_FP+Valor_consumo_reativo_NP+Valor_Consumo_FP+Valor_Consumo_Ponta) as decimal(17,2)) as Valor_consumo,
cast(Valor_demanda as decimal(17,2)) as Valor_demanda,
cast(Valor_TE_Ponta as decimal(17,2)) as Valor_TE_Ponta,
cast(VALOR_TE_FP as decimal(17,2)) as VALOR_TE_FP,
cast(E.bandeira_amarela as decimal(17,2)) as bandeira_amarela,
cast(E.bandeira_vermelha as decimal(17,2)) as bandeira_vermelha,
cast((E.bandeira_amarela + E.bandeira_vermelha) 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,
cast(F.valor_da_fatura as decimal(17,2)) as Valor_total_fatura,
icg_referencia as referencia,
F.Data_Vencimento,
'NULL' as COD_BARRAS,
'NULL' as COD_BARRAS_AGRUPAMENTO,
F.grupo as Grupo,
F.tensao as tensao,
case
WHEN F.tipo_documento_faturamento = 'REFATURADO' then (
select left(F2.DATA_FATURAMENTO,10)
from bi_brrj_bill.bt_brrj_cip_faturado F2
where F.CONTA_CONTRATO = F2.conta_contrato
and F2.referencia_faturamento = F.referencia_faturamento
and F2.tipo_documento_faturamento = 'FATURADO'
order by F2.data_faturamento desc
limit 1
)
else F.data_faturamento
end as Data_Faturamento,
icg_tipo_fatura as tipo_fatura,
case
when tipo_fatura = 'FA' then 'Fatura Normal'
when tipo_fatura = 'EP' then 'Fatura Cancelada'
when tipo_fatura = 'RF' then '[VALOR_OMITIDO]'
end as Legenda_Tipo_Fatura,
cast(icg_cons_activo_livre as decimal(17,2)) as Consumo_Livre,
case
when icg_cons_activo_cativo <> 0 then 'Regulado'
else 'Livre'
end as Mercado,
case
when D.mov_out = '31/12/9999' then 'Ativo'
else 'Inativo'
end as Status,
cast(F.valor_cip_faturada as decimal(17,2)) as CIP,
cast(C.valor_icms as decimal(17,2)) as Icms,
cast(C.valor_pis as decimal(17,2)) as Pis,
cast(C.valor_cofins as decimal(17,2)) as cofins,
cast(C.valor_toi as decimal(17,2)) as Valor_Toi,
cast(retencao_ir as decimal(17,2)) as retencao_ir
from
bi_brrj_bill.bt_brrj_icg_compliance A
inner join
coletiva B on B.fk_asset_id = A.icg_numero_cliente
left join
bi_brrj_coll.bt_brrj_faturamento C on C.corr_facturacion = A.ICG_CORR_FACTURACION
left join
bi_brrj_cus.bt_brrj_relatorio_de_cadastro D on D.accountcontract__c = A.icg_numero_Cliente
left join (
select
left(fk_bill_id,16) as FATURA,
sum(case when lds_local_concept = 'ENERGIA ATIVA FORNECIDA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as TE,
sum(case when lds_local_concept = 'TUSD' then vad_concept_issued_amount_due_date_tax else 0 end) as TUSD,
sum(case when lds_local_concept = 'IMPOSTOS' then vad_concept_issued_amount_due_date_tax else 0 end) as IMPOSTOS,
sum(case when lds_local_concept = 'ADICIONAL BAND.VERMELHA' then vad_concept_issued_amount_due_date_tax else 0 end) as BANDEIRA_VERMELHA,
sum(case when lds_local_concept = 'ADICIONAL BAND.AMARELA' then vad_concept_issued_amount_due_date_tax else 0 end) as BANDEIRA_AMARELA,
sum(case when lds_local_concept_id IN ('WHTAX','[VALOR_OMITIDO]') then vad_concept_billed_amount_no_tax * -1 else 0 end) as retencao_ir,
sum(case when lds_local_concept = 'CONSUMO PONTA' then vad_concept_billed_quantity else 0 end) as Consumo_Ponta,
sum(case when lds_local_concept = 'CONSUMO FORA PONTA' then vad_concept_billed_quantity else 0 end) as Consumo_FP,
sum(case when lds_local_concept = 'CONSUMO PONTA' then vad_concept_issued_amount_due_date_tax else 0 end) as valor_Consumo_Ponta,
sum(case when lds_local_concept = 'CONSUMO FORA PONTA' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_Consumo_FP,
sum(case when lds_local_concept = 'CONSUMO REATIVO EXCEDENTE FP' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_consumo_reativo_FP,
sum(case when lds_local_concept = 'CONSUMO REATIVO EXCEDENTE NP' then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_consumo_reativo_NP,
sum(case when lds_local_concept IN ('DEMANDA', 'DEMANDA ATIVA') then vad_concept_issued_amount_due_date_tax else 0 end) as Valor_demanda,
sum(case when lds_local_concept = 'ENERGIA ATV FORN PONTA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as VALOR_TE_PONTA,
sum(case when lds_local_concept = 'ENERGIA ATV FORN F PONTA TE' then vad_concept_issued_amount_due_date_tax else 0 end) as VALOR_TE_FP
from
global_brasil_rio.bt_global_billing_concepts_brazil_rio
group by
left(fk_bill_id,16)
) E on E.FATURA = A.ICG_CORR_FACTURACION
left join (
select
numero_fatura,
conta_contrato,
doc_impressao,
referencia_faturamento,
consumo_reativo_fp,
consumo_reativo_hp,
demanda_ultrapassada_fp,
demanda_ultrapassada_hp,
demanda_lida_fp,
demanda_lida_hp,
demanda_faturada_fp,
demanda_faturada_hp,
leitura_anterior,
tipo_ligacao,
tipo_documento_faturamento,
juros_fatura,
multa_fatura,
valor_da_fatura,
nr_medidor,
consumo_ativo_fp,
consumo_ativo_hp,
valor_cip_faturada,
grupo,
tensao,
left(data_vencimento_fatura,10) as Data_Vencimento,
left(data_faturamento,10) as data_faturamento
from
bi_brrj_bill.bt_brrj_cip_faturado A
where
not exists (
select 1
from bi_brrj_bill.bt_brrj_cip_faturado B
where
tipo_documento_faturamento = 'ESTONO PLENO'
and B.numero_fatura = A.numero_fatura
)
) F on F.numero_fatura = A.icg_corr_facturacion
left join
dp_brrj.tb_capilaridade_credit_recovery G on G.numero_cliente = icg_numero_Cliente
where
F.numero_fatura is not null and tipo_fatura <> 'EP'
and icg_referencia >= '2025/01' and icg_numero_cliente IN ();
```

### QUERY: Clientes B2B 2025.sql
Data: 2025-03-03 19:19:38
Tópicos: CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_asset_brazil_rio; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 3
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 asset_A0;
CREATE TEMP TABLE asset_A0 AS (
SELECT
ROW_NUMBER() OVER (PARTITION BY asset.pk_asset_id, asset.pk_contract_id
ORDER BY asset.dte_validity_start_date DESC,
asset.dte_asset_end_date ASC) AS r,
cadastro.parceiro,
cadastro.identitynumber__c AS documento,
cadastro.name_account AS nome,
asset.pk_asset_id,
asset.fk_external_asset_id,
asset.pk_contract_id AS conta_contrato,
asset.cdc_pod_id AS instalacao,
asset.sds_market,
asset.sds_voltage_level,
asset.sds_global_segment,
asset.sds_aggregate_cluster_local,
asset.lds_local_segment,
asset.lds_economic_sector,
asset.lds_local_economic_sector,
asset.sds_contracted_power,
asset.cdc_counter_serial_number AS medidor,
asset.dte_asset_start_date,
asset.dte_asset_end_date,
asset.lds_asset_city,
asset.cdc_asset_postal_code,
asset.fln_risk_areas,
asset.fln_automatic_debit,
asset.dte_validity_start_date,
asset.sds_subclasse,
asset.sds_generation_capability,
asset.sds_tension_group,
asset.sds_tariff_subgroup,
asset.sds_tariff_mode,
asset.fln_top_large,
asset.sds_typology,
asset.qty_contracted_power
FROM global_brasil_rio.bt_global_asset_brazil_rio AS asset
LEFT JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro cadastro
ON cadastro.accountcontract__c = asset.fk_external_asset_id
WHERE asset.dte_validity_start_date < CURRENT_DATE
AND asset.sds_tension_group = 'A'
AND asset.sds_aggregate_cluster_local <> 'B2G'
);
DROP TABLE IF EXISTS asset_A1;
CREATE TEMP TABLE asset_A1 AS (
SELECT * FROM asset_A0 WHERE r = 1
);
DROP TABLE IF EXISTS asset_B0;
CREATE TEMP TABLE asset_B0 AS (
SELECT
ROW_NUMBER() OVER (PARTITION BY asset.pk_asset_id, asset.pk_contract_id
ORDER BY asset.dte_validity_start_date DESC,
asset.dte_asset_end_date ASC) AS r,
cadastro.parceiro,
cadastro.identitynumber__c AS documento,
cadastro.name_account AS nome,
asset.pk_asset_id,
asset.fk_external_asset_id,
asset.pk_contract_id AS conta_contrato,
asset.cdc_pod_id AS instalacao,
asset.sds_market,
asset.sds_voltage_level,
asset.sds_global_segment,
asset.sds_aggregate_cluster_local,
asset.lds_local_segment,
asset.lds_economic_sector,
asset.lds_local_economic_sector,
asset.sds_contracted_power,
asset.cdc_counter_serial_number AS medidor,
asset.dte_asset_start_date,
asset.dte_asset_end_date,
asset.lds_asset_city,
asset.cdc_asset_postal_code,
asset.fln_risk_areas,
asset.fln_automatic_debit,
asset.dte_validity_start_date,
asset.sds_subclasse,
asset.sds_generation_capability,
asset.sds_tension_group,
asset.sds_tariff_subgroup,
asset.sds_tariff_mode,
asset.fln_top_large,
asset.sds_typology,
asset.qty_contracted_power
FROM global_brasil_rio.bt_global_asset_brazil_rio AS asset
LEFT JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro cadastro
ON cadastro.accountcontract__c = asset.fk_external_asset_id
INNER JOIN asset_A1 GA
ON GA.documento = cadastro.identitynumber__c
WHERE asset.dte_validity_start_date < CURRENT_DATE
AND asset.sds_tension_group = 'B'
AND asset.sds_aggregate_cluster_local not IN ('B2G', 'B2C')
);
DROP TABLE IF EXISTS asset_B1;
CREATE TEMP TABLE asset_B1 AS (
SELECT * FROM asset_B0 WHERE r = 1
);
select
pk_asset_id,
conta_contrato,
instalacao,
parceiro,
documento,
nome,
fk_external_asset_id,
sds_market,
sds_voltage_level,
sds_global_segment,
sds_aggregate_cluster_local,
lds_local_segment,
lds_economic_sector,
lds_local_economic_sector,
sds_contracted_power,
medidor,
dte_asset_start_date,
dte_asset_end_date,
lds_asset_city,
cdc_asset_postal_code,
fln_risk_areas,
fln_automatic_debit,
dte_validity_start_date,
sds_subclasse,
sds_generation_capability,
sds_tension_group,
sds_tariff_subgroup,
sds_tariff_mode,
fln_top_large,
sds_typology,
qty_contracted_power
FROM asset_A1
UNION ALL
SELECT
pk_asset_id,
conta_contrato,
instalacao,
parceiro,
documento,
nome,
fk_external_asset_id,
sds_market,
sds_voltage_level,
sds_global_segment,
sds_aggregate_cluster_local,
lds_local_segment,
lds_economic_sector,
lds_local_economic_sector,
sds_contracted_power,
medidor,
dte_asset_start_date,
dte_asset_end_date,
lds_asset_city,
cdc_asset_postal_code,
fln_risk_areas,
fln_automatic_debit,
dte_validity_start_date,
sds_subclasse,
sds_generation_capability,
sds_tension_group,
sds_tariff_subgroup,
sds_tariff_mode,
fln_top_large,
sds_typology,
qty_contracted_power
FROM asset_B1
ORDER BY documento, sds_tension_group;
```

### QUERY: Ligação Nova Por Etapas.sql
Data: 2025-02-28 00:27:34
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_clientes_ordem_servico; global_brasil_rio.bt_global_grids_workorder_brazil_rio; dp_brrj_cus.tb_aux_depara_estado_ordens; dp_brrj_cus.tb_aux_depara_tipo_servicos; dp_brrj_cus.bt_brrj_de_para_polo_rj
JOINs: 10
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 complexas_1;
CREATE TEMP TABLE complexas_1 AS (
SELECT
numero_ordem,
numero_ordem_relac,
cod_servico AS codigo_servico,
des_servico AS descricao_servico,
situacao
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico
WHERE LEFT(data_ingresso,4) >= '${ano_complexas}'
AND cod_servico IN ('PRJ','EX1','PRG')
GROUP BY numero_ordem, numero_ordem_relac, cod_servico, des_servico, situacao
);
DROP TABLE IF EXISTS situacoes_ordens;
CREATE TEMP TABLE situacoes_ordens AS (
SELECT numero_ordem, situacao
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico
WHERE LEFT(data_ingresso,4) >= '${ano_complexas}'
GROUP BY numero_ordem, situacao
);
drop table if exists complexas;
create temp table complexas as (
SELECT
A.numero_ordem,
case
when S1.situacao IN ('N', 'X', '') then 'DP'
when S1.situacao = 'A' then 'FP'end AS "Status_prazo_Ordem",
A.numero_ordem_relac,
case
when S2.situacao IN ('N', 'X', '') then 'DP'
when S2.situacao = 'A' then 'FP'end AS "Status_prazo_Ordem_Relac",
B.numero_ordem AS "Ordem_Complexa",
case
when S3.situacao IN ('N', 'X', '') then 'DP'
when S3.situacao = 'A' then 'FP'end AS "Status_prazo_Complexa",
B.codigo_servico AS "Cod_servico_complexo",
B.descricao_servico AS "Des_servico_complexo"
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
INNER JOIN complexas_1 B
ON A.numero_ordem_relac = B.numero_ordem_relac
AND A.numero_ordem <> B.numero_ordem
LEFT JOIN situacoes_ordens S1 ON A.numero_ordem = S1.numero_ordem
LEFT JOIN situacoes_ordens S2 ON A.numero_ordem_relac = S2.numero_ordem
LEFT JOIN situacoes_ordens S3 ON B.numero_ordem = S3.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);
select distinct
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_ordem,
B.numero_cliente,
A.pk_workorder_id AS numero_ordem,
B.tipo_ordem,
B.cod_servico,
B.des_servico,
case
when B.cod_servico IN ('GVC', 'GDC') then 'Complexa'
when D.numero_ordem_relac <>'' then 'Complexa' else 'Simples'
end as Tipo_ligacao,
B.farol_prazo as status_prazo_ordem_principal,
case when D.numero_ordem_relac ='' then '-' else D.numero_ordem_relac end as numero_ordem_relac,
case when D.Status_prazo_Ordem_Relac = '' then '-' else D.Status_prazo_Ordem_Relac end as Status_prazo_Ordem_Relac,
case
when tipo_ligacao = 'Complexa' then D.Ordem_Complexa else '-'
end as ordem_complexa,
case
when tipo_ligacao = 'Complexa' then D.Cod_servico_complexo else '-'
end as Cod_servico_complexo,
case
when tipo_ligacao = 'Complexa' then D.des_servico_complexo else '-'
end as servico_complexo,
case when tipo_ligacao = 'Simples' then '-'
when ordem_complexa is null then '-'
when ordem_complexa = '-' then '-' else D.Status_prazo_Complexa
end as Status_prazo_Complexa,
case
when tipo_ligacao = 'Simples' then '-'
WHEN Status_prazo_Ordem_Relac = 'FP' or Status_prazo_Complexa = 'FP' or B.farol_prazo = 'FP' THEN 'Fora Prazo'
WHEN Status_prazo_Ordem_Relac = 'DP' AND Status_prazo_Complexa = 'DP' AND B.farol_prazo = 'DP' THEN 'Dentro do Prazo'
END AS "Status_prazo_jornada",
CONVERT(VARCHAR(19), B.data_ingresso) AS Data_abertura_ordem_principal,
CONVERT(VARCHAR(19), B.data_fim_regulada) AS data_fim_regulada_ordem_principal,
B.cluster_ordem,
case
when C.descricao_etapa is null then COALESCE(
(SELECT descricao_etapa
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico sub
WHERE sub.numero_ordem = A.pk_workorder_id
AND TRIM(sub.descricao_etapa) <> ''
ORDER BY sub.corr_visita DESC
LIMIT 1),
'-'
) 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 dte_order_sub_status_validity_end is null then data_inicio_etapa
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
COALESCE(
(SELECT cod_retorno
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico sub
WHERE sub.numero_ordem = A.pk_workorder_id
AND TRIM(sub.cod_retorno) <> ''
ORDER BY sub.corr_visita DESC
LIMIT 1),
'-'
) else C.cod_retorno end as cod_retorno,
case when C.descricao_retorno is null then
COALESCE(
(SELECT descricao_retorno
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico sub
WHERE sub.numero_ordem = A.pk_workorder_id
AND TRIM(sub.descricao_retorno) <> ''
ORDER BY sub.corr_visita DESC
LIMIT 1),
'-'
) else C. descricao_retorno end AS descricao_retorno,
case when c.acao_retorno is null then
COALESCE(
(SELECT acao_retorno
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico sub
WHERE sub.numero_ordem = A.pk_workorder_id
AND TRIM(acao_retorno) <> ''
ORDER BY sub.corr_visita DESC
LIMIT 1),
'-'
) else C.acao_retorno end AS acao_retorno,
case
when C.efeito_tempo_descricao is null then '-' else C.efeito_tempo_descricao
end 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,
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,
lds_municipal_area_local,
polos.polo
FROM (
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
order by dte_order_sub_status_validity_start asc) A
LEFT JOIN (
select distinct
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,LEFT(A.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
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,negocio
,D.regulada
,D.artigo
,A.ESTADO
,descricao as Estado_Ordem
,c.status_ordem as status_ordem
,convert(varchar(19),Data_ingresso) as Data_ingresso
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,left(data_visita,10) as Data_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno_1
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
,ind_serv_executado
,ind_procedente
from
(
select distinct corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
) 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)
where ultima_etapa = true and ano >= '2023') B
ON B.numero_ordem = A.pk_workorder_id
left join (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 Bi_brrj_cus.bt_brrj_clientes_ordem_servico group by all )
C on C.numero_ordem = A.pk_workorder_id and C.corr_visita = A.corr_visit
left join complexas D on D.numero_ordem = A.pk_workorder_id
left join dp_brrj_cus.bt_brrj_de_para_polo_rj polos on polos.municipio = A.sds_ind_serv_execution_local
where cod_servico IN ([LISTA_DE_VALORES_OMITIDA]) and A.ultima_etapa = 'true'
and anomes_encerramento_ordem = '${anomes_encerramento_ordem}';
```

### QUERY: Consulta dados cadastrais - Kam B2C.sql
Data: 2025-02-27 09:23:46
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,
name_account,
bi_brrj_cus.bt_brrj_relatorio_de_cadastro.identitynumber__c,
distributionaddress__c,
bi_brrj_cus.bt_brrj_relatorio_de_cadastro.neighbourhood__c,
bi_brrj_cus.bt_brrj_relatorio_de_cadastro.postal_code__c,
bi_brrj_cus.bt_brrj_relatorio_de_cadastro.municipality__c,
bi_brrj_cus.bt_brrj_relatorio_de_cadastro.literal_street_type__c,
bi_brrj_cus.bt_brrj_relatorio_de_cadastro.street__c
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro
where accountcontract__c IN ()
```

### QUERY: Modelo preditivo RJ_CE Otimizada.sql
Data: 2025-02-26 16:01:20
Tópicos: OUTROS
Empresas detectadas: ENEL CE, ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_clientes_ordem_servico; bi_brrj_cus.bt_brrj_grandes_ordem_servico; dp_brrj.tb_aux_depara_estado_ordens; dp_brrj.tb_aux_depara_tipo_servicos; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brce_act.bt_brce_requestqlik; bi_brce_cus.bt_brce_clientes_ordem_servico; bi_brce_cus.bt_brce_grandes_ordem_servico; dp_brce_cus.tb_aux_depara_ce_tipo_servicos_totais_v2; dp_brce_cus.e2e_base_clientes_b2bg
JOINs: 44
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: Reclamações por Alimentadores.sql
Data: 2025-02-25 16:51:04
Tópicos: RECLAMACAO, REDE_EMERGENCIA
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik
JOINs: 0
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select cta_contrato, ano||mes as anomes,submotivo, count(numero_caso) as qtd from bi_brrj_act.bt_brrj_requestqlik A
where ano >= '2024' and motivo = 'MOT001-Sol Registro Aviso Emergencial'
and cta_contrato IN ([LISTA_DE_VALORES_OMITIDA])
group by 1,2,3
```

### QUERY: Análise Backlog Salesforce vs Synergia.sql
Data: 2025-02-25 14:41:08
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_clientes_ordem_servico; dp_brrj.tb_aux_depara_estado_ordens
JOINs: 19
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 ORDEM_PRINCIPAL;
CREATE TEMPORARY TABLE ORDEM_PRINCIPAL AS (
SELECT
numero_ordem,
des_servico,
numero_ordem_relac,
status_ordem,
ind_serv_executado,
ind_procedente
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
LEFT JOIN DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B ON B.ESTADO = A.ESTADO
WHERE numero_ordem IN ([LISTA_DE_VALORES_OMITIDA]));
DROP TABLE IF EXISTS SEGUNDA_ORDEM;
CREATE TEMPORARY TABLE SEGUNDA_ORDEM AS (
SELECT
Ordem.numero_ordem,
ordem.numero_ordem_relac,
B.status_ordem,
ordem.ind_serv_executado,
ordem.ind_procedente
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico ordem
LEFT JOIN DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B ON B.ESTADO = ordem.ESTADO
inner JOIN ORDEM_PRINCIPAL C ON C.numero_ordem_relac = ordem.numero_ordem
);
DROP TABLE IF EXISTS TERCEIRA_ORDEM;
CREATE TEMPORARY TABLE TERCEIRA_ORDEM AS (
SELECT
Ordem.numero_ordem,
ordem.numero_ordem_relac,
B.status_ordem,
ordem.ind_serv_executado,
ordem.ind_procedente
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico ordem
LEFT JOIN DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B ON B.ESTADO = ordem.ESTADO
inner JOIN SEGUNDA_ORDEM C ON C.numero_ordem_relac = ordem.numero_ordem
);
DROP TABLE IF EXISTS QUARTA_ORDEM;
CREATE TEMPORARY TABLE QUARTA_ORDEM AS (
SELECT
Ordem.numero_ordem,
ordem.numero_ordem_relac,
B.status_ordem,
ordem.ind_serv_executado,
ordem.ind_procedente
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico ordem
LEFT JOIN DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B ON B.ESTADO = ordem.ESTADO
inner JOIN TERCEIRA_ORDEM C ON C.numero_ordem_relac = ordem.numero_ordem
);
DROP TABLE IF EXISTS QUINTA_ORDEM;
CREATE TEMPORARY TABLE QUINTA_ORDEM AS (
SELECT
Ordem.numero_ordem,
ordem.numero_ordem_relac,
B.status_ordem,
ordem.ind_serv_executado,
ordem.ind_procedente
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico ordem
LEFT JOIN DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B ON B.ESTADO = ordem.ESTADO
inner JOIN QUARTA_ORDEM C ON C.numero_ordem_relac = ordem.numero_ordem
);
DROP TABLE IF EXISTS SEXTA_ORDEM;
CREATE TEMPORARY TABLE SEXTA_ORDEM AS (
SELECT
Ordem.numero_ordem,
ordem.numero_ordem_relac,
B.status_ordem,
ordem.ind_serv_executado,
ordem.ind_procedente
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico ordem
LEFT JOIN DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B ON B.ESTADO = ordem.ESTADO
inner JOIN QUINTA_ORDEM C ON C.numero_ordem_relac = ordem.numero_ordem
);
DROP TABLE IF EXISTS SETIMA_ORDEM;
CREATE TEMPORARY TABLE SETIMA_ORDEM AS (
SELECT
Ordem.numero_ordem,
ordem.numero_ordem_relac,
B.status_ordem,
ordem.ind_serv_executado,
ordem.ind_procedente
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico ordem
LEFT JOIN DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B ON B.ESTADO = ordem.ESTADO
inner JOIN SEXTA_ORDEM C ON C.numero_ordem_relac = ordem.numero_ordem
);
SELECT distinct
A.numero_ordem AS ORDEM_PRINCIPAL,
A.des_servico,
A.status_ordem AS STATUS_ORDEM_PRINCIPAL,
A.ind_serv_executado,
A.ind_procedente,
A.numero_ordem_relac AS SEGUNDA_ORDEM,
B.status_ordem AS STATUS_SEGUNDA_ORDEM,
B.numero_ordem_relac AS TERCEIRA_ORDEM,
C.status_ordem as STATUS_TERCEIRA_ORDEM,
C.NUMERO_ORDEM_RELAC as QUARTA_ORDEM,
D.STATUS_ORDEM as STATUS_QUARTA_ORDEM,
D.NUMERO_ORDEM_RELAC as QUINTA_ORDEM,
E.STATUS_ORDEM as STATUS_QUINTA_ORDEM,
E.NUMERO_ORDEM_RELAC as SEXTA_ORDEM,
F.STATUS_ORDEM as STATUS_SEXTA_ORDEM,
F.NUMERO_ORDEM_RELAC as SETIMA_ORDEM,
G.STATUS_ORDEM as STATUS_SETIMA_ORDEM,
G.NUMERO_ORDEM_RELAC as OITAVA_ORDEM,
case
when STATUS_SEGUNDA_ORDEM = 'ABERTA' or STATUS_TERCEIRA_ORDEM = 'ABERTA' or STATUS_QUARTA_ORDEM = 'ABERTA' or STATUS_QUINTA_ORDEM = 'ABERTA' or STATUS_SEXTA_ORDEM = 'ABERTA' or STATUS_SETIMA_ORDEM = 'ABERTA' then 'ABERTA'
when STATUS_SEGUNDA_ORDEM = 'SUSPENSA' or STATUS_TERCEIRA_ORDEM = 'SUSPENSA' or STATUS_QUARTA_ORDEM = 'SUSPENSA' or STATUS_QUINTA_ORDEM = 'SUSPENSA' or STATUS_SEXTA_ORDEM = 'SUSPENSA' or STATUS_SETIMA_ORDEM = 'SUSPENSA' then 'SUSPENSA'
else STATUS_ORDEM_PRINCIPAL
end as STATUS_FINAL
FROM ORDEM_PRINCIPAL A
LEFT JOIN SEGUNDA_ORDEM B ON B.numero_ordem = A.numero_ordem_relac
LEFT JOIN TERCEIRA_ORDEM C ON C.numero_ordem = B.numero_ordem_relac
LEFT JOIN QUARTA_ORDEM D ON D.numero_ordem = C.numero_ordem_relac
LEFT JOIN QUINTA_ORDEM E ON E.numero_ordem = D.numero_ordem_relac
LEFT JOIN SEXTA_ORDEM F ON F.numero_ordem = E.numero_ordem_relac
LEFT JOIN SETIMA_ORDEM G ON G.numero_ordem = F.numero_ordem_relac;
```