-
Global information
- Generated on Mon Feb 10 11:06:05 2025
- Log file: postgresql-13-main.log
- Parsed 606,453 log entries in 44s
- Log start from 2025-02-10 07:00:09 to 2025-02-10 10:59:17
-
Overview
Global Stats
- 726 Number of unique normalized queries
- 26,327 Number of queries
- 2h50m40s Total query duration
- 2025-02-10 07:00:09 First query
- 2025-02-10 10:59:17 Last query
- 26 queries/s at 2025-02-10 08:56:55 Query peak
- 2h50m40s Total query duration
- 602ms Prepare/parse total duration
- 15m26s Bind total duration
- 2h35m13s Execute total duration
- 94 Number of events
- 5 Number of unique normalized events
- 87 Max number of times the same event was reported
- 0 Number of cancellation
- 0 Total number of automatic vacuums
- 0 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 0 Total number of sessions
- 0 sessions at Session peak
- 0ms Total duration of sessions
- 0ms Average duration of sessions
- 26,327 Average queries per session
- 2h50m40s Average queries duration per session
- n/a Average idle time per session
- 0 Total number of connections
- 1 Total number of databases
SQL Traffic
Key values
- 26 queries/s Query Peak
- 2025-02-10 08:56:55 Date
SELECT Traffic
Key values
- 25 queries/s Query Peak
- 2025-02-10 08:56:55 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 6 queries/s Query Peak
- 2025-02-10 09:12:22 Date
Queries duration
Key values
- 2h50m40s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Feb 10 07 3,006 100ms 26s257ms 350ms 42s570ms 55s417ms 59s309ms 08 7,155 100ms 26s202ms 376ms 1m14s 1m29s 1m37s 09 7,532 100ms 23s300ms 334ms 1m 1m7s 1m30s 10 8,634 100ms 1m24s 353ms 1m18s 1m52s 2m2s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Feb 10 07 2,959 0 334ms 26s865ms 41s295ms 55s417ms 08 6,984 0 367ms 52s487ms 1m14s 1m29s 09 7,325 0 320ms 50s696ms 56s308ms 1m7s 10 8,357 0 333ms 1m 1m3s 1m21s Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Feb 10 07 1 3 22 0 164ms 0ms 124ms 330ms 08 3 19 77 0 187ms 305ms 542ms 838ms 09 19 31 114 0 368ms 663ms 1s174ms 2s561ms 10 36 47 154 0 419ms 584ms 1s288ms 5s51ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Feb 10 07 0 3,006 3,006.00 0.00% 08 0 7,154 7,154.00 0.00% 09 2 7,532 3,766.00 0.03% 10 3 8,634 2,878.00 0.03% Day Hour Count Average / Second Feb 10 07 0 0.00/s 08 0 0.00/s 09 0 0.00/s 10 0 0.00/s Day Hour Count Average Duration Average idle time Feb 10 07 0 0ms 0ms 08 0 0ms 0ms 09 0 0ms 0ms 10 0 0ms 0ms -
Connections
Established Connections
Key values
- 0 connections Connection Peak
- Date
Connections per database
Key values
- unknown Main Database
- 0 connections Total
Connections per user
Key values
- unknown Main User
- 0 connections Total
-
Sessions
Simultaneous sessions
Key values
- 0 sessions Session Peak
- Date
Histogram of session times
Key values
- duration
Sessions per database
Key values
- unknown Main Database
- 0 sessions Total
Sessions per user
Key values
- unknown Main User
- 0 sessions Total
Sessions per host
Key values
- unknown Main Host
- 0 sessions Total
-
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 0 buffers Checkpoint Peak
- Date
- seconds Highest write time
- seconds Sync time
Checkpoint write buffers (5 minutes period)
NO DATASET
Checkpoints Wal files
Key values
- 0 files Wal files usage Peak
- Date
Checkpoint Wal files usage (5 minutes period)
NO DATASET
Checkpoints distance
Key values
- 0 Mo Distance Peak
- Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Feb 10 07 0 0s 0s 0s 08 0 0s 0s 0s 09 0 0s 0s 0s 10 0 0s 0s 0s Day Hour Added Removed Recycled Synced files Longest sync Average sync Feb 10 07 0 0 0 0 0s 0s 08 0 0 0 0 0s 0s 09 0 0 0 0 0s 0s 10 0 0 0 0 0s 0s Day Hour Count Avg time (sec) Feb 10 07 0 0s 08 0 0s 09 0 0s 10 0 0s Day Hour Mean distance Mean estimate Feb 10 07 0.00 kB 0.00 kB 08 0.00 kB 0.00 kB 09 0.00 kB 0.00 kB 10 0.00 kB 0.00 kB -
Temporary Files
Size of temporary files
Key values
- 0 Temp Files size Peak
- Date
Size of temporary files (5 minutes period)
NO DATASET
Number of temporary files
Key values
- 0 per second Temp Files Peak
- Date
Number of temporary files (5 minutes period)
NO DATASET
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Feb 10 07 0 0 0 08 0 0 0 09 0 0 0 10 0 0 0 -
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0 sec Highest CPU-cost vacuum
Table
Database - Date
- 0 sec Highest CPU-cost analyze
Table
Database - Date
Autovacuum actions (5 minutes period)
NO DATASET
Analyzes per table
Key values
- unknown (0) Main table analyzed (database )
- 0 analyzes Total
Vacuums per table
Key values
- unknown (0) Main table vacuumed on database
- 0 vacuums Total
Tuples removed per table
Key values
- unknown (0) Main table with removed tuples on database
- 0 tuples Total removed
Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Feb 10 07 0 0 08 0 0 09 0 0 10 0 0 - 0 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- unknown Main Lock Type
- 0 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query NO DATASET
Queries that waited the most
Rank Wait time Query NO DATASET
-
Queries
Queries by type
Key values
- 25,625 Total read queries
- 701 Total write queries
Queries by database
Key values
- unknown Main database
- 26,327 Requests
- 2h35m13s (unknown)
- Main time consuming database
Queries by user
Key values
- unknown Main user
- 26,327 Requests
User Request type Count Duration unknown Total 26,327 2h35m13s cte 47 6m52s ddl 107 20s185ms delete 367 1m40s insert 59 11s577ms others 1 104ms select 25,625 2h24m54s tcl 21 2s915ms update 100 1m10s Duration by user
Key values
- 2h35m13s (unknown) Main time consuming user
User Request type Count Duration unknown Total 26,327 2h35m13s cte 47 6m52s ddl 107 20s185ms delete 367 1m40s insert 59 11s577ms others 1 104ms select 25,625 2h24m54s tcl 21 2s915ms update 100 1m10s Queries by host
Key values
- unknown Main host
- 26,327 Requests
- 2h35m13s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 26,327 Requests
- 2h35m13s (unknown)
- Main time consuming application
Number of cancelled queries
Key values
- 1 per second Cancelled query Peak
- 2025-02-10 09:33:09 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 23,638 100-500ms duration
Slowest individual queries
Rank Duration Query 1 1m24s with pm as ( select pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, count(*)::int as alunos, uf.codigo as codigo_unidade, uf.nome as unidade, meoa.nome as area, coalesce(turno.id_turno, 0) as id_turno, coalesce(turno.sigla, '-') as sigla, array_agg(distinct t.id_turma) as turmas from aluno_matricula pm inner join ano_semestre a on a.id_ano_semestre = pm.id_ano_semestre inner join serie s on s.id_serie = pm.id_serie inner join aluno_matr_status ams on pm.id_aluno_matr_status = ams.id_aluno_matr_status inner join unidade_funcional uf on uf.id_unidade_funcional = pm.id_unidade_funcional left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = uf.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join mec_escola_opcao_atributo meoa on meoa.id_mec_escola_opcao_atributo = medoa.id_mec_escola_opcao_atributo left join aluno_matr_turma amt on pm.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 and amt.data_enturmacao::date <= '2025-02-10'::date left join lateral ( select ra.id_aluno_matricula, ra.id_remanejamento_aluno, ra.id_turma_origem, ra.data_enturmacao_origem, ra.id_diario_turma_situacao_enturmacao from remanejamento_aluno ra where ra.id_aluno_matricula = pm.id_aluno_matricula and ra.data_enturmacao_origem::date <= '2025-02-10' order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit 1) as remanejamento on remanejamento.id_aluno_matricula = pm.id_aluno_matricula and amt.id_turma is null left join turma t on t.id_turma = coalesce(amt.id_turma, remanejamento.id_turma_origem) left join turno on turno.id_turno = t.id_turno left join curso ct on ct.id_curso = t.id_curso left join curso_calendario cc on cc.id_curso = coalesce(ct.id_curso, pm.id_curso) and cc.ano = a.ano and cc.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ct.flg_calendario_diferenciado left join escola_calendario ec on ec.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ec.ano = a.ano inner join calendario cal on cal.id_calendario = coalesce(t.id_calendario_turma, cc.id_calendario, ec.id_calendario) where a.ano = '2025' and uf.id_instituicao = '93' and ((t.id_diario_turma_situacao = '2' and coalesce(amt.id_diario_turma_situacao_enturmacao, remanejamento.id_diario_turma_situacao_enturmacao) = '2') or (t.id_diario_turma_situacao <> '2' or t.id_diario_turma_situacao is null)) and pm.data_matricula::date <= '2025-02-10' and ( select amsh.id_aluno_matr_status in ('1', '2') from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= '2025-02-10' order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= '2025-02-10'::date and case when a.semestre = 1 then cpf.ordem <= 2 when a.semestre = 2 then cpf.ordem >= 2 else true end) and t.id_turma is not null and uf.id_unidade_funcional in ( select '606318' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '606318' and id_assunto_hierarquia_unidade = '76') group by pm.id_unidade_funcional, pm.id_serie, coalesce(turno.id_turno, 0), coalesce(turno.sigla, '-'), s.id_curso, a.ano, uf.codigo, uf.nome, meoa.nome order by pm.id_unidade_funcional, coalesce(turno.id_turno, 0)) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.id_turno, pm.sigla as turno, pm.alunos::int, t.turmas as turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '76' left join unidade_funcional mae on mae.id_unidade_funcional = huf.id_unidade_funcional_mae left join hierarquia_unidade_funcional hul on hul.id_unidade_funcional_filha = pm.id_unidade_funcional and hul.id_assunto_hierarquia_unidade = NULL left join unidade_funcional localidade on localidade.id_unidade_funcional = hul.id_unidade_funcional_mae left join lateral ( select count(distinct t.id_turma)::int as turmas_escola, count(distinct ( case when t.flg_multiseriada or t.flg_multietapa then t.id_turma else null end))::int as multi_escola, count(distinct ( case when ts.id_serie = pm.id_serie then ts.id_turma else null end))::int as turmas, count(distinct ( case when t.flg_multiseriada or t.flg_multietapa and ts.id_serie = pm.id_serie then t.id_turma else null end))::int as multi from turma t inner join ano_semestre ano on ano.id_ano_semestre = t.id_ano_semestre inner join ambiente a on t.id_ambiente = a.id_ambiente inner join turma_serie ts on ts.id_turma = t.id_turma where t.id_unidade_funcional = pm.id_unidade_funcional and ano.ano = pm.ano and t.id_turma in ( select unnest(x.turmas) from pm as x) and ts.id_serie in ( select x.id_serie from pm as x) and t.id_turno = pm.id_turno) t on true where (t.turmas > 0 or pm.alunos > 0) order by pm.unidade, pm.codigo_unidade, ee.ordem, pm.sigla, pm.id_serie;[ Date: 2025-02-10 10:28:21 - Bind query: yes ]
2 26s257ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '481' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '481' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 07:33:42 - Bind query: yes ]
3 26s202ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '98')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '98' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '607169' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607169' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 08:26:09 - Bind query: yes ]
4 25s691ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '381' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '381' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 07:23:30 - Bind query: yes ]
5 23s971ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '378' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '378' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 10:23:21 - Bind query: yes ]
6 23s424ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '481' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '481' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 08:09:38 - Bind query: yes ]
7 23s300ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '384' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '384' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 09:36:26 - Bind query: yes ]
8 23s106ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '336' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '336' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 08:25:34 - Bind query: yes ]
9 23s92ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '382' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '382' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 09:26:24 - Bind query: yes ]
10 22s237ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '602' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '602' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 10:56:59 - Bind query: yes ]
11 20s15ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;[ Date: 2025-02-10 08:41:33 - Bind query: yes ]
12 19s789ms select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;[ Date: 2025-02-10 07:29:10 - Bind query: yes ]
13 19s385ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;[ Date: 2025-02-10 08:38:36 - Bind query: yes ]
14 17s835ms delete from aluno_matricula where id_aluno_matricula = '1535493';[ Date: 2025-02-10 09:48:08 - Bind query: yes ]
15 17s223ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;[ Date: 2025-02-10 08:44:17 - Bind query: yes ]
16 15s307ms select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250010111' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24290' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;[ Date: 2025-02-10 08:03:37 - Bind query: yes ]
17 13s765ms select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250010755' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24204' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;[ Date: 2025-02-10 08:20:23 - Bind query: yes ]
18 13s645ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '92')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '92' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '606772' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '606772' and id_assunto_hierarquia_unidade = '75') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2025-02-10 08:56:46 - Bind query: yes ]
19 13s434ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;[ Date: 2025-02-10 08:34:33 - Bind query: yes ]
20 12s674ms with pm as ( select pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, count(*)::int as alunos, uf.codigo as codigo_unidade, uf.nome as unidade, meoa.nome as area, array_agg(distinct t.id_turma) as turmas from aluno_matricula pm inner join ano_semestre a on a.id_ano_semestre = pm.id_ano_semestre inner join serie s on s.id_serie = pm.id_serie inner join aluno_matr_status ams on pm.id_aluno_matr_status = ams.id_aluno_matr_status inner join unidade_funcional uf on uf.id_unidade_funcional = pm.id_unidade_funcional left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = uf.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join mec_escola_opcao_atributo meoa on meoa.id_mec_escola_opcao_atributo = medoa.id_mec_escola_opcao_atributo left join aluno_matr_turma amt on pm.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 and amt.data_enturmacao::date <= '2025-02-10'::date left join lateral ( select ra.id_aluno_matricula, ra.id_remanejamento_aluno, ra.id_turma_origem, ra.data_enturmacao_origem, ra.id_diario_turma_situacao_enturmacao from remanejamento_aluno ra where ra.id_aluno_matricula = pm.id_aluno_matricula and ra.data_enturmacao_origem::date <= '2025-02-10'::date order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit 1) as remanejamento on remanejamento.id_aluno_matricula = pm.id_aluno_matricula and amt.id_turma is null left join turma t on t.id_turma = coalesce(amt.id_turma, remanejamento.id_turma_origem) left join turno on turno.id_turno = t.id_turno left join curso ct on ct.id_curso = t.id_curso left join curso_calendario cc on cc.id_curso = coalesce(ct.id_curso, pm.id_curso) and cc.ano = a.ano and cc.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ct.flg_calendario_diferenciado left join escola_calendario ec on ec.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ec.ano = a.ano inner join calendario cal on cal.id_calendario = coalesce(t.id_calendario_turma, cc.id_calendario, ec.id_calendario) where a.ano = '2025' and uf.id_instituicao = '98' and ((t.id_diario_turma_situacao = '2' and coalesce(amt.id_diario_turma_situacao_enturmacao, remanejamento.id_diario_turma_situacao_enturmacao) = '2') or (t.id_diario_turma_situacao <> '2' or t.id_diario_turma_situacao is null)) and s.id_curso = '1041' and uf.id_municipio = '330350' and pm.data_matricula::date <= '2025-02-10' and ( select amsh.id_aluno_matr_status in ('1', '2') from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= '2025-02-10' order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= '2025-02-10'::date and case when a.semestre = 1 then cpf.ordem <= 2 when a.semestre = 2 then cpf.ordem >= 2 else true end) and t.id_turma is not null and uf.id_unidade_funcional in ( select '607082' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607082' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = 10 left join unidade_funcional mae on mae.id_unidade_funcional = huf.id_unidade_funcional_mae left join hierarquia_unidade_funcional hul on hul.id_unidade_funcional_filha = pm.id_unidade_funcional and hul.id_assunto_hierarquia_unidade = 10 left join unidade_funcional localidade on localidade.id_unidade_funcional = hul.id_unidade_funcional_mae left join lateral ( select count(distinct t.id_turma)::int as turmas_escola, count(distinct ( case when t.flg_multiseriada or t.flg_multietapa then t.id_turma else null end))::int as multi_escola, count(distinct ( case when ts.id_serie = pm.id_serie then ts.id_turma else null end))::int as turmas, count(distinct ( case when t.flg_multiseriada or t.flg_multietapa and ts.id_serie = pm.id_serie then t.id_turma else null end))::int as multi from turma t inner join ano_semestre ano on ano.id_ano_semestre = t.id_ano_semestre inner join ambiente a on t.id_ambiente = a.id_ambiente inner join turma_serie ts on ts.id_turma = t.id_turma left join curso ct on ct.id_curso = t.id_curso where t.id_unidade_funcional = pm.id_unidade_funcional and ano.ano = pm.ano and t.id_turma in ( select unnest(x.turmas) from pm as x) and ts.id_serie in ( select x.id_serie from pm as x)) t on true where (t.turmas > 0 or pm.alunos > 0) order by pm.unidade, pm.codigo_unidade, ee.ordem, pm.id_serie;[ Date: 2025-02-10 09:50:11 - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 27m43s 327 2s693ms 15s307ms 5s85ms select id_aluno_matricula, chamada, ? as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, faltas_mes::int, (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = ? then case when s.flg_serie_atividade_complementar is true then ? else ? end when t.id_tipo_turma = ? then ? when t.id_tipo_turma = ? then ? end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma)) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), ?)::int as faltas_mes, coalesce(( select sum(coalesce(falta_justificada, ?) + coalesce(falta_nao_justificada, ?)) from falta_anterior_aluno_globalizada fa where fa.id_aluno_matricula = a.id_aluno_matricula), ?)::int as faltas_anteriores from aluno_turma_diario_impresso a cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = ? left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = ? and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Feb 10 07 30 2m29s 4s986ms 08 122 11m5s 5s452ms 09 73 5m32s 4s551ms 10 102 8m36s 5s59ms -
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250010111' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24290' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 08:03:37 Duration: 15s307ms Bind query: yes
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250010755' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24204' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 08:20:23 Duration: 13s765ms Bind query: yes
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250009878' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24290' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 07:59:22 Duration: 12s185ms Bind query: yes
2 13m7s 2,689 131ms 1s505ms 292ms select a.codigo as matricula, am.id_aluno_matricula AS "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ? || cid.nome_pai AS "nomeFiliacao", to_char(cid.nascimento_data, ?) AS "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> ? and cid.id_instituicao = ? and date(cid.nascimento_data) = date(?) and cid.nome == = ? and (upper(cid.nome_pai) = upper(trim(?)) or upper(cid.nome_mae) = upper(trim(?)));Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Feb 10 08 1,085 4m59s 276ms 09 813 3m57s 291ms 10 791 4m10s 316ms -
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-11-30 00:00:00-03') and cid.nome == = 'micaella Peixoto Dias' and (upper(cid.nome_pai) = upper(trim('Thais de Paulo Peixoto')) or upper(cid.nome_mae) = upper(trim('Thais de Paulo Peixoto')));
Date: 2025-02-10 08:00:25 Duration: 1s505ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-10-13 00:00:00-03') and cid.nome == = 'thaylla liz dos Santos baía Lopes' and (upper(cid.nome_pai) = upper(trim('Jeane Reis dos Santos')) or upper(cid.nome_mae) = upper(trim('Jeane Reis dos Santos')));
Date: 2025-02-10 08:00:25 Duration: 1s472ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2011-06-22 00:00:00-03') and cid.nome == = 'kaio Felipe Gomes da Silva' and (upper(cid.nome_pai) = upper(trim('Paloma cristina souza silva')) or upper(cid.nome_mae) = upper(trim('Paloma cristina souza silva')));
Date: 2025-02-10 10:10:12 Duration: 1s219ms Bind query: yes
3 4m57s 1,652 100ms 1s369ms 180ms select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce(? || ano.semestre, ?) as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma on amt.id_turma = turma.id_turma, to_tsquery(?) query where am.flg_matricula_atual = true and cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and ano.ano = ? and cidadao.fts @@ query order by matricula_aluno limit ?;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Feb 10 07 253 47s753ms 188ms 08 356 1m 168ms 09 409 1m5s 161ms 10 634 2m4s 195ms -
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('nathanael & adryan') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '92' and am.id_unidade_funcional = '606741' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:04:30 Duration: 1s369ms Bind query: yes
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('ARTHUR & SOARES') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '98' and am.id_unidade_funcional = '607847' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:02:29 Duration: 1s39ms Bind query: yes
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('QUINTILIO') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '80' and am.id_unidade_funcional = '606143' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:10:43 Duration: 836ms Bind query: yes
4 4m51s 1,656 100ms 3s697ms 176ms select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Feb 10 07 245 41s144ms 167ms 08 492 1m17s 156ms 09 471 1m21s 173ms 10 448 1m31s 204ms -
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250010412') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1928403' and tp.id_turma in ('250010412') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:52 Duration: 3s697ms Bind query: yes
-
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000842') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013137' and tp.id_turma in ('250000842') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:52 Duration: 2s103ms Bind query: yes
-
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250001557', '250001559', '250001561') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013938' and tp.id_turma in ('250001557', '250001559', '250001561') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 08:03:27 Duration: 835ms Bind query: yes
5 4m50s 1,697 100ms 518ms 171ms select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Feb 10 07 255 36s891ms 144ms 08 497 1m18s 158ms 09 481 1m22s 170ms 10 464 1m33s 201ms -
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000092', '250000093', '250000095', '250000096', '250000098', '250000099') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2371311' and tp.id_turma in ('250000092', '250000093', '250000095', '250000096', '250000098', '250000099') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:12:04 Duration: 518ms Bind query: yes
-
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250002257', '250002260', '250002262', '250002282', '250002291', '250002292') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013430' and tp.id_turma in ('250002257', '250002260', '250002262', '250002282', '250002291', '250002292') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:38:38 Duration: 431ms Bind query: yes
-
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250001960') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012668' and tp.id_turma in ('250001960') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:33:19 Duration: 421ms Bind query: yes
6 4m45s 1,669 100ms 1s602ms 170ms select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Feb 10 07 247 37s34ms 149ms 08 489 1m17s 158ms 09 465 1m18s 168ms 10 468 1m32s 197ms -
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000093', '250000096', '250000098') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012407' and tp.id_turma in ('250000093', '250000096', '250000098') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:06 Duration: 1s602ms Bind query: yes
-
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250010412') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1928403' and tp.id_turma in ('250010412') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:53 Duration: 642ms Bind query: yes
-
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000298') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012924' and tp.id_turma in ('250000298') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:34:10 Duration: 453ms Bind query: yes
7 4m43s 207 444ms 19s789ms 1s371ms select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, ?) as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, ?) as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Feb 10 07 22 1m1s 2s808ms 08 103 1m9s 674ms 09 57 1m57s 2s65ms 10 25 34s750ms 1s390ms -
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2025-02-10 07:29:10 Duration: 19s789ms Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2025-02-10 09:33:51 Duration: 9s149ms Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2025-02-10 09:34:38 Duration: 9s83ms Bind query: yes
8 4m41s 1,669 100ms 1s126ms 168ms select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Feb 10 07 237 35s216ms 148ms 08 494 1m17s 157ms 09 478 1m20s 168ms 10 460 1m28s 191ms -
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250010412') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1928403' and tp.id_turma in ('250010412') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:54 Duration: 1s126ms Bind query: yes
-
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000842') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013137' and tp.id_turma in ('250000842') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:54 Duration: 1s81ms Bind query: yes
-
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000092', '250000095', '250000099') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012505' and tp.id_turma in ('250000092', '250000095', '250000099') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:39:28 Duration: 426ms Bind query: yes
9 4m39s 1,639 100ms 1s89ms 170ms select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = ? and tp.id_turma in (...) and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Feb 10 07 249 36s843ms 147ms 08 473 1m14s 157ms 09 457 1m17s 169ms 10 460 1m31s 198ms -
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250006662') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '1926042' and tp.id_turma in ('250006662') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:06 Duration: 1s89ms Bind query: yes
-
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000298') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '2012924' and tp.id_turma in ('250000298') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:34:11 Duration: 487ms Bind query: yes
-
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250006783') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '1929348' and tp.id_turma in ('250006783') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 08:16:05 Duration: 451ms Bind query: yes
10 4m13s 12 10s618ms 26s257ms 21s162ms with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = ?) and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = ?)) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> ? then to_char(max(data_ocorrencia), ?) else to_char(am.data_matricula, ?) end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then ? else ? end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, ?) as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, ?) as login_aluno, coalesce(procedencia_rendimento.descricao, ?) as procedencia_rendimento, coalesce(procedencia_escola.descricao, ?) as procedencia_escola, coalesce(procedencia_modalidade.descricao, ?) as procedencia_modalidade, coalesce(dc.numero_cns, ?) as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || ? || dc.dv_rg else dc.numero_rg end else ? end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, ?) as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> ? then coalesce(? || ct.telefone_ddd || ?, ?) || ct.telefone_numero || ? || ct.telefone_recado_para else coalesce(? || ct.telefone_ddd || ?, ?) || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ?)) as telefones_contato, to_char(cid.nascimento_data, ?) as data_nascimento_aluno, coalesce(dc.numero_nis, ?) as nis_aluno, coalesce(cid.email, ?) as email_aluno, coalesce(cid.email_instituicional, ?) as email_institucional_aluno, coalesce(u.email_autenticacao_externa, ?) as email_autenticacao_externa, coalesce(m.nome, ?) as municipio_nascimento, coalesce(estado_nascimento.sigla, ?) as uf_nascimento, coalesce(cid.sexo, ?) as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, ?) as raca_cor, case when cid.flg_necessidade_especial is true then ? when cid.flg_necessidade_especial is false then ? end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ? order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), ?) as tipo_necessidade, case when cid.flg_atendimento_especializado is true then ? when cid.flg_atendimento_especializado is false then ? end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ? || case when cae.flg_publico then ? else ? end, ? order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), ?) as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then ? when aluno_observacoes_familia.flg_recebe_bolsa_familia then ? else ? end as bolsa_familia, coalesce(cid.nome_mae, ?) as nome_mae, coalesce( case when a.id_responsavel_tipo = ? then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, ?) as cpf_mae, coalesce(ge_mae.descricao, ?) as escolaridade_mae, coalesce(cid.nome_pai, ?) as nome_pai, coalesce( case when a.id_responsavel_tipo = ? then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, ?) as cpf_pai, coalesce(ge_pai.descricao, ?) as escolaridade_pai, coalesce(rt.descricao, ?) as responsavel, coalesce(tro.sigla, ?) as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, ?) as nome_responsavel, coalesce(usuario_responsavel.login, ?) as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, ?) as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, ?) as nis_responsavel, coalesce(resp.email, ?) as email_responsavel, coalesce(ce.endereco, ?) as logradouro, coalesce(ce.numero, ?) as numero_logradouro, coalesce(ce.bairro, ?) as bairro_logradouro, coalesce(ce.complemento, ?) as complemento_logradouro, coalesce(mun.nome, ?) as municipio_logradouro, coalesce(dis.nome, ?) as distrito_logradouro, coalesce(estado.sigla, ?) as uf_logradouro, coalesce(formatar_cep (ce.cep), ?) as cep_logradouro, coalesce(mld.descricao, ?) as localizacao_diferenciada, coalesce(unidade_localizacao.nome, ?) as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = ? and uf.id_unidade_funcional = medoa.id_unidade_funcional), ?) as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, ?) as turno, coalesce(t.codigo, ?) as turma, coalesce(t.nome, ?) as nome_turma, coalesce(mp.descricao, ?) as nome_programa, case when t.flg_especial = true then ? when t.flg_especial = false then ? else ? end as tipo_turma, case when t.flg_multietapa is true then ? else ? end turma_multietapa, case when t.flg_multiseriada is true then ? else ? end as turma_multsseriada, coalesce(turma_status.descricao, ?) as situacao_turma, coalesce(ambiente_turma.num_sala::text, ?) as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else ? end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else ? end as nome_anexo, coalesce(dc.numero_matricula_cn, ?) numero_matricula_certidao, coalesce(nac.nome, ?) nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae on ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai on ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, ?) as data_realizacao, case when amsh.flg_transferencia_interna is null then ? when amsh.flg_transferencia_interna is true then ? else ? end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit ?) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = ? and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = ? and uf.id_unidade_funcional in ( select ? union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?) order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Feb 10 07 2 51s948ms 25s974ms 08 4 1m26s 21s594ms 09 4 1m9s 17s354ms 10 2 46s209ms 23s104ms -
with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '481' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '481' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2025-02-10 07:33:42 Duration: 26s257ms Bind query: yes
-
with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '98')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '98' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '607169' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607169' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2025-02-10 08:26:09 Duration: 26s202ms Bind query: yes
-
with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '381' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '381' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2025-02-10 07:23:30 Duration: 25s691ms Bind query: yes
11 3m45s 28 2s411ms 20s15ms 8s41ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ? and pbo.id_serie = ? and pbo.id_disciplina = ?) left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Feb 10 08 28 3m45s 8s41ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 08:41:33 Duration: 20s15ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 08:38:36 Duration: 19s385ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 08:44:17 Duration: 17s223ms Bind query: yes
12 3m42s 222 108ms 5s417ms 1s select id_aluno_matricula, codigo, nome, escola, nome_mae, to_char(nascimento_data, ?) as data_nascimento, curso, situacao from ( select am.id_aluno_matricula, a.codigo, c.nome, uf.codigo || ? || uf.nome as escola, c.nome_mae, c.nascimento_data, curso.sigla as curso, ams.descricao as situacao from cidadao c inner join aluno a on c.id_cidadao = a.id_cidadao inner join aluno_matricula am on c.id_cidadao = am.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join curso on curso.id_curso = am.id_curso where c.id_instituicao = ? and am.flg_matricula_atual is true and c.fts @@ to_tsquery(?) limit ? offset ? * ?) as alunos order by nome;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Feb 10 07 41 37s521ms 915ms 08 61 1m8s 1s128ms 09 39 37s92ms 951ms 10 81 1m18s 972ms -
select id_aluno_matricula, codigo, nome, escola, nome_mae, to_char(nascimento_data, 'DD/MM/YYYY') as data_nascimento, curso, situacao from ( select am.id_aluno_matricula, a.codigo, c.nome, uf.codigo || ' - ' || uf.nome as escola, c.nome_mae, c.nascimento_data, curso.sigla as curso, ams.descricao as situacao from cidadao c inner join aluno a on c.id_cidadao = a.id_cidadao inner join aluno_matricula am on c.id_cidadao = am.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join curso on curso.id_curso = am.id_curso where c.id_instituicao = '82' and am.flg_matricula_atual is true and c.fts @@ to_tsquery('bianca&barbosa&roberta') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2025-02-10 09:34:36 Duration: 5s417ms Bind query: yes
-
select id_aluno_matricula, codigo, nome, escola, nome_mae, to_char(nascimento_data, 'DD/MM/YYYY') as data_nascimento, curso, situacao from ( select am.id_aluno_matricula, a.codigo, c.nome, uf.codigo || ' - ' || uf.nome as escola, c.nome_mae, c.nascimento_data, curso.sigla as curso, ams.descricao as situacao from cidadao c inner join aluno a on c.id_cidadao = a.id_cidadao inner join aluno_matricula am on c.id_cidadao = am.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join curso on curso.id_curso = am.id_curso where c.id_instituicao = '82' and am.flg_matricula_atual is true and c.fts @@ to_tsquery('enzo&gabriel&rodrigues&de&souza') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2025-02-10 08:03:29 Duration: 5s219ms Bind query: yes
-
select id_aluno_matricula, codigo, nome, escola, nome_mae, to_char(nascimento_data, 'DD/MM/YYYY') as data_nascimento, curso, situacao from ( select am.id_aluno_matricula, a.codigo, c.nome, uf.codigo || ' - ' || uf.nome as escola, c.nome_mae, c.nascimento_data, curso.sigla as curso, ams.descricao as situacao from cidadao c inner join aluno a on c.id_cidadao = a.id_cidadao inner join aluno_matricula am on c.id_cidadao = am.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join curso on curso.id_curso = am.id_curso where c.id_instituicao = '82' and am.flg_matricula_atual is true and c.fts @@ to_tsquery('MARIA&FLOR&OLIVEIRA&SANTOS') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2025-02-10 08:41:18 Duration: 4s534ms Bind query: yes
13 3m5s 188 106ms 5s667ms 984ms select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, id_forma_avaliacao, id_expressao_resultado_componente, num_casas_decimais_nota, flg_dispensado_todos_periodos, flg_dispensado, dispensa, nota, greatest (nota, recuperacao_final, nota_conselho) as nota_resultado_final, conceito, conceito_convertido, resultado_final_calculado, resultado_final_apontado, conceito_final, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, resultado_final_calculado::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_final_convertido, recuperacao_final, conceito_recuperacao_final, conceito_recuperacao_final_convertido, case when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = ? then coalesce(nota < perc_aprovacao * perc_nota_periodo * valor_maximo_nota, false) when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = ? then coalesce(nota < valor_maximo_nota * perc_aprovacao, false) else false end as flg_abaixo_da_media, case when id_forma_avaliacao = ? then conceito_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then ( case when flg_atividade_avaliativa then resultado_final_calculado else resultado_final_apontado end) < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_resultado_final_abaixo_da_media, case when id_forma_avaliacao = ? then conceito_recuperacao_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then recuperacao_final < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_recuperacao_final_abaixo_da_media, coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then resultado_final_apontado < valor_maximo_nota * perc_aprovacao else false end, false) as flg_resultado_final_apontado_abaixo_da_media from ( select amt.id_aluno_matricula, npa.id_nota_periodo_aluno, cc.id_disciplina, cc.id_componente_curricular, cc.id_forma_avaliacao_componente as id_forma_avaliacao, cc.id_expressao_resultado_componente, pa.id_tipo_resultado_final, c.id_instituicao, s.id_serie, s.num_casas_decimais_nota, t.flg_atividade_avaliativa, coalesce(amdd.flg_dispensado_todos_periodos, false) as flg_dispensado_todos_periodos, mdp.id_motivo_dispensa_periodo notnull or mdd.id_motivo_dispensa_disciplina notnull as flg_dispensado, coalesce(mdp.descricao, mdd.descricao) as dispensa, na.nota, na.nota_conselho, ca.sigla as conceito, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_periodo (amt.id_aluno_matricula, npa.id_nota_periodo_aluno, na.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_convertido, ( select case when pa.id_tipo_resultado_final = ? then case when nota_rec.nota > sum( case when notas.id_nota_periodo_aluno in (...) then notas.nota else null end) then sum( case when notas.id_nota_periodo_aluno in (...) then nota_rec.nota else notas.nota end) else sum(notas.nota) end else case when nota_rec.nota > avg( case when notas.id_nota_periodo_aluno in (...) then notas.nota else null end) then avg( case when notas.id_nota_periodo_aluno in (...) then nota_rec.nota else notas.nota end) else avg(notas.nota) end end from ( select n.id_nota_periodo_aluno, case when n.flg_nao_compareceu then ?.? else nota end as nota from nota_aluno n where n.id_turma = amt.id_turma and n.id_aluno_matricula = amt.id_aluno_matricula and n.id_disciplina = cc.id_disciplina and n.id_nota_periodo_aluno <= npa.id_nota_periodo_aluno) as notas left join ( select case when flg_nao_compareceu then ?.? else nota end as nota from nota_aluno r where r.id_turma = amt.id_turma and r.id_aluno_matricula = amt.id_aluno_matricula and r.id_disciplina = cc.id_disciplina and r.id_nota_periodo_aluno = ?) as nota_rec on true group by nota_rec.nota) as resultado_final_calculado, greatest (nf.nota, nr.nota, nf.nota_conselho)::float as resultado_final_apontado, coalesce(cr.sigla, cf.sigla) as conceito_final, coalesce(cf.flg_aprova, false) = false as conceito_final_abaixo_media, coalesce(nf.nota_conselho, nr.nota)::double precision as recuperacao_final, cr.sigla as conceito_recuperacao_final, coalesce(cr.flg_aprova, false) = false as conceito_recuperacao_final_abaixo_media, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (c.id_instituicao, s.id_serie, nr.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_recuperacao_final_convertido, pa.nota_min_aprovacao / ?.? as perc_aprovacao, vmnp.valor_maximo_nota / s.valor_maximo_nota as perc_nota_periodo, s.valor_maximo_nota, max(npa.id_nota_periodo_aluno) over (partition by amt.id_turma) as ultimo_periodo_turma, max( case when t.flg_atividade_avaliativa then concluido.id_nota_periodo_aluno else na.id_nota_periodo_aluno end) over (partition by amt.id_aluno_matricula, cc.id_disciplina) as ultimo_periodo_apontamento from aluno_turma_diario_impresso a inner join aluno_matr_turma amt on amt.id_aluno_matricula = a.id_aluno_matricula and amt.id_turma = a.id_turma_desempenho inner join turma t on t.id_turma = amt.id_turma inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = a.id_serie inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno in ( select tp.id_nota_periodo_aluno from turma_periodo tp where tp.id_turma = t.id_turma union select ? as id_nota_periodo_aluno) inner join serie s on s.id_serie = ts.id_serie inner join curso c on s.id_curso = c.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular left join nota_aluno na on na.id_turma = amt.id_turma and na.id_aluno_matricula = amt.id_aluno_matricula and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = cc.id_disciplina left join conceito_avaliacao ca on na.id_conceito_avaliacao = ca.id_conceito_avaliacao left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = cc.id_disciplina and npa.id_nota_periodo_aluno = any (amdd.periodos) left join motivo_dispensa_disciplina mdd on mdd.id_motivo_dispensa_disciplina = amdd.id_motivo_dispensa_disciplina left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = amt.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and npa.id_nota_periodo_aluno = any (mdp.periodos) left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join procedimento_avaliacao_valor_maximo_nota_periodo vmnp on vmnp.id_procedimento_avaliacao = pa.id_procedimento_avaliacao and vmnp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join nota_aluno nf on nf.id_turma = amt.id_turma and nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_disciplina = cc.id_disciplina and nf.id_nota_periodo_aluno = ? left join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao left join nota_aluno nr on nr.id_turma = amt.id_turma and nr.id_aluno_matricula = amt.id_aluno_matricula and nr.id_disciplina = cc.id_disciplina and nr.id_nota_periodo_aluno = ? left join conceito_avaliacao cr on cr.id_conceito_avaliacao = nr.id_conceito_avaliacao left join nota_aluno_atividade_concluido concluido on concluido.id_turma = ts.id_turma and concluido.id_serie = ts.id_serie and concluido.id_disciplina = cc.id_disciplina and concluido.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where ts.id_turma = ? and ts.id_serie = ? and cc.flg_aponta_notas and s.id_forma_avaliacao in (...)) x order by id_aluno_matricula, id_nota_periodo_aluno, id_componente_curricular;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Feb 10 07 20 29s7ms 1s450ms 08 88 1m24s 961ms 09 73 1m4s 880ms 10 7 7s172ms 1s24ms -
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, id_forma_avaliacao, id_expressao_resultado_componente, num_casas_decimais_nota, flg_dispensado_todos_periodos, flg_dispensado, dispensa, nota, greatest (nota, recuperacao_final, nota_conselho) as nota_resultado_final, conceito, conceito_convertido, resultado_final_calculado, resultado_final_apontado, conceito_final, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, resultado_final_calculado::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_final_convertido, recuperacao_final, conceito_recuperacao_final, conceito_recuperacao_final_convertido, -- abaixo da média somente se o apontamento no período foi concluído case when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 1 then coalesce(nota < perc_aprovacao * perc_nota_periodo * valor_maximo_nota, false) when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 2 then coalesce(nota < valor_maximo_nota * perc_aprovacao, false) else false end as flg_abaixo_da_media, -- abaixo da média final somente se o apontamento de todos os períodos foram concluídos --valor_maximo_nota * perc_aprovacao, case when id_forma_avaliacao = '2' then conceito_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then ( case when flg_atividade_avaliativa then resultado_final_calculado else resultado_final_apontado end) < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_resultado_final_abaixo_da_media, -- mesmo para recuperação case when id_forma_avaliacao = '2' then conceito_recuperacao_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then recuperacao_final < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_recuperacao_final_abaixo_da_media, -- relatorio de resultado final mostra tanto o calculado quanto o pós-recuperaçao coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then resultado_final_apontado < valor_maximo_nota * perc_aprovacao else false end, false) as flg_resultado_final_apontado_abaixo_da_media from ( select amt.id_aluno_matricula, npa.id_nota_periodo_aluno, cc.id_disciplina, cc.id_componente_curricular, cc.id_forma_avaliacao_componente as id_forma_avaliacao, cc.id_expressao_resultado_componente, pa.id_tipo_resultado_final, c.id_instituicao, s.id_serie, s.num_casas_decimais_nota, t.flg_atividade_avaliativa, coalesce(amdd.flg_dispensado_todos_periodos, false) as flg_dispensado_todos_periodos, mdp.id_motivo_dispensa_periodo notnull or mdd.id_motivo_dispensa_disciplina notnull as flg_dispensado, coalesce(mdp.descricao, mdd.descricao) as dispensa, na.nota, na.nota_conselho, ca.sigla as conceito, -- conversao para conceito ( select cac.sigla from sp_obter_conceito_avaliacao_nota_periodo (amt.id_aluno_matricula, npa.id_nota_periodo_aluno, na.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_convertido, ( select case when pa.id_tipo_resultado_final = 1 then case when nota_rec.nota > sum( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then sum( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else sum(notas.nota) end else case when nota_rec.nota > avg( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then avg( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else avg(notas.nota) end end from ( select n.id_nota_periodo_aluno, case when n.flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno n where n.id_turma = amt.id_turma and n.id_aluno_matricula = amt.id_aluno_matricula and n.id_disciplina = cc.id_disciplina and n.id_nota_periodo_aluno <= npa.id_nota_periodo_aluno) as notas left join ( select case when flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno r where r.id_turma = amt.id_turma and r.id_aluno_matricula = amt.id_aluno_matricula and r.id_disciplina = cc.id_disciplina and r.id_nota_periodo_aluno = 10) as nota_rec on true group by nota_rec.nota) as resultado_final_calculado, greatest (nf.nota, nr.nota, nf.nota_conselho)::float as resultado_final_apontado, coalesce(cr.sigla, cf.sigla) as conceito_final, coalesce(cf.flg_aprova, false) = false as conceito_final_abaixo_media, -- recuperação final coalesce(nf.nota_conselho, nr.nota)::double precision as recuperacao_final, cr.sigla as conceito_recuperacao_final, coalesce(cr.flg_aprova, false) = false as conceito_recuperacao_final_abaixo_media, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (c.id_instituicao, s.id_serie, nr.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_recuperacao_final_convertido, -- esses são para determinar se está abaixo da média pa.nota_min_aprovacao / 100.0 as perc_aprovacao, vmnp.valor_maximo_nota / s.valor_maximo_nota as perc_nota_periodo, s.valor_maximo_nota, -- esses ajudam a determinar os períodos que já foram apontados max(npa.id_nota_periodo_aluno) over (partition by amt.id_turma) as ultimo_periodo_turma, max( case when t.flg_atividade_avaliativa then concluido.id_nota_periodo_aluno else na.id_nota_periodo_aluno end) over (partition by amt.id_aluno_matricula, cc.id_disciplina) as ultimo_periodo_apontamento from aluno_turma_diario_impresso a -- isso acelera (muito) a query pois o banco está acostumando a juntar com nota_aluno daqui inner join aluno_matr_turma amt on amt.id_aluno_matricula = a.id_aluno_matricula and amt.id_turma = a.id_turma_desempenho inner join turma t on t.id_turma = amt.id_turma inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = a.id_serie inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno in ( select tp.id_nota_periodo_aluno from turma_periodo tp where tp.id_turma = t.id_turma union select 5 as id_nota_periodo_aluno) inner join serie s on s.id_serie = ts.id_serie inner join curso c on s.id_curso = c.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular -- nota do periodo left join nota_aluno na on na.id_turma = amt.id_turma and na.id_aluno_matricula = amt.id_aluno_matricula and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = cc.id_disciplina -- conceito left join conceito_avaliacao ca on na.id_conceito_avaliacao = ca.id_conceito_avaliacao -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = cc.id_disciplina and npa.id_nota_periodo_aluno = any (amdd.periodos) left join motivo_dispensa_disciplina mdd on mdd.id_motivo_dispensa_disciplina = amdd.id_motivo_dispensa_disciplina -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = amt.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and npa.id_nota_periodo_aluno = any (mdp.periodos) left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join procedimento_avaliacao_valor_maximo_nota_periodo vmnp on vmnp.id_procedimento_avaliacao = pa.id_procedimento_avaliacao and vmnp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno -- resultado final apontado left join nota_aluno nf on nf.id_turma = amt.id_turma and nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_disciplina = cc.id_disciplina and nf.id_nota_periodo_aluno = 5 -- conceito final left join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao -- recuperação final left join nota_aluno nr on nr.id_turma = amt.id_turma and nr.id_aluno_matricula = amt.id_aluno_matricula and nr.id_disciplina = cc.id_disciplina and nr.id_nota_periodo_aluno = 6 -- conceito final recuperação left join conceito_avaliacao cr on cr.id_conceito_avaliacao = nr.id_conceito_avaliacao -- conclusão das atividades left join nota_aluno_atividade_concluido concluido on concluido.id_turma = ts.id_turma and concluido.id_serie = ts.id_serie and concluido.id_disciplina = cc.id_disciplina and concluido.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where ts.id_turma = '240003133' and ts.id_serie = '102' and cc.flg_aponta_notas and s.id_forma_avaliacao in (1, 2, 4)) x order by id_aluno_matricula, id_nota_periodo_aluno, id_componente_curricular;
Date: 2025-02-10 07:59:19 Duration: 5s667ms Bind query: yes
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, id_forma_avaliacao, id_expressao_resultado_componente, num_casas_decimais_nota, flg_dispensado_todos_periodos, flg_dispensado, dispensa, nota, greatest (nota, recuperacao_final, nota_conselho) as nota_resultado_final, conceito, conceito_convertido, resultado_final_calculado, resultado_final_apontado, conceito_final, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, resultado_final_calculado::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_final_convertido, recuperacao_final, conceito_recuperacao_final, conceito_recuperacao_final_convertido, -- abaixo da média somente se o apontamento no período foi concluído case when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 1 then coalesce(nota < perc_aprovacao * perc_nota_periodo * valor_maximo_nota, false) when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 2 then coalesce(nota < valor_maximo_nota * perc_aprovacao, false) else false end as flg_abaixo_da_media, -- abaixo da média final somente se o apontamento de todos os períodos foram concluídos --valor_maximo_nota * perc_aprovacao, case when id_forma_avaliacao = '2' then conceito_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then ( case when flg_atividade_avaliativa then resultado_final_calculado else resultado_final_apontado end) < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_resultado_final_abaixo_da_media, -- mesmo para recuperação case when id_forma_avaliacao = '2' then conceito_recuperacao_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then recuperacao_final < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_recuperacao_final_abaixo_da_media, -- relatorio de resultado final mostra tanto o calculado quanto o pós-recuperaçao coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then resultado_final_apontado < valor_maximo_nota * perc_aprovacao else false end, false) as flg_resultado_final_apontado_abaixo_da_media from ( select amt.id_aluno_matricula, npa.id_nota_periodo_aluno, cc.id_disciplina, cc.id_componente_curricular, cc.id_forma_avaliacao_componente as id_forma_avaliacao, cc.id_expressao_resultado_componente, pa.id_tipo_resultado_final, c.id_instituicao, s.id_serie, s.num_casas_decimais_nota, t.flg_atividade_avaliativa, coalesce(amdd.flg_dispensado_todos_periodos, false) as flg_dispensado_todos_periodos, mdp.id_motivo_dispensa_periodo notnull or mdd.id_motivo_dispensa_disciplina notnull as flg_dispensado, coalesce(mdp.descricao, mdd.descricao) as dispensa, na.nota, na.nota_conselho, ca.sigla as conceito, -- conversao para conceito ( select cac.sigla from sp_obter_conceito_avaliacao_nota_periodo (amt.id_aluno_matricula, npa.id_nota_periodo_aluno, na.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_convertido, ( select case when pa.id_tipo_resultado_final = 1 then case when nota_rec.nota > sum( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then sum( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else sum(notas.nota) end else case when nota_rec.nota > avg( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then avg( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else avg(notas.nota) end end from ( select n.id_nota_periodo_aluno, case when n.flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno n where n.id_turma = amt.id_turma and n.id_aluno_matricula = amt.id_aluno_matricula and n.id_disciplina = cc.id_disciplina and n.id_nota_periodo_aluno <= npa.id_nota_periodo_aluno) as notas left join ( select case when flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno r where r.id_turma = amt.id_turma and r.id_aluno_matricula = amt.id_aluno_matricula and r.id_disciplina = cc.id_disciplina and r.id_nota_periodo_aluno = 10) as nota_rec on true group by nota_rec.nota) as resultado_final_calculado, greatest (nf.nota, nr.nota, nf.nota_conselho)::float as resultado_final_apontado, coalesce(cr.sigla, cf.sigla) as conceito_final, coalesce(cf.flg_aprova, false) = false as conceito_final_abaixo_media, -- recuperação final coalesce(nf.nota_conselho, nr.nota)::double precision as recuperacao_final, cr.sigla as conceito_recuperacao_final, coalesce(cr.flg_aprova, false) = false as conceito_recuperacao_final_abaixo_media, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (c.id_instituicao, s.id_serie, nr.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_recuperacao_final_convertido, -- esses são para determinar se está abaixo da média pa.nota_min_aprovacao / 100.0 as perc_aprovacao, vmnp.valor_maximo_nota / s.valor_maximo_nota as perc_nota_periodo, s.valor_maximo_nota, -- esses ajudam a determinar os períodos que já foram apontados max(npa.id_nota_periodo_aluno) over (partition by amt.id_turma) as ultimo_periodo_turma, max( case when t.flg_atividade_avaliativa then concluido.id_nota_periodo_aluno else na.id_nota_periodo_aluno end) over (partition by amt.id_aluno_matricula, cc.id_disciplina) as ultimo_periodo_apontamento from aluno_turma_diario_impresso a -- isso acelera (muito) a query pois o banco está acostumando a juntar com nota_aluno daqui inner join aluno_matr_turma amt on amt.id_aluno_matricula = a.id_aluno_matricula and amt.id_turma = a.id_turma_desempenho inner join turma t on t.id_turma = amt.id_turma inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = a.id_serie inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno in ( select tp.id_nota_periodo_aluno from turma_periodo tp where tp.id_turma = t.id_turma union select 5 as id_nota_periodo_aluno) inner join serie s on s.id_serie = ts.id_serie inner join curso c on s.id_curso = c.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular -- nota do periodo left join nota_aluno na on na.id_turma = amt.id_turma and na.id_aluno_matricula = amt.id_aluno_matricula and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = cc.id_disciplina -- conceito left join conceito_avaliacao ca on na.id_conceito_avaliacao = ca.id_conceito_avaliacao -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = cc.id_disciplina and npa.id_nota_periodo_aluno = any (amdd.periodos) left join motivo_dispensa_disciplina mdd on mdd.id_motivo_dispensa_disciplina = amdd.id_motivo_dispensa_disciplina -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = amt.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and npa.id_nota_periodo_aluno = any (mdp.periodos) left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join procedimento_avaliacao_valor_maximo_nota_periodo vmnp on vmnp.id_procedimento_avaliacao = pa.id_procedimento_avaliacao and vmnp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno -- resultado final apontado left join nota_aluno nf on nf.id_turma = amt.id_turma and nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_disciplina = cc.id_disciplina and nf.id_nota_periodo_aluno = 5 -- conceito final left join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao -- recuperação final left join nota_aluno nr on nr.id_turma = amt.id_turma and nr.id_aluno_matricula = amt.id_aluno_matricula and nr.id_disciplina = cc.id_disciplina and nr.id_nota_periodo_aluno = 6 -- conceito final recuperação left join conceito_avaliacao cr on cr.id_conceito_avaliacao = nr.id_conceito_avaliacao -- conclusão das atividades left join nota_aluno_atividade_concluido concluido on concluido.id_turma = ts.id_turma and concluido.id_serie = ts.id_serie and concluido.id_disciplina = cc.id_disciplina and concluido.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where ts.id_turma = '240003128' and ts.id_serie = '101' and cc.flg_aponta_notas and s.id_forma_avaliacao in (1, 2, 4)) x order by id_aluno_matricula, id_nota_periodo_aluno, id_componente_curricular;
Date: 2025-02-10 08:41:22 Duration: 4s214ms Bind query: yes
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, id_forma_avaliacao, id_expressao_resultado_componente, num_casas_decimais_nota, flg_dispensado_todos_periodos, flg_dispensado, dispensa, nota, greatest (nota, recuperacao_final, nota_conselho) as nota_resultado_final, conceito, conceito_convertido, resultado_final_calculado, resultado_final_apontado, conceito_final, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, resultado_final_calculado::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_final_convertido, recuperacao_final, conceito_recuperacao_final, conceito_recuperacao_final_convertido, -- abaixo da média somente se o apontamento no período foi concluído case when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 1 then coalesce(nota < perc_aprovacao * perc_nota_periodo * valor_maximo_nota, false) when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 2 then coalesce(nota < valor_maximo_nota * perc_aprovacao, false) else false end as flg_abaixo_da_media, -- abaixo da média final somente se o apontamento de todos os períodos foram concluídos --valor_maximo_nota * perc_aprovacao, case when id_forma_avaliacao = '2' then conceito_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then ( case when flg_atividade_avaliativa then resultado_final_calculado else resultado_final_apontado end) < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_resultado_final_abaixo_da_media, -- mesmo para recuperação case when id_forma_avaliacao = '2' then conceito_recuperacao_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then recuperacao_final < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_recuperacao_final_abaixo_da_media, -- relatorio de resultado final mostra tanto o calculado quanto o pós-recuperaçao coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then resultado_final_apontado < valor_maximo_nota * perc_aprovacao else false end, false) as flg_resultado_final_apontado_abaixo_da_media from ( select amt.id_aluno_matricula, npa.id_nota_periodo_aluno, cc.id_disciplina, cc.id_componente_curricular, cc.id_forma_avaliacao_componente as id_forma_avaliacao, cc.id_expressao_resultado_componente, pa.id_tipo_resultado_final, c.id_instituicao, s.id_serie, s.num_casas_decimais_nota, t.flg_atividade_avaliativa, coalesce(amdd.flg_dispensado_todos_periodos, false) as flg_dispensado_todos_periodos, mdp.id_motivo_dispensa_periodo notnull or mdd.id_motivo_dispensa_disciplina notnull as flg_dispensado, coalesce(mdp.descricao, mdd.descricao) as dispensa, na.nota, na.nota_conselho, ca.sigla as conceito, -- conversao para conceito ( select cac.sigla from sp_obter_conceito_avaliacao_nota_periodo (amt.id_aluno_matricula, npa.id_nota_periodo_aluno, na.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_convertido, ( select case when pa.id_tipo_resultado_final = 1 then case when nota_rec.nota > sum( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then sum( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else sum(notas.nota) end else case when nota_rec.nota > avg( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then avg( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else avg(notas.nota) end end from ( select n.id_nota_periodo_aluno, case when n.flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno n where n.id_turma = amt.id_turma and n.id_aluno_matricula = amt.id_aluno_matricula and n.id_disciplina = cc.id_disciplina and n.id_nota_periodo_aluno <= npa.id_nota_periodo_aluno) as notas left join ( select case when flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno r where r.id_turma = amt.id_turma and r.id_aluno_matricula = amt.id_aluno_matricula and r.id_disciplina = cc.id_disciplina and r.id_nota_periodo_aluno = 10) as nota_rec on true group by nota_rec.nota) as resultado_final_calculado, greatest (nf.nota, nr.nota, nf.nota_conselho)::float as resultado_final_apontado, coalesce(cr.sigla, cf.sigla) as conceito_final, coalesce(cf.flg_aprova, false) = false as conceito_final_abaixo_media, -- recuperação final coalesce(nf.nota_conselho, nr.nota)::double precision as recuperacao_final, cr.sigla as conceito_recuperacao_final, coalesce(cr.flg_aprova, false) = false as conceito_recuperacao_final_abaixo_media, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (c.id_instituicao, s.id_serie, nr.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_recuperacao_final_convertido, -- esses são para determinar se está abaixo da média pa.nota_min_aprovacao / 100.0 as perc_aprovacao, vmnp.valor_maximo_nota / s.valor_maximo_nota as perc_nota_periodo, s.valor_maximo_nota, -- esses ajudam a determinar os períodos que já foram apontados max(npa.id_nota_periodo_aluno) over (partition by amt.id_turma) as ultimo_periodo_turma, max( case when t.flg_atividade_avaliativa then concluido.id_nota_periodo_aluno else na.id_nota_periodo_aluno end) over (partition by amt.id_aluno_matricula, cc.id_disciplina) as ultimo_periodo_apontamento from aluno_turma_diario_impresso a -- isso acelera (muito) a query pois o banco está acostumando a juntar com nota_aluno daqui inner join aluno_matr_turma amt on amt.id_aluno_matricula = a.id_aluno_matricula and amt.id_turma = a.id_turma_desempenho inner join turma t on t.id_turma = amt.id_turma inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = a.id_serie inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno in ( select tp.id_nota_periodo_aluno from turma_periodo tp where tp.id_turma = t.id_turma union select 5 as id_nota_periodo_aluno) inner join serie s on s.id_serie = ts.id_serie inner join curso c on s.id_curso = c.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular -- nota do periodo left join nota_aluno na on na.id_turma = amt.id_turma and na.id_aluno_matricula = amt.id_aluno_matricula and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = cc.id_disciplina -- conceito left join conceito_avaliacao ca on na.id_conceito_avaliacao = ca.id_conceito_avaliacao -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = cc.id_disciplina and npa.id_nota_periodo_aluno = any (amdd.periodos) left join motivo_dispensa_disciplina mdd on mdd.id_motivo_dispensa_disciplina = amdd.id_motivo_dispensa_disciplina -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = amt.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and npa.id_nota_periodo_aluno = any (mdp.periodos) left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join procedimento_avaliacao_valor_maximo_nota_periodo vmnp on vmnp.id_procedimento_avaliacao = pa.id_procedimento_avaliacao and vmnp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno -- resultado final apontado left join nota_aluno nf on nf.id_turma = amt.id_turma and nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_disciplina = cc.id_disciplina and nf.id_nota_periodo_aluno = 5 -- conceito final left join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao -- recuperação final left join nota_aluno nr on nr.id_turma = amt.id_turma and nr.id_aluno_matricula = amt.id_aluno_matricula and nr.id_disciplina = cc.id_disciplina and nr.id_nota_periodo_aluno = 6 -- conceito final recuperação left join conceito_avaliacao cr on cr.id_conceito_avaliacao = nr.id_conceito_avaliacao -- conclusão das atividades left join nota_aluno_atividade_concluido concluido on concluido.id_turma = ts.id_turma and concluido.id_serie = ts.id_serie and concluido.id_disciplina = cc.id_disciplina and concluido.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where ts.id_turma = '240003130' and ts.id_serie = '102' and cc.flg_aponta_notas and s.id_forma_avaliacao in (1, 2, 4)) x order by id_aluno_matricula, id_nota_periodo_aluno, id_componente_curricular;
Date: 2025-02-10 08:10:14 Duration: 3s442ms Bind query: yes
14 2m55s 449 100ms 1s899ms 391ms select dependente.id_cidadao AS "idCidadao", coalesce(nullif (dependente.nome_social, ?), dependente.nome) AS "nomeDependente", am.id_aluno_matricula AS "idAluno", asem.ano, uf.nome AS "unidadeFuncional", uf.id_unidade_funcional AS "idUnidadeFuncional", t.nome AS "turma", t.id_turma AS "idTurma", s.descricao AS "serie", c.descricao AS "curso", tu.descricao AS "turno", usuario_dependente.id_usuario AS "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in (...) and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = ? and ui.id_instituicao = ?) order by dependente.nome;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Feb 10 07 87 24s399ms 280ms 08 115 35s331ms 307ms 09 124 46s695ms 376ms 10 123 1m9s 562ms -
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2032347') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:35:07 Duration: 1s899ms Bind query: yes
-
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2052837') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:22:38 Duration: 1s743ms Bind query: yes
-
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2052837') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:23:54 Duration: 1s672ms Bind query: yes
15 2m38s 563 111ms 630ms 280ms select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in (...) and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = ? and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > ?;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Feb 10 07 134 31s638ms 236ms 08 157 41s540ms 264ms 09 126 36s827ms 292ms 10 146 48s 328ms -
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250006662') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '1926042' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2024-12-19 13:25:50.101';
Date: 2025-02-10 07:33:05 Duration: 630ms Bind query: yes
-
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250000681', '250000684') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '2336684' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2025-02-07 10:18:44.582';
Date: 2025-02-10 10:48:37 Duration: 582ms Bind query: yes
-
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250004923') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '2400434' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2025-02-04 12:21:06.976';
Date: 2025-02-10 10:18:13 Duration: 582ms Bind query: yes
16 2m37s 52 1s233ms 4s852ms 3s32ms select amt.id_aluno_turma, a.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, amt.chamada, ams.flg_status_ativo and not amt.flg_remanejado as flg_status_ativo, am.id_aluno_matr_status = ? as flg_aluno_abandono, amt.flg_remanejado, case amt.flg_remanejado when true then ? else ams.descricao end as situacao_aluno, coalesce(am.flg_parecer_descritivo, false) as flg_parecer_descritivo, c.nome as aluno, curso.id_curso, s.sigla as serie, d.descricao as disciplina, formatar_horaminuto (gc.duracao_aula * coalesce(fa.falta_nao_justificada, ?)) as falta_nao_justificada, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_justificadas, ?)) as total_faltas_justificadas, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_nao_justificadas, ?)) as total_faltas_nao_justificadas, amdd.id_motivo_dispensa_disciplina is not null as flg_dispensado, case when ams.flg_status_ativo and cc.id_forma_avaliacao_componente in (...) and amdd.id_motivo_dispensa_disciplina isnull then cc.flg_aponta_notas else false end as flg_aponta_notas, serie_destino.sigla as serie_destino, cc.id_forma_avaliacao_componente = ? or cc.id_expressao_resultado_componente = ? as flg_conceito, greatest (na.nota, na_rec.nota, na.nota_conselho) as nota, case when s.flg_permite_recuperacao_final and ca_rec.flg_aprova then ca_rec.sigla else ca.sigla end as conceito, amt.frequencia, pc.flg_reclassificado_frequencia from ( select row_number() over ()::int as id_aluno_turma, * from ( select amt.id_turma, amt.id_aluno_matricula, amt.chamada, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as frequencia, am.id_aluno_matr_status = ? as flg_remanejado from aluno_matr_turma amt inner join turma on turma.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula where amt.id_turma = ? and ((turma.id_diario_turma_situacao = ? and amt.id_diario_turma_situacao_enturmacao = ?) or (turma.id_diario_turma_situacao <> ? or turma.id_diario_turma_situacao is null))) as alunos) amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> ? and amsh.id_aluno_matricula = amt.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit ?) as ultimo_historico_sem_unificacao on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = ? and ultimo_historico_sem_unificacao.id_aluno_matr_status = ? then ? else ultimo_historico_sem_unificacao.id_aluno_matr_status end inner join serie s on s.id_serie = am.id_serie inner join curso on s.id_curso = curso.id_curso inner join grade_curricular gc on gc.id_grade_curricular = ? inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = am.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and amdd.flg_dispensado_todos_periodos is true left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = ? and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in (...) and amdd.id_motivo_dispensa_disciplina isnull left join nota_aluno na_rec on na_rec.id_disciplina = d.id_disciplina and na_rec.id_aluno_matricula = am.id_aluno_matricula and na_rec.id_turma = amt.id_turma and na_rec.id_nota_periodo_aluno = ? and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in (...) and amdd.id_motivo_dispensa_disciplina isnull left join conceito_avaliacao ca on ca.id_conceito_avaliacao = coalesce(na.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final (?, ?, greatest (na.nota, na.nota_conselho))) left join conceito_avaliacao ca_rec on ca_rec.id_conceito_avaliacao = coalesce(na_rec.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final (?, ?, na.nota_recuperacao_calculada)) left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join serie serie_destino on serie_destino.id_serie = pc.id_serie_destino left join ( select sum(fad.falta_nao_justificada)::int as falta_nao_justificada, (sum(sum(fad.falta_justificada)) over window_total_faltas)::int as total_faltas_justificadas, (sum(sum(fad.falta_nao_justificada)) over window_total_faltas)::int as total_faltas_nao_justificadas, fad.id_turma, coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, fad.id_aluno_matricula from falta_aluno_disciplina fad inner join aluno_matr_turma amt on amt.id_turma = ? and amt.id_aluno_matricula = fad.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_disciplina = fad.id_disciplina where not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on amdp.id_motivo_dispensa_periodo = mdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fad.id_aluno_matricula and mdp.periodos @> array[fad.id_nota_periodo_aluno]) and fad.id_disciplina not in ( select amd.id_disciplina from aluno_matr_dispensa_disciplina amd where amd.id_aluno_matricula = fad.id_aluno_matricula and amd.id_turma = fad.id_turma) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), fad.id_turma, fad.id_aluno_matricula window window_total_faltas as (partition by fad.id_aluno_matricula, fad.id_turma)) fa on fa.id_turma = amt.id_turma and fa.id_disciplina = d.id_disciplina and fa.id_aluno_matricula = am.id_aluno_matricula where amt.id_turma = ? and cc.id_componente_cedeu_carga_horaria is null order by chamada, aluno, am.id_aluno_matricula, d.ordem, d.descricao;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Feb 10 07 52 2m37s 3s32ms -
select amt.id_aluno_turma, a.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, amt.chamada, ams.flg_status_ativo and not amt.flg_remanejado as flg_status_ativo, am.id_aluno_matr_status = '3' as flg_aluno_abandono, amt.flg_remanejado, case amt.flg_remanejado when true then 'Remanejado' else ams.descricao end as situacao_aluno, coalesce(am.flg_parecer_descritivo, false) as flg_parecer_descritivo, c.nome as aluno, curso.id_curso, s.sigla as serie, d.descricao as disciplina, formatar_horaminuto (gc.duracao_aula * coalesce(fa.falta_nao_justificada, 0)) as falta_nao_justificada, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_justificadas, 0)) as total_faltas_justificadas, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_nao_justificadas, 0)) as total_faltas_nao_justificadas, amdd.id_motivo_dispensa_disciplina is not null as flg_dispensado, case when ams.flg_status_ativo and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull then cc.flg_aponta_notas else false end as flg_aponta_notas, serie_destino.sigla as serie_destino, cc.id_forma_avaliacao_componente = '2' or cc.id_expressao_resultado_componente = '2' as flg_conceito, greatest (na.nota, na_rec.nota, na.nota_conselho) as nota, case when s.flg_permite_recuperacao_final and ca_rec.flg_aprova then ca_rec.sigla else ca.sigla end as conceito, amt.frequencia, pc.flg_reclassificado_frequencia from ( select row_number() over ()::int as id_aluno_turma, * from ( select amt.id_turma, amt.id_aluno_matricula, amt.chamada, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as frequencia, am.id_aluno_matr_status = '11' as flg_remanejado from aluno_matr_turma amt inner join turma ON turma.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula where amt.id_turma = '240017433' and ((turma.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or (turma.id_diario_turma_situacao <> '2' or turma.id_diario_turma_situacao is null))) as alunos) amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> '10' and amsh.id_aluno_matricula = amt.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as ultimo_historico_sem_unificacao on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = '10' and ultimo_historico_sem_unificacao.id_aluno_matr_status = '1' then '10' else ultimo_historico_sem_unificacao.id_aluno_matr_status end inner join serie s on s.id_serie = am.id_serie inner join curso on s.id_curso = curso.id_curso inner join grade_curricular gc on gc.id_grade_curricular = '5067' inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = am.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and amdd.flg_dispensado_todos_periodos is true left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = '5' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join nota_aluno na_rec on na_rec.id_disciplina = d.id_disciplina and na_rec.id_aluno_matricula = am.id_aluno_matricula and na_rec.id_turma = amt.id_turma and na_rec.id_nota_periodo_aluno = '6' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join conceito_avaliacao ca on ca.id_conceito_avaliacao = coalesce(na.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2366', greatest (na.nota, na.nota_conselho))) left join conceito_avaliacao ca_rec on ca_rec.id_conceito_avaliacao = coalesce(na_rec.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2366', na.nota_recuperacao_calculada)) left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join serie serie_destino on serie_destino.id_serie = pc.id_serie_destino left join ( select sum(fad.falta_nao_justificada)::int as falta_nao_justificada, (sum(sum(fad.falta_justificada)) over window_total_faltas)::int as total_faltas_justificadas, (sum(sum(fad.falta_nao_justificada)) over window_total_faltas)::int as total_faltas_nao_justificadas, fad.id_turma, coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, fad.id_aluno_matricula from falta_aluno_disciplina fad inner join aluno_matr_turma amt on amt.id_turma = '240017433' and amt.id_aluno_matricula = fad.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_disciplina = fad.id_disciplina where not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on amdp.id_motivo_dispensa_periodo = mdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fad.id_aluno_matricula and mdp.periodos @> ARRAY[fad.id_nota_periodo_aluno]) and fad.id_disciplina not in ( select amd.id_disciplina from aluno_matr_dispensa_disciplina amd where amd.id_aluno_matricula = fad.id_aluno_matricula and amd.id_turma = fad.id_turma) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), fad.id_turma, fad.id_aluno_matricula WINDOW window_total_faltas as (partition by fad.id_aluno_matricula, fad.id_turma)) fa on fa.id_turma = amt.id_turma and fa.id_disciplina = d.id_disciplina and fa.id_aluno_matricula = am.id_aluno_matricula where amt.id_turma = '240017433' and cc.id_componente_cedeu_carga_horaria is null order by chamada, aluno, am.id_aluno_matricula, d.ordem, d.descricao;
Date: 2025-02-10 07:45:07 Duration: 4s852ms Bind query: yes
-
select amt.id_aluno_turma, a.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, amt.chamada, ams.flg_status_ativo and not amt.flg_remanejado as flg_status_ativo, am.id_aluno_matr_status = '3' as flg_aluno_abandono, amt.flg_remanejado, case amt.flg_remanejado when true then 'Remanejado' else ams.descricao end as situacao_aluno, coalesce(am.flg_parecer_descritivo, false) as flg_parecer_descritivo, c.nome as aluno, curso.id_curso, s.sigla as serie, d.descricao as disciplina, formatar_horaminuto (gc.duracao_aula * coalesce(fa.falta_nao_justificada, 0)) as falta_nao_justificada, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_justificadas, 0)) as total_faltas_justificadas, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_nao_justificadas, 0)) as total_faltas_nao_justificadas, amdd.id_motivo_dispensa_disciplina is not null as flg_dispensado, case when ams.flg_status_ativo and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull then cc.flg_aponta_notas else false end as flg_aponta_notas, serie_destino.sigla as serie_destino, cc.id_forma_avaliacao_componente = '2' or cc.id_expressao_resultado_componente = '2' as flg_conceito, greatest (na.nota, na_rec.nota, na.nota_conselho) as nota, case when s.flg_permite_recuperacao_final and ca_rec.flg_aprova then ca_rec.sigla else ca.sigla end as conceito, amt.frequencia, pc.flg_reclassificado_frequencia from ( select row_number() over ()::int as id_aluno_turma, * from ( select amt.id_turma, amt.id_aluno_matricula, amt.chamada, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as frequencia, am.id_aluno_matr_status = '11' as flg_remanejado from aluno_matr_turma amt inner join turma ON turma.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula where amt.id_turma = '240017758' and ((turma.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or (turma.id_diario_turma_situacao <> '2' or turma.id_diario_turma_situacao is null))) as alunos) amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> '10' and amsh.id_aluno_matricula = amt.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as ultimo_historico_sem_unificacao on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = '10' and ultimo_historico_sem_unificacao.id_aluno_matr_status = '1' then '10' else ultimo_historico_sem_unificacao.id_aluno_matr_status end inner join serie s on s.id_serie = am.id_serie inner join curso on s.id_curso = curso.id_curso inner join grade_curricular gc on gc.id_grade_curricular = '5062' inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = am.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and amdd.flg_dispensado_todos_periodos is true left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = '5' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join nota_aluno na_rec on na_rec.id_disciplina = d.id_disciplina and na_rec.id_aluno_matricula = am.id_aluno_matricula and na_rec.id_turma = amt.id_turma and na_rec.id_nota_periodo_aluno = '6' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join conceito_avaliacao ca on ca.id_conceito_avaliacao = coalesce(na.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2359', greatest (na.nota, na.nota_conselho))) left join conceito_avaliacao ca_rec on ca_rec.id_conceito_avaliacao = coalesce(na_rec.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2359', na.nota_recuperacao_calculada)) left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join serie serie_destino on serie_destino.id_serie = pc.id_serie_destino left join ( select sum(fad.falta_nao_justificada)::int as falta_nao_justificada, (sum(sum(fad.falta_justificada)) over window_total_faltas)::int as total_faltas_justificadas, (sum(sum(fad.falta_nao_justificada)) over window_total_faltas)::int as total_faltas_nao_justificadas, fad.id_turma, coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, fad.id_aluno_matricula from falta_aluno_disciplina fad inner join aluno_matr_turma amt on amt.id_turma = '240017758' and amt.id_aluno_matricula = fad.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_disciplina = fad.id_disciplina where not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on amdp.id_motivo_dispensa_periodo = mdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fad.id_aluno_matricula and mdp.periodos @> ARRAY[fad.id_nota_periodo_aluno]) and fad.id_disciplina not in ( select amd.id_disciplina from aluno_matr_dispensa_disciplina amd where amd.id_aluno_matricula = fad.id_aluno_matricula and amd.id_turma = fad.id_turma) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), fad.id_turma, fad.id_aluno_matricula WINDOW window_total_faltas as (partition by fad.id_aluno_matricula, fad.id_turma)) fa on fa.id_turma = amt.id_turma and fa.id_disciplina = d.id_disciplina and fa.id_aluno_matricula = am.id_aluno_matricula where amt.id_turma = '240017758' and cc.id_componente_cedeu_carga_horaria is null order by chamada, aluno, am.id_aluno_matricula, d.ordem, d.descricao;
Date: 2025-02-10 07:47:31 Duration: 4s744ms Bind query: yes
-
select amt.id_aluno_turma, a.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, amt.chamada, ams.flg_status_ativo and not amt.flg_remanejado as flg_status_ativo, am.id_aluno_matr_status = '3' as flg_aluno_abandono, amt.flg_remanejado, case amt.flg_remanejado when true then 'Remanejado' else ams.descricao end as situacao_aluno, coalesce(am.flg_parecer_descritivo, false) as flg_parecer_descritivo, c.nome as aluno, curso.id_curso, s.sigla as serie, d.descricao as disciplina, formatar_horaminuto (gc.duracao_aula * coalesce(fa.falta_nao_justificada, 0)) as falta_nao_justificada, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_justificadas, 0)) as total_faltas_justificadas, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_nao_justificadas, 0)) as total_faltas_nao_justificadas, amdd.id_motivo_dispensa_disciplina is not null as flg_dispensado, case when ams.flg_status_ativo and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull then cc.flg_aponta_notas else false end as flg_aponta_notas, serie_destino.sigla as serie_destino, cc.id_forma_avaliacao_componente = '2' or cc.id_expressao_resultado_componente = '2' as flg_conceito, greatest (na.nota, na_rec.nota, na.nota_conselho) as nota, case when s.flg_permite_recuperacao_final and ca_rec.flg_aprova then ca_rec.sigla else ca.sigla end as conceito, amt.frequencia, pc.flg_reclassificado_frequencia from ( select row_number() over ()::int as id_aluno_turma, * from ( select amt.id_turma, amt.id_aluno_matricula, amt.chamada, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as frequencia, am.id_aluno_matr_status = '11' as flg_remanejado from aluno_matr_turma amt inner join turma ON turma.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula where amt.id_turma = '240017434' and ((turma.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or (turma.id_diario_turma_situacao <> '2' or turma.id_diario_turma_situacao is null))) as alunos) amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> '10' and amsh.id_aluno_matricula = amt.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as ultimo_historico_sem_unificacao on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = '10' and ultimo_historico_sem_unificacao.id_aluno_matr_status = '1' then '10' else ultimo_historico_sem_unificacao.id_aluno_matr_status end inner join serie s on s.id_serie = am.id_serie inner join curso on s.id_curso = curso.id_curso inner join grade_curricular gc on gc.id_grade_curricular = '5067' inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = am.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and amdd.flg_dispensado_todos_periodos is true left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = '5' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join nota_aluno na_rec on na_rec.id_disciplina = d.id_disciplina and na_rec.id_aluno_matricula = am.id_aluno_matricula and na_rec.id_turma = amt.id_turma and na_rec.id_nota_periodo_aluno = '6' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join conceito_avaliacao ca on ca.id_conceito_avaliacao = coalesce(na.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2366', greatest (na.nota, na.nota_conselho))) left join conceito_avaliacao ca_rec on ca_rec.id_conceito_avaliacao = coalesce(na_rec.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2366', na.nota_recuperacao_calculada)) left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join serie serie_destino on serie_destino.id_serie = pc.id_serie_destino left join ( select sum(fad.falta_nao_justificada)::int as falta_nao_justificada, (sum(sum(fad.falta_justificada)) over window_total_faltas)::int as total_faltas_justificadas, (sum(sum(fad.falta_nao_justificada)) over window_total_faltas)::int as total_faltas_nao_justificadas, fad.id_turma, coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, fad.id_aluno_matricula from falta_aluno_disciplina fad inner join aluno_matr_turma amt on amt.id_turma = '240017434' and amt.id_aluno_matricula = fad.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_disciplina = fad.id_disciplina where not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on amdp.id_motivo_dispensa_periodo = mdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fad.id_aluno_matricula and mdp.periodos @> ARRAY[fad.id_nota_periodo_aluno]) and fad.id_disciplina not in ( select amd.id_disciplina from aluno_matr_dispensa_disciplina amd where amd.id_aluno_matricula = fad.id_aluno_matricula and amd.id_turma = fad.id_turma) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), fad.id_turma, fad.id_aluno_matricula WINDOW window_total_faltas as (partition by fad.id_aluno_matricula, fad.id_turma)) fa on fa.id_turma = amt.id_turma and fa.id_disciplina = d.id_disciplina and fa.id_aluno_matricula = am.id_aluno_matricula where amt.id_turma = '240017434' and cc.id_componente_cedeu_carga_horaria is null order by chamada, aluno, am.id_aluno_matricula, d.ordem, d.descricao;
Date: 2025-02-10 07:45:12 Duration: 4s629ms Bind query: yes
17 2m10s 400 100ms 822ms 325ms select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in (...) and exists ( select null from turma_professor tp where tp.id_cidadao = ? and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = ?) and rd.data_referencia = sda.data and rd.data_atualizacao > ? and t.id_periodicidade_conteudo in (...) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = ?) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > ? and t.id_periodicidade_conteudo = ?);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Feb 10 07 52 13s171ms 253ms 08 117 34s416ms 294ms 09 128 43s948ms 343ms 10 103 38s756ms 376ms -
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250008654', '250008656', '250008657', '250008658', '250008660', '250010164') and exists ( select null from turma_professor tp where tp.id_cidadao = '1926108' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 10:46:36.012' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 10:46:36.012' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 10:47:01 Duration: 822ms Bind query: yes
-
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250000723', '250000724', '250000733', '250001486', '250001487', '250001488') and exists ( select null from turma_professor tp where tp.id_cidadao = '2013416' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 09:15:29.171' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 09:15:29.171' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 09:34:29 Duration: 762ms Bind query: yes
-
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250007332', '250007335', '250007337', '250007338', '250007342', '250007343') and exists ( select null from turma_professor tp where tp.id_cidadao = '1926615' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 09:09:49.026' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 09:09:49.026' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 09:10:54 Duration: 751ms Bind query: yes
18 2m6s 128 101ms 7s84ms 989ms select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, faltas_mes::int as faltas_mes, faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(to_char(f.data, ? || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), ?)::int as faltas_mes, coalesce(( select sum(coalesce(falta_justificada, ?) + coalesce(falta_nao_justificada, ?)) from falta_anterior_aluno_disciplina fa where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), ?)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = ? left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = ? and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = ? and ts.id_serie = ? and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Feb 10 07 21 18s504ms 881ms 08 51 43s553ms 853ms 09 48 55s2ms 1s145ms 10 8 9s615ms 1s201ms -
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240003138' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1112' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240003138' and ts.id_serie = '101' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2025-02-10 09:14:43 Duration: 7s84ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250002059' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24518' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '250002059' and ts.id_serie = '2198' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2025-02-10 07:31:14 Duration: 5s834ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240002652' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1139' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240002652' and ts.id_serie = '102' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2025-02-10 09:48:53 Duration: 5s712ms Bind query: yes
19 2m2s 800 100ms 619ms 152ms select ts.id_turma, ts.id_modelo_avaliacao_desc, ts.id_modelo_acompanhamento_atitudinal, ts.id_modelo_observacao_estudante, null as id_modelo_ficha_acompanhamento, ts.id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional where uf.id_instituicao = ? and (ts.id_modelo_avaliacao_desc is not null or ts.id_modelo_acompanhamento_atitudinal is not null or ts.id_modelo_observacao_estudante is not null or ts.id_modelo_relatorio_geral is not null) and t.flg_organizada is true and exists ( select null from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = ?) union all select ts.id_turma, null as id_modelo_avaliacao_desc, null as id_modelo_observacao_estudante, null as id_modelo_acompanhamento_atitudinal, tsm.id_modelo_avaliacao_desc as id_modelo_ficha_acompanhamento, null as id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_serie = ts.id_serie and tsm.id_turma = ts.id_turma and tsm.id_tipo_modelo_avaliacao_desc = ? inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc where uf.id_instituicao = ? and t.flg_organizada is true and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina td on td.id_turma = tp.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) where tp.id_turma = t.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = ? and d.id_disciplina = mad.id_disciplina);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Feb 10 07 65 8s876ms 136ms 08 195 26s992ms 138ms 09 228 34s72ms 149ms 10 312 52s140ms 167ms -
select ts.id_turma, ts.id_modelo_avaliacao_desc, ts.id_modelo_acompanhamento_atitudinal, ts.id_modelo_observacao_estudante, null as id_modelo_ficha_acompanhamento, ts.id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional where uf.id_instituicao = '97' and (ts.id_modelo_avaliacao_desc is not null or ts.id_modelo_acompanhamento_atitudinal is not null or ts.id_modelo_observacao_estudante is not null or ts.id_modelo_relatorio_geral is not null) and t.flg_organizada is true and exists ( select null from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '1924996') union all select ts.id_turma, null as id_modelo_avaliacao_desc, null as id_modelo_observacao_estudante, null as id_modelo_acompanhamento_atitudinal, tsm.id_modelo_avaliacao_desc as id_modelo_ficha_acompanhamento, null as id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_serie = ts.id_serie and tsm.id_turma = ts.id_turma and tsm.id_tipo_modelo_avaliacao_desc = 4 inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc where uf.id_instituicao = '97' and t.flg_organizada is true and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina td on td.id_turma = tp.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) where tp.id_turma = t.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '1924996' and d.id_disciplina = mad.id_disciplina);
Date: 2025-02-10 10:12:47 Duration: 619ms Bind query: yes
-
select ts.id_turma, ts.id_modelo_avaliacao_desc, ts.id_modelo_acompanhamento_atitudinal, ts.id_modelo_observacao_estudante, null as id_modelo_ficha_acompanhamento, ts.id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional where uf.id_instituicao = '97' and (ts.id_modelo_avaliacao_desc is not null or ts.id_modelo_acompanhamento_atitudinal is not null or ts.id_modelo_observacao_estudante is not null or ts.id_modelo_relatorio_geral is not null) and t.flg_organizada is true and exists ( select null from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '1926741') union all select ts.id_turma, null as id_modelo_avaliacao_desc, null as id_modelo_observacao_estudante, null as id_modelo_acompanhamento_atitudinal, tsm.id_modelo_avaliacao_desc as id_modelo_ficha_acompanhamento, null as id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_serie = ts.id_serie and tsm.id_turma = ts.id_turma and tsm.id_tipo_modelo_avaliacao_desc = 4 inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc where uf.id_instituicao = '97' and t.flg_organizada is true and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina td on td.id_turma = tp.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) where tp.id_turma = t.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '1926741' and d.id_disciplina = mad.id_disciplina);
Date: 2025-02-10 08:03:27 Duration: 542ms Bind query: yes
-
select ts.id_turma, ts.id_modelo_avaliacao_desc, ts.id_modelo_acompanhamento_atitudinal, ts.id_modelo_observacao_estudante, null as id_modelo_ficha_acompanhamento, ts.id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional where uf.id_instituicao = '98' and (ts.id_modelo_avaliacao_desc is not null or ts.id_modelo_acompanhamento_atitudinal is not null or ts.id_modelo_observacao_estudante is not null or ts.id_modelo_relatorio_geral is not null) and t.flg_organizada is true and exists ( select null from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '2012367') union all select ts.id_turma, null as id_modelo_avaliacao_desc, null as id_modelo_observacao_estudante, null as id_modelo_acompanhamento_atitudinal, tsm.id_modelo_avaliacao_desc as id_modelo_ficha_acompanhamento, null as id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_serie = ts.id_serie and tsm.id_turma = ts.id_turma and tsm.id_tipo_modelo_avaliacao_desc = 4 inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc where uf.id_instituicao = '98' and t.flg_organizada is true and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina td on td.id_turma = tp.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) where tp.id_turma = t.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '2012367' and d.id_disciplina = mad.id_disciplina);
Date: 2025-02-10 09:33:48 Duration: 418ms Bind query: yes
20 1m53s 727 100ms 501ms 156ms select count(*) as contagem from ( select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce(? || ano.semestre, ?) as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma on amt.id_turma = turma.id_turma, to_tsquery(?) query where am.flg_matricula_atual = true and cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and ano.ano = ? and cidadao.fts @@ query order by matricula_aluno) tabela;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Feb 10 07 70 9s50ms 129ms 08 160 24s321ms 152ms 09 173 25s72ms 144ms 10 324 55s133ms 170ms -
select count(*) as contagem from ( select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('carlos & henrique') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '97' and am.id_unidade_funcional = '607366' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno) tabela;
Date: 2025-02-10 10:39:28 Duration: 501ms Bind query: yes
-
select count(*) as contagem from ( select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('ISAAC & ANTONIO') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '92' and am.id_unidade_funcional = '606727' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno) tabela;
Date: 2025-02-10 10:58:38 Duration: 384ms Bind query: yes
-
select count(*) as contagem from ( select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('GEISIANE & MARIA & DA & SILVA') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '72' and am.id_unidade_funcional = '605747' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno) tabela;
Date: 2025-02-10 09:45:58 Duration: 349ms Bind query: yes
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 2,689 13m7s 131ms 1s505ms 292ms select a.codigo as matricula, am.id_aluno_matricula AS "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ? || cid.nome_pai AS "nomeFiliacao", to_char(cid.nascimento_data, ?) AS "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> ? and cid.id_instituicao = ? and date(cid.nascimento_data) = date(?) and cid.nome == = ? and (upper(cid.nome_pai) = upper(trim(?)) or upper(cid.nome_mae) = upper(trim(?)));Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Feb 10 08 1,085 4m59s 276ms 09 813 3m57s 291ms 10 791 4m10s 316ms -
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-11-30 00:00:00-03') and cid.nome == = 'micaella Peixoto Dias' and (upper(cid.nome_pai) = upper(trim('Thais de Paulo Peixoto')) or upper(cid.nome_mae) = upper(trim('Thais de Paulo Peixoto')));
Date: 2025-02-10 08:00:25 Duration: 1s505ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-10-13 00:00:00-03') and cid.nome == = 'thaylla liz dos Santos baía Lopes' and (upper(cid.nome_pai) = upper(trim('Jeane Reis dos Santos')) or upper(cid.nome_mae) = upper(trim('Jeane Reis dos Santos')));
Date: 2025-02-10 08:00:25 Duration: 1s472ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2011-06-22 00:00:00-03') and cid.nome == = 'kaio Felipe Gomes da Silva' and (upper(cid.nome_pai) = upper(trim('Paloma cristina souza silva')) or upper(cid.nome_mae) = upper(trim('Paloma cristina souza silva')));
Date: 2025-02-10 10:10:12 Duration: 1s219ms Bind query: yes
2 1,697 4m50s 100ms 518ms 171ms select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Feb 10 07 255 36s891ms 144ms 08 497 1m18s 158ms 09 481 1m22s 170ms 10 464 1m33s 201ms -
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000092', '250000093', '250000095', '250000096', '250000098', '250000099') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2371311' and tp.id_turma in ('250000092', '250000093', '250000095', '250000096', '250000098', '250000099') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:12:04 Duration: 518ms Bind query: yes
-
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250002257', '250002260', '250002262', '250002282', '250002291', '250002292') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013430' and tp.id_turma in ('250002257', '250002260', '250002262', '250002282', '250002291', '250002292') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:38:38 Duration: 431ms Bind query: yes
-
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250001960') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012668' and tp.id_turma in ('250001960') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:33:19 Duration: 421ms Bind query: yes
3 1,669 4m45s 100ms 1s602ms 170ms select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Feb 10 07 247 37s34ms 149ms 08 489 1m17s 158ms 09 465 1m18s 168ms 10 468 1m32s 197ms -
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000093', '250000096', '250000098') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012407' and tp.id_turma in ('250000093', '250000096', '250000098') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:06 Duration: 1s602ms Bind query: yes
-
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250010412') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1928403' and tp.id_turma in ('250010412') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:53 Duration: 642ms Bind query: yes
-
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000298') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012924' and tp.id_turma in ('250000298') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:34:10 Duration: 453ms Bind query: yes
4 1,669 4m41s 100ms 1s126ms 168ms select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Feb 10 07 237 35s216ms 148ms 08 494 1m17s 157ms 09 478 1m20s 168ms 10 460 1m28s 191ms -
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250010412') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1928403' and tp.id_turma in ('250010412') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:54 Duration: 1s126ms Bind query: yes
-
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000842') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013137' and tp.id_turma in ('250000842') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:54 Duration: 1s81ms Bind query: yes
-
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000092', '250000095', '250000099') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012505' and tp.id_turma in ('250000092', '250000095', '250000099') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:39:28 Duration: 426ms Bind query: yes
5 1,656 4m51s 100ms 3s697ms 176ms select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Feb 10 07 245 41s144ms 167ms 08 492 1m17s 156ms 09 471 1m21s 173ms 10 448 1m31s 204ms -
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250010412') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1928403' and tp.id_turma in ('250010412') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:52 Duration: 3s697ms Bind query: yes
-
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000842') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013137' and tp.id_turma in ('250000842') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:52 Duration: 2s103ms Bind query: yes
-
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250001557', '250001559', '250001561') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013938' and tp.id_turma in ('250001557', '250001559', '250001561') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 08:03:27 Duration: 835ms Bind query: yes
6 1,652 4m57s 100ms 1s369ms 180ms select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce(? || ano.semestre, ?) as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma on amt.id_turma = turma.id_turma, to_tsquery(?) query where am.flg_matricula_atual = true and cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and ano.ano = ? and cidadao.fts @@ query order by matricula_aluno limit ?;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Feb 10 07 253 47s753ms 188ms 08 356 1m 168ms 09 409 1m5s 161ms 10 634 2m4s 195ms -
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('nathanael & adryan') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '92' and am.id_unidade_funcional = '606741' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:04:30 Duration: 1s369ms Bind query: yes
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('ARTHUR & SOARES') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '98' and am.id_unidade_funcional = '607847' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:02:29 Duration: 1s39ms Bind query: yes
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('QUINTILIO') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '80' and am.id_unidade_funcional = '606143' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:10:43 Duration: 836ms Bind query: yes
7 1,639 4m39s 100ms 1s89ms 170ms select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = ? and tp.id_turma in (...) and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Feb 10 07 249 36s843ms 147ms 08 473 1m14s 157ms 09 457 1m17s 169ms 10 460 1m31s 198ms -
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250006662') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '1926042' and tp.id_turma in ('250006662') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:06 Duration: 1s89ms Bind query: yes
-
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000298') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '2012924' and tp.id_turma in ('250000298') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:34:11 Duration: 487ms Bind query: yes
-
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250006783') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '1929348' and tp.id_turma in ('250006783') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 08:16:05 Duration: 451ms Bind query: yes
8 800 2m2s 100ms 619ms 152ms select ts.id_turma, ts.id_modelo_avaliacao_desc, ts.id_modelo_acompanhamento_atitudinal, ts.id_modelo_observacao_estudante, null as id_modelo_ficha_acompanhamento, ts.id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional where uf.id_instituicao = ? and (ts.id_modelo_avaliacao_desc is not null or ts.id_modelo_acompanhamento_atitudinal is not null or ts.id_modelo_observacao_estudante is not null or ts.id_modelo_relatorio_geral is not null) and t.flg_organizada is true and exists ( select null from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = ?) union all select ts.id_turma, null as id_modelo_avaliacao_desc, null as id_modelo_observacao_estudante, null as id_modelo_acompanhamento_atitudinal, tsm.id_modelo_avaliacao_desc as id_modelo_ficha_acompanhamento, null as id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_serie = ts.id_serie and tsm.id_turma = ts.id_turma and tsm.id_tipo_modelo_avaliacao_desc = ? inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc where uf.id_instituicao = ? and t.flg_organizada is true and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina td on td.id_turma = tp.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) where tp.id_turma = t.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = ? and d.id_disciplina = mad.id_disciplina);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Feb 10 07 65 8s876ms 136ms 08 195 26s992ms 138ms 09 228 34s72ms 149ms 10 312 52s140ms 167ms -
select ts.id_turma, ts.id_modelo_avaliacao_desc, ts.id_modelo_acompanhamento_atitudinal, ts.id_modelo_observacao_estudante, null as id_modelo_ficha_acompanhamento, ts.id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional where uf.id_instituicao = '97' and (ts.id_modelo_avaliacao_desc is not null or ts.id_modelo_acompanhamento_atitudinal is not null or ts.id_modelo_observacao_estudante is not null or ts.id_modelo_relatorio_geral is not null) and t.flg_organizada is true and exists ( select null from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '1924996') union all select ts.id_turma, null as id_modelo_avaliacao_desc, null as id_modelo_observacao_estudante, null as id_modelo_acompanhamento_atitudinal, tsm.id_modelo_avaliacao_desc as id_modelo_ficha_acompanhamento, null as id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_serie = ts.id_serie and tsm.id_turma = ts.id_turma and tsm.id_tipo_modelo_avaliacao_desc = 4 inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc where uf.id_instituicao = '97' and t.flg_organizada is true and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina td on td.id_turma = tp.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) where tp.id_turma = t.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '1924996' and d.id_disciplina = mad.id_disciplina);
Date: 2025-02-10 10:12:47 Duration: 619ms Bind query: yes
-
select ts.id_turma, ts.id_modelo_avaliacao_desc, ts.id_modelo_acompanhamento_atitudinal, ts.id_modelo_observacao_estudante, null as id_modelo_ficha_acompanhamento, ts.id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional where uf.id_instituicao = '97' and (ts.id_modelo_avaliacao_desc is not null or ts.id_modelo_acompanhamento_atitudinal is not null or ts.id_modelo_observacao_estudante is not null or ts.id_modelo_relatorio_geral is not null) and t.flg_organizada is true and exists ( select null from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '1926741') union all select ts.id_turma, null as id_modelo_avaliacao_desc, null as id_modelo_observacao_estudante, null as id_modelo_acompanhamento_atitudinal, tsm.id_modelo_avaliacao_desc as id_modelo_ficha_acompanhamento, null as id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_serie = ts.id_serie and tsm.id_turma = ts.id_turma and tsm.id_tipo_modelo_avaliacao_desc = 4 inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc where uf.id_instituicao = '97' and t.flg_organizada is true and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina td on td.id_turma = tp.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) where tp.id_turma = t.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '1926741' and d.id_disciplina = mad.id_disciplina);
Date: 2025-02-10 08:03:27 Duration: 542ms Bind query: yes
-
select ts.id_turma, ts.id_modelo_avaliacao_desc, ts.id_modelo_acompanhamento_atitudinal, ts.id_modelo_observacao_estudante, null as id_modelo_ficha_acompanhamento, ts.id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional where uf.id_instituicao = '98' and (ts.id_modelo_avaliacao_desc is not null or ts.id_modelo_acompanhamento_atitudinal is not null or ts.id_modelo_observacao_estudante is not null or ts.id_modelo_relatorio_geral is not null) and t.flg_organizada is true and exists ( select null from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '2012367') union all select ts.id_turma, null as id_modelo_avaliacao_desc, null as id_modelo_observacao_estudante, null as id_modelo_acompanhamento_atitudinal, tsm.id_modelo_avaliacao_desc as id_modelo_ficha_acompanhamento, null as id_modelo_relatorio_geral from turma_serie ts inner join turma t on t.id_turma = ts.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_serie = ts.id_serie and tsm.id_turma = ts.id_turma and tsm.id_tipo_modelo_avaliacao_desc = 4 inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc where uf.id_instituicao = '98' and t.flg_organizada is true and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina td on td.id_turma = tp.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) where tp.id_turma = t.id_turma and tp.id_serie = ts.id_serie and tp.id_cidadao = '2012367' and d.id_disciplina = mad.id_disciplina);
Date: 2025-02-10 09:33:48 Duration: 418ms Bind query: yes
9 727 1m53s 100ms 501ms 156ms select count(*) as contagem from ( select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce(? || ano.semestre, ?) as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma on amt.id_turma = turma.id_turma, to_tsquery(?) query where am.flg_matricula_atual = true and cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and ano.ano = ? and cidadao.fts @@ query order by matricula_aluno) tabela;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Feb 10 07 70 9s50ms 129ms 08 160 24s321ms 152ms 09 173 25s72ms 144ms 10 324 55s133ms 170ms -
select count(*) as contagem from ( select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('carlos & henrique') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '97' and am.id_unidade_funcional = '607366' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno) tabela;
Date: 2025-02-10 10:39:28 Duration: 501ms Bind query: yes
-
select count(*) as contagem from ( select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('ISAAC & ANTONIO') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '92' and am.id_unidade_funcional = '606727' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno) tabela;
Date: 2025-02-10 10:58:38 Duration: 384ms Bind query: yes
-
select count(*) as contagem from ( select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('GEISIANE & MARIA & DA & SILVA') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '72' and am.id_unidade_funcional = '605747' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno) tabela;
Date: 2025-02-10 09:45:58 Duration: 349ms Bind query: yes
10 619 1m20s 100ms 261ms 130ms select pm.id_pre_matricula AS "idPreMatricula", pm.nome, pmu.num_opcao AS "numOpcao", uf.nome as unidade, s.descricao as serie, pms.descricao as situacao, pms.id_pre_matricula_situacao AS "idPreMatriculaSituacao" from pre_matricula pm inner join serie s on s.id_serie = pm.id_serie inner join pre_matricula_unidade pmu on pmu.id_pre_matricula = pm.id_pre_matricula inner join pre_matricula_situacao pms on pms.id_pre_matricula_situacao = pm.id_pre_matricula_situacao inner join unidade_funcional uf on uf.id_unidade_funcional = pmu.id_unidade_referencia where id_pre_matricula_usuario = ? and pmu.num_opcao = ? order by pm.nome;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Feb 10 07 16 1s890ms 118ms 08 107 13s933ms 130ms 09 179 23s487ms 131ms 10 317 41s603ms 131ms -
select pm.id_pre_matricula as "idPreMatricula", pm.nome, pmu.num_opcao as "numOpcao", uf.nome as unidade, s.descricao as serie, pms.descricao as situacao, pms.id_pre_matricula_situacao as "idPreMatriculaSituacao" from pre_matricula pm inner join serie s on s.id_serie = pm.id_serie inner join pre_matricula_unidade pmu ON pmu.id_pre_matricula = pm.id_pre_matricula inner join pre_matricula_situacao pms on pms.id_pre_matricula_situacao = pm.id_pre_matricula_situacao inner join unidade_funcional uf on uf.id_unidade_funcional = pmu.id_unidade_referencia where id_pre_matricula_usuario = '49374' and pmu.num_opcao = 1 order by pm.nome;
Date: 2025-02-10 10:20:09 Duration: 261ms Bind query: yes
-
select pm.id_pre_matricula as "idPreMatricula", pm.nome, pmu.num_opcao as "numOpcao", uf.nome as unidade, s.descricao as serie, pms.descricao as situacao, pms.id_pre_matricula_situacao as "idPreMatriculaSituacao" from pre_matricula pm inner join serie s on s.id_serie = pm.id_serie inner join pre_matricula_unidade pmu ON pmu.id_pre_matricula = pm.id_pre_matricula inner join pre_matricula_situacao pms on pms.id_pre_matricula_situacao = pm.id_pre_matricula_situacao inner join unidade_funcional uf on uf.id_unidade_funcional = pmu.id_unidade_referencia where id_pre_matricula_usuario = '64208' and pmu.num_opcao = 1 order by pm.nome;
Date: 2025-02-10 10:47:00 Duration: 260ms Bind query: yes
-
select pm.id_pre_matricula as "idPreMatricula", pm.nome, pmu.num_opcao as "numOpcao", uf.nome as unidade, s.descricao as serie, pms.descricao as situacao, pms.id_pre_matricula_situacao as "idPreMatriculaSituacao" from pre_matricula pm inner join serie s on s.id_serie = pm.id_serie inner join pre_matricula_unidade pmu ON pmu.id_pre_matricula = pm.id_pre_matricula inner join pre_matricula_situacao pms on pms.id_pre_matricula_situacao = pm.id_pre_matricula_situacao inner join unidade_funcional uf on uf.id_unidade_funcional = pmu.id_unidade_referencia where id_pre_matricula_usuario = '63859' and pmu.num_opcao = 1 order by pm.nome;
Date: 2025-02-10 10:23:25 Duration: 256ms Bind query: yes
11 563 2m38s 111ms 630ms 280ms select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in (...) and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = ? and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > ?;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Feb 10 07 134 31s638ms 236ms 08 157 41s540ms 264ms 09 126 36s827ms 292ms 10 146 48s 328ms -
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250006662') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '1926042' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2024-12-19 13:25:50.101';
Date: 2025-02-10 07:33:05 Duration: 630ms Bind query: yes
-
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250000681', '250000684') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '2336684' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2025-02-07 10:18:44.582';
Date: 2025-02-10 10:48:37 Duration: 582ms Bind query: yes
-
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250004923') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '2400434' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2025-02-04 12:21:06.976';
Date: 2025-02-10 10:18:13 Duration: 582ms Bind query: yes
12 494 1m52s 100ms 569ms 228ms select a.id_album_portal, a.nome, i.identificador AS "identificadorImagem", i.tipo, i.legenda, imagens.imagens from album_portal a join ( select count(*) as imagens, id_album_portal from album_portal_imagem group by id_album_portal) as imagens on imagens.id_album_portal = a.id_album_portal join imagem i on i.id_imagem = a.id_imagem_chamada join album_unidade_funcional astatus on astatus.id_album_portal = a.id_album_portal and astatus.id_unidade_funcional = ? and astatus.id_status_portal = ? where a.flg_exibir_album_portal = true and a.id_instituicao = ? order by astatus.data_publicacao desc nulls last, a.nome limit ?;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Feb 10 07 102 19s221ms 188ms 08 153 32s135ms 210ms 09 146 35s375ms 242ms 10 93 25s995ms 279ms -
select a.id_album_portal, a.nome, i.identificador as "identificadorImagem", i.tipo, i.legenda, imagens.imagens from album_portal a join ( select count(*) as imagens, id_album_portal from album_portal_imagem group by id_album_portal) as imagens on imagens.id_album_portal = a.id_album_portal join imagem i on i.id_imagem = a.id_imagem_chamada join album_unidade_funcional astatus on astatus.id_album_portal = a.id_album_portal and astatus.id_unidade_funcional = '17' and astatus.id_status_portal = 'pub' where a.flg_exibir_album_portal = true and a.id_instituicao = '8' order by astatus.data_publicacao desc nulls last, a.nome limit 3;
Date: 2025-02-10 09:06:13 Duration: 569ms Bind query: yes
-
select a.id_album_portal, a.nome, i.identificador as "identificadorImagem", i.tipo, i.legenda, imagens.imagens from album_portal a join ( select count(*) as imagens, id_album_portal from album_portal_imagem group by id_album_portal) as imagens on imagens.id_album_portal = a.id_album_portal join imagem i on i.id_imagem = a.id_imagem_chamada join album_unidade_funcional astatus on astatus.id_album_portal = a.id_album_portal and astatus.id_unidade_funcional = '17' and astatus.id_status_portal = 'pub' where a.flg_exibir_album_portal = true and a.id_instituicao = '8' order by astatus.data_publicacao desc nulls last, a.nome limit 3;
Date: 2025-02-10 10:18:33 Duration: 549ms Bind query: yes
-
select a.id_album_portal, a.nome, i.identificador as "identificadorImagem", i.tipo, i.legenda, imagens.imagens from album_portal a join ( select count(*) as imagens, id_album_portal from album_portal_imagem group by id_album_portal) as imagens on imagens.id_album_portal = a.id_album_portal join imagem i on i.id_imagem = a.id_imagem_chamada join album_unidade_funcional astatus on astatus.id_album_portal = a.id_album_portal and astatus.id_unidade_funcional = '8' and astatus.id_status_portal = 'pub' where a.flg_exibir_album_portal = true and a.id_instituicao = '8' order by astatus.data_publicacao desc nulls last, a.nome limit 3;
Date: 2025-02-10 09:33:46 Duration: 535ms Bind query: yes
13 449 2m55s 100ms 1s899ms 391ms select dependente.id_cidadao AS "idCidadao", coalesce(nullif (dependente.nome_social, ?), dependente.nome) AS "nomeDependente", am.id_aluno_matricula AS "idAluno", asem.ano, uf.nome AS "unidadeFuncional", uf.id_unidade_funcional AS "idUnidadeFuncional", t.nome AS "turma", t.id_turma AS "idTurma", s.descricao AS "serie", c.descricao AS "curso", tu.descricao AS "turno", usuario_dependente.id_usuario AS "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in (...) and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = ? and ui.id_instituicao = ?) order by dependente.nome;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Feb 10 07 87 24s399ms 280ms 08 115 35s331ms 307ms 09 124 46s695ms 376ms 10 123 1m9s 562ms -
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2032347') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:35:07 Duration: 1s899ms Bind query: yes
-
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2052837') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:22:38 Duration: 1s743ms Bind query: yes
-
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2052837') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:23:54 Duration: 1s672ms Bind query: yes
14 400 2m10s 100ms 822ms 325ms select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in (...) and exists ( select null from turma_professor tp where tp.id_cidadao = ? and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = ?) and rd.data_referencia = sda.data and rd.data_atualizacao > ? and t.id_periodicidade_conteudo in (...) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = ?) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > ? and t.id_periodicidade_conteudo = ?);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Feb 10 07 52 13s171ms 253ms 08 117 34s416ms 294ms 09 128 43s948ms 343ms 10 103 38s756ms 376ms -
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250008654', '250008656', '250008657', '250008658', '250008660', '250010164') and exists ( select null from turma_professor tp where tp.id_cidadao = '1926108' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 10:46:36.012' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 10:46:36.012' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 10:47:01 Duration: 822ms Bind query: yes
-
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250000723', '250000724', '250000733', '250001486', '250001487', '250001488') and exists ( select null from turma_professor tp where tp.id_cidadao = '2013416' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 09:15:29.171' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 09:15:29.171' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 09:34:29 Duration: 762ms Bind query: yes
-
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250007332', '250007335', '250007337', '250007338', '250007342', '250007343') and exists ( select null from turma_professor tp where tp.id_cidadao = '1926615' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 09:09:49.026' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 09:09:49.026' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 09:10:54 Duration: 751ms Bind query: yes
15 354 1m 100ms 452ms 171ms select a.id_cidadao, a.codigo, c.nome, c.nascimento_data, ano.ano, ano.semestre, cur.sigla as curso, s.sigla as serie, t.codigo as turma, ams.descricao as status, am.id_curso, am.id_aluno_matricula, am.id_serie, amt.id_turma from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on a.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join curso cur on cur.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma t on t.id_turma = amt.id_turma where am.id_unidade_funcional = ? and (am.id_aluno_matr_status in (...) or am.flg_matricula_atual is true or am.id_aluno_matricula in ( select id_aluno_matricula_anterior from aluno_matricula where id_cidadao = am.id_cidadao and id_ano_semestre = am.id_ano_semestre and flg_matricula_atual is true)) and ano.ano = ? and c.nome == = ? order by a.codigo;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Feb 10 07 48 7s822ms 162ms 08 95 15s330ms 161ms 09 104 17s396ms 167ms 10 107 20s267ms 189ms -
select a.id_cidadao, a.codigo, c.nome, c.nascimento_data, ano.ano, ano.semestre, cur.sigla as curso, s.sigla as serie, t.codigo as turma, ams.descricao as status, am.id_curso, am.id_aluno_matricula, am.id_serie, amt.id_turma from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on a.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join curso cur on cur.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma where am.id_unidade_funcional = '606726' and (am.id_aluno_matr_status in (1, 2, 7) or am.flg_matricula_atual is true or am.id_aluno_matricula in ( select id_aluno_matricula_anterior from aluno_matricula where id_cidadao = am.id_cidadao and id_ano_semestre = am.id_ano_semestre and flg_matricula_atual is true)) and ano.ano = '2024' and c.nome == = 'alan silva do nascimento' order by a.codigo;
Date: 2025-02-10 09:07:21 Duration: 452ms Bind query: yes
-
select a.id_cidadao, a.codigo, c.nome, c.nascimento_data, ano.ano, ano.semestre, cur.sigla as curso, s.sigla as serie, t.codigo as turma, ams.descricao as status, am.id_curso, am.id_aluno_matricula, am.id_serie, amt.id_turma from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on a.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join curso cur on cur.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma where am.id_unidade_funcional = '605747' and (am.id_aluno_matr_status in (1, 2, 7) or am.flg_matricula_atual is true or am.id_aluno_matricula in ( select id_aluno_matricula_anterior from aluno_matricula where id_cidadao = am.id_cidadao and id_ano_semestre = am.id_ano_semestre and flg_matricula_atual is true)) and ano.ano = '2025' and c.nome == = 'pereira sales' order by a.codigo;
Date: 2025-02-10 10:22:36 Duration: 426ms Bind query: yes
-
select a.id_cidadao, a.codigo, c.nome, c.nascimento_data, ano.ano, ano.semestre, cur.sigla as curso, s.sigla as serie, t.codigo as turma, ams.descricao as status, am.id_curso, am.id_aluno_matricula, am.id_serie, amt.id_turma from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on a.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join curso cur on cur.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma where am.id_unidade_funcional = '607116' and (am.id_aluno_matr_status in (1, 2, 7) or am.flg_matricula_atual is true or am.id_aluno_matricula in ( select id_aluno_matricula_anterior from aluno_matricula where id_cidadao = am.id_cidadao and id_ano_semestre = am.id_ano_semestre and flg_matricula_atual is true)) and ano.ano = '2025' and c.nome == = 'JOÃO VITOR SILVA PEREIRA' order by a.codigo;
Date: 2025-02-10 10:30:30 Duration: 420ms Bind query: yes
16 327 27m43s 2s693ms 15s307ms 5s85ms select id_aluno_matricula, chamada, ? as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, faltas_mes::int, (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = ? then case when s.flg_serie_atividade_complementar is true then ? else ? end when t.id_tipo_turma = ? then ? when t.id_tipo_turma = ? then ? end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma)) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), ?)::int as faltas_mes, coalesce(( select sum(coalesce(falta_justificada, ?) + coalesce(falta_nao_justificada, ?)) from falta_anterior_aluno_globalizada fa where fa.id_aluno_matricula = a.id_aluno_matricula), ?)::int as faltas_anteriores from aluno_turma_diario_impresso a cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = ? left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = ? and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Feb 10 07 30 2m29s 4s986ms 08 122 11m5s 5s452ms 09 73 5m32s 4s551ms 10 102 8m36s 5s59ms -
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250010111' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24290' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 08:03:37 Duration: 15s307ms Bind query: yes
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250010755' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24204' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 08:20:23 Duration: 13s765ms Bind query: yes
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250009878' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24290' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 07:59:22 Duration: 12s185ms Bind query: yes
17 288 57s259ms 100ms 430ms 198ms select apontamento.id_aluno_matricula, apontamento.id_turma, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, apontamento.id_opcao_eixo_modelo_aval, apontamento.expressao_aval_livre, apontamento.valor_numerico from apontamento_eixo_aval_desc apontamento where apontamento.id_turma in (...) and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > ? and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Feb 10 07 35 5s584ms 159ms 08 96 17s534ms 182ms 09 82 17s534ms 213ms 10 75 16s606ms 221ms -
select apontamento.id_aluno_matricula, apontamento.id_turma, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, apontamento.id_opcao_eixo_modelo_aval, apontamento.expressao_aval_livre, apontamento.valor_numerico from apontamento_eixo_aval_desc apontamento where apontamento.id_turma in ('250004903', '250004466', '250004467', '250004465', '250004942', '250004462', '250004463', '250004460', '250004461', '250004459', '250004457', '250004953') and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 09:17:16.41' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 09:21:40 Duration: 430ms Bind query: yes
-
select apontamento.id_aluno_matricula, apontamento.id_turma, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, apontamento.id_opcao_eixo_modelo_aval, apontamento.expressao_aval_livre, apontamento.valor_numerico from apontamento_eixo_aval_desc apontamento where apontamento.id_turma in ('250011362', '250011360', '250008673', '250011357', '250008683', '250011352') and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 09:47:27.953' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 10:47:26 Duration: 429ms Bind query: yes
-
select apontamento.id_aluno_matricula, apontamento.id_turma, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, apontamento.id_opcao_eixo_modelo_aval, apontamento.expressao_aval_livre, apontamento.valor_numerico from apontamento_eixo_aval_desc apontamento where apontamento.id_turma in ('250005542', '250005557', '250005541', '250009848', '250009849') and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 10:52:07.479' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 10:53:21 Duration: 426ms Bind query: yes
18 270 1m43s 107ms 1s177ms 383ms ( select distinct s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, ?) + coalesce(aps.coluna2, ?) as pontos, jtt.descricao as descricao_jornadaopcao, jtos.horas_atribuidas, null as jex, c.id_cidadao, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, null as fase, aa.descricao as areaatuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ? || jtt.carga_horaria || ? as jornadaopcao, servidor_cargo.matricula_cargo as matricula, case when ato_historico.contador notnull then ? else ? end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_base lcacb using (id_local_class_atribuicao) inner join servidor_cargo_base servidor_cargo on servidor_cargo.id_servidor_cargo_base = lcacb.id_servidor_cargo_base and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_base jtocb on (jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_base apscb on (apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = ? and sah.data_referencia <= to_timestamp(?, ?) and (sah.data_fim isnull or sah.data_fim >= to_timestamp(?, ?)) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where (? = ?) and c.nome == = ? and ano_semestre.ano = ? and lca.id_unidade_funcional = ? and ca.id_instituicao = ?) union ( select distinct s.registro_funcional as rf, scb.cl as cl, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, ?) + coalesce(aps.coluna2, ?) as pontos, jtt.descricao as descricao_jornadaopcao, jtos.horas_atribuidas, null as jex, c.id_cidadao, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, null as fase, aa.descricao as areaatuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ? || jtt.carga_horaria || ? as jornadaopcao, null as matricula, case when ato_historico.contador notnull then ? else ? end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_sobrep lcacs using (id_local_class_atribuicao) inner join servidor_cargo_sobr_alt servidor_cargo on servidor_cargo.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor_cargo_base scb on (scb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_sobr jtocs on (jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_sobr apscs on (apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = ? and sah.data_referencia <= to_timestamp(?, ?) and (sah.data_fim isnull or sah.data_fim >= to_timestamp(?, ?)) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where (? = ?) and c.nome == = ? and ano_semestre.ano = ? and lca.id_unidade_funcional = ? and ca.id_instituicao = ?) order by rf_integer;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Feb 10 07 41 12s817ms 312ms 08 32 15s566ms 486ms 09 57 19s807ms 347ms 10 140 55s220ms 394ms -
( select distinct s.registro_funcional as RF, servidor_cargo.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, servidor_cargo.matricula_cargo as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_base lcacb using (id_local_class_atribuicao) inner join servidor_cargo_base servidor_cargo on servidor_cargo.id_servidor_cargo_base = lcacb.id_servidor_cargo_base and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_base jtocb on (jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_base apscb on (apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 10:39:50', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 10:39:50', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'ANA LUCIA' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 607114 AND ca.id_instituicao = 98) union ( select distinct s.registro_funcional as RF, scb.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, null as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_sobrep lcacs using (id_local_class_atribuicao) inner join servidor_cargo_sobr_alt servidor_cargo on servidor_cargo.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor_cargo_base scb on (scb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_sobr jtocs on (jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_sobr apscs on (apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 10:39:50', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 10:39:50', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'ANA LUCIA' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 607114 AND ca.id_instituicao = 98) ORDER BY rf_integer;
Date: 2025-02-10 10:39:52 Duration: 1s177ms Bind query: yes
-
( select distinct s.registro_funcional as RF, servidor_cargo.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, servidor_cargo.matricula_cargo as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_base lcacb using (id_local_class_atribuicao) inner join servidor_cargo_base servidor_cargo on servidor_cargo.id_servidor_cargo_base = lcacb.id_servidor_cargo_base and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_base jtocb on (jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_base apscb on (apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 08:41:15', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 08:41:15', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'EDILENE' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 385 AND ca.id_instituicao = 82) union ( select distinct s.registro_funcional as RF, scb.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, null as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_sobrep lcacs using (id_local_class_atribuicao) inner join servidor_cargo_sobr_alt servidor_cargo on servidor_cargo.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor_cargo_base scb on (scb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_sobr jtocs on (jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_sobr apscs on (apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 08:41:15', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 08:41:15', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'EDILENE' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 385 AND ca.id_instituicao = 82) ORDER BY rf_integer;
Date: 2025-02-10 08:41:16 Duration: 1s104ms Bind query: yes
-
( select distinct s.registro_funcional as RF, servidor_cargo.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, servidor_cargo.matricula_cargo as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_base lcacb using (id_local_class_atribuicao) inner join servidor_cargo_base servidor_cargo on servidor_cargo.id_servidor_cargo_base = lcacb.id_servidor_cargo_base and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_base jtocb on (jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_base apscb on (apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 10:35:03', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 10:35:03', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'ALEXANDRA SOARES DE PAULA GUIMARÃES' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 369 AND ca.id_instituicao = 82) union ( select distinct s.registro_funcional as RF, scb.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, null as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_sobrep lcacs using (id_local_class_atribuicao) inner join servidor_cargo_sobr_alt servidor_cargo on servidor_cargo.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor_cargo_base scb on (scb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_sobr jtocs on (jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_sobr apscs on (apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 10:35:03', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 10:35:03', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'ALEXANDRA SOARES DE PAULA GUIMARÃES' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 369 AND ca.id_instituicao = 82) ORDER BY rf_integer;
Date: 2025-02-10 10:35:04 Duration: 979ms Bind query: yes
19 270 43s667ms 100ms 435ms 161ms delete from aluno_matr_turma where id_turma = ? and id_aluno_matricula = ?;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Feb 10 07 22 3s231ms 146ms 08 71 10s585ms 149ms 09 70 10s615ms 151ms 10 107 19s234ms 179ms -
delete from aluno_matr_turma where id_turma = '250001180' and id_aluno_matricula = '3433332';
Date: 2025-02-10 10:37:01 Duration: 435ms Bind query: yes
-
delete from aluno_matr_turma where id_turma = '250003128' and id_aluno_matricula = '3470105';
Date: 2025-02-10 09:36:09 Duration: 393ms Bind query: yes
-
delete from aluno_matr_turma where id_turma = '250014634' and id_aluno_matricula = '3678391';
Date: 2025-02-10 09:56:07 Duration: 365ms Bind query: yes
20 260 53s286ms 100ms 546ms 204ms select apontamento.id_turma, apontamento.id_aluno_matricula, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, case when eixo_modelo.flg_multipla_escolha is false then apontamento.id_opcao_eixo_modelo_aval when eixo_modelo.flg_multipla_escolha is true then opcao_eixo else null end as id_opcao_eixo_modelo_aval from apontamento_eixo_aval_desc apontamento inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_eixo_modelo_avaliacao_desc = apontamento.id_eixo_modelo_avaliacao_desc left join unnest(apontamento.opcoes_eixo_modelo_aval) as opcao_eixo on eixo_modelo.flg_multipla_escolha is true where apontamento.id_turma in (...) and eixo_modelo.id_expressao_avaliacao = ? and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > ? and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Feb 10 07 36 5s515ms 153ms 08 92 17s720ms 192ms 09 71 15s919ms 224ms 10 61 14s131ms 231ms -
select apontamento.id_turma, apontamento.id_aluno_matricula, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, case when eixo_modelo.flg_multipla_escolha is false then apontamento.id_opcao_eixo_modelo_aval when eixo_modelo.flg_multipla_escolha is true then opcao_eixo else null end as id_opcao_eixo_modelo_aval from apontamento_eixo_aval_desc apontamento inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_eixo_modelo_avaliacao_desc = apontamento.id_eixo_modelo_avaliacao_desc left join unnest(apontamento.opcoes_eixo_modelo_aval) as opcao_eixo on eixo_modelo.flg_multipla_escolha is true where apontamento.id_turma in ('250005826', '250005827', '250005824', '250007325') and eixo_modelo.id_expressao_avaliacao = 2 and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 10:24:42.607' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 10:30:53 Duration: 546ms Bind query: yes
-
select apontamento.id_turma, apontamento.id_aluno_matricula, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, case when eixo_modelo.flg_multipla_escolha is false then apontamento.id_opcao_eixo_modelo_aval when eixo_modelo.flg_multipla_escolha is true then opcao_eixo else null end as id_opcao_eixo_modelo_aval from apontamento_eixo_aval_desc apontamento inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_eixo_modelo_avaliacao_desc = apontamento.id_eixo_modelo_avaliacao_desc left join unnest(apontamento.opcoes_eixo_modelo_aval) as opcao_eixo on eixo_modelo.flg_multipla_escolha is true where apontamento.id_turma in ('250007335', '250007332', '250007342', '250007343', '250007338', '250007337') and eixo_modelo.id_expressao_avaliacao = 2 and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 09:10:35.28' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 10:09:19 Duration: 446ms Bind query: yes
-
select apontamento.id_turma, apontamento.id_aluno_matricula, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, case when eixo_modelo.flg_multipla_escolha is false then apontamento.id_opcao_eixo_modelo_aval when eixo_modelo.flg_multipla_escolha is true then opcao_eixo else null end as id_opcao_eixo_modelo_aval from apontamento_eixo_aval_desc apontamento inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_eixo_modelo_avaliacao_desc = apontamento.id_eixo_modelo_avaliacao_desc left join unnest(apontamento.opcoes_eixo_modelo_aval) as opcao_eixo on eixo_modelo.flg_multipla_escolha is true where apontamento.id_turma in ('250005542', '250005557', '250005541', '250009848', '250009849') and eixo_modelo.id_expressao_avaliacao = 2 and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 08:49:39.372' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 09:21:40 Duration: 432ms Bind query: yes
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 10s618ms 26s257ms 21s162ms 12 4m13s with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = ?) and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = ?)) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> ? then to_char(max(data_ocorrencia), ?) else to_char(am.data_matricula, ?) end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then ? else ? end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, ?) as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, ?) as login_aluno, coalesce(procedencia_rendimento.descricao, ?) as procedencia_rendimento, coalesce(procedencia_escola.descricao, ?) as procedencia_escola, coalesce(procedencia_modalidade.descricao, ?) as procedencia_modalidade, coalesce(dc.numero_cns, ?) as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || ? || dc.dv_rg else dc.numero_rg end else ? end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, ?) as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> ? then coalesce(? || ct.telefone_ddd || ?, ?) || ct.telefone_numero || ? || ct.telefone_recado_para else coalesce(? || ct.telefone_ddd || ?, ?) || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ?)) as telefones_contato, to_char(cid.nascimento_data, ?) as data_nascimento_aluno, coalesce(dc.numero_nis, ?) as nis_aluno, coalesce(cid.email, ?) as email_aluno, coalesce(cid.email_instituicional, ?) as email_institucional_aluno, coalesce(u.email_autenticacao_externa, ?) as email_autenticacao_externa, coalesce(m.nome, ?) as municipio_nascimento, coalesce(estado_nascimento.sigla, ?) as uf_nascimento, coalesce(cid.sexo, ?) as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, ?) as raca_cor, case when cid.flg_necessidade_especial is true then ? when cid.flg_necessidade_especial is false then ? end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ? order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), ?) as tipo_necessidade, case when cid.flg_atendimento_especializado is true then ? when cid.flg_atendimento_especializado is false then ? end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ? || case when cae.flg_publico then ? else ? end, ? order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), ?) as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then ? when aluno_observacoes_familia.flg_recebe_bolsa_familia then ? else ? end as bolsa_familia, coalesce(cid.nome_mae, ?) as nome_mae, coalesce( case when a.id_responsavel_tipo = ? then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, ?) as cpf_mae, coalesce(ge_mae.descricao, ?) as escolaridade_mae, coalesce(cid.nome_pai, ?) as nome_pai, coalesce( case when a.id_responsavel_tipo = ? then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, ?) as cpf_pai, coalesce(ge_pai.descricao, ?) as escolaridade_pai, coalesce(rt.descricao, ?) as responsavel, coalesce(tro.sigla, ?) as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, ?) as nome_responsavel, coalesce(usuario_responsavel.login, ?) as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, ?) as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, ?) as nis_responsavel, coalesce(resp.email, ?) as email_responsavel, coalesce(ce.endereco, ?) as logradouro, coalesce(ce.numero, ?) as numero_logradouro, coalesce(ce.bairro, ?) as bairro_logradouro, coalesce(ce.complemento, ?) as complemento_logradouro, coalesce(mun.nome, ?) as municipio_logradouro, coalesce(dis.nome, ?) as distrito_logradouro, coalesce(estado.sigla, ?) as uf_logradouro, coalesce(formatar_cep (ce.cep), ?) as cep_logradouro, coalesce(mld.descricao, ?) as localizacao_diferenciada, coalesce(unidade_localizacao.nome, ?) as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = ? and uf.id_unidade_funcional = medoa.id_unidade_funcional), ?) as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, ?) as turno, coalesce(t.codigo, ?) as turma, coalesce(t.nome, ?) as nome_turma, coalesce(mp.descricao, ?) as nome_programa, case when t.flg_especial = true then ? when t.flg_especial = false then ? else ? end as tipo_turma, case when t.flg_multietapa is true then ? else ? end turma_multietapa, case when t.flg_multiseriada is true then ? else ? end as turma_multsseriada, coalesce(turma_status.descricao, ?) as situacao_turma, coalesce(ambiente_turma.num_sala::text, ?) as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else ? end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else ? end as nome_anexo, coalesce(dc.numero_matricula_cn, ?) numero_matricula_certidao, coalesce(nac.nome, ?) nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae on ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai on ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, ?) as data_realizacao, case when amsh.flg_transferencia_interna is null then ? when amsh.flg_transferencia_interna is true then ? else ? end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit ?) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = ? and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = ? and uf.id_unidade_funcional in ( select ? union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?) order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Feb 10 07 2 51s948ms 25s974ms 08 4 1m26s 21s594ms 09 4 1m9s 17s354ms 10 2 46s209ms 23s104ms -
with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '481' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '481' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2025-02-10 07:33:42 Duration: 26s257ms Bind query: yes
-
with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '98')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '98' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '607169' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607169' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2025-02-10 08:26:09 Duration: 26s202ms Bind query: yes
-
with ultima_matricula as ( select id_cidadao, id_aluno_matricula from ( select id_cidadao, id_aluno_matricula, data_inclusao, max(data_inclusao) over (partition by id_cidadao) as ultima_data from aluno_matricula where id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2025') and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, coalesce(( select string_agg(distinct mne.descricao, ', ' order by mne.descricao) from mec_necessidade_especial mne inner join necessidade_especial ne on ne.id_mec_necessidade_especial = mne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial inner join cidadao on cidadao.id_cidadao = cne.id_cidadao where cid.id_cidadao = cidadao.id_cidadao), '') as tipo_necessidade, case when cid.flg_atendimento_especializado is true then 'Sim' when cid.flg_atendimento_especializado is false then 'Não' end as recebe_atendimento_especializado, coalesce(( select string_agg(ae.descricao || ': ' || case when cae.flg_publico then 'Público' else 'Particular' end, ', ' order by ae.descricao) from cidadao_atendimento_especializado cae inner join atendimento_especializado ae on ae.id_atendimento_especializado = cae.id_atendimento_especializado where cae.id_cidadao = cid.id_cidadao), '') as atendimento_especializado, case when aluno_observacoes_familia.flg_recebe_bolsa_familia isnull then '' when aluno_observacoes_familia.flg_recebe_bolsa_familia then 'Sim' else 'Não' end as bolsa_familia, coalesce(cid.nome_mae, '') as nome_mae, coalesce( case when a.id_responsavel_tipo = 2 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_mae, coalesce(ge_mae.descricao, '') as escolaridade_mae, coalesce(cid.nome_pai, '') as nome_pai, coalesce( case when a.id_responsavel_tipo = 1 then formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) else null end, '') as cpf_pai, coalesce(ge_pai.descricao, '') as escolaridade_pai, coalesce(rt.descricao, '') as responsavel, coalesce(tro.sigla, '') as tipo_responsavel, coalesce( case when a.id_responsavel is not null then resp.nome when a.nome_responsavel is not null then a.nome_responsavel end, '') as nome_responsavel, coalesce(usuario_responsavel.login, '') as login_responsavel, formatar_cpf (doc_cid.numero_cpf, doc_cid.digito_cpf) as cpf_responsavel, to_char(resp.nascimento_data, 'dd/MM/YYYY') as data_nascimento_responsavel, coalesce(doc_cid.numero_nis, '') as nis_responsavel, coalesce(resp.email, '') as email_responsavel, coalesce(ce.endereco, '') as logradouro, coalesce(ce.numero, '') as numero_logradouro, coalesce(ce.bairro, '') as bairro_logradouro, coalesce(ce.complemento, '') as complemento_logradouro, coalesce(mun.nome, '') as municipio_logradouro, coalesce(dis.nome, '') as distrito_logradouro, coalesce(estado.sigla, '') as uf_logradouro, coalesce(formatar_cep (ce.cep), '') as cep_logradouro, coalesce(mld.descricao, '') as localizacao_diferenciada, coalesce(unidade_localizacao.nome, '') as unidade_localizacao, uf.codigo as codigo_escola, uf.nome as nome_escola, coalesce(( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on medoa.id_mec_escola_opcao_atributo = meoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = 2 and uf.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, ee.sigla as etapa_ensino, mod.descricao as modalidade, c.sigla as curso, s.sigla as serie_etapa, coalesce(tu.descricao, '') as turno, coalesce(t.codigo, '') as turma, coalesce(t.nome, '') as nome_turma, coalesce(mp.descricao, '') as nome_programa, case when t.flg_especial = true then 'Especial' when t.flg_especial = false then 'Regular' else '' end as tipo_turma, case when t.flg_multietapa is true then 'Sim' else 'Não' end turma_multietapa, case when t.flg_multiseriada is true then 'Sim' else 'Não' end as turma_multsseriada, coalesce(turma_status.descricao, '') as situacao_turma, coalesce(ambiente_turma.num_sala::text, '') as numero_sala, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then cast(uf_ambiente.codigo as varchar) else '' end as codigo_anexo, case when uf_ambiente.id_unidade_funcional <> t.id_unidade_funcional then uf_ambiente.nome else '' end as nome_anexo, coalesce(dc.numero_matricula_cn, '') numero_matricula_certidao, coalesce(nac.nome, '') nacionalidade from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao inner join tipo_transporte_escolar tte on tte.id_tipo_transporte_escolar = a.id_tipo_transporte_escolar inner join aluno_matricula am on am.id_cidadao = cid.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join aluno_observacoes_familia ON aluno_observacoes_familia.id_cidadao = a.id_cidadao left join procedencia_rendimento on procedencia_rendimento.id_procedencia_rendimento = am.id_procedencia_rendimento left join procedencia_escola on procedencia_escola.id_procedencia_escola = am.id_procedencia_escola left join procedencia_modalidade on procedencia_modalidade.id_procedencia_modalidade = am.id_procedencia_modalidade inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre left join municipio m on m.id_municipio = cid.id_municipio_nascimento left join uf estado_nascimento on estado_nascimento.id_uf = m.id_uf left join nacionalidade nac on nac.id_nacionalidade = cid.id_nacionalidade left join raca_cor rc on rc.id_raca_cor = cid.id_raca_cor inner join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun on mun.id_municipio = ce.id_municipio left join uf estado on mun.id_uf = estado.id_uf left join distrito dis on dis.id_distrito = ce.id_distrito left join documentos_cidadao dc on cid.id_cidadao = dc.id_cidadao left join cidadao resp on a.id_responsavel = resp.id_cidadao left join responsavel_tipo rt on a.id_responsavel_tipo = rt.id_responsavel_tipo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join documentos_cidadao doc_cid on doc_cid.id_cidadao = resp.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join escola on escola.id_unidade_funcional = uf.id_unidade_funcional left join unidade_funcional unidade_localizacao on unidade_localizacao.id_unidade_funcional = escola.id_unidade_localizacao inner join curso c on c.id_curso = am.id_curso inner join modalidade mod on c.id_modalidade = mod.id_modalidade inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula left join turma t on t.id_turma = amt.id_turma left join turno tu on t.id_turno = tu.id_turno left join turma_status on turma_status.id_turma_status = t.id_turma_status left join turma_especial te on t.id_turma = te.id_turma left join mec_programa mp on mp.id_mec_programa = t.id_mec_programa left join grau_escolaridade ge_mae ON ge_mae.id_grau_escolaridade = cid.id_grau_escolaridade_mae left join grau_escolaridade ge_pai ON ge_pai.id_grau_escolaridade = cid.id_grau_escolaridade_pai -- Anexo left join ambiente ambiente_turma on ambiente_turma.id_ambiente = t.id_ambiente left join unidade_funcional uf_ambiente on uf_ambiente.id_unidade_funcional = ambiente_turma.id_unidade_referencia left join lateral ( select to_char(amsh.data_cadastro, 'dd/MM/YYYY') as data_realizacao, case when amsh.flg_transferencia_interna is null then '' when amsh.flg_transferencia_interna is true then 'Transferência interna' else 'Transferência externa' end as tipo_transferencia, tm.descricao as motivo_transferencia from aluno_matr_status_hist amsh left join transferencia_motivo tm on tm.id_transferencia_motivo = amsh.id_transferencia_motivo where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_cadastro desc, amsh.id_aluno_matr_status_hist desc limit 1) as historico on true left join cidadao_usuario cu on cu.id_cidadao = am.id_cidadao left join usuario u on u.id_usuario = cu.id_usuario left join cidadao_usuario cidadao_responsavel on cidadao_responsavel.id_cidadao = a.id_responsavel left join usuario usuario_responsavel on usuario_responsavel.id_usuario = cidadao_responsavel.id_usuario left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = cid.id_mec_localizacao_diferenciada left join ensino_etapa ee on ee.id_ensino_etapa = mod.id_ensino_etapa left join uf uf_emisso_rg on uf_emisso_rg.id_uf = dc.id_uf_emissor_rg left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg where cid.id_instituicao = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2025' and uf.id_unidade_funcional in ( select '381' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '381' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2025-02-10 07:23:30 Duration: 25s691ms Bind query: yes
2 2s411ms 20s15ms 8s41ms 28 3m45s select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ? and pbo.id_serie = ? and pbo.id_disciplina = ?) left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Feb 10 08 28 3m45s 8s41ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 08:41:33 Duration: 20s15ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 08:38:36 Duration: 19s385ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240004145' and pbo.id_serie = '2203' and pbo.id_disciplina = '2193') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240004145' and ts.id_serie = '2203' and cc.id_disciplina = '2193' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 08:44:17 Duration: 17s223ms Bind query: yes
3 2s693ms 15s307ms 5s85ms 327 27m43s select id_aluno_matricula, chamada, ? as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, faltas_mes::int, (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = ? then case when s.flg_serie_atividade_complementar is true then ? else ? end when t.id_tipo_turma = ? then ? when t.id_tipo_turma = ? then ? end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma)) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), ?)::int as faltas_mes, coalesce(( select sum(coalesce(falta_justificada, ?) + coalesce(falta_nao_justificada, ?)) from falta_anterior_aluno_globalizada fa where fa.id_aluno_matricula = a.id_aluno_matricula), ?)::int as faltas_anteriores from aluno_turma_diario_impresso a cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = ? left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = ? and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Feb 10 07 30 2m29s 4s986ms 08 122 11m5s 5s452ms 09 73 5m32s 4s551ms 10 102 8m36s 5s59ms -
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250010111' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24290' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 08:03:37 Duration: 15s307ms Bind query: yes
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250010755' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24204' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 08:20:23 Duration: 13s765ms Bind query: yes
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = '1' then case when s.flg_serie_atividade_complementar is true then '5' else '1' end when t.id_tipo_turma = '2' then '2' when t.id_tipo_turma = '3' then '4' end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250009878' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24290' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 07:59:22 Duration: 12s185ms Bind query: yes
4 1s233ms 4s852ms 3s32ms 52 2m37s select amt.id_aluno_turma, a.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, amt.chamada, ams.flg_status_ativo and not amt.flg_remanejado as flg_status_ativo, am.id_aluno_matr_status = ? as flg_aluno_abandono, amt.flg_remanejado, case amt.flg_remanejado when true then ? else ams.descricao end as situacao_aluno, coalesce(am.flg_parecer_descritivo, false) as flg_parecer_descritivo, c.nome as aluno, curso.id_curso, s.sigla as serie, d.descricao as disciplina, formatar_horaminuto (gc.duracao_aula * coalesce(fa.falta_nao_justificada, ?)) as falta_nao_justificada, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_justificadas, ?)) as total_faltas_justificadas, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_nao_justificadas, ?)) as total_faltas_nao_justificadas, amdd.id_motivo_dispensa_disciplina is not null as flg_dispensado, case when ams.flg_status_ativo and cc.id_forma_avaliacao_componente in (...) and amdd.id_motivo_dispensa_disciplina isnull then cc.flg_aponta_notas else false end as flg_aponta_notas, serie_destino.sigla as serie_destino, cc.id_forma_avaliacao_componente = ? or cc.id_expressao_resultado_componente = ? as flg_conceito, greatest (na.nota, na_rec.nota, na.nota_conselho) as nota, case when s.flg_permite_recuperacao_final and ca_rec.flg_aprova then ca_rec.sigla else ca.sigla end as conceito, amt.frequencia, pc.flg_reclassificado_frequencia from ( select row_number() over ()::int as id_aluno_turma, * from ( select amt.id_turma, amt.id_aluno_matricula, amt.chamada, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as frequencia, am.id_aluno_matr_status = ? as flg_remanejado from aluno_matr_turma amt inner join turma on turma.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula where amt.id_turma = ? and ((turma.id_diario_turma_situacao = ? and amt.id_diario_turma_situacao_enturmacao = ?) or (turma.id_diario_turma_situacao <> ? or turma.id_diario_turma_situacao is null))) as alunos) amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> ? and amsh.id_aluno_matricula = amt.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit ?) as ultimo_historico_sem_unificacao on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = ? and ultimo_historico_sem_unificacao.id_aluno_matr_status = ? then ? else ultimo_historico_sem_unificacao.id_aluno_matr_status end inner join serie s on s.id_serie = am.id_serie inner join curso on s.id_curso = curso.id_curso inner join grade_curricular gc on gc.id_grade_curricular = ? inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = am.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and amdd.flg_dispensado_todos_periodos is true left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = ? and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in (...) and amdd.id_motivo_dispensa_disciplina isnull left join nota_aluno na_rec on na_rec.id_disciplina = d.id_disciplina and na_rec.id_aluno_matricula = am.id_aluno_matricula and na_rec.id_turma = amt.id_turma and na_rec.id_nota_periodo_aluno = ? and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in (...) and amdd.id_motivo_dispensa_disciplina isnull left join conceito_avaliacao ca on ca.id_conceito_avaliacao = coalesce(na.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final (?, ?, greatest (na.nota, na.nota_conselho))) left join conceito_avaliacao ca_rec on ca_rec.id_conceito_avaliacao = coalesce(na_rec.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final (?, ?, na.nota_recuperacao_calculada)) left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join serie serie_destino on serie_destino.id_serie = pc.id_serie_destino left join ( select sum(fad.falta_nao_justificada)::int as falta_nao_justificada, (sum(sum(fad.falta_justificada)) over window_total_faltas)::int as total_faltas_justificadas, (sum(sum(fad.falta_nao_justificada)) over window_total_faltas)::int as total_faltas_nao_justificadas, fad.id_turma, coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, fad.id_aluno_matricula from falta_aluno_disciplina fad inner join aluno_matr_turma amt on amt.id_turma = ? and amt.id_aluno_matricula = fad.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_disciplina = fad.id_disciplina where not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on amdp.id_motivo_dispensa_periodo = mdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fad.id_aluno_matricula and mdp.periodos @> array[fad.id_nota_periodo_aluno]) and fad.id_disciplina not in ( select amd.id_disciplina from aluno_matr_dispensa_disciplina amd where amd.id_aluno_matricula = fad.id_aluno_matricula and amd.id_turma = fad.id_turma) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), fad.id_turma, fad.id_aluno_matricula window window_total_faltas as (partition by fad.id_aluno_matricula, fad.id_turma)) fa on fa.id_turma = amt.id_turma and fa.id_disciplina = d.id_disciplina and fa.id_aluno_matricula = am.id_aluno_matricula where amt.id_turma = ? and cc.id_componente_cedeu_carga_horaria is null order by chamada, aluno, am.id_aluno_matricula, d.ordem, d.descricao;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Feb 10 07 52 2m37s 3s32ms -
select amt.id_aluno_turma, a.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, amt.chamada, ams.flg_status_ativo and not amt.flg_remanejado as flg_status_ativo, am.id_aluno_matr_status = '3' as flg_aluno_abandono, amt.flg_remanejado, case amt.flg_remanejado when true then 'Remanejado' else ams.descricao end as situacao_aluno, coalesce(am.flg_parecer_descritivo, false) as flg_parecer_descritivo, c.nome as aluno, curso.id_curso, s.sigla as serie, d.descricao as disciplina, formatar_horaminuto (gc.duracao_aula * coalesce(fa.falta_nao_justificada, 0)) as falta_nao_justificada, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_justificadas, 0)) as total_faltas_justificadas, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_nao_justificadas, 0)) as total_faltas_nao_justificadas, amdd.id_motivo_dispensa_disciplina is not null as flg_dispensado, case when ams.flg_status_ativo and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull then cc.flg_aponta_notas else false end as flg_aponta_notas, serie_destino.sigla as serie_destino, cc.id_forma_avaliacao_componente = '2' or cc.id_expressao_resultado_componente = '2' as flg_conceito, greatest (na.nota, na_rec.nota, na.nota_conselho) as nota, case when s.flg_permite_recuperacao_final and ca_rec.flg_aprova then ca_rec.sigla else ca.sigla end as conceito, amt.frequencia, pc.flg_reclassificado_frequencia from ( select row_number() over ()::int as id_aluno_turma, * from ( select amt.id_turma, amt.id_aluno_matricula, amt.chamada, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as frequencia, am.id_aluno_matr_status = '11' as flg_remanejado from aluno_matr_turma amt inner join turma ON turma.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula where amt.id_turma = '240017433' and ((turma.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or (turma.id_diario_turma_situacao <> '2' or turma.id_diario_turma_situacao is null))) as alunos) amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> '10' and amsh.id_aluno_matricula = amt.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as ultimo_historico_sem_unificacao on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = '10' and ultimo_historico_sem_unificacao.id_aluno_matr_status = '1' then '10' else ultimo_historico_sem_unificacao.id_aluno_matr_status end inner join serie s on s.id_serie = am.id_serie inner join curso on s.id_curso = curso.id_curso inner join grade_curricular gc on gc.id_grade_curricular = '5067' inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = am.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and amdd.flg_dispensado_todos_periodos is true left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = '5' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join nota_aluno na_rec on na_rec.id_disciplina = d.id_disciplina and na_rec.id_aluno_matricula = am.id_aluno_matricula and na_rec.id_turma = amt.id_turma and na_rec.id_nota_periodo_aluno = '6' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join conceito_avaliacao ca on ca.id_conceito_avaliacao = coalesce(na.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2366', greatest (na.nota, na.nota_conselho))) left join conceito_avaliacao ca_rec on ca_rec.id_conceito_avaliacao = coalesce(na_rec.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2366', na.nota_recuperacao_calculada)) left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join serie serie_destino on serie_destino.id_serie = pc.id_serie_destino left join ( select sum(fad.falta_nao_justificada)::int as falta_nao_justificada, (sum(sum(fad.falta_justificada)) over window_total_faltas)::int as total_faltas_justificadas, (sum(sum(fad.falta_nao_justificada)) over window_total_faltas)::int as total_faltas_nao_justificadas, fad.id_turma, coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, fad.id_aluno_matricula from falta_aluno_disciplina fad inner join aluno_matr_turma amt on amt.id_turma = '240017433' and amt.id_aluno_matricula = fad.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_disciplina = fad.id_disciplina where not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on amdp.id_motivo_dispensa_periodo = mdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fad.id_aluno_matricula and mdp.periodos @> ARRAY[fad.id_nota_periodo_aluno]) and fad.id_disciplina not in ( select amd.id_disciplina from aluno_matr_dispensa_disciplina amd where amd.id_aluno_matricula = fad.id_aluno_matricula and amd.id_turma = fad.id_turma) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), fad.id_turma, fad.id_aluno_matricula WINDOW window_total_faltas as (partition by fad.id_aluno_matricula, fad.id_turma)) fa on fa.id_turma = amt.id_turma and fa.id_disciplina = d.id_disciplina and fa.id_aluno_matricula = am.id_aluno_matricula where amt.id_turma = '240017433' and cc.id_componente_cedeu_carga_horaria is null order by chamada, aluno, am.id_aluno_matricula, d.ordem, d.descricao;
Date: 2025-02-10 07:45:07 Duration: 4s852ms Bind query: yes
-
select amt.id_aluno_turma, a.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, amt.chamada, ams.flg_status_ativo and not amt.flg_remanejado as flg_status_ativo, am.id_aluno_matr_status = '3' as flg_aluno_abandono, amt.flg_remanejado, case amt.flg_remanejado when true then 'Remanejado' else ams.descricao end as situacao_aluno, coalesce(am.flg_parecer_descritivo, false) as flg_parecer_descritivo, c.nome as aluno, curso.id_curso, s.sigla as serie, d.descricao as disciplina, formatar_horaminuto (gc.duracao_aula * coalesce(fa.falta_nao_justificada, 0)) as falta_nao_justificada, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_justificadas, 0)) as total_faltas_justificadas, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_nao_justificadas, 0)) as total_faltas_nao_justificadas, amdd.id_motivo_dispensa_disciplina is not null as flg_dispensado, case when ams.flg_status_ativo and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull then cc.flg_aponta_notas else false end as flg_aponta_notas, serie_destino.sigla as serie_destino, cc.id_forma_avaliacao_componente = '2' or cc.id_expressao_resultado_componente = '2' as flg_conceito, greatest (na.nota, na_rec.nota, na.nota_conselho) as nota, case when s.flg_permite_recuperacao_final and ca_rec.flg_aprova then ca_rec.sigla else ca.sigla end as conceito, amt.frequencia, pc.flg_reclassificado_frequencia from ( select row_number() over ()::int as id_aluno_turma, * from ( select amt.id_turma, amt.id_aluno_matricula, amt.chamada, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as frequencia, am.id_aluno_matr_status = '11' as flg_remanejado from aluno_matr_turma amt inner join turma ON turma.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula where amt.id_turma = '240017758' and ((turma.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or (turma.id_diario_turma_situacao <> '2' or turma.id_diario_turma_situacao is null))) as alunos) amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> '10' and amsh.id_aluno_matricula = amt.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as ultimo_historico_sem_unificacao on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = '10' and ultimo_historico_sem_unificacao.id_aluno_matr_status = '1' then '10' else ultimo_historico_sem_unificacao.id_aluno_matr_status end inner join serie s on s.id_serie = am.id_serie inner join curso on s.id_curso = curso.id_curso inner join grade_curricular gc on gc.id_grade_curricular = '5062' inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = am.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and amdd.flg_dispensado_todos_periodos is true left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = '5' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join nota_aluno na_rec on na_rec.id_disciplina = d.id_disciplina and na_rec.id_aluno_matricula = am.id_aluno_matricula and na_rec.id_turma = amt.id_turma and na_rec.id_nota_periodo_aluno = '6' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join conceito_avaliacao ca on ca.id_conceito_avaliacao = coalesce(na.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2359', greatest (na.nota, na.nota_conselho))) left join conceito_avaliacao ca_rec on ca_rec.id_conceito_avaliacao = coalesce(na_rec.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2359', na.nota_recuperacao_calculada)) left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join serie serie_destino on serie_destino.id_serie = pc.id_serie_destino left join ( select sum(fad.falta_nao_justificada)::int as falta_nao_justificada, (sum(sum(fad.falta_justificada)) over window_total_faltas)::int as total_faltas_justificadas, (sum(sum(fad.falta_nao_justificada)) over window_total_faltas)::int as total_faltas_nao_justificadas, fad.id_turma, coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, fad.id_aluno_matricula from falta_aluno_disciplina fad inner join aluno_matr_turma amt on amt.id_turma = '240017758' and amt.id_aluno_matricula = fad.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_disciplina = fad.id_disciplina where not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on amdp.id_motivo_dispensa_periodo = mdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fad.id_aluno_matricula and mdp.periodos @> ARRAY[fad.id_nota_periodo_aluno]) and fad.id_disciplina not in ( select amd.id_disciplina from aluno_matr_dispensa_disciplina amd where amd.id_aluno_matricula = fad.id_aluno_matricula and amd.id_turma = fad.id_turma) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), fad.id_turma, fad.id_aluno_matricula WINDOW window_total_faltas as (partition by fad.id_aluno_matricula, fad.id_turma)) fa on fa.id_turma = amt.id_turma and fa.id_disciplina = d.id_disciplina and fa.id_aluno_matricula = am.id_aluno_matricula where amt.id_turma = '240017758' and cc.id_componente_cedeu_carga_horaria is null order by chamada, aluno, am.id_aluno_matricula, d.ordem, d.descricao;
Date: 2025-02-10 07:47:31 Duration: 4s744ms Bind query: yes
-
select amt.id_aluno_turma, a.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, amt.chamada, ams.flg_status_ativo and not amt.flg_remanejado as flg_status_ativo, am.id_aluno_matr_status = '3' as flg_aluno_abandono, amt.flg_remanejado, case amt.flg_remanejado when true then 'Remanejado' else ams.descricao end as situacao_aluno, coalesce(am.flg_parecer_descritivo, false) as flg_parecer_descritivo, c.nome as aluno, curso.id_curso, s.sigla as serie, d.descricao as disciplina, formatar_horaminuto (gc.duracao_aula * coalesce(fa.falta_nao_justificada, 0)) as falta_nao_justificada, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_justificadas, 0)) as total_faltas_justificadas, formatar_horaminuto (gc.duracao_aula * coalesce(fa.total_faltas_nao_justificadas, 0)) as total_faltas_nao_justificadas, amdd.id_motivo_dispensa_disciplina is not null as flg_dispensado, case when ams.flg_status_ativo and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull then cc.flg_aponta_notas else false end as flg_aponta_notas, serie_destino.sigla as serie_destino, cc.id_forma_avaliacao_componente = '2' or cc.id_expressao_resultado_componente = '2' as flg_conceito, greatest (na.nota, na_rec.nota, na.nota_conselho) as nota, case when s.flg_permite_recuperacao_final and ca_rec.flg_aprova then ca_rec.sigla else ca.sigla end as conceito, amt.frequencia, pc.flg_reclassificado_frequencia from ( select row_number() over ()::int as id_aluno_turma, * from ( select amt.id_turma, amt.id_aluno_matricula, amt.chamada, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as frequencia, am.id_aluno_matr_status = '11' as flg_remanejado from aluno_matr_turma amt inner join turma ON turma.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula where amt.id_turma = '240017434' and ((turma.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or (turma.id_diario_turma_situacao <> '2' or turma.id_diario_turma_situacao is null))) as alunos) amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> '10' and amsh.id_aluno_matricula = amt.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as ultimo_historico_sem_unificacao on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = '10' and ultimo_historico_sem_unificacao.id_aluno_matr_status = '1' then '10' else ultimo_historico_sem_unificacao.id_aluno_matr_status end inner join serie s on s.id_serie = am.id_serie inner join curso on s.id_curso = curso.id_curso inner join grade_curricular gc on gc.id_grade_curricular = '5067' inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = am.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and amdd.flg_dispensado_todos_periodos is true left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = '5' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join nota_aluno na_rec on na_rec.id_disciplina = d.id_disciplina and na_rec.id_aluno_matricula = am.id_aluno_matricula and na_rec.id_turma = amt.id_turma and na_rec.id_nota_periodo_aluno = '6' and cc.flg_aponta_notas and cc.id_forma_avaliacao_componente in ('1', '2') and amdd.id_motivo_dispensa_disciplina isnull left join conceito_avaliacao ca on ca.id_conceito_avaliacao = coalesce(na.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2366', greatest (na.nota, na.nota_conselho))) left join conceito_avaliacao ca_rec on ca_rec.id_conceito_avaliacao = coalesce(na_rec.id_conceito_avaliacao, sp_obter_conceito_avaliacao_nota_final ('99', '2366', na.nota_recuperacao_calculada)) left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join serie serie_destino on serie_destino.id_serie = pc.id_serie_destino left join ( select sum(fad.falta_nao_justificada)::int as falta_nao_justificada, (sum(sum(fad.falta_justificada)) over window_total_faltas)::int as total_faltas_justificadas, (sum(sum(fad.falta_nao_justificada)) over window_total_faltas)::int as total_faltas_nao_justificadas, fad.id_turma, coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, fad.id_aluno_matricula from falta_aluno_disciplina fad inner join aluno_matr_turma amt on amt.id_turma = '240017434' and amt.id_aluno_matricula = fad.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_disciplina = fad.id_disciplina where not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on amdp.id_motivo_dispensa_periodo = mdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fad.id_aluno_matricula and mdp.periodos @> ARRAY[fad.id_nota_periodo_aluno]) and fad.id_disciplina not in ( select amd.id_disciplina from aluno_matr_dispensa_disciplina amd where amd.id_aluno_matricula = fad.id_aluno_matricula and amd.id_turma = fad.id_turma) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), fad.id_turma, fad.id_aluno_matricula WINDOW window_total_faltas as (partition by fad.id_aluno_matricula, fad.id_turma)) fa on fa.id_turma = amt.id_turma and fa.id_disciplina = d.id_disciplina and fa.id_aluno_matricula = am.id_aluno_matricula where amt.id_turma = '240017434' and cc.id_componente_cedeu_carga_horaria is null order by chamada, aluno, am.id_aluno_matricula, d.ordem, d.descricao;
Date: 2025-02-10 07:45:12 Duration: 4s629ms Bind query: yes
5 444ms 19s789ms 1s371ms 207 4m43s select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, ?) as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, ?) as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Feb 10 07 22 1m1s 2s808ms 08 103 1m9s 674ms 09 57 1m57s 2s65ms 10 25 34s750ms 1s390ms -
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2025-02-10 07:29:10 Duration: 19s789ms Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2025-02-10 09:33:51 Duration: 9s149ms Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2025-02-10 09:34:38 Duration: 9s83ms Bind query: yes
6 108ms 5s417ms 1s 222 3m42s select id_aluno_matricula, codigo, nome, escola, nome_mae, to_char(nascimento_data, ?) as data_nascimento, curso, situacao from ( select am.id_aluno_matricula, a.codigo, c.nome, uf.codigo || ? || uf.nome as escola, c.nome_mae, c.nascimento_data, curso.sigla as curso, ams.descricao as situacao from cidadao c inner join aluno a on c.id_cidadao = a.id_cidadao inner join aluno_matricula am on c.id_cidadao = am.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join curso on curso.id_curso = am.id_curso where c.id_instituicao = ? and am.flg_matricula_atual is true and c.fts @@ to_tsquery(?) limit ? offset ? * ?) as alunos order by nome;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Feb 10 07 41 37s521ms 915ms 08 61 1m8s 1s128ms 09 39 37s92ms 951ms 10 81 1m18s 972ms -
select id_aluno_matricula, codigo, nome, escola, nome_mae, to_char(nascimento_data, 'DD/MM/YYYY') as data_nascimento, curso, situacao from ( select am.id_aluno_matricula, a.codigo, c.nome, uf.codigo || ' - ' || uf.nome as escola, c.nome_mae, c.nascimento_data, curso.sigla as curso, ams.descricao as situacao from cidadao c inner join aluno a on c.id_cidadao = a.id_cidadao inner join aluno_matricula am on c.id_cidadao = am.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join curso on curso.id_curso = am.id_curso where c.id_instituicao = '82' and am.flg_matricula_atual is true and c.fts @@ to_tsquery('bianca&barbosa&roberta') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2025-02-10 09:34:36 Duration: 5s417ms Bind query: yes
-
select id_aluno_matricula, codigo, nome, escola, nome_mae, to_char(nascimento_data, 'DD/MM/YYYY') as data_nascimento, curso, situacao from ( select am.id_aluno_matricula, a.codigo, c.nome, uf.codigo || ' - ' || uf.nome as escola, c.nome_mae, c.nascimento_data, curso.sigla as curso, ams.descricao as situacao from cidadao c inner join aluno a on c.id_cidadao = a.id_cidadao inner join aluno_matricula am on c.id_cidadao = am.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join curso on curso.id_curso = am.id_curso where c.id_instituicao = '82' and am.flg_matricula_atual is true and c.fts @@ to_tsquery('enzo&gabriel&rodrigues&de&souza') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2025-02-10 08:03:29 Duration: 5s219ms Bind query: yes
-
select id_aluno_matricula, codigo, nome, escola, nome_mae, to_char(nascimento_data, 'DD/MM/YYYY') as data_nascimento, curso, situacao from ( select am.id_aluno_matricula, a.codigo, c.nome, uf.codigo || ' - ' || uf.nome as escola, c.nome_mae, c.nascimento_data, curso.sigla as curso, ams.descricao as situacao from cidadao c inner join aluno a on c.id_cidadao = a.id_cidadao inner join aluno_matricula am on c.id_cidadao = am.id_cidadao inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join curso on curso.id_curso = am.id_curso where c.id_instituicao = '82' and am.flg_matricula_atual is true and c.fts @@ to_tsquery('MARIA&FLOR&OLIVEIRA&SANTOS') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2025-02-10 08:41:18 Duration: 4s534ms Bind query: yes
7 101ms 7s84ms 989ms 128 2m6s select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, faltas_mes::int as faltas_mes, faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(to_char(f.data, ? || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), ?)::int as faltas_mes, coalesce(( select sum(coalesce(falta_justificada, ?) + coalesce(falta_nao_justificada, ?)) from falta_anterior_aluno_disciplina fa where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), ?)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = ? left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = ? and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = ? and ts.id_serie = ? and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Feb 10 07 21 18s504ms 881ms 08 51 43s553ms 853ms 09 48 55s2ms 1s145ms 10 8 9s615ms 1s201ms -
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240003138' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1112' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240003138' and ts.id_serie = '101' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2025-02-10 09:14:43 Duration: 7s84ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '250002059' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '24518' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '250002059' and ts.id_serie = '2198' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2025-02-10 07:31:14 Duration: 5s834ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240002652' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1139' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240002652' and ts.id_serie = '102' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2025-02-10 09:48:53 Duration: 5s712ms Bind query: yes
8 106ms 5s667ms 984ms 188 3m5s select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, id_forma_avaliacao, id_expressao_resultado_componente, num_casas_decimais_nota, flg_dispensado_todos_periodos, flg_dispensado, dispensa, nota, greatest (nota, recuperacao_final, nota_conselho) as nota_resultado_final, conceito, conceito_convertido, resultado_final_calculado, resultado_final_apontado, conceito_final, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, resultado_final_calculado::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_final_convertido, recuperacao_final, conceito_recuperacao_final, conceito_recuperacao_final_convertido, case when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = ? then coalesce(nota < perc_aprovacao * perc_nota_periodo * valor_maximo_nota, false) when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = ? then coalesce(nota < valor_maximo_nota * perc_aprovacao, false) else false end as flg_abaixo_da_media, case when id_forma_avaliacao = ? then conceito_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then ( case when flg_atividade_avaliativa then resultado_final_calculado else resultado_final_apontado end) < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_resultado_final_abaixo_da_media, case when id_forma_avaliacao = ? then conceito_recuperacao_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then recuperacao_final < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_recuperacao_final_abaixo_da_media, coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then resultado_final_apontado < valor_maximo_nota * perc_aprovacao else false end, false) as flg_resultado_final_apontado_abaixo_da_media from ( select amt.id_aluno_matricula, npa.id_nota_periodo_aluno, cc.id_disciplina, cc.id_componente_curricular, cc.id_forma_avaliacao_componente as id_forma_avaliacao, cc.id_expressao_resultado_componente, pa.id_tipo_resultado_final, c.id_instituicao, s.id_serie, s.num_casas_decimais_nota, t.flg_atividade_avaliativa, coalesce(amdd.flg_dispensado_todos_periodos, false) as flg_dispensado_todos_periodos, mdp.id_motivo_dispensa_periodo notnull or mdd.id_motivo_dispensa_disciplina notnull as flg_dispensado, coalesce(mdp.descricao, mdd.descricao) as dispensa, na.nota, na.nota_conselho, ca.sigla as conceito, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_periodo (amt.id_aluno_matricula, npa.id_nota_periodo_aluno, na.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_convertido, ( select case when pa.id_tipo_resultado_final = ? then case when nota_rec.nota > sum( case when notas.id_nota_periodo_aluno in (...) then notas.nota else null end) then sum( case when notas.id_nota_periodo_aluno in (...) then nota_rec.nota else notas.nota end) else sum(notas.nota) end else case when nota_rec.nota > avg( case when notas.id_nota_periodo_aluno in (...) then notas.nota else null end) then avg( case when notas.id_nota_periodo_aluno in (...) then nota_rec.nota else notas.nota end) else avg(notas.nota) end end from ( select n.id_nota_periodo_aluno, case when n.flg_nao_compareceu then ?.? else nota end as nota from nota_aluno n where n.id_turma = amt.id_turma and n.id_aluno_matricula = amt.id_aluno_matricula and n.id_disciplina = cc.id_disciplina and n.id_nota_periodo_aluno <= npa.id_nota_periodo_aluno) as notas left join ( select case when flg_nao_compareceu then ?.? else nota end as nota from nota_aluno r where r.id_turma = amt.id_turma and r.id_aluno_matricula = amt.id_aluno_matricula and r.id_disciplina = cc.id_disciplina and r.id_nota_periodo_aluno = ?) as nota_rec on true group by nota_rec.nota) as resultado_final_calculado, greatest (nf.nota, nr.nota, nf.nota_conselho)::float as resultado_final_apontado, coalesce(cr.sigla, cf.sigla) as conceito_final, coalesce(cf.flg_aprova, false) = false as conceito_final_abaixo_media, coalesce(nf.nota_conselho, nr.nota)::double precision as recuperacao_final, cr.sigla as conceito_recuperacao_final, coalesce(cr.flg_aprova, false) = false as conceito_recuperacao_final_abaixo_media, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (c.id_instituicao, s.id_serie, nr.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_recuperacao_final_convertido, pa.nota_min_aprovacao / ?.? as perc_aprovacao, vmnp.valor_maximo_nota / s.valor_maximo_nota as perc_nota_periodo, s.valor_maximo_nota, max(npa.id_nota_periodo_aluno) over (partition by amt.id_turma) as ultimo_periodo_turma, max( case when t.flg_atividade_avaliativa then concluido.id_nota_periodo_aluno else na.id_nota_periodo_aluno end) over (partition by amt.id_aluno_matricula, cc.id_disciplina) as ultimo_periodo_apontamento from aluno_turma_diario_impresso a inner join aluno_matr_turma amt on amt.id_aluno_matricula = a.id_aluno_matricula and amt.id_turma = a.id_turma_desempenho inner join turma t on t.id_turma = amt.id_turma inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = a.id_serie inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno in ( select tp.id_nota_periodo_aluno from turma_periodo tp where tp.id_turma = t.id_turma union select ? as id_nota_periodo_aluno) inner join serie s on s.id_serie = ts.id_serie inner join curso c on s.id_curso = c.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular left join nota_aluno na on na.id_turma = amt.id_turma and na.id_aluno_matricula = amt.id_aluno_matricula and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = cc.id_disciplina left join conceito_avaliacao ca on na.id_conceito_avaliacao = ca.id_conceito_avaliacao left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = cc.id_disciplina and npa.id_nota_periodo_aluno = any (amdd.periodos) left join motivo_dispensa_disciplina mdd on mdd.id_motivo_dispensa_disciplina = amdd.id_motivo_dispensa_disciplina left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = amt.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and npa.id_nota_periodo_aluno = any (mdp.periodos) left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join procedimento_avaliacao_valor_maximo_nota_periodo vmnp on vmnp.id_procedimento_avaliacao = pa.id_procedimento_avaliacao and vmnp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join nota_aluno nf on nf.id_turma = amt.id_turma and nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_disciplina = cc.id_disciplina and nf.id_nota_periodo_aluno = ? left join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao left join nota_aluno nr on nr.id_turma = amt.id_turma and nr.id_aluno_matricula = amt.id_aluno_matricula and nr.id_disciplina = cc.id_disciplina and nr.id_nota_periodo_aluno = ? left join conceito_avaliacao cr on cr.id_conceito_avaliacao = nr.id_conceito_avaliacao left join nota_aluno_atividade_concluido concluido on concluido.id_turma = ts.id_turma and concluido.id_serie = ts.id_serie and concluido.id_disciplina = cc.id_disciplina and concluido.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where ts.id_turma = ? and ts.id_serie = ? and cc.flg_aponta_notas and s.id_forma_avaliacao in (...)) x order by id_aluno_matricula, id_nota_periodo_aluno, id_componente_curricular;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Feb 10 07 20 29s7ms 1s450ms 08 88 1m24s 961ms 09 73 1m4s 880ms 10 7 7s172ms 1s24ms -
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, id_forma_avaliacao, id_expressao_resultado_componente, num_casas_decimais_nota, flg_dispensado_todos_periodos, flg_dispensado, dispensa, nota, greatest (nota, recuperacao_final, nota_conselho) as nota_resultado_final, conceito, conceito_convertido, resultado_final_calculado, resultado_final_apontado, conceito_final, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, resultado_final_calculado::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_final_convertido, recuperacao_final, conceito_recuperacao_final, conceito_recuperacao_final_convertido, -- abaixo da média somente se o apontamento no período foi concluído case when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 1 then coalesce(nota < perc_aprovacao * perc_nota_periodo * valor_maximo_nota, false) when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 2 then coalesce(nota < valor_maximo_nota * perc_aprovacao, false) else false end as flg_abaixo_da_media, -- abaixo da média final somente se o apontamento de todos os períodos foram concluídos --valor_maximo_nota * perc_aprovacao, case when id_forma_avaliacao = '2' then conceito_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then ( case when flg_atividade_avaliativa then resultado_final_calculado else resultado_final_apontado end) < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_resultado_final_abaixo_da_media, -- mesmo para recuperação case when id_forma_avaliacao = '2' then conceito_recuperacao_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then recuperacao_final < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_recuperacao_final_abaixo_da_media, -- relatorio de resultado final mostra tanto o calculado quanto o pós-recuperaçao coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then resultado_final_apontado < valor_maximo_nota * perc_aprovacao else false end, false) as flg_resultado_final_apontado_abaixo_da_media from ( select amt.id_aluno_matricula, npa.id_nota_periodo_aluno, cc.id_disciplina, cc.id_componente_curricular, cc.id_forma_avaliacao_componente as id_forma_avaliacao, cc.id_expressao_resultado_componente, pa.id_tipo_resultado_final, c.id_instituicao, s.id_serie, s.num_casas_decimais_nota, t.flg_atividade_avaliativa, coalesce(amdd.flg_dispensado_todos_periodos, false) as flg_dispensado_todos_periodos, mdp.id_motivo_dispensa_periodo notnull or mdd.id_motivo_dispensa_disciplina notnull as flg_dispensado, coalesce(mdp.descricao, mdd.descricao) as dispensa, na.nota, na.nota_conselho, ca.sigla as conceito, -- conversao para conceito ( select cac.sigla from sp_obter_conceito_avaliacao_nota_periodo (amt.id_aluno_matricula, npa.id_nota_periodo_aluno, na.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_convertido, ( select case when pa.id_tipo_resultado_final = 1 then case when nota_rec.nota > sum( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then sum( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else sum(notas.nota) end else case when nota_rec.nota > avg( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then avg( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else avg(notas.nota) end end from ( select n.id_nota_periodo_aluno, case when n.flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno n where n.id_turma = amt.id_turma and n.id_aluno_matricula = amt.id_aluno_matricula and n.id_disciplina = cc.id_disciplina and n.id_nota_periodo_aluno <= npa.id_nota_periodo_aluno) as notas left join ( select case when flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno r where r.id_turma = amt.id_turma and r.id_aluno_matricula = amt.id_aluno_matricula and r.id_disciplina = cc.id_disciplina and r.id_nota_periodo_aluno = 10) as nota_rec on true group by nota_rec.nota) as resultado_final_calculado, greatest (nf.nota, nr.nota, nf.nota_conselho)::float as resultado_final_apontado, coalesce(cr.sigla, cf.sigla) as conceito_final, coalesce(cf.flg_aprova, false) = false as conceito_final_abaixo_media, -- recuperação final coalesce(nf.nota_conselho, nr.nota)::double precision as recuperacao_final, cr.sigla as conceito_recuperacao_final, coalesce(cr.flg_aprova, false) = false as conceito_recuperacao_final_abaixo_media, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (c.id_instituicao, s.id_serie, nr.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_recuperacao_final_convertido, -- esses são para determinar se está abaixo da média pa.nota_min_aprovacao / 100.0 as perc_aprovacao, vmnp.valor_maximo_nota / s.valor_maximo_nota as perc_nota_periodo, s.valor_maximo_nota, -- esses ajudam a determinar os períodos que já foram apontados max(npa.id_nota_periodo_aluno) over (partition by amt.id_turma) as ultimo_periodo_turma, max( case when t.flg_atividade_avaliativa then concluido.id_nota_periodo_aluno else na.id_nota_periodo_aluno end) over (partition by amt.id_aluno_matricula, cc.id_disciplina) as ultimo_periodo_apontamento from aluno_turma_diario_impresso a -- isso acelera (muito) a query pois o banco está acostumando a juntar com nota_aluno daqui inner join aluno_matr_turma amt on amt.id_aluno_matricula = a.id_aluno_matricula and amt.id_turma = a.id_turma_desempenho inner join turma t on t.id_turma = amt.id_turma inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = a.id_serie inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno in ( select tp.id_nota_periodo_aluno from turma_periodo tp where tp.id_turma = t.id_turma union select 5 as id_nota_periodo_aluno) inner join serie s on s.id_serie = ts.id_serie inner join curso c on s.id_curso = c.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular -- nota do periodo left join nota_aluno na on na.id_turma = amt.id_turma and na.id_aluno_matricula = amt.id_aluno_matricula and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = cc.id_disciplina -- conceito left join conceito_avaliacao ca on na.id_conceito_avaliacao = ca.id_conceito_avaliacao -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = cc.id_disciplina and npa.id_nota_periodo_aluno = any (amdd.periodos) left join motivo_dispensa_disciplina mdd on mdd.id_motivo_dispensa_disciplina = amdd.id_motivo_dispensa_disciplina -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = amt.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and npa.id_nota_periodo_aluno = any (mdp.periodos) left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join procedimento_avaliacao_valor_maximo_nota_periodo vmnp on vmnp.id_procedimento_avaliacao = pa.id_procedimento_avaliacao and vmnp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno -- resultado final apontado left join nota_aluno nf on nf.id_turma = amt.id_turma and nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_disciplina = cc.id_disciplina and nf.id_nota_periodo_aluno = 5 -- conceito final left join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao -- recuperação final left join nota_aluno nr on nr.id_turma = amt.id_turma and nr.id_aluno_matricula = amt.id_aluno_matricula and nr.id_disciplina = cc.id_disciplina and nr.id_nota_periodo_aluno = 6 -- conceito final recuperação left join conceito_avaliacao cr on cr.id_conceito_avaliacao = nr.id_conceito_avaliacao -- conclusão das atividades left join nota_aluno_atividade_concluido concluido on concluido.id_turma = ts.id_turma and concluido.id_serie = ts.id_serie and concluido.id_disciplina = cc.id_disciplina and concluido.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where ts.id_turma = '240003133' and ts.id_serie = '102' and cc.flg_aponta_notas and s.id_forma_avaliacao in (1, 2, 4)) x order by id_aluno_matricula, id_nota_periodo_aluno, id_componente_curricular;
Date: 2025-02-10 07:59:19 Duration: 5s667ms Bind query: yes
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, id_forma_avaliacao, id_expressao_resultado_componente, num_casas_decimais_nota, flg_dispensado_todos_periodos, flg_dispensado, dispensa, nota, greatest (nota, recuperacao_final, nota_conselho) as nota_resultado_final, conceito, conceito_convertido, resultado_final_calculado, resultado_final_apontado, conceito_final, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, resultado_final_calculado::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_final_convertido, recuperacao_final, conceito_recuperacao_final, conceito_recuperacao_final_convertido, -- abaixo da média somente se o apontamento no período foi concluído case when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 1 then coalesce(nota < perc_aprovacao * perc_nota_periodo * valor_maximo_nota, false) when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 2 then coalesce(nota < valor_maximo_nota * perc_aprovacao, false) else false end as flg_abaixo_da_media, -- abaixo da média final somente se o apontamento de todos os períodos foram concluídos --valor_maximo_nota * perc_aprovacao, case when id_forma_avaliacao = '2' then conceito_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then ( case when flg_atividade_avaliativa then resultado_final_calculado else resultado_final_apontado end) < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_resultado_final_abaixo_da_media, -- mesmo para recuperação case when id_forma_avaliacao = '2' then conceito_recuperacao_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then recuperacao_final < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_recuperacao_final_abaixo_da_media, -- relatorio de resultado final mostra tanto o calculado quanto o pós-recuperaçao coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then resultado_final_apontado < valor_maximo_nota * perc_aprovacao else false end, false) as flg_resultado_final_apontado_abaixo_da_media from ( select amt.id_aluno_matricula, npa.id_nota_periodo_aluno, cc.id_disciplina, cc.id_componente_curricular, cc.id_forma_avaliacao_componente as id_forma_avaliacao, cc.id_expressao_resultado_componente, pa.id_tipo_resultado_final, c.id_instituicao, s.id_serie, s.num_casas_decimais_nota, t.flg_atividade_avaliativa, coalesce(amdd.flg_dispensado_todos_periodos, false) as flg_dispensado_todos_periodos, mdp.id_motivo_dispensa_periodo notnull or mdd.id_motivo_dispensa_disciplina notnull as flg_dispensado, coalesce(mdp.descricao, mdd.descricao) as dispensa, na.nota, na.nota_conselho, ca.sigla as conceito, -- conversao para conceito ( select cac.sigla from sp_obter_conceito_avaliacao_nota_periodo (amt.id_aluno_matricula, npa.id_nota_periodo_aluno, na.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_convertido, ( select case when pa.id_tipo_resultado_final = 1 then case when nota_rec.nota > sum( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then sum( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else sum(notas.nota) end else case when nota_rec.nota > avg( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then avg( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else avg(notas.nota) end end from ( select n.id_nota_periodo_aluno, case when n.flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno n where n.id_turma = amt.id_turma and n.id_aluno_matricula = amt.id_aluno_matricula and n.id_disciplina = cc.id_disciplina and n.id_nota_periodo_aluno <= npa.id_nota_periodo_aluno) as notas left join ( select case when flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno r where r.id_turma = amt.id_turma and r.id_aluno_matricula = amt.id_aluno_matricula and r.id_disciplina = cc.id_disciplina and r.id_nota_periodo_aluno = 10) as nota_rec on true group by nota_rec.nota) as resultado_final_calculado, greatest (nf.nota, nr.nota, nf.nota_conselho)::float as resultado_final_apontado, coalesce(cr.sigla, cf.sigla) as conceito_final, coalesce(cf.flg_aprova, false) = false as conceito_final_abaixo_media, -- recuperação final coalesce(nf.nota_conselho, nr.nota)::double precision as recuperacao_final, cr.sigla as conceito_recuperacao_final, coalesce(cr.flg_aprova, false) = false as conceito_recuperacao_final_abaixo_media, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (c.id_instituicao, s.id_serie, nr.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_recuperacao_final_convertido, -- esses são para determinar se está abaixo da média pa.nota_min_aprovacao / 100.0 as perc_aprovacao, vmnp.valor_maximo_nota / s.valor_maximo_nota as perc_nota_periodo, s.valor_maximo_nota, -- esses ajudam a determinar os períodos que já foram apontados max(npa.id_nota_periodo_aluno) over (partition by amt.id_turma) as ultimo_periodo_turma, max( case when t.flg_atividade_avaliativa then concluido.id_nota_periodo_aluno else na.id_nota_periodo_aluno end) over (partition by amt.id_aluno_matricula, cc.id_disciplina) as ultimo_periodo_apontamento from aluno_turma_diario_impresso a -- isso acelera (muito) a query pois o banco está acostumando a juntar com nota_aluno daqui inner join aluno_matr_turma amt on amt.id_aluno_matricula = a.id_aluno_matricula and amt.id_turma = a.id_turma_desempenho inner join turma t on t.id_turma = amt.id_turma inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = a.id_serie inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno in ( select tp.id_nota_periodo_aluno from turma_periodo tp where tp.id_turma = t.id_turma union select 5 as id_nota_periodo_aluno) inner join serie s on s.id_serie = ts.id_serie inner join curso c on s.id_curso = c.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular -- nota do periodo left join nota_aluno na on na.id_turma = amt.id_turma and na.id_aluno_matricula = amt.id_aluno_matricula and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = cc.id_disciplina -- conceito left join conceito_avaliacao ca on na.id_conceito_avaliacao = ca.id_conceito_avaliacao -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = cc.id_disciplina and npa.id_nota_periodo_aluno = any (amdd.periodos) left join motivo_dispensa_disciplina mdd on mdd.id_motivo_dispensa_disciplina = amdd.id_motivo_dispensa_disciplina -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = amt.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and npa.id_nota_periodo_aluno = any (mdp.periodos) left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join procedimento_avaliacao_valor_maximo_nota_periodo vmnp on vmnp.id_procedimento_avaliacao = pa.id_procedimento_avaliacao and vmnp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno -- resultado final apontado left join nota_aluno nf on nf.id_turma = amt.id_turma and nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_disciplina = cc.id_disciplina and nf.id_nota_periodo_aluno = 5 -- conceito final left join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao -- recuperação final left join nota_aluno nr on nr.id_turma = amt.id_turma and nr.id_aluno_matricula = amt.id_aluno_matricula and nr.id_disciplina = cc.id_disciplina and nr.id_nota_periodo_aluno = 6 -- conceito final recuperação left join conceito_avaliacao cr on cr.id_conceito_avaliacao = nr.id_conceito_avaliacao -- conclusão das atividades left join nota_aluno_atividade_concluido concluido on concluido.id_turma = ts.id_turma and concluido.id_serie = ts.id_serie and concluido.id_disciplina = cc.id_disciplina and concluido.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where ts.id_turma = '240003128' and ts.id_serie = '101' and cc.flg_aponta_notas and s.id_forma_avaliacao in (1, 2, 4)) x order by id_aluno_matricula, id_nota_periodo_aluno, id_componente_curricular;
Date: 2025-02-10 08:41:22 Duration: 4s214ms Bind query: yes
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, id_forma_avaliacao, id_expressao_resultado_componente, num_casas_decimais_nota, flg_dispensado_todos_periodos, flg_dispensado, dispensa, nota, greatest (nota, recuperacao_final, nota_conselho) as nota_resultado_final, conceito, conceito_convertido, resultado_final_calculado, resultado_final_apontado, conceito_final, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, resultado_final_calculado::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_final_convertido, recuperacao_final, conceito_recuperacao_final, conceito_recuperacao_final_convertido, -- abaixo da média somente se o apontamento no período foi concluído case when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 1 then coalesce(nota < perc_aprovacao * perc_nota_periodo * valor_maximo_nota, false) when id_nota_periodo_aluno <= ultimo_periodo_apontamento and id_tipo_resultado_final = 2 then coalesce(nota < valor_maximo_nota * perc_aprovacao, false) else false end as flg_abaixo_da_media, -- abaixo da média final somente se o apontamento de todos os períodos foram concluídos --valor_maximo_nota * perc_aprovacao, case when id_forma_avaliacao = '2' then conceito_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then ( case when flg_atividade_avaliativa then resultado_final_calculado else resultado_final_apontado end) < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_resultado_final_abaixo_da_media, -- mesmo para recuperação case when id_forma_avaliacao = '2' then conceito_recuperacao_final_abaixo_media else coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then recuperacao_final < valor_maximo_nota * perc_aprovacao else false end, false) end as flg_recuperacao_final_abaixo_da_media, -- relatorio de resultado final mostra tanto o calculado quanto o pós-recuperaçao coalesce( case when ultimo_periodo_apontamento = ultimo_periodo_turma then resultado_final_apontado < valor_maximo_nota * perc_aprovacao else false end, false) as flg_resultado_final_apontado_abaixo_da_media from ( select amt.id_aluno_matricula, npa.id_nota_periodo_aluno, cc.id_disciplina, cc.id_componente_curricular, cc.id_forma_avaliacao_componente as id_forma_avaliacao, cc.id_expressao_resultado_componente, pa.id_tipo_resultado_final, c.id_instituicao, s.id_serie, s.num_casas_decimais_nota, t.flg_atividade_avaliativa, coalesce(amdd.flg_dispensado_todos_periodos, false) as flg_dispensado_todos_periodos, mdp.id_motivo_dispensa_periodo notnull or mdd.id_motivo_dispensa_disciplina notnull as flg_dispensado, coalesce(mdp.descricao, mdd.descricao) as dispensa, na.nota, na.nota_conselho, ca.sigla as conceito, -- conversao para conceito ( select cac.sigla from sp_obter_conceito_avaliacao_nota_periodo (amt.id_aluno_matricula, npa.id_nota_periodo_aluno, na.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_convertido, ( select case when pa.id_tipo_resultado_final = 1 then case when nota_rec.nota > sum( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then sum( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else sum(notas.nota) end else case when nota_rec.nota > avg( case when notas.id_nota_periodo_aluno in (1, 2) then notas.nota else null end) then avg( case when notas.id_nota_periodo_aluno in (1, 2) then nota_rec.nota else notas.nota end) else avg(notas.nota) end end from ( select n.id_nota_periodo_aluno, case when n.flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno n where n.id_turma = amt.id_turma and n.id_aluno_matricula = amt.id_aluno_matricula and n.id_disciplina = cc.id_disciplina and n.id_nota_periodo_aluno <= npa.id_nota_periodo_aluno) as notas left join ( select case when flg_nao_compareceu then 0.0 else nota end as nota from nota_aluno r where r.id_turma = amt.id_turma and r.id_aluno_matricula = amt.id_aluno_matricula and r.id_disciplina = cc.id_disciplina and r.id_nota_periodo_aluno = 10) as nota_rec on true group by nota_rec.nota) as resultado_final_calculado, greatest (nf.nota, nr.nota, nf.nota_conselho)::float as resultado_final_apontado, coalesce(cr.sigla, cf.sigla) as conceito_final, coalesce(cf.flg_aprova, false) = false as conceito_final_abaixo_media, -- recuperação final coalesce(nf.nota_conselho, nr.nota)::double precision as recuperacao_final, cr.sigla as conceito_recuperacao_final, coalesce(cr.flg_aprova, false) = false as conceito_recuperacao_final_abaixo_media, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (c.id_instituicao, s.id_serie, nr.nota) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_recuperacao_final_convertido, -- esses são para determinar se está abaixo da média pa.nota_min_aprovacao / 100.0 as perc_aprovacao, vmnp.valor_maximo_nota / s.valor_maximo_nota as perc_nota_periodo, s.valor_maximo_nota, -- esses ajudam a determinar os períodos que já foram apontados max(npa.id_nota_periodo_aluno) over (partition by amt.id_turma) as ultimo_periodo_turma, max( case when t.flg_atividade_avaliativa then concluido.id_nota_periodo_aluno else na.id_nota_periodo_aluno end) over (partition by amt.id_aluno_matricula, cc.id_disciplina) as ultimo_periodo_apontamento from aluno_turma_diario_impresso a -- isso acelera (muito) a query pois o banco está acostumando a juntar com nota_aluno daqui inner join aluno_matr_turma amt on amt.id_aluno_matricula = a.id_aluno_matricula and amt.id_turma = a.id_turma_desempenho inner join turma t on t.id_turma = amt.id_turma inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = a.id_serie inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno in ( select tp.id_nota_periodo_aluno from turma_periodo tp where tp.id_turma = t.id_turma union select 5 as id_nota_periodo_aluno) inner join serie s on s.id_serie = ts.id_serie inner join curso c on s.id_curso = c.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular -- nota do periodo left join nota_aluno na on na.id_turma = amt.id_turma and na.id_aluno_matricula = amt.id_aluno_matricula and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = cc.id_disciplina -- conceito left join conceito_avaliacao ca on na.id_conceito_avaliacao = ca.id_conceito_avaliacao -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = cc.id_disciplina and npa.id_nota_periodo_aluno = any (amdd.periodos) left join motivo_dispensa_disciplina mdd on mdd.id_motivo_dispensa_disciplina = amdd.id_motivo_dispensa_disciplina -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = amt.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and npa.id_nota_periodo_aluno = any (mdp.periodos) left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join procedimento_avaliacao_valor_maximo_nota_periodo vmnp on vmnp.id_procedimento_avaliacao = pa.id_procedimento_avaliacao and vmnp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno -- resultado final apontado left join nota_aluno nf on nf.id_turma = amt.id_turma and nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_disciplina = cc.id_disciplina and nf.id_nota_periodo_aluno = 5 -- conceito final left join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao -- recuperação final left join nota_aluno nr on nr.id_turma = amt.id_turma and nr.id_aluno_matricula = amt.id_aluno_matricula and nr.id_disciplina = cc.id_disciplina and nr.id_nota_periodo_aluno = 6 -- conceito final recuperação left join conceito_avaliacao cr on cr.id_conceito_avaliacao = nr.id_conceito_avaliacao -- conclusão das atividades left join nota_aluno_atividade_concluido concluido on concluido.id_turma = ts.id_turma and concluido.id_serie = ts.id_serie and concluido.id_disciplina = cc.id_disciplina and concluido.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where ts.id_turma = '240003130' and ts.id_serie = '102' and cc.flg_aponta_notas and s.id_forma_avaliacao in (1, 2, 4)) x order by id_aluno_matricula, id_nota_periodo_aluno, id_componente_curricular;
Date: 2025-02-10 08:10:14 Duration: 3s442ms Bind query: yes
9 100ms 1s899ms 391ms 449 2m55s select dependente.id_cidadao AS "idCidadao", coalesce(nullif (dependente.nome_social, ?), dependente.nome) AS "nomeDependente", am.id_aluno_matricula AS "idAluno", asem.ano, uf.nome AS "unidadeFuncional", uf.id_unidade_funcional AS "idUnidadeFuncional", t.nome AS "turma", t.id_turma AS "idTurma", s.descricao AS "serie", c.descricao AS "curso", tu.descricao AS "turno", usuario_dependente.id_usuario AS "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in (...) and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = ? and ui.id_instituicao = ?) order by dependente.nome;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Feb 10 07 87 24s399ms 280ms 08 115 35s331ms 307ms 09 124 46s695ms 376ms 10 123 1m9s 562ms -
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2032347') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:35:07 Duration: 1s899ms Bind query: yes
-
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2052837') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:22:38 Duration: 1s743ms Bind query: yes
-
select dependente.id_cidadao as "idCidadao", coalesce(nullif (dependente.nome_social, ''), dependente.nome) as "nomeDependente", am.id_aluno_matricula as "idAluno", asem.ano, uf.nome as "unidadeFuncional", uf.id_unidade_funcional as "idUnidadeFuncional", t.nome as "turma", t.id_turma as "idTurma", s.descricao as "serie", c.descricao as "curso", tu.descricao as "turno", usuario_dependente.id_usuario as "idUsuario" from responsavel inner join cidadao cid on cid.id_cidadao = responsavel.id_responsavel inner join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao inner join usuario u on u.id_usuario = cu.id_usuario inner join aluno a on a.id_responsavel = responsavel.id_responsavel inner join cidadao dependente on dependente.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = dependente.id_cidadao and am.flg_matricula_atual is true inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join serie s on s.id_serie = amt.id_serie_enturmacao inner join curso c on c.id_curso = s.id_curso inner join turno tu on tu.id_turno = t.id_turno left join cidadao_usuario ciu on ciu.id_cidadao = dependente.id_cidadao left join usuario usuario_dependente on usuario_dependente.id_usuario = ciu.id_usuario where responsavel.id_responsavel in ('2052837') and u.id_usuario in ( select us.id_usuario from usuario us inner join usuario_grupo_unidade ugu on u.id_usuario = ugu.id_usuario inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join usuario_instituicao ui on ui.id_usuario = u.id_usuario where gu.id_ator = '2' and ui.id_instituicao = '98') order by dependente.nome;
Date: 2025-02-10 10:23:54 Duration: 1s672ms Bind query: yes
10 107ms 1s177ms 383ms 270 1m43s ( select distinct s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, ?) + coalesce(aps.coluna2, ?) as pontos, jtt.descricao as descricao_jornadaopcao, jtos.horas_atribuidas, null as jex, c.id_cidadao, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, null as fase, aa.descricao as areaatuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ? || jtt.carga_horaria || ? as jornadaopcao, servidor_cargo.matricula_cargo as matricula, case when ato_historico.contador notnull then ? else ? end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_base lcacb using (id_local_class_atribuicao) inner join servidor_cargo_base servidor_cargo on servidor_cargo.id_servidor_cargo_base = lcacb.id_servidor_cargo_base and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_base jtocb on (jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_base apscb on (apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = ? and sah.data_referencia <= to_timestamp(?, ?) and (sah.data_fim isnull or sah.data_fim >= to_timestamp(?, ?)) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where (? = ?) and c.nome == = ? and ano_semestre.ano = ? and lca.id_unidade_funcional = ? and ca.id_instituicao = ?) union ( select distinct s.registro_funcional as rf, scb.cl as cl, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, ?) + coalesce(aps.coluna2, ?) as pontos, jtt.descricao as descricao_jornadaopcao, jtos.horas_atribuidas, null as jex, c.id_cidadao, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, null as fase, aa.descricao as areaatuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ? || jtt.carga_horaria || ? as jornadaopcao, null as matricula, case when ato_historico.contador notnull then ? else ? end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_sobrep lcacs using (id_local_class_atribuicao) inner join servidor_cargo_sobr_alt servidor_cargo on servidor_cargo.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor_cargo_base scb on (scb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_sobr jtocs on (jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_sobr apscs on (apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = ? and sah.data_referencia <= to_timestamp(?, ?) and (sah.data_fim isnull or sah.data_fim >= to_timestamp(?, ?)) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where (? = ?) and c.nome == = ? and ano_semestre.ano = ? and lca.id_unidade_funcional = ? and ca.id_instituicao = ?) order by rf_integer;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Feb 10 07 41 12s817ms 312ms 08 32 15s566ms 486ms 09 57 19s807ms 347ms 10 140 55s220ms 394ms -
( select distinct s.registro_funcional as RF, servidor_cargo.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, servidor_cargo.matricula_cargo as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_base lcacb using (id_local_class_atribuicao) inner join servidor_cargo_base servidor_cargo on servidor_cargo.id_servidor_cargo_base = lcacb.id_servidor_cargo_base and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_base jtocb on (jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_base apscb on (apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 10:39:50', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 10:39:50', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'ANA LUCIA' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 607114 AND ca.id_instituicao = 98) union ( select distinct s.registro_funcional as RF, scb.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, null as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_sobrep lcacs using (id_local_class_atribuicao) inner join servidor_cargo_sobr_alt servidor_cargo on servidor_cargo.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor_cargo_base scb on (scb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_sobr jtocs on (jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_sobr apscs on (apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 10:39:50', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 10:39:50', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'ANA LUCIA' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 607114 AND ca.id_instituicao = 98) ORDER BY rf_integer;
Date: 2025-02-10 10:39:52 Duration: 1s177ms Bind query: yes
-
( select distinct s.registro_funcional as RF, servidor_cargo.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, servidor_cargo.matricula_cargo as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_base lcacb using (id_local_class_atribuicao) inner join servidor_cargo_base servidor_cargo on servidor_cargo.id_servidor_cargo_base = lcacb.id_servidor_cargo_base and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_base jtocb on (jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_base apscb on (apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 08:41:15', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 08:41:15', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'EDILENE' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 385 AND ca.id_instituicao = 82) union ( select distinct s.registro_funcional as RF, scb.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, null as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_sobrep lcacs using (id_local_class_atribuicao) inner join servidor_cargo_sobr_alt servidor_cargo on servidor_cargo.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor_cargo_base scb on (scb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_sobr jtocs on (jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_sobr apscs on (apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 08:41:15', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 08:41:15', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'EDILENE' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 385 AND ca.id_instituicao = 82) ORDER BY rf_integer;
Date: 2025-02-10 08:41:16 Duration: 1s104ms Bind query: yes
-
( select distinct s.registro_funcional as RF, servidor_cargo.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, servidor_cargo.matricula_cargo as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_base lcacb using (id_local_class_atribuicao) inner join servidor_cargo_base servidor_cargo on servidor_cargo.id_servidor_cargo_base = lcacb.id_servidor_cargo_base and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_base jtocb on (jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_base apscb on (apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 10:35:03', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 10:35:03', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'ALEXANDRA SOARES DE PAULA GUIMARÃES' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 369 AND ca.id_instituicao = 82) union ( select distinct s.registro_funcional as RF, scb.cl as CL, c.nome as professor, ca.descricao as cargo, coalesce(aps.coluna1, 0) + coalesce(aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornadaOpcao, jtos.horas_atribuidas, null as JEX, c.id_cidadao, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, null as fase, aa.descricao as areaAtuacao, jtt.carga_horaria, jtt.desvio_carga_horaria, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornadaOpcao, null as matricula, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual from local_class_atribuicao lca inner join local_class_atrib_cargo_sobrep lcacs using (id_local_class_atribuicao) inner join servidor_cargo_sobr_alt servidor_cargo on servidor_cargo.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt and servidor_cargo.flg_aberto is true inner join ano_semestre on ano_semestre.id_ano_semestre = lca.id_ano_semestre inner join servidor_cargo_base scb on (scb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base) inner join servidor s on (s.id_cidadao = servidor_cargo.id_cidadao) inner join cidadao c on (s.id_cidadao = c.id_cidadao) inner join cargo ca on (ca.id_cargo = servidor_cargo.id_cargo) inner join area_atuacao aa on (aa.id_area_atuacao = ca.id_area_atuacao) inner join jorn_trabalho_opcao_car_sobr jtocs on (jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtos on (jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.ano = ano_semestre.ano) inner join jornada_trabalho_tipo jtt on (jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo) left join atrib_pont_serv_cargo_sobr apscs on (apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt) left join atrib_pontuacao_serv aps on (aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = ano_semestre.ano) left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht on aht.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht.id_categoria_ato_historico = 7 and sah.data_referencia <= to_timestamp('10/02/2025 10:35:03', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('10/02/2025 10:35:03', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base WHERE (1 = 1) AND c.nome == = 'ALEXANDRA SOARES DE PAULA GUIMARÃES' AND ano_semestre.ano = 2025 AND lca.id_unidade_funcional = 369 AND ca.id_instituicao = 82) ORDER BY rf_integer;
Date: 2025-02-10 10:35:04 Duration: 979ms Bind query: yes
11 100ms 822ms 325ms 400 2m10s select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in (...) and exists ( select null from turma_professor tp where tp.id_cidadao = ? and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = ?) and rd.data_referencia = sda.data and rd.data_atualizacao > ? and t.id_periodicidade_conteudo in (...) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = ?) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > ? and t.id_periodicidade_conteudo = ?);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Feb 10 07 52 13s171ms 253ms 08 117 34s416ms 294ms 09 128 43s948ms 343ms 10 103 38s756ms 376ms -
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250008654', '250008656', '250008657', '250008658', '250008660', '250010164') and exists ( select null from turma_professor tp where tp.id_cidadao = '1926108' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 10:46:36.012' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 10:46:36.012' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 10:47:01 Duration: 822ms Bind query: yes
-
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250000723', '250000724', '250000733', '250001486', '250001487', '250001488') and exists ( select null from turma_professor tp where tp.id_cidadao = '2013416' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 09:15:29.171' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 09:15:29.171' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 09:34:29 Duration: 762ms Bind query: yes
-
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('250007332', '250007335', '250007337', '250007338', '250007342', '250007343') and exists ( select null from turma_professor tp where tp.id_cidadao = '1926615' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2025-02-10 09:09:49.026' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2025-02-10 09:09:49.026' and t.id_periodicidade_conteudo = 3);
Date: 2025-02-10 09:10:54 Duration: 751ms Bind query: yes
12 131ms 1s505ms 292ms 2,689 13m7s select a.codigo as matricula, am.id_aluno_matricula AS "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ? || cid.nome_pai AS "nomeFiliacao", to_char(cid.nascimento_data, ?) AS "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> ? and cid.id_instituicao = ? and date(cid.nascimento_data) = date(?) and cid.nome == = ? and (upper(cid.nome_pai) = upper(trim(?)) or upper(cid.nome_mae) = upper(trim(?)));Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Feb 10 08 1,085 4m59s 276ms 09 813 3m57s 291ms 10 791 4m10s 316ms -
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-11-30 00:00:00-03') and cid.nome == = 'micaella Peixoto Dias' and (upper(cid.nome_pai) = upper(trim('Thais de Paulo Peixoto')) or upper(cid.nome_mae) = upper(trim('Thais de Paulo Peixoto')));
Date: 2025-02-10 08:00:25 Duration: 1s505ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-10-13 00:00:00-03') and cid.nome == = 'thaylla liz dos Santos baía Lopes' and (upper(cid.nome_pai) = upper(trim('Jeane Reis dos Santos')) or upper(cid.nome_mae) = upper(trim('Jeane Reis dos Santos')));
Date: 2025-02-10 08:00:25 Duration: 1s472ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2011-06-22 00:00:00-03') and cid.nome == = 'kaio Felipe Gomes da Silva' and (upper(cid.nome_pai) = upper(trim('Paloma cristina souza silva')) or upper(cid.nome_mae) = upper(trim('Paloma cristina souza silva')));
Date: 2025-02-10 10:10:12 Duration: 1s219ms Bind query: yes
13 111ms 630ms 280ms 563 2m38s select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in (...) and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = ? and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > ?;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Feb 10 07 134 31s638ms 236ms 08 157 41s540ms 264ms 09 126 36s827ms 292ms 10 146 48s 328ms -
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250006662') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '1926042' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2024-12-19 13:25:50.101';
Date: 2025-02-10 07:33:05 Duration: 630ms Bind query: yes
-
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250000681', '250000684') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '2336684' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2025-02-07 10:18:44.582';
Date: 2025-02-10 10:48:37 Duration: 582ms Bind query: yes
-
select r.id_turma, r.id_serie, r.id_componente_curricular, r.data_aula from registro_lancamento_plano_aula r where r.id_turma in ('250004923') and exists ( select null from turma_professor tp where tp.id_turma = r.id_turma and tp.id_cidadao = '2400434' and (tp.id_componente_curricular = r.id_componente_curricular or r.id_componente_curricular is null)) and r.data_atualizacao > '2025-02-04 12:21:06.976';
Date: 2025-02-10 10:18:13 Duration: 582ms Bind query: yes
14 100ms 569ms 228ms 494 1m52s select a.id_album_portal, a.nome, i.identificador AS "identificadorImagem", i.tipo, i.legenda, imagens.imagens from album_portal a join ( select count(*) as imagens, id_album_portal from album_portal_imagem group by id_album_portal) as imagens on imagens.id_album_portal = a.id_album_portal join imagem i on i.id_imagem = a.id_imagem_chamada join album_unidade_funcional astatus on astatus.id_album_portal = a.id_album_portal and astatus.id_unidade_funcional = ? and astatus.id_status_portal = ? where a.flg_exibir_album_portal = true and a.id_instituicao = ? order by astatus.data_publicacao desc nulls last, a.nome limit ?;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Feb 10 07 102 19s221ms 188ms 08 153 32s135ms 210ms 09 146 35s375ms 242ms 10 93 25s995ms 279ms -
select a.id_album_portal, a.nome, i.identificador as "identificadorImagem", i.tipo, i.legenda, imagens.imagens from album_portal a join ( select count(*) as imagens, id_album_portal from album_portal_imagem group by id_album_portal) as imagens on imagens.id_album_portal = a.id_album_portal join imagem i on i.id_imagem = a.id_imagem_chamada join album_unidade_funcional astatus on astatus.id_album_portal = a.id_album_portal and astatus.id_unidade_funcional = '17' and astatus.id_status_portal = 'pub' where a.flg_exibir_album_portal = true and a.id_instituicao = '8' order by astatus.data_publicacao desc nulls last, a.nome limit 3;
Date: 2025-02-10 09:06:13 Duration: 569ms Bind query: yes
-
select a.id_album_portal, a.nome, i.identificador as "identificadorImagem", i.tipo, i.legenda, imagens.imagens from album_portal a join ( select count(*) as imagens, id_album_portal from album_portal_imagem group by id_album_portal) as imagens on imagens.id_album_portal = a.id_album_portal join imagem i on i.id_imagem = a.id_imagem_chamada join album_unidade_funcional astatus on astatus.id_album_portal = a.id_album_portal and astatus.id_unidade_funcional = '17' and astatus.id_status_portal = 'pub' where a.flg_exibir_album_portal = true and a.id_instituicao = '8' order by astatus.data_publicacao desc nulls last, a.nome limit 3;
Date: 2025-02-10 10:18:33 Duration: 549ms Bind query: yes
-
select a.id_album_portal, a.nome, i.identificador as "identificadorImagem", i.tipo, i.legenda, imagens.imagens from album_portal a join ( select count(*) as imagens, id_album_portal from album_portal_imagem group by id_album_portal) as imagens on imagens.id_album_portal = a.id_album_portal join imagem i on i.id_imagem = a.id_imagem_chamada join album_unidade_funcional astatus on astatus.id_album_portal = a.id_album_portal and astatus.id_unidade_funcional = '8' and astatus.id_status_portal = 'pub' where a.flg_exibir_album_portal = true and a.id_instituicao = '8' order by astatus.data_publicacao desc nulls last, a.nome limit 3;
Date: 2025-02-10 09:33:46 Duration: 535ms Bind query: yes
15 100ms 546ms 204ms 260 53s286ms select apontamento.id_turma, apontamento.id_aluno_matricula, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, case when eixo_modelo.flg_multipla_escolha is false then apontamento.id_opcao_eixo_modelo_aval when eixo_modelo.flg_multipla_escolha is true then opcao_eixo else null end as id_opcao_eixo_modelo_aval from apontamento_eixo_aval_desc apontamento inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_eixo_modelo_avaliacao_desc = apontamento.id_eixo_modelo_avaliacao_desc left join unnest(apontamento.opcoes_eixo_modelo_aval) as opcao_eixo on eixo_modelo.flg_multipla_escolha is true where apontamento.id_turma in (...) and eixo_modelo.id_expressao_avaliacao = ? and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > ? and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Feb 10 07 36 5s515ms 153ms 08 92 17s720ms 192ms 09 71 15s919ms 224ms 10 61 14s131ms 231ms -
select apontamento.id_turma, apontamento.id_aluno_matricula, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, case when eixo_modelo.flg_multipla_escolha is false then apontamento.id_opcao_eixo_modelo_aval when eixo_modelo.flg_multipla_escolha is true then opcao_eixo else null end as id_opcao_eixo_modelo_aval from apontamento_eixo_aval_desc apontamento inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_eixo_modelo_avaliacao_desc = apontamento.id_eixo_modelo_avaliacao_desc left join unnest(apontamento.opcoes_eixo_modelo_aval) as opcao_eixo on eixo_modelo.flg_multipla_escolha is true where apontamento.id_turma in ('250005826', '250005827', '250005824', '250007325') and eixo_modelo.id_expressao_avaliacao = 2 and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 10:24:42.607' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 10:30:53 Duration: 546ms Bind query: yes
-
select apontamento.id_turma, apontamento.id_aluno_matricula, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, case when eixo_modelo.flg_multipla_escolha is false then apontamento.id_opcao_eixo_modelo_aval when eixo_modelo.flg_multipla_escolha is true then opcao_eixo else null end as id_opcao_eixo_modelo_aval from apontamento_eixo_aval_desc apontamento inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_eixo_modelo_avaliacao_desc = apontamento.id_eixo_modelo_avaliacao_desc left join unnest(apontamento.opcoes_eixo_modelo_aval) as opcao_eixo on eixo_modelo.flg_multipla_escolha is true where apontamento.id_turma in ('250007335', '250007332', '250007342', '250007343', '250007338', '250007337') and eixo_modelo.id_expressao_avaliacao = 2 and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 09:10:35.28' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 10:09:19 Duration: 446ms Bind query: yes
-
select apontamento.id_turma, apontamento.id_aluno_matricula, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, case when eixo_modelo.flg_multipla_escolha is false then apontamento.id_opcao_eixo_modelo_aval when eixo_modelo.flg_multipla_escolha is true then opcao_eixo else null end as id_opcao_eixo_modelo_aval from apontamento_eixo_aval_desc apontamento inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_eixo_modelo_avaliacao_desc = apontamento.id_eixo_modelo_avaliacao_desc left join unnest(apontamento.opcoes_eixo_modelo_aval) as opcao_eixo on eixo_modelo.flg_multipla_escolha is true where apontamento.id_turma in ('250005542', '250005557', '250005541', '250009848', '250009849') and eixo_modelo.id_expressao_avaliacao = 2 and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 08:49:39.372' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 09:21:40 Duration: 432ms Bind query: yes
16 100ms 430ms 198ms 288 57s259ms select apontamento.id_aluno_matricula, apontamento.id_turma, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, apontamento.id_opcao_eixo_modelo_aval, apontamento.expressao_aval_livre, apontamento.valor_numerico from apontamento_eixo_aval_desc apontamento where apontamento.id_turma in (...) and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > ? and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Feb 10 07 35 5s584ms 159ms 08 96 17s534ms 182ms 09 82 17s534ms 213ms 10 75 16s606ms 221ms -
select apontamento.id_aluno_matricula, apontamento.id_turma, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, apontamento.id_opcao_eixo_modelo_aval, apontamento.expressao_aval_livre, apontamento.valor_numerico from apontamento_eixo_aval_desc apontamento where apontamento.id_turma in ('250004903', '250004466', '250004467', '250004465', '250004942', '250004462', '250004463', '250004460', '250004461', '250004459', '250004457', '250004953') and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 09:17:16.41' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 09:21:40 Duration: 430ms Bind query: yes
-
select apontamento.id_aluno_matricula, apontamento.id_turma, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, apontamento.id_opcao_eixo_modelo_aval, apontamento.expressao_aval_livre, apontamento.valor_numerico from apontamento_eixo_aval_desc apontamento where apontamento.id_turma in ('250011362', '250011360', '250008673', '250011357', '250008683', '250011352') and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 09:47:27.953' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 10:47:26 Duration: 429ms Bind query: yes
-
select apontamento.id_aluno_matricula, apontamento.id_turma, apontamento.id_nota_periodo_aluno, apontamento.id_eixo_modelo_avaliacao_desc, apontamento.id_opcao_eixo_modelo_aval, apontamento.expressao_aval_livre, apontamento.valor_numerico from apontamento_eixo_aval_desc apontamento where apontamento.id_turma in ('250005542', '250005557', '250005541', '250009848', '250009849') and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > '2025-02-10 10:52:07.479' and registro.id_turma = apontamento.id_turma and registro.id_aluno_matricula = apontamento.id_aluno_matricula and registro.id_nota_periodo_aluno = apontamento.id_nota_periodo_aluno);
Date: 2025-02-10 10:53:21 Duration: 426ms Bind query: yes
17 100ms 1s369ms 180ms 1,652 4m57s select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce(? || ano.semestre, ?) as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma on amt.id_turma = turma.id_turma, to_tsquery(?) query where am.flg_matricula_atual = true and cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and ano.ano = ? and cidadao.fts @@ query order by matricula_aluno limit ?;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Feb 10 07 253 47s753ms 188ms 08 356 1m 168ms 09 409 1m5s 161ms 10 634 2m4s 195ms -
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('nathanael & adryan') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '92' and am.id_unidade_funcional = '606741' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:04:30 Duration: 1s369ms Bind query: yes
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('ARTHUR & SOARES') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '98' and am.id_unidade_funcional = '607847' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:02:29 Duration: 1s39ms Bind query: yes
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery('QUINTILIO') query where am.flg_matricula_atual = true and cidadao.id_instituicao = '80' and am.id_unidade_funcional = '606143' and ano.ano = '2025' and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:10:43 Duration: 836ms Bind query: yes
18 100ms 3s697ms 176ms 1,656 4m51s select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Feb 10 07 245 41s144ms 167ms 08 492 1m17s 156ms 09 471 1m21s 173ms 10 448 1m31s 204ms -
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250010412') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1928403' and tp.id_turma in ('250010412') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:52 Duration: 3s697ms Bind query: yes
-
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000842') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013137' and tp.id_turma in ('250000842') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 07:33:52 Duration: 2s103ms Bind query: yes
-
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250001557', '250001559', '250001561') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013938' and tp.id_turma in ('250001557', '250001559', '250001561') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 08:03:27 Duration: 835ms Bind query: yes
19 100ms 452ms 171ms 354 1m select a.id_cidadao, a.codigo, c.nome, c.nascimento_data, ano.ano, ano.semestre, cur.sigla as curso, s.sigla as serie, t.codigo as turma, ams.descricao as status, am.id_curso, am.id_aluno_matricula, am.id_serie, amt.id_turma from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on a.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join curso cur on cur.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma t on t.id_turma = amt.id_turma where am.id_unidade_funcional = ? and (am.id_aluno_matr_status in (...) or am.flg_matricula_atual is true or am.id_aluno_matricula in ( select id_aluno_matricula_anterior from aluno_matricula where id_cidadao = am.id_cidadao and id_ano_semestre = am.id_ano_semestre and flg_matricula_atual is true)) and ano.ano = ? and c.nome == = ? order by a.codigo;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Feb 10 07 48 7s822ms 162ms 08 95 15s330ms 161ms 09 104 17s396ms 167ms 10 107 20s267ms 189ms -
select a.id_cidadao, a.codigo, c.nome, c.nascimento_data, ano.ano, ano.semestre, cur.sigla as curso, s.sigla as serie, t.codigo as turma, ams.descricao as status, am.id_curso, am.id_aluno_matricula, am.id_serie, amt.id_turma from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on a.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join curso cur on cur.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma where am.id_unidade_funcional = '606726' and (am.id_aluno_matr_status in (1, 2, 7) or am.flg_matricula_atual is true or am.id_aluno_matricula in ( select id_aluno_matricula_anterior from aluno_matricula where id_cidadao = am.id_cidadao and id_ano_semestre = am.id_ano_semestre and flg_matricula_atual is true)) and ano.ano = '2024' and c.nome == = 'alan silva do nascimento' order by a.codigo;
Date: 2025-02-10 09:07:21 Duration: 452ms Bind query: yes
-
select a.id_cidadao, a.codigo, c.nome, c.nascimento_data, ano.ano, ano.semestre, cur.sigla as curso, s.sigla as serie, t.codigo as turma, ams.descricao as status, am.id_curso, am.id_aluno_matricula, am.id_serie, amt.id_turma from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on a.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join curso cur on cur.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma where am.id_unidade_funcional = '605747' and (am.id_aluno_matr_status in (1, 2, 7) or am.flg_matricula_atual is true or am.id_aluno_matricula in ( select id_aluno_matricula_anterior from aluno_matricula where id_cidadao = am.id_cidadao and id_ano_semestre = am.id_ano_semestre and flg_matricula_atual is true)) and ano.ano = '2025' and c.nome == = 'pereira sales' order by a.codigo;
Date: 2025-02-10 10:22:36 Duration: 426ms Bind query: yes
-
select a.id_cidadao, a.codigo, c.nome, c.nascimento_data, ano.ano, ano.semestre, cur.sigla as curso, s.sigla as serie, t.codigo as turma, ams.descricao as status, am.id_curso, am.id_aluno_matricula, am.id_serie, amt.id_turma from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on a.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join curso cur on cur.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma where am.id_unidade_funcional = '607116' and (am.id_aluno_matr_status in (1, 2, 7) or am.flg_matricula_atual is true or am.id_aluno_matricula in ( select id_aluno_matricula_anterior from aluno_matricula where id_cidadao = am.id_cidadao and id_ano_semestre = am.id_ano_semestre and flg_matricula_atual is true)) and ano.ano = '2025' and c.nome == = 'JOÃO VITOR SILVA PEREIRA' order by a.codigo;
Date: 2025-02-10 10:30:30 Duration: 420ms Bind query: yes
20 100ms 518ms 171ms 1,697 4m50s select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Feb 10 07 255 36s891ms 144ms 08 497 1m18s 158ms 09 481 1m22s 170ms 10 464 1m33s 201ms -
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250000092', '250000093', '250000095', '250000096', '250000098', '250000099') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2371311' and tp.id_turma in ('250000092', '250000093', '250000095', '250000096', '250000098', '250000099') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:12:04 Duration: 518ms Bind query: yes
-
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250002257', '250002260', '250002262', '250002282', '250002291', '250002292') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2013430' and tp.id_turma in ('250002257', '250002260', '250002262', '250002282', '250002291', '250002292') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:38:38 Duration: 431ms Bind query: yes
-
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('250001960') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012668' and tp.id_turma in ('250001960') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2025-02-10 10:33:19 Duration: 421ms Bind query: yes
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 148ms 1 148ms 148ms 148ms select s.id_serie, s.sigla, s.descricao, s.flg_correcao_fluxo is true as flg_correcao_fluxo from serie s inner join curso c on s.id_curso = c.id_curso left join modalidade m on c.id_modalidade = m.id_modalidade where s.id_curso = $1 and s.flg_ativo = true order by s.sigla;Times Reported Time consuming prepare #1
Day Hour Count Duration Avg duration Feb 10 10 1 148ms 148ms -
select s.id_serie, s.sigla, s.descricao, s.flg_correcao_fluxo is true as flg_correcao_fluxo from serie s inner join curso c on s.id_curso = c.id_curso left join modalidade m on c.id_modalidade = m.id_modalidade where s.id_curso = $1 and s.flg_ativo = true order by s.sigla;
Date: 2025-02-10 10:17:43 Duration: 148ms Database: postgres
2 132ms 1 132ms 132ms 132ms select uf.id_unidade_funcional as id, uf.codigo, uf.nome from unidade_funcional uf left join unidade_interna ui ON ui.id_unidade_funcional = uf.id_unidade_funcional left join alimentacao.configuracao_unidade_funcional cuf ON cuf.id_unidade_funcional = uf.id_unidade_funcional where uf.id_instituicao = $1 and uf.codigo = $2 and (ui.id_unidade_interna_situacao = $3 or ui.id_unidade_interna_situacao is null) and (uf.id_unidade_funcional = $4 or (uf.id_unidade_funcional in ( select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $5 and id_assunto_hierarquia_unidade = $6)));Times Reported Time consuming prepare #2
Day Hour Count Duration Avg duration 09 1 132ms 132ms -
select uf.id_unidade_funcional as id, uf.codigo, uf.nome from unidade_funcional uf left join unidade_interna ui ON ui.id_unidade_funcional = uf.id_unidade_funcional left join alimentacao.configuracao_unidade_funcional cuf ON cuf.id_unidade_funcional = uf.id_unidade_funcional where uf.id_instituicao = $1 and uf.codigo = $2 and (ui.id_unidade_interna_situacao = $3 or ui.id_unidade_interna_situacao is null) and (uf.id_unidade_funcional = $4 or (uf.id_unidade_funcional in ( select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $5 and id_assunto_hierarquia_unidade = $6)));
Date: 2025-02-10 10:40:17 Duration: 132ms Database: postgres
3 112ms 1 112ms 112ms 112ms delete from transferencia_espera where id_aluno_matricula = $1;Times Reported Time consuming prepare #3
Day Hour Count Duration Avg duration 09 1 112ms 112ms -
delete from transferencia_espera where id_aluno_matricula = $1;
Date: 2025-02-10 10:30:06 Duration: 112ms Database: postgres
4 104ms 1 104ms 104ms 104ms select c.nome, c.nome_social as nome_social_aluno, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, c.sexo, c.nome_pai, c.nome_mae, rc.descricao as raca, n.nome as nacionalidade, c.email, c.profissao_mae, c.profissao_pai, c.religiao, case when a.flg_retorna_sozinho_residencia then 'Sim' else 'Não' end as retorna_sozinho, fm.descricao as filiacao_moradia, aof.beneficiario_bolsa_familia as beneficiario, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mcidend.nome as endereco_cidade, ufcidend.sigla as endereco_estado, d.nome as distrito, t.codigo as turma_codigo, rt.descricao as tipo_responsavel, case when rt.id_responsavel_tipo <> 4 then ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) else null end as cpf_responsavel, case when rt.id_responsavel_tipo = 3 then a.nome_responsavel else cidresp.nome end as nome_responsavel, ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) as cpf_responsavel, case when rt.id_responsavel_tipo <> 1 and rt.id_responsavel_tipo <> 2 then coalesce(responsavel.profissao, '') else null end as profissao_responsavel, docs.numero_rg, docs.orgao_expedidor_rg, docs.uf_rg, to_char(docs.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, mnasc.nome as municipio_nascimento, ufnasc.sigla as uf_nascimento, docs.uf_cn, docs.municipio_cn, docs.livro_cn, docs.folha_cn, docs.numero_cn, docs.cartorio_cn, to_char(docs.data_emissao_cn, 'DD/MM/YYYY') as data_emissao_cn, docs.numero_matricula_cn, docs.modelo_certidao, docs.numero_cpf, ( select string_agg(ps.nome, ', ') from programa_social ps inner join programa_social_aluno psa on psa.id_programa_social = ps.id_programa_social where psa.id_aluno_matricula = am.id_aluno_matricula) as programa_social, docs.cpf_mae, docs.cpf_pai, a.ra || ' - ' || a.dv_ra as ra, docs.numero_nis as nis, docs.numero_rne, a.rm, et.descricao as etapa_ensino, mo.descricao as modalidade, cur.descricao as curso, se.descricao as serie, ase.ano, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, pes.descricao as escola_procedencia, pmod.descricao as modalidade_procedencia, prend.descricao as rendimento_procedencia, a.id_responsavel, a.codigo as numero_matricula, a.codigo_inep, docs.numero_cns, saude.possui_alergia, saude.alergias, saude.possui_medicacao_controlada, saude.medicacao_controlada, munidade.nome as municipio_escola, coalesce(' - ' || tro.descricao, '') as tipo_responsavel_outro, a.resultado_exame, grupo_sanguineo.descricao as grupo_sanguineo, 'Endereço: ' || ufu.endereco || ', N°: ' || ufu.numero || '. Bairro: ' || ufu.bairro as escola_endereco, ufu.codigo || ' - ' || ufu.nome as escola_inscricao, case when aof.flg_recebe_bolsa_familia is true then 'Sim' else 'Não' end as recebe_bolsa_familia, case when a.flg_transporte_escolar is true then 'Sim' else 'Não' end as utiliza_transporte_escolar, case when a.flg_remanescente_quilombo is true then 'Sim' else 'Não' end as "remanescenteQuilombo", case when a.flg_pertence_povo_cigano is true then 'Sim' else 'Não' end as "pertencentesPovoCigano" from aluno_matricula am inner join unidade_funcional ufu on ufu.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ase on (ase.id_ano_semestre = am.id_ano_semestre) inner join aluno a using (id_cidadao) inner join cidadao c using (id_cidadao) inner join raca_cor rc using (id_raca_cor) inner join cidadao_endereco ce on (ce. id_cidadao = c.id_cidadao) inner join curso cur on (cur.id_curso = am.id_curso) inner join serie se on (se.id_serie = am.id_serie) inner join modalidade mo on (mo.id_modalidade = cur.id_modalidade) inner join ensino_etapa et on (et.id_ensino_etapa = mo.id_ensino_etapa) inner join municipio munidade on munidade.id_municipio = ufu.id_municipio left join aluno_observacoes_familia aof on aof.id_cidadao = c.id_cidadao left join filiacao_moradia fm on fm.id_filiacao_moradia = aof.id_filiacao_moradia left join cidadao cidresp on (a.id_responsavel = cidresp.id_cidadao) left join responsavel on responsavel.id_responsavel = a.id_responsavel left join municipio mcidend on (ce.id_municipio = mcidend.id_municipio) left join uf ufcidend on ufcidend.id_uf = mcidend.id_uf left join distrito d on (d.id_distrito = ce.id_distrito) left join municipio mnasc on (c.id_municipio_nascimento = mnasc.id_municipio) left join uf ufnasc on ufnasc.id_uf = mnasc.id_uf left join responsavel_tipo rt using (id_responsavel_tipo) left join nacionalidade n on (n.id_nacionalidade = c.id_nacionalidade) left join procedencia_escola pes on (am.id_procedencia_escola = pes.id_procedencia_escola) left join procedencia_modalidade pmod on (am.id_procedencia_modalidade = pmod.id_procedencia_modalidade) left join procedencia_rendimento prend on (prend.id_procedencia_rendimento = am.id_procedencia_rendimento) left join ( select dc.id_cidadao, dc.numero_rg || coalesce(' - ' || dc.dv_rg, '') as numero_rg, orgao_emissor_rg.descricao as orgao_expedidor_rg, uf_rg.sigla as uf_rg, dc.data_emissao_rg, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.numero_rne, dc.numero_nis, dc.data_emissao_cn, dc.numero_matricula_cn, case when dc.flg_modelo_novo_cn = true then 'Novo' else 'Antigo' end as modelo_certidao, dc.cpf_mae, dc.cpf_pai, case when dc.numero_cpf is not null then dc.numero_cpf || ' - ' || dc.digito_cpf else '' end as numero_cpf, dc.numero_cns from documentos_cidadao dc left join uf uf_rg on uf_rg.id_uf = dc.id_uf_emissor_rg left join municipio mun_cn on mun_cn.id_municipio = dc.id_municipio_cn left join uf uf_cn on uf_cn.id_uf = mun_cn.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_cartorio mc on dc.id_mec_cartorio_cn = mc.id_mec_cartorio) docs on docs.id_cidadao = c.id_cidadao left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma left join ( select cs.id_cidadao, case cs.flg_alergia when true then 'Sim' else 'Não' end as possui_alergia, cs.alergias, case cs.flg_medicacao_controlada when true then 'Sim' else 'Não' end as possui_medicacao_controlada, cs.medicacao_controlada from cidadao_saude cs) saude on saude.id_cidadao = c.id_cidadao left join grupo_sanguineo ON grupo_sanguineo.id_grupo_sanguineo = c.id_grupo_sanguineo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro where c.id_cidadao = $1 and am.id_aluno_matricula = $2;Times Reported Time consuming prepare #4
Day Hour Count Duration Avg duration 08 1 104ms 104ms -
select c.nome, c.nome_social as nome_social_aluno, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, c.sexo, c.nome_pai, c.nome_mae, rc.descricao as raca, n.nome as nacionalidade, c.email, c.profissao_mae, c.profissao_pai, c.religiao, case when a.flg_retorna_sozinho_residencia then 'Sim' else 'Não' end as retorna_sozinho, fm.descricao as filiacao_moradia, aof.beneficiario_bolsa_familia as beneficiario, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mcidend.nome as endereco_cidade, ufcidend.sigla as endereco_estado, d.nome as distrito, t.codigo as turma_codigo, rt.descricao as tipo_responsavel, case when rt.id_responsavel_tipo <> 4 then ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) else null end as cpf_responsavel, case when rt.id_responsavel_tipo = 3 then a.nome_responsavel else cidresp.nome end as nome_responsavel, ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) as cpf_responsavel, case when rt.id_responsavel_tipo <> 1 and rt.id_responsavel_tipo <> 2 then coalesce(responsavel.profissao, '') else null end as profissao_responsavel, docs.numero_rg, docs.orgao_expedidor_rg, docs.uf_rg, to_char(docs.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, mnasc.nome as municipio_nascimento, ufnasc.sigla as uf_nascimento, docs.uf_cn, docs.municipio_cn, docs.livro_cn, docs.folha_cn, docs.numero_cn, docs.cartorio_cn, to_char(docs.data_emissao_cn, 'DD/MM/YYYY') as data_emissao_cn, docs.numero_matricula_cn, docs.modelo_certidao, docs.numero_cpf, ( select string_agg(ps.nome, ', ') from programa_social ps inner join programa_social_aluno psa on psa.id_programa_social = ps.id_programa_social where psa.id_aluno_matricula = am.id_aluno_matricula) as programa_social, docs.cpf_mae, docs.cpf_pai, a.ra || ' - ' || a.dv_ra as ra, docs.numero_nis as nis, docs.numero_rne, a.rm, et.descricao as etapa_ensino, mo.descricao as modalidade, cur.descricao as curso, se.descricao as serie, ase.ano, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, pes.descricao as escola_procedencia, pmod.descricao as modalidade_procedencia, prend.descricao as rendimento_procedencia, a.id_responsavel, a.codigo as numero_matricula, a.codigo_inep, docs.numero_cns, saude.possui_alergia, saude.alergias, saude.possui_medicacao_controlada, saude.medicacao_controlada, munidade.nome as municipio_escola, coalesce(' - ' || tro.descricao, '') as tipo_responsavel_outro, a.resultado_exame, grupo_sanguineo.descricao as grupo_sanguineo, 'Endereço: ' || ufu.endereco || ', N°: ' || ufu.numero || '. Bairro: ' || ufu.bairro as escola_endereco, ufu.codigo || ' - ' || ufu.nome as escola_inscricao, case when aof.flg_recebe_bolsa_familia is true then 'Sim' else 'Não' end as recebe_bolsa_familia, case when a.flg_transporte_escolar is true then 'Sim' else 'Não' end as utiliza_transporte_escolar, case when a.flg_remanescente_quilombo is true then 'Sim' else 'Não' end as "remanescenteQuilombo", case when a.flg_pertence_povo_cigano is true then 'Sim' else 'Não' end as "pertencentesPovoCigano" from aluno_matricula am inner join unidade_funcional ufu on ufu.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ase on (ase.id_ano_semestre = am.id_ano_semestre) inner join aluno a using (id_cidadao) inner join cidadao c using (id_cidadao) inner join raca_cor rc using (id_raca_cor) inner join cidadao_endereco ce on (ce. id_cidadao = c.id_cidadao) inner join curso cur on (cur.id_curso = am.id_curso) inner join serie se on (se.id_serie = am.id_serie) inner join modalidade mo on (mo.id_modalidade = cur.id_modalidade) inner join ensino_etapa et on (et.id_ensino_etapa = mo.id_ensino_etapa) inner join municipio munidade on munidade.id_municipio = ufu.id_municipio left join aluno_observacoes_familia aof on aof.id_cidadao = c.id_cidadao left join filiacao_moradia fm on fm.id_filiacao_moradia = aof.id_filiacao_moradia left join cidadao cidresp on (a.id_responsavel = cidresp.id_cidadao) left join responsavel on responsavel.id_responsavel = a.id_responsavel left join municipio mcidend on (ce.id_municipio = mcidend.id_municipio) left join uf ufcidend on ufcidend.id_uf = mcidend.id_uf left join distrito d on (d.id_distrito = ce.id_distrito) left join municipio mnasc on (c.id_municipio_nascimento = mnasc.id_municipio) left join uf ufnasc on ufnasc.id_uf = mnasc.id_uf left join responsavel_tipo rt using (id_responsavel_tipo) left join nacionalidade n on (n.id_nacionalidade = c.id_nacionalidade) left join procedencia_escola pes on (am.id_procedencia_escola = pes.id_procedencia_escola) left join procedencia_modalidade pmod on (am.id_procedencia_modalidade = pmod.id_procedencia_modalidade) left join procedencia_rendimento prend on (prend.id_procedencia_rendimento = am.id_procedencia_rendimento) left join ( select dc.id_cidadao, dc.numero_rg || coalesce(' - ' || dc.dv_rg, '') as numero_rg, orgao_emissor_rg.descricao as orgao_expedidor_rg, uf_rg.sigla as uf_rg, dc.data_emissao_rg, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.numero_rne, dc.numero_nis, dc.data_emissao_cn, dc.numero_matricula_cn, case when dc.flg_modelo_novo_cn = true then 'Novo' else 'Antigo' end as modelo_certidao, dc.cpf_mae, dc.cpf_pai, case when dc.numero_cpf is not null then dc.numero_cpf || ' - ' || dc.digito_cpf else '' end as numero_cpf, dc.numero_cns from documentos_cidadao dc left join uf uf_rg on uf_rg.id_uf = dc.id_uf_emissor_rg left join municipio mun_cn on mun_cn.id_municipio = dc.id_municipio_cn left join uf uf_cn on uf_cn.id_uf = mun_cn.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_cartorio mc on dc.id_mec_cartorio_cn = mc.id_mec_cartorio) docs on docs.id_cidadao = c.id_cidadao left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma left join ( select cs.id_cidadao, case cs.flg_alergia when true then 'Sim' else 'Não' end as possui_alergia, cs.alergias, case cs.flg_medicacao_controlada when true then 'Sim' else 'Não' end as possui_medicacao_controlada, cs.medicacao_controlada from cidadao_saude cs) saude on saude.id_cidadao = c.id_cidadao left join grupo_sanguineo ON grupo_sanguineo.id_grupo_sanguineo = c.id_grupo_sanguineo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro where c.id_cidadao = $1 and am.id_aluno_matricula = $2;
Date: 2025-02-10 09:53:26 Duration: 104ms Database: postgres
5 104ms 1 104ms 104ms 104ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = $1 left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = $2 left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $3 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $4 and ts.id_serie = $5 and cc.id_disciplina = $6 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming prepare #5
Day Hour Count Duration Avg duration 08 1 104ms 104ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = $1 left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = $2 left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $3 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $4 and ts.id_serie = $5 and cc.id_disciplina = $6 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 09:07:21 Duration: 104ms Database: postgres
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1m2s 469 100ms 303ms 132ms select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery($1) query where am.flg_matricula_atual = true and cidadao.id_instituicao = $2 and am.id_unidade_funcional = $3 and ano.ano = $4 and cidadao.fts @@ query order by matricula_aluno limit 20;Times Reported Time consuming bind #1
Day Hour Count Duration Avg duration Feb 10 07 19 2s341ms 123ms 08 88 11s273ms 128ms 09 131 17s586ms 134ms 10 231 30s927ms 133ms -
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery($1) query where am.flg_matricula_atual = true and cidadao.id_instituicao = $2 and am.id_unidade_funcional = $3 and ano.ano = $4 and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 09:39:05 Duration: 303ms Database: postgres parameters: $1 = '2332083', $2 = '2', $3 = '98'
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery($1) query where am.flg_matricula_atual = true and cidadao.id_instituicao = $2 and am.id_unidade_funcional = $3 and ano.ano = $4 and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 10:24:41 Duration: 249ms Database: postgres parameters: $1 = 'gustavo & soares', $2 = '97', $3 = '607332', $4 = '2025'
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma, to_tsquery($1) query where am.flg_matricula_atual = true and cidadao.id_instituicao = $2 and am.id_unidade_funcional = $3 and ano.ano = $4 and cidadao.fts @@ query order by matricula_aluno limit 20;
Date: 2025-02-10 07:59:34 Duration: 247ms Database: postgres parameters: $1 = 'guilherme', $2 = '69', $3 = '605670', $4 = '2025'
2 51s629ms 255 100ms 553ms 202ms select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and falta.flg_justificada is false and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;Times Reported Time consuming bind #2
Day Hour Count Duration Avg duration 06 64 11s371ms 177ms 07 65 12s827ms 197ms 08 65 11s906ms 183ms 09 61 15s523ms 254ms -
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and falta.flg_justificada is false and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 08:41:13 Duration: 553ms Database: postgres parameters: $1 = '2025-02-10', $2 = '2155727', $3 = '2024', $4 = '2025-02-10'
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and falta.flg_justificada is false and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 08:03:30 Duration: 496ms Database: postgres parameters: $1 = '2025-02-10', $2 = '98200', $3 = '2024', $4 = '2025-02-10'
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and falta.flg_justificada is false and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 10:41:07 Duration: 484ms Database: postgres parameters: $1 = '2025-02-10', $2 = '2098271', $3 = '2024', $4 = '2025-02-10'
3 34s880ms 222 100ms 367ms 157ms select qh.id_componente_curricular, qh.dia_semana, qh.id_quadro_horario, qh.id_turno_horario, qh.id_horario_quadro, to_char(horario_inicio, 'HH24:MI') as horario_inicio_formatado, to_char(horario_termino, 'HH24:MI') as horario_termino_formatado, gc.id_serie, s.descricao as serie, d.sigla as disciplina, d.descricao as descricao_disciplina, p.id_cidadao, p.nome as professor, count(qh.id_quadro_horario) over (partition by qh.id_componente_curricular) as numero_aulas from quadro_horario qh inner join horario_quadro hq on hq.id_horario_quadro = qh.id_horario_quadro inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.id_grade_curricular inner join turma_disciplina td on td.id_turma = qh.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) inner join serie s on s.id_serie = gc.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join turma t on t.id_turma = qh.id_turma left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = qh.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) tp on true left join lateral ( select tcha.id_cidadao from turma_componente_historico_atribuicao tcha where tcha.id_turma = qh.id_turma and tcha.id_componente_curricular = cc.id_componente_curricular order by tcha.id_turma_componente_historico_atribuicao desc limit 1) hc on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 2 left join lateral ( select trha.id_cidadao from turma_regencia_historico_atribuicao trha where trha.id_turma = qh.id_turma order by trha.id_turma_regencia_historico_atribuicao desc limit 1) hr on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 1 left join cidadao p on p.id_cidadao = coalesce(qh.id_cidadao, tp.id_cidadao, hc.id_cidadao, hr.id_cidadao) where qh.id_turma = $1 order by m.ordem, s.descricao, qh.dia_semana, hq.horario_inicio;Times Reported Time consuming bind #3
Day Hour Count Duration Avg duration 06 18 2s702ms 150ms 07 42 5s750ms 136ms 08 61 8s798ms 144ms 09 101 17s630ms 174ms -
select qh.id_componente_curricular, qh.dia_semana, qh.id_quadro_horario, qh.id_turno_horario, qh.id_horario_quadro, to_char(horario_inicio, 'HH24:MI') as horario_inicio_formatado, to_char(horario_termino, 'HH24:MI') as horario_termino_formatado, gc.id_serie, s.descricao as serie, d.sigla as disciplina, d.descricao as descricao_disciplina, p.id_cidadao, p.nome as professor, count(qh.id_quadro_horario) over (partition by qh.id_componente_curricular) as numero_aulas from quadro_horario qh inner join horario_quadro hq on hq.id_horario_quadro = qh.id_horario_quadro inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.id_grade_curricular inner join turma_disciplina td on td.id_turma = qh.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) inner join serie s on s.id_serie = gc.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join turma t on t.id_turma = qh.id_turma left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = qh.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) tp on true left join lateral ( select tcha.id_cidadao from turma_componente_historico_atribuicao tcha where tcha.id_turma = qh.id_turma and tcha.id_componente_curricular = cc.id_componente_curricular order by tcha.id_turma_componente_historico_atribuicao desc limit 1) hc on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 2 left join lateral ( select trha.id_cidadao from turma_regencia_historico_atribuicao trha where trha.id_turma = qh.id_turma order by trha.id_turma_regencia_historico_atribuicao desc limit 1) hr on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 1 left join cidadao p on p.id_cidadao = coalesce(qh.id_cidadao, tp.id_cidadao, hc.id_cidadao, hr.id_cidadao) where qh.id_turma = $1 order by m.ordem, s.descricao, qh.dia_semana, hq.horario_inicio;
Date: 2025-02-10 10:09:43 Duration: 367ms Database: postgres parameters: $1 = '2398905', $2 = '2', $3 = '98'
-
select qh.id_componente_curricular, qh.dia_semana, qh.id_quadro_horario, qh.id_turno_horario, qh.id_horario_quadro, to_char(horario_inicio, 'HH24:MI') as horario_inicio_formatado, to_char(horario_termino, 'HH24:MI') as horario_termino_formatado, gc.id_serie, s.descricao as serie, d.sigla as disciplina, d.descricao as descricao_disciplina, p.id_cidadao, p.nome as professor, count(qh.id_quadro_horario) over (partition by qh.id_componente_curricular) as numero_aulas from quadro_horario qh inner join horario_quadro hq on hq.id_horario_quadro = qh.id_horario_quadro inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.id_grade_curricular inner join turma_disciplina td on td.id_turma = qh.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) inner join serie s on s.id_serie = gc.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join turma t on t.id_turma = qh.id_turma left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = qh.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) tp on true left join lateral ( select tcha.id_cidadao from turma_componente_historico_atribuicao tcha where tcha.id_turma = qh.id_turma and tcha.id_componente_curricular = cc.id_componente_curricular order by tcha.id_turma_componente_historico_atribuicao desc limit 1) hc on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 2 left join lateral ( select trha.id_cidadao from turma_regencia_historico_atribuicao trha where trha.id_turma = qh.id_turma order by trha.id_turma_regencia_historico_atribuicao desc limit 1) hr on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 1 left join cidadao p on p.id_cidadao = coalesce(qh.id_cidadao, tp.id_cidadao, hc.id_cidadao, hr.id_cidadao) where qh.id_turma = $1 order by m.ordem, s.descricao, qh.dia_semana, hq.horario_inicio;
Date: 2025-02-10 10:17:44 Duration: 328ms Database: postgres parameters: $1 = '81', $2 = '98', $3 = '2025', $4 = '931933357'
-
select qh.id_componente_curricular, qh.dia_semana, qh.id_quadro_horario, qh.id_turno_horario, qh.id_horario_quadro, to_char(horario_inicio, 'HH24:MI') as horario_inicio_formatado, to_char(horario_termino, 'HH24:MI') as horario_termino_formatado, gc.id_serie, s.descricao as serie, d.sigla as disciplina, d.descricao as descricao_disciplina, p.id_cidadao, p.nome as professor, count(qh.id_quadro_horario) over (partition by qh.id_componente_curricular) as numero_aulas from quadro_horario qh inner join horario_quadro hq on hq.id_horario_quadro = qh.id_horario_quadro inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.id_grade_curricular inner join turma_disciplina td on td.id_turma = qh.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) inner join serie s on s.id_serie = gc.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join turma t on t.id_turma = qh.id_turma left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = qh.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) tp on true left join lateral ( select tcha.id_cidadao from turma_componente_historico_atribuicao tcha where tcha.id_turma = qh.id_turma and tcha.id_componente_curricular = cc.id_componente_curricular order by tcha.id_turma_componente_historico_atribuicao desc limit 1) hc on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 2 left join lateral ( select trha.id_cidadao from turma_regencia_historico_atribuicao trha where trha.id_turma = qh.id_turma order by trha.id_turma_regencia_historico_atribuicao desc limit 1) hr on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 1 left join cidadao p on p.id_cidadao = coalesce(qh.id_cidadao, tp.id_cidadao, hc.id_cidadao, hr.id_cidadao) where qh.id_turma = $1 order by m.ordem, s.descricao, qh.dia_semana, hq.horario_inicio;
Date: 2025-02-10 10:18:34 Duration: 303ms Database: postgres parameters: $1 = '97', $2 = '2025'
4 22s782ms 162 100ms 293ms 140ms select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count(distinct case when calendario_data.id_motivo_dia_nao_letivo is null then calendario_periodo_data.data else null end), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and calendario_data.id_motivo_dia_nao_letivo is null where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is true and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;Times Reported Time consuming bind #4
Day Hour Count Duration Avg duration 06 13 1s568ms 120ms 07 30 3s954ms 131ms 08 46 6s172ms 134ms 09 73 11s87ms 151ms -
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count(distinct case when calendario_data.id_motivo_dia_nao_letivo is null then calendario_periodo_data.data else null end), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and calendario_data.id_motivo_dia_nao_letivo is null where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is true and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 10:47:25 Duration: 293ms Database: postgres parameters: $1 = '356', $2 = '356', $3 = '10', $4 = '2025', $5 = '310670'
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count(distinct case when calendario_data.id_motivo_dia_nao_letivo is null then calendario_periodo_data.data else null end), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and calendario_data.id_motivo_dia_nao_letivo is null where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is true and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 10:14:15 Duration: 251ms Database: postgres parameters: $1 = '2177586', $2 = '2', $3 = '98'
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count(distinct case when calendario_data.id_motivo_dia_nao_letivo is null then calendario_periodo_data.data else null end), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and calendario_data.id_motivo_dia_nao_letivo is null where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is true and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 10:52:53 Duration: 251ms Database: postgres parameters: $1 = '2076884', $2 = '2', $3 = '98'
5 19s674ms 90 101ms 503ms 218ms select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo) tabela;Times Reported Time consuming bind #5
Day Hour Count Duration Avg duration 06 2 290ms 145ms 07 18 3s287ms 182ms 08 20 4s239ms 211ms 09 50 11s857ms 237ms -
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2025-02-10 10:23:25 Duration: 503ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = 'alexandra', $8 = '605778', $9 = '72', $10 = '7', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '2025', $16 = 'alexandra', $17 = '605778', $18 = '72'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2025-02-10 09:59:51 Duration: 468ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = 'elisandra', $8 = '605729', $9 = '72', $10 = '7', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '2025', $16 = 'elisandra', $17 = '605729', $18 = '72'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2025-02-10 10:43:49 Duration: 465ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = 'fernanda', $8 = '605778', $9 = '72', $10 = '7', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '2025', $16 = 'fernanda', $17 = '605778', $18 = '72'
6 18s889ms 151 100ms 631ms 125ms select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fad.id_turma and d.id_disciplina = fad.id_disciplina) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $2 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno) union all select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = turma.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $4 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno);Times Reported Time consuming bind #6
Day Hour Count Duration Avg duration 06 12 1s867ms 155ms 07 45 5s278ms 117ms 08 42 5s175ms 123ms 09 52 6s567ms 126ms -
select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fad.id_turma and d.id_disciplina = fad.id_disciplina) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $2 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno) union all select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = turma.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $4 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno);
Date: 2025-02-10 07:34:14 Duration: 631ms Database: postgres parameters: $1 = '250000722', $2 = '250000727', $3 = '250000729', $4 = '250000730', $5 = '250000731', $6 = '250000732', $7 = '250001484', $8 = '250001485', $9 = '250001486', $10 = '250001487', $11 = '250001488', $12 = '250001491', $13 = '2025-02-10 07:33:03.184'
-
select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fad.id_turma and d.id_disciplina = fad.id_disciplina) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $2 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno) union all select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = turma.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $4 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno);
Date: 2025-02-10 10:29:40 Duration: 231ms Database: postgres parameters: $1 = '250005543', $2 = '250005545', $3 = '250005547', $4 = '2025-02-10 09:21:11.544'
-
select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fad.id_turma and d.id_disciplina = fad.id_disciplina) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $2 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno) union all select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = turma.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $4 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno);
Date: 2025-02-10 10:06:38 Duration: 179ms Database: postgres parameters: $1 = '250000094', $2 = '250000097', $3 = '250000100', $4 = '250000094', $5 = '250000097', $6 = '250000100', $7 = '2371279', $8 = '2371279', $9 = '2025-02-10 10:05:59.386'
7 18s780ms 103 102ms 404ms 182ms ( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo limit 20;Times Reported Time consuming bind #7
Day Hour Count Duration Avg duration 06 10 1s215ms 121ms 07 19 3s115ms 163ms 08 20 3s315ms 165ms 09 54 11s133ms 206ms -
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2025-02-10 10:42:15 Duration: 404ms Database: postgres parameters: $1 = 'João & Victor', $2 = '97', $3 = '607366', $4 = '2025'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2025-02-10 08:02:33 Duration: 383ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = 'eduardo', $8 = '607175', $9 = '98', $10 = '7', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '2025', $16 = 'eduardo', $17 = '607175', $18 = '98'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2025-02-10 10:37:51 Duration: 356ms Database: postgres parameters: $1 = '607363', $2 = '607363', $3 = '2025', $4 = 'MARIA', $5 = '97'
8 18s411ms 111 100ms 377ms 165ms select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = $1 then case when s.flg_serie_atividade_complementar is true then $2 else $3 end when t.id_tipo_turma = $4 then $5 when t.id_tipo_turma = $6 then $7 end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = $8 left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = $9 and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;Times Reported Time consuming bind #8
Day Hour Count Duration Avg duration 06 10 1s451ms 145ms 07 44 6s414ms 145ms 08 13 2s192ms 168ms 09 44 8s353ms 189ms -
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = $1 then case when s.flg_serie_atividade_complementar is true then $2 else $3 end when t.id_tipo_turma = $4 then $5 when t.id_tipo_turma = $6 then $7 end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = $8 left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = $9 and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 10:33:47 Duration: 377ms Database: postgres parameters: $1 = '1', $2 = '5', $3 = '1', $4 = '2', $5 = '2', $6 = '3', $7 = '4', $8 = '240011905', $9 = '18943'
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = $1 then case when s.flg_serie_atividade_complementar is true then $2 else $3 end when t.id_tipo_turma = $4 then $5 when t.id_tipo_turma = $6 then $7 end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = $8 left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = $9 and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 10:57:52 Duration: 359ms Database: postgres parameters: $1 = '1', $2 = '5', $3 = '1', $4 = '2', $5 = '2', $6 = '3', $7 = '4', $8 = '250006440', $9 = '24354'
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = $1 then case when s.flg_serie_atividade_complementar is true then $2 else $3 end when t.id_tipo_turma = $4 then $5 when t.id_tipo_turma = $6 then $7 end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = $8 left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = $9 and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2025-02-10 08:39:04 Duration: 309ms Database: postgres parameters: $1 = '1', $2 = '5', $3 = '1', $4 = '2', $5 = '2', $6 = '3', $7 = '4', $8 = '250008477', $9 = '24309'
9 16s654ms 132 100ms 267ms 126ms select fadd.id_aluno_matricula, fadd.id_turma, fadd.id_disciplina, fadd.id_nota_periodo_aluno, fadd.data, fadd.id_horario_turma, fadd.flg_justificada, fadd.id_motivo_falta_justificada, fadd.descricao_motivo_falta_justificada from falta_aluno_disciplina_diario fadd inner join turma t on t.id_turma = fadd.id_turma where t.id_turma_status = 1 and t.flg_organizada is true and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fadd.id_turma and d.id_disciplina = fadd.id_disciplina) and exists ( select null from registro_falta_disciplina_diario where data_ref_sincronizacao > $2 and id_turma = fadd.id_turma and data_referencia = fadd.data and id_disciplina = fadd.id_disciplina) union all select fadd.id_aluno_matricula, fadd.id_turma, fadd.id_disciplina, fadd.id_nota_periodo_aluno, fadd.data, fadd.id_horario_turma, fadd.flg_justificada, fadd.id_motivo_falta_justificada, fadd.descricao_motivo_falta_justificada from falta_aluno_disciplina_diario fadd inner join turma t on t.id_turma = fadd.id_turma where t.id_turma_status = 1 and t.flg_organizada is true and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = t.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina_diario where data_ref_sincronizacao > $4 and id_turma = fadd.id_turma and data_referencia = fadd.data and id_disciplina = fadd.id_disciplina);Times Reported Time consuming bind #9
Day Hour Count Duration Avg duration 06 5 660ms 132ms 07 26 3s84ms 118ms 08 35 4s324ms 123ms 09 66 8s585ms 130ms -
select fadd.id_aluno_matricula, fadd.id_turma, fadd.id_disciplina, fadd.id_nota_periodo_aluno, fadd.data, fadd.id_horario_turma, fadd.flg_justificada, fadd.id_motivo_falta_justificada, fadd.descricao_motivo_falta_justificada from falta_aluno_disciplina_diario fadd inner join turma t on t.id_turma = fadd.id_turma where t.id_turma_status = 1 and t.flg_organizada is true and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fadd.id_turma and d.id_disciplina = fadd.id_disciplina) and exists ( select null from registro_falta_disciplina_diario where data_ref_sincronizacao > $2 and id_turma = fadd.id_turma and data_referencia = fadd.data and id_disciplina = fadd.id_disciplina) union all select fadd.id_aluno_matricula, fadd.id_turma, fadd.id_disciplina, fadd.id_nota_periodo_aluno, fadd.data, fadd.id_horario_turma, fadd.flg_justificada, fadd.id_motivo_falta_justificada, fadd.descricao_motivo_falta_justificada from falta_aluno_disciplina_diario fadd inner join turma t on t.id_turma = fadd.id_turma where t.id_turma_status = 1 and t.flg_organizada is true and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = t.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina_diario where data_ref_sincronizacao > $4 and id_turma = fadd.id_turma and data_referencia = fadd.data and id_disciplina = fadd.id_disciplina);
Date: 2025-02-10 09:45:56 Duration: 267ms Database: postgres parameters: $1 = '250000092', $2 = '250000093', $3 = '250000094', $4 = '250000095', $5 = '250000096', $6 = '250000097', $7 = '250000098', $8 = '250000099', $9 = '250000100', $10 = '2025-02-10 09:45:35.156'
-
select fadd.id_aluno_matricula, fadd.id_turma, fadd.id_disciplina, fadd.id_nota_periodo_aluno, fadd.data, fadd.id_horario_turma, fadd.flg_justificada, fadd.id_motivo_falta_justificada, fadd.descricao_motivo_falta_justificada from falta_aluno_disciplina_diario fadd inner join turma t on t.id_turma = fadd.id_turma where t.id_turma_status = 1 and t.flg_organizada is true and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fadd.id_turma and d.id_disciplina = fadd.id_disciplina) and exists ( select null from registro_falta_disciplina_diario where data_ref_sincronizacao > $2 and id_turma = fadd.id_turma and data_referencia = fadd.data and id_disciplina = fadd.id_disciplina) union all select fadd.id_aluno_matricula, fadd.id_turma, fadd.id_disciplina, fadd.id_nota_periodo_aluno, fadd.data, fadd.id_horario_turma, fadd.flg_justificada, fadd.id_motivo_falta_justificada, fadd.descricao_motivo_falta_justificada from falta_aluno_disciplina_diario fadd inner join turma t on t.id_turma = fadd.id_turma where t.id_turma_status = 1 and t.flg_organizada is true and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = t.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina_diario where data_ref_sincronizacao > $4 and id_turma = fadd.id_turma and data_referencia = fadd.data and id_disciplina = fadd.id_disciplina);
Date: 2025-02-10 10:26:23 Duration: 211ms Database: postgres parameters: $1 = '97', $2 = '1927200', $3 = '97', $4 = '1927200'
-
select fadd.id_aluno_matricula, fadd.id_turma, fadd.id_disciplina, fadd.id_nota_periodo_aluno, fadd.data, fadd.id_horario_turma, fadd.flg_justificada, fadd.id_motivo_falta_justificada, fadd.descricao_motivo_falta_justificada from falta_aluno_disciplina_diario fadd inner join turma t on t.id_turma = fadd.id_turma where t.id_turma_status = 1 and t.flg_organizada is true and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fadd.id_turma and d.id_disciplina = fadd.id_disciplina) and exists ( select null from registro_falta_disciplina_diario where data_ref_sincronizacao > $2 and id_turma = fadd.id_turma and data_referencia = fadd.data and id_disciplina = fadd.id_disciplina) union all select fadd.id_aluno_matricula, fadd.id_turma, fadd.id_disciplina, fadd.id_nota_periodo_aluno, fadd.data, fadd.id_horario_turma, fadd.flg_justificada, fadd.id_motivo_falta_justificada, fadd.descricao_motivo_falta_justificada from falta_aluno_disciplina_diario fadd inner join turma t on t.id_turma = fadd.id_turma where t.id_turma_status = 1 and t.flg_organizada is true and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = t.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina_diario where data_ref_sincronizacao > $4 and id_turma = fadd.id_turma and data_referencia = fadd.data and id_disciplina = fadd.id_disciplina);
Date: 2025-02-10 10:55:09 Duration: 194ms Database: postgres parameters: $1 = '250002131', $2 = '2016104', $3 = '250002131'
10 16s222ms 124 100ms 270ms 130ms ( select am.id_aluno_matricula, uf.nome as escola, ase.ano, ase.semestre, curso.sigla as curso, curso.descricao as descricao_curso, case when turma.flg_multietapa then 'Multietapa' when turma.flg_multiseriada then 'Multisseriada' else serie.sigla end as serie, turno.sigla as turno, turma.id_turma, turma.codigo as turma, turma.flg_multiseriada, aluno.codigo as matricula, coalesce(cidadao.denominacao, cidadao.nome) as nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento, amt.chamada as nrclasse, serie_matricula.sigla as serie_matricula, cidadao.sexo, aluno.ra, aluno.dv_ra, aluno.rm, raca_cor.descricao as racacor, pm.descricao as procedencia, ams.descricao as situacao_aluno, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, dc.numero_nis as nis, aluno.codigo_inep as inep, case when anoAnterior.ano < ase.ano then coalesce( case when pc.id_parecer_conclusivo_tipo = $1 then cur.termo_aprovado when pc.id_parecer_conclusivo_tipo = $2 then cur.termo_reprovado_frequencia when pc.id_parecer_conclusivo_tipo = $3 then cur.termo_reprovado when pc.id_parecer_conclusivo_tipo = $4 then cur.termo_progressao_parcial else null end, ams.descricao) else '' end as parecer, case when anoAnterior.ano < ase.ano then anoAnterior.ano || coalesce('/' || anoAnterior.semestre, '') else '' end as ano_semestre_anterior, case when anoAnterior.ano < ase.ano then s.sigla else '' end as serie_anterior, case when pc.id_parecer_conclusivo_tipo = $5 and anoAnterior.ano < ase.ano then string_agg(d.descricao, ', ') else '' end progressao_parcial, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefones_aluno from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join documentos_cidadao dc on am.id_cidadao = dc.id_cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma on turma.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = turma.id_unidade_funcional inner join curso on curso.id_curso = turma.id_curso inner join turno on turno.id_turno = turma.id_turno inner join ano_semestre ase on ase.id_ano_semestre = turma.id_ano_semestre inner join raca_cor on cidadao.id_raca_cor = raca_cor.id_raca_cor left join turma_serie on turma_serie.id_turma = turma.id_turma and turma.flg_multiseriada = false left join serie on serie.id_serie = turma_serie.id_serie left join procedencia_modalidade pm on am.id_procedencia_modalidade = pm.id_procedencia_modalidade inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join lateral ( select am_anterior.id_aluno_matricula, am_anterior.id_cidadao, am_anterior.id_ano_semestre as id_ano_semestre_anterior, am_anterior.id_serie as id_serie_anterior, ano.ano, ano.semestre, ams.descricao, am_anterior.data_matricula from aluno a inner join cidadao c on c.id_cidadao = a.id_cidadao inner join aluno_matricula am_anterior on am_anterior.id_cidadao = a.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am_anterior.id_ano_semestre inner join aluno_matr_status ams on ams.id_aluno_matr_status = am_anterior.id_aluno_matr_status where am_anterior.id_cidadao = am.id_cidadao and ano.ano < ase.ano and ( case when ano.semestre is not null then case when ano.semestre = 1 then ano.semestre <> 1 else ano.semestre <> 2 end else true end) order by ano desc, semestre desc, data_matricula desc -- somente o último limit 1) as resultadoAnterior on resultadoAnterior.id_cidadao = am.id_cidadao left join parecer_conclusivo pc on pc.id_aluno_matricula = resultadoAnterior.id_aluno_matricula left join aluno_matr_turma amtAnterior on amtAnterior.id_aluno_matricula = resultadoAnterior.id_aluno_matricula and amtAnterior.id_tipo_enturmacao = $6 left join turma t on t.id_turma = amtAnterior.id_turma and t.id_ano_semestre = resultadoAnterior.id_ano_semestre_anterior left join curso cur on cur.id_curso = t.id_curso left join serie s on s.id_serie = resultadoAnterior.id_serie_anterior left join progressao_parcial_aluno_disciplina ppad on ppad.id_aluno_matricula = resultadoAnterior.id_aluno_matricula and ppad.id_turma = amtAnterior.id_turma left join disciplina d on ppad.id_disciplina = d.id_disciplina left join ano_semestre anoAnterior on anoAnterior.id_ano_semestre = resultadoAnterior.id_ano_semestre_anterior where amt.id_turma = $7 and ((turma.id_diario_turma_situacao = $8 and amt.id_diario_turma_situacao_enturmacao = $9) or (turma.id_diario_turma_situacao <> $10 or turma.id_diario_turma_situacao is null)) and am.id_aluno_matr_status in (1, 2, 7) and amt.data_saida is null group by cidadao.id_cidadao, am.id_aluno_matricula, escola, ase.ano, ase.semestre, curso, descricao_curso, serie, turno, turma.id_turma, turma, turma.flg_multiseriada, matricula, cidadao.denominacao, nascimento, nrclasse, serie_matricula, cidadao.sexo, aluno.ra, aluno.dv_ra, aluno.rm, racacor, procedencia, situacao_aluno, am.data_matricula, nis, inep, parecer, anoAnterior.ano, anoAnterior.semestre, s.sigla, pc.id_parecer_conclusivo_tipo, resultadoAnterior.id_aluno_matricula, telefones_aluno) order by serie, turma, id_turma, nrclasse, matricula, nome;Times Reported Time consuming bind #10
Day Hour Count Duration Avg duration 06 12 1s621ms 135ms 07 26 3s122ms 120ms 08 35 4s748ms 135ms 09 51 6s730ms 131ms -
( select am.id_aluno_matricula, uf.nome as escola, ase.ano, ase.semestre, curso.sigla as curso, curso.descricao as descricao_curso, case when turma.flg_multietapa then 'Multietapa' when turma.flg_multiseriada then 'Multisseriada' else serie.sigla end as serie, turno.sigla as turno, turma.id_turma, turma.codigo as turma, turma.flg_multiseriada, aluno.codigo as matricula, coalesce(cidadao.denominacao, cidadao.nome) as nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento, amt.chamada as nrclasse, serie_matricula.sigla as serie_matricula, cidadao.sexo, aluno.ra, aluno.dv_ra, aluno.rm, raca_cor.descricao as racacor, pm.descricao as procedencia, ams.descricao as situacao_aluno, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, dc.numero_nis as nis, aluno.codigo_inep as inep, case when anoAnterior.ano < ase.ano then coalesce( case when pc.id_parecer_conclusivo_tipo = $1 then cur.termo_aprovado when pc.id_parecer_conclusivo_tipo = $2 then cur.termo_reprovado_frequencia when pc.id_parecer_conclusivo_tipo = $3 then cur.termo_reprovado when pc.id_parecer_conclusivo_tipo = $4 then cur.termo_progressao_parcial else null end, ams.descricao) else '' end as parecer, case when anoAnterior.ano < ase.ano then anoAnterior.ano || coalesce('/' || anoAnterior.semestre, '') else '' end as ano_semestre_anterior, case when anoAnterior.ano < ase.ano then s.sigla else '' end as serie_anterior, case when pc.id_parecer_conclusivo_tipo = $5 and anoAnterior.ano < ase.ano then string_agg(d.descricao, ', ') else '' end progressao_parcial, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefones_aluno from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join documentos_cidadao dc on am.id_cidadao = dc.id_cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma on turma.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = turma.id_unidade_funcional inner join curso on curso.id_curso = turma.id_curso inner join turno on turno.id_turno = turma.id_turno inner join ano_semestre ase on ase.id_ano_semestre = turma.id_ano_semestre inner join raca_cor on cidadao.id_raca_cor = raca_cor.id_raca_cor left join turma_serie on turma_serie.id_turma = turma.id_turma and turma.flg_multiseriada = false left join serie on serie.id_serie = turma_serie.id_serie left join procedencia_modalidade pm on am.id_procedencia_modalidade = pm.id_procedencia_modalidade inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join lateral ( select am_anterior.id_aluno_matricula, am_anterior.id_cidadao, am_anterior.id_ano_semestre as id_ano_semestre_anterior, am_anterior.id_serie as id_serie_anterior, ano.ano, ano.semestre, ams.descricao, am_anterior.data_matricula from aluno a inner join cidadao c on c.id_cidadao = a.id_cidadao inner join aluno_matricula am_anterior on am_anterior.id_cidadao = a.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am_anterior.id_ano_semestre inner join aluno_matr_status ams on ams.id_aluno_matr_status = am_anterior.id_aluno_matr_status where am_anterior.id_cidadao = am.id_cidadao and ano.ano < ase.ano and ( case when ano.semestre is not null then case when ano.semestre = 1 then ano.semestre <> 1 else ano.semestre <> 2 end else true end) order by ano desc, semestre desc, data_matricula desc -- somente o último limit 1) as resultadoAnterior on resultadoAnterior.id_cidadao = am.id_cidadao left join parecer_conclusivo pc on pc.id_aluno_matricula = resultadoAnterior.id_aluno_matricula left join aluno_matr_turma amtAnterior on amtAnterior.id_aluno_matricula = resultadoAnterior.id_aluno_matricula and amtAnterior.id_tipo_enturmacao = $6 left join turma t on t.id_turma = amtAnterior.id_turma and t.id_ano_semestre = resultadoAnterior.id_ano_semestre_anterior left join curso cur on cur.id_curso = t.id_curso left join serie s on s.id_serie = resultadoAnterior.id_serie_anterior left join progressao_parcial_aluno_disciplina ppad on ppad.id_aluno_matricula = resultadoAnterior.id_aluno_matricula and ppad.id_turma = amtAnterior.id_turma left join disciplina d on ppad.id_disciplina = d.id_disciplina left join ano_semestre anoAnterior on anoAnterior.id_ano_semestre = resultadoAnterior.id_ano_semestre_anterior where amt.id_turma = $7 and ((turma.id_diario_turma_situacao = $8 and amt.id_diario_turma_situacao_enturmacao = $9) or (turma.id_diario_turma_situacao <> $10 or turma.id_diario_turma_situacao is null)) and am.id_aluno_matr_status in (1, 2, 7) and amt.data_saida is null group by cidadao.id_cidadao, am.id_aluno_matricula, escola, ase.ano, ase.semestre, curso, descricao_curso, serie, turno, turma.id_turma, turma, turma.flg_multiseriada, matricula, cidadao.denominacao, nascimento, nrclasse, serie_matricula, cidadao.sexo, aluno.ra, aluno.dv_ra, aluno.rm, racacor, procedencia, situacao_aluno, am.data_matricula, nis, inep, parecer, anoAnterior.ano, anoAnterior.semestre, s.sigla, pc.id_parecer_conclusivo_tipo, resultadoAnterior.id_aluno_matricula, telefones_aluno) order by serie, turma, id_turma, nrclasse, matricula, nome;
Date: 2025-02-10 09:34:29 Duration: 270ms Database: postgres parameters: $1 = '95'
-
( select am.id_aluno_matricula, uf.nome as escola, ase.ano, ase.semestre, curso.sigla as curso, curso.descricao as descricao_curso, case when turma.flg_multietapa then 'Multietapa' when turma.flg_multiseriada then 'Multisseriada' else serie.sigla end as serie, turno.sigla as turno, turma.id_turma, turma.codigo as turma, turma.flg_multiseriada, aluno.codigo as matricula, coalesce(cidadao.denominacao, cidadao.nome) as nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento, amt.chamada as nrclasse, serie_matricula.sigla as serie_matricula, cidadao.sexo, aluno.ra, aluno.dv_ra, aluno.rm, raca_cor.descricao as racacor, pm.descricao as procedencia, ams.descricao as situacao_aluno, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, dc.numero_nis as nis, aluno.codigo_inep as inep, case when anoAnterior.ano < ase.ano then coalesce( case when pc.id_parecer_conclusivo_tipo = $1 then cur.termo_aprovado when pc.id_parecer_conclusivo_tipo = $2 then cur.termo_reprovado_frequencia when pc.id_parecer_conclusivo_tipo = $3 then cur.termo_reprovado when pc.id_parecer_conclusivo_tipo = $4 then cur.termo_progressao_parcial else null end, ams.descricao) else '' end as parecer, case when anoAnterior.ano < ase.ano then anoAnterior.ano || coalesce('/' || anoAnterior.semestre, '') else '' end as ano_semestre_anterior, case when anoAnterior.ano < ase.ano then s.sigla else '' end as serie_anterior, case when pc.id_parecer_conclusivo_tipo = $5 and anoAnterior.ano < ase.ano then string_agg(d.descricao, ', ') else '' end progressao_parcial, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefones_aluno from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join documentos_cidadao dc on am.id_cidadao = dc.id_cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma on turma.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = turma.id_unidade_funcional inner join curso on curso.id_curso = turma.id_curso inner join turno on turno.id_turno = turma.id_turno inner join ano_semestre ase on ase.id_ano_semestre = turma.id_ano_semestre inner join raca_cor on cidadao.id_raca_cor = raca_cor.id_raca_cor left join turma_serie on turma_serie.id_turma = turma.id_turma and turma.flg_multiseriada = false left join serie on serie.id_serie = turma_serie.id_serie left join procedencia_modalidade pm on am.id_procedencia_modalidade = pm.id_procedencia_modalidade inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join lateral ( select am_anterior.id_aluno_matricula, am_anterior.id_cidadao, am_anterior.id_ano_semestre as id_ano_semestre_anterior, am_anterior.id_serie as id_serie_anterior, ano.ano, ano.semestre, ams.descricao, am_anterior.data_matricula from aluno a inner join cidadao c on c.id_cidadao = a.id_cidadao inner join aluno_matricula am_anterior on am_anterior.id_cidadao = a.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am_anterior.id_ano_semestre inner join aluno_matr_status ams on ams.id_aluno_matr_status = am_anterior.id_aluno_matr_status where am_anterior.id_cidadao = am.id_cidadao and ano.ano < ase.ano and ( case when ano.semestre is not null then case when ano.semestre = 1 then ano.semestre <> 1 else ano.semestre <> 2 end else true end) order by ano desc, semestre desc, data_matricula desc -- somente o último limit 1) as resultadoAnterior on resultadoAnterior.id_cidadao = am.id_cidadao left join parecer_conclusivo pc on pc.id_aluno_matricula = resultadoAnterior.id_aluno_matricula left join aluno_matr_turma amtAnterior on amtAnterior.id_aluno_matricula = resultadoAnterior.id_aluno_matricula and amtAnterior.id_tipo_enturmacao = $6 left join turma t on t.id_turma = amtAnterior.id_turma and t.id_ano_semestre = resultadoAnterior.id_ano_semestre_anterior left join curso cur on cur.id_curso = t.id_curso left join serie s on s.id_serie = resultadoAnterior.id_serie_anterior left join progressao_parcial_aluno_disciplina ppad on ppad.id_aluno_matricula = resultadoAnterior.id_aluno_matricula and ppad.id_turma = amtAnterior.id_turma left join disciplina d on ppad.id_disciplina = d.id_disciplina left join ano_semestre anoAnterior on anoAnterior.id_ano_semestre = resultadoAnterior.id_ano_semestre_anterior where amt.id_turma = $7 and ((turma.id_diario_turma_situacao = $8 and amt.id_diario_turma_situacao_enturmacao = $9) or (turma.id_diario_turma_situacao <> $10 or turma.id_diario_turma_situacao is null)) and am.id_aluno_matr_status in (1, 2, 7) and amt.data_saida is null group by cidadao.id_cidadao, am.id_aluno_matricula, escola, ase.ano, ase.semestre, curso, descricao_curso, serie, turno, turma.id_turma, turma, turma.flg_multiseriada, matricula, cidadao.denominacao, nascimento, nrclasse, serie_matricula, cidadao.sexo, aluno.ra, aluno.dv_ra, aluno.rm, racacor, procedencia, situacao_aluno, am.data_matricula, nis, inep, parecer, anoAnterior.ano, anoAnterior.semestre, s.sigla, pc.id_parecer_conclusivo_tipo, resultadoAnterior.id_aluno_matricula, telefones_aluno) order by serie, turma, id_turma, nrclasse, matricula, nome;
Date: 2025-02-10 10:24:41 Duration: 222ms Database: postgres parameters: $1 = 'APAE', $2 = '90', $3 = 'pub', $4 = 'pub', $5 = 'pub'
-
( select am.id_aluno_matricula, uf.nome as escola, ase.ano, ase.semestre, curso.sigla as curso, curso.descricao as descricao_curso, case when turma.flg_multietapa then 'Multietapa' when turma.flg_multiseriada then 'Multisseriada' else serie.sigla end as serie, turno.sigla as turno, turma.id_turma, turma.codigo as turma, turma.flg_multiseriada, aluno.codigo as matricula, coalesce(cidadao.denominacao, cidadao.nome) as nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento, amt.chamada as nrclasse, serie_matricula.sigla as serie_matricula, cidadao.sexo, aluno.ra, aluno.dv_ra, aluno.rm, raca_cor.descricao as racacor, pm.descricao as procedencia, ams.descricao as situacao_aluno, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, dc.numero_nis as nis, aluno.codigo_inep as inep, case when anoAnterior.ano < ase.ano then coalesce( case when pc.id_parecer_conclusivo_tipo = $1 then cur.termo_aprovado when pc.id_parecer_conclusivo_tipo = $2 then cur.termo_reprovado_frequencia when pc.id_parecer_conclusivo_tipo = $3 then cur.termo_reprovado when pc.id_parecer_conclusivo_tipo = $4 then cur.termo_progressao_parcial else null end, ams.descricao) else '' end as parecer, case when anoAnterior.ano < ase.ano then anoAnterior.ano || coalesce('/' || anoAnterior.semestre, '') else '' end as ano_semestre_anterior, case when anoAnterior.ano < ase.ano then s.sigla else '' end as serie_anterior, case when pc.id_parecer_conclusivo_tipo = $5 and anoAnterior.ano < ase.ano then string_agg(d.descricao, ', ') else '' end progressao_parcial, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefones_aluno from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join documentos_cidadao dc on am.id_cidadao = dc.id_cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma on turma.id_turma = amt.id_turma inner join unidade_funcional uf on uf.id_unidade_funcional = turma.id_unidade_funcional inner join curso on curso.id_curso = turma.id_curso inner join turno on turno.id_turno = turma.id_turno inner join ano_semestre ase on ase.id_ano_semestre = turma.id_ano_semestre inner join raca_cor on cidadao.id_raca_cor = raca_cor.id_raca_cor left join turma_serie on turma_serie.id_turma = turma.id_turma and turma.flg_multiseriada = false left join serie on serie.id_serie = turma_serie.id_serie left join procedencia_modalidade pm on am.id_procedencia_modalidade = pm.id_procedencia_modalidade inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status left join lateral ( select am_anterior.id_aluno_matricula, am_anterior.id_cidadao, am_anterior.id_ano_semestre as id_ano_semestre_anterior, am_anterior.id_serie as id_serie_anterior, ano.ano, ano.semestre, ams.descricao, am_anterior.data_matricula from aluno a inner join cidadao c on c.id_cidadao = a.id_cidadao inner join aluno_matricula am_anterior on am_anterior.id_cidadao = a.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am_anterior.id_ano_semestre inner join aluno_matr_status ams on ams.id_aluno_matr_status = am_anterior.id_aluno_matr_status where am_anterior.id_cidadao = am.id_cidadao and ano.ano < ase.ano and ( case when ano.semestre is not null then case when ano.semestre = 1 then ano.semestre <> 1 else ano.semestre <> 2 end else true end) order by ano desc, semestre desc, data_matricula desc -- somente o último limit 1) as resultadoAnterior on resultadoAnterior.id_cidadao = am.id_cidadao left join parecer_conclusivo pc on pc.id_aluno_matricula = resultadoAnterior.id_aluno_matricula left join aluno_matr_turma amtAnterior on amtAnterior.id_aluno_matricula = resultadoAnterior.id_aluno_matricula and amtAnterior.id_tipo_enturmacao = $6 left join turma t on t.id_turma = amtAnterior.id_turma and t.id_ano_semestre = resultadoAnterior.id_ano_semestre_anterior left join curso cur on cur.id_curso = t.id_curso left join serie s on s.id_serie = resultadoAnterior.id_serie_anterior left join progressao_parcial_aluno_disciplina ppad on ppad.id_aluno_matricula = resultadoAnterior.id_aluno_matricula and ppad.id_turma = amtAnterior.id_turma left join disciplina d on ppad.id_disciplina = d.id_disciplina left join ano_semestre anoAnterior on anoAnterior.id_ano_semestre = resultadoAnterior.id_ano_semestre_anterior where amt.id_turma = $7 and ((turma.id_diario_turma_situacao = $8 and amt.id_diario_turma_situacao_enturmacao = $9) or (turma.id_diario_turma_situacao <> $10 or turma.id_diario_turma_situacao is null)) and am.id_aluno_matr_status in (1, 2, 7) and amt.data_saida is null group by cidadao.id_cidadao, am.id_aluno_matricula, escola, ase.ano, ase.semestre, curso, descricao_curso, serie, turno, turma.id_turma, turma, turma.flg_multiseriada, matricula, cidadao.denominacao, nascimento, nrclasse, serie_matricula, cidadao.sexo, aluno.ra, aluno.dv_ra, aluno.rm, racacor, procedencia, situacao_aluno, am.data_matricula, nis, inep, parecer, anoAnterior.ano, anoAnterior.semestre, s.sigla, pc.id_parecer_conclusivo_tipo, resultadoAnterior.id_aluno_matricula, telefones_aluno) order by serie, turma, id_turma, nrclasse, matricula, nome;
Date: 2025-02-10 09:34:29 Duration: 214ms Database: postgres parameters: $1 = '0', $2 = '1', $3 = '2', $4 = '3', $5 = '3', $6 = '1', $7 = '250008155', $8 = '2', $9 = '2', $10 = '2'
11 15s137ms 99 100ms 330ms 152ms select s.id_serie, s.descricao, gc.id_grade_curricular, d.id_disciplina, d.sigla, d.descricao, cc.id_componente_curricular, cc.id_tipo_atribuicao_componente, cc.id_tipo_atribuicao_componente = 1 as flg_regencia, cc.id_tipo_atribuicao_componente = 2 as flg_componente, cc.id_tipo_atribuicao_componente = 3 as flg_nao_gera, cc.qtd_aulas_semanal as total_aulas, coalesce(cmif.id_tipo_mediacao_didatico_pedagogica = $1, false) as "flgItinerarioEad", 0 as aulas_alocadas, p.id_cidadao, p.nome as professor, row_number() over (partition by s.id_serie order by m.ordem, s.descricao, d.descricao) - 1 as index_componente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join turma_disciplina on turma_disciplina.id_turma = t.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join componente_matriz_itinerario_formativo cmif on cmif.id_componente_matriz_itinerario_formativo = cc.id_componente_matriz_itinerario_formativo left join turma_dispensa_disciplina tdd on tdd.id_turma = ts.id_turma and tdd.id_disciplina = d.id_disciplina left join lateral ( select qh.id_cidadao from quadro_horario qh where qh.id_turma = ts.id_turma and qh.id_componente_curricular = cc.id_componente_curricular and qh.id_cidadao notnull -- somente para séries inferiores de turma multietapa and gc.id_grade_curricular <> t.id_grade_curricular and cc.id_tipo_atribuicao_componente = 2 limit 1) quadro on true left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) as tp on true left join cidadao p on p.id_cidadao = coalesce(quadro.id_cidadao, tp.id_cidadao) where ts.id_turma = $2 and tdd.id_disciplina is null order by m.ordem, s.descricao, d.descricao;Times Reported Time consuming bind #11
Day Hour Count Duration Avg duration 06 4 519ms 129ms 07 18 2s321ms 128ms 08 24 3s706ms 154ms 09 53 8s590ms 162ms -
select s.id_serie, s.descricao, gc.id_grade_curricular, d.id_disciplina, d.sigla, d.descricao, cc.id_componente_curricular, cc.id_tipo_atribuicao_componente, cc.id_tipo_atribuicao_componente = 1 as flg_regencia, cc.id_tipo_atribuicao_componente = 2 as flg_componente, cc.id_tipo_atribuicao_componente = 3 as flg_nao_gera, cc.qtd_aulas_semanal as total_aulas, coalesce(cmif.id_tipo_mediacao_didatico_pedagogica = $1, false) as "flgItinerarioEad", 0 as aulas_alocadas, p.id_cidadao, p.nome as professor, row_number() over (partition by s.id_serie order by m.ordem, s.descricao, d.descricao) - 1 as index_componente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join turma_disciplina on turma_disciplina.id_turma = t.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join componente_matriz_itinerario_formativo cmif on cmif.id_componente_matriz_itinerario_formativo = cc.id_componente_matriz_itinerario_formativo left join turma_dispensa_disciplina tdd on tdd.id_turma = ts.id_turma and tdd.id_disciplina = d.id_disciplina left join lateral ( select qh.id_cidadao from quadro_horario qh where qh.id_turma = ts.id_turma and qh.id_componente_curricular = cc.id_componente_curricular and qh.id_cidadao notnull -- somente para séries inferiores de turma multietapa and gc.id_grade_curricular <> t.id_grade_curricular and cc.id_tipo_atribuicao_componente = 2 limit 1) quadro on true left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) as tp on true left join cidadao p on p.id_cidadao = coalesce(quadro.id_cidadao, tp.id_cidadao) where ts.id_turma = $2 and tdd.id_disciplina is null order by m.ordem, s.descricao, d.descricao;
Date: 2025-02-10 10:31:42 Duration: 330ms Database: postgres parameters: $1 = '250001231', $2 = '2015902', $3 = '250001231'
-
select s.id_serie, s.descricao, gc.id_grade_curricular, d.id_disciplina, d.sigla, d.descricao, cc.id_componente_curricular, cc.id_tipo_atribuicao_componente, cc.id_tipo_atribuicao_componente = 1 as flg_regencia, cc.id_tipo_atribuicao_componente = 2 as flg_componente, cc.id_tipo_atribuicao_componente = 3 as flg_nao_gera, cc.qtd_aulas_semanal as total_aulas, coalesce(cmif.id_tipo_mediacao_didatico_pedagogica = $1, false) as "flgItinerarioEad", 0 as aulas_alocadas, p.id_cidadao, p.nome as professor, row_number() over (partition by s.id_serie order by m.ordem, s.descricao, d.descricao) - 1 as index_componente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join turma_disciplina on turma_disciplina.id_turma = t.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join componente_matriz_itinerario_formativo cmif on cmif.id_componente_matriz_itinerario_formativo = cc.id_componente_matriz_itinerario_formativo left join turma_dispensa_disciplina tdd on tdd.id_turma = ts.id_turma and tdd.id_disciplina = d.id_disciplina left join lateral ( select qh.id_cidadao from quadro_horario qh where qh.id_turma = ts.id_turma and qh.id_componente_curricular = cc.id_componente_curricular and qh.id_cidadao notnull -- somente para séries inferiores de turma multietapa and gc.id_grade_curricular <> t.id_grade_curricular and cc.id_tipo_atribuicao_componente = 2 limit 1) quadro on true left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) as tp on true left join cidadao p on p.id_cidadao = coalesce(quadro.id_cidadao, tp.id_cidadao) where ts.id_turma = $2 and tdd.id_disciplina is null order by m.ordem, s.descricao, d.descricao;
Date: 2025-02-10 09:39:05 Duration: 302ms Database: postgres parameters: $1 = 'MARIA & EDUARDA', $2 = '98', $3 = '607201', $4 = '2025'
-
select s.id_serie, s.descricao, gc.id_grade_curricular, d.id_disciplina, d.sigla, d.descricao, cc.id_componente_curricular, cc.id_tipo_atribuicao_componente, cc.id_tipo_atribuicao_componente = 1 as flg_regencia, cc.id_tipo_atribuicao_componente = 2 as flg_componente, cc.id_tipo_atribuicao_componente = 3 as flg_nao_gera, cc.qtd_aulas_semanal as total_aulas, coalesce(cmif.id_tipo_mediacao_didatico_pedagogica = $1, false) as "flgItinerarioEad", 0 as aulas_alocadas, p.id_cidadao, p.nome as professor, row_number() over (partition by s.id_serie order by m.ordem, s.descricao, d.descricao) - 1 as index_componente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join turma_disciplina on turma_disciplina.id_turma = t.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join componente_matriz_itinerario_formativo cmif on cmif.id_componente_matriz_itinerario_formativo = cc.id_componente_matriz_itinerario_formativo left join turma_dispensa_disciplina tdd on tdd.id_turma = ts.id_turma and tdd.id_disciplina = d.id_disciplina left join lateral ( select qh.id_cidadao from quadro_horario qh where qh.id_turma = ts.id_turma and qh.id_componente_curricular = cc.id_componente_curricular and qh.id_cidadao notnull -- somente para séries inferiores de turma multietapa and gc.id_grade_curricular <> t.id_grade_curricular and cc.id_tipo_atribuicao_componente = 2 limit 1) quadro on true left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) as tp on true left join cidadao p on p.id_cidadao = coalesce(quadro.id_cidadao, tp.id_cidadao) where ts.id_turma = $2 and tdd.id_disciplina is null order by m.ordem, s.descricao, d.descricao;
Date: 2025-02-10 09:48:05 Duration: 277ms Database: postgres
12 13s694ms 98 100ms 290ms 139ms select qh.id_componente_curricular, qh.dia_semana, qh.id_quadro_horario, qh.id_turno_horario, qh.id_horario_quadro, to_char(horario_inicio, 'HH24:MI') as horario_inicio_formatado, to_char(horario_termino, 'HH24:MI') as horario_termino_formatado, gc.id_serie, s.descricao as serie, d.sigla as disciplina, d.descricao as descricao_disciplina, p.id_cidadao, p.nome as professor, count(qh.id_quadro_horario) over (partition by qh.id_componente_curricular) as numero_aulas from quadro_horario qh inner join horario_quadro hq on hq.id_horario_quadro = qh.id_horario_quadro inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.id_grade_curricular inner join turma_disciplina td on td.id_turma = qh.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) inner join serie s on s.id_serie = gc.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join turma t on t.id_turma = qh.id_turma left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = qh.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) tp on true left join lateral ( select tcha.id_cidadao from turma_componente_historico_atribuicao tcha where tcha.id_turma = qh.id_turma and tcha.id_componente_curricular = cc.id_componente_curricular order by tcha.id_turma_componente_historico_atribuicao desc limit 1) hc on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 2 left join lateral ( select trha.id_cidadao from turma_regencia_historico_atribuicao trha where trha.id_turma = qh.id_turma order by trha.id_turma_regencia_historico_atribuicao desc limit 1) hr on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 1 left join cidadao p on p.id_cidadao = coalesce(qh.id_cidadao, tp.id_cidadao, hc.id_cidadao, hr.id_cidadao) where qh.id_turma = $1 and gc.id_serie = $2 order by m.ordem, s.descricao, qh.dia_semana, hq.horario_inicio;Times Reported Time consuming bind #12
Day Hour Count Duration Avg duration 06 2 225ms 112ms 07 12 1s468ms 122ms 08 28 3s702ms 132ms 09 56 8s299ms 148ms -
select qh.id_componente_curricular, qh.dia_semana, qh.id_quadro_horario, qh.id_turno_horario, qh.id_horario_quadro, to_char(horario_inicio, 'HH24:MI') as horario_inicio_formatado, to_char(horario_termino, 'HH24:MI') as horario_termino_formatado, gc.id_serie, s.descricao as serie, d.sigla as disciplina, d.descricao as descricao_disciplina, p.id_cidadao, p.nome as professor, count(qh.id_quadro_horario) over (partition by qh.id_componente_curricular) as numero_aulas from quadro_horario qh inner join horario_quadro hq on hq.id_horario_quadro = qh.id_horario_quadro inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.id_grade_curricular inner join turma_disciplina td on td.id_turma = qh.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) inner join serie s on s.id_serie = gc.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join turma t on t.id_turma = qh.id_turma left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = qh.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) tp on true left join lateral ( select tcha.id_cidadao from turma_componente_historico_atribuicao tcha where tcha.id_turma = qh.id_turma and tcha.id_componente_curricular = cc.id_componente_curricular order by tcha.id_turma_componente_historico_atribuicao desc limit 1) hc on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 2 left join lateral ( select trha.id_cidadao from turma_regencia_historico_atribuicao trha where trha.id_turma = qh.id_turma order by trha.id_turma_regencia_historico_atribuicao desc limit 1) hr on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 1 left join cidadao p on p.id_cidadao = coalesce(qh.id_cidadao, tp.id_cidadao, hc.id_cidadao, hr.id_cidadao) where qh.id_turma = $1 and gc.id_serie = $2 order by m.ordem, s.descricao, qh.dia_semana, hq.horario_inicio;
Date: 2025-02-10 09:49:12 Duration: 290ms Database: postgres parameters: $1 = '98', $2 = '2376155', $3 = '98', $4 = '2376155'
-
select qh.id_componente_curricular, qh.dia_semana, qh.id_quadro_horario, qh.id_turno_horario, qh.id_horario_quadro, to_char(horario_inicio, 'HH24:MI') as horario_inicio_formatado, to_char(horario_termino, 'HH24:MI') as horario_termino_formatado, gc.id_serie, s.descricao as serie, d.sigla as disciplina, d.descricao as descricao_disciplina, p.id_cidadao, p.nome as professor, count(qh.id_quadro_horario) over (partition by qh.id_componente_curricular) as numero_aulas from quadro_horario qh inner join horario_quadro hq on hq.id_horario_quadro = qh.id_horario_quadro inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.id_grade_curricular inner join turma_disciplina td on td.id_turma = qh.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) inner join serie s on s.id_serie = gc.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join turma t on t.id_turma = qh.id_turma left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = qh.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) tp on true left join lateral ( select tcha.id_cidadao from turma_componente_historico_atribuicao tcha where tcha.id_turma = qh.id_turma and tcha.id_componente_curricular = cc.id_componente_curricular order by tcha.id_turma_componente_historico_atribuicao desc limit 1) hc on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 2 left join lateral ( select trha.id_cidadao from turma_regencia_historico_atribuicao trha where trha.id_turma = qh.id_turma order by trha.id_turma_regencia_historico_atribuicao desc limit 1) hr on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 1 left join cidadao p on p.id_cidadao = coalesce(qh.id_cidadao, tp.id_cidadao, hc.id_cidadao, hr.id_cidadao) where qh.id_turma = $1 and gc.id_serie = $2 order by m.ordem, s.descricao, qh.dia_semana, hq.horario_inicio;
Date: 2025-02-10 10:17:44 Duration: 278ms Database: postgres parameters: $1 = 'KAUE & IRIAS', $2 = '98', $3 = '607184', $4 = '2025'
-
select qh.id_componente_curricular, qh.dia_semana, qh.id_quadro_horario, qh.id_turno_horario, qh.id_horario_quadro, to_char(horario_inicio, 'HH24:MI') as horario_inicio_formatado, to_char(horario_termino, 'HH24:MI') as horario_termino_formatado, gc.id_serie, s.descricao as serie, d.sigla as disciplina, d.descricao as descricao_disciplina, p.id_cidadao, p.nome as professor, count(qh.id_quadro_horario) over (partition by qh.id_componente_curricular) as numero_aulas from quadro_horario qh inner join horario_quadro hq on hq.id_horario_quadro = qh.id_horario_quadro inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.id_grade_curricular inner join turma_disciplina td on td.id_turma = qh.id_turma and td.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, td.id_disciplina) inner join serie s on s.id_serie = gc.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join turma t on t.id_turma = qh.id_turma left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = qh.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) tp on true left join lateral ( select tcha.id_cidadao from turma_componente_historico_atribuicao tcha where tcha.id_turma = qh.id_turma and tcha.id_componente_curricular = cc.id_componente_curricular order by tcha.id_turma_componente_historico_atribuicao desc limit 1) hc on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 2 left join lateral ( select trha.id_cidadao from turma_regencia_historico_atribuicao trha where trha.id_turma = qh.id_turma order by trha.id_turma_regencia_historico_atribuicao desc limit 1) hr on t.id_turma_status = 2 and cc.id_tipo_atribuicao_componente = 1 left join cidadao p on p.id_cidadao = coalesce(qh.id_cidadao, tp.id_cidadao, hc.id_cidadao, hr.id_cidadao) where qh.id_turma = $1 and gc.id_serie = $2 order by m.ordem, s.descricao, qh.dia_semana, hq.horario_inicio;
Date: 2025-02-10 10:45:24 Duration: 251ms Database: postgres
13 11s71ms 89 100ms 359ms 124ms select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma where am.flg_matricula_atual = true and cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and ano.ano = $3 and aluno.codigo = $4 order by matricula_aluno limit 20;Times Reported Time consuming bind #13
Day Hour Count Duration Avg duration 07 9 1s74ms 119ms 08 42 5s325ms 126ms 09 38 4s672ms 122ms -
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma where am.flg_matricula_atual = true and cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and ano.ano = $3 and aluno.codigo = $4 order by matricula_aluno limit 20;
Date: 2025-02-10 09:34:29 Duration: 359ms Database: postgres parameters: $1 = 'LEONA & DE & FREITAS & PAIXAO', $2 = '98', $3 = '607129', $4 = '2025'
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma where am.flg_matricula_atual = true and cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and ano.ano = $3 and aluno.codigo = $4 order by matricula_aluno limit 20;
Date: 2025-02-10 09:46:16 Duration: 205ms Database: postgres parameters: $1 = 'RYAN & ROSA & GOMES & DELFINO', $2 = '98', $3 = '607134', $4 = '2025'
-
select cidadao.id_cidadao, am.id_aluno_matricula, aluno.codigo as matricula_aluno, cidadao.nome as nome_aluno, cidadao.nascimento_data, ano.ano || coalesce('/' || ano.semestre, '') as ano, serie.sigla as serie, curso.sigla as curso, turma.codigo as turma, ams.descricao as situacao, u.nome, ams.id_aluno_matr_status, curso.flg_permite_registrar_conclusao as flg_permite_registrar_conclusao from cidadao_busca_aluno cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join aluno_matricula am on cidadao.id_cidadao = am.id_cidadao inner join aluno_matr_status ams on am.id_aluno_matr_status = ams.id_aluno_matr_status inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on amt.id_turma = turma.id_turma where am.flg_matricula_atual = true and cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and ano.ano = $3 and aluno.codigo = $4 order by matricula_aluno limit 20;
Date: 2025-02-10 10:13:54 Duration: 175ms Database: postgres parameters: $1 = '2501', $2 = '250008102'
14 10s638ms 54 101ms 545ms 197ms select c.nome, c.nome_social as nome_social_aluno, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, c.sexo, c.nome_pai, c.nome_mae, rc.descricao as raca, n.nome as nacionalidade, c.email, c.profissao_mae, c.profissao_pai, c.religiao, case when a.flg_retorna_sozinho_residencia then 'Sim' else 'Não' end as retorna_sozinho, fm.descricao as filiacao_moradia, aof.beneficiario_bolsa_familia as beneficiario, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mcidend.nome as endereco_cidade, ufcidend.sigla as endereco_estado, d.nome as distrito, t.codigo as turma_codigo, rt.descricao as tipo_responsavel, case when rt.id_responsavel_tipo <> 4 then ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) else null end as cpf_responsavel, case when rt.id_responsavel_tipo = 3 then a.nome_responsavel else cidresp.nome end as nome_responsavel, ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) as cpf_responsavel, case when rt.id_responsavel_tipo <> 1 and rt.id_responsavel_tipo <> 2 then coalesce(responsavel.profissao, '') else null end as profissao_responsavel, docs.numero_rg, docs.orgao_expedidor_rg, docs.uf_rg, to_char(docs.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, mnasc.nome as municipio_nascimento, ufnasc.sigla as uf_nascimento, docs.uf_cn, docs.municipio_cn, docs.livro_cn, docs.folha_cn, docs.numero_cn, docs.cartorio_cn, to_char(docs.data_emissao_cn, 'DD/MM/YYYY') as data_emissao_cn, docs.numero_matricula_cn, docs.modelo_certidao, docs.numero_cpf, ( select string_agg(ps.nome, ', ') from programa_social ps inner join programa_social_aluno psa on psa.id_programa_social = ps.id_programa_social where psa.id_aluno_matricula = am.id_aluno_matricula) as programa_social, docs.cpf_mae, docs.cpf_pai, a.ra || ' - ' || a.dv_ra as ra, docs.numero_nis as nis, docs.numero_rne, a.rm, et.descricao as etapa_ensino, mo.descricao as modalidade, cur.descricao as curso, se.descricao as serie, ase.ano, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, pes.descricao as escola_procedencia, pmod.descricao as modalidade_procedencia, prend.descricao as rendimento_procedencia, a.id_responsavel, a.codigo as numero_matricula, a.codigo_inep, docs.numero_cns, saude.possui_alergia, saude.alergias, saude.possui_medicacao_controlada, saude.medicacao_controlada, munidade.nome as municipio_escola, coalesce(' - ' || tro.descricao, '') as tipo_responsavel_outro, a.resultado_exame, grupo_sanguineo.descricao as grupo_sanguineo, 'Endereço: ' || ufu.endereco || ', N°: ' || ufu.numero || '. Bairro: ' || ufu.bairro as escola_endereco, ufu.codigo || ' - ' || ufu.nome as escola_inscricao, case when aof.flg_recebe_bolsa_familia is true then 'Sim' else 'Não' end as recebe_bolsa_familia, case when a.flg_transporte_escolar is true then 'Sim' else 'Não' end as utiliza_transporte_escolar, case when a.flg_remanescente_quilombo is true then 'Sim' else 'Não' end as "remanescenteQuilombo", case when a.flg_pertence_povo_cigano is true then 'Sim' else 'Não' end as "pertencentesPovoCigano" from aluno_matricula am inner join unidade_funcional ufu on ufu.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ase on (ase.id_ano_semestre = am.id_ano_semestre) inner join aluno a using (id_cidadao) inner join cidadao c using (id_cidadao) inner join raca_cor rc using (id_raca_cor) inner join cidadao_endereco ce on (ce. id_cidadao = c.id_cidadao) inner join curso cur on (cur.id_curso = am.id_curso) inner join serie se on (se.id_serie = am.id_serie) inner join modalidade mo on (mo.id_modalidade = cur.id_modalidade) inner join ensino_etapa et on (et.id_ensino_etapa = mo.id_ensino_etapa) inner join municipio munidade on munidade.id_municipio = ufu.id_municipio left join aluno_observacoes_familia aof on aof.id_cidadao = c.id_cidadao left join filiacao_moradia fm on fm.id_filiacao_moradia = aof.id_filiacao_moradia left join cidadao cidresp on (a.id_responsavel = cidresp.id_cidadao) left join responsavel on responsavel.id_responsavel = a.id_responsavel left join municipio mcidend on (ce.id_municipio = mcidend.id_municipio) left join uf ufcidend on ufcidend.id_uf = mcidend.id_uf left join distrito d on (d.id_distrito = ce.id_distrito) left join municipio mnasc on (c.id_municipio_nascimento = mnasc.id_municipio) left join uf ufnasc on ufnasc.id_uf = mnasc.id_uf left join responsavel_tipo rt using (id_responsavel_tipo) left join nacionalidade n on (n.id_nacionalidade = c.id_nacionalidade) left join procedencia_escola pes on (am.id_procedencia_escola = pes.id_procedencia_escola) left join procedencia_modalidade pmod on (am.id_procedencia_modalidade = pmod.id_procedencia_modalidade) left join procedencia_rendimento prend on (prend.id_procedencia_rendimento = am.id_procedencia_rendimento) left join ( select dc.id_cidadao, dc.numero_rg || coalesce(' - ' || dc.dv_rg, '') as numero_rg, orgao_emissor_rg.descricao as orgao_expedidor_rg, uf_rg.sigla as uf_rg, dc.data_emissao_rg, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.numero_rne, dc.numero_nis, dc.data_emissao_cn, dc.numero_matricula_cn, case when dc.flg_modelo_novo_cn = true then 'Novo' else 'Antigo' end as modelo_certidao, dc.cpf_mae, dc.cpf_pai, case when dc.numero_cpf is not null then dc.numero_cpf || ' - ' || dc.digito_cpf else '' end as numero_cpf, dc.numero_cns from documentos_cidadao dc left join uf uf_rg on uf_rg.id_uf = dc.id_uf_emissor_rg left join municipio mun_cn on mun_cn.id_municipio = dc.id_municipio_cn left join uf uf_cn on uf_cn.id_uf = mun_cn.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_cartorio mc on dc.id_mec_cartorio_cn = mc.id_mec_cartorio) docs on docs.id_cidadao = c.id_cidadao left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma left join ( select cs.id_cidadao, case cs.flg_alergia when true then 'Sim' else 'Não' end as possui_alergia, cs.alergias, case cs.flg_medicacao_controlada when true then 'Sim' else 'Não' end as possui_medicacao_controlada, cs.medicacao_controlada from cidadao_saude cs) saude on saude.id_cidadao = c.id_cidadao left join grupo_sanguineo ON grupo_sanguineo.id_grupo_sanguineo = c.id_grupo_sanguineo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro where c.id_cidadao = $1 and am.id_aluno_matricula = $2;Times Reported Time consuming bind #14
Day Hour Count Duration Avg duration 06 5 1s42ms 208ms 07 9 1s993ms 221ms 08 25 4s429ms 177ms 09 15 3s172ms 211ms -
select c.nome, c.nome_social as nome_social_aluno, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, c.sexo, c.nome_pai, c.nome_mae, rc.descricao as raca, n.nome as nacionalidade, c.email, c.profissao_mae, c.profissao_pai, c.religiao, case when a.flg_retorna_sozinho_residencia then 'Sim' else 'Não' end as retorna_sozinho, fm.descricao as filiacao_moradia, aof.beneficiario_bolsa_familia as beneficiario, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mcidend.nome as endereco_cidade, ufcidend.sigla as endereco_estado, d.nome as distrito, t.codigo as turma_codigo, rt.descricao as tipo_responsavel, case when rt.id_responsavel_tipo <> 4 then ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) else null end as cpf_responsavel, case when rt.id_responsavel_tipo = 3 then a.nome_responsavel else cidresp.nome end as nome_responsavel, ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) as cpf_responsavel, case when rt.id_responsavel_tipo <> 1 and rt.id_responsavel_tipo <> 2 then coalesce(responsavel.profissao, '') else null end as profissao_responsavel, docs.numero_rg, docs.orgao_expedidor_rg, docs.uf_rg, to_char(docs.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, mnasc.nome as municipio_nascimento, ufnasc.sigla as uf_nascimento, docs.uf_cn, docs.municipio_cn, docs.livro_cn, docs.folha_cn, docs.numero_cn, docs.cartorio_cn, to_char(docs.data_emissao_cn, 'DD/MM/YYYY') as data_emissao_cn, docs.numero_matricula_cn, docs.modelo_certidao, docs.numero_cpf, ( select string_agg(ps.nome, ', ') from programa_social ps inner join programa_social_aluno psa on psa.id_programa_social = ps.id_programa_social where psa.id_aluno_matricula = am.id_aluno_matricula) as programa_social, docs.cpf_mae, docs.cpf_pai, a.ra || ' - ' || a.dv_ra as ra, docs.numero_nis as nis, docs.numero_rne, a.rm, et.descricao as etapa_ensino, mo.descricao as modalidade, cur.descricao as curso, se.descricao as serie, ase.ano, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, pes.descricao as escola_procedencia, pmod.descricao as modalidade_procedencia, prend.descricao as rendimento_procedencia, a.id_responsavel, a.codigo as numero_matricula, a.codigo_inep, docs.numero_cns, saude.possui_alergia, saude.alergias, saude.possui_medicacao_controlada, saude.medicacao_controlada, munidade.nome as municipio_escola, coalesce(' - ' || tro.descricao, '') as tipo_responsavel_outro, a.resultado_exame, grupo_sanguineo.descricao as grupo_sanguineo, 'Endereço: ' || ufu.endereco || ', N°: ' || ufu.numero || '. Bairro: ' || ufu.bairro as escola_endereco, ufu.codigo || ' - ' || ufu.nome as escola_inscricao, case when aof.flg_recebe_bolsa_familia is true then 'Sim' else 'Não' end as recebe_bolsa_familia, case when a.flg_transporte_escolar is true then 'Sim' else 'Não' end as utiliza_transporte_escolar, case when a.flg_remanescente_quilombo is true then 'Sim' else 'Não' end as "remanescenteQuilombo", case when a.flg_pertence_povo_cigano is true then 'Sim' else 'Não' end as "pertencentesPovoCigano" from aluno_matricula am inner join unidade_funcional ufu on ufu.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ase on (ase.id_ano_semestre = am.id_ano_semestre) inner join aluno a using (id_cidadao) inner join cidadao c using (id_cidadao) inner join raca_cor rc using (id_raca_cor) inner join cidadao_endereco ce on (ce. id_cidadao = c.id_cidadao) inner join curso cur on (cur.id_curso = am.id_curso) inner join serie se on (se.id_serie = am.id_serie) inner join modalidade mo on (mo.id_modalidade = cur.id_modalidade) inner join ensino_etapa et on (et.id_ensino_etapa = mo.id_ensino_etapa) inner join municipio munidade on munidade.id_municipio = ufu.id_municipio left join aluno_observacoes_familia aof on aof.id_cidadao = c.id_cidadao left join filiacao_moradia fm on fm.id_filiacao_moradia = aof.id_filiacao_moradia left join cidadao cidresp on (a.id_responsavel = cidresp.id_cidadao) left join responsavel on responsavel.id_responsavel = a.id_responsavel left join municipio mcidend on (ce.id_municipio = mcidend.id_municipio) left join uf ufcidend on ufcidend.id_uf = mcidend.id_uf left join distrito d on (d.id_distrito = ce.id_distrito) left join municipio mnasc on (c.id_municipio_nascimento = mnasc.id_municipio) left join uf ufnasc on ufnasc.id_uf = mnasc.id_uf left join responsavel_tipo rt using (id_responsavel_tipo) left join nacionalidade n on (n.id_nacionalidade = c.id_nacionalidade) left join procedencia_escola pes on (am.id_procedencia_escola = pes.id_procedencia_escola) left join procedencia_modalidade pmod on (am.id_procedencia_modalidade = pmod.id_procedencia_modalidade) left join procedencia_rendimento prend on (prend.id_procedencia_rendimento = am.id_procedencia_rendimento) left join ( select dc.id_cidadao, dc.numero_rg || coalesce(' - ' || dc.dv_rg, '') as numero_rg, orgao_emissor_rg.descricao as orgao_expedidor_rg, uf_rg.sigla as uf_rg, dc.data_emissao_rg, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.numero_rne, dc.numero_nis, dc.data_emissao_cn, dc.numero_matricula_cn, case when dc.flg_modelo_novo_cn = true then 'Novo' else 'Antigo' end as modelo_certidao, dc.cpf_mae, dc.cpf_pai, case when dc.numero_cpf is not null then dc.numero_cpf || ' - ' || dc.digito_cpf else '' end as numero_cpf, dc.numero_cns from documentos_cidadao dc left join uf uf_rg on uf_rg.id_uf = dc.id_uf_emissor_rg left join municipio mun_cn on mun_cn.id_municipio = dc.id_municipio_cn left join uf uf_cn on uf_cn.id_uf = mun_cn.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_cartorio mc on dc.id_mec_cartorio_cn = mc.id_mec_cartorio) docs on docs.id_cidadao = c.id_cidadao left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma left join ( select cs.id_cidadao, case cs.flg_alergia when true then 'Sim' else 'Não' end as possui_alergia, cs.alergias, case cs.flg_medicacao_controlada when true then 'Sim' else 'Não' end as possui_medicacao_controlada, cs.medicacao_controlada from cidadao_saude cs) saude on saude.id_cidadao = c.id_cidadao left join grupo_sanguineo ON grupo_sanguineo.id_grupo_sanguineo = c.id_grupo_sanguineo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro where c.id_cidadao = $1 and am.id_aluno_matricula = $2;
Date: 2025-02-10 10:36:44 Duration: 545ms Database: postgres parameters: $1 = '250000239', $2 = '3413604'
-
select c.nome, c.nome_social as nome_social_aluno, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, c.sexo, c.nome_pai, c.nome_mae, rc.descricao as raca, n.nome as nacionalidade, c.email, c.profissao_mae, c.profissao_pai, c.religiao, case when a.flg_retorna_sozinho_residencia then 'Sim' else 'Não' end as retorna_sozinho, fm.descricao as filiacao_moradia, aof.beneficiario_bolsa_familia as beneficiario, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mcidend.nome as endereco_cidade, ufcidend.sigla as endereco_estado, d.nome as distrito, t.codigo as turma_codigo, rt.descricao as tipo_responsavel, case when rt.id_responsavel_tipo <> 4 then ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) else null end as cpf_responsavel, case when rt.id_responsavel_tipo = 3 then a.nome_responsavel else cidresp.nome end as nome_responsavel, ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) as cpf_responsavel, case when rt.id_responsavel_tipo <> 1 and rt.id_responsavel_tipo <> 2 then coalesce(responsavel.profissao, '') else null end as profissao_responsavel, docs.numero_rg, docs.orgao_expedidor_rg, docs.uf_rg, to_char(docs.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, mnasc.nome as municipio_nascimento, ufnasc.sigla as uf_nascimento, docs.uf_cn, docs.municipio_cn, docs.livro_cn, docs.folha_cn, docs.numero_cn, docs.cartorio_cn, to_char(docs.data_emissao_cn, 'DD/MM/YYYY') as data_emissao_cn, docs.numero_matricula_cn, docs.modelo_certidao, docs.numero_cpf, ( select string_agg(ps.nome, ', ') from programa_social ps inner join programa_social_aluno psa on psa.id_programa_social = ps.id_programa_social where psa.id_aluno_matricula = am.id_aluno_matricula) as programa_social, docs.cpf_mae, docs.cpf_pai, a.ra || ' - ' || a.dv_ra as ra, docs.numero_nis as nis, docs.numero_rne, a.rm, et.descricao as etapa_ensino, mo.descricao as modalidade, cur.descricao as curso, se.descricao as serie, ase.ano, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, pes.descricao as escola_procedencia, pmod.descricao as modalidade_procedencia, prend.descricao as rendimento_procedencia, a.id_responsavel, a.codigo as numero_matricula, a.codigo_inep, docs.numero_cns, saude.possui_alergia, saude.alergias, saude.possui_medicacao_controlada, saude.medicacao_controlada, munidade.nome as municipio_escola, coalesce(' - ' || tro.descricao, '') as tipo_responsavel_outro, a.resultado_exame, grupo_sanguineo.descricao as grupo_sanguineo, 'Endereço: ' || ufu.endereco || ', N°: ' || ufu.numero || '. Bairro: ' || ufu.bairro as escola_endereco, ufu.codigo || ' - ' || ufu.nome as escola_inscricao, case when aof.flg_recebe_bolsa_familia is true then 'Sim' else 'Não' end as recebe_bolsa_familia, case when a.flg_transporte_escolar is true then 'Sim' else 'Não' end as utiliza_transporte_escolar, case when a.flg_remanescente_quilombo is true then 'Sim' else 'Não' end as "remanescenteQuilombo", case when a.flg_pertence_povo_cigano is true then 'Sim' else 'Não' end as "pertencentesPovoCigano" from aluno_matricula am inner join unidade_funcional ufu on ufu.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ase on (ase.id_ano_semestre = am.id_ano_semestre) inner join aluno a using (id_cidadao) inner join cidadao c using (id_cidadao) inner join raca_cor rc using (id_raca_cor) inner join cidadao_endereco ce on (ce. id_cidadao = c.id_cidadao) inner join curso cur on (cur.id_curso = am.id_curso) inner join serie se on (se.id_serie = am.id_serie) inner join modalidade mo on (mo.id_modalidade = cur.id_modalidade) inner join ensino_etapa et on (et.id_ensino_etapa = mo.id_ensino_etapa) inner join municipio munidade on munidade.id_municipio = ufu.id_municipio left join aluno_observacoes_familia aof on aof.id_cidadao = c.id_cidadao left join filiacao_moradia fm on fm.id_filiacao_moradia = aof.id_filiacao_moradia left join cidadao cidresp on (a.id_responsavel = cidresp.id_cidadao) left join responsavel on responsavel.id_responsavel = a.id_responsavel left join municipio mcidend on (ce.id_municipio = mcidend.id_municipio) left join uf ufcidend on ufcidend.id_uf = mcidend.id_uf left join distrito d on (d.id_distrito = ce.id_distrito) left join municipio mnasc on (c.id_municipio_nascimento = mnasc.id_municipio) left join uf ufnasc on ufnasc.id_uf = mnasc.id_uf left join responsavel_tipo rt using (id_responsavel_tipo) left join nacionalidade n on (n.id_nacionalidade = c.id_nacionalidade) left join procedencia_escola pes on (am.id_procedencia_escola = pes.id_procedencia_escola) left join procedencia_modalidade pmod on (am.id_procedencia_modalidade = pmod.id_procedencia_modalidade) left join procedencia_rendimento prend on (prend.id_procedencia_rendimento = am.id_procedencia_rendimento) left join ( select dc.id_cidadao, dc.numero_rg || coalesce(' - ' || dc.dv_rg, '') as numero_rg, orgao_emissor_rg.descricao as orgao_expedidor_rg, uf_rg.sigla as uf_rg, dc.data_emissao_rg, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.numero_rne, dc.numero_nis, dc.data_emissao_cn, dc.numero_matricula_cn, case when dc.flg_modelo_novo_cn = true then 'Novo' else 'Antigo' end as modelo_certidao, dc.cpf_mae, dc.cpf_pai, case when dc.numero_cpf is not null then dc.numero_cpf || ' - ' || dc.digito_cpf else '' end as numero_cpf, dc.numero_cns from documentos_cidadao dc left join uf uf_rg on uf_rg.id_uf = dc.id_uf_emissor_rg left join municipio mun_cn on mun_cn.id_municipio = dc.id_municipio_cn left join uf uf_cn on uf_cn.id_uf = mun_cn.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_cartorio mc on dc.id_mec_cartorio_cn = mc.id_mec_cartorio) docs on docs.id_cidadao = c.id_cidadao left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma left join ( select cs.id_cidadao, case cs.flg_alergia when true then 'Sim' else 'Não' end as possui_alergia, cs.alergias, case cs.flg_medicacao_controlada when true then 'Sim' else 'Não' end as possui_medicacao_controlada, cs.medicacao_controlada from cidadao_saude cs) saude on saude.id_cidadao = c.id_cidadao left join grupo_sanguineo ON grupo_sanguineo.id_grupo_sanguineo = c.id_grupo_sanguineo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro where c.id_cidadao = $1 and am.id_aluno_matricula = $2;
Date: 2025-02-10 09:01:59 Duration: 370ms Database: postgres parameters: $1 = '607308', $2 = '2024', $3 = 'luiz guilherme dos santos dias ferreira'
-
select c.nome, c.nome_social as nome_social_aluno, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, c.sexo, c.nome_pai, c.nome_mae, rc.descricao as raca, n.nome as nacionalidade, c.email, c.profissao_mae, c.profissao_pai, c.religiao, case when a.flg_retorna_sozinho_residencia then 'Sim' else 'Não' end as retorna_sozinho, fm.descricao as filiacao_moradia, aof.beneficiario_bolsa_familia as beneficiario, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mcidend.nome as endereco_cidade, ufcidend.sigla as endereco_estado, d.nome as distrito, t.codigo as turma_codigo, rt.descricao as tipo_responsavel, case when rt.id_responsavel_tipo <> 4 then ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) else null end as cpf_responsavel, case when rt.id_responsavel_tipo = 3 then a.nome_responsavel else cidresp.nome end as nome_responsavel, ( select numero_cpf || '-' || digito_cpf from documentos_cidadao where id_cidadao = a.id_responsavel) as cpf_responsavel, case when rt.id_responsavel_tipo <> 1 and rt.id_responsavel_tipo <> 2 then coalesce(responsavel.profissao, '') else null end as profissao_responsavel, docs.numero_rg, docs.orgao_expedidor_rg, docs.uf_rg, to_char(docs.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, mnasc.nome as municipio_nascimento, ufnasc.sigla as uf_nascimento, docs.uf_cn, docs.municipio_cn, docs.livro_cn, docs.folha_cn, docs.numero_cn, docs.cartorio_cn, to_char(docs.data_emissao_cn, 'DD/MM/YYYY') as data_emissao_cn, docs.numero_matricula_cn, docs.modelo_certidao, docs.numero_cpf, ( select string_agg(ps.nome, ', ') from programa_social ps inner join programa_social_aluno psa on psa.id_programa_social = ps.id_programa_social where psa.id_aluno_matricula = am.id_aluno_matricula) as programa_social, docs.cpf_mae, docs.cpf_pai, a.ra || ' - ' || a.dv_ra as ra, docs.numero_nis as nis, docs.numero_rne, a.rm, et.descricao as etapa_ensino, mo.descricao as modalidade, cur.descricao as curso, se.descricao as serie, ase.ano, to_char(am.data_matricula, 'DD/MM/YYYY') as data_matricula, pes.descricao as escola_procedencia, pmod.descricao as modalidade_procedencia, prend.descricao as rendimento_procedencia, a.id_responsavel, a.codigo as numero_matricula, a.codigo_inep, docs.numero_cns, saude.possui_alergia, saude.alergias, saude.possui_medicacao_controlada, saude.medicacao_controlada, munidade.nome as municipio_escola, coalesce(' - ' || tro.descricao, '') as tipo_responsavel_outro, a.resultado_exame, grupo_sanguineo.descricao as grupo_sanguineo, 'Endereço: ' || ufu.endereco || ', N°: ' || ufu.numero || '. Bairro: ' || ufu.bairro as escola_endereco, ufu.codigo || ' - ' || ufu.nome as escola_inscricao, case when aof.flg_recebe_bolsa_familia is true then 'Sim' else 'Não' end as recebe_bolsa_familia, case when a.flg_transporte_escolar is true then 'Sim' else 'Não' end as utiliza_transporte_escolar, case when a.flg_remanescente_quilombo is true then 'Sim' else 'Não' end as "remanescenteQuilombo", case when a.flg_pertence_povo_cigano is true then 'Sim' else 'Não' end as "pertencentesPovoCigano" from aluno_matricula am inner join unidade_funcional ufu on ufu.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ase on (ase.id_ano_semestre = am.id_ano_semestre) inner join aluno a using (id_cidadao) inner join cidadao c using (id_cidadao) inner join raca_cor rc using (id_raca_cor) inner join cidadao_endereco ce on (ce. id_cidadao = c.id_cidadao) inner join curso cur on (cur.id_curso = am.id_curso) inner join serie se on (se.id_serie = am.id_serie) inner join modalidade mo on (mo.id_modalidade = cur.id_modalidade) inner join ensino_etapa et on (et.id_ensino_etapa = mo.id_ensino_etapa) inner join municipio munidade on munidade.id_municipio = ufu.id_municipio left join aluno_observacoes_familia aof on aof.id_cidadao = c.id_cidadao left join filiacao_moradia fm on fm.id_filiacao_moradia = aof.id_filiacao_moradia left join cidadao cidresp on (a.id_responsavel = cidresp.id_cidadao) left join responsavel on responsavel.id_responsavel = a.id_responsavel left join municipio mcidend on (ce.id_municipio = mcidend.id_municipio) left join uf ufcidend on ufcidend.id_uf = mcidend.id_uf left join distrito d on (d.id_distrito = ce.id_distrito) left join municipio mnasc on (c.id_municipio_nascimento = mnasc.id_municipio) left join uf ufnasc on ufnasc.id_uf = mnasc.id_uf left join responsavel_tipo rt using (id_responsavel_tipo) left join nacionalidade n on (n.id_nacionalidade = c.id_nacionalidade) left join procedencia_escola pes on (am.id_procedencia_escola = pes.id_procedencia_escola) left join procedencia_modalidade pmod on (am.id_procedencia_modalidade = pmod.id_procedencia_modalidade) left join procedencia_rendimento prend on (prend.id_procedencia_rendimento = am.id_procedencia_rendimento) left join ( select dc.id_cidadao, dc.numero_rg || coalesce(' - ' || dc.dv_rg, '') as numero_rg, orgao_emissor_rg.descricao as orgao_expedidor_rg, uf_rg.sigla as uf_rg, dc.data_emissao_rg, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.numero_rne, dc.numero_nis, dc.data_emissao_cn, dc.numero_matricula_cn, case when dc.flg_modelo_novo_cn = true then 'Novo' else 'Antigo' end as modelo_certidao, dc.cpf_mae, dc.cpf_pai, case when dc.numero_cpf is not null then dc.numero_cpf || ' - ' || dc.digito_cpf else '' end as numero_cpf, dc.numero_cns from documentos_cidadao dc left join uf uf_rg on uf_rg.id_uf = dc.id_uf_emissor_rg left join municipio mun_cn on mun_cn.id_municipio = dc.id_municipio_cn left join uf uf_cn on uf_cn.id_uf = mun_cn.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_cartorio mc on dc.id_mec_cartorio_cn = mc.id_mec_cartorio) docs on docs.id_cidadao = c.id_cidadao left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on t.id_turma = amt.id_turma left join ( select cs.id_cidadao, case cs.flg_alergia when true then 'Sim' else 'Não' end as possui_alergia, cs.alergias, case cs.flg_medicacao_controlada when true then 'Sim' else 'Não' end as possui_medicacao_controlada, cs.medicacao_controlada from cidadao_saude cs) saude on saude.id_cidadao = c.id_cidadao left join grupo_sanguineo ON grupo_sanguineo.id_grupo_sanguineo = c.id_grupo_sanguineo left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro where c.id_cidadao = $1 and am.id_aluno_matricula = $2;
Date: 2025-02-10 08:40:11 Duration: 367ms Database: postgres parameters: $1 = 'EMMAEUL & VINICIUS & CINTRA', $2 = '92', $3 = '606651', $4 = '2025'
15 9s880ms 72 100ms 276ms 137ms select a.codigo as matricula, a.codigo_inep, c.nome as nome_aluno, c.nascimento_data, c.sexo, c.nome_mae, formatar_cpf (dc.cpf_mae) as cpf_mae, c.nome_pai, formatar_cpf (dc.cpf_pai) as cpf_pai, rc.descricao as raca_cor, c.id_nacionalidade, nacionalidade.nome as nacionalidade, c.email, c.email_instituicional, uf_nasc.sigla as uf_nasc, mun_nasc.nome as municipio_nasc, a.resultado_exame, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mun_end.nome as municipio_end, uf_end.sigla as uf_end, d.nome as distrito_end, setor_end.sigla as setor_end, mfd.descricao as motivo_falta_documento, dc.numero_cpf, dc.digito_cpf, dc.numero_rg, dc.dv_rg, orgao_emissor_rg.descricao as orgao_emissor_rg, uf_emissor_rg.sigla as uf_emissor_rg, dc.data_emissao_rg, tc.descricao as tipo_certidao, dc.flg_modelo_novo_cn, dc.numero_matricula_cn, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.data_emissao_cn, a.ra, a.dv_ra, dc.numero_rne, dc.numero_cns, dc.numero_nis as nis, a.codigo_inep, c.flg_dieta_especial, c.flg_necessidade_especial, c.flg_laudo_medico_necessidade_esp, c.id_arquivo_laudo_medico, a.flg_zona_urbana, mrte.descricao as mec_resp_transporte_escolar, mlae.descricao as mec_local_alt_escolarizacao, a.rm, c.profissao, c.profissao_mae, c.profissao_pai, c.flg_educador_apoio, gs.descricao as grupo_sanguineo, a.observacao_historico, a.transcricao_historico_estrangeiro, a.flg_remanescente_quilombo, a.flg_participa_seminario_ensino_religioso, c.nome_social, a.id_foto_oficial, c.flg_atendimento_especializado, mld.descricao as localizacao_diferenciada, a.flg_pretende_cursar_ensino_religioso, c.flg_atendimento_especializado, c.flg_autoriza_uso_imagem, c.id_grau_escolaridade_mae, gsm.descricao as grau_escolaridade_mae, c.id_grau_escolaridade_pai, gsp.descricao as grau_escolaridade_pai, cs.flg_medicacao_controlada, cs.medicacao_controlada, cs.flg_alergia, cs.alergias, a.id_local_atendimento_especializado, lae.descricao as local_atendimento_especializado, af.flg_recebe_bolsa_familia, af.renda_familiar, af.num_pessoas_residencia, af.num_pessoas_residencia_estudam, af.num_pessoas_residencia_nao_estudam, a.id_responsavel_tipo = 3 as flg_responsavel_outro, tro.sigla as tipo_responsavel_outro, c.numero_conta_energia, ce.latitude, ce.longitude, case when aluno_entrega_tablet.flg_entregue then 'Sim' else 'Não' end as tablet_entregue, to_char(aluno_entrega_tablet.data_entrega, 'DD/MM/YYYY') as data_entrega_tablet, aluno_entrega_tablet.observacoes as observacoes_entrega_tablet, usuario_entrega_tablet.nome as usuario_entrega_tablet, c.naturalidade, coalesce(cs.flg_disturbio, false) as flg_disturbio, a.flg_pertence_povo_cigano, cs.flg_laudo_medico_temporario, a.flg_transporte_bilhetagem_eletronica, c.religiao, a.id_tipo_transporte_escolar, sim_nao (a.flg_retorna_sozinho_residencia) as retorna_sozinho_residencia, af.id_filiacao_moradia, af.beneficiario_bolsa_familia, af.autorizados_retirar_aluno, a.flg_dispensa_educacao_fisica, mdef.sigla as motivo_disp_educacao_fisica from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao left join raca_cor rc on rc.id_raca_cor = c.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = c.id_cidadao left join tipo_certidao tc on dc.id_tipo_certidao = tc.id_tipo_certidao left join cidadao_endereco ce on ce.id_cidadao = c.id_cidadao left join nacionalidade on nacionalidade.id_nacionalidade = c.id_nacionalidade left join municipio mun_nasc on c.id_municipio_nascimento = mun_nasc.id_municipio left join uf uf_nasc on mun_nasc.id_uf = uf_nasc.id_uf left join municipio mun_cn on dc.id_municipio_cn = mun_cn.id_municipio left join uf uf_cn on mun_cn.id_uf = uf_cn.id_uf left join municipio mun_end on mun_end.id_municipio = ce.id_municipio left join uf uf_end on mun_end.id_uf = uf_end.id_uf left join distrito d on d.id_distrito = ce.id_distrito left join setor setor_end on setor_end.id_setor = ce.id_setor left join uf uf_emissor_rg on dc.id_uf_emissor_rg = uf_emissor_rg.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_resp_transporte_escolar mrte on mrte.id_mec_resp_transporte_escolar = a.id_mec_resp_transporte_escolar left join mec_local_alt_escolarizacao mlae on mlae.id_mec_local_alt_escolarizacao = a.id_mec_local_alt_escolarizacao left join mec_cartorio mc on mc.id_mec_cartorio = dc.id_mec_cartorio_cn left join motivo_falta_documento mfd on mfd.id_motivo_falta_documento = dc.id_motivo_falta_documento left join grupo_sanguineo gs on gs.id_grupo_sanguineo = c.id_grupo_sanguineo left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = c.id_mec_localizacao_diferenciada left join cidadao_saude cs on cs.id_cidadao = c.id_cidadao left join aluno_observacoes_familia af on af.id_cidadao = a.id_cidadao left join local_atendimento_especializado lae on lae.id_local_atendimento_especializado = a.id_local_atendimento_especializado left join grau_escolaridade gsm on gsm.id_grau_escolaridade = c.id_grau_escolaridade_mae left join grau_escolaridade gsp on gsp.id_grau_escolaridade = c.id_grau_escolaridade_pai left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join motivo_disp_educacao_fisica mdef on mdef.id_motivo_disp_educacao_fisica = a.id_motivo_disp_educacao_fisica left join aluno_entrega_tablet on aluno_entrega_tablet.id_cidadao = a.id_cidadao left join usuario usuario_entrega_tablet on usuario_entrega_tablet.id_usuario = aluno_entrega_tablet.id_usuario where c.id_cidadao = $1 and c.id_instituicao = $2;Times Reported Time consuming bind #15
Day Hour Count Duration Avg duration 06 7 942ms 134ms 07 15 1s920ms 128ms 08 14 1s857ms 132ms 09 36 5s160ms 143ms -
select a.codigo as matricula, a.codigo_inep, c.nome as nome_aluno, c.nascimento_data, c.sexo, c.nome_mae, formatar_cpf (dc.cpf_mae) as cpf_mae, c.nome_pai, formatar_cpf (dc.cpf_pai) as cpf_pai, rc.descricao as raca_cor, c.id_nacionalidade, nacionalidade.nome as nacionalidade, c.email, c.email_instituicional, uf_nasc.sigla as uf_nasc, mun_nasc.nome as municipio_nasc, a.resultado_exame, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mun_end.nome as municipio_end, uf_end.sigla as uf_end, d.nome as distrito_end, setor_end.sigla as setor_end, mfd.descricao as motivo_falta_documento, dc.numero_cpf, dc.digito_cpf, dc.numero_rg, dc.dv_rg, orgao_emissor_rg.descricao as orgao_emissor_rg, uf_emissor_rg.sigla as uf_emissor_rg, dc.data_emissao_rg, tc.descricao as tipo_certidao, dc.flg_modelo_novo_cn, dc.numero_matricula_cn, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.data_emissao_cn, a.ra, a.dv_ra, dc.numero_rne, dc.numero_cns, dc.numero_nis as nis, a.codigo_inep, c.flg_dieta_especial, c.flg_necessidade_especial, c.flg_laudo_medico_necessidade_esp, c.id_arquivo_laudo_medico, a.flg_zona_urbana, mrte.descricao as mec_resp_transporte_escolar, mlae.descricao as mec_local_alt_escolarizacao, a.rm, c.profissao, c.profissao_mae, c.profissao_pai, c.flg_educador_apoio, gs.descricao as grupo_sanguineo, a.observacao_historico, a.transcricao_historico_estrangeiro, a.flg_remanescente_quilombo, a.flg_participa_seminario_ensino_religioso, c.nome_social, a.id_foto_oficial, c.flg_atendimento_especializado, mld.descricao as localizacao_diferenciada, a.flg_pretende_cursar_ensino_religioso, c.flg_atendimento_especializado, c.flg_autoriza_uso_imagem, c.id_grau_escolaridade_mae, gsm.descricao as grau_escolaridade_mae, c.id_grau_escolaridade_pai, gsp.descricao as grau_escolaridade_pai, cs.flg_medicacao_controlada, cs.medicacao_controlada, cs.flg_alergia, cs.alergias, a.id_local_atendimento_especializado, lae.descricao as local_atendimento_especializado, af.flg_recebe_bolsa_familia, af.renda_familiar, af.num_pessoas_residencia, af.num_pessoas_residencia_estudam, af.num_pessoas_residencia_nao_estudam, a.id_responsavel_tipo = 3 as flg_responsavel_outro, tro.sigla as tipo_responsavel_outro, c.numero_conta_energia, ce.latitude, ce.longitude, case when aluno_entrega_tablet.flg_entregue then 'Sim' else 'Não' end as tablet_entregue, to_char(aluno_entrega_tablet.data_entrega, 'DD/MM/YYYY') as data_entrega_tablet, aluno_entrega_tablet.observacoes as observacoes_entrega_tablet, usuario_entrega_tablet.nome as usuario_entrega_tablet, c.naturalidade, coalesce(cs.flg_disturbio, false) as flg_disturbio, a.flg_pertence_povo_cigano, cs.flg_laudo_medico_temporario, a.flg_transporte_bilhetagem_eletronica, c.religiao, a.id_tipo_transporte_escolar, sim_nao (a.flg_retorna_sozinho_residencia) as retorna_sozinho_residencia, af.id_filiacao_moradia, af.beneficiario_bolsa_familia, af.autorizados_retirar_aluno, a.flg_dispensa_educacao_fisica, mdef.sigla as motivo_disp_educacao_fisica from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao left join raca_cor rc on rc.id_raca_cor = c.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = c.id_cidadao left join tipo_certidao tc on dc.id_tipo_certidao = tc.id_tipo_certidao left join cidadao_endereco ce on ce.id_cidadao = c.id_cidadao left join nacionalidade on nacionalidade.id_nacionalidade = c.id_nacionalidade left join municipio mun_nasc on c.id_municipio_nascimento = mun_nasc.id_municipio left join uf uf_nasc on mun_nasc.id_uf = uf_nasc.id_uf left join municipio mun_cn on dc.id_municipio_cn = mun_cn.id_municipio left join uf uf_cn on mun_cn.id_uf = uf_cn.id_uf left join municipio mun_end on mun_end.id_municipio = ce.id_municipio left join uf uf_end on mun_end.id_uf = uf_end.id_uf left join distrito d on d.id_distrito = ce.id_distrito left join setor setor_end on setor_end.id_setor = ce.id_setor left join uf uf_emissor_rg on dc.id_uf_emissor_rg = uf_emissor_rg.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_resp_transporte_escolar mrte on mrte.id_mec_resp_transporte_escolar = a.id_mec_resp_transporte_escolar left join mec_local_alt_escolarizacao mlae on mlae.id_mec_local_alt_escolarizacao = a.id_mec_local_alt_escolarizacao left join mec_cartorio mc on mc.id_mec_cartorio = dc.id_mec_cartorio_cn left join motivo_falta_documento mfd on mfd.id_motivo_falta_documento = dc.id_motivo_falta_documento left join grupo_sanguineo gs on gs.id_grupo_sanguineo = c.id_grupo_sanguineo left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = c.id_mec_localizacao_diferenciada left join cidadao_saude cs on cs.id_cidadao = c.id_cidadao left join aluno_observacoes_familia af on af.id_cidadao = a.id_cidadao left join local_atendimento_especializado lae on lae.id_local_atendimento_especializado = a.id_local_atendimento_especializado left join grau_escolaridade gsm on gsm.id_grau_escolaridade = c.id_grau_escolaridade_mae left join grau_escolaridade gsp on gsp.id_grau_escolaridade = c.id_grau_escolaridade_pai left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join motivo_disp_educacao_fisica mdef on mdef.id_motivo_disp_educacao_fisica = a.id_motivo_disp_educacao_fisica left join aluno_entrega_tablet on aluno_entrega_tablet.id_cidadao = a.id_cidadao left join usuario usuario_entrega_tablet on usuario_entrega_tablet.id_usuario = aluno_entrega_tablet.id_usuario where c.id_cidadao = $1 and c.id_instituicao = $2;
Date: 2025-02-10 10:20:11 Duration: 276ms Database: postgres parameters: $1 = '10', $2 = 'RITA & DE & CASSIA & DOS & ANJOS', $3 = '82', $4 = '2025'
-
select a.codigo as matricula, a.codigo_inep, c.nome as nome_aluno, c.nascimento_data, c.sexo, c.nome_mae, formatar_cpf (dc.cpf_mae) as cpf_mae, c.nome_pai, formatar_cpf (dc.cpf_pai) as cpf_pai, rc.descricao as raca_cor, c.id_nacionalidade, nacionalidade.nome as nacionalidade, c.email, c.email_instituicional, uf_nasc.sigla as uf_nasc, mun_nasc.nome as municipio_nasc, a.resultado_exame, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mun_end.nome as municipio_end, uf_end.sigla as uf_end, d.nome as distrito_end, setor_end.sigla as setor_end, mfd.descricao as motivo_falta_documento, dc.numero_cpf, dc.digito_cpf, dc.numero_rg, dc.dv_rg, orgao_emissor_rg.descricao as orgao_emissor_rg, uf_emissor_rg.sigla as uf_emissor_rg, dc.data_emissao_rg, tc.descricao as tipo_certidao, dc.flg_modelo_novo_cn, dc.numero_matricula_cn, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.data_emissao_cn, a.ra, a.dv_ra, dc.numero_rne, dc.numero_cns, dc.numero_nis as nis, a.codigo_inep, c.flg_dieta_especial, c.flg_necessidade_especial, c.flg_laudo_medico_necessidade_esp, c.id_arquivo_laudo_medico, a.flg_zona_urbana, mrte.descricao as mec_resp_transporte_escolar, mlae.descricao as mec_local_alt_escolarizacao, a.rm, c.profissao, c.profissao_mae, c.profissao_pai, c.flg_educador_apoio, gs.descricao as grupo_sanguineo, a.observacao_historico, a.transcricao_historico_estrangeiro, a.flg_remanescente_quilombo, a.flg_participa_seminario_ensino_religioso, c.nome_social, a.id_foto_oficial, c.flg_atendimento_especializado, mld.descricao as localizacao_diferenciada, a.flg_pretende_cursar_ensino_religioso, c.flg_atendimento_especializado, c.flg_autoriza_uso_imagem, c.id_grau_escolaridade_mae, gsm.descricao as grau_escolaridade_mae, c.id_grau_escolaridade_pai, gsp.descricao as grau_escolaridade_pai, cs.flg_medicacao_controlada, cs.medicacao_controlada, cs.flg_alergia, cs.alergias, a.id_local_atendimento_especializado, lae.descricao as local_atendimento_especializado, af.flg_recebe_bolsa_familia, af.renda_familiar, af.num_pessoas_residencia, af.num_pessoas_residencia_estudam, af.num_pessoas_residencia_nao_estudam, a.id_responsavel_tipo = 3 as flg_responsavel_outro, tro.sigla as tipo_responsavel_outro, c.numero_conta_energia, ce.latitude, ce.longitude, case when aluno_entrega_tablet.flg_entregue then 'Sim' else 'Não' end as tablet_entregue, to_char(aluno_entrega_tablet.data_entrega, 'DD/MM/YYYY') as data_entrega_tablet, aluno_entrega_tablet.observacoes as observacoes_entrega_tablet, usuario_entrega_tablet.nome as usuario_entrega_tablet, c.naturalidade, coalesce(cs.flg_disturbio, false) as flg_disturbio, a.flg_pertence_povo_cigano, cs.flg_laudo_medico_temporario, a.flg_transporte_bilhetagem_eletronica, c.religiao, a.id_tipo_transporte_escolar, sim_nao (a.flg_retorna_sozinho_residencia) as retorna_sozinho_residencia, af.id_filiacao_moradia, af.beneficiario_bolsa_familia, af.autorizados_retirar_aluno, a.flg_dispensa_educacao_fisica, mdef.sigla as motivo_disp_educacao_fisica from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao left join raca_cor rc on rc.id_raca_cor = c.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = c.id_cidadao left join tipo_certidao tc on dc.id_tipo_certidao = tc.id_tipo_certidao left join cidadao_endereco ce on ce.id_cidadao = c.id_cidadao left join nacionalidade on nacionalidade.id_nacionalidade = c.id_nacionalidade left join municipio mun_nasc on c.id_municipio_nascimento = mun_nasc.id_municipio left join uf uf_nasc on mun_nasc.id_uf = uf_nasc.id_uf left join municipio mun_cn on dc.id_municipio_cn = mun_cn.id_municipio left join uf uf_cn on mun_cn.id_uf = uf_cn.id_uf left join municipio mun_end on mun_end.id_municipio = ce.id_municipio left join uf uf_end on mun_end.id_uf = uf_end.id_uf left join distrito d on d.id_distrito = ce.id_distrito left join setor setor_end on setor_end.id_setor = ce.id_setor left join uf uf_emissor_rg on dc.id_uf_emissor_rg = uf_emissor_rg.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_resp_transporte_escolar mrte on mrte.id_mec_resp_transporte_escolar = a.id_mec_resp_transporte_escolar left join mec_local_alt_escolarizacao mlae on mlae.id_mec_local_alt_escolarizacao = a.id_mec_local_alt_escolarizacao left join mec_cartorio mc on mc.id_mec_cartorio = dc.id_mec_cartorio_cn left join motivo_falta_documento mfd on mfd.id_motivo_falta_documento = dc.id_motivo_falta_documento left join grupo_sanguineo gs on gs.id_grupo_sanguineo = c.id_grupo_sanguineo left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = c.id_mec_localizacao_diferenciada left join cidadao_saude cs on cs.id_cidadao = c.id_cidadao left join aluno_observacoes_familia af on af.id_cidadao = a.id_cidadao left join local_atendimento_especializado lae on lae.id_local_atendimento_especializado = a.id_local_atendimento_especializado left join grau_escolaridade gsm on gsm.id_grau_escolaridade = c.id_grau_escolaridade_mae left join grau_escolaridade gsp on gsp.id_grau_escolaridade = c.id_grau_escolaridade_pai left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join motivo_disp_educacao_fisica mdef on mdef.id_motivo_disp_educacao_fisica = a.id_motivo_disp_educacao_fisica left join aluno_entrega_tablet on aluno_entrega_tablet.id_cidadao = a.id_cidadao left join usuario usuario_entrega_tablet on usuario_entrega_tablet.id_usuario = aluno_entrega_tablet.id_usuario where c.id_cidadao = $1 and c.id_instituicao = $2;
Date: 2025-02-10 10:55:34 Duration: 267ms Database: postgres parameters: $1 = '2380891', $2 = '2', $3 = '102'
-
select a.codigo as matricula, a.codigo_inep, c.nome as nome_aluno, c.nascimento_data, c.sexo, c.nome_mae, formatar_cpf (dc.cpf_mae) as cpf_mae, c.nome_pai, formatar_cpf (dc.cpf_pai) as cpf_pai, rc.descricao as raca_cor, c.id_nacionalidade, nacionalidade.nome as nacionalidade, c.email, c.email_instituicional, uf_nasc.sigla as uf_nasc, mun_nasc.nome as municipio_nasc, a.resultado_exame, ce.endereco, ce.numero, ce.complemento, ce.bairro, ce.cep, mun_end.nome as municipio_end, uf_end.sigla as uf_end, d.nome as distrito_end, setor_end.sigla as setor_end, mfd.descricao as motivo_falta_documento, dc.numero_cpf, dc.digito_cpf, dc.numero_rg, dc.dv_rg, orgao_emissor_rg.descricao as orgao_emissor_rg, uf_emissor_rg.sigla as uf_emissor_rg, dc.data_emissao_rg, tc.descricao as tipo_certidao, dc.flg_modelo_novo_cn, dc.numero_matricula_cn, uf_cn.sigla as uf_cn, mun_cn.nome as municipio_cn, dc.livro_cn, dc.folha_cn, dc.numero_cn, mc.nome as cartorio_cn, dc.data_emissao_cn, a.ra, a.dv_ra, dc.numero_rne, dc.numero_cns, dc.numero_nis as nis, a.codigo_inep, c.flg_dieta_especial, c.flg_necessidade_especial, c.flg_laudo_medico_necessidade_esp, c.id_arquivo_laudo_medico, a.flg_zona_urbana, mrte.descricao as mec_resp_transporte_escolar, mlae.descricao as mec_local_alt_escolarizacao, a.rm, c.profissao, c.profissao_mae, c.profissao_pai, c.flg_educador_apoio, gs.descricao as grupo_sanguineo, a.observacao_historico, a.transcricao_historico_estrangeiro, a.flg_remanescente_quilombo, a.flg_participa_seminario_ensino_religioso, c.nome_social, a.id_foto_oficial, c.flg_atendimento_especializado, mld.descricao as localizacao_diferenciada, a.flg_pretende_cursar_ensino_religioso, c.flg_atendimento_especializado, c.flg_autoriza_uso_imagem, c.id_grau_escolaridade_mae, gsm.descricao as grau_escolaridade_mae, c.id_grau_escolaridade_pai, gsp.descricao as grau_escolaridade_pai, cs.flg_medicacao_controlada, cs.medicacao_controlada, cs.flg_alergia, cs.alergias, a.id_local_atendimento_especializado, lae.descricao as local_atendimento_especializado, af.flg_recebe_bolsa_familia, af.renda_familiar, af.num_pessoas_residencia, af.num_pessoas_residencia_estudam, af.num_pessoas_residencia_nao_estudam, a.id_responsavel_tipo = 3 as flg_responsavel_outro, tro.sigla as tipo_responsavel_outro, c.numero_conta_energia, ce.latitude, ce.longitude, case when aluno_entrega_tablet.flg_entregue then 'Sim' else 'Não' end as tablet_entregue, to_char(aluno_entrega_tablet.data_entrega, 'DD/MM/YYYY') as data_entrega_tablet, aluno_entrega_tablet.observacoes as observacoes_entrega_tablet, usuario_entrega_tablet.nome as usuario_entrega_tablet, c.naturalidade, coalesce(cs.flg_disturbio, false) as flg_disturbio, a.flg_pertence_povo_cigano, cs.flg_laudo_medico_temporario, a.flg_transporte_bilhetagem_eletronica, c.religiao, a.id_tipo_transporte_escolar, sim_nao (a.flg_retorna_sozinho_residencia) as retorna_sozinho_residencia, af.id_filiacao_moradia, af.beneficiario_bolsa_familia, af.autorizados_retirar_aluno, a.flg_dispensa_educacao_fisica, mdef.sigla as motivo_disp_educacao_fisica from aluno a inner join cidadao c on a.id_cidadao = c.id_cidadao left join raca_cor rc on rc.id_raca_cor = c.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = c.id_cidadao left join tipo_certidao tc on dc.id_tipo_certidao = tc.id_tipo_certidao left join cidadao_endereco ce on ce.id_cidadao = c.id_cidadao left join nacionalidade on nacionalidade.id_nacionalidade = c.id_nacionalidade left join municipio mun_nasc on c.id_municipio_nascimento = mun_nasc.id_municipio left join uf uf_nasc on mun_nasc.id_uf = uf_nasc.id_uf left join municipio mun_cn on dc.id_municipio_cn = mun_cn.id_municipio left join uf uf_cn on mun_cn.id_uf = uf_cn.id_uf left join municipio mun_end on mun_end.id_municipio = ce.id_municipio left join uf uf_end on mun_end.id_uf = uf_end.id_uf left join distrito d on d.id_distrito = ce.id_distrito left join setor setor_end on setor_end.id_setor = ce.id_setor left join uf uf_emissor_rg on dc.id_uf_emissor_rg = uf_emissor_rg.id_uf left join orgao_emissor_rg on orgao_emissor_rg.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join mec_resp_transporte_escolar mrte on mrte.id_mec_resp_transporte_escolar = a.id_mec_resp_transporte_escolar left join mec_local_alt_escolarizacao mlae on mlae.id_mec_local_alt_escolarizacao = a.id_mec_local_alt_escolarizacao left join mec_cartorio mc on mc.id_mec_cartorio = dc.id_mec_cartorio_cn left join motivo_falta_documento mfd on mfd.id_motivo_falta_documento = dc.id_motivo_falta_documento left join grupo_sanguineo gs on gs.id_grupo_sanguineo = c.id_grupo_sanguineo left join mec_localizacao_diferenciada mld on mld.id_mec_localizacao_diferenciada = c.id_mec_localizacao_diferenciada left join cidadao_saude cs on cs.id_cidadao = c.id_cidadao left join aluno_observacoes_familia af on af.id_cidadao = a.id_cidadao left join local_atendimento_especializado lae on lae.id_local_atendimento_especializado = a.id_local_atendimento_especializado left join grau_escolaridade gsm on gsm.id_grau_escolaridade = c.id_grau_escolaridade_mae left join grau_escolaridade gsp on gsp.id_grau_escolaridade = c.id_grau_escolaridade_pai left join tipo_responsavel_outro tro on tro.id_tipo_responsavel_outro = a.id_tipo_responsavel_outro left join motivo_disp_educacao_fisica mdef on mdef.id_motivo_disp_educacao_fisica = a.id_motivo_disp_educacao_fisica left join aluno_entrega_tablet on aluno_entrega_tablet.id_cidadao = a.id_cidadao left join usuario usuario_entrega_tablet on usuario_entrega_tablet.id_usuario = aluno_entrega_tablet.id_usuario where c.id_cidadao = $1 and c.id_instituicao = $2;
Date: 2025-02-10 10:28:26 Duration: 264ms Database: postgres parameters: $1 = '96'
16 8s389ms 63 101ms 216ms 133ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = $1 left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = $2 left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $3 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $4 and ts.id_serie = $5 and cc.id_disciplina = $6 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming bind #16
Day Hour Count Duration Avg duration 07 13 1s685ms 129ms 08 23 3s61ms 133ms 09 27 3s642ms 134ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = $1 left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = $2 left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $3 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $4 and ts.id_serie = $5 and cc.id_disciplina = $6 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 09:36:31 Duration: 216ms Database: postgres parameters: $1 = '98', $2 = '817062007'
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = $1 left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = $2 left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $3 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $4 and ts.id_serie = $5 and cc.id_disciplina = $6 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 10:16:56 Duration: 203ms Database: postgres parameters: $1 = '504372', $2 = '0', $3 = '0', $4 = '250000286', $5 = '2203', $6 = '2193'
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = $1 left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = $2 left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $3 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $4 and ts.id_serie = $5 and cc.id_disciplina = $6 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2025-02-10 09:05:27 Duration: 187ms Database: postgres parameters: $1 = 'RENATA & VALENTINY & SANTOS & DO & NASCIMENTO', $2 = '92', $3 = '606653', $4 = '2025'
17 8s187ms 45 102ms 431ms 181ms ( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo limit 20;Times Reported Time consuming bind #17
Day Hour Count Duration Avg duration 06 1 108ms 108ms 07 7 1s263ms 180ms 08 22 4s50ms 184ms 09 15 2s765ms 184ms -
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2025-02-10 10:34:59 Duration: 431ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = '606413', $8 = '93', $9 = '7', $10 = '2025', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '606413', $16 = '93'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2025-02-10 09:28:07 Duration: 344ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = '607284', $8 = '97', $9 = '7', $10 = '2025', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '607284', $16 = '97'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2025-02-10 10:35:58 Duration: 289ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = '606012', $8 = '78', $9 = '7', $10 = '2025', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '606012', $16 = '78'
18 6s428ms 35 103ms 325ms 183ms select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo) tabela;Times Reported Time consuming bind #18
Day Hour Count Duration Avg duration 06 2 317ms 158ms 07 7 1s260ms 180ms 08 15 2s861ms 190ms 09 11 1s989ms 180ms -
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2025-02-10 08:31:03 Duration: 325ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = '607391', $8 = '97', $9 = '7', $10 = '2025', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '607391', $16 = '97'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2025-02-10 09:49:12 Duration: 279ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = '607354', $8 = '97', $9 = '7', $10 = '2025', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '607354', $16 = '97'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2025-02-10 10:11:45 Duration: 271ms Database: postgres parameters: $1 = '7', $2 = '2025', $3 = '2025', $4 = '2025', $5 = '2025', $6 = '2025', $7 = '607908', $8 = '97', $9 = '7', $10 = '2025', $11 = '2025', $12 = '2025', $13 = '2025', $14 = '2025', $15 = '607908', $16 = '97'
19 5s525ms 25 100ms 593ms 221ms select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;Times Reported Time consuming bind #19
Day Hour Count Duration Avg duration 06 2 592ms 296ms 07 8 1s422ms 177ms 08 7 1s157ms 165ms 09 8 2s352ms 294ms -
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 10:19:20 Duration: 593ms Database: postgres parameters: $1 = '3664396', $2 = NULL, $3 = NULL
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 10:19:21 Duration: 507ms Database: postgres parameters: $1 = '3664396', $2 = NULL, $3 = NULL
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2025-02-10 07:17:59 Duration: 396ms Database: postgres parameters: $1 = '3658394', $2 = NULL, $3 = NULL
20 3s726ms 28 101ms 211ms 133ms select s.id_serie, s.descricao, gc.id_grade_curricular, d.id_disciplina, d.sigla, d.descricao, cc.id_componente_curricular, cc.id_tipo_atribuicao_componente, cc.id_tipo_atribuicao_componente = 1 as flg_regencia, cc.id_tipo_atribuicao_componente = 2 as flg_componente, cc.id_tipo_atribuicao_componente = 3 as flg_nao_gera, cc.qtd_aulas_semanal as total_aulas, coalesce(cmif.id_tipo_mediacao_didatico_pedagogica = $1, false) as "flgItinerarioEad", 0 as aulas_alocadas, p.id_cidadao, p.nome as professor, row_number() over (partition by s.id_serie order by m.ordem, s.descricao, d.descricao) - 1 as index_componente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join turma_disciplina on turma_disciplina.id_turma = t.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join componente_matriz_itinerario_formativo cmif on cmif.id_componente_matriz_itinerario_formativo = cc.id_componente_matriz_itinerario_formativo left join turma_dispensa_disciplina tdd on tdd.id_turma = ts.id_turma and tdd.id_disciplina = d.id_disciplina left join lateral ( select qh.id_cidadao from quadro_horario qh where qh.id_turma = ts.id_turma and qh.id_componente_curricular = cc.id_componente_curricular and qh.id_cidadao notnull -- somente para séries inferiores de turma multietapa and gc.id_grade_curricular <> t.id_grade_curricular and cc.id_tipo_atribuicao_componente = 2 limit 1) quadro on true left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) as tp on true left join cidadao p on p.id_cidadao = coalesce(quadro.id_cidadao, tp.id_cidadao) where ts.id_turma = $2 and ts.id_serie = $3 and tdd.id_disciplina is null order by m.ordem, s.descricao, d.descricao;Times Reported Time consuming bind #20
Day Hour Count Duration Avg duration 06 1 183ms 183ms 07 6 816ms 136ms 08 5 699ms 139ms 09 16 2s26ms 126ms -
select s.id_serie, s.descricao, gc.id_grade_curricular, d.id_disciplina, d.sigla, d.descricao, cc.id_componente_curricular, cc.id_tipo_atribuicao_componente, cc.id_tipo_atribuicao_componente = 1 as flg_regencia, cc.id_tipo_atribuicao_componente = 2 as flg_componente, cc.id_tipo_atribuicao_componente = 3 as flg_nao_gera, cc.qtd_aulas_semanal as total_aulas, coalesce(cmif.id_tipo_mediacao_didatico_pedagogica = $1, false) as "flgItinerarioEad", 0 as aulas_alocadas, p.id_cidadao, p.nome as professor, row_number() over (partition by s.id_serie order by m.ordem, s.descricao, d.descricao) - 1 as index_componente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join turma_disciplina on turma_disciplina.id_turma = t.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join componente_matriz_itinerario_formativo cmif on cmif.id_componente_matriz_itinerario_formativo = cc.id_componente_matriz_itinerario_formativo left join turma_dispensa_disciplina tdd on tdd.id_turma = ts.id_turma and tdd.id_disciplina = d.id_disciplina left join lateral ( select qh.id_cidadao from quadro_horario qh where qh.id_turma = ts.id_turma and qh.id_componente_curricular = cc.id_componente_curricular and qh.id_cidadao notnull -- somente para séries inferiores de turma multietapa and gc.id_grade_curricular <> t.id_grade_curricular and cc.id_tipo_atribuicao_componente = 2 limit 1) quadro on true left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) as tp on true left join cidadao p on p.id_cidadao = coalesce(quadro.id_cidadao, tp.id_cidadao) where ts.id_turma = $2 and ts.id_serie = $3 and tdd.id_disciplina is null order by m.ordem, s.descricao, d.descricao;
Date: 2025-02-10 10:50:10 Duration: 211ms Database: postgres parameters: $1 = '98', $2 = '2012462', $3 = '98', $4 = '2012462'
-
select s.id_serie, s.descricao, gc.id_grade_curricular, d.id_disciplina, d.sigla, d.descricao, cc.id_componente_curricular, cc.id_tipo_atribuicao_componente, cc.id_tipo_atribuicao_componente = 1 as flg_regencia, cc.id_tipo_atribuicao_componente = 2 as flg_componente, cc.id_tipo_atribuicao_componente = 3 as flg_nao_gera, cc.qtd_aulas_semanal as total_aulas, coalesce(cmif.id_tipo_mediacao_didatico_pedagogica = $1, false) as "flgItinerarioEad", 0 as aulas_alocadas, p.id_cidadao, p.nome as professor, row_number() over (partition by s.id_serie order by m.ordem, s.descricao, d.descricao) - 1 as index_componente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join turma_disciplina on turma_disciplina.id_turma = t.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join componente_matriz_itinerario_formativo cmif on cmif.id_componente_matriz_itinerario_formativo = cc.id_componente_matriz_itinerario_formativo left join turma_dispensa_disciplina tdd on tdd.id_turma = ts.id_turma and tdd.id_disciplina = d.id_disciplina left join lateral ( select qh.id_cidadao from quadro_horario qh where qh.id_turma = ts.id_turma and qh.id_componente_curricular = cc.id_componente_curricular and qh.id_cidadao notnull -- somente para séries inferiores de turma multietapa and gc.id_grade_curricular <> t.id_grade_curricular and cc.id_tipo_atribuicao_componente = 2 limit 1) quadro on true left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) as tp on true left join cidadao p on p.id_cidadao = coalesce(quadro.id_cidadao, tp.id_cidadao) where ts.id_turma = $2 and ts.id_serie = $3 and tdd.id_disciplina is null order by m.ordem, s.descricao, d.descricao;
Date: 2025-02-10 09:25:27 Duration: 206ms Database: postgres parameters: $1 = '250005950', $2 = '250005951', $3 = '250005955', $4 = '250005957', $5 = '250005958', $6 = '250005959', $7 = '250005964', $8 = '250005965', $9 = '250006192', $10 = '250006225', $11 = '2025-02-10 09:22:22.231'
-
select s.id_serie, s.descricao, gc.id_grade_curricular, d.id_disciplina, d.sigla, d.descricao, cc.id_componente_curricular, cc.id_tipo_atribuicao_componente, cc.id_tipo_atribuicao_componente = 1 as flg_regencia, cc.id_tipo_atribuicao_componente = 2 as flg_componente, cc.id_tipo_atribuicao_componente = 3 as flg_nao_gera, cc.qtd_aulas_semanal as total_aulas, coalesce(cmif.id_tipo_mediacao_didatico_pedagogica = $1, false) as "flgItinerarioEad", 0 as aulas_alocadas, p.id_cidadao, p.nome as professor, row_number() over (partition by s.id_serie order by m.ordem, s.descricao, d.descricao) - 1 as index_componente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular inner join turma_disciplina on turma_disciplina.id_turma = t.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join componente_matriz_itinerario_formativo cmif on cmif.id_componente_matriz_itinerario_formativo = cc.id_componente_matriz_itinerario_formativo left join turma_dispensa_disciplina tdd on tdd.id_turma = ts.id_turma and tdd.id_disciplina = d.id_disciplina left join lateral ( select qh.id_cidadao from quadro_horario qh where qh.id_turma = ts.id_turma and qh.id_componente_curricular = cc.id_componente_curricular and qh.id_cidadao notnull -- somente para séries inferiores de turma multietapa and gc.id_grade_curricular <> t.id_grade_curricular and cc.id_tipo_atribuicao_componente = 2 limit 1) quadro on true left join lateral ( select tp.id_cidadao from turma_professor tp where tp.id_turma = ts.id_turma and tp.id_componente_curricular = cc.id_componente_curricular limit 1) as tp on true left join cidadao p on p.id_cidadao = coalesce(quadro.id_cidadao, tp.id_cidadao) where ts.id_turma = $2 and ts.id_serie = $3 and tdd.id_disciplina is null order by m.ordem, s.descricao, d.descricao;
Date: 2025-02-10 08:14:44 Duration: 189ms Database: postgres parameters: $1 = '250001885', $2 = '250001886', $3 = '250001888', $4 = '250001889', $5 = '250001891', $6 = '250001893', $7 = '2016387', $8 = '250001885', $9 = '250001886', $10 = '250001888', $11 = '250001889', $12 = '250001891', $13 = '250001893'
-
Events
Log levels
Key values
- 62,681 Log entries
Events distribution
Key values
- 0 PANIC entries
- 0 FATAL entries
- 94 ERROR entries
- 0 WARNING entries
Most Frequent Errors/Events
Key values
- 87 Max number of times the same event was reported
- 94 Total events found
Rank Times reported Error 1 87 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count Feb 10 07 18 08 35 09 19 10 15 - ERROR: duplicate key value violates unique constraint "pk_permissao_acesso"
- ERROR: duplicate key value violates unique constraint "pk_aluno_matr_turma"
- ERROR: duplicate key value violates unique constraint "iu_reuniao_familiar_tipo"
Detail: Key (id_grupo_usuario, id_recurso)=(99, 6139) already exists.
Statement: insert into permissao_acesso (id_recurso, id_grupo_usuario) values ($1, $2)Date: 2025-02-10 07:57:24
Detail: Key (id_turma, id_aluno_matricula)=(250006834, 3533053) already exists.
Statement: insert into aluno_matr_turma (id_turma, id_serie_enturmacao, id_aluno_matricula, id_tipo_enturmacao, data_enturmacao, id_diario_turma_situacao_enturmacao) values ($1, $2, $3, $4, $5, $6)Date: 2025-02-10 08:00:41
Detail: Key (id_unidade_funcional, ano, id_nota_periodo_aluno, id_periodicidade_apontamento)=(607289, 2025, 1, 1) already exists.
Statement: insert into reuniao_familiar (ano, data_prevista, id_periodicidade_apontamento, id_unidade_funcional, id_nota_periodo_aluno, id_reuniao_familiar_tipo, descricao) values ($1, $2, $3, $4, $5, $6, $7)Date: 2025-02-10 08:12:01
2 3 ERROR: invalid input syntax for type integer: ...
Times Reported Most Frequent Error / Event #2
Day Hour Count Feb 10 09 1 10 2 - ERROR: invalid input syntax for type integer: "Mykael" at character 627
- ERROR: invalid input syntax for type integer: " " at character 491
Statement: SELECT alumtr.id_aluno_matricula, null as id_aluno_matr_turma_status, alumtr.id_curso, se.id_serie, alumtrtu.id_turma, ci.nome, alu.codigo, se.sigla, alumtrtu.chamada FROM aluno_matricula alumtr INNER JOIN aluno_matr_turma alumtrtu on (alumtr.id_aluno_matricula = alumtrtu.id_aluno_matricula) INNER JOIN cidadao ci on (ci.id_cidadao = alumtr.id_cidadao) INNER JOIN aluno alu on(alu.id_cidadao = alumtr.id_cidadao) INNER JOIN serie se on(alumtr.id_serie = se.id_serie) WHERE 1 = 1 AND (alumtrtu.id_turma = 250001221) AND (alumtrtu.id_serie_enturmacao = 2263) AND (alu.codigo = 'Mykael') AND (alumtr.id_aluno_matr_status = 1) AND (ci.id_instituicao = 98) ORDER BY se.sigla, alumtrtu.chamada, alu.codigo, ci.nome
Date: 2025-02-10 09:29:26
Statement: select amt.id_aluno_matricula, amt.id_turma, amt.chamada, aluno.codigo, cidadao.nome, serie.sigla from aluno_matr_turma amt inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao inner join serie on am.id_serie = serie.id_serie WHERE 1 = 1 AND (amt.id_turma = '250001626') AND (am.id_aluno_matr_status = 1) AND (aluno.codigo = ' ') AND (amt.id_serie_enturmacao = 2203) ORDER BY amt.chamada, aluno.codigo
Date: 2025-02-10 10:36:36
3 2 ERROR: insert or update on table "..." violates foreign key constraint "..."
Times Reported Most Frequent Error / Event #3
Day Hour Count Feb 10 09 2 - ERROR: insert or update on table "cidadao_endereco" violates foreign key constraint "fk_cidadao"
- ERROR: insert or update on table "documentos_cidadao" violates foreign key constraint "fk_cidadao"
Detail: Key (id_cidadao)=(2532940) is not present in table "cidadao".
Statement: insert into cidadao_endereco (complemento, endereco, id_cidadao, bairro, cep) values ($1, $2, $3, $4, $5)Date: 2025-02-10 09:33:14
Detail: Key (id_cidadao)=(2532941) is not present in table "cidadao".
Statement: insert into documentos_cidadao (flg_modelo_novo_cn, id_tipo_certidao, id_cidadao, numero_nis) values ($1, $2, $3, $4)Date: 2025-02-10 09:33:14
4 1 ERROR: null value in column "..." of relation "..." violates not-null constraint
Times Reported Most Frequent Error / Event #4
Day Hour Count Feb 10 09 1 - ERROR: null value in column "id_cidadao" of relation "documentos_cidadao" violates not-null constraint
Detail: Failing row contains (null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, t, null, null, null, null, null, null, null, null, 1, f, null, , null, null, null, null, null, null).
Statement: insert into documentos_cidadao (flg_modelo_novo_cn, id_tipo_certidao, numero_nis) values ($1, $2, $3)Date: 2025-02-10 09:33:14
5 1 ERROR: canceling statement due to statement timeout
Times Reported Most Frequent Error / Event #5
Day Hour Count Feb 10 09 1 - ERROR: canceling statement due to statement timeout
Context: while updating tuple (12017,54) in relation "aluno_matr_turma"
Statement: update aluno_matr_turma set data_saida = $1, id_serie_enturmacao = $2, flg_enviar_situacao_aluno_censo = $3, id_periodo_inicio_apont_turma = $4, chamada = $5, id_periodo_retorno_nao_frequente = $6, id_tipo_enturmacao = $7, data_enturmacao = $8, id_turma_principal = $9, id_diario_turma_situacao_enturmacao = $10, id_mec_atendimento_esp = $11 where id_turma = $12 and id_aluno_matricula = $13Date: 2025-02-10 09:33:09