Base RCO / Queries históricas
### QUERY: Condominios.sql
Data: 2024-12-19 09:24:38
Tópicos: CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 1
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 CONDOMINIOS;
create temporary table CONDOMINIOS as
select
accountcontract__c,
name_account,
cnt_economical_activity__c_contract,
tipo_conta,
municipality__c,
neighbourhood__c,
distributionaddress__c,
street__c,
postal_code__c,
coordinatex__c,
coordinatey__c,
subclasse_br
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro
where cnt_economical_activity__c_contract IN ('N8112500-Condomínios prediais', 'I5510801-Hotéis')
and clienteativo = '1'
and externalid__c_account like '%CNPJ%' and tipo_conta = 'B2C';
drop table if exists CLIENTES;
create temporary table CLIENTES as
select
accountcontract__c,
name_account,
cnt_economical_activity__c_contract,
tipo_conta,
municipality__c,
neighbourhood__c,
distributionaddress__c,
street__c,
postal_code__c,
coordinatex__c,
coordinatey__c,
subclasse_br
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro
where cnt_economical_activity__c_contract not IN ('N8112500-Condomínios prediais', 'I5510801-Hotéis')
and clienteativo = '1'
and tipo_conta = 'B2C';
select DISTINCT
A.accountcontract__c as UC_Cliente,
A.name_account as Cliente,
B.accountcontract__c as UC_Condominio,
B.NAME_ACCOUNT as CONDOMINIO,
A.tipo_conta,
A.municipality__c,
A.neighbourhood__c,
A.distributionaddress__c,
A.postal_code__c,
case
when B.ACCOUNTCONTRACT__C is not null then 1 else 0
end as CONDOMINOS
from CLIENTES A
left join CONDOMINIOS B on B.postal_code__c = A.postal_code__c
and B.street__c = A.street__c and A.coordinatex__c = B.coordinatex__c
and A.coordinatey__c = B.coordinatey__c
where LEFT(a.subclasse_br, POSITION('-' IN a.subclasse_br || '-') - 1) IN ('REBRQUI', 'REBRIND', 'REBXR', 'REBRMUL', 'REBRBPC','REPLN', '')
and condominio is not null
```
### QUERY: Analise Troca vs Religa.sql
Data: 2024-12-18 17:31:22
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; dp_brrj_cus.bt_de_para_motivos_requestqlik; bi_brrj_cus.bt_brrj_clientes_ordem_servico; dp_brrj.tb_aux_depara_estado_ordens; dp_brrj.tb_aux_depara_tipo_servicos; global_brasil_rio.bt_global_asset_brazil_rio
JOINs: 7
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 TROCA;
create temporary table TROCA as
select
numero_caso as caso
FROM
bi_brrj_act.bt_brrj_requestqlik A
LEFT JOIN
dp_brrj_cus.bt_de_para_motivos_requestqlik B ON B.chave = A.motivo || A.submotivo
where motivo_tratado IN ('TROCA DE TITULARIDADE') and ano = '2024';
select distinct
corr_visita
,ultima_etapa
,ano
,mes
,anomes
,A.numero_ordem
,case
when trim(A.numero_ordem_relac) ='' then '-'
when trim(A.numero_ordem_relac) =' ' then '-'
else A.numero_ordem_relac end as numero_ordem_relac
,D.cluster_ordem
,case when numero_cliente isnull then 0
else numero_cliente end as Numero_cliente
,nro_caso as numero_caso
,A.Tipo_Ordem
,A.cod_servico
,A.des_servico
,cod_etapa
,descricao_etapa
,cod_retorno
,descricao_retorno
,D.AREA_RESPONSAVEL
,D.Responsavel
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.ESTADO_DA_ORDEM else A.ESTADO end AS ESTADO
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.DESCRICAO_ORDEM else descricao end as Estado_Ordem
,case when A.numero_ordem_relac > 0 and descricao = 'ABERTA' or descricao = 'FECHADA' then E.STATUS_DA_ORDEM else c.status_ordem end as status_ordem
,convert(varchar(19),Data_ingresso) as Data_abertura
,convert(varchar(19),data_fim_regulada) as data_fim_regulada
,case
when left(sysdate,10) = left(data_fim_regulada,10) and Status_ordem = 'ABERTA' then 'Vence Hoje'
when sysdate > data_fim_regulada and Status_ordem = 'ABERTA' then 'Vencida'
when data_fim_regulada <= sysdate+7 AND Status_ordem = 'ABERTA' then 'Vence na Semana'
when Status_ordem <> 'ABERTA' then '-'
else 'A Vencer'
end as Controle_Prazo
,left(data_visita,10) as Data_visita
,case when A.numero_ordem_relac > 0 and E.data_exec_visita <> '' then E.data_estado
when A.data_exec_visita <> '' then left(A.data_exec_visita,10)||' '||convert(varchar(8),right(A.hora_exec_visita,8))
else null end as data_execucao_visita
,case
when situacao = 'N' then 'Dentro do Prazo'
when situacao = '' then 'Dentro do Prazo'
when situacao = 'X' then 'Alerta'
when situacao = 'A' then 'Fora do Prazo'
end as Status_Prazo
,case
when situacao IN ('N', 'X', '') then 'DP'
when situacao = 'A' then 'FP'
end as Farol_Prazo
,convert(varchar(19),A.Data_estado) as data_estado
,observacoes
,observacao_exe
,upper(left(rol_ingresso,12)) as rol_ingresso
,upper(left(rol_visita,12)) as rol_visita
,tempo_max_servico
,case
when descricao_retorno is null or descricao_retorno = '' then '[VALOR_OMITIDO]'
when ind_serv_executado = 'S' then '[VALOR_OMITIDO]'
when ind_encerra_ordem = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_client = 'S' then '[VALOR_OMITIDO]'
when ind_def_tec_empres = 'S' then '[VALOR_OMITIDO]'
when ind_pendencia = 'S' then 'Suspensa'
else '[VALOR_OMITIDO]'
end as acao_retorno
,case
when ind_efeito_tempo = 'P' then 'Para Tempo'
when ind_efeito_tempo = 'N' then 'Nao Afeta'
when ind_efeito_tempo = 'Z' then 'Zera Tempo'
else ''
end as efeito_tempo_descricao
,last_update as Atualizacao
,G.lds_asset_city as Municipio
from
(
select corr_visita,
data_estado,
case
when ROW_NUMBER() OVER (PARTITION BY NUMERO_ORDEM ORDER BY corr_visita DESC) = 1
then true
else false
end as Ultima_Etapa,
left(data_ingresso,4) as Ano,
substring(data_ingresso,6,2) as mes,
ano||mes as anomes,
data_ingresso,
estado,
etapa,
nro_gac,
numero_cliente,
numero_ordem,
numero_ordem_relac,
observacao_exe,
observacoes,
rol_ingresso,
rol_visita,
tipo_ordem,
tipo_servico,
cod_retorno,
CASE
WHEN data_visita <> ''
THEN data_visita
ELSE NULL
END AS data_visita,
CASE
WHEN data_exec_visita <> ''
THEN data_exec_visita||' '||convert(varchar(8),right(hora_exec_visita,8))
ELSE NULL
END AS data_exec_visita,
hora_exec_visita,
case
when data_fim_regulada <> ''
then data_fim_regulada
else left(convert(varchar(19),DATE_TRUNC('day',cast(tempo_max_servico / 24 AS INT) + cast(data_ingresso AS DATE))),10)||' '||convert(varchar(8),right(data_ingresso,8))
end as data_fim_regulada,
situacao,
dias,
horas,
minutos,
segundos,
tipo,
cod_servico,
des_servico,
ind_tempo,
tempo_max_servico,
cod_etapa,
descricao_etapa,
descricao_retorno,
ind_serv_executado,
ind_encerra_ordem,
ind_def_tec_client,
ind_def_tec_empres,
ind_pendencia,
ind_efeito_tempo,
ind_movimenta_med,
ind_procedente,
nro_caso,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
) A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS C on C.ESTADO = A.ESTADO
left join DP_BRRJ.TB_AUX_DEPARA_TIPO_SERVICOS D on D.CHAVE = A.tipo_ordem||A.cod_servico||RTRIM(A.des_servico)
left join (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join global_brasil_rio.bt_global_asset_brazil_rio G on G.fk_external_asset_id = A.numero_cliente
inner join TROCA T on T.caso = nro_caso
where ultima_etapa = true and anomes >= '[VALOR_OMITIDO]'
and A.des_servico not IN ('RESPOSTA DECLARAÇÃO DE TITULARIDADE')
order by numero_caso, data_abertura asc, A.numero_ordem, corr_visita ASC;
```
### QUERY: qry_cobrab_TOI_RJ.sql
Data: 2024-12-16 20:10:48
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.agg_brrj_agingagrup; bi_brrj_coll.bt_brrj_faturamento; global_brasil_rio.bt_global_asset_brazil_rio; dp_brrj_cus.bt_brrj_dna_geral; bi_brrj_coll.bt_brrj_arrecadacao
JOINs: 6
Sinais legados: SELECT*=True | DISTINCT=False | WITH/CTE=True | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
with div_toi as (
select
0 as fl_parc
, "ref"
, conta_contrato
, contrato
, ref_fat
, n_parcelamento
, dt_vencimento
, dias
, dt_faturamento
, total_em_aberto_fatura
, grupo
, segmento
, desc_classe
, xbnr
, numero_cliente
, toi
, area_risco
, antig
, anomes_ref
from bi_brrj_cus.agg_brrj_agingagrup b
where b.anomes_ref = to_char(dateadd(month, -1, to_date('[VALOR_OMITIDO]', 'YYYYMM')), 'YYYYMM')
and (recoveryrate = 0 or recoveryrate = false)
and ref_fat <> ''
and toi = true
), reinc__ as (
select
conta_contrato
, ref_fat
, max(fl_parc) fl_parc_max
from div_toi
where antig not IN ('Maior 5 anos','a vencer')
group by conta_contrato
, ref_fat
), reinc_ as (
select
conta_contrato
, count(distinct
case
when ref_fat like '005%' then '005'
when ref_fat like '0011%' then '0011'
when ref_fat like '0012%' then '0011'
else ref_fat
end) qtd_fat
, sum(fl_parc_max) qtd_fl_parc
from reinc__
group by conta_contrato
), reinc as (
select
conta_contrato
, case
when qtd_fat = qtd_fl_parc then 0
when qtd_fat = 1 then 0
when qtd_fat > qtd_fl_parc then 1
else 9
end as fl_reinc
from reinc_
), fat as (
select
to_char(to_date(data_evento,'YYYY-MM-DD'), 'YYYYMM') ano_mes_fat
, segmento
, cluster_pag
, case
when T1.valor_toi <> 0 then 'S'
else 'N'
end AS fl_toi
, fln_risk_areas fl_ar
, fl_baixa_renda fl_bx
, fl_reinc
, case
when fln_risk_areas = 1 and fl_baixa_renda <> 1 and fl_reinc <> 1 then 'AR'
when fln_risk_areas <> 1 and fl_baixa_renda = 1 and fl_reinc <> 1 then 'BX'
when fln_risk_areas <> 1 and fl_baixa_renda <> 1 and fl_reinc = 1 then 'REINC'
when fln_risk_areas = 1 and fl_baixa_renda = 1 and fl_reinc <> 1 then 'AR - BX'
when fln_risk_areas = 1 and fl_baixa_renda <> 1 and fl_reinc = 1 then 'AR - REINC'
when fln_risk_areas <> 1 and fl_baixa_renda = 1 and fl_reinc = 1 then 'BX - REINC'
when fln_risk_areas = 1 and fl_baixa_renda = 1 and fl_reinc = 1 then 'AR - BX - REINC'
end fl_cluster
, sum(valor_fat + (valor_credito * -1) - valor_parcela) valor
, sum(valor_toi) valor_toi
from bi_brrj_coll.bt_brrj_faturamento t1
left join (
select
fk_external_asset_id as conta_contrato,
max(case when fln_risk_areas = true then 1 else 0 end) fln_risk_areas,
max(case
when lds_local_segment like('%Baixa Renda%') then 1
else 0
end) as fl_baixa_renda,
max(lds_asset_city) cidade
from global_brasil_rio.bt_global_asset_brazil_rio
group by
fk_external_asset_id
) bx_ar
on bx_ar.conta_contrato = T1.numero_cliente
left join reinc
on reinc.conta_contrato = lpad(cast(T1.numero_cliente as varchar), 12, '0')
left join (
select *
from dp_brrj_cus.bt_brrj_dna_geral
where ano_mes = '[VALOR_OMITIDO]'
) dna
on dna.nu_cliente = T1.numero_cliente
where to_char(to_date(data_evento,'YYYY-MM-DD'), 'YYYYMM') >= '[VALOR_OMITIDO]'
and segmento not IN ('Próprio', 'Revenda')
group by
to_char(to_date(data_evento,'YYYY-MM-DD'), 'YYYYMM')
, segmento
, cluster_pag
, case
when T1.valor_toi <> 0 then 'S'
else 'N'
end
, fln_risk_areas
, fl_baixa_renda
, fl_reinc
, case
when fln_risk_areas = 1 and fl_baixa_renda <> 1 and fl_reinc <> 1 then 'AR'
when fln_risk_areas <> 1 and fl_baixa_renda = 1 and fl_reinc <> 1 then 'BX'
when fln_risk_areas <> 1 and fl_baixa_renda <> 1 and fl_reinc = 1 then 'REINC'
when fln_risk_areas = 1 and fl_baixa_renda = 1 and fl_reinc <> 1 then 'AR - BX'
when fln_risk_areas = 1 and fl_baixa_renda <> 1 and fl_reinc = 1 then 'AR - REINC'
when fln_risk_areas <> 1 and fl_baixa_renda = 1 and fl_reinc = 1 then 'BX - REINC'
when fln_risk_areas = 1 and fl_baixa_renda = 1 and fl_reinc = 1 then 'AR - BX - REINC'
end
), arrec as (
select
to_char(to_date(data_evento, 'YYYY-MM-DD'), 'YYYYMM') ano_mes
, segmento
, cluster_pag
, case
when T1.valor_toi <> 0 then 'S'
else 'N'
end AS fl_toi
, fln_risk_areas fl_ar
, fl_baixa_renda fl_bx
, fl_reinc
, case
when fln_risk_areas = 1 and fl_baixa_renda <> 1 and fl_reinc <> 1 then 'AR'
when fln_risk_areas <> 1 and fl_baixa_renda = 1 and fl_reinc <> 1 then 'BX'
when fln_risk_areas <> 1 and fl_baixa_renda <> 1 and fl_reinc = 1 then 'REINC'
when fln_risk_areas = 1 and fl_baixa_renda = 1 and fl_reinc <> 1 then 'AR - BX'
when fln_risk_areas = 1 and fl_baixa_renda <> 1 and fl_reinc = 1 then 'AR - REINC'
when fln_risk_areas <> 1 and fl_baixa_renda = 1 and fl_reinc = 1 then 'BX - REINC'
when fln_risk_areas = 1 and fl_baixa_renda = 1 and fl_reinc = 1 then 'AR - BX - REINC'
end fl_clusterr
, sum(valor) valor
, sum(valor_toi) valor_toi
from bi_brrj_coll.bt_brrj_arrecadacao t1
left join (
select
fk_external_asset_id as conta_contrato,
max(case when fln_risk_areas = true then 1 else 0 end) fln_risk_areas,
max(case
when lds_local_segment like('%Baixa Renda%') then 1
else 0
end) as fl_baixa_renda,
max(lds_asset_city) cidade
from global_brasil_rio.bt_global_asset_brazil_rio
group by
fk_external_asset_id
) bx_ar
on bx_ar.conta_contrato = T1.numero_cliente
left join reinc
on reinc.conta_contrato = lpad(cast(T1.numero_cliente as varchar), 12, '0')
left join (
select *
from dp_brrj_cus.bt_brrj_dna_geral
where ano_mes = '[VALOR_OMITIDO]'
) dna
on dna.nu_cliente = T1.numero_cliente
where data_evento >= '2024-01-01'
and visao_compensacao IN ('DOCUMENTO EM PLANO','DOCUMENTO EM PLANO COLETIVO FILHA','DOCUMENTO','DOCUMENTO COLETIVO FILHA')
and segmento not IN ('Próprio', 'Revenda')
group by to_char(to_date(data_evento, 'YYYY-MM-DD'), 'YYYYMM')
, segmento
, cluster_pag
, case
when T1.valor_toi <> 0 then 'S'
else 'N'
end
, fln_risk_areas
, fl_baixa_renda
, fl_reinc
, case
when fln_risk_areas = 1 and fl_baixa_renda <> 1 and fl_reinc <> 1 then 'AR'
when fln_risk_areas <> 1 and fl_baixa_renda = 1 and fl_reinc <> 1 then 'BX'
when fln_risk_areas <> 1 and fl_baixa_renda <> 1 and fl_reinc = 1 then 'REINC'
when fln_risk_areas = 1 and fl_baixa_renda = 1 and fl_reinc <> 1 then 'AR - BX'
when fln_risk_areas = 1 and fl_baixa_renda <> 1 and fl_reinc = 1 then 'AR - REINC'
when fln_risk_areas <> 1 and fl_baixa_renda = 1 and fl_reinc = 1 then 'BX - REINC'
when fln_risk_areas = 1 and fl_baixa_renda = 1 and fl_reinc = 1 then 'AR - BX - REINC'
end
)
select
'ARRECADADO' as tipo
, 'RJ' as dx
, ano_mes ano_mes_n1
, *
from arrec
union all
select
'FATURADO' as tipo
, 'RJ' as dx
, to_char(dateadd(month, 1, to_date(ano_mes_fat || '01', 'YYYYMMDD')), 'YYYYMM') ano_mes_fat_n1
, *
from fat
```
### QUERY: Ativos Não Faturados.sql
Data: 2024-12-11 23:43:42
Tópicos: FATURAMENTO, CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_asset_brazil_rio; bi_brrj_bill.bt_brrj_icg_compliance; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; dp_brrj.bt_brrj_tipo_rede
JOINs: 3
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS asset_ultumo_status;
CREATE TEMP TABLE asset_ultumo_status as (
SELECT
asset.*,
row_number() OVER (PARTITION BY fk_external_asset_id ORDER BY dte_validity_start_date DESC, dte_asset_end_date ASC) AS r
FROM global_brasil_rio.bt_global_asset_brazil_rio asset
WHERE asset.dte_validity_start_date < CURRENT_DATE
AND (asset.dte_asset_end_date > CURRENT_DATE OR asset.dte_asset_end_date IS NULL)
AND asset.dte_asset_start_date < CURRENT_DATE);
DROP TABLE IF EXISTS asset_ultumo_status_limpa;
CREATE TEMP TABLE asset_ultumo_status_limpa AS (
SELECT *
FROM asset_ultumo_status
WHERE r = 1);
DROP TABLE IF EXISTS faturamento;
CREATE TEMP TABLE faturamento AS (
SELECT
icg_numero_cliente,
icg_instalacao,
icg_referencia AS ultimo_faturamento
FROM bi_brrj_bill.bt_brrj_icg_compliance
where icg_referencia = '2024/11'
);
SELECT distinct
A.accountcontract__c as Conta_Contrato,
A.pointofdeliverynumber__c as Ponto_de_fornecimento,
A.tipo_conta,
case
when fln_top_large = 'true' and sds_tension_group = 'B' then 'B com Unidade em A'
when sds_tension_group is null or sds_tension_group = '' then segmenttype__c
else sds_tension_group end as grupo,
D.tipo_rede,
billing_type__c as periodicidade_faturamento,
case
when sds_typology is null then '001 - CONSUMER' else sds_typology
end as tipologia,
case
when clienteativo = 1 then 'Ativo' else 'Retirado'
end as status_Contrato,
pointofdeliverystatus__c as codigo_status_fornecimento,
case
when pointofdeliverystatus__c IN (0,3,'Nuevo') then 'Ativo com Fornecimento'
when pointofdeliverystatus__c IN (1,8) then 'Ativo sem Fornecimento'
when pointofdeliverystatus__c = 7 then 'Inativo - Trocou de Titular'
when pointofdeliverystatus__c IN (2, 4) then 'Retirado'
when pointofdeliverystatus__c = 5 then 'Dados Incompletos'
end as Status_fornecimento,
CASE
WHEN ultimo_faturamento = '2024/11'
THEN 'Faturado M-1'
ELSE 'Sem Faturamento M-1'
END AS status_ultimo_fat,
ultimo_faturamento,
case
when lds_asset_city is null or lds_asset_city = '' then municipality__c else lds_asset_city
end as municipio,
case
when fln_risk_areas is null then 'false' else fln_risk_areas
end as area_risco
FROM bi_brrj_cus.bt_brrj_relatorio_de_cadastro A
LEFT JOIN faturamento B ON B.icg_instalacao = A.pointofdeliverynumber__c
left join asset_ultumo_status_limpa C on C.cdc_pod_id = A.pointofdeliverynumber__c
left join dp_brrj.bt_brrj_tipo_rede D on D.network_type__c = A.network_type__c
WHERE A.clienteativo = 1 and status_ultimo_fat = 'Sem Faturamento M-1'
```
### QUERY: Tracking Consumo.sql
Data: 2024-12-04 10:53:28
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_grids_workorder_brazil_rio; bi_brrj_cus.bt_brrj_clientes_ordem_servico; dp_brrj_cus.tb_aux_depara_estado_ordens; dp_brrj_cus.tb_aux_depara_tipo_servicos
JOINs: 7
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 ordens;
create temp table ordens as (
SELECT
A.corr_visit AS corr_visita,
A.Ultima_Etapa,
B.ano,
B.mes,
B.anomes,
CASE
WHEN B.Status_ordem = 'FECHADA' THEN B.ano_encerramento
ELSE '-'
END AS ano_encerramento,
CASE
WHEN B.Status_ordem = 'FECHADA' THEN B.mes_encerramento
ELSE '-'
END AS mes_encerramento,
CASE
WHEN B.Status_ordem = 'FECHADA' THEN B.anomes_encerramento
ELSE '-'
END AS anomes_encerramento,
B.numero_cliente,
A.pk_workorder_id AS numero_ordem,
B.tipo_ordem,
B.cod_servico,
B.des_servico,
B.numero_ordem_relac,
CONVERT(VARCHAR(19), B.data_ingresso) AS Data_abertura,
CONVERT(VARCHAR(19), B.data_fim_regulada) AS data_fim_regulada,
B.cluster_ordem,
A.lds_order_sub_status_local AS descricao_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 '-' else C.cod_retorno
end as cod_retorno,
case
when C.descricao_retorno is null then '-' else C.descricao_retorno
end descricao_retorno,
case
when C.acao_retorno is null then '-' 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,
B.status_prazo,
B.farol_prazo,
A.qty_compliance_time_deadline AS Total_Dias_de_prazo,
A.qty_compliance_time_elapsed AS Dias_restantes,
B.rol_ingresso as BR_ingresso,
B.rol_visita as BR_execucao,
B.observacao_exe,
B.observacoes,
lds_municipal_area_local
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(data_ingresso, 4) AS ano_encerramento
,SUBSTRING(data_ingresso, 6, 2) AS mes_encerramento
,LEFT(data_ingresso, 4) || SUBSTRING(data_ingresso, 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
,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 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) B
ON B.numero_ordem = A.pk_workorder_id
left join (select corr_visita, numero_ordem, cod_retorno, descricao_retorno,
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)
C on C.numero_ordem = A.pk_workorder_id and C.corr_visita = A.corr_visit
where ano = '2024' and cluster_ordem = 'INICIATIVA CLIENTE' and cod_servico || RTRIM(des_servico) IN ([LISTA_DE_VALORES_OMITIDA])
ORDER BY A.pk_workorder_id, A.corr_visit asc);
DROP TABLE IF EXISTS ordens_com_janela;
DROP TABLE IF EXISTS ordens_filtradas;
CREATE TEMP TABLE ordens_com_janela AS
SELECT
o1.numero_cliente,
o1.numero_ordem AS ordem_atual,
o1.mes as mes_base,
o2.numero_ordem AS ordem_relativa,
o2.mes AS mes_ordem_relativa
FROM ordens o1
JOIN ordens o2
ON o1.numero_cliente = o2.numero_cliente
AND o2.mes BETWEEN o1.mes - 2
AND o1.mes + 2
AND o1.numero_ordem <> o2.numero_ordem;
CREATE TEMP TABLE ordens_filtradas AS
SELECT
numero_cliente,
COUNT(DISTINCT ordem_relativa) AS qtd_ordens_distintas
FROM ordens_com_janela
GROUP BY numero_cliente
HAVING COUNT(DISTINCT ordem_relativa) >= 2;
drop table if exists clientes_elegiveis;
create temp table clientes_elegiveis as (
SELECT DISTINCT
o1.numero_cliente,
o1.numero_ordem AS ordem_atual,
o1.data_abertura,
COUNT(DISTINCT o2.numero_ordem) AS qtd_ordens_no_periodo
FROM ordens o1
JOIN ordens o2
ON o1.numero_cliente = o2.numero_cliente
AND o2.mes BETWEEN o1.mes-2 AND o1.mes+2
AND o1.numero_ordem <> o2.numero_ordem
WHERE o1.numero_cliente IN (
SELECT numero_cliente FROM ordens_filtradas
)
GROUP BY o1.numero_cliente, o1.numero_ordem, o1.data_abertura
ORDER BY o1.numero_cliente, o1.data_abertura);
select distinct A.corr_visita,
A.ultima_etapa,
A.ano,
A.mes,
A.anomes,
A.ano_encerramento,
A.mes_encerramento,
A.anomes_encerramento,
A.numero_cliente,
A.numero_ordem,
A.tipo_ordem,
A.cod_servico,
A.des_servico,
A.numero_ordem_relac,
A.data_abertura,
A.data_fim_regulada,
A.cluster_ordem,
A.descricao_etapa,
A.data_inicio_etapa,
A.data_fim_etapa,
A.status_etapa,
A.cod_retorno,
A.descricao_retorno,
A.acao_retorno,
A.efeito_tempo_descricao,
A.indica_pendencia,
A.indica_execucao,
A.area_responsavel,
A.responsavel,
A.negocio,
A.regulada,
A.codigo_estado,
A.estado_ordem,
A.status_ordem,
A.status_prazo,
A.farol_prazo,
A.total_dias_de_prazo,
A.dias_restantes,
A.br_ingresso,
A.br_execucao,
A.observacao_exe,
A.observacoes,
A.lds_municipal_area_local
from ordens A
inner join clientes_elegiveis B on B.numero_cliente = A.numero_cliente
and B.ordem_atual = A.numero_ordem
order by
A.numero_cliente,
A.numero_ordem, A.corr_visita asc;
```
### QUERY: Planta por mes Enel RJ.sql
Data: 2024-12-02 08:29:04
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro; dp_brrj.bt_brrj_cidades_rj_tabela_cadastro; dp_brrj.bt_de_para_pointofdelivery
JOINs: 16
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=True | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
CREATE TEMPORARY TABLE IF NOT EXISTS meses (
mes INT);
INSERT INTO meses (mes)
VALUES ([VALORES_OMITIDOS]), 2, '0') || '-01', 'YYYY-MM-DD'), 'DD/MM/YYYY') AS primeiro_dia_do_mes
,TO_CHAR(DATEADD(DAY, -1, DATEADD(MONTH, 1, TO_DATE(ano.ano || '-' || LPAD(CAST(meses.mes AS VARCHAR), 2, '0') || '-01', 'YYYY-MM-DD'))), 'DD/MM/YYYY') AS ultimo_dia_do_mes
FROM
meses
CROSS JOIN ano
ORDER BY
ano.ano, meses.mes);
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Janeiro') D on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj.bt_de_para_pointofdelivery E on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8
union all
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Fevereiro') D on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj.bt_de_para_pointofdelivery E on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8
union all
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Março') D on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj.bt_de_para_pointofdelivery E on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8
union all
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Abril') D on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj.bt_de_para_pointofdelivery E on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8
union all
SELECT
D.ano,
D.mes,
case when electrodependant__c = 'V' then 'S' Else 'N' end as vital,
clienteativo,
pointofdeliverystatus__c,
E.estado_de_fornecimento as estado_fornecimento,
tipo_conta,
cidade,
count(distinct accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro K
left join DP_BRRJ.BT_BRRJ_CIDADES_RJ_TABELA_CADASTRO B on B.municipality__c = K.municipality__c
inner join (select ano, mes, ultimo_dia_do_mes from datas
where EXTRACT(YEAR FROM CURRENT_DATE) and mes = 'Maio') D on k.mov_in <= D.ultimo_dia_do_mes
left join dp_brrj.bt_de_para_pointofdelivery E on E.ativo||E.ponto = K.clienteativo||K.pointofdeliverystatus__c
where D.ano = EXTRACT(YEAR FROM CURRENT_DATE)
group by
1,2,3,4,5,6,7,8
```
### QUERY: Base Beneficiários GD.sql
Data: 2024-12-01 23:25:48
Tópicos: GD
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro; global_brasil_rio.bt_global_asset_brazil_rio; bi_brrj_coll.bt_brrj_faturamento
JOINs: 5
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS base_cadastro;
CREATE TEMP TABLE base_cadastro AS
SELECT DISTINCT accountcontract__c, identitynumber__c,
externalid__c_account, cnt_id_num_2__c, parceiro
FROM (
SELECT accountcontract__c, identitynumber__c,
externalid__c_account, cnt_id_num_2__c, parceiro
FROM bi_brrj_cus.bt_brrj_relatorio_de_cadastro
WHERE clienteativo = '1'
UNION ALL
SELECT pointofdeliverynumber__c AS accountcontract__c,
identitynumber__c, externalid__c_account, cnt_id_num_2__c, parceiro
FROM bi_brrj_cus.bt_brrj_relatorio_de_cadastro
WHERE clienteativo = '1');
DROP TABLE IF EXISTS asset_ultumo_status;
CREATE TEMP TABLE asset_ultumo_status AS
SELECT
asset.*,
row_number() OVER (PARTITION BY fk_external_asset_id ORDER BY dte_validity_start_date DESC, dte_asset_end_date ASC) AS r
FROM global_brasil_rio.bt_global_asset_brazil_rio asset
WHERE asset.dte_validity_start_date < CURRENT_DATE
AND (asset.dte_asset_end_date > CURRENT_DATE OR asset.dte_asset_end_date IS NULL)
AND asset.dte_asset_start_date < CURRENT_DATE;
DROP TABLE IF EXISTS asset_ultumo_status_limpa;
CREATE TEMP TABLE asset_ultumo_status_limpa AS
SELECT *
FROM asset_ultumo_status
WHERE r = 1;
DROP TABLE IF EXISTS base_geradores;
CREATE TEMP TABLE base_geradores AS
SELECT
fk_external_asset_id AS Conta_contrato_gerador,
sds_typology,
lds_asset_city,
CASE
WHEN identitynumber__c IS NULL OR identitynumber__c = '' THEN cnt_id_num_2__c
ELSE identitynumber__c
END AS identitynumber__c,
parceiro,
sds_tension_group,
MAX(faturamento.data_evento) AS data_faturamento,
ROW_NUMBER() OVER (PARTITION BY fk_external_asset_id, identitynumber__c ORDER BY dte_validity_start_date DESC, dte_asset_end_date ASC) AS r
FROM asset_ultumo_status_limpa asset
LEFT JOIN base_cadastro cadastro
ON cadastro.accountcontract__c = asset.fk_external_asset_id
LEFT JOIN bi_brrj_coll.bt_brrj_faturamento faturamento
ON faturamento.numero_cliente = asset.fk_external_asset_id
WHERE
asset.sds_typology IN ('003 - DG PROSUMER', '002 - PRODUCER')
GROUP BY
fk_external_asset_id, sds_typology, lds_asset_city, identitynumber__c, cnt_id_num_2__c, parceiro, sds_tension_group, dte_validity_start_date, dte_asset_end_date;
DROP TABLE IF EXISTS base_beneficiarios;
CREATE TEMP TABLE base_beneficiarios AS
SELECT
fk_external_asset_id AS Conta_contrato_beneficiario,
sds_typology,
lds_asset_city,
CASE
WHEN identitynumber__c IS NULL OR identitynumber__c = '' THEN cnt_id_num_2__c
ELSE identitynumber__c
END AS identitynumber__c,
parceiro,
sds_tension_group,
MAX(faturamento.data_evento) AS data_faturamento,
ROW_NUMBER() OVER (PARTITION BY fk_external_asset_id, identitynumber__c ORDER BY dte_validity_start_date DESC, dte_asset_end_date ASC) AS r
FROM asset_ultumo_status_limpa asset
LEFT JOIN base_cadastro cadastro
ON cadastro.accountcontract__c = asset.fk_external_asset_id
LEFT JOIN bi_brrj_coll.bt_brrj_faturamento faturamento
ON faturamento.numero_cliente = asset.fk_external_asset_id
WHERE
asset.sds_typology IN ('005 - CONSUMER IN COMMUNITY')
GROUP BY
fk_external_asset_id, sds_typology, lds_asset_city, identitynumber__c, cnt_id_num_2__c, parceiro, sds_tension_group, dte_validity_start_date, dte_asset_end_date;
SELECT
beneficiario.Conta_contrato_beneficiario,
beneficiario.sds_typology AS tipologia_beneficiario,
beneficiario.lds_asset_city AS cidade_beneficiario,
beneficiario.identitynumber__c AS identity_number_beneficiario,
beneficiario.parceiro AS parceiro_beneficiario,
beneficiario.sds_tension_group AS grupo_tensao_beneficiario,
beneficiario.data_faturamento AS data_faturamento_beneficiario,
gerador.Conta_contrato_gerador,
gerador.sds_typology AS tipologia_gerador,
gerador.lds_asset_city AS cidade_gerador,
gerador.identitynumber__c AS identity_number_gerador,
gerador.parceiro AS parceiro_gerador,
gerador.sds_tension_group AS grupo_tensao_gerador,
gerador.data_faturamento AS data_faturamento_gerador,
CASE
WHEN gerador.Conta_contrato_gerador is null THEN 'Beneficiário de Usina'
ELSE 'Beneficiário Direto'
END AS Tipo_beneficiario
FROM base_beneficiarios beneficiario
LEFT JOIN base_geradores gerador
ON beneficiario.identitynumber__c = gerador.identitynumber__c
ORDER BY beneficiario.Conta_contrato_beneficiario, gerador.Conta_contrato_gerador;
```
### QUERY: Atendidos sem Email.sql
Data: 2024-11-14 19:06:58
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_act.bt_brrj_requestqlik
JOINs: 1
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
pointofdeliverynumber__c
,accountcontract__c
,tipo_conta
,email
,primaryemail__c
,celular
,municipality__c
,clienteativo
,B.CANAL_OFICIAL
,B.loja
,count(numero_caso) as passagens
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro A
inner join (select * from bi_brrj_act.bt_brrj_requestqlik
where ano = '2024' and canal_oficial IN ('Lojas', 'Whatsapp Lojas', 'Call Center')) B on B.cta_contrato = A.accountcontract__c
where A.email is null and primaryemail__c = '' and A.clienteativo = '1'
group by
1,2,3,4,5,6,7,8,9,10
```
### QUERY: Analise Ouvidoria 3 DX.sql
Data: 2024-11-07 12:50:52
Tópicos: RECLAMACAO
Empresas detectadas: ENEL CE, ENEL RJ, ENEL SP
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brce_act.bt_brce_requestqlik; bi_brsp_act.bt_brsp_requestqlik
JOINs: 0
Sinais legados: SELECT*=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 DX
,motivo
,submotivo
,tipo_caso
,CASE
WHEN tipo_caso = 'RSME' THEN 'Reclamação'
WHEN tipo_caso = 'Reclamação' THEN 'Reclamação'
WHEN tipo_caso = 'Informação' THEN 'Informação'
WHEN tipo_caso = 'Solicitação' THEN 'Solicitação'
WHEN tipo_caso = 'ELOGIO' THEN 'Informação'
WHEN tipo_caso = 'Não atendida' THEN 'Reclamação'
WHEN tipo_caso = 'Consulta Rápida' THEN 'Informação'
WHEN tipo_caso = 'REC OUV NÃO ATENDIDA' THEN 'Reclamação'
WHEN tipo_caso = 'SUGESTÃO' THEN 'Informação'
WHEN tipo_caso = 'ZROU-Reclamação Ouvidoria' THEN 'Reclamação'
WHEN tipo_caso = 'ZDOV-Denúncia Ouvidoria' THEN 'Reclamação'
WHEN tipo_caso = 'ZSOL-Solicitação' THEN 'Solicitação'
WHEN tipo_caso = 'ZINF-Contato Informação' THEN 'Informação'
WHEN tipo_caso = 'ZEME-Emergência' THEN 'Reclamação'
WHEN tipo_caso = '[VALOR_OMITIDO]' THEN 'Informação'
WHEN tipo_caso = 'ZREC-Reclamação' THEN 'Reclamação'
WHEN tipo_caso = 'ZEOV-Elogio Ouvidoria' THEN 'Informação'
WHEN tipo_caso = 'ZAQF-Qualidade de Fornecimento' THEN 'Reclamação'
WHEN tipo_caso = 'ZSOV-Sugestão Ouvidoria' THEN 'Solicitação'
WHEN tipo_caso = 'ZPID-Pedido de Indenização' THEN 'Solicitação'
WHEN tipo_caso = 'ZCOM-Comunicação Externa' THEN 'Informação'
WHEN tipo_caso = 'ZELO-Elogio' THEN 'Informação'
WHEN tipo_caso = 'ZOUT-Outros' THEN 'Informação'
WHEN tipo_caso = 'ZDEN-Denúncia' THEN 'Reclamação'
WHEN tipo_caso is null THEN 'Informação'
END AS tipo_caso_agrupado
,ano
,mes
,canal_oficial
,count(distinct numero_caso) as qtd
from bi_brrj_act.bt_brrj_requestqlik
where ano = '2024' and canal_oficial = 'Ouvidoria'
group by
motivo
,submotivo
,tipo_caso
,ano
,mes
,canal_oficial
union all
select
'CE' as DX
,motivo
,submotivo
,tipo_caso
,CASE
WHEN tipo_caso = 'RSME' THEN 'Reclamação'
WHEN tipo_caso = 'Reclamação' THEN 'Reclamação'
WHEN tipo_caso = 'Informação' THEN 'Informação'
WHEN tipo_caso = 'Solicitação' THEN 'Solicitação'
WHEN tipo_caso = 'ELOGIO' THEN 'Informação'
WHEN tipo_caso = 'Não atendida' THEN 'Reclamação'
WHEN tipo_caso = 'Consulta Rápida' THEN 'Informação'
WHEN tipo_caso = 'REC OUV NÃO ATENDIDA' THEN 'Reclamação'
WHEN tipo_caso = 'SUGESTÃO' THEN 'Informação'
WHEN tipo_caso = 'ZROU-Reclamação Ouvidoria' THEN 'Reclamação'
WHEN tipo_caso = 'ZDOV-Denúncia Ouvidoria' THEN 'Reclamação'
WHEN tipo_caso = 'ZSOL-Solicitação' THEN 'Solicitação'
WHEN tipo_caso = 'ZINF-Contato Informação' THEN 'Informação'
WHEN tipo_caso = 'ZEME-Emergência' THEN 'Reclamação'
WHEN tipo_caso = '[VALOR_OMITIDO]' THEN 'Informação'
WHEN tipo_caso = 'ZREC-Reclamação' THEN 'Reclamação'
WHEN tipo_caso = 'ZEOV-Elogio Ouvidoria' THEN 'Informação'
WHEN tipo_caso = 'ZAQF-Qualidade de Fornecimento' THEN 'Reclamação'
WHEN tipo_caso = 'ZSOV-Sugestão Ouvidoria' THEN 'Solicitação'
WHEN tipo_caso = 'ZPID-Pedido de Indenização' THEN 'Solicitação'
WHEN tipo_caso = 'ZCOM-Comunicação Externa' THEN 'Informação'
WHEN tipo_caso = 'ZELO-Elogio' THEN 'Informação'
WHEN tipo_caso = 'ZOUT-Outros' THEN 'Informação'
WHEN tipo_caso = 'ZDEN-Denúncia' THEN 'Reclamação'
WHEN tipo_caso is null THEN 'Informação'
END AS tipo_caso_agrupado
,ano
,mes
,canal_oficial
,count(distinct numero_caso) as qtd
from bi_brce_act.bt_brce_requestqlik
where ano = '2024' and canal_oficial = 'Ouvidoria'
group by
motivo
,submotivo
,tipo_caso
,ano
,mes
,canal_oficial
union all
select
'SP' as DX
,motivo
,submotivo
,tipo_caso
,CASE
WHEN tipo_caso = 'RSME' THEN 'Reclamação'
WHEN tipo_caso = 'Reclamação' THEN 'Reclamação'
WHEN tipo_caso = 'Informação' THEN 'Informação'
WHEN tipo_caso = 'Solicitação' THEN 'Solicitação'
WHEN tipo_caso = 'ELOGIO' THEN 'Informação'
WHEN tipo_caso = 'Não atendida' THEN 'Reclamação'
WHEN tipo_caso = 'Consulta Rápida' THEN 'Informação'
WHEN tipo_caso = 'REC OUV NÃO ATENDIDA' THEN 'Reclamação'
WHEN tipo_caso = 'SUGESTÃO' THEN 'Informação'
WHEN tipo_caso = 'ZROU-Reclamação Ouvidoria' THEN 'Reclamação'
WHEN tipo_caso = 'ZDOV-Denúncia Ouvidoria' THEN 'Reclamação'
WHEN tipo_caso = 'ZSOL-Solicitação' THEN 'Solicitação'
WHEN tipo_caso = 'ZINF-Contato Informação' THEN 'Informação'
WHEN tipo_caso = 'ZEME-Emergência' THEN 'Reclamação'
WHEN tipo_caso = '[VALOR_OMITIDO]' THEN 'Informação'
WHEN tipo_caso = 'ZREC-Reclamação' THEN 'Reclamação'
WHEN tipo_caso = 'ZEOV-Elogio Ouvidoria' THEN 'Informação'
WHEN tipo_caso = 'ZAQF-Qualidade de Fornecimento' THEN 'Reclamação'
WHEN tipo_caso = 'ZSOV-Sugestão Ouvidoria' THEN 'Solicitação'
WHEN tipo_caso = 'ZPID-Pedido de Indenização' THEN 'Solicitação'
WHEN tipo_caso = 'ZCOM-Comunicação Externa' THEN 'Informação'
WHEN tipo_caso = 'ZELO-Elogio' THEN 'Informação'
WHEN tipo_caso = 'ZOUT-Outros' THEN 'Informação'
WHEN tipo_caso = 'ZDEN-Denúncia' THEN 'Reclamação'
WHEN tipo_caso is null THEN 'Informação'
END AS tipo_caso_agrupado
,ano
,mes
,canal_oficial
,count(distinct numero_caso) as qtd
from bi_brsp_act.bt_brsp_requestqlik
where ano = '2024' and canal_oficial = 'Ouvidoria'
group by
motivo
,submotivo
,tipo_caso
,ano
,mes
,canal_oficial
```
### QUERY: Tipo de Rede RJ por UC.sql
Data: 2024-11-06 09:44:00
Tópicos: REDE_EMERGENCIA
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_billing_activity_brazil_rio
JOINs: 0
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 bt_brrj_tipo_rede;
CREATE TEMPORARY TABLE bt_brrj_tipo_rede
AS (
SELECT
cdc_pod_id AS ponto_de_fornecimento,
CAST(fk_asset_id AS BIGINT) AS conta_contrato,
CASE
WHEN AVG(fln_remote_reading) > 0
THEN 'Enel Chip'
ELSE '[VALOR_OMITIDO]'
END AS Tipo_Rede
FROM global_brasil_rio.bt_global_billing_activity_brazil_rio A
WHERE LEFT(sds_billing_period,4) >= '2022'
GROUP BY cdc_pod_id, fk_asset_id);
select * from bt_brrj_tipo_rede
where conta_contrato IN ('[VALOR_OMITIDO]',
'[VALOR_OMITIDO]',
'[VALOR_OMITIDO]',
'[VALOR_OMITIDO]',
'[VALOR_OMITIDO]',
'[VALOR_OMITIDO]')
```
### QUERY: Tipo de Rede Brasil.sql
Data: 2024-11-02 15:05:46
Tópicos: REDE_EMERGENCIA
Empresas detectadas: ENEL CE, ENEL RJ
Objetos: global_brasil_ceara.bt_global_billing_activity_brazil_ceara; bi_brce_cus.bt_brce_relatorio_de_cadastro; global_brasil_rio.bt_global_billing_activity_brazil_rio; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
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 bt_brce_tipo_rede;
CREATE TEMPORARY TABLE bt_brce_tipo_rede
DISTKEY(conta_contrato)
SORTKEY(conta_contrato) AS (
SELECT
cdc_pod_id AS ponto_de_fornecimento,
CAST(fk_asset_id AS BIGINT) AS conta_contrato,
CASE
WHEN AVG(fln_remote_reading) > 0
THEN 'Enel Chip'
ELSE '[VALOR_OMITIDO]'
END AS Tipo_Rede
FROM global_brasil_ceara.bt_global_billing_activity_brazil_ceara A
WHERE LEFT(sds_billing_period, 4) >= '2022'
GROUP BY cdc_pod_id, fk_asset_id
);
DROP TABLE IF EXISTS base_ce;
CREATE TEMPORARY TABLE base_ce AS (
WITH total_base AS (
SELECT COUNT(DISTINCT A.conta_contrato) AS total_qtd
FROM bt_brce_tipo_rede A
JOIN bi_brce_cus.bt_brce_relatorio_de_cadastro B ON B.accountcontract__c = A.conta_contrato
WHERE B.clienteativo = 1
)
SELECT
'CE' AS Distribuidora,
COALESCE(ativos.tipo_rede, 'Total de Clientes') AS tipo_rede,
COUNT(ativos.conta_contrato) AS qtd,
CONCAT(ROUND((COUNT(ativos.conta_contrato) * 100.0 / total.total_qtd), 2), '%') AS percentual,
TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS') AS data_hora_extracao
FROM bt_brce_tipo_rede AS ativos
JOIN bi_brce_cus.bt_brce_relatorio_de_cadastro B ON B.accountcontract__c = ativos.conta_contrato
JOIN total_base total ON 1 = 1
WHERE B.clienteativo = 1
GROUP BY ROLLUP(ativos.tipo_rede), total.total_qtd
);
DROP TABLE IF EXISTS bt_brrj_tipo_rede;
CREATE TEMPORARY TABLE bt_brrj_tipo_rede
DISTKEY(conta_contrato)
SORTKEY(conta_contrato) AS (
SELECT
cdc_pod_id AS ponto_de_fornecimento,
CAST(fk_asset_id AS BIGINT) AS conta_contrato,
CASE
WHEN AVG(fln_remote_reading) > 0
THEN 'Enel Chip'
ELSE '[VALOR_OMITIDO]'
END AS Tipo_Rede
FROM global_brasil_rio.bt_global_billing_activity_brazil_rio A
WHERE LEFT(sds_billing_period, 4) >= '2022'
GROUP BY cdc_pod_id, fk_asset_id
);
DROP TABLE IF EXISTS base_rj;
CREATE TEMPORARY TABLE base_rj AS (
WITH total_base AS (
SELECT COUNT(DISTINCT A.conta_contrato) AS total_qtd
FROM bt_brrj_tipo_rede A
JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountcontract__c = A.conta_contrato
WHERE B.clienteativo = 1
)
SELECT
'RJ' AS Distribuidora,
COALESCE(ativos.tipo_rede, 'Total de Clientes') AS tipo_rede,
COUNT(ativos.conta_contrato) AS qtd,
CONCAT(ROUND((COUNT(ativos.conta_contrato) * 100.0 / total.total_qtd), 2), '%') AS percentual,
TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS') AS data_hora_extracao
FROM bt_brrj_tipo_rede AS ativos
JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountcontract__c = ativos.conta_contrato
JOIN total_base total ON 1 = 1
WHERE B.clienteativo = 1
GROUP BY ROLLUP(ativos.tipo_rede), total.total_qtd
);
SELECT
Distribuidora,
tipo_rede,
qtd,
percentual,
data_hora_extracao
FROM base_ce
UNION ALL
SELECT
Distribuidora,
tipo_rede,
qtd,
percentual,
data_hora_extracao
FROM base_rj
ORDER BY
Distribuidora,
tipo_rede ASC;
```
### QUERY: Tipo de Rede RJ.sql
Data: 2024-11-02 14:40:38
Tópicos: REDE_EMERGENCIA
Empresas detectadas: ENEL RJ
Objetos: global_brasil_rio.bt_global_billing_activity_brazil_rio; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 3
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS bt_brrj_tipo_rede;
CREATE TEMPORARY TABLE bt_brrj_tipo_rede
DISTKEY(conta_contrato)
SORTKEY(conta_contrato) AS (
SELECT
cdc_pod_id AS ponto_de_fornecimento,
CAST(fk_asset_id AS BIGINT) AS conta_contrato,
CASE
WHEN AVG(fln_remote_reading) > 0
THEN 'Enel Chip'
ELSE '[VALOR_OMITIDO]'
END AS Tipo_Rede
FROM global_brasil_rio.bt_global_billing_activity_brazil_rio A
WHERE LEFT(sds_billing_period,4) >= '2022'
GROUP BY cdc_pod_id, fk_asset_id
);
WITH total_base AS (
SELECT COUNT(DISTINCT A.conta_contrato) AS total_qtd
FROM bt_brrj_tipo_rede A
JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountcontract__c = A.conta_contrato
WHERE B.clienteativo = 1
)
SELECT
'RJ' as Distribuidora,
COALESCE(ativos.tipo_rede, 'Total de Clientes') AS tipo_rede,
COUNT(ativos.conta_contrato) AS qtd,
CONCAT(ROUND((COUNT(ativos.conta_contrato) * 100.0 / total.total_qtd), 2), '%') AS percentual,
TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS') AS data_hora_extracao
FROM bt_brrj_tipo_rede AS ativos
JOIN bi_brrj_cus.bt_brrj_relatorio_de_cadastro B ON B.accountcontract__c = ativos.conta_contrato
JOIN total_base total ON 1 = 1
WHERE B.clienteativo = 1
GROUP BY ROLLUP(ativos.tipo_rede), total.total_qtd
ORDER BY
CASE WHEN ativos.tipo_rede IS NULL THEN 1 ELSE 0 END,
ativos.tipo_rede;
```
### QUERY: Tipo de Rede CE.sql
Data: 2024-11-02 01:40:12
Tópicos: REDE_EMERGENCIA
Empresas detectadas: ENEL CE
Objetos: global_brasil_ceara.bt_global_billing_activity_brazil_ceara; bi_brce_cus.bt_brce_relatorio_de_cadastro
JOINs: 3
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS bt_brce_tipo_rede;
CREATE TEMPORARY TABLE bt_brce_tipo_rede
DISTKEY(conta_contrato)
SORTKEY(conta_contrato) AS (
SELECT
cdc_pod_id AS ponto_de_fornecimento,
CAST(fk_asset_id AS BIGINT) AS conta_contrato,
CASE
WHEN AVG(fln_remote_reading) > 0
THEN 'Enel Chip'
ELSE '[VALOR_OMITIDO]'
END AS Tipo_Rede
FROM global_brasil_ceara.bt_global_billing_activity_brazil_ceara A
WHERE LEFT(sds_billing_period,4) >= '2022'
GROUP BY cdc_pod_id, fk_asset_id
);
WITH total_base AS (
SELECT COUNT(DISTINCT A.conta_contrato) AS total_qtd
FROM bt_brce_tipo_rede A
JOIN bi_brce_cus.bt_brce_relatorio_de_cadastro B ON B.accountcontract__c = A.conta_contrato
WHERE B.clienteativo = 1
)
SELECT
'CE' as Distribuidora,
COALESCE(ativos.tipo_rede, 'Total de Clientes') AS tipo_rede,
COUNT(ativos.conta_contrato) AS qtd,
CONCAT(ROUND((COUNT(ativos.conta_contrato) * 100.0 / total.total_qtd), 2), '%') AS percentual,
TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS') AS data_hora_extracao
FROM bt_brce_tipo_rede AS ativos
JOIN bi_brce_cus.bt_brce_relatorio_de_cadastro B ON B.accountcontract__c = ativos.conta_contrato
JOIN total_base total ON 1 = 1
WHERE B.clienteativo = 1
GROUP BY ROLLUP(ativos.tipo_rede), total.total_qtd
ORDER BY
CASE WHEN ativos.tipo_rede IS NULL THEN 1 ELSE 0 END,
ativos.tipo_rede;
```
### QUERY: Artigo 323.sql
Data: 2024-11-01 09:12:56
Tópicos: OUTROS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_bill.bt_brrj_parcel_macro
JOINs: 0
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
grupo
,corr_convenio
,documento_impressao
,parceiro
,numero_cliente as conta_contrato
,instalacao
,segmento
,estado_parcel
,desc_estado_parcel
,localidade
,desc_localidade
,campanha_codigo
,desc_campanha
,TO_CHAR(TO_DATE(data_criacao, 'YYYYMMDD'), 'YYYY-MM-DD') AS data
,valor_negociado_original
,qtde_parcelas_total
,valor_parcela
from bi_brrj_bill.bt_brrj_parcel_macro
where usuario = 'CONTROLM' and desc_estado_parcel <> 'Cancelado'
and desc_localidade = 'SAP AUT ART 113' and left(data_criacao,4) = '2024'
```
### QUERY: Histórico Jurídico.sql
Data: 2024-10-07 21:00:04
Tópicos: JURIDICO
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
,motivo
,submotivo
,case
when tipo_caso isnull or tipo_caso = '' then 'Informação'
else tipo_caso
end as tipo_caso
,os_procedencia
,data_criacao
,ano
,mes
,canal_oficial
from bi_brrj_act.bt_brrj_requestqlik
where ano>= '2023'
and motivo <> 'MOT001-Sol Registro Aviso Emergencial'
and motivo IN ('[VALOR_OMITIDO]',
'[VALOR_OMITIDO]', 'MOT013-JURÍDICO',
'[VALOR_OMITIDO]', '[VALOR_OMITIDO]',
'MOT008-PROJETO LIGAÇÃO NOVA',
'MOT017-') and submotivo not IN ('ATBR021-SEG VIA', 'ATBR051-COD DE BARRAS', '[VALOR_OMITIDO]', 'ATBR011-INCL/EXCL FAT DIGITAL'
'ATBR311-ALTERAÇÕES CADASTRAIS - JUIZADO', '[VALOR_OMITIDO]',
'25-DECRES CARGA TRI BI', 'ATBR055-CORRECAO ENDERECO',
'ATBR011-INCL/EXCL FAT DIGITAL')
```
### QUERY: Query Dashboard Ordens Brasil.sql
Data: 2024-09-17 09:46:26
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=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
,case when Segmento is null then 'B2C' else Segmento end as Segmento
,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
,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
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
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_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
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
,ano
,mes
,anomes as anomes_abertura
,ano_encerramento
,mes_encerramento
,anomes_encerramento
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,'' as area_responsavel_etapa
,'' as 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
,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
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
) 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_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
union all
select
'CE' as Distribuidora
,'Grupo A' as Grupo_Tensao
,case when Segmento is null or Segmento = '' then 'B2C' else Segmento end as Segmento
,ano
,mes
,anomes as anomes_abertura
,ano_encerramento
,mes_encerramento
,anomes_encerramento
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,'' as area_responsavel_etapa
,'' as 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
[TRUNCADO PARA BASE DE CONHECIMENTO]
```
### QUERY: Parcelamento CC.sql
Data: 2024-09-04 10:05:26
Tópicos: COBRANCA
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_bill.bt_brrj_parcel_macro; dp_brrj.bt_consultoreslojas
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
left(data_criacao,6) as mes,
desc_estado_parcel
,usuario as Br
,B.localidade as Loja
,count(documento_impressao) as Qtd_Parcelamentos
,sum(valor_negociado_original) as Valor_Negociado
,sum(valor_entrada) as Entrada
,sum(valor_total_arrec) Arrecadado
from bi_brrj_bill.bt_brrj_parcel_macro A
LEFT JOIN
dp_brrj.bt_consultoreslojas B on right(B.BR,9) = right(left(A.usuario,12),9)
where campanha_codigo = '095'
group by
1,2,3,4
order by
mes asc
,arrecadado desc
```
### QUERY: Faturamento por Estimativa (Minimo ou Média).sql
Data: 2024-07-29 14:26:28
Tópicos: FATURAMENTO
Empresas detectadas: NAO_IDENTIFICADA
Objetos: global_brasil_rio.bt_global_billing_activity_brazil_rio; global_brasil_rio.bt_global_billing_brazil_rio
JOINs: 1
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 bt_brrj_tipo_rede;
CREATE TEMPORARY TABLE bt_brrj_tipo_rede AS (
SELECT DISTINCT
CAST(cdc_pod_id AS INT) AS ponto_de_fornecimento,
CAST(fk_asset_id AS INT) AS conta_contrato,
CASE
WHEN AVG(fln_remote_reading) > 0 THEN 'Enel Chip'
ELSE '[VALOR_OMITIDO]'
END AS Tipo_Rede
FROM
global_brasil_rio.bt_global_billing_activity_brazil_rio A
WHERE
LEFT(sds_billing_period, 4) >= '2023'
GROUP BY
1, 2
);
select
sds_accounting_period,
sds_reading_consumption_type,
CASE
WHEN tipo_rede IS NULL THEN '[VALOR_OMITIDO]'
ELSE tipo_rede
END AS tipo_rede,
COUNT(distinct cdc_pod_id) AS Qtd
FROM
global_brasil_rio.bt_global_billing_brazil_rio A
LEFT JOIN
bt_brrj_tipo_rede B ON B.ponto_de_fornecimento = A.cdc_pod_id
WHERE
sds_accounting_period >= '[VALOR_OMITIDO]' and lds_local_bill_type ='FA'
and sds_reading_consumption_type IN ('004-ESTIMATED ON MINIMUN', '[VALOR_OMITIDO]')
GROUP by
sds_accounting_period,
sds_reading_consumption_type,
tipo_rede;
```
### QUERY: Investigação Liga Nova.sql
Data: 2024-07-29 00:58:22
Tópicos: OUTROS
Empresas detectadas: ENEL CE, ENEL RJ
Objetos: global_brasil_rio.bt_global_grids_workorder_brazil_rio; bi_brrj_cus.bt_brrj_clientes_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_cus.bt_brce_user
JOINs: 7
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 ligacao;
create temporary table ligacao as (select pk_workorder_id
from global_brasil_rio.bt_global_grids_workorder_brazil_rio
where left(dte_order_creation_date,4) = '2024'
and sds_ind_pending_local = 'S'
and left(sds_order_subtype_local,7) IN ('OUT-RXX',
'NOV-VIU',
'NOV-VII',
'NOV-LBI',
'NOV-LBT',
'OUT-LPP',
'NOV-JLB',
'OUT-JBT'));
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
,k.name
,k.email
,k.company__c
,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
,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
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
) A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS C on C.ESTADO = A.ESTADO
left join DP_BRRJ.TB_AUX_DEPARA_TIPO_SERVICOS D on D.CHAVE = A.tipo_ordem||A.cod_servico||RTRIM(A.des_servico)
left join (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro G on G.accountcontract__c = A.numero_cliente
inner join ligacao L on L.pk_workorder_id = A.numero_ordem
left join bi_brce_cus.bt_brce_user k on K.federationidentifier = A.rol_visita
order by
A.numero_ordem,
A.corr_visita asc
```
### QUERY: IASC Serviços.sql
Data: 2024-07-24 09:59:52
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_act.bt_brrj_requestqlik; bi_brrj_cus.bt_brrj_relatorio_de_cadastro
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
ano||mes as periodo
,motivo
,submotivo
,tipo_caso
,B.municipality__c
,count(numero_caso) as qtd
from bi_brrj_act.bt_brrj_requestqlik A
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro B on B.pointofdeliverynumber__c = A.numero_ponto_de_fornecimento
WHERE municipality__c IN ([LISTA_DE_VALORES_OMITIDA])
and ano = '2024'
group by
1,2,3,4,5
```
### QUERY: Sobreposição de Corte.sql
Data: 2024-07-22 11:40:50
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_clientes_ordem_servico
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
SELECT DISTINCT
A.numero_cliente,
A.numero_ordem,
A.data_ingresso,
A.cod_servico,
A.des_servico,
A.descricao_retorno
FROM
Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
JOIN
Bi_brrj_cus.bt_brrj_clientes_ordem_servico B
ON B.numero_cliente = A.numero_cliente
WHERE
A.descricao_retorno = 'CORTE NO MEDIDOR '
AND A.cod_servico = 'CRT'
AND LEFT(A.data_ingresso, 4) >= '2024'
AND B.cod_servico = 'RDG'
AND B.descricao_retorno = 'CORTE NEGOCIADOR COM SELO '
AND A.data_ingresso < B.data_ingresso
AND NOT EXISTS (
SELECT 1
FROM Bi_brrj_cus.bt_brrj_clientes_ordem_servico C
WHERE
LEFT(C.data_ingresso, 4) >= '2023'
AND C.cod_servico IN ('REA', 'REL')
AND C.numero_cliente = A.numero_cliente
AND C.data_ingresso > A.data_ingresso
AND C.data_ingresso < B.data_ingresso
)
ORDER BY
A.data_ingresso ASC;
```
### QUERY: IASC Faturamento por Média.sql
Data: 2024-07-20 01:04:44
Tópicos: FATURAMENTO
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro; global_brasil_rio.bt_global_billing_brazil_rio
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=False | WITH/CTE=False | CREATE=True | UPDATE=False | DELETE=False | INSERT=False | DROP=True
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
DROP TABLE IF EXISTS IASC;
CREATE TEMPORARY TABLE IASC AS (
SELECT
accountcontract__c AS UC,
municipality__c
FROM bi_brrj_cus.bt_brrj_relatorio_de_cadastro
WHERE municipality__c IN ([LISTA_DE_VALORES_OMITIDA])
AND clienteativo = '1'
AND tipo_conta = 'B2C'
);
select cdc_pod_id, sds_accounting_period, municipality__c, sds_reading_consumption_type
from global_brasil_rio.bt_global_billing_brazil_rio A
inner join IASC B on B.UC = A.cdc_pod_id
where sds_accounting_period >= '[VALOR_OMITIDO]' and sds_reading_consumption_type not IN ('001-REAL', '005-REAL MINIMUM', '004-NO READING OR CONSUMPTION')
```
### QUERY: IASC Tipo de Rede.sql
Data: 2024-07-18 19:58:12
Tópicos: REDE_EMERGENCIA
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro; global_brasil_rio.bt_global_billing_activity_brazil_rio
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 IASC;
CREATE TEMPORARY TABLE IASC AS (
SELECT
accountcontract__c AS UC,
municipality__c
FROM bi_brrj_cus.bt_brrj_relatorio_de_cadastro
WHERE municipality__c IN ([LISTA_DE_VALORES_OMITIDA])
AND clienteativo = '1'
AND tipo_conta = 'B2C'
);
DROP TABLE IF EXISTS temp_intermediate_table;
CREATE TEMPORARY TABLE temp_intermediate_table AS (
SELECT
cdc_pod_id AS ponto_de_fornecimento,
B.municipality__c,
CAST(fk_asset_id AS INT) AS conta_contrato,
CASE
WHEN AVG(fln_remote_reading) > 0 THEN 'Enel Chip'
ELSE '[VALOR_OMITIDO]'
END AS Tipo_Rede
FROM global_brasil_rio.bt_global_billing_activity_brazil_rio A
INNER JOIN IASC B ON B.UC = CAST(fk_asset_id AS INT)
WHERE LEFT(sds_billing_period, 4) >= '2023'
GROUP BY 1, 2, 3
);
SELECT *
FROM temp_intermediate_table
WHERE Tipo_Rede = 'Enel Chip';
```
### QUERY: IASC Dados Clientes.sql
Data: 2024-07-18 16:34:06
Tópicos: CADASTRO_CLIENTE
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_relatorio_de_cadastro; global_brasil_rio.bt_global_asset_brazil_rio
JOINs: 1
Sinais legados: SELECT*=False | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select distinct
type__c_billing_profile,
case
when email isnull then 'Não' else 'Sim'
end as email,
case
when celular isnull then 'Não' else 'Sim'
end as
celular,
case
when clienteativo = '1' then 'Ativo' else 'Inativo'
end as Status,
municipality__c,
case
when electrodependant__c = 'V' then 'Sim' else 'Não'
end as Vital,
case
when LEFT(subclasse_br, POSITION('-' IN subclasse_br || '-') - 1) IN ('REBRQUI', 'REBRIND', 'REBXR', 'REBRMUL', 'REBRBPC') then 'Sim' else 'Não'
end as Baixa_Renda,
case
when B.fln_risk_areas = 'true' then 'Sim' else 'Não'
end as Area_de_Risco,
count(accountcontract__c) as qtd
from bi_brrj_cus.bt_brrj_relatorio_de_cadastro A
left join (select fk_external_asset_id,fln_risk_areas, count(*) from global_brasil_rio.bt_global_asset_brazil_rio group by 1,2) B on B.fk_external_asset_id = A.accountcontract__c
where municipality__c IN ([LISTA_DE_VALORES_OMITIDA]) and clienteativo = '1' and tipo_conta = 'B2C'
group by
1,2,3,4,5,6,7,8
```
### QUERY: IASC Ordens Encerradas.sql
Data: 2024-07-18 11:54:18
Tópicos: ORDENS_SERVICOS
Empresas detectadas: ENEL RJ
Objetos: bi_brrj_cus.bt_brrj_clientes_ordem_servico; dp_brrj.tb_aux_depara_estado_ordens; dp_brrj.tb_aux_depara_tipo_servicos; dp_brrj.capilaridade_b2b_b2g_rj; bi_brrj_cus.bt_brrj_relatorio_de_cadastro; bi_brrj_cus.bt_brrj_grandes_ordem_servico
JOINs: 12
Sinais legados: SELECT*=True | DISTINCT=True | WITH/CTE=False | CREATE=False | UPDATE=False | DELETE=False | INSERT=False | DROP=False
Uso na base: Referência histórica de lógica/negócio; validar no catálogo e aplicar regras atuais do agente antes de reutilizar.
SQL de referência normalizada:
```sql
select
'RJ' as Distribuidora
,'Grupo B' as Grupo_Tensao
,case when Segmento is null then 'B2C' else Segmento end as Segmento
,ano
,mes
,ano_encerramento
,mes_encerramento
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,area_responsavel_etapa
,responsavel_etapa
,negocio
,regulada
,artigo
,status_prazo
,farol_prazo
,Controle_Prazo
,status_ordem
,municipality__c
,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
,F.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
,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,
sucursal,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_clientes_ordem_servico
) A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS C on C.ESTADO = A.ESTADO
left join (select * from DP_BRRJ.TB_AUX_DEPARA_TIPO_SERVICOS WHERE tipo_grupo = 'RJBT') D on D.CHAVE = A.tipo_ordem||A.cod_servico||RTRIM(A.des_servico)
left join (select numero_ordem, data_estado, numero_ordem_relac, case when data_exec_visita <> '' then data_exec_visita else null end as data_exec_visita, hora_exec_visita,
B.DESCRICAO as DESCRICAO_ORDEM, B.status_ordem as STATUS_DA_ORDEM, B.ESTADO as ESTADO_DA_ORDEM from Bi_brrj_cus.bt_brrj_clientes_ordem_servico A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS B on B.ESTADO = A.ESTADO) E on E.NUMERO_ORDEM = A.numero_ordem_relac
left join dp_brrj.CAPILARIDADE_B2B_B2G_RJ F on F.INSTALACAO = A.NUMERO_CLIENTE
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro G on G.accountcontract__c = A.numero_cliente
where ultima_etapa = true and cluster_ordem = 'INICIATIVA CLIENTE' and status_prazo is not null and ano is not null and municipality__c IN ([LISTA_DE_VALORES_OMITIDA]))
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
,case when Segmento is null then 'B2C' else Segmento end as Segmento
,ano
,mes
,ano_encerramento
,mes_encerramento
,des_servico
,descricao_etapa
,AREA_RESPONSAVEL
,Responsavel
,area_responsavel_etapa
,responsavel_etapa
,negocio
,regulada
,artigo
,status_prazo
,farol_prazo
,Controle_Prazo
,status_ordem
,municipality__c
,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
,F.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
,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,
sucursal,
last_update,
sysdate as data_referencia
from Bi_brrj_cus.bt_brrj_grandes_ordem_servico
) A
left join DP_BRRJ.TB_AUX_DEPARA_ESTADO_ORDENS C on C.ESTADO = A.ESTADO
left join (select * from DP_BRRJ.TB_AUX_DEPARA_TIPO_SERVICOS WHERE tipo_grupo = 'RJAT') 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.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
left join bi_brrj_cus.bt_brrj_relatorio_de_cadastro G on G.accountcontract__c = A.numero_cliente
where ultima_etapa = true and cluster_ordem = 'INICIATIVA CLIENTE' and status_prazo is not null and ano is not null and municipality__c IN ([LISTA_DE_VALORES_OMITIDA]))
group by
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
```