-
Global information
- Generated on Wed Jul 8 11:51:52 2026
- Log file: postgresql-13-main-20260707-06-20.log
- Parsed 76,621 log entries in 25s
- Log start from 2026-07-07 06:00:17 to 2026-07-07 19:59:59
-
Overview
Global Stats
- 307 Number of unique normalized queries
- 6,527 Number of queries
- 5h11m33s Total query duration
- 2026-07-07 06:06:50 First query
- 2026-07-07 19:59:59 Last query
- 33 queries/s at 2026-07-07 12:30:56 Query peak
- 5h11m33s Total query duration
- 0ms Prepare/parse total duration
- 713ms Bind total duration
- 5h11m32s Execute total duration
- 141 Number of events
- 6 Number of unique normalized events
- 103 Max number of times the same event was reported
- 0 Number of cancellation
- 117 Total number of automatic vacuums
- 618 Total number of automatic analyzes
- 952 Number temporary file
- 410.33 MiB Max size of temporary file
- 18.23 MiB Average size of temporary file
- 5,691 Total number of sessions
- 92 sessions at 2026-07-07 12:29:39 Session peak
- 32d6h17m56s Total duration of sessions
- 8m9s Average duration of sessions
- 1 Average queries per session
- 3s284ms Average queries duration per session
- 8m6s Average idle time per session
- 5,696 Total number of connections
- 37 connections/s at 2026-07-07 12:29:39 Connection peak
- 4 Total number of databases
SQL Traffic
Key values
- 33 queries/s Query Peak
- 2026-07-07 12:30:56 Date
SELECT Traffic
Key values
- 4 queries/s Query Peak
- 2026-07-07 12:07:04 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 33 queries/s Query Peak
- 2026-07-07 12:30:56 Date
Queries duration
Key values
- 5h11m33s 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) Jul 07 06 54 0ms 7s912ms 1s396ms 3s706ms 7s912ms 11s999ms 07 295 0ms 38s460ms 3s742ms 56s493ms 1m7s 1m45s 08 890 0ms 1m37s 2s431ms 1m21s 1m41s 2m32s 09 828 500ms 47s479ms 2s876ms 1m18s 1m28s 1m44s 10 846 500ms 1m2s 3s451ms 1m28s 1m51s 2m45s 11 516 0ms 39s822ms 2s378ms 44s847ms 1m15s 2m30s 12 443 0ms 20s38ms 2s453ms 59s959ms 1m9s 2m43s 13 577 0ms 30s281ms 2s653ms 53s500ms 1m11s 1m21s 14 732 500ms 56s929ms 2s248ms 57s187ms 1m11s 1m19s 15 564 500ms 33s586ms 4s97ms 1m11s 1m21s 1m29s 16 354 0ms 25s574ms 3s206ms 49s54ms 1m1s 1m24s 17 119 0ms 40s606ms 2s83ms 11s650ms 28s189ms 40s606ms 18 134 0ms 1m45s 3s602ms 20s704ms 48s25ms 2m17s 19 175 0ms 1m37s 2s167ms 12s75ms 17s118ms 2m10s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jul 07 06 53 0 1s394ms 1s960ms 3s706ms 11s559ms 07 268 0 3s257ms 24s448ms 44s562ms 1m5s 08 874 0 2s237ms 50s173ms 1m9s 1m33s 09 794 0 2s530ms 56s916ms 1m4s 1m41s 10 795 0 2s895ms 1m7s 1m20s 1m32s 11 502 0 2s3ms 25s698ms 36s361ms 1m15s 12 325 0 2s741ms 22s659ms 50s224ms 1m9s 13 564 0 2s371ms 34s628ms 52s783ms 1m3s 14 716 0 1s957ms 39s302ms 45s877ms 55s517ms 15 532 0 3s508ms 53s275ms 1m7s 1m21s 16 343 0 3s101ms 32s440ms 49s54ms 1m5s 17 119 0 2s83ms 5s994ms 11s650ms 35s694ms 18 102 0 2s384ms 5s950ms 8s485ms 48s25ms 19 143 0 1s403ms 6s124ms 10s839ms 14s501ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jul 07 06 1 0 0 0 1s512ms 0ms 0ms 0ms 07 2 0 0 0 611ms 0ms 0ms 0ms 08 0 0 1 0 1s185ms 0ms 0ms 0ms 09 0 0 3 0 1s586ms 0ms 0ms 520ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 108 0 0 1s336ms 0ms 0ms 0ms 13 0 0 1 0 8s416ms 0ms 0ms 0ms 14 0 0 1 0 505ms 0ms 0ms 0ms 15 2 0 0 0 3s991ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 21 7 0 0 6s486ms 0ms 2s432ms 6s662ms 19 24 8 0 0 5s582ms 0ms 3s560ms 9s300ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Jul 07 06 0 54 54.00 0.00% 07 0 295 295.00 0.00% 08 0 889 889.00 0.00% 09 0 828 828.00 0.00% 10 0 846 846.00 0.00% 11 0 516 516.00 0.00% 12 0 443 443.00 0.00% 13 0 577 577.00 0.00% 14 0 732 732.00 0.00% 15 0 564 564.00 0.00% 16 0 354 354.00 0.00% 17 0 119 119.00 0.00% 18 0 134 134.00 0.00% 19 0 175 175.00 0.00% Day Hour Count Average / Second Jul 07 06 101 0.03/s 07 114 0.03/s 08 138 0.04/s 09 1,557 0.43/s 10 1,560 0.43/s 11 1,213 0.34/s 12 168 0.05/s 13 132 0.04/s 14 127 0.04/s 15 124 0.03/s 16 118 0.03/s 17 115 0.03/s 18 115 0.03/s 19 114 0.03/s Day Hour Count Average Duration Average idle time Jul 07 06 98 28m9s 28m8s 07 110 27m27s 27m17s 08 133 24m6s 23m49s 09 1,557 2m6s 2m4s 10 1,563 2m14s 2m13s 11 1,211 2m44s 2m43s 12 166 27m58s 27m51s 13 129 26m45s 26m33s 14 132 25m34s 25m21s 15 126 26m44s 26m25s 16 120 26m58s 26m49s 17 117 26m46s 26m44s 18 118 26m33s 26m29s 19 111 27m13s 27m10s -
Connections
Established Connections
Key values
- 37 connections Connection Peak
- 2026-07-07 12:29:39 Date
Connections per database
Key values
- postgres Main Database
- 5,696 connections Total
Connections per user
Key values
- postgres Main User
- 5,696 connections Total
-
Sessions
Simultaneous sessions
Key values
- 92 sessions Session Peak
- 2026-07-07 12:29:39 Date
Histogram of session times
Key values
- 3,960 0-500ms duration
Sessions per database
Key values
- postgres Main Database
- 5,691 sessions Total
Sessions per user
Key values
- postgres Main User
- 5,691 sessions Total
Sessions per host
Key values
- [local] Main Host
- 5,691 sessions Total
Sessions per application
Key values
- [unknown] Main Application
- 5,691 sessions Total
Application Count Total Duration Average Duration [unknown] 3,960 50s747ms 12ms augeeducacional - fila 365 5d18h11m19s 22m42s augeeducacional - principal 343 6d22h16m35s 29m5s portal_betim - fila 272 4d19h3m30s 25m22s portal_betim - principal 134 2d13h18m56s 27m27s portal_demo1 - fila 113 2d7h52m 29m39s portal_demo1 - principal 28 13h49m52s 29m38s portal_imm - fila 57 1d4h6m40s 29m35s portal_imm - principal 88 1d14h58m16s 26m34s prematricula-betim - principal 31 14h38m48s 28m20s prematricula-cabralia - principal 28 13h48m7s 29m34s prematricula-caruaru - principal 31 14h42m21s 28m27s prematricula-demo1 - principal 28 13h48m27s 29m35s prematricula-duque - principal 33 14h55m6s 27m7s prematricula-esmeraldas - principal 28 13h50m12s 29m39s prematricula-ibirite - principal 28 13h48m48s 29m36s prematricula-ipojuca - principal 30 14h8m49s 28m17s prematricula-nova-iguacu - principal 33 15h4m23s 27m24s prematricula-olinda - principal 28 13h49m12s 29m36s processoseletivo - principal 29 14h14s 28m58s psql 4 5m20s 1m20s -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 95,093 buffers Checkpoint Peak
- 2026-07-07 09:05:38 Date
- 269.967 seconds Highest write time
- 0.578 seconds Sync time
Checkpoints Wal files
Key values
- 53 files Wal files usage Peak
- 2026-07-07 09:05:38 Date
Checkpoints distance
Key values
- 1,685.99 Mo Distance Peak
- 2026-07-07 09:05:38 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Jul 07 06 44,273 3,035.348s 0.416s 3,036.004s 07 193,643 3,238.267s 1.025s 3,239.876s 08 395,182 3,236.606s 2.331s 3,239.705s 09 446,466 3,236.841s 1.932s 3,239.577s 10 431,392 3,236.515s 2.356s 3,239.681s 11 352,061 3,237.482s 1.602s 3,239.702s 12 233,734 3,237.925s 1.314s 3,239.694s 13 374,786 3,237.402s 1.653s 3,239.677s 14 476,013 3,236.903s 2.009s 3,239.642s 15 416,769 3,237.237s 1.863s 3,239.763s 16 351,864 3,237.075s 1.838s 3,239.573s 17 175,988 3,238.24s 1.124s 3,239.761s 18 170,393 3,238.121s 1.242s 3,239.749s 19 158,472 3,238.135s 1.18s 3,239.696s Day Hour Added Removed Recycled Synced files Longest sync Average sync Jul 07 06 0 18 0 5,337 0.004s 0.012s 07 0 84 0 10,019 0.006s 0.012s 08 0 30 143 14,187 0.445s 0.012s 09 0 0 201 14,076 0.007s 0.012s 10 0 0 182 14,754 0.006s 0.012s 11 0 0 151 13,754 0.006s 0.012s 12 0 0 95 10,446 0.007s 0.012s 13 0 0 148 14,054 0.006s 0.012s 14 0 0 192 14,700 0.009s 0.012s 15 0 0 166 14,295 0.006s 0.012s 16 0 0 144 12,443 0.007s 0.012s 17 0 0 70 9,470 0.011s 0.012s 18 0 0 70 9,075 0.006s 0.012s 19 0 0 65 9,368 0.007s 0.012s Day Hour Count Avg time (sec) Jul 07 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s Day Hour Mean distance Mean estimate Jul 07 06 24,829.33 kB 43,772.50 kB 07 114,233.33 kB 135,597.83 kB 08 237,301.50 kB 297,401.00 kB 09 273,491.92 kB 603,395.83 kB 10 249,377.75 kB 359,826.25 kB 11 205,468.50 kB 280,225.33 kB 12 130,175.75 kB 187,528.50 kB 13 202,247.92 kB 235,018.58 kB 14 261,225.83 kB 357,544.25 kB 15 226,748.83 kB 286,031.33 kB 16 196,337.92 kB 271,267.33 kB 17 95,948.92 kB 200,881.75 kB 18 96,126.83 kB 159,294.42 kB 19 88,405.83 kB 120,587.92 kB -
Temporary Files
Size of temporary files
Key values
- 1.48 GiB Temp Files size Peak
- 2026-07-07 16:55:31 Date
Number of temporary files
Key values
- 6 per second Temp Files Peak
- 2026-07-07 10:31:53 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Jul 07 06 2 283.21 MiB 141.61 MiB 07 40 828.24 MiB 20.71 MiB 08 223 2.12 GiB 9.71 MiB 09 277 2.71 GiB 10.03 MiB 10 65 1.66 GiB 26.09 MiB 11 32 654.81 MiB 20.46 MiB 12 24 770.04 MiB 32.08 MiB 13 92 1.88 GiB 20.91 MiB 14 61 1.36 GiB 22.79 MiB 15 53 1.25 GiB 24.21 MiB 16 49 2.22 GiB 46.34 MiB 17 12 645.35 MiB 53.78 MiB 18 10 465.84 MiB 46.58 MiB 19 12 198.03 MiB 16.50 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 152 8.20 GiB 3.98 MiB 410.33 MiB 55.24 MiB select ;-
select ;
Date: 2026-07-07 09:15:48 Duration: 2s658ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select ;
Date: 2026-07-07 10:05:45 Duration: 2s367ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select ;
Date: 2026-07-07 08:31:36 Duration: 1s782ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
2 119 3.15 GiB 16.20 MiB 46.67 MiB 27.07 MiB with ultima_matricula as ( ;-
with ultima_matricula as ( ;
Date: 2026-07-07 07:13:18 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
3 60 1.17 GiB 4.75 MiB 30.58 MiB 20.00 MiB 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, case when cid.flg_laudo_medico_necessidade_esp then ? else ? end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then ? else ? end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ? order by descricao) from disturbio inner join cidadao_disturbio on cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, ?) as profissao_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(cid.profissao_pai, ?) as profissao_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(loteamento.descricao, ?) as loteamento, 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(cid.numero_conta_energia, ?) as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then ? else ? end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then ? else ? end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude on cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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;-
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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607197' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607197' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 07:13:18 Duration: 38s460ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607107' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607107' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 09:18:29 Duration: 26s751ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607101' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607101' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 08:53:22 Duration: 24s593ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
4 36 427.16 MiB 8.44 MiB 20.32 MiB 11.87 MiB select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = ? and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = ? and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = ? and turma.id_turma_status = ? and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= ? and (am.id_aluno_matr_status = ? or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= ? order by amsh.id_aluno_matr_status_hist desc limit ?) = ?)));-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '606744' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 07:16:45 Duration: 12s997ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '607123' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 15:56:27 Duration: 6s636ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '606753' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 09:05:35 Duration: 6s535ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
5 15 624.02 MiB 31.83 MiB 69.10 MiB 41.60 MiB select t.id_turma, s.id_serie, t.id_turma_status = ? as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in (...) and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in (...) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> array[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009740', '260009739', '260009769', '260009760', '260009753', '260009770', '260009749', '260009752', '260009765', '260009741', '260009757', '260009745', '260009744', '260010738', '260009737', '260009736', '260009761', '260010756', '260010757', '260009742', '260009755', '260009735', '260010761', '260009738', '260009763', '260010759', '260009766', '260009746', '260009758', '260009743', '260009759', '260009762', '260009750', '260009751', '260009754', '260018133', '260009768', '260009748', '260009764') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 15:48:30 Duration: 5s638ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260001200', '260001199', '260001204', '260009059', '260001203', '260001196', '260001197', '260014015', '260001198', '260001194', '260001193', '260009311') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 09:16:38 Duration: 4s533ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260006408', '260006417', '260006429', '260006413', '260006410', '260006420', '260006414', '260006418', '260006422', '260006425', '260006411', '260006416', '260006419', '260006428', '260006423', '260006426', '260006415', '260006409', '260006421', '260006412', '260007438') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 09:12:49 Duration: 4s262ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
6 9 75.85 MiB 3.99 MiB 19.96 MiB 8.43 MiB 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, exists ( select null from conteudo_organizado_aula_conteudo coc inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coc.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular isnull) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina isnull) as flg_planejado 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 conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai 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 ogc.id_componente_curricular is null order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;-
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, exists ( select null from conteudo_organizado_aula_conteudo coc inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coc.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular isnull) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina isnull) as flg_planejado 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 conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $1 and ts.id_serie = $2 and ogc.id_componente_curricular is null order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2026-07-07 08:04:33 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
7 7 95.81 MiB 3.99 MiB 51.90 MiB 13.69 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) AS "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_aluno_matr_status in (...) and am.flg_matricula_atual and am.id_unidade_funcional = ? and ano.ano = ? and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = ? and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ? and notificacao_aluno.id_responsavel_notificacao = ?) order by "nome" asc, "nome" asc) tabela;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = $2 and ano.ano = $3 and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = $4 and frequencia_aluno.periodo = $5 and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = $6 and notificacao_aluno.ano = $7 and notificacao_aluno.periodo = $8 and notificacao_aluno.id_responsavel_notificacao = $9) order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 08:23:04 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
8 6 87.83 MiB 3.99 MiB 43.91 MiB 14.64 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) AS "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_aluno_matr_status in (...) and am.flg_matricula_atual and am.id_unidade_funcional = ? and ano.ano = ? and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = ? and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ? and notificacao_aluno.id_situacao_notificacao = ? and notificacao_aluno.id_responsavel_notificacao = ?) order by "serie" asc, "nome" asc) tabela;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = $2 and ano.ano = $3 and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = $4 and frequencia_aluno.periodo = $5 and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = $6 and notificacao_aluno.ano = $7 and notificacao_aluno.periodo = $8 and notificacao_aluno.id_situacao_notificacao = $9 and notificacao_aluno.id_responsavel_notificacao = $10) order by "serie" asc, "nome" asc) tabela;
Date: 2026-07-07 08:30:04 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
9 5 91.80 MiB 3.99 MiB 39.91 MiB 18.36 MiB insert into public.mec_cpf_aluno (data_nascimento, cpf, nome, nome_mae, id_instituicao) values (?, ?, ?, ?, ?);-
insert into public.mec_cpf_aluno (data_nascimento, cpf, nome, nome_mae, id_instituicao) values ($1, $2, $3, $4, $5);
Date: 2026-07-07 09:43:53 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
10 5 43.91 MiB 3.99 MiB 19.96 MiB 8.78 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status AS "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = ? and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) else null end AS "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and am.flg_matricula_atual is true and ano.ano = ? and ano.semestre is null and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = ?) order by "nome" asc, "nome" asc) tabela;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status as "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = 1 and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) else null end as "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and am.flg_matricula_atual is true and ano.ano = $3 and ano.semestre is null and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = $4) order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 08:20:36 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
11 4 1.17 GiB 297.71 MiB 299.18 MiB 298.33 MiB select uf.codigo as codigo, uf.nome as unidade, s.registro_funcional as rf, cid.nome, sf.descricao as situacao_funcional, scb.matricula_cargo as matricula, c.sigla as sigla_cargo, c.descricao as descricao_cargo, p.funcoes as funcao, q.atividades as atividade, escolaridade.descricao as escolaridade, r.cursos as curso, t.tipos as tipo, u.habilitacoes as habilitacao, r.formacao, atribuicao.aulas from cidadao cid inner join servidor s on s.id_cidadao = cid.id_cidadao inner join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao inner join unidade_funcional uf on (uf.id_unidade_funcional = ? or uf.id_unidade_funcional in ( select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = ? and hue.id_assunto_hierarquia_unidade = ?)) inner join cargo c on c.id_cargo = scb.id_cargo inner join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional left join srv_cb_inicio_exercicio sie on sie.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento scbd on scbd.id_servidor_cargo_base = scb.id_servidor_cargo_base left join ( select funcao.id_unidade_funcional, funcao.id_servidor_cargo_base, string_agg(distinct fas.descricao, ?) as funcoes from servidor_funcao funcao inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = funcao.id_funcao_atividade_servidor left join servidor_funcao_fim sff on sff.id_servidor_funcao = funcao.id_servidor_funcao where funcao.data_inicio::date <= ?::date and (sff.data_fim is null or (sff.data_fim is not null and sff.data_fim::date >= ?::date)) group by funcao.id_unidade_funcional, funcao.id_servidor_cargo_base) p on p.id_unidade_funcional = uf.id_unidade_funcional and p.id_servidor_cargo_base = scb.id_servidor_cargo_base left join ( select atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base, string_agg(distinct fas.descricao, ?) as atividades from servidor_atividade atividade inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = atividade.id_funcao_atividade_servidor where atividade.data_inicio::date <= ?::date and (atividade.data_fim is null or atividade.data_fim::date >= ?::date) group by atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base) q on q.id_unidade_funcional_servico = uf.id_unidade_funcional and q.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade escolaridade on escolaridade.id_grau_escolaridade = s.id_grau_escolaridade left join ( select c.id_cidadao, string_agg(c.descricao, ? order by c.data_conclusao nulls last) as cursos, string_agg(c.formacao, ? order by c.data_conclusao nulls last) as formacao from ( select distinct sct.id_cidadao, sct.data_conclusao, coalesce(mcs.descricao, sct.descricao) as descricao, md.descricao as formacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior left join mec_disciplina md on md.id_mec_disciplina = sct.id_mec_disciplina) c group by c.id_cidadao) r on r.id_cidadao = s.id_cidadao left join ( select t.id_cidadao, string_agg(t.tipo, ? order by t.data_conclusao nulls last) as tipos from ( select distinct sct.id_cidadao, sct.data_conclusao, cgt.descricao as tipo from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) t group by t.id_cidadao) t on t.id_cidadao = s.id_cidadao left join ( select u.id_cidadao, string_agg(u.habilitacao, ? order by u.data_conclusao nulls last) as habilitacoes from ( select distinct sct.id_cidadao, sct.data_conclusao, habilitacao.descricao as habilitacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) u group by u.id_cidadao) u on u.id_cidadao = s.id_cidadao left join ( select aulas.id_servidor_cargo_base, aulas.id_unidade_funcional, string_agg(aulas.disciplina, ? order by aulas.disciplina) as aulas from ( select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_componente_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join componente_curricular cc on cc.id_componente_curricular = atribuicao.id_componente_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.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 = ?) and atribuicao.data_inicio::date <= ?::date and case turma.id_turma_status = ? when true then (atribuicao.data_fim::date >= ?::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= ?::date) end union all select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_regencia_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc2 on cc2.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc2.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.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 = ?) and atribuicao.data_inicio::date <= ?::date and case turma.id_turma_status = ? when true then (atribuicao.data_fim::date >= ?::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= ?::date) end and cc2.id_tipo_atribuicao_componente = ?) as aulas group by aulas.id_servidor_cargo_base, aulas.id_unidade_funcional) as atribuicao on atribuicao.id_servidor_cargo_base = scb.id_servidor_cargo_base and atribuicao.id_unidade_funcional = uf.id_unidade_funcional left join ( select distinct l.id_servidor_cargo_base, l.id_unidade_lotacao from lotacao l left join lotacao_historico lh on lh.id_lotacao = l.id_lotacao where (l.data_inicio::date <= ?::date) and ((lh.data_fim is null and l.flg_aberto is true) or (lh.data_fim::date >= ?::date)) and l.id_unidade_lotacao = ?) as lotacao on lotacao.id_servidor_cargo_base = scb.id_servidor_cargo_base and lotacao.id_unidade_lotacao = uf.id_unidade_funcional left join ( select sus.id_servidor_cargo_base, sus.id_unidade_sede from servidor_unidade_sede sus where id_unidade_sede = ? and sus.data_inicio::date <= ?::date and (sus.data_fim is null or sus.data_fim::date >= ?::date)) as unidade_sede on unidade_sede.id_unidade_sede = uf.id_unidade_funcional and unidade_sede.id_servidor_cargo_base = scb.id_servidor_cargo_base where (sie.data_inicio_exercicio is null or sie.data_inicio_exercicio::date <= ?::date) and (scb.flg_aberto is true or scbd.data_fim::date >= ?::date) and (p.funcoes is not null or q.atividades is not null or atribuicao.aulas is not null or unidade_sede.id_unidade_sede is not null or lotacao.id_unidade_lotacao is not null) order by uf.nome, cid.nome;-
select uf.codigo as codigo, uf.nome as unidade, s.registro_funcional as rf, cid.nome, sf.descricao as situacao_funcional, scb.matricula_cargo as matricula, c.sigla as sigla_cargo, c.descricao as descricao_cargo, p.funcoes as funcao, q.atividades as atividade, escolaridade.descricao as escolaridade, r.cursos as curso, t.tipos as tipo, u.habilitacoes as habilitacao, r.formacao, atribuicao.aulas from cidadao cid inner join servidor s on s.id_cidadao = cid.id_cidadao inner join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao inner join unidade_funcional uf on (uf.id_unidade_funcional = '605610' or uf.id_unidade_funcional in ( select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '605610' and hue.id_assunto_hierarquia_unidade = '61')) inner join cargo c on c.id_cargo = scb.id_cargo inner join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional left join srv_cb_inicio_exercicio sie on sie.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento scbd on scbd.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Funções left join ( select funcao.id_unidade_funcional, funcao.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as funcoes from servidor_funcao funcao inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = funcao.id_funcao_atividade_servidor left join servidor_funcao_fim sff on sff.id_servidor_funcao = funcao.id_servidor_funcao where funcao.data_inicio::date <= '2026-05-31'::date --em função até a data de referência and (sff.data_fim is null or (sff.data_fim is not null and sff.data_fim::date >= '2026-05-31'::date)) group by funcao.id_unidade_funcional, funcao.id_servidor_cargo_base) p on p.id_unidade_funcional = uf.id_unidade_funcional and p.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Atividades left join ( select atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as atividades from servidor_atividade atividade inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = atividade.id_funcao_atividade_servidor where atividade.data_inicio::date <= '2026-05-31'::date --em atividade até a data de referência and (atividade.data_fim is null or atividade.data_fim::date >= '2026-05-31'::date) group by atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base) q on q.id_unidade_funcional_servico = uf.id_unidade_funcional and q.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade escolaridade on escolaridade.id_grau_escolaridade = s.id_grau_escolaridade -- Cursos left join ( select c.id_cidadao, string_agg(c.descricao, ', ' order by c.data_conclusao nulls last) as cursos, string_agg(c.formacao, ', ' order by c.data_conclusao nulls last) as formacao from ( select distinct sct.id_cidadao, sct.data_conclusao, coalesce(mcs.descricao, sct.descricao) as descricao, md.descricao as formacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior left join mec_disciplina md on md.id_mec_disciplina = sct.id_mec_disciplina) c group by c.id_cidadao) r on r.id_cidadao = s.id_cidadao -- Tipos de curso left join ( select t.id_cidadao, string_agg(t.tipo, ', ' order by t.data_conclusao nulls last) as tipos from ( select distinct sct.id_cidadao, sct.data_conclusao, cgt.descricao as tipo from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) t group by t.id_cidadao) t on t.id_cidadao = s.id_cidadao -- Habilitações left join ( select u.id_cidadao, string_agg(u.habilitacao, ', ' order by u.data_conclusao nulls last) as habilitacoes from ( select distinct sct.id_cidadao, sct.data_conclusao, habilitacao.descricao as habilitacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) u group by u.id_cidadao) u on u.id_cidadao = s.id_cidadao --Atribuição de aulas left join ( select aulas.id_servidor_cargo_base, aulas.id_unidade_funcional, string_agg(aulas.disciplina, ', ' order by aulas.disciplina) as aulas from ( -- atribuição por Componente curricular select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_componente_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join componente_curricular cc on cc.id_componente_curricular = atribuicao.id_componente_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select '605610' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '605610' and id_assunto_hierarquia_unidade = '61') and atribuicao.data_inicio::date <= '2026-05-31'::date and case turma.id_turma_status = '1' when true then (atribuicao.data_fim::date >= '2026-05-31'::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= '2026-05-31'::date) end union all -- atribuição por regência de classe select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_regencia_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc2 on cc2.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc2.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select '605610' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '605610' and id_assunto_hierarquia_unidade = '61') and atribuicao.data_inicio::date <= '2026-05-31'::date and case turma.id_turma_status = '1' when true then (atribuicao.data_fim::date >= '2026-05-31'::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= '2026-05-31'::date) end and cc2.id_tipo_atribuicao_componente = '1') as aulas group by aulas.id_servidor_cargo_base, aulas.id_unidade_funcional) as atribuicao on atribuicao.id_servidor_cargo_base = scb.id_servidor_cargo_base and atribuicao.id_unidade_funcional = uf.id_unidade_funcional --- lotacao left join ( select distinct l.id_servidor_cargo_base, l.id_unidade_lotacao from lotacao l left join lotacao_historico lh on lh.id_lotacao = l.id_lotacao where (l.data_inicio::date <= '2026-05-31'::date) and ((lh.data_fim is null and l.flg_aberto is true) or (lh.data_fim::date >= '2026-05-31'::date)) and l.id_unidade_lotacao = '605610') as lotacao on lotacao.id_servidor_cargo_base = scb.id_servidor_cargo_base and lotacao.id_unidade_lotacao = uf.id_unidade_funcional -- unidade sede left join ( select sus.id_servidor_cargo_base, sus.id_unidade_sede from servidor_unidade_sede sus where id_unidade_sede = '605610' and sus.data_inicio::date <= '2026-05-31'::date and (sus.data_fim is null or sus.data_fim::date >= '2026-05-31'::date)) as unidade_sede on unidade_sede.id_unidade_sede = uf.id_unidade_funcional and unidade_sede.id_servidor_cargo_base = scb.id_servidor_cargo_base where (sie.data_inicio_exercicio is null or sie.data_inicio_exercicio::date <= '2026-05-31'::date) --início do exercicio antes da data de referência and (scb.flg_aberto is true or scbd.data_fim::date >= '2026-05-31'::date) --cargo fechado depois da data de referência and (p.funcoes is not null or q.atividades is not null or atribuicao.aulas is not null or unidade_sede.id_unidade_sede is not null or lotacao.id_unidade_lotacao is not null) order by uf.nome, cid.nome;
Date: 2026-07-07 16:55:31 Duration: 14s55ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
12 4 47.91 MiB 3.99 MiB 19.96 MiB 11.98 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status AS "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = ? and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) else null end AS "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and am.flg_matricula_atual is true and ano.ano = ? and ano.semestre is null and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ?) order by "nome" asc, "nome" asc) tabela;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status as "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = 1 and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) else null end as "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and am.flg_matricula_atual is true and ano.ano = $3 and ano.semestre is null and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = $4 and notificacao_aluno.periodo = $5) order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 08:20:59 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
13 4 27.95 MiB 3.99 MiB 7.98 MiB 6.99 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status AS "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = ? and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) else null end AS "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and am.flg_matricula_atual is true and ano.ano = ? and ano.semestre is null and curso.id_curso = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = ?) order by "nome" asc, "nome" asc limit ? offset ?) r;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status as "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = 1 and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) else null end as "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and am.flg_matricula_atual is true and ano.ano = $3 and ano.semestre is null and curso.id_curso = $4 and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = $5) order by "nome" asc, "nome" asc limit 10 offset 50) r;
Date: 2026-07-07 09:53:28 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
14 3 91.82 MiB 3.99 MiB 79.84 MiB 30.61 MiB aluno.codigo as matricula, am.id_aluno_matricula, amt.id_turma as id_turma, cidadao.nome, coalesce(dc.numero_nis, ?) as nis, to_char(cidadao.nascimento_data, ?) as nasc, raca_cor.descricao as raca_cor, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_jan, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, ?) else null end as perc_freq_fev, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_mar, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_abr, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_mai, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_jun, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_jul, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_ago, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_set, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_out, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_nov, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_dez, sp_percentual_frequencia (am.id_aluno_matricula, ?) as perc_frequencia, coalesce(faltas.motivos || ?, ?) as motivos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join raca_cor on raca_cor.id_raca_cor = cidadao.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = cidadao.id_cidadao inner join aluno on aluno.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = am.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join lateral ( select fadd.id_aluno_matricula, fadd.id_turma, string_agg(distinct mfj.descricao, ? order by mfj.descricao) as motivos, count(*) as total from falta_aluno_disciplina_diario fadd left join motivo_falta_justificada mfj on mfj.id_motivo_falta_justificada = fadd.id_motivo_falta_justificada inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from fadd.data) where fadd.id_turma = ? and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = fadd.id_turma and disp.id_disciplina = fadd.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> array[fadd.id_nota_periodo_aluno])) and exists ( select null from calendario_periodo_data cpd where cpd.id_calendario = ? and cpd.data = fadd.data and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fadd.id_aluno_matricula and (mdp.periodos @> array[cpd.bimestre]) is true)) group by fadd.id_aluno_matricula, fadd.id_turma) as faltas on faltas.id_aluno_matricula = amt.id_aluno_matricula and faltas.id_turma = amt.id_turma where cidadao.id_instituicao = ? and amt.id_turma = ? and aluno_matr_status.flg_status_ativo is true order by cidadao.nome;-
aluno.codigo as matricula, am.id_aluno_matricula, amt.id_turma as id_turma, cidadao.nome, coalesce(dc.numero_nis, '') as nis, to_char(cidadao.nascimento_data, 'dd/MM/yyyy') as nasc, raca_cor.descricao as raca_cor, case when concat($1, '-01-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($2, '-01-01')::date, concat($3, '-01-31')::date) else null end as perc_freq_jan, case when concat($4, '-02-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($5, '-02-01')::date, $6) else null end as perc_freq_fev, case when concat($7, '-03-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($8, '-03-01')::date, concat($9, '-03-31')::date) else null end as perc_freq_mar, case when concat($10, '-04-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($11, '-04-01')::date, concat($12, '-04-30')::date) else null end as perc_freq_abr, case when concat($13, '-05-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($14, '-05-01')::date, concat($15, '-05-31')::date) else null end as perc_freq_mai, case when concat($16, '-06-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($17, '-06-01')::date, concat($18, '-06-30')::date) else null end as perc_freq_jun, case when concat($19, '-07-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($20, '-07-01')::date, concat($21, '-07-31')::date) else null end as perc_freq_jul, case when concat($22, '-08-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($23, '-08-01')::date, concat($24, '-08-31')::date) else null end as perc_freq_ago, case when concat($25, '-09-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($26, '-09-01')::date, concat($27, '-09-30')::date) else null end as perc_freq_set, case when concat($28, '-10-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($29, '-10-01')::date, concat($30, '-10-31')::date) else null end as perc_freq_out, case when concat($31, '-11-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($32, '-11-01')::date, concat($33, '-11-30')::date) else null end as perc_freq_nov, case when concat($34, '-12-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($35, '-12-01')::date, concat($36, '-12-31')::date) else null end as perc_freq_dez, sp_percentual_frequencia (am.id_aluno_matricula, $37) as perc_frequencia, coalesce(faltas.motivos || '.', '') as motivos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join raca_cor on raca_cor.id_raca_cor = cidadao.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = cidadao.id_cidadao inner join aluno on aluno.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = am.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join lateral ( select fadd.id_aluno_matricula, fadd.id_turma, string_agg(distinct mfj.descricao, '; ' order by mfj.descricao) as motivos, count(*) as total from falta_aluno_disciplina_diario fadd left join motivo_falta_justificada mfj on mfj.id_motivo_falta_justificada = fadd.id_motivo_falta_justificada inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from fadd.data) where fadd.id_turma = $38 and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = fadd.id_turma and disp.id_disciplina = fadd.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> ARRAY[fadd.id_nota_periodo_aluno])) and exists ( select null from calendario_periodo_data cpd where cpd.id_calendario = $39 and cpd.data = fadd.data and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fadd.id_aluno_matricula and (mdp.periodos @> ARRAY[cpd.bimestre]) is true)) group by fadd.id_aluno_matricula, fadd.id_turma) as faltas on faltas.id_aluno_matricula = amt.id_aluno_matricula and faltas.id_turma = amt.id_turma where cidadao.id_instituicao = $40 and amt.id_turma = $41 and aluno_matr_status.flg_status_ativo is true order by cidadao.nome;
Date: 2026-07-07 07:51:03 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
15 3 67.87 MiB 7.98 MiB 31.94 MiB 22.62 MiB amt.id_aluno_matricula AS "idAlunoMatricula", amt.chamada, a.codigo, c.nome, c.denominacao, s.sigla, coalesce(( select count(arc.id_tipo_reporte_conduta) from apontamento_reporte_conduta arc where arc.id_aluno_matricula = amt.id_aluno_matricula and arc.id_turma = amt.id_turma and arc.id_nota_periodo_aluno = ? and arc.data::date = ? and arc.id_disciplina = ? and arc.id_horario_turma = ? group by arc.id_aluno_matricula, arc.id_turma), ?) as quantidade from aluno_matr_turma 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 = a.id_cidadao inner join serie s on s.id_serie = amt.id_serie_enturmacao where amt.id_turma = ? and am.id_aluno_matr_status = ? and amt.id_serie_enturmacao = ? and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = ? and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[?])) and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = amt.id_aluno_matricula and mdp.periodos @> array[?]) and (am.data_retorno is null or am.data_retorno <= ?) order by amt.chamada;-
amt.id_aluno_matricula as "idAlunoMatricula", amt.chamada, a.codigo, c.nome, c.denominacao, s.sigla, coalesce(( select count(arc.id_tipo_reporte_conduta) from apontamento_reporte_conduta arc where arc.id_aluno_matricula = amt.id_aluno_matricula and arc.id_turma = amt.id_turma and arc.id_nota_periodo_aluno = $1 and arc.data::date = $2 and arc.id_disciplina = $3 and arc.id_horario_turma = $4 group by arc.id_aluno_matricula, arc.id_turma), 0) as quantidade from aluno_matr_turma 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 = a.id_cidadao inner join serie s on s.id_serie = amt.id_serie_enturmacao where amt.id_turma = $5 and am.id_aluno_matr_status = 1 and amt.id_serie_enturmacao = $6 and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = null and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[$7])) and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = amt.id_aluno_matricula and mdp.periodos @> ARRAY[$8]) and (am.data_retorno is null or am.data_retorno <= $9) order by amt.chamada;
Date: 2026-07-07 08:05:39 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
16 3 115.77 MiB 11.98 MiB 63.88 MiB 38.59 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) AS "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_aluno_matr_status in (...) and am.flg_matricula_atual and am.id_unidade_funcional = ? and ano.ano = ? and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = ? and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ? and notificacao_aluno.id_situacao_notificacao = ? and notificacao_aluno.id_responsavel_notificacao = ?) order by "nome" asc, "nome" asc) tabela;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = $2 and ano.ano = $3 and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = $4 and frequencia_aluno.periodo = $5 and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = $6 and notificacao_aluno.ano = $7 and notificacao_aluno.periodo = $8 and notificacao_aluno.id_situacao_notificacao = $9 and notificacao_aluno.id_responsavel_notificacao = $10) order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 08:25:22 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
17 3 15.97 MiB 3.99 MiB 7.98 MiB 5.32 MiB d.id_disciplina, d.descricao, cc.flg_aponta_notas, p1.nota, p1.sigla, fad1.qtd_faltas, p2.nota, p2.sigla, fad2.qtd_faltas, p3.nota, p3.sigla, fad3.qtd_faltas, p4.nota, p4.sigla, fad4.qtd_faltas, cf.nota, cf.sigla, null as qtd_faltas, rec.nota, rec.sigla, cc.qtd_aulas_periodo_letivo, cc.id_nucleo_disciplina, gc.duracao_aula, amdd.flg_dispensado_todos_periodos is true as flg_dispensado, null perc_frequencia, d.ordem, null as flg_possui_falta, cc.qtd_aulas_semanal, rec.flg_nao_compareceu, fad1.falta_justificada, fad1.falta_nao_justificada, fad2.falta_justificada, fad2.falta_nao_justificada, fad3.falta_justificada, fad3.falta_nao_justificada, fad4.falta_justificada, fad4.falta_nao_justificada, null as qtd_faltas_justificadas, cc.flg_aponta_faltas, cf.nota_conselho, case when amdd.flg_dispensado_todos_periodos is true then null else amdd.periodos end as periodos_dispensa_disciplina, ? || ? || p1.flg_nao_compareceu, ? || ? || p2.flg_nao_compareceu, ? || ? || p3.flg_nao_compareceu, ? || ? || p4.flg_nao_compareceu, ? || ? || cf.flg_nao_compareceu, recsemestral.nota, recsemestral.flg_nao_compareceu, ( select avg(nota) from nota_aluno where id_disciplina = d.id_disciplina and id_turma = amt.id_turma and id_aluno_matricula = amt.id_aluno_matricula and id_nota_periodo_aluno in (...)) as media, null as aulas_aluno, p1.recuperacao_bimestral, p2.recuperacao_bimestral, p3.recuperacao_bimestral, p4.recuperacao_bimestral, greatest (cf.nota, rec.nota) as media_final, p1.nota_conceito, p2.nota_conceito, p3.nota_conceito, p4.nota_conceito, case when serie.id_forma_avaliacao = ? and cc.id_expressao_resultado_componente = ? then true else false end as flg_converte_nota_para_conceito, ( select ca.sigla from conceito_avaliacao ca where (( select avg(nota) from nota_aluno where id_disciplina = d.id_disciplina and id_turma = amt.id_turma and id_aluno_matricula = amt.id_aluno_matricula and id_nota_periodo_aluno in (...)) between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as media_conceito, ( select ca.sigla from conceito_avaliacao ca where (p1.recuperacao_bimestral between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as p1_recuperacao_conceito, ( select ca.sigla from conceito_avaliacao ca where (p2.recuperacao_bimestral between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as p2_recuperacao_conceito, ( select ca.sigla from conceito_avaliacao ca where (p3.recuperacao_bimestral between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as p3_recuperacao_conceito, ( select ca.sigla from conceito_avaliacao ca where (p4.recuperacao_bimestral between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as p4_recuperacao_conceito, ( select ca.sigla from conceito_avaliacao ca where (recsemestral.nota between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as recsemestral_conceito, ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_final (gc.id_instituicao, amt.id_serie_enturmacao, cf.nota)) as nota_final_conceito, ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_final (gc.id_instituicao, amt.id_serie_enturmacao, cf.nota_conselho)) as nota_conselho_conceito, ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_final (gc.id_instituicao, amt.id_serie_enturmacao, rec.nota)) as rec_final_conceito, cc.id_forma_avaliacao_componente from aluno_matricula am inner join aluno_matr_turma amt using (id_aluno_matricula) 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 = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.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 left join falta_aluno_disciplina fad1 on fad1.id_aluno_matricula = amt.id_aluno_matricula and fad1.id_turma = amt.id_turma and fad1.id_disciplina = d.id_disciplina and fad1.id_nota_periodo_aluno = ? left join falta_aluno_disciplina fad2 on fad2.id_aluno_matricula = amt.id_aluno_matricula and fad2.id_turma = amt.id_turma and fad2.id_disciplina = d.id_disciplina and fad2.id_nota_periodo_aluno = ? left join falta_aluno_disciplina fad3 on fad3.id_aluno_matricula = amt.id_aluno_matricula and fad3.id_turma = amt.id_turma and fad3.id_disciplina = d.id_disciplina and fad3.id_nota_periodo_aluno = ? left join falta_aluno_disciplina fad4 on fad4.id_aluno_matricula = amt.id_aluno_matricula and fad4.id_turma = amt.id_turma and fad4.id_disciplina = d.id_disciplina and fad4.id_nota_periodo_aluno = ? left join lateral ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu, ( select nav.nota from nota_aluno_atividade nav where nav.id_aluno_matricula = na.id_aluno_matricula and nav.id_turma = na.id_turma and nav.id_disciplina = na.id_disciplina and nav.id_nota_periodo_aluno = na.id_nota_periodo_aluno and nav.id_atividade_avaliativa = ?) as recuperacao_bimestral, ( select ca.sigla from conceito_avaliacao ca inner join disciplina d on d.id_disciplina = na.id_disciplina where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, na.id_aluno_matricula, ?, na.nota)) as nota_conceito from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = ?) as p1 on p1.id_aluno_matricula = amt.id_aluno_matricula and p1.id_turma = amt.id_turma and p1.id_disciplina = d.id_disciplina left join lateral ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu, ( select nav.nota from nota_aluno_atividade nav where nav.id_aluno_matricula = na.id_aluno_matricula and nav.id_turma = na.id_turma and nav.id_disciplina = na.id_disciplina and nav.id_nota_periodo_aluno = na.id_nota_periodo_aluno and nav.id_atividade_avaliativa = ?) as recuperacao_bimestral, ( select ca.sigla from conceito_avaliacao ca inner join disciplina d on d.id_disciplina = na.id_disciplina where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, na.id_aluno_matricula, ?, na.nota)) as nota_conceito from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = ?) as p2 on p2.id_aluno_matricula = amt.id_aluno_matricula and p2.id_turma = amt.id_turma and p2.id_disciplina = d.id_disciplina left join lateral ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu, ( select nav.nota from nota_aluno_atividade nav where nav.id_aluno_matricula = na.id_aluno_matricula and nav.id_turma = na.id_turma and nav.id_disciplina = na.id_disciplina and nav.id_nota_periodo_aluno = na.id_nota_periodo_aluno and nav.id_atividade_avaliativa = ?) as recuperacao_bimestral, ( select ca.sigla from conceito_avaliacao ca inner join disciplina d on d.id_disciplina = na.id_disciplina where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, na.id_aluno_matricula, ?, na.nota)) as nota_conceito from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = ?) as p3 on p3.id_aluno_matricula = amt.id_aluno_matricula and p3.id_turma = amt.id_turma and p3.id_disciplina = d.id_disciplina left join lateral ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu, ( select nav.nota from nota_aluno_atividade nav where nav.id_aluno_matricula = na.id_aluno_matricula and nav.id_turma = na.id_turma and nav.id_disciplina = na.id_disciplina and nav.id_nota_periodo_aluno = na.id_nota_periodo_aluno and nav.id_atividade_avaliativa = ?) as recuperacao_bimestral, ( select ca.sigla from conceito_avaliacao ca inner join disciplina d on d.id_disciplina = na.id_disciplina where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, na.id_aluno_matricula, ?, na.nota)) as nota_conceito from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = ?) as p4 on p4.id_aluno_matricula = amt.id_aluno_matricula and p4.id_turma = amt.id_turma and p4.id_disciplina = d.id_disciplina left join serie on serie.id_serie = amt.id_serie_enturmacao left join ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.nota_conselho, na.flg_nao_compareceu from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = ?) as cf on cf.id_aluno_matricula = amt.id_aluno_matricula and cf.id_turma = amt.id_turma and cf.id_disciplina = d.id_disciplina left join ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = ?) as rec on rec.id_aluno_matricula = amt.id_aluno_matricula and rec.id_turma = amt.id_turma and rec.id_disciplina = d.id_disciplina left join ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = ?) as recsemestral on recsemestral.id_aluno_matricula = amt.id_aluno_matricula and recsemestral.id_turma = amt.id_turma and recsemestral.id_disciplina = d.id_disciplina where ? = ? and (am.id_aluno_matricula = ?) and (amt.id_turma = ?) order by d.ordem, d.descricao;-
d.id_disciplina, d.descricao, cc.flg_aponta_notas, p1.nota, p1.sigla, fad1.qtd_faltas, p2.nota, p2.sigla, fad2.qtd_faltas, p3.nota, p3.sigla, fad3.qtd_faltas, p4.nota, p4.sigla, fad4.qtd_faltas, cf.nota, cf.sigla, null as qtd_faltas, rec.nota, rec.sigla, cc.qtd_aulas_periodo_letivo, cc.id_nucleo_disciplina, gc.duracao_aula, amdd.flg_dispensado_todos_periodos is true as flg_dispensado, null perc_frequencia, d.ordem, null as flg_possui_falta, cc.qtd_aulas_semanal, rec.flg_nao_compareceu, fad1.falta_justificada, fad1.falta_nao_justificada, fad2.falta_justificada, fad2.falta_nao_justificada, fad3.falta_justificada, fad3.falta_nao_justificada, fad4.falta_justificada, fad4.falta_nao_justificada, null as qtd_faltas_justificadas, cc.flg_aponta_faltas, cf.nota_conselho, case when amdd.flg_dispensado_todos_periodos is true then null else amdd.periodos end as periodos_dispensa_disciplina, '1' || '-' || p1.flg_nao_compareceu, '2' || '-' || p2.flg_nao_compareceu, '3' || '-' || p3.flg_nao_compareceu, '4' || '-' || p4.flg_nao_compareceu, '5' || '-' || cf.flg_nao_compareceu, recsemestral.nota, recsemestral.flg_nao_compareceu, ( select avg(nota) from nota_aluno where id_disciplina = d.id_disciplina and id_turma = amt.id_turma and id_aluno_matricula = amt.id_aluno_matricula and id_nota_periodo_aluno in (1, 2)) as media, null as aulas_aluno, p1.recuperacao_bimestral, p2.recuperacao_bimestral, p3.recuperacao_bimestral, p4.recuperacao_bimestral, greatest (cf.nota, rec.nota) as media_final, p1.nota_conceito, p2.nota_conceito, p3.nota_conceito, p4.nota_conceito, case when serie.id_forma_avaliacao = 1 and cc.id_expressao_resultado_componente = 2 then true else false end as flg_converte_nota_para_conceito, ( select ca.sigla from conceito_avaliacao ca where (( select avg(nota) from nota_aluno where id_disciplina = d.id_disciplina and id_turma = amt.id_turma and id_aluno_matricula = amt.id_aluno_matricula and id_nota_periodo_aluno in (1, 2)) between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as media_conceito, ( select ca.sigla from conceito_avaliacao ca where (p1.recuperacao_bimestral between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as p1_recuperacao_conceito, ( select ca.sigla from conceito_avaliacao ca where (p2.recuperacao_bimestral between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as p2_recuperacao_conceito, ( select ca.sigla from conceito_avaliacao ca where (p3.recuperacao_bimestral between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as p3_recuperacao_conceito, ( select ca.sigla from conceito_avaliacao ca where (p4.recuperacao_bimestral between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as p4_recuperacao_conceito, ( select ca.sigla from conceito_avaliacao ca where (recsemestral.nota between ca.nota_inicial and ca.nota_final) and ca.id_instituicao = gc.id_instituicao) as recsemestral_conceito, ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_final (gc.id_instituicao, amt.id_serie_enturmacao, cf.nota)) as nota_final_conceito, ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_final (gc.id_instituicao, amt.id_serie_enturmacao, cf.nota_conselho)) as nota_conselho_conceito, ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_final (gc.id_instituicao, amt.id_serie_enturmacao, rec.nota)) as rec_final_conceito, cc.id_forma_avaliacao_componente from aluno_matricula am inner join aluno_matr_turma amt using (id_aluno_matricula) 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 = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join grade_curricular gc on gc.id_grade_curricular = cc.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 left join falta_aluno_disciplina fad1 on fad1.id_aluno_matricula = amt.id_aluno_matricula and fad1.id_turma = amt.id_turma and fad1.id_disciplina = d.id_disciplina and fad1.id_nota_periodo_aluno = 1 left join falta_aluno_disciplina fad2 on fad2.id_aluno_matricula = amt.id_aluno_matricula and fad2.id_turma = amt.id_turma and fad2.id_disciplina = d.id_disciplina and fad2.id_nota_periodo_aluno = 2 left join falta_aluno_disciplina fad3 on fad3.id_aluno_matricula = amt.id_aluno_matricula and fad3.id_turma = amt.id_turma and fad3.id_disciplina = d.id_disciplina and fad3.id_nota_periodo_aluno = 3 left join falta_aluno_disciplina fad4 on fad4.id_aluno_matricula = amt.id_aluno_matricula and fad4.id_turma = amt.id_turma and fad4.id_disciplina = d.id_disciplina and fad4.id_nota_periodo_aluno = 4 left join lateral ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu, ( select nav.nota from nota_aluno_atividade nav where nav.id_aluno_matricula = na.id_aluno_matricula and nav.id_turma = na.id_turma and nav.id_disciplina = na.id_disciplina and nav.id_nota_periodo_aluno = na.id_nota_periodo_aluno and nav.id_atividade_avaliativa = 8) as recuperacao_bimestral, ( select ca.sigla from conceito_avaliacao ca inner join disciplina d on d.id_disciplina = na.id_disciplina where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, na.id_aluno_matricula, 1, na.nota)) as nota_conceito from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = 1) as p1 on p1.id_aluno_matricula = amt.id_aluno_matricula and p1.id_turma = amt.id_turma and p1.id_disciplina = d.id_disciplina left join lateral ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu, ( select nav.nota from nota_aluno_atividade nav where nav.id_aluno_matricula = na.id_aluno_matricula and nav.id_turma = na.id_turma and nav.id_disciplina = na.id_disciplina and nav.id_nota_periodo_aluno = na.id_nota_periodo_aluno and nav.id_atividade_avaliativa = 8) as recuperacao_bimestral, ( select ca.sigla from conceito_avaliacao ca inner join disciplina d on d.id_disciplina = na.id_disciplina where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, na.id_aluno_matricula, 2, na.nota)) as nota_conceito from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = 2) as p2 on p2.id_aluno_matricula = amt.id_aluno_matricula and p2.id_turma = amt.id_turma and p2.id_disciplina = d.id_disciplina left join lateral ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu, ( select nav.nota from nota_aluno_atividade nav where nav.id_aluno_matricula = na.id_aluno_matricula and nav.id_turma = na.id_turma and nav.id_disciplina = na.id_disciplina and nav.id_nota_periodo_aluno = na.id_nota_periodo_aluno and nav.id_atividade_avaliativa = 8) as recuperacao_bimestral, ( select ca.sigla from conceito_avaliacao ca inner join disciplina d on d.id_disciplina = na.id_disciplina where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, na.id_aluno_matricula, 3, na.nota)) as nota_conceito from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = 3) as p3 on p3.id_aluno_matricula = amt.id_aluno_matricula and p3.id_turma = amt.id_turma and p3.id_disciplina = d.id_disciplina left join lateral ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu, ( select nav.nota from nota_aluno_atividade nav where nav.id_aluno_matricula = na.id_aluno_matricula and nav.id_turma = na.id_turma and nav.id_disciplina = na.id_disciplina and nav.id_nota_periodo_aluno = na.id_nota_periodo_aluno and nav.id_atividade_avaliativa = 8) as recuperacao_bimestral, ( select ca.sigla from conceito_avaliacao ca inner join disciplina d on d.id_disciplina = na.id_disciplina where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, na.id_aluno_matricula, 4, na.nota)) as nota_conceito from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = 4) as p4 on p4.id_aluno_matricula = amt.id_aluno_matricula and p4.id_turma = amt.id_turma and p4.id_disciplina = d.id_disciplina left join serie on serie.id_serie = amt.id_serie_enturmacao left join ( select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.nota_conselho, na.flg_nao_compareceu from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = 5) as cf on cf.id_aluno_matricula = amt.id_aluno_matricula and cf.id_turma = amt.id_turma and cf.id_disciplina = d.id_disciplina left join ( Select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = 6) as rec on rec.id_aluno_matricula = amt.id_aluno_matricula and rec.id_turma = amt.id_turma and rec.id_disciplina = d.id_disciplina left join ( Select na.id_disciplina, na.id_aluno_matricula, na.id_turma, na.nota, ca.sigla, na.flg_nao_compareceu from nota_aluno na left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao where na.id_nota_periodo_aluno = 10) as recsemestral on recsemestral.id_aluno_matricula = amt.id_aluno_matricula and recsemestral.id_turma = amt.id_turma and recsemestral.id_disciplina = d.id_disciplina WHERE 1 = 1 AND (am.id_aluno_matricula = 3612346) AND (amt.id_turma = 250004444) order by d.ordem, d.descricao;
Date: 2026-07-07 13:44:50 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
18 2 67.87 MiB 7.98 MiB 59.88 MiB 33.93 MiB limit ?;-
limit 26;
Date: 2026-07-07 13:10:49 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
19 2 15.97 MiB 3.99 MiB 11.98 MiB 7.98 MiB insert into reuniao_familiar (ano, data_prevista, id_periodicidade_apontamento, id_unidade_funcional, id_nota_periodo_aluno, id_reuniao_familiar_tipo, descricao) values (?, ?, ?, ?, ?, ?, ?);-
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: 2026-07-07 08:25:21 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
20 2 7.98 MiB 3.98 MiB 3.99 MiB 3.99 MiB trim(oema.sigla) as sigla, trim(oema.descricao) as descricao from opcao_eixo_modelo_aval oema where oema.id_eixo_modelo_avaliacao_desc in ( select eixo_modelo.id_eixo_modelo_avaliacao_desc from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_turma = amt.id_turma and tsm.id_serie = amt.id_serie_enturmacao inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc inner join eixo_modelo_aval_periodo on eixo_modelo_aval_periodo.id_eixo_modelo_avaliacao_desc = eixo_modelo.id_eixo_modelo_avaliacao_desc where amt.id_turma = ? and amt.id_aluno_matricula = ? and oema.sigla is not null and eixo_modelo.flg_ativo is true and eixo_modelo_aval_periodo.id_nota_periodo_aluno <> ?) order by sigla;-
trim(oema.sigla) as sigla, trim(oema.descricao) as descricao from opcao_eixo_modelo_aval oema where oema.id_eixo_modelo_avaliacao_desc in ( select eixo_modelo.id_eixo_modelo_avaliacao_desc from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsm on tsm.id_turma = amt.id_turma and tsm.id_serie = amt.id_serie_enturmacao inner join eixo_modelo_avaliacao_desc eixo_modelo on eixo_modelo.id_modelo_avaliacao_desc = tsm.id_modelo_avaliacao_desc inner join eixo_modelo_aval_periodo on eixo_modelo_aval_periodo.id_eixo_modelo_avaliacao_desc = eixo_modelo.id_eixo_modelo_avaliacao_desc where amt.id_turma = $1 and amt.id_aluno_matricula = $2 and oema.sigla is not null and eixo_modelo.flg_ativo is true and eixo_modelo_aval_periodo.id_nota_periodo_aluno <> $3) order by sigla;
Date: 2026-07-07 13:48:20 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
21 2 19.96 MiB 7.98 MiB 11.98 MiB 9.98 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status AS "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = ? and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) else null end AS "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and am.flg_matricula_atual is true and ano.ano = ? and ano.semestre is null and curso.id_curso = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = ?) order by "nome" asc, "nome" asc) tabela;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status as "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = 1 and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) else null end as "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and am.flg_matricula_atual is true and ano.ano = $3 and ano.semestre is null and curso.id_curso = $4 and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = $5) order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 09:30:42 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
22 2 35.93 MiB 15.97 MiB 19.96 MiB 17.96 MiB ugu.id_usuario, ugu.id_grupo_usuario, ugu.id_unidade_funcional, ugu.id_assunto_hierarquia_unidade from usuario_grupo_unidade ugu inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join tipo_instituicao_instituicao tii on tii.id_instituicao = gu.id_instituicao where gu.id_ator = ? and ugu.id_usuario in ( select cu.id_usuario from cidadao_usuario cu where cu.id_cidadao = ?) and not exists ( select null from ( select scb.id_cidadao, scbue.id_unidade_funcional from servidor_cargo_base scb inner join srv_cargo_base_unid_exerc scbue on scb.id_servidor_cargo_base = scbue.id_servidor_cargo_base union all select scs.id_cidadao, scsue.id_unidade_funcional from servidor_cargo_sobr_alt scs inner join srv_cargo_sobreposto_unid_ex scsue on scs.id_servidor_cargo_sobr_alt = scsue.id_servidor_cargo_sobr_alt union all select tch.id_cidadao, tc.id_unidade_funcional from turma_componente_historico tch inner join turma_componente tc on tc.id_turma_componente = tch.id_turma_componente inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tch.id_servidor_cargo_base inner join ano_semestre ano on ano.id_ano_semestre = tc.id_ano_semestre where tch.id_atrib_motivo_disp = ? and scb.flg_aberto is true and ano.ano >= ? union all select trah.id_cidadao, tra.id_unidade_funcional from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = trah.id_servidor_cargo_base inner join ano_semestre ano on ano.id_ano_semestre = tra.id_ano_semestre where trah.id_atrib_motivo_disp = ? and scb.flg_aberto is true and ano.ano >= ?) tabela where tabela.id_cidadao in ( select cu.id_cidadao from cidadao_usuario cu where cu.id_usuario = ugu.id_usuario) and ugu.id_unidade_funcional = tabela.id_unidade_funcional) and tii.id_tipo_instituicao = ? and gu.id_instituicao in ( select id_instituicao from instituicao_recurso_implement where id_recurso = ? and id_implementacao = ?);-
ugu.id_usuario, ugu.id_grupo_usuario, ugu.id_unidade_funcional, ugu.id_assunto_hierarquia_unidade from usuario_grupo_unidade ugu inner join grupo_usuario gu on ugu.id_grupo_usuario = gu.id_grupo_usuario inner join tipo_instituicao_instituicao tii on tii.id_instituicao = gu.id_instituicao where gu.id_ator = 3 and ugu.id_usuario in ( select cu.id_usuario from cidadao_usuario cu where cu.id_cidadao = $1) and not exists ( select null from ( select scb.id_cidadao, scbue.id_unidade_funcional from servidor_cargo_base scb inner join srv_cargo_base_unid_exerc scbue on scb.id_servidor_cargo_base = scbue.id_servidor_cargo_base union all select scs.id_cidadao, scsue.id_unidade_funcional from servidor_cargo_sobr_alt scs inner join srv_cargo_sobreposto_unid_ex scsue on scs.id_servidor_cargo_sobr_alt = scsue.id_servidor_cargo_sobr_alt union all select tch.id_cidadao, tc.id_unidade_funcional from turma_componente_historico tch inner join turma_componente tc on tc.id_turma_componente = tch.id_turma_componente inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tch.id_servidor_cargo_base inner join ano_semestre ano on ano.id_ano_semestre = tc.id_ano_semestre where tch.id_atrib_motivo_disp = 4 and scb.flg_aberto is true and ano.ano >= 2020 union all select trah.id_cidadao, tra.id_unidade_funcional from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = trah.id_servidor_cargo_base inner join ano_semestre ano on ano.id_ano_semestre = tra.id_ano_semestre where trah.id_atrib_motivo_disp = 4 and scb.flg_aberto is true and ano.ano >= 2020) tabela where tabela.id_cidadao in ( select cu.id_cidadao from cidadao_usuario cu where cu.id_usuario = ugu.id_usuario) and ugu.id_unidade_funcional = tabela.id_unidade_funcional) and tii.id_tipo_instituicao = 2 and gu.id_instituicao in ( select id_instituicao from instituicao_recurso_implement where id_recurso = 1000 and id_implementacao = 8);
Date: 2026-07-07 08:03:50 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
23 2 39.92 MiB 3.99 MiB 35.93 MiB 19.96 MiB id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre, count(id_aluno_matricula) as alunos from ( select serie.id_serie, turma.id_ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, ano.ano || coalesce(? || ano.semestre, ?) as ano_semestre, amt.id_aluno_matricula from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ? left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ? inner join lateral ( select count(cpd.data) as total from calendario_periodo_data cpd left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where cpd.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and cd.id_motivo_dia_nao_letivo is null and (cpd.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra is not null)) dias_letivos on true inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = am.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = tp.id_nota_periodo_aluno where serie.flg_apon_falta_globalizado is true and turma.flg_organizada is true and am.id_aluno_matr_status in (...) and turma.id_turma_status in (...) and turma.id_unidade_funcional = ? and ano.ano = ? and modalidade.id_ensino_etapa = ? and tp.id_nota_periodo_aluno in (...) group by serie.id_serie, turma.id_ano_semestre, curso.sigla, serie.sigla, amt.id_aluno_matricula, ano_semestre having greatest (?, (? - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ?) between ? and ?) as apontamento_globalizado group by id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre union all select id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre, count(id_aluno_matricula) as alunos from ( select serie.id_serie, turma.id_ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, ano.ano || coalesce(? || ano.semestre, ?) as ano_semestre, amt.id_aluno_matricula from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_serie ts on ts.id_turma = turma.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ? left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ? inner join lateral ( select qh.id_turma, qh.id_componente_curricular, cast(count(qh.id_quadro_horario_homologado) as integer) as aulas from quadro_horario_homologado qh inner join calendario_periodo_data on calendario_periodo_data.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and calendario_periodo_data.dia_semana = qh.dia_semana left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data where qh.id_turma = turma.id_turma and calendario_periodo_data.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and calendario_data.id_motivo_dia_nao_letivo is null and calendario_data.id_motivo_dia_nao_letivo is 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) and not exists ( select null from adequacao_carga_horaria_turma acht inner join adequacao_carga_horaria ach on ach.id_adequacao_carga_horaria = acht.id_adequacao_carga_horaria where acht.id_turma = turma.id_turma and acht.data = calendario_periodo_data.data and ach.id_tipo_adequacao_carga_horaria = ? and ach.flg_exige_reposicao is true) group by qh.id_turma, qh.id_componente_curricular) as aulas on aulas.id_turma = turma.id_turma and aulas.id_componente_curricular = cc.id_componente_curricular and cc.flg_aponta_faltas is true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = am.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and fad.id_turma >= ? and fad.id_turma < ? where serie.flg_apon_falta_globalizado is false and turma.flg_organizada is true and am.id_aluno_matr_status in (...) and turma.id_turma_status in (...) and turma.id_unidade_funcional = ? and ano.ano = ? and modalidade.id_ensino_etapa = ? and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = amt.id_turma and dispensa.id_disciplina = cc.id_disciplina and (dispensa.flg_dispensado_todos_periodos is true or dispensa.periodos @> array[tp.id_nota_periodo_aluno])) and tp.id_nota_periodo_aluno in (...) group by serie.id_serie, turma.id_ano_semestre, curso.sigla, serie.sigla, amt.id_aluno_matricula, ano_semestre having count(fad.id_aluno_matricula) > ? and greatest (?, (? - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ?) between ? and ?) as apontamento_por_disciplina group by id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre order by sigla_curso, sigla_serie, ano_semestre) tabela;-
id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre, count(id_aluno_matricula) as alunos from ( select serie.id_serie, turma.id_ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, ano.ano || coalesce('/' || ano.semestre, '') as ano_semestre, amt.id_aluno_matricula from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = $1 left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = $2 inner join lateral ( select count(cpd.data) as total from calendario_periodo_data cpd left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where cpd.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and cd.id_motivo_dia_nao_letivo is null and (cpd.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra is not null)) dias_letivos on true inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = am.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = tp.id_nota_periodo_aluno where serie.flg_apon_falta_globalizado is true and turma.flg_organizada is true and am.id_aluno_matr_status in (1, 2, 7) and turma.id_turma_status in (1, 2) and turma.id_unidade_funcional = $3 and ano.ano = $4 and modalidade.id_ensino_etapa = $5 and tp.id_nota_periodo_aluno in ($6, $7) group by serie.id_serie, turma.id_ano_semestre, curso.sigla, serie.sigla, amt.id_aluno_matricula, ano_semestre having greatest (0, (1 - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100) between $8 and $9) as apontamento_globalizado group by id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre union all select id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre, count(id_aluno_matricula) as alunos from ( select serie.id_serie, turma.id_ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, ano.ano || coalesce('/' || ano.semestre, '') as ano_semestre, amt.id_aluno_matricula from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_serie ts on ts.id_turma = turma.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = $10 left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = $11 inner join lateral ( select qh.id_turma, qh.id_componente_curricular, cast(count(qh.id_quadro_horario_homologado) as integer) as aulas from quadro_horario_homologado qh inner join calendario_periodo_data on calendario_periodo_data.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and calendario_periodo_data.dia_semana = qh.dia_semana left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data where qh.id_turma = turma.id_turma and calendario_periodo_data.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and calendario_data.id_motivo_dia_nao_letivo is null and calendario_data.id_motivo_dia_nao_letivo is 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) and not exists ( select null from adequacao_carga_horaria_turma acht inner join adequacao_carga_horaria ach on ach.id_adequacao_carga_horaria = acht.id_adequacao_carga_horaria where acht.id_turma = turma.id_turma and acht.data = calendario_periodo_data.data and ach.id_tipo_adequacao_carga_horaria = 2 and ach.flg_exige_reposicao is true) group by qh.id_turma, qh.id_componente_curricular) as aulas on aulas.id_turma = turma.id_turma and aulas.id_componente_curricular = cc.id_componente_curricular and cc.flg_aponta_faltas is true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = am.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and fad.id_turma >= $12 and fad.id_turma < $13 where serie.flg_apon_falta_globalizado is false and turma.flg_organizada is true and am.id_aluno_matr_status in (1, 2, 7) and turma.id_turma_status in (1, 2) and turma.id_unidade_funcional = $14 and ano.ano = $15 and modalidade.id_ensino_etapa = $16 and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = amt.id_turma and dispensa.id_disciplina = cc.id_disciplina and (dispensa.flg_dispensado_todos_periodos is true or dispensa.periodos @> ARRAY[tp.id_nota_periodo_aluno])) and tp.id_nota_periodo_aluno in ($17, $18) group by serie.id_serie, turma.id_ano_semestre, curso.sigla, serie.sigla, amt.id_aluno_matricula, ano_semestre having count(fad.id_aluno_matricula) > 0 and greatest (0, (1 - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100) between $19 and $20) as apontamento_por_disciplina group by id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre order by sigla_curso, sigla_serie, ano_semestre) tabela;
Date: 2026-07-07 09:05:41 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
24 2 7.98 MiB 3.99 MiB 3.99 MiB 3.99 MiB select json_agg(r.*)::text as r from ( select ;-
select json_agg(r.*)::text as r from ( select ;
Date: 2026-07-07 10:00:22 Duration: 2s992ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select json_agg(r.*)::text as r from ( select ;
Date: 2026-07-07 09:55:18 Duration: 2s752ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select json_agg(r.*)::text as r from ( select ;
Date: 2026-07-07 09:55:24 Duration: 2s658ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
25 2 71.86 MiB 7.98 MiB 63.88 MiB 35.93 MiB remessa_resp.id_bolsa_escola_remessa_resp AS "idBolsaEscolaRemessaResp", cidadao_resp.nome as responsavel, formatar_cpf (doc_resp.numero_cpf, doc_resp.digito_cpf) as cpf, lpad(remessa.mes::text, ?, ?) || ? || remessa.ano as mes_ano_remessa, remessa_resp.valor_beneficio as valor, case when reenvio.possui_reenvio then reenvio.situacao when remessa_resp.id_responsavel is null then motivo_nao_pagamento_aluno.descricao when remessa_resp.id_bolsa_escola_motivo_nao_pagamento is not null or remessa_resp.id_bolsa_escola_motivo_rejeicao is not null then coalesce(motivo_nao_pagamento.descricao, motivo_rejeicao.descricao) when remessa.id_bolsa_escola_situacao_remessa = ? then ? when remessa.id_bolsa_escola_situacao_remessa = ? then ? end as situacao, case when remessa_resp.valor_beneficio is null or remessa_resp.valor_beneficio = ? then null when reenvio.possui_reenvio and reenvio.recebido then lpad(reenvio.mes::text, ?, ?) || ? || reenvio.ano when remessa.id_bolsa_escola_situacao_remessa = ? and remessa_resp.id_bolsa_escola_motivo_nao_pagamento is null and remessa_resp.id_bolsa_escola_motivo_rejeicao is null then lpad(remessa.mes::text, ?, ?) || ? || remessa.ano end as recebido_em, case when remessa_resp.valor_beneficio is null or remessa_resp.valor_beneficio = ? then null when reenvio.possui_reenvio and reenvio.recebido then reenvio.ano * ? + reenvio.mes when remessa.id_bolsa_escola_situacao_remessa = ? and remessa_resp.id_bolsa_escola_motivo_nao_pagamento is null and remessa_resp.id_bolsa_escola_motivo_rejeicao is null then remessa.ano * ? + remessa.mes end as recebido_em_ordenar from bolsa_escola_remessa_resp remessa_resp inner join bolsa_escola_remessa_aluno remessa_aluno on remessa_resp.id_bolsa_escola_remessa_resp = remessa_aluno.id_bolsa_escola_remessa_resp inner join bolsa_escola_remessa_aluno_situacao ber_aluno_situacao on ber_aluno_situacao.id_bolsa_escola_remessa = remessa_resp.id_bolsa_escola_remessa and ber_aluno_situacao.id_aluno = remessa_aluno.id_aluno inner join aluno on aluno.id_cidadao = ber_aluno_situacao.id_aluno inner join bolsa_escola_remessa remessa on remessa.id_bolsa_escola_remessa = remessa_resp.id_bolsa_escola_remessa left join cidadao cidadao_resp on cidadao_resp.id_cidadao = ber_aluno_situacao.id_responsavel left join documentos_cidadao doc_resp on doc_resp.id_cidadao = cidadao_resp.id_cidadao left join bolsa_escola_motivo_nao_pagamento motivo_nao_pagamento on motivo_nao_pagamento.id_bolsa_escola_motivo_nao_pagamento = remessa_resp.id_bolsa_escola_motivo_nao_pagamento left join bolsa_escola_motivo_rejeicao motivo_rejeicao on motivo_rejeicao.id_bolsa_escola_motivo_rejeicao = remessa_resp.id_bolsa_escola_motivo_rejeicao left join bolsa_escola_motivo_nao_pagamento motivo_nao_pagamento_aluno on motivo_nao_pagamento_aluno.id_bolsa_escola_motivo_nao_pagamento = ber_aluno_situacao.id_bolsa_escola_motivo_nao_pagamento left join lateral ( select true as possui_reenvio, remessa_reenvio.mes, remessa_reenvio.ano, remessa_reenvio.id_bolsa_escola_situacao_remessa = ? and reenvio.id_bolsa_escola_motivo_rejeicao is null as recebido, case when remessa_reenvio.id_bolsa_escola_situacao_remessa = ? then ? when reenvio.id_bolsa_escola_motivo_rejeicao is not null then motivo_rejeicao_reenvio.descricao when remessa_reenvio.id_bolsa_escola_situacao_remessa = ? then ? end as situacao from bolsa_escola_remessa_resp reenvio inner join bolsa_escola_remessa remessa_reenvio on remessa_reenvio.id_bolsa_escola_remessa = reenvio.id_bolsa_escola_remessa left join bolsa_escola_motivo_rejeicao motivo_rejeicao_reenvio on motivo_rejeicao_reenvio.id_bolsa_escola_motivo_rejeicao = reenvio.id_bolsa_escola_motivo_rejeicao where reenvio.id_bolsa_escola_remessa_resp_origem = remessa_resp.id_bolsa_escola_remessa_resp and remessa_reenvio.flg_simulacao is false and remessa_reenvio.id_bolsa_escola_situacao_remessa in (...) order by reenvio.id_bolsa_escola_remessa desc limit ?) as reenvio on true where ber_aluno_situacao.id_aluno = ? and remessa.id_instituicao = ? and remessa.flg_simulacao is false and remessa.id_bolsa_escola_situacao_remessa in (...) and remessa_resp.flg_pagamento_retroativo is false and remessa_resp.id_bolsa_escola_remessa_referencia is null order by (remessa.ano * ? + remessa.mes) desc) tabela;-
remessa_resp.id_bolsa_escola_remessa_resp as "idBolsaEscolaRemessaResp", cidadao_resp.nome as responsavel, formatar_cpf (doc_resp.numero_cpf, doc_resp.digito_cpf) as cpf, lpad(remessa.mes::text, 2, '0') || '/' || remessa.ano as mes_ano_remessa, remessa_resp.valor_beneficio as valor, case when reenvio.possui_reenvio then reenvio.situacao when remessa_resp.id_responsavel is null then motivo_nao_pagamento_aluno.descricao when remessa_resp.id_bolsa_escola_motivo_nao_pagamento is not null or remessa_resp.id_bolsa_escola_motivo_rejeicao is not null then coalesce(motivo_nao_pagamento.descricao, motivo_rejeicao.descricao) when remessa.id_bolsa_escola_situacao_remessa = 1 then 'Aguardando arquivo de retorno' when remessa.id_bolsa_escola_situacao_remessa = 2 then 'Pagamento confirmado' end as situacao, case when remessa_resp.valor_beneficio is null or remessa_resp.valor_beneficio = 0 then null when reenvio.possui_reenvio and reenvio.recebido then lpad(reenvio.mes::text, 2, '0') || '/' || reenvio.ano when remessa.id_bolsa_escola_situacao_remessa = 2 and remessa_resp.id_bolsa_escola_motivo_nao_pagamento is null and remessa_resp.id_bolsa_escola_motivo_rejeicao is null then lpad(remessa.mes::text, 2, '0') || '/' || remessa.ano end as recebido_em, case when remessa_resp.valor_beneficio is null or remessa_resp.valor_beneficio = 0 then null when reenvio.possui_reenvio and reenvio.recebido then reenvio.ano * 100 + reenvio.mes when remessa.id_bolsa_escola_situacao_remessa = 2 and remessa_resp.id_bolsa_escola_motivo_nao_pagamento is null and remessa_resp.id_bolsa_escola_motivo_rejeicao is null then remessa.ano * 100 + remessa.mes end as recebido_em_ordenar from bolsa_escola_remessa_resp remessa_resp inner join bolsa_escola_remessa_aluno remessa_aluno on remessa_resp.id_bolsa_escola_remessa_resp = remessa_aluno.id_bolsa_escola_remessa_resp inner join bolsa_escola_remessa_aluno_situacao ber_aluno_situacao on ber_aluno_situacao.id_bolsa_escola_remessa = remessa_resp.id_bolsa_escola_remessa and ber_aluno_situacao.id_aluno = remessa_aluno.id_aluno inner join aluno on aluno.id_cidadao = ber_aluno_situacao.id_aluno inner join bolsa_escola_remessa remessa on remessa.id_bolsa_escola_remessa = remessa_resp.id_bolsa_escola_remessa left join cidadao cidadao_resp on cidadao_resp.id_cidadao = ber_aluno_situacao.id_responsavel left join documentos_cidadao doc_resp on doc_resp.id_cidadao = cidadao_resp.id_cidadao left join bolsa_escola_motivo_nao_pagamento motivo_nao_pagamento on motivo_nao_pagamento.id_bolsa_escola_motivo_nao_pagamento = remessa_resp.id_bolsa_escola_motivo_nao_pagamento left join bolsa_escola_motivo_rejeicao motivo_rejeicao on motivo_rejeicao.id_bolsa_escola_motivo_rejeicao = remessa_resp.id_bolsa_escola_motivo_rejeicao left join bolsa_escola_motivo_nao_pagamento motivo_nao_pagamento_aluno on motivo_nao_pagamento_aluno.id_bolsa_escola_motivo_nao_pagamento = ber_aluno_situacao.id_bolsa_escola_motivo_nao_pagamento left join lateral ( select true as possui_reenvio, remessa_reenvio.mes, remessa_reenvio.ano, remessa_reenvio.id_bolsa_escola_situacao_remessa = 2 and reenvio.id_bolsa_escola_motivo_rejeicao is null as recebido, case when remessa_reenvio.id_bolsa_escola_situacao_remessa = 1 then 'Aguardando arquivo de retorno' when reenvio.id_bolsa_escola_motivo_rejeicao is not null then motivo_rejeicao_reenvio.descricao when remessa_reenvio.id_bolsa_escola_situacao_remessa = 2 then 'Pagamento confirmado' end as situacao from bolsa_escola_remessa_resp reenvio inner join bolsa_escola_remessa remessa_reenvio on remessa_reenvio.id_bolsa_escola_remessa = reenvio.id_bolsa_escola_remessa left join bolsa_escola_motivo_rejeicao motivo_rejeicao_reenvio on motivo_rejeicao_reenvio.id_bolsa_escola_motivo_rejeicao = reenvio.id_bolsa_escola_motivo_rejeicao where reenvio.id_bolsa_escola_remessa_resp_origem = remessa_resp.id_bolsa_escola_remessa_resp and remessa_reenvio.flg_simulacao is false and remessa_reenvio.id_bolsa_escola_situacao_remessa in (1, 2) order by reenvio.id_bolsa_escola_remessa desc limit 1) as reenvio on true where ber_aluno_situacao.id_aluno = $1 and remessa.id_instituicao = $2 and remessa.flg_simulacao is false and remessa.id_bolsa_escola_situacao_remessa in (1, 2) and remessa_resp.flg_pagamento_retroativo is false and remessa_resp.id_bolsa_escola_remessa_referencia is null order by (remessa.ano * 100 + remessa.mes) desc) tabela;
Date: 2026-07-07 08:30:14 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
26 1 7.98 MiB 7.98 MiB 7.98 MiB 7.98 MiB scb.id_servidor_cargo_base as id, servidor.registro_funcional as rf, scb.matricula_cargo as matricula, cidadao.nome, cargo.sigla as cargo, situacao_funcional.descricao as situacao_funcional, jornada.jornada, jornada.horas_atribuidas from servidor_cargo_base scb inner join servidor on servidor.id_cidadao = scb.id_cidadao inner join cidadao_busca_servidor cidadao on cidadao.id_cidadao = servidor.id_cidadao inner join cargo on cargo.id_cargo = scb.id_cargo inner join situacao_funcional on situacao_funcional.id_situacao_funcional = scb.id_situacao_funcional left join lotacao on lotacao.id_servidor_cargo_base = scb.id_servidor_cargo_base and lotacao.flg_aberto is true left join lateral ( select jtt.sigla || ? || jtt.carga_horaria || ? as jornada, jtos.horas_atribuidas from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base and jtos.ano = ? and jtos.flg_opcao_desligada is false) as jornada on ? = ? where cidadao.id_instituicao = ? and scb.flg_aberto is true and (scb.id_unidade_sede = ? or lotacao.id_unidade_lotacao = ? or exists ( select null from professor_unidade_cargo_base pucb where pucb.id_servidor_cargo_base = scb.id_servidor_cargo_base and pucb.id_unidade_funcional = ? and pucb.ano = ?) or exists ( select null from servidor_atividade sa where scb.id_servidor_cargo_base = sa.id_servidor_cargo_base and sa.flg_aberto and sa.id_unidade_funcional_servico = ?) or exists ( select null from servidor_funcao sf where scb.id_servidor_cargo_base = sf.id_servidor_cargo_base and sf.flg_aberto and sf.id_unidade_funcional = ?)) order by "servidor"."registro_funcional_numerico" asc limit ? offset ?) r;-
scb.id_servidor_cargo_base as id, servidor.registro_funcional as rf, scb.matricula_cargo as matricula, cidadao.nome, cargo.sigla as cargo, situacao_funcional.descricao as situacao_funcional, jornada.jornada, jornada.horas_atribuidas from servidor_cargo_base scb inner join servidor on servidor.id_cidadao = scb.id_cidadao inner join cidadao_busca_servidor cidadao on cidadao.id_cidadao = servidor.id_cidadao inner join cargo on cargo.id_cargo = scb.id_cargo inner join situacao_funcional on situacao_funcional.id_situacao_funcional = scb.id_situacao_funcional left join lotacao on lotacao.id_servidor_cargo_base = scb.id_servidor_cargo_base and lotacao.flg_aberto is true left join lateral ( select jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada, jtos.horas_atribuidas from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base and jtos.ano = $1 and jtos.flg_opcao_desligada is false) as jornada on 1 = 1 where cidadao.id_instituicao = $2 and scb.flg_aberto is true and (scb.id_unidade_sede = $3 or lotacao.id_unidade_lotacao = $4 or exists ( select null from professor_unidade_cargo_base pucb where pucb.id_servidor_cargo_base = scb.id_servidor_cargo_base and pucb.id_unidade_funcional = $5 and pucb.ano = $6) or exists ( select null from servidor_atividade sa where scb.id_servidor_cargo_base = sa.id_servidor_cargo_base and sa.flg_aberto and sa.id_unidade_funcional_servico = $7) or exists ( select null from servidor_funcao sf where scb.id_servidor_cargo_base = sf.id_servidor_cargo_base and sf.flg_aberto and sf.id_unidade_funcional = $8)) order by "servidor"."registro_funcional_numerico" asc limit 5 offset 30) r;
Date: 2026-07-07 09:54:56 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
27 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB arp.id_apontamento_reporte_conduta, arp.id_aluno_matricula, arp.id_turma, arp.id_nota_periodo_aluno, arp.data, arp.id_tipo_reporte_conduta, arp.id_horario_turma, arp.id_disciplina, arp.consideracoes, arp.id_apontamento_reporte_conduta as id_apontamento_reporte_conduta_servidor from apontamento_reporte_conduta arp inner join turma t on t.id_turma = arp.id_turma where t.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_turma = arp.id_turma and d.id_disciplina = arp.id_disciplina and tp.id_turma in (...) and tp.id_cidadao = ?) or 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 = ? and arp.id_disciplina is null)) and exists ( select null from registro_lancamento_reporte_conduta registro where registro.data_atualizacao > ? and arp.id_turma = registro.id_turma and arp.id_aluno_matricula = registro.id_aluno_matricula and arp.id_nota_periodo_aluno = registro.id_nota_periodo_aluno);-
arp.id_apontamento_reporte_conduta, arp.id_aluno_matricula, arp.id_turma, arp.id_nota_periodo_aluno, arp.data, arp.id_tipo_reporte_conduta, arp.id_horario_turma, arp.id_disciplina, arp.consideracoes, arp.id_apontamento_reporte_conduta as id_apontamento_reporte_conduta_servidor from apontamento_reporte_conduta arp inner join turma t on t.id_turma = arp.id_turma where t.id_turma in ($1, $2) 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_turma = arp.id_turma and d.id_disciplina = arp.id_disciplina and tp.id_turma in ($3, $4) and tp.id_cidadao = $5) or 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 = $6 and arp.id_disciplina is null)) and exists ( select null from registro_lancamento_reporte_conduta registro where registro.data_atualizacao > $7 and arp.id_turma = registro.id_turma and arp.id_aluno_matricula = registro.id_aluno_matricula and arp.id_nota_periodo_aluno = registro.id_nota_periodo_aluno);
Date: 2026-07-07 08:33:16 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
28 1 31.94 MiB 31.94 MiB 31.94 MiB 31.94 MiB remessa_resp.id_bolsa_escola_remessa_resp, remessa.mes || ? || remessa.ano as mes_ano, to_char(remessa.data_geracao, ?) as data_geracao, remessa_resp.valor_beneficio as valor, case when remessa_resp.id_bolsa_escola_motivo_nao_pagamento is not null or remessa_resp.id_bolsa_escola_motivo_rejeicao is not null then coalesce(motivo_nao_pagamento.descricao, motivo_rejeicao.descricao) when remessa.id_bolsa_escola_situacao_remessa = ? then ? when remessa.id_bolsa_escola_situacao_remessa = ? then ? end as situacao, remessa_referencia.mes || ? || remessa_referencia.ano as remessa_origem, remessa_resp.mes_reenvio || ? || remessa_resp.ano_reenvio as mes_ano_reenvio, remessa_resp.id_bolsa_escola_motivo_nao_pagamento is null as contemplado, remessa_resp.dados_cadastrais, remessa_resp.nis_novo from bolsa_escola_remessa_resp remessa_resp inner join bolsa_escola_responsavel on bolsa_escola_responsavel.id_responsavel = remessa_resp.id_responsavel inner join bolsa_escola_remessa remessa on remessa.id_bolsa_escola_remessa = remessa_resp.id_bolsa_escola_remessa left join bolsa_escola_motivo_nao_pagamento motivo_nao_pagamento on motivo_nao_pagamento.id_bolsa_escola_motivo_nao_pagamento = remessa_resp.id_bolsa_escola_motivo_nao_pagamento left join bolsa_escola_motivo_rejeicao motivo_rejeicao on motivo_rejeicao.id_bolsa_escola_motivo_rejeicao = remessa_resp.id_bolsa_escola_motivo_rejeicao left join bolsa_escola_remessa remessa_referencia on remessa_referencia.id_bolsa_escola_remessa = remessa_resp.id_bolsa_escola_remessa_referencia where remessa_resp.id_responsavel = ? and bolsa_escola_responsavel.id_instituicao = ? and remessa.id_bolsa_escola_situacao_remessa <> ? order by (remessa.ano * ? + remessa.mes) desc) tabela;-
remessa_resp.id_bolsa_escola_remessa_resp, remessa.mes || '/' || remessa.ano as mes_ano, to_char(remessa.data_geracao, 'dd/MM/yyyy') as data_geracao, remessa_resp.valor_beneficio as valor, case when remessa_resp.id_bolsa_escola_motivo_nao_pagamento is not null or remessa_resp.id_bolsa_escola_motivo_rejeicao is not null then coalesce(motivo_nao_pagamento.descricao, motivo_rejeicao.descricao) when remessa.id_bolsa_escola_situacao_remessa = 1 then 'Aguardando arquivo de retorno' when remessa.id_bolsa_escola_situacao_remessa = 2 then 'Pagamento confirmado' end as situacao, remessa_referencia.mes || '/' || remessa_referencia.ano as remessa_origem, remessa_resp.mes_reenvio || '/' || remessa_resp.ano_reenvio as mes_ano_reenvio, remessa_resp.id_bolsa_escola_motivo_nao_pagamento is null as contemplado, remessa_resp.dados_cadastrais, remessa_resp.nis_novo from bolsa_escola_remessa_resp remessa_resp inner join bolsa_escola_responsavel on bolsa_escola_responsavel.id_responsavel = remessa_resp.id_responsavel inner join bolsa_escola_remessa remessa on remessa.id_bolsa_escola_remessa = remessa_resp.id_bolsa_escola_remessa left join bolsa_escola_motivo_nao_pagamento motivo_nao_pagamento on motivo_nao_pagamento.id_bolsa_escola_motivo_nao_pagamento = remessa_resp.id_bolsa_escola_motivo_nao_pagamento left join bolsa_escola_motivo_rejeicao motivo_rejeicao on motivo_rejeicao.id_bolsa_escola_motivo_rejeicao = remessa_resp.id_bolsa_escola_motivo_rejeicao left join bolsa_escola_remessa remessa_referencia on remessa_referencia.id_bolsa_escola_remessa = remessa_resp.id_bolsa_escola_remessa_referencia where remessa_resp.id_responsavel = $1 and bolsa_escola_responsavel.id_instituicao = $2 and remessa.id_bolsa_escola_situacao_remessa <> 3 order by (remessa.ano * 100 + remessa.mes) desc) tabela;
Date: 2026-07-07 08:03:52 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
29 1 15.97 MiB 15.97 MiB 15.97 MiB 15.97 MiB c.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, c.nome, u.nome as unidade, to_char(c.nascimento_data, ?) as data_nascimento, tr.codigo as codigo_turma, sim_nao (am.flg_parecer_descritivo) as flg_parecer_descritivo, sim_nao (amtd.id_aluno_matricula notnull) as flg_turma_diversificada, string_agg(ne.descricao, ?) as descricao_necessidade, case when c.flg_laudo_medico_necessidade_esp then ( select a.identificador from arquivo a where a.id_arquivo = c.id_arquivo_laudo_medico limit ?) end as identificador_laudo from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao_necessidade_especial cne on cne.id_cidadao = c.id_cidadao inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial left join aluno_matr_turma amtr on amtr.id_aluno_matricula = am.id_aluno_matricula and amtr.id_tipo_enturmacao = ? left join turma tr on tr.id_turma = amtr.id_turma left join aluno_matr_turma amtd on amtd.id_aluno_matricula = am.id_aluno_matricula and amtd.id_tipo_enturmacao = ? left join turma td on td.id_turma = amtd.id_turma where am.id_serie = ? and ano.id_ano_semestre = ? and u.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 = ?) and am.id_aluno_matr_status in (...) and c.flg_necessidade_especial is true and u.id_municipio = ? group by c.id_cidadao, am.id_aluno_matricula, a.codigo, u.id_unidade_funcional, tr.codigo, am.flg_parecer_descritivo, amtd.id_aluno_matricula order by a.codigo limit ?;-
c.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, c.nome, u.nome as unidade, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, tr.codigo as codigo_turma, sim_nao (am.flg_parecer_descritivo) as flg_parecer_descritivo, sim_nao (amtd.id_aluno_matricula notnull) as flg_turma_diversificada, string_agg(ne.descricao, ', ') as descricao_necessidade, case when c.flg_laudo_medico_necessidade_esp then ( select a.identificador from arquivo a where a.id_arquivo = c.id_arquivo_laudo_medico limit 1) end as identificador_laudo from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao_necessidade_especial cne on cne.id_cidadao = c.id_cidadao inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial left join aluno_matr_turma amtr on amtr.id_aluno_matricula = am.id_aluno_matricula and amtr.id_tipo_enturmacao = $1 left join turma tr on tr.id_turma = amtr.id_turma left join aluno_matr_turma amtd on amtd.id_aluno_matricula = am.id_aluno_matricula and amtd.id_tipo_enturmacao = $2 left join turma td on td.id_turma = amtd.id_turma where am.id_serie = $3 and ano.id_ano_semestre = $4 and u.id_unidade_funcional in ( select $5 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $6 and id_assunto_hierarquia_unidade = $7) and am.id_aluno_matr_status in ($8, $9, $10) and c.flg_necessidade_especial is true and u.id_municipio = $11 group by c.id_cidadao, am.id_aluno_matricula, a.codigo, u.id_unidade_funcional, tr.codigo, am.flg_parecer_descritivo, amtd.id_aluno_matricula ORDER BY a.codigo limit 20;
Date: 2026-07-07 16:25:18 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
30 1 15.97 MiB 15.97 MiB 15.97 MiB 15.97 MiB update rota set data_criacao = ?, data_situacao = ?, numero = ?, flg_pendencia_cadastro = ?, flg_pendencia_destino = ?, nome = ?, id_arquivo_ida = ?, id_arquivo_volta = ?, distancia_desembarque = ?, id_tipo_rota = ?, distancia_embarque = ?, flg_ativo = ?, id_instituicao = ? where id_rota = ?;-
update rota set data_criacao = $1, data_situacao = $2, numero = $3, flg_pendencia_cadastro = $4, flg_pendencia_destino = $5, nome = $6, id_arquivo_ida = $7, id_arquivo_volta = $8, distancia_desembarque = $9, id_tipo_rota = $10, distancia_embarque = $11, flg_ativo = $12, id_instituicao = $13 where id_rota = $14;
Date: 2026-07-07 13:08:15 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
31 1 13.64 MiB 13.64 MiB 13.64 MiB 13.64 MiB select uf_base.id_unidade_funcional as id_unidade_base, uf_base.codigo as codigo_base, uf_base.nome as escola_base, aluno_base.codigo as matricula_base, cidadao_base.nome as aluno, ano_base.ano || coalesce(? || ano_base.semestre, ?) as ano_base, curso_base.sigla as curso_base, serie_base.sigla as serie_base, turma_base.codigo as turma_base, aluno_unificado.codigo as matricula_unificada, uf_unificado.nome as escola_unificado, ano_unificado.ano || coalesce(? || ano_unificado.semestre, ?) as ano_unificado, curso_unificado.sigla as curso_unificado, serie_unificado.sigla as serie_unificado, turma_unificado.codigo as turma_unificado from cidadao cidadao_unificado inner join aluno aluno_unificado on aluno_unificado.id_cidadao = cidadao_unificado.id_cidadao inner join aluno_matricula matricula_unificado on matricula_unificado.id_cidadao = aluno_unificado.id_cidadao inner join unidade_funcional uf_unificado on uf_unificado.id_unidade_funcional = matricula_unificado.id_unidade_funcional inner join ano_semestre ano_unificado on ano_unificado.id_ano_semestre = matricula_unificado.id_ano_semestre inner join curso curso_unificado on curso_unificado.id_curso = matricula_unificado.id_curso inner join serie serie_unificado on serie_unificado.id_serie = matricula_unificado.id_serie inner join aluno_matr_turma amt_unificado on amt_unificado.id_aluno_matricula = matricula_unificado.id_aluno_matricula and amt_unificado.id_tipo_enturmacao = ? inner join turma turma_unificado on turma_unificado.id_turma = amt_unificado.id_turma inner join cidadao cidadao_base on cidadao_base.id_cidadao = cidadao_unificado.id_cidadao_ativo inner join aluno aluno_base on aluno_base.id_cidadao = cidadao_unificado.id_cidadao_ativo inner join aluno_matricula matricula_base on matricula_base.id_cidadao = aluno_base.id_cidadao inner join unidade_funcional uf_base on uf_base.id_unidade_funcional = matricula_base.id_unidade_funcional inner join ano_semestre ano_base on ano_base.id_ano_semestre = matricula_base.id_ano_semestre inner join curso curso_base on curso_base.id_curso = matricula_base.id_curso inner join serie serie_base on serie_base.id_serie = matricula_base.id_serie inner join aluno_matr_turma amt_base on amt_base.id_aluno_matricula = matricula_base.id_aluno_matricula and amt_base.id_tipo_enturmacao = ? inner join turma turma_base on turma_base.id_turma = amt_base.id_turma where matricula_unificado.flg_matricula_atual and cidadao_unificado.id_instituicao = ? and ano_base.ano = ? and uf_base.id_unidade_funcional in ( select ? union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?) order by uf_base.nome, aluno, matricula_base;-
select uf_base.id_unidade_funcional as id_unidade_base, uf_base.codigo as codigo_base, uf_base.nome as escola_base, aluno_base.codigo as matricula_base, cidadao_base.nome as aluno, ano_base.ano || coalesce(' / ' || ano_base.semestre, '') as ano_base, curso_base.sigla as curso_base, serie_base.sigla as serie_base, turma_base.codigo as turma_base, aluno_unificado.codigo as matricula_unificada, uf_unificado.nome as escola_unificado, ano_unificado.ano || coalesce(' / ' || ano_unificado.semestre, '') as ano_unificado, curso_unificado.sigla as curso_unificado, serie_unificado.sigla as serie_unificado, turma_unificado.codigo as turma_unificado from cidadao cidadao_unificado inner join aluno aluno_unificado ON aluno_unificado.id_cidadao = cidadao_unificado.id_cidadao inner join aluno_matricula matricula_unificado on matricula_unificado.id_cidadao = aluno_unificado.id_cidadao inner join unidade_funcional uf_unificado on uf_unificado.id_unidade_funcional = matricula_unificado.id_unidade_funcional inner join ano_semestre ano_unificado on ano_unificado.id_ano_semestre = matricula_unificado.id_ano_semestre inner join curso curso_unificado on curso_unificado.id_curso = matricula_unificado.id_curso inner join serie serie_unificado on serie_unificado.id_serie = matricula_unificado.id_serie inner join aluno_matr_turma amt_unificado on amt_unificado.id_aluno_matricula = matricula_unificado.id_aluno_matricula and amt_unificado.id_tipo_enturmacao = 1 inner join turma turma_unificado on turma_unificado.id_turma = amt_unificado.id_turma inner join cidadao cidadao_base on cidadao_base.id_cidadao = cidadao_unificado.id_cidadao_ativo inner join aluno aluno_base ON aluno_base.id_cidadao = cidadao_unificado.id_cidadao_ativo inner join aluno_matricula matricula_base on matricula_base.id_cidadao = aluno_base.id_cidadao inner join unidade_funcional uf_base on uf_base.id_unidade_funcional = matricula_base.id_unidade_funcional inner join ano_semestre ano_base on ano_base.id_ano_semestre = matricula_base.id_ano_semestre inner join curso curso_base on curso_base.id_curso = matricula_base.id_curso inner join serie serie_base on serie_base.id_serie = matricula_base.id_serie inner join aluno_matr_turma amt_base on amt_base.id_aluno_matricula = matricula_base.id_aluno_matricula and amt_base.id_tipo_enturmacao = 1 inner join turma turma_base on turma_base.id_turma = amt_base.id_turma where matricula_unificado.flg_matricula_atual and cidadao_unificado.id_instituicao = '93' and ano_base.ano = '2026' and uf_base.id_unidade_funcional in ( select '606318' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606318' and id_assunto_hierarquia_unidade = '76') order by uf_base.nome, aluno, matricula_base;
Date: 2026-07-07 09:44:15 Duration: 799ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
32 1 7.98 MiB 7.98 MiB 7.98 MiB 7.98 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) AS "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_aluno_matr_status in (...) and am.flg_matricula_atual and am.id_unidade_funcional = ? and ano.ano = ? and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo = ? and curso.id_periodicidade_apontamento = ? and not exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = ? and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ?) order by "nome" asc, "nome" asc) tabela;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = $2 and ano.ano = $3 and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = $4 and frequencia_aluno.periodo = $5 and curso.id_periodicidade_apontamento = $6 and not exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = $7 and notificacao_aluno.ano = $8 and notificacao_aluno.periodo = $9) order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 10:19:28 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
33 1 15.97 MiB 15.97 MiB 15.97 MiB 15.97 MiB 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);-
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 ($1, $2, $3, $4, $5) and exists ( select null from registro_lancamento_aval_desc registro where registro.data_atualizacao > $6 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: 2026-07-07 08:05:36 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
34 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB aluno.codigo as matricula, am.id_aluno_matricula, amt.id_turma as id_turma, cidadao.nome, coalesce(dc.numero_nis, ?) as nis, to_char(cidadao.nascimento_data, ?) as nasc, raca_cor.descricao as raca_cor, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_jan, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, ?) else null end as perc_freq_fev, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_mar, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_abr, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_mai, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_jun, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_jul, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_ago, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_set, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_out, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_nov, case when concat(?, ?)::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date) else null end as perc_freq_dez, sp_percentual_frequencia (am.id_aluno_matricula, ?) as perc_frequencia, coalesce(faltas.motivos || ?, ?) as motivos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join raca_cor on raca_cor.id_raca_cor = cidadao.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = cidadao.id_cidadao inner join aluno on aluno.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = am.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join lateral ( select fadd.id_aluno_matricula, fadd.id_turma, string_agg(distinct mfj.descricao, ? order by mfj.descricao) as motivos, count(*) as total from falta_aluno_disciplina_diario fadd left join motivo_falta_justificada mfj on mfj.id_motivo_falta_justificada = fadd.id_motivo_falta_justificada inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from fadd.data) where fadd.id_turma = ? and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = fadd.id_turma and disp.id_disciplina = fadd.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> array[fadd.id_nota_periodo_aluno])) and exists ( select null from calendario_periodo_data cpd where cpd.id_calendario = ? and cpd.data = fadd.data and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fadd.id_aluno_matricula and (mdp.periodos @> array[cpd.bimestre]) is true)) group by fadd.id_aluno_matricula, fadd.id_turma) as faltas on faltas.id_aluno_matricula = amt.id_aluno_matricula and faltas.id_turma = amt.id_turma where cidadao.id_instituicao = ? and amt.id_turma = ? and aluno_matr_status.flg_status_ativo is true and faltas.total > ? order by cidadao.nome;-
aluno.codigo as matricula, am.id_aluno_matricula, amt.id_turma as id_turma, cidadao.nome, coalesce(dc.numero_nis, '') as nis, to_char(cidadao.nascimento_data, 'dd/MM/yyyy') as nasc, raca_cor.descricao as raca_cor, case when concat($1, '-01-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($2, '-01-01')::date, concat($3, '-01-31')::date) else null end as perc_freq_jan, case when concat($4, '-02-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($5, '-02-01')::date, $6) else null end as perc_freq_fev, case when concat($7, '-03-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($8, '-03-01')::date, concat($9, '-03-31')::date) else null end as perc_freq_mar, case when concat($10, '-04-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($11, '-04-01')::date, concat($12, '-04-30')::date) else null end as perc_freq_abr, case when concat($13, '-05-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($14, '-05-01')::date, concat($15, '-05-31')::date) else null end as perc_freq_mai, case when concat($16, '-06-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($17, '-06-01')::date, concat($18, '-06-30')::date) else null end as perc_freq_jun, case when concat($19, '-07-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($20, '-07-01')::date, concat($21, '-07-31')::date) else null end as perc_freq_jul, case when concat($22, '-08-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($23, '-08-01')::date, concat($24, '-08-31')::date) else null end as perc_freq_ago, case when concat($25, '-09-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($26, '-09-01')::date, concat($27, '-09-30')::date) else null end as perc_freq_set, case when concat($28, '-10-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($29, '-10-01')::date, concat($30, '-10-31')::date) else null end as perc_freq_out, case when concat($31, '-11-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($32, '-11-01')::date, concat($33, '-11-30')::date) else null end as perc_freq_nov, case when concat($34, '-12-01')::date <= now() then sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($35, '-12-01')::date, concat($36, '-12-31')::date) else null end as perc_freq_dez, sp_percentual_frequencia (am.id_aluno_matricula, $37) as perc_frequencia, coalesce(faltas.motivos || '.', '') as motivos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join raca_cor on raca_cor.id_raca_cor = cidadao.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = cidadao.id_cidadao inner join aluno on aluno.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = am.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join lateral ( select fadd.id_aluno_matricula, fadd.id_turma, string_agg(distinct mfj.descricao, '; ' order by mfj.descricao) as motivos, count(*) as total from falta_aluno_disciplina_diario fadd left join motivo_falta_justificada mfj on mfj.id_motivo_falta_justificada = fadd.id_motivo_falta_justificada inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from fadd.data) where fadd.id_turma = $38 and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = fadd.id_turma and disp.id_disciplina = fadd.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> ARRAY[fadd.id_nota_periodo_aluno])) and exists ( select null from calendario_periodo_data cpd where cpd.id_calendario = $39 and cpd.data = fadd.data and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fadd.id_aluno_matricula and (mdp.periodos @> ARRAY[cpd.bimestre]) is true)) group by fadd.id_aluno_matricula, fadd.id_turma) as faltas on faltas.id_aluno_matricula = amt.id_aluno_matricula and faltas.id_turma = amt.id_turma where cidadao.id_instituicao = $40 and amt.id_turma = $41 and aluno_matr_status.flg_status_ativo is true and faltas.total > 0 order by cidadao.nome;
Date: 2026-07-07 07:50:53 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
35 1 27.95 MiB 27.95 MiB 27.95 MiB 27.95 MiB aluno.codigo as matricula, cidadao.nome, coalesce(dc.numero_nis, ?) as nis, to_char(cidadao.nascimento_data, ?) as nasc, raca_cor.descricao as raca_cor, faltas.fj, faltas.fnj, faltas.fj_e_fnj, faltas.total, coalesce(faltas.motivos || ?, ?) as motivos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join raca_cor on raca_cor.id_raca_cor = cidadao.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = cidadao.id_cidadao inner join aluno on aluno.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = am.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join lateral ( select id_aluno_matricula, id_turma, count(distinct case when faltas.fj >= faltas.aulas and faltas.fnj = ? then faltas.data else null end) as fj, count(distinct case when faltas.fnj >= faltas.aulas and faltas.fj = ? then faltas.data else null end) as fnj, count(distinct case when faltas.fj > ? and faltas.fnj > ? then faltas.data else null end) as fj_e_fnj, count(distinct faltas.data) as total, string_agg(distinct motivo, ? order by motivo) as motivos from ( select fadd.id_aluno_matricula, fadd.id_turma, fadd.data, mfj.descricao as motivo, fadd.flg_justificada, sum( case when fadd.flg_justificada then ? else ? end) over (partition by fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as fj, sum( case when fadd.flg_justificada then ? else ? end) over (partition by fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as fnj, count(*) over (partition by fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as total, ( select count(*) from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular where qh.id_turma = fadd.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and qh.dia_semana = ds.dia_semana and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= fadd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= fadd.data) and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = ? and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> array[fadd.id_nota_periodo_aluno]))) as aulas from falta_aluno_disciplina_diario fadd left join motivo_falta_justificada mfj on mfj.id_motivo_falta_justificada = fadd.id_motivo_falta_justificada inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from fadd.data) where fadd.id_turma = ? and extract(month from fadd.data) = ? and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = fadd.id_turma and disp.id_disciplina = fadd.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> array[fadd.id_nota_periodo_aluno])) and exists ( select null from calendario_periodo_data cpd where cpd.id_calendario = ? and cpd.data = fadd.data and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fadd.id_aluno_matricula and (mdp.periodos @> array[cpd.bimestre]) is true))) as faltas where faltas.total >= faltas.aulas group by faltas.id_aluno_matricula, faltas.id_turma) as faltas on faltas.id_aluno_matricula = amt.id_aluno_matricula and faltas.id_turma = amt.id_turma where cidadao.id_instituicao = ? and amt.id_turma = ? and aluno_matr_status.flg_status_ativo is true and faltas.total > ? order by cidadao.nome;-
aluno.codigo as matricula, cidadao.nome, coalesce(dc.numero_nis, '') as nis, to_char(cidadao.nascimento_data, 'dd/MM/yyyy') as nasc, raca_cor.descricao as raca_cor, faltas.fj, faltas.fnj, faltas.fj_e_fnj, faltas.total, coalesce(faltas.motivos || '.', '') as motivos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join raca_cor on raca_cor.id_raca_cor = cidadao.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = cidadao.id_cidadao inner join aluno on aluno.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = am.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join lateral ( select id_aluno_matricula, id_turma, count(distinct case when faltas.fj >= faltas.aulas and faltas.fnj = 0 then faltas.data else null end) as fj, count(distinct case when faltas.fnj >= faltas.aulas and faltas.fj = 0 then faltas.data else null end) as fnj, count(distinct case when faltas.fj > 0 and faltas.fnj > 0 then faltas.data else null end) as fj_e_fnj, count(distinct faltas.data) as total, string_agg(distinct motivo, '; ' order by motivo) as motivos from ( select fadd.id_aluno_matricula, fadd.id_turma, fadd.data, mfj.descricao as motivo, fadd.flg_justificada, sum( case when fadd.flg_justificada then 1 else 0 end) OVER (PARTITION BY fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as fj, sum( case when fadd.flg_justificada then 0 else 1 end) OVER (PARTITION BY fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as fnj, count(*) OVER (PARTITION BY fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as total, ( select count(*) from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular where qh.id_turma = fadd.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and qh.dia_semana = ds.dia_semana and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= fadd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= fadd.data) and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = $1 and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> ARRAY[fadd.id_nota_periodo_aluno]))) as aulas from falta_aluno_disciplina_diario fadd left join motivo_falta_justificada mfj on mfj.id_motivo_falta_justificada = fadd.id_motivo_falta_justificada inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from fadd.data) where fadd.id_turma = $2 and extract(month from fadd.data) = $3 and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = fadd.id_turma and disp.id_disciplina = fadd.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> ARRAY[fadd.id_nota_periodo_aluno])) and exists ( select null from calendario_periodo_data cpd where cpd.id_calendario = $4 and cpd.data = fadd.data and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fadd.id_aluno_matricula and (mdp.periodos @> ARRAY[cpd.bimestre]) is true))) as faltas where faltas.total >= faltas.aulas group by faltas.id_aluno_matricula, faltas.id_turma) as faltas on faltas.id_aluno_matricula = amt.id_aluno_matricula and faltas.id_turma = amt.id_turma where cidadao.id_instituicao = $5 and amt.id_turma = $6 and aluno_matr_status.flg_status_ativo is true and faltas.total > 0 order by cidadao.nome;
Date: 2026-07-07 13:08:05 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
36 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB unidade_mae.nome as rede_escolas, ( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on meoa.id_mec_escola_opcao_atributo = medoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = ? and medoa.id_unidade_funcional = uf.id_unidade_funcional) as localizacao_zona, uf.codigo, uf.nome as escola, case when ( select medoa.id_mec_escola_opcao_atributo from mec_escola_dados_opcao_atributo medoa where medoa.id_mec_escola_opcao_atributo in ( select meoa.id_mec_escola_opcao_atributo from mec_escola_opcao_atributo meoa where meoa.id_mec_escola_atributo = ? and valor = ?) and medoa.id_unidade_funcional = uf.id_unidade_funcional) is null then ? else ? end as indigena, case when turma.flg_multietapa then ? when turma.flg_multiseriada then ? else ? end as tipo, turma_status.descricao as situacao, ensino_etapa.sigla as etapa, modalidade.sigla as modalidade, curso.sigla as curso, case when curso.flg_itinerario_formativo and ensino_etapa.id_ensino_etapa = ? then ? when not curso.flg_itinerario_formativo and ensino_etapa.id_ensino_etapa = ? then ? else ? end as flg_itinerario_formativo, series.serie, turma.codigo, turma.nome, ano.ano || coalesce(? || ano.semestre, ?) as ano_semestre, turno.descricao as turno, case when turma.flg_multietapa then ? else ? end as multietapa, case when turma.flg_correcao_fluxo then ? else ? end as correcao_fluxo, case when turma.flg_frequencia_diaria then ? else ? end as frequencia_diaria, case when turma.flg_atividade_avaliativa then ? else ? end as atividade_avaliativa, case when turma.flg_avaliacao_qualitativa then ? else ? end as avaliacao_qualitativa, case when periodicidade_conteudo.flg_periodicidade_apontamento then periodicidade_apontamento.descricao else periodicidade_conteudo.descricao end as conteudo_curricular_diario, case when turma.flg_situacao_didatica then ? else ? end as situacao_didatica, case when exists ( select null from turma_quadro_homologado tqh where tqh.id_turma = turma.id_turma) then ? else ? end as quadro_homologado, case when turma.flg_plano_aula then ? else ? end as plano_aula, ambiente.num_sala, to_char(turma.hora_inicio_real, ?) as hora_inicio, to_char(turma.hora_final_real, ?) as hora_fim, turma.idade_minima, turma.idade_minima_meses, turma.idade_maxima, turma.idade_maxima_meses, mec_programa.descricao as mec_programa, series.serie, series.matriz, series.tipo_matriz, series.vagas_oferecidas, series.vagas_remanescentes, series.vagas_oferecidas - series.vagas_remanescentes as total_alunos, series.modelo_avaliacao_desc, series.modelo_observacao_estudante, series.modelo_acompanhamento_atitudinal, series.ficha_acompanhamento, mec_turma_local_func_diferenciado.descricao from turma inner join unidade_funcional uf on turma.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_status on turma_status.id_turma_status = turma.id_turma_status inner join curso on curso.id_curso = turma.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa inner join turno on turno.id_turno = turma.id_turno inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join periodicidade_conteudo on periodicidade_conteudo.id_periodicidade_conteudo = turma.id_periodicidade_conteudo inner join periodicidade_apontamento on periodicidade_apontamento.id_periodicidade_apontamento = curso.id_periodicidade_apontamento left join mec_turma_local_func_diferenciado on mec_turma_local_func_diferenciado.id_mec_turma_local_func_diferenciado = turma.id_mec_turma_local_func_diferenciado left join mec_estrutura_curricular_turma on mec_estrutura_curricular_turma.id_mec_estrutura_curricular_turma = turma.id_mec_estrutura_curricular_turma left join mec_tipo_atendimento_turma on mec_tipo_atendimento_turma.id_mec_tipo_atendimento_turma = turma.id_mec_tipo_atendimento_turma left join mec_programa on mec_programa.id_mec_programa = turma.id_mec_programa left join ( select ts.id_turma, string_agg(serie.sigla, ? order by serie.sigla, serie.id_serie) as serie, string_agg(grade.descricao, ? order by serie.sigla, serie.id_serie) as matriz, string_agg( case when grade.flg_padrao then ? else ? end, ? order by serie.sigla, serie.id_serie) as tipo_matriz, sum(ts.num_vagas_oferecidas) as vagas_oferecidas, sum(ts.num_vagas_remanescentes) as vagas_remanescentes, string_agg(modelo_avaliacao_desc.descricao, ? order by serie.sigla, serie.id_serie) as modelo_avaliacao_desc, string_agg(modelo_observacao_estudante.descricao, ? order by serie.sigla, serie.id_serie) as modelo_observacao_estudante, string_agg(modelo_acompanhamento_atitudinal.descricao, ? order by serie.sigla, serie.id_serie) as modelo_acompanhamento_atitudinal, ficha.ficha_acompanhamento from turma_serie ts inner join serie on serie.id_serie = ts.id_serie inner join grade_curricular grade on grade.id_grade_curricular = ts.id_grade_curricular left join modelo_avaliacao_desc on modelo_avaliacao_desc.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc left join modelo_avaliacao_desc modelo_observacao_estudante on modelo_observacao_estudante.id_modelo_avaliacao_desc = ts.id_modelo_observacao_estudante left join modelo_avaliacao_desc modelo_acompanhamento_atitudinal on modelo_acompanhamento_atitudinal.id_modelo_avaliacao_desc = ts.id_modelo_acompanhamento_atitudinal left join ( select string_agg(ficha_acompanhamento.descricao, ? order by ficha_acompanhamento.descricao) as ficha_acompanhamento, tsmad.id_turma from turma_serie_modelo_avaliacao_desc tsmad left join modelo_avaliacao_desc ficha_acompanhamento on tsmad.id_modelo_avaliacao_desc = ficha_acompanhamento.id_modelo_avaliacao_desc and ficha_acompanhamento.id_tipo_modelo_avaliacao_desc = ? group by tsmad.id_turma) as ficha on ts.id_turma = ficha.id_turma group by ts.id_turma, ficha.ficha_acompanhamento) as series on series.id_turma = turma.id_turma inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = ? inner join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae where uf.id_instituicao = ? and ano.ano = ? and turma.id_tipo_turma in (...) 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 = ?) and uf.id_municipio = ? order by escola, serie, curso;-
unidade_mae.nome as rede_escolas, ( select meoa.nome from mec_escola_dados_opcao_atributo medoa inner join mec_escola_opcao_atributo meoa on meoa.id_mec_escola_opcao_atributo = medoa.id_mec_escola_opcao_atributo where meoa.id_mec_escola_atributo = $1 and medoa.id_unidade_funcional = uf.id_unidade_funcional) as localizacao_zona, uf.codigo, uf.nome as escola, case when ( select medoa.id_mec_escola_opcao_atributo from mec_escola_dados_opcao_atributo medoa where medoa.id_mec_escola_opcao_atributo in ( select meoa.id_mec_escola_opcao_atributo from mec_escola_opcao_atributo meoa where meoa.id_mec_escola_atributo = $2 and valor = 1) and medoa.id_unidade_funcional = uf.id_unidade_funcional) is null then 'Não' else 'Sim' end as indigena, case when turma.flg_multietapa then 'Multietapa' when turma.flg_multiseriada then 'Multisseriada' else '' end as tipo, turma_status.descricao as situacao, ensino_etapa.sigla as etapa, modalidade.sigla as modalidade, curso.sigla as curso, case when curso.flg_itinerario_formativo and ensino_etapa.id_ensino_etapa = $3 then 'Itinerário Formativo' when not curso.flg_itinerario_formativo and ensino_etapa.id_ensino_etapa = $4 then 'Formação Geral Básica' else '' end as flg_itinerario_formativo, series.serie, turma.codigo, turma.nome, ano.ano || coalesce('/' || ano.semestre, '') as ano_semestre, turno.descricao as turno, case when turma.flg_multietapa then 'Sim' else 'Não' end as multietapa, case when turma.flg_correcao_fluxo then 'Sim' else 'Não' end as correcao_fluxo, case when turma.flg_frequencia_diaria then 'Sim' else 'Não' end as frequencia_diaria, case when turma.flg_atividade_avaliativa then 'Sim' else 'Não' end as atividade_avaliativa, case when turma.flg_avaliacao_qualitativa then 'Sim' else 'Não' end as avaliacao_qualitativa, case when periodicidade_conteudo.flg_periodicidade_apontamento then periodicidade_apontamento.descricao else periodicidade_conteudo.descricao end as conteudo_curricular_diario, case when turma.flg_situacao_didatica then 'Sim' else 'Não' end as situacao_didatica, case when exists ( select null from turma_quadro_homologado tqh where tqh.id_turma = turma.id_turma) then 'Sim' else 'Não' end as quadro_homologado, case when turma.flg_plano_aula then 'Sim' else 'Não' end as plano_aula, ambiente.num_sala, to_char(turma.hora_inicio_real, 'HH24:MI') as hora_inicio, to_char(turma.hora_final_real, 'HH24:MI') as hora_fim, turma.idade_minima, turma.idade_minima_meses, turma.idade_maxima, turma.idade_maxima_meses, mec_programa.descricao as mec_programa, series.serie, series.matriz, series.tipo_matriz, series.vagas_oferecidas, series.vagas_remanescentes, series.vagas_oferecidas - series.vagas_remanescentes as total_alunos, series.modelo_avaliacao_desc, series.modelo_observacao_estudante, series.modelo_acompanhamento_atitudinal, series.ficha_acompanhamento, mec_turma_local_func_diferenciado.descricao from turma inner join unidade_funcional uf on turma.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_status on turma_status.id_turma_status = turma.id_turma_status inner join curso on curso.id_curso = turma.id_curso inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa ON ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa inner join turno on turno.id_turno = turma.id_turno inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join periodicidade_conteudo ON periodicidade_conteudo.id_periodicidade_conteudo = turma.id_periodicidade_conteudo inner join periodicidade_apontamento on periodicidade_apontamento.id_periodicidade_apontamento = curso.id_periodicidade_apontamento left join mec_turma_local_func_diferenciado ON mec_turma_local_func_diferenciado.id_mec_turma_local_func_diferenciado = turma.id_mec_turma_local_func_diferenciado left join mec_estrutura_curricular_turma ON mec_estrutura_curricular_turma.id_mec_estrutura_curricular_turma = turma.id_mec_estrutura_curricular_turma left join mec_tipo_atendimento_turma on mec_tipo_atendimento_turma.id_mec_tipo_atendimento_turma = turma.id_mec_tipo_atendimento_turma left join mec_programa on mec_programa.id_mec_programa = turma.id_mec_programa left join ( select ts.id_turma, string_agg(serie.sigla, '; ' order by serie.sigla, serie.id_serie) as serie, string_agg(grade.descricao, '; ' order by serie.sigla, serie.id_serie) as matriz, string_agg( case when grade.flg_padrao then 'Padrão' else 'Específica' end, '; ' order by serie.sigla, serie.id_serie) as tipo_matriz, sum(ts.num_vagas_oferecidas) as vagas_oferecidas, sum(ts.num_vagas_remanescentes) as vagas_remanescentes, string_agg(modelo_avaliacao_desc.descricao, '; ' order by serie.sigla, serie.id_serie) as modelo_avaliacao_desc, string_agg(modelo_observacao_estudante.descricao, '; ' order by serie.sigla, serie.id_serie) as modelo_observacao_estudante, string_agg(modelo_acompanhamento_atitudinal.descricao, '; ' order by serie.sigla, serie.id_serie) as modelo_acompanhamento_atitudinal, ficha.ficha_acompanhamento from turma_serie ts inner join serie on serie.id_serie = ts.id_serie inner join grade_curricular grade on grade.id_grade_curricular = ts.id_grade_curricular left join modelo_avaliacao_desc on modelo_avaliacao_desc.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc left join modelo_avaliacao_desc modelo_observacao_estudante on modelo_observacao_estudante.id_modelo_avaliacao_desc = ts.id_modelo_observacao_estudante left join modelo_avaliacao_desc modelo_acompanhamento_atitudinal on modelo_acompanhamento_atitudinal.id_modelo_avaliacao_desc = ts.id_modelo_acompanhamento_atitudinal left join ( select string_agg(ficha_acompanhamento.descricao, '; ' order by ficha_acompanhamento.descricao) as ficha_acompanhamento, tsmad.id_turma from turma_serie_modelo_avaliacao_desc tsmad left join modelo_avaliacao_desc ficha_acompanhamento on tsmad.id_modelo_avaliacao_desc = ficha_acompanhamento.id_modelo_avaliacao_desc and ficha_acompanhamento.id_tipo_modelo_avaliacao_desc = $5 group by tsmad.id_turma) as ficha on ts.id_turma = ficha.id_turma group by ts.id_turma, ficha.ficha_acompanhamento) as series on series.id_turma = turma.id_turma inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = $6 inner join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae where uf.id_instituicao = $7 and ano.ano = $8 and turma.id_tipo_turma in ($9, $10) and uf.id_unidade_funcional in ( select $11 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $12 and id_assunto_hierarquia_unidade = $13) and uf.id_municipio = $14 order by escola, serie, curso;
Date: 2026-07-07 09:55:56 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
37 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status AS "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = ? and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) else null end AS "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and am.flg_matricula_atual is true and ano.ano = ? and ano.semestre is null and curso.id_curso = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ?) order by "nome" asc, "nome" asc) tabela;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status as "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = 1 and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) else null end as "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_unidade_funcional = $2 and am.flg_matricula_atual is true and ano.ano = $3 and ano.semestre is null and curso.id_curso = $4 and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = $5 and notificacao_aluno.periodo = $6) order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 09:53:45 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
38 1 27.95 MiB 27.95 MiB 27.95 MiB 27.95 MiB bolsa_escola_remessa.mes, mes.nome, count(*) as matriculados, sum( case when aluno_situacao.id_bolsa_escola_situacao = ? then ? else ? end) as inscritos, sum( case when aluno_situacao.id_bolsa_escola_motivo_nao_pagamento = ? then ? else ? end) as nao_inscritos, sum( case when aluno_situacao.flg_contemplado then ? else ? end) as contemplados, sum( case when aluno_situacao.flg_contemplado and remessa_resp.id_bolsa_escola_motivo_rejeicao is null then ? else ? end) as aluno_beneficio_confirmado, sum( case when aluno_situacao.flg_contemplado and remessa_resp.id_bolsa_escola_motivo_rejeicao is not null then ? else ? end) as rejeitado_aluno, count(distinct aluno_situacao.id_responsavel) as resp, count(distinct case when aluno_situacao.id_bolsa_escola_situacao = ? then aluno_situacao.id_responsavel else null end) as resp_inscritos, count(distinct aluno_situacao.id_responsavel) - count(distinct case when aluno_situacao.id_bolsa_escola_situacao = ? then aluno_situacao.id_responsavel else null end) as resp_nao_inscritos, count(distinct case when aluno_situacao.flg_contemplado then aluno_situacao.id_responsavel else null end) as resp_inscritos, count(distinct case when aluno_situacao.flg_contemplado and remessa_resp.id_bolsa_escola_motivo_rejeicao is null then aluno_situacao.id_responsavel else null end) as resp_beneficio_confirmado, count(distinct case when aluno_situacao.flg_contemplado and remessa_resp.id_bolsa_escola_motivo_rejeicao is not null then aluno_situacao.id_responsavel else null end) as resp_beneficio_rejeitado from bolsa_escola_remessa_aluno_situacao aluno_situacao inner join bolsa_escola_remessa on bolsa_escola_remessa.id_bolsa_escola_remessa = aluno_situacao.id_bolsa_escola_remessa left join bolsa_escola_remessa_resp remessa_resp on remessa_resp.id_bolsa_escola_remessa = bolsa_escola_remessa.id_bolsa_escola_remessa and remessa_resp.id_responsavel = aluno_situacao.id_responsavel and aluno_situacao.flg_contemplado is true and remessa_resp.id_bolsa_escola_remessa_resp_origem is null and remessa_resp.flg_pagamento_retroativo is false inner join mes on mes.id_mes = bolsa_escola_remessa.mes left join bolsa_escola_motivo_nao_pagamento motivo_nao_pagamento on motivo_nao_pagamento.id_bolsa_escola_motivo_nao_pagamento = aluno_situacao.id_bolsa_escola_motivo_nao_pagamento where aluno_situacao.ano = ? and aluno_situacao.id_aluno_matr_status = ? and bolsa_escola_remessa.id_instituicao = ? and bolsa_escola_remessa.ano = ? and (aluno_situacao.id_bolsa_escola_motivo_nao_pagamento is null or motivo_nao_pagamento.flg_ativo is true) and bolsa_escola_remessa.mes > ? and bolsa_escola_remessa.mes <= ? and bolsa_escola_remessa.id_bolsa_escola_situacao_remessa in (...) group by bolsa_escola_remessa.mes, mes.nome order by bolsa_escola_remessa.mes;-
-- alunos matriculados bolsa_escola_remessa.mes, mes.nome, count(*) as matriculados, --Inscritos sum( case when aluno_situacao.id_bolsa_escola_situacao = 1 then 1 else 0 end) as inscritos, --não inscritos sum( case when aluno_situacao.id_bolsa_escola_motivo_nao_pagamento = 15 then 1 else 0 end) as nao_inscritos, --contemplados sum( case when aluno_situacao.flg_contemplado then 1 else 0 end) as contemplados, --Alunos com benefício liberado sum( case when aluno_situacao.flg_contemplado and remessa_resp.id_bolsa_escola_motivo_rejeicao is null then 1 else 0 end) as aluno_beneficio_confirmado, -- Alunos com benefício rejeitados pelo banco sum( case when aluno_situacao.flg_contemplado and remessa_resp.id_bolsa_escola_motivo_rejeicao is not null then 1 else 0 end) as rejeitado_aluno, -- total de responsáveis count(distinct aluno_situacao.id_responsavel) as resp, -- responsáveis inscritos count(distinct case when aluno_situacao.id_bolsa_escola_situacao = 1 then aluno_situacao.id_responsavel else null end) as resp_inscritos, -- responsáveis não inscritos count(distinct aluno_situacao.id_responsavel) - count(distinct case when aluno_situacao.id_bolsa_escola_situacao = 1 then aluno_situacao.id_responsavel else null end) as resp_nao_inscritos, -- Responsáveis contemplados count(distinct case when aluno_situacao.flg_contemplado then aluno_situacao.id_responsavel else null end) as resp_inscritos, -- Responsável com benefício liberado count(distinct case when aluno_situacao.flg_contemplado and remessa_resp.id_bolsa_escola_motivo_rejeicao is null then aluno_situacao.id_responsavel else null end) as resp_beneficio_confirmado, -- Responsável com benefício rejeitado pelo banco count(distinct case when aluno_situacao.flg_contemplado and remessa_resp.id_bolsa_escola_motivo_rejeicao is not null then aluno_situacao.id_responsavel else null end) as resp_beneficio_rejeitado from bolsa_escola_remessa_aluno_situacao aluno_situacao inner join bolsa_escola_remessa on bolsa_escola_remessa.id_bolsa_escola_remessa = aluno_situacao.id_bolsa_escola_remessa left join bolsa_escola_remessa_resp remessa_resp on remessa_resp.id_bolsa_escola_remessa = bolsa_escola_remessa.id_bolsa_escola_remessa and remessa_resp.id_responsavel = aluno_situacao.id_responsavel and aluno_situacao.flg_contemplado is true and remessa_resp.id_bolsa_escola_remessa_resp_origem is null and remessa_resp.flg_pagamento_retroativo is false inner join mes on mes.id_mes = bolsa_escola_remessa.mes left join bolsa_escola_motivo_nao_pagamento motivo_nao_pagamento on motivo_nao_pagamento.id_bolsa_escola_motivo_nao_pagamento = aluno_situacao.id_bolsa_escola_motivo_nao_pagamento where aluno_situacao.ano = $1 and aluno_situacao.id_aluno_matr_status = 1 and bolsa_escola_remessa.id_instituicao = $2 and bolsa_escola_remessa.ano = $3 and (aluno_situacao.id_bolsa_escola_motivo_nao_pagamento is null or motivo_nao_pagamento.flg_ativo is true) and bolsa_escola_remessa.mes > 1 and bolsa_escola_remessa.mes <= $4 and bolsa_escola_remessa.id_bolsa_escola_situacao_remessa in (1, 2) group by bolsa_escola_remessa.mes, mes.nome order by bolsa_escola_remessa.mes;
Date: 2026-07-07 09:11:30 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
39 1 3.98 MiB 3.98 MiB 3.98 MiB 3.98 MiB c.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, c.nome, u.nome as unidade, to_char(c.nascimento_data, ?) as data_nascimento, tr.codigo as codigo_turma, sim_nao (am.flg_parecer_descritivo) as flg_parecer_descritivo, sim_nao (amtd.id_aluno_matricula notnull) as flg_turma_diversificada, string_agg(ne.descricao, ?) as descricao_necessidade, case when c.flg_laudo_medico_necessidade_esp then ( select a.identificador from arquivo a where a.id_arquivo = c.id_arquivo_laudo_medico limit ?) end as identificador_laudo from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao_necessidade_especial cne on cne.id_cidadao = c.id_cidadao inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial left join aluno_matr_turma amtr on amtr.id_aluno_matricula = am.id_aluno_matricula and amtr.id_tipo_enturmacao = ? left join turma tr on tr.id_turma = amtr.id_turma left join aluno_matr_turma amtd on amtd.id_aluno_matricula = am.id_aluno_matricula and amtd.id_tipo_enturmacao = ? left join turma td on td.id_turma = amtd.id_turma where am.id_serie = ? and ano.id_ano_semestre = ? and u.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 = ?) and am.id_aluno_matr_status in (...) and c.flg_necessidade_especial is true and u.id_municipio = ? group by c.id_cidadao, am.id_aluno_matricula, a.codigo, u.id_unidade_funcional, tr.codigo, am.flg_parecer_descritivo, amtd.id_aluno_matricula order by tr.codigo, c.nome limit ?;-
c.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, c.nome, u.nome as unidade, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, tr.codigo as codigo_turma, sim_nao (am.flg_parecer_descritivo) as flg_parecer_descritivo, sim_nao (amtd.id_aluno_matricula notnull) as flg_turma_diversificada, string_agg(ne.descricao, ', ') as descricao_necessidade, case when c.flg_laudo_medico_necessidade_esp then ( select a.identificador from arquivo a where a.id_arquivo = c.id_arquivo_laudo_medico limit 1) end as identificador_laudo from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao_necessidade_especial cne on cne.id_cidadao = c.id_cidadao inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial left join aluno_matr_turma amtr on amtr.id_aluno_matricula = am.id_aluno_matricula and amtr.id_tipo_enturmacao = $1 left join turma tr on tr.id_turma = amtr.id_turma left join aluno_matr_turma amtd on amtd.id_aluno_matricula = am.id_aluno_matricula and amtd.id_tipo_enturmacao = $2 left join turma td on td.id_turma = amtd.id_turma where am.id_serie = $3 and ano.id_ano_semestre = $4 and u.id_unidade_funcional in ( select $5 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $6 and id_assunto_hierarquia_unidade = $7) and am.id_aluno_matr_status in ($8, $9, $10) and c.flg_necessidade_especial is true and u.id_municipio = $11 group by c.id_cidadao, am.id_aluno_matricula, a.codigo, u.id_unidade_funcional, tr.codigo, am.flg_parecer_descritivo, amtd.id_aluno_matricula ORDER BY tr.codigo, c.nome limit 20;
Date: 2026-07-07 17:09:45 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
40 1 7.98 MiB 7.98 MiB 7.98 MiB 7.98 MiB select srv.registro_funcional as registro_funcional, cid.nome as nome_servidor, cg.descricao as cargo, sf.descricao as situacao_funcional, scb.id_servidor_cargo_base, true as flg_cargo_base, scb.matricula_cargo as matricula_cargo, scb.flg_aberto, cg.sigla as sigla, cid.id_instituicao as id_instituicao from servidor_cargo_base scb inner join servidor srv on (scb.id_cidadao = srv.id_cidadao) inner join cidadao cid on (srv.id_cidadao = cid.id_cidadao) inner join cargo cg on (cg.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) inner join srv_cb_inicio_exercicio srvexer on (srvexer.id_servidor_cargo_base = scb.id_servidor_cargo_base) union select srv.registro_funcional as registro_funcional, cid.nome as nome_servidor, cg.descricao as cargo, ? as situacao_funcional, scs.id_servidor_cargo_sobr_alt, false as flg_cargo_base, null as matricula_cargo, scs.flg_aberto, cg.sigla as sigla, cid.id_instituicao as id_instituicao from servidor_cargo_sobr_alt scs inner join cidadao cid on (scs.id_cidadao = cid.id_cidadao) inner join servidor srv on (scs.id_cidadao = srv.id_cidadao) inner join cargo cg on (cg.id_cargo = scs.id_cargo)) as servidor where servidor.flg_aberto = true and servidor.nome_servidor == = ? and servidor.id_instituicao = ? order by registro_funcional;-
Select srv.registro_funcional as registro_funcional, cid.nome as nome_servidor, cg.descricao as cargo, sf.descricao as situacao_funcional, scb.id_servidor_cargo_base, true as flg_cargo_base, scb.matricula_cargo as matricula_cargo, scb.flg_aberto, cg.sigla as sigla, cid.id_instituicao as id_instituicao From servidor_cargo_base scb inner join servidor srv on (scb.id_cidadao = srv.id_cidadao) inner join cidadao cid on (srv.id_cidadao = cid.id_cidadao) inner join cargo cg on (cg.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) inner join srv_cb_inicio_exercicio srvExer on (srvExer.id_servidor_cargo_base = scb.id_servidor_cargo_base) Union Select srv.registro_funcional as registro_funcional, cid.nome as nome_servidor, cg.descricao as cargo, 'Sobreposto' as situacao_funcional, scs.id_servidor_cargo_sobr_alt, false as flg_cargo_base, null as matricula_cargo, scs.flg_aberto, cg.sigla as sigla, cid.id_instituicao as id_instituicao From servidor_cargo_sobr_alt scs inner join cidadao cid on (scs.id_cidadao = cid.id_cidadao) inner join servidor srv on (scs.id_cidadao = srv.id_cidadao) inner join cargo cg on (cg.id_cargo = scs.id_cargo)) as servidor where servidor.flg_aberto = true and servidor.nome_servidor == = 'cledja' and servidor.id_instituicao = 92 order by registro_funcional;
Date: 2026-07-07 08:32:42 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
41 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) AS "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_aluno_matr_status in (...) and am.flg_matricula_atual and am.id_unidade_funcional = ? and ano.ano = ? and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = ? and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ? and notificacao_aluno.id_situacao_notificacao = ? and notificacao_aluno.id_responsavel_notificacao = ?) order by "serie" asc, "nome" asc limit ?;-
am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = $1 and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = $2 and ano.ano = $3 and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = $4 and frequencia_aluno.periodo = $5 and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = $6 and notificacao_aluno.ano = $7 and notificacao_aluno.periodo = $8 and notificacao_aluno.id_situacao_notificacao = $9 and notificacao_aluno.id_responsavel_notificacao = $10) order by "serie" asc, "nome" asc limit 10;
Date: 2026-07-07 08:29:36 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
42 1 7.98 MiB 7.98 MiB 7.98 MiB 7.98 MiB c.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, c.nome, u.nome as unidade, to_char(c.nascimento_data, ?) as data_nascimento, tr.codigo as codigo_turma, sim_nao (am.flg_parecer_descritivo) as flg_parecer_descritivo, sim_nao (amtd.id_aluno_matricula notnull) as flg_turma_diversificada, string_agg(ne.descricao, ?) as descricao_necessidade, case when c.flg_laudo_medico_necessidade_esp then ( select a.identificador from arquivo a where a.id_arquivo = c.id_arquivo_laudo_medico limit ?) end as identificador_laudo from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao_necessidade_especial cne on cne.id_cidadao = c.id_cidadao inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial left join aluno_matr_turma amtr on amtr.id_aluno_matricula = am.id_aluno_matricula and amtr.id_tipo_enturmacao = ? left join turma tr on tr.id_turma = amtr.id_turma left join aluno_matr_turma amtd on amtd.id_aluno_matricula = am.id_aluno_matricula and amtd.id_tipo_enturmacao = ? left join turma td on td.id_turma = amtd.id_turma where am.id_serie = ? and ano.id_ano_semestre = ? and u.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 = ?) and am.id_aluno_matr_status in (...) and c.flg_necessidade_especial is true and u.id_municipio = ? and c.flg_laudo_medico_necessidade_esp = ? group by c.id_cidadao, am.id_aluno_matricula, a.codigo, u.id_unidade_funcional, tr.codigo, am.flg_parecer_descritivo, amtd.id_aluno_matricula order by tr.codigo, c.nome) tabela;-
c.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, c.nome, u.nome as unidade, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, tr.codigo as codigo_turma, sim_nao (am.flg_parecer_descritivo) as flg_parecer_descritivo, sim_nao (amtd.id_aluno_matricula notnull) as flg_turma_diversificada, string_agg(ne.descricao, ', ') as descricao_necessidade, case when c.flg_laudo_medico_necessidade_esp then ( select a.identificador from arquivo a where a.id_arquivo = c.id_arquivo_laudo_medico limit 1) end as identificador_laudo from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao_necessidade_especial cne on cne.id_cidadao = c.id_cidadao inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial left join aluno_matr_turma amtr on amtr.id_aluno_matricula = am.id_aluno_matricula and amtr.id_tipo_enturmacao = $1 left join turma tr on tr.id_turma = amtr.id_turma left join aluno_matr_turma amtd on amtd.id_aluno_matricula = am.id_aluno_matricula and amtd.id_tipo_enturmacao = $2 left join turma td on td.id_turma = amtd.id_turma where am.id_serie = $3 and ano.id_ano_semestre = $4 and u.id_unidade_funcional in ( select $5 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $6 and id_assunto_hierarquia_unidade = $7) and am.id_aluno_matr_status in ($8, $9, $10) and c.flg_necessidade_especial is true and u.id_municipio = $11 and c.flg_laudo_medico_necessidade_esp = $12 group by c.id_cidadao, am.id_aluno_matricula, a.codigo, u.id_unidade_funcional, tr.codigo, am.flg_parecer_descritivo, amtd.id_aluno_matricula ORDER BY tr.codigo, c.nome) tabela;
Date: 2026-07-07 14:23:57 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
43 1 25.88 MiB 25.88 MiB 25.88 MiB 25.88 MiB id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then ? when ministrados < total then ? || asterisco else ? || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then ? else ? end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then ? else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo (?, c.serie_duracao = ?, c.id_periodicidade_apontamento = ?) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in (...) and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo (?, c.serie_duracao = ?, c.id_periodicidade_apontamento = ?) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;-
id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ($1, c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ($2, $3, $4, $5, $6, $7, $8) and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ($9, c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:26:56 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
44 1 7.98 MiB 7.98 MiB 7.98 MiB 7.98 MiB 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 = ? left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = ? and sda.id_serie = ? and componente_curricular.id_disciplina = ?) 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;-
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 in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = $2 and sda.id_serie = $3 and componente_curricular.id_disciplina = $4) left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $5 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $6 and ts.id_serie = $7 and cc.id_disciplina = $8 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2026-07-07 19:35:28 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
45 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB aluno.codigo as matricula, cidadao.nome, coalesce(dc.numero_nis, ?) as nis, to_char(cidadao.nascimento_data, ?) as nasc, raca_cor.descricao as raca_cor, faltas.fj, faltas.fnj, faltas.fj_e_fnj, faltas.total, coalesce(faltas.motivos || ?, ?) as motivos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join raca_cor on raca_cor.id_raca_cor = cidadao.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = cidadao.id_cidadao inner join aluno on aluno.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = am.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join lateral ( select id_aluno_matricula, id_turma, count(distinct case when faltas.fj >= faltas.aulas and faltas.fnj = ? then faltas.data else null end) as fj, count(distinct case when faltas.fnj >= faltas.aulas and faltas.fj = ? then faltas.data else null end) as fnj, count(distinct case when faltas.fj > ? and faltas.fnj > ? then faltas.data else null end) as fj_e_fnj, count(distinct faltas.data) as total, string_agg(distinct motivo, ? order by motivo) as motivos from ( select fadd.id_aluno_matricula, fadd.id_turma, fadd.data, mfj.descricao as motivo, fadd.flg_justificada, sum( case when fadd.flg_justificada then ? else ? end) over (partition by fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as fj, sum( case when fadd.flg_justificada then ? else ? end) over (partition by fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as fnj, count(*) over (partition by fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as total, ( select count(*) from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular where qh.id_turma = fadd.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and qh.dia_semana = ds.dia_semana and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= fadd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= fadd.data) and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = ? and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> array[fadd.id_nota_periodo_aluno]))) as aulas from falta_aluno_disciplina_diario fadd left join motivo_falta_justificada mfj on mfj.id_motivo_falta_justificada = fadd.id_motivo_falta_justificada inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from fadd.data) where fadd.id_turma = ? and extract(month from fadd.data) = ? and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = fadd.id_turma and disp.id_disciplina = fadd.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> array[fadd.id_nota_periodo_aluno])) and exists ( select null from calendario_periodo_data cpd where cpd.id_calendario = ? and cpd.data = fadd.data and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fadd.id_aluno_matricula and (mdp.periodos @> array[cpd.bimestre]) is true))) as faltas where faltas.total >= faltas.aulas group by faltas.id_aluno_matricula, faltas.id_turma) as faltas on faltas.id_aluno_matricula = amt.id_aluno_matricula and faltas.id_turma = amt.id_turma where cidadao.id_instituicao = ? and amt.id_turma = ? and aluno_matr_status.flg_status_ativo is true and faltas.total > ? and serie.id_serie = ? order by cidadao.nome;-
aluno.codigo as matricula, cidadao.nome, coalesce(dc.numero_nis, '') as nis, to_char(cidadao.nascimento_data, 'dd/MM/yyyy') as nasc, raca_cor.descricao as raca_cor, faltas.fj, faltas.fnj, faltas.fj_e_fnj, faltas.total, coalesce(faltas.motivos || '.', '') as motivos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join raca_cor on raca_cor.id_raca_cor = cidadao.id_raca_cor left join documentos_cidadao dc on dc.id_cidadao = cidadao.id_cidadao inner join aluno on aluno.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = am.id_aluno_matr_status inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join lateral ( select id_aluno_matricula, id_turma, count(distinct case when faltas.fj >= faltas.aulas and faltas.fnj = 0 then faltas.data else null end) as fj, count(distinct case when faltas.fnj >= faltas.aulas and faltas.fj = 0 then faltas.data else null end) as fnj, count(distinct case when faltas.fj > 0 and faltas.fnj > 0 then faltas.data else null end) as fj_e_fnj, count(distinct faltas.data) as total, string_agg(distinct motivo, '; ' order by motivo) as motivos from ( select fadd.id_aluno_matricula, fadd.id_turma, fadd.data, mfj.descricao as motivo, fadd.flg_justificada, sum( case when fadd.flg_justificada then 1 else 0 end) OVER (PARTITION BY fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as fj, sum( case when fadd.flg_justificada then 0 else 1 end) OVER (PARTITION BY fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as fnj, count(*) OVER (PARTITION BY fadd.data, fadd.id_aluno_matricula, fadd.id_turma) as total, ( select count(*) from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular where qh.id_turma = fadd.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and qh.dia_semana = ds.dia_semana and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= fadd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= fadd.data) and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = $1 and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> ARRAY[fadd.id_nota_periodo_aluno]))) as aulas from falta_aluno_disciplina_diario fadd left join motivo_falta_justificada mfj on mfj.id_motivo_falta_justificada = fadd.id_motivo_falta_justificada inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from fadd.data) where fadd.id_turma = $2 and extract(month from fadd.data) = $3 and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = fadd.id_aluno_matricula and disp.id_turma = fadd.id_turma and disp.id_disciplina = fadd.id_disciplina and (disp.flg_dispensado_todos_periodos or disp.periodos @> ARRAY[fadd.id_nota_periodo_aluno])) and exists ( select null from calendario_periodo_data cpd where cpd.id_calendario = $4 and cpd.data = fadd.data and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = fadd.id_aluno_matricula and (mdp.periodos @> ARRAY[cpd.bimestre]) is true))) as faltas where faltas.total >= faltas.aulas group by faltas.id_aluno_matricula, faltas.id_turma) as faltas on faltas.id_aluno_matricula = amt.id_aluno_matricula and faltas.id_turma = amt.id_turma where cidadao.id_instituicao = $5 and amt.id_turma = $6 and aluno_matr_status.flg_status_ativo is true and faltas.total > 0 and serie.id_serie = $7 order by cidadao.nome;
Date: 2026-07-07 11:32:41 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
46 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB lca.id_local_class_atribuicao as id, ano.ano, cidadao.nome as nome_cidadao, servidor.registro_funcional, cargo.sigla as sigla_cargo, uf.codigo as codigo_unidade, uf.nome as nome_unidade, local_atribuicao.matricula_cargo as matricula_cargo, cargo.descricao as nome_cargo, jtt.sigla as jornada, jtos.horas_atribuidas, ano.id_ano_semestre, cidadao.id_cidadao, cargo.id_cargo from local_class_atribuicao lca inner join ano_semestre ano on ano.id_ano_semestre = lca.id_ano_semestre inner join servidor on servidor.id_cidadao = lca.id_cidadao inner join cidadao on cidadao.id_cidadao = servidor.id_cidadao inner join unidade_funcional uf on uf.id_unidade_funcional = lca.id_unidade_funcional left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = ? inner join ( select lcacb.id_local_class_atribuicao, scb.id_cargo, jtocb.id_jorn_trabalho_opcao_serv, scb.matricula_cargo as matricula_cargo from local_class_atrib_cargo_base lcacb inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = lcacb.id_servidor_cargo_base inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = lcacb.id_servidor_cargo_base where scb.flg_aberto = true union all select lcacs.id_local_class_atribuicao, scs.id_cargo, jtocs.id_jorn_trabalho_opcao_serv, null as matricula_cargo from local_class_atrib_cargo_sobrep lcacs inner join servidor_cargo_sobr_alt scs on scs.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt where scs.flg_aberto = true) local_atribuicao on local_atribuicao.id_local_class_atribuicao = lca.id_local_class_atribuicao inner join cargo on cargo.id_cargo = local_atribuicao.id_cargo inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = local_atribuicao.id_jorn_trabalho_opcao_serv and jtos.ano = ano.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo, to_tsquery(?) query where cidadao.id_instituicao = ? and ano.ano = ? and cidadao.fts @@ query order by cidadao.nome, servidor.registro_funcional limit ?;-
lca.id_local_class_atribuicao as id, ano.ano, cidadao.nome as nome_cidadao, servidor.registro_funcional, cargo.sigla as sigla_cargo, uf.codigo as codigo_unidade, uf.nome as nome_unidade, local_atribuicao.matricula_cargo as matricula_cargo, cargo.descricao as nome_cargo, jtt.sigla as jornada, jtos.horas_atribuidas, ano.id_ano_semestre, cidadao.id_cidadao, cargo.id_cargo from local_class_atribuicao lca inner join ano_semestre ano on ano.id_ano_semestre = lca.id_ano_semestre inner join servidor on servidor.id_cidadao = lca.id_cidadao inner join cidadao on cidadao.id_cidadao = servidor.id_cidadao inner join unidade_funcional uf on uf.id_unidade_funcional = lca.id_unidade_funcional left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = $1 inner join ( select lcacb.id_local_class_atribuicao, scb.id_cargo, jtocb.id_jorn_trabalho_opcao_serv, scb.matricula_cargo as matricula_cargo from local_class_atrib_cargo_base lcacb inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = lcacb.id_servidor_cargo_base inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = lcacb.id_servidor_cargo_base where scb.flg_aberto = true union all select lcacs.id_local_class_atribuicao, scs.id_cargo, jtocs.id_jorn_trabalho_opcao_serv, null as matricula_cargo from local_class_atrib_cargo_sobrep lcacs inner join servidor_cargo_sobr_alt scs on scs.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = lcacs.id_servidor_cargo_sobr_alt where scs.flg_aberto = true) local_atribuicao on local_atribuicao.id_local_class_atribuicao = lca.id_local_class_atribuicao inner join cargo on cargo.id_cargo = local_atribuicao.id_cargo inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = local_atribuicao.id_jorn_trabalho_opcao_serv and jtos.ano = ano.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo, to_tsquery($2) query where cidadao.id_instituicao = $3 and ano.ano = $4 and cidadao.fts @@ query order by cidadao.nome, servidor.registro_funcional limit 10;
Date: 2026-07-07 08:04:57 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
47 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB limit ? offset ?;-
limit 26 offset 50;
Date: 2026-07-07 14:40:09 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
48 1 15.97 MiB 15.97 MiB 15.97 MiB 15.97 MiB aluno.codigo as codigo_aluno, cidadao.nome as nome_cidadao, cidadao.nascimento_data, turma.codigo as codigo_turma, greatest (?, coalesce(sum(fag.falta_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ? as percentual_fj, greatest (?, coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ? as percentual_fnj, (greatest (?, ? - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ?) as percentual_frequencia from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join cidadao on am.id_cidadao = cidadao.id_cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ano.ano inner join lateral ( select count(cpd.data) as total from calendario_periodo_data cpd left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where cpd.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and cd.id_motivo_dia_nao_letivo is null and (cpd.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra is not null)) dias_letivos on true inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = am.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = tp.id_nota_periodo_aluno where serie.flg_apon_falta_globalizado is true and turma.flg_organizada is true and am.id_aluno_matr_status in (...) and turma.id_turma_status in (...) and turma.id_unidade_funcional = ? and ano.id_ano_semestre = ? and modalidade.id_ensino_etapa = ? and serie.id_serie = ? and tp.id_nota_periodo_aluno in (...) group by aluno.id_cidadao, aluno.codigo, cidadao.nome, cidadao.nascimento_data, turma.codigo having (greatest (?, ? - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ?) between ? and ? union all select aluno.codigo as codigo_aluno, cidadao.nome as nome_cidadao, cidadao.nascimento_data, turma.codigo as codigo_turma, greatest (?, coalesce(sum(fad.falta_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ? as percentual_fj, greatest (?, coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ? as percentual_fnj, greatest (?, (? - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ?) as percentual_frequencia from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join cidadao on am.id_cidadao = cidadao.id_cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ? left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ? inner join lateral ( select qh.id_turma, qh.id_componente_curricular, cast(count(qh.id_quadro_horario_homologado) as integer) as aulas from quadro_horario_homologado qh inner join calendario_periodo_data on calendario_periodo_data.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and calendario_periodo_data.dia_semana = qh.dia_semana left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data where qh.id_turma = turma.id_turma and calendario_periodo_data.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and calendario_data.id_motivo_dia_nao_letivo is null and calendario_data.id_motivo_dia_nao_letivo is 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) and not exists ( select null from adequacao_carga_horaria_turma acht inner join adequacao_carga_horaria ach on ach.id_adequacao_carga_horaria = acht.id_adequacao_carga_horaria where acht.id_turma = turma.id_turma and acht.data = calendario_periodo_data.data and ach.id_tipo_adequacao_carga_horaria = ? and ach.flg_exige_reposicao is true) group by qh.id_turma, qh.id_componente_curricular) as aulas on aulas.id_turma = turma.id_turma and aulas.id_componente_curricular = cc.id_componente_curricular and cc.flg_aponta_faltas is true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = am.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and fad.id_turma >= ? and fad.id_turma < ? where serie.flg_apon_falta_globalizado is false and turma.flg_organizada is true and am.id_aluno_matr_status in (...) and turma.id_turma_status in (...) and turma.id_unidade_funcional = ? and ano.id_ano_semestre = ? and modalidade.id_ensino_etapa = ? and serie.id_serie = ? and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = amt.id_turma and dispensa.id_disciplina = cc.id_disciplina and (dispensa.flg_dispensado_todos_periodos is true or dispensa.periodos @> array[tp.id_nota_periodo_aluno])) and tp.id_nota_periodo_aluno in (...) group by aluno.codigo, cidadao.nome, cidadao.nascimento_data, turma.codigo, am.id_aluno_matricula having count(fad.id_aluno_matricula) > ? and greatest (?, (? - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ?) between ? and ? order by nome_cidadao, codigo_aluno limit ? offset ?;-
aluno.codigo as codigo_aluno, cidadao.nome as nome_cidadao, cidadao.nascimento_data, turma.codigo as codigo_turma, greatest (0, coalesce(sum(fag.falta_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100 as percentual_fj, greatest (0, coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100 as percentual_fnj, (greatest (0, 1 - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100) as percentual_frequencia from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join cidadao on am.id_cidadao = cidadao.id_cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ano.ano inner join lateral ( select count(cpd.data) as total from calendario_periodo_data cpd left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where cpd.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and cd.id_motivo_dia_nao_letivo is null and (cpd.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra is not null)) dias_letivos on true inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = am.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = tp.id_nota_periodo_aluno where serie.flg_apon_falta_globalizado is true and turma.flg_organizada is true and am.id_aluno_matr_status in (1, 2, 7) and turma.id_turma_status in (1, 2) and turma.id_unidade_funcional = $1 and ano.id_ano_semestre = $2 and modalidade.id_ensino_etapa = $3 and serie.id_serie = $4 and tp.id_nota_periodo_aluno in ($5, $6) group by aluno.id_cidadao, aluno.codigo, cidadao.nome, cidadao.nascimento_data, turma.codigo having (greatest (0, 1 - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100) between $7 and $8 union all select aluno.codigo as codigo_aluno, cidadao.nome as nome_cidadao, cidadao.nascimento_data, turma.codigo as codigo_turma, greatest (0, coalesce(sum(fad.falta_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100 as percentual_fj, greatest (0, coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100 as percentual_fnj, greatest (0, (1 - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100) as percentual_frequencia from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join cidadao on am.id_cidadao = cidadao.id_cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = $9 left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = $10 inner join lateral ( select qh.id_turma, qh.id_componente_curricular, cast(count(qh.id_quadro_horario_homologado) as integer) as aulas from quadro_horario_homologado qh inner join calendario_periodo_data on calendario_periodo_data.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and calendario_periodo_data.dia_semana = qh.dia_semana left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data where qh.id_turma = turma.id_turma and calendario_periodo_data.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and calendario_data.id_motivo_dia_nao_letivo is null and calendario_data.id_motivo_dia_nao_letivo is 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) and not exists ( select null from adequacao_carga_horaria_turma acht inner join adequacao_carga_horaria ach on ach.id_adequacao_carga_horaria = acht.id_adequacao_carga_horaria where acht.id_turma = turma.id_turma and acht.data = calendario_periodo_data.data and ach.id_tipo_adequacao_carga_horaria = 2 and ach.flg_exige_reposicao is true) group by qh.id_turma, qh.id_componente_curricular) as aulas on aulas.id_turma = turma.id_turma and aulas.id_componente_curricular = cc.id_componente_curricular and cc.flg_aponta_faltas is true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = am.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and fad.id_turma >= $11 and fad.id_turma < $12 where serie.flg_apon_falta_globalizado is false and turma.flg_organizada is true and am.id_aluno_matr_status in (1, 2, 7) and turma.id_turma_status in (1, 2) and turma.id_unidade_funcional = $13 and ano.id_ano_semestre = $14 and modalidade.id_ensino_etapa = $15 and serie.id_serie = $16 and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = amt.id_turma and dispensa.id_disciplina = cc.id_disciplina and (dispensa.flg_dispensado_todos_periodos is true or dispensa.periodos @> ARRAY[tp.id_nota_periodo_aluno])) and tp.id_nota_periodo_aluno in ($17, $18) group by aluno.codigo, cidadao.nome, cidadao.nascimento_data, turma.codigo, am.id_aluno_matricula having count(fad.id_aluno_matricula) > 0 and greatest (0, (1 - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100) between $19 and $20 order by nome_cidadao, codigo_aluno limit 10 offset 10;
Date: 2026-07-07 09:14:21 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
49 1 59.88 MiB 59.88 MiB 59.88 MiB 59.88 MiB 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, exists ( select null from conteudo_organizado_aula_conteudo coc inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coc.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado 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 conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai 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 ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;-
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, exists ( select null from conteudo_organizado_aula_conteudo coc inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coc.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado 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 conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $1 and ts.id_serie = $2 and cc.id_disciplina = $3 order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2026-07-07 08:59:52 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
50 1 11.98 MiB 11.98 MiB 11.98 MiB 11.98 MiB c.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, c.nome, u.nome as unidade, to_char(c.nascimento_data, ?) as data_nascimento, tr.codigo as codigo_turma, sim_nao (am.flg_parecer_descritivo) as flg_parecer_descritivo, sim_nao (amtd.id_aluno_matricula notnull) as flg_turma_diversificada, string_agg(ne.descricao, ?) as descricao_necessidade, case when c.flg_laudo_medico_necessidade_esp then ( select a.identificador from arquivo a where a.id_arquivo = c.id_arquivo_laudo_medico limit ?) end as identificador_laudo from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao_necessidade_especial cne on cne.id_cidadao = c.id_cidadao inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial left join aluno_matr_turma amtr on amtr.id_aluno_matricula = am.id_aluno_matricula and amtr.id_tipo_enturmacao = ? left join turma tr on tr.id_turma = amtr.id_turma left join aluno_matr_turma amtd on amtd.id_aluno_matricula = am.id_aluno_matricula and amtd.id_tipo_enturmacao = ? left join turma td on td.id_turma = amtd.id_turma where am.id_serie = ? and ano.id_ano_semestre = ? and u.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 = ?) and am.id_aluno_matr_status in (...) and c.flg_necessidade_especial is true and u.id_municipio = ? group by c.id_cidadao, am.id_aluno_matricula, a.codigo, u.id_unidade_funcional, tr.codigo, am.flg_parecer_descritivo, amtd.id_aluno_matricula order by tr.codigo, c.nome) tabela;-
c.id_cidadao, am.id_aluno_matricula, a.codigo as matricula, c.nome, u.nome as unidade, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, tr.codigo as codigo_turma, sim_nao (am.flg_parecer_descritivo) as flg_parecer_descritivo, sim_nao (amtd.id_aluno_matricula notnull) as flg_turma_diversificada, string_agg(ne.descricao, ', ') as descricao_necessidade, case when c.flg_laudo_medico_necessidade_esp then ( select a.identificador from arquivo a where a.id_arquivo = c.id_arquivo_laudo_medico limit 1) end as identificador_laudo from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao_necessidade_especial cne on cne.id_cidadao = c.id_cidadao inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial left join aluno_matr_turma amtr on amtr.id_aluno_matricula = am.id_aluno_matricula and amtr.id_tipo_enturmacao = $1 left join turma tr on tr.id_turma = amtr.id_turma left join aluno_matr_turma amtd on amtd.id_aluno_matricula = am.id_aluno_matricula and amtd.id_tipo_enturmacao = $2 left join turma td on td.id_turma = amtd.id_turma where am.id_serie = $3 and ano.id_ano_semestre = $4 and u.id_unidade_funcional in ( select $5 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $6 and id_assunto_hierarquia_unidade = $7) and am.id_aluno_matr_status in ($8, $9, $10) and c.flg_necessidade_especial is true and u.id_municipio = $11 group by c.id_cidadao, am.id_aluno_matricula, a.codigo, u.id_unidade_funcional, tr.codigo, am.flg_parecer_descritivo, amtd.id_aluno_matricula ORDER BY tr.codigo, c.nome) tabela;
Date: 2026-07-07 16:25:20 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
51 1 7.98 MiB 7.98 MiB 7.98 MiB 7.98 MiB ( select count(*) from informe_unidade_funcional where id_informe_portal = ip.id_informe_portal and id_status_portal = ?) as unidades, headline (ip.titulo, q) as titulo, case when to_tsvector(ip.texto) @@ q then ? || headline (ip.texto, q) || ? else ? end || case when to_tsvector(ip.fonte) @@ q then ? || headline (ip.fonte, q) || ? else ? end || case when to_tsvector(ip.autor) @@ q then ? || headline (ip.autor, q) || ? else ? end || case when to_tsvector(ip.chamada) @@ q then ? || headline (ip.chamada, q) || ? else ? end as chamada, coalesce( case when not ip.autor = ? then ? || ip.autor || ? else ? end, ?) || ? || grupo_portal.nome || ? || to_char(ip.data_inicial, ?) || ? || to_char(ip.data_final, ?) as informacoes, imagem.identificador AS "identificadorImagem", imagem.tipo from informe_portal ip left join imagem on imagem.id_imagem = ip.imagem_chamada inner join instituicao on instituicao.id_instituicao = ip.id_instituicao left join grupo_portal on grupo_portal.id_grupo_portal = ip.id_grupo_portal, to_tsquery(?) as q where ip.fts @@ q and ip.id_instituicao = ? and (exists ( select null from informe_unidade_funcional unidade where unidade.id_status_portal = ? and unidade.id_informe_portal = ip.id_informe_portal) or exists ( select null from informe_pagina_avulsa_portal pagina where pagina.id_status_portal = ? and pagina.id_informe_portal = ip.id_informe_portal) or exists ( select null from informe_ator ator where ator.id_status_portal = ? and ator.id_informe_portal = ip.id_informe_portal)) and ((current_date between ip.data_inicial and ip.data_final) or (current_date > ip.data_inicial and ip.data_final isnull) or (ip.data_inicial isnull and current_date < ip.data_final) or (ip.data_inicial isnull and ip.data_final isnull)) and ip.id_instituicao = ? limit ? offset ?;-
( select count(*) from informe_unidade_funcional where id_informe_portal = ip.id_informe_portal and id_status_portal = $1) as unidades, headline (ip.titulo, q) as titulo, case when to_tsvector(ip.texto) @@ q then '[Texto] "' || headline (ip.texto, q) || '"<br />' else '' end || case when to_tsvector(ip.fonte) @@ q then '[Fonte] "' || headline (ip.fonte, q) || '"<br />' else '' end || case when to_tsvector(ip.autor) @@ q then '[Autor] "' || headline (ip.autor, q) || '"<br />' else '' end || case when to_tsvector(ip.chamada) @@ q then '[Chamada] "' || headline (ip.chamada, q) || '"<br />' else '' end as chamada, coalesce( case when not ip.autor = '' then 'Autor: ' || ip.autor || ' - ' else '' end, '') || 'Categoria: ' || grupo_portal.nome || ' - Período: ' || to_char(ip.data_inicial, 'DD/MM/YYYY') || ' a ' || to_char(ip.data_final, 'DD/MM/YYYY') as informacoes, imagem.identificador as "identificadorImagem", imagem.tipo from informe_portal ip left join imagem on imagem.id_imagem = ip.imagem_chamada inner join instituicao on instituicao.id_instituicao = ip.id_instituicao left join grupo_portal on grupo_portal.id_grupo_portal = ip.id_grupo_portal, to_tsquery($2) as q where ip.fts @@ q and ip.id_instituicao = $3 and (exists ( select null from informe_unidade_funcional unidade where unidade.id_status_portal = $4 and unidade.id_informe_portal = ip.id_informe_portal) or exists ( select null from informe_pagina_avulsa_portal pagina where pagina.id_status_portal = $5 and pagina.id_informe_portal = ip.id_informe_portal) or exists ( select null from informe_ator ator where ator.id_status_portal = $6 and ator.id_informe_portal = ip.id_informe_portal)) and ((current_date between ip.data_inicial and ip.data_final) or (current_date > ip.data_inicial and ip.data_final isnull) or (ip.data_inicial isnull and current_date < ip.data_final) or (ip.data_inicial isnull and ip.data_final isnull)) and ip.id_instituicao = $7 limit 10 offset 190;
Date: 2026-07-07 08:21:41 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
52 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB aluno.codigo as codigo_aluno, cidadao.nome as nome_cidadao, cidadao.nascimento_data, turma.codigo as codigo_turma, greatest (?, coalesce(sum(fag.falta_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ? as percentual_fj, greatest (?, coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ? as percentual_fnj, (greatest (?, ? - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ?) as percentual_frequencia from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join cidadao on am.id_cidadao = cidadao.id_cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ano.ano inner join lateral ( select count(cpd.data) as total from calendario_periodo_data cpd left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where cpd.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and cd.id_motivo_dia_nao_letivo is null and (cpd.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra is not null)) dias_letivos on true inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = am.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = tp.id_nota_periodo_aluno where serie.flg_apon_falta_globalizado is true and turma.flg_organizada is true and am.id_aluno_matr_status in (...) and turma.id_turma_status in (...) and turma.id_unidade_funcional = ? and ano.id_ano_semestre = ? and modalidade.id_ensino_etapa = ? and serie.id_serie = ? and tp.id_nota_periodo_aluno in (...) group by aluno.id_cidadao, aluno.codigo, cidadao.nome, cidadao.nascimento_data, turma.codigo having (greatest (?, ? - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ?) between ? and ? union all select aluno.codigo as codigo_aluno, cidadao.nome as nome_cidadao, cidadao.nascimento_data, turma.codigo as codigo_turma, greatest (?, coalesce(sum(fad.falta_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ? as percentual_fj, greatest (?, coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ? as percentual_fnj, greatest (?, (? - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ?) as percentual_frequencia from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join cidadao on am.id_cidadao = cidadao.id_cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ? left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ? inner join lateral ( select qh.id_turma, qh.id_componente_curricular, cast(count(qh.id_quadro_horario_homologado) as integer) as aulas from quadro_horario_homologado qh inner join calendario_periodo_data on calendario_periodo_data.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and calendario_periodo_data.dia_semana = qh.dia_semana left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data where qh.id_turma = turma.id_turma and calendario_periodo_data.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and calendario_data.id_motivo_dia_nao_letivo is null and calendario_data.id_motivo_dia_nao_letivo is 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) and not exists ( select null from adequacao_carga_horaria_turma acht inner join adequacao_carga_horaria ach on ach.id_adequacao_carga_horaria = acht.id_adequacao_carga_horaria where acht.id_turma = turma.id_turma and acht.data = calendario_periodo_data.data and ach.id_tipo_adequacao_carga_horaria = ? and ach.flg_exige_reposicao is true) group by qh.id_turma, qh.id_componente_curricular) as aulas on aulas.id_turma = turma.id_turma and aulas.id_componente_curricular = cc.id_componente_curricular and cc.flg_aponta_faltas is true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = am.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and fad.id_turma >= ? and fad.id_turma < ? where serie.flg_apon_falta_globalizado is false and turma.flg_organizada is true and am.id_aluno_matr_status in (...) and turma.id_turma_status in (...) and turma.id_unidade_funcional = ? and ano.id_ano_semestre = ? and modalidade.id_ensino_etapa = ? and serie.id_serie = ? and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = amt.id_turma and dispensa.id_disciplina = cc.id_disciplina and (dispensa.flg_dispensado_todos_periodos is true or dispensa.periodos @> array[tp.id_nota_periodo_aluno])) and tp.id_nota_periodo_aluno in (...) group by aluno.codigo, cidadao.nome, cidadao.nascimento_data, turma.codigo, am.id_aluno_matricula having count(fad.id_aluno_matricula) > ? and greatest (?, (? - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ?) between ? and ? order by nome_cidadao, codigo_aluno limit ?;-
aluno.codigo as codigo_aluno, cidadao.nome as nome_cidadao, cidadao.nascimento_data, turma.codigo as codigo_turma, greatest (0, coalesce(sum(fag.falta_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100 as percentual_fj, greatest (0, coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100 as percentual_fnj, (greatest (0, 1 - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100) as percentual_frequencia from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join cidadao on am.id_cidadao = cidadao.id_cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ano.ano inner join lateral ( select count(cpd.data) as total from calendario_periodo_data cpd left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where cpd.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and cd.id_motivo_dia_nao_letivo is null and (cpd.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra is not null)) dias_letivos on true inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = am.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = tp.id_nota_periodo_aluno where serie.flg_apon_falta_globalizado is true and turma.flg_organizada is true and am.id_aluno_matr_status in (1, 2, 7) and turma.id_turma_status in (1, 2) and turma.id_unidade_funcional = $1 and ano.id_ano_semestre = $2 and modalidade.id_ensino_etapa = $3 and serie.id_serie = $4 and tp.id_nota_periodo_aluno in ($5) group by aluno.id_cidadao, aluno.codigo, cidadao.nome, cidadao.nascimento_data, turma.codigo having (greatest (0, 1 - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100) between $6 and $7 union all select aluno.codigo as codigo_aluno, cidadao.nome as nome_cidadao, cidadao.nascimento_data, turma.codigo as codigo_turma, greatest (0, coalesce(sum(fad.falta_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100 as percentual_fj, greatest (0, coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100 as percentual_fnj, greatest (0, (1 - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100) as percentual_frequencia from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join cidadao on am.id_cidadao = cidadao.id_cidadao inner join aluno on cidadao.id_cidadao = aluno.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = $8 left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = $9 inner join lateral ( select qh.id_turma, qh.id_componente_curricular, cast(count(qh.id_quadro_horario_homologado) as integer) as aulas from quadro_horario_homologado qh inner join calendario_periodo_data on calendario_periodo_data.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and calendario_periodo_data.dia_semana = qh.dia_semana left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data where qh.id_turma = turma.id_turma and calendario_periodo_data.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and calendario_data.id_motivo_dia_nao_letivo is null and calendario_data.id_motivo_dia_nao_letivo is 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) and not exists ( select null from adequacao_carga_horaria_turma acht inner join adequacao_carga_horaria ach on ach.id_adequacao_carga_horaria = acht.id_adequacao_carga_horaria where acht.id_turma = turma.id_turma and acht.data = calendario_periodo_data.data and ach.id_tipo_adequacao_carga_horaria = 2 and ach.flg_exige_reposicao is true) group by qh.id_turma, qh.id_componente_curricular) as aulas on aulas.id_turma = turma.id_turma and aulas.id_componente_curricular = cc.id_componente_curricular and cc.flg_aponta_faltas is true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = am.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and fad.id_turma >= $10 and fad.id_turma < $11 where serie.flg_apon_falta_globalizado is false and turma.flg_organizada is true and am.id_aluno_matr_status in (1, 2, 7) and turma.id_turma_status in (1, 2) and turma.id_unidade_funcional = $12 and ano.id_ano_semestre = $13 and modalidade.id_ensino_etapa = $14 and serie.id_serie = $15 and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = amt.id_turma and dispensa.id_disciplina = cc.id_disciplina and (dispensa.flg_dispensado_todos_periodos is true or dispensa.periodos @> ARRAY[tp.id_nota_periodo_aluno])) and tp.id_nota_periodo_aluno in ($16) group by aluno.codigo, cidadao.nome, cidadao.nascimento_data, turma.codigo, am.id_aluno_matricula having count(fad.id_aluno_matricula) > 0 and greatest (0, (1 - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100) between $17 and $18 order by nome_cidadao, codigo_aluno limit 10;
Date: 2026-07-07 10:05:20 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
53 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB etapa.id_ensino_etapa as id, etapa.descricao AS "descricaoEtapa", coalesce(count(distinct professores.id_servidor_cargo_base), ?)::int as total from ( values (?, ?, false), (?, ?, true), (?, ?, false), (?, ?, false)) as etapa (id_ensino_etapa, descricao, ef1) left join ( select etapa.id_ensino_etapa, etapa.id_ensino_etapa = ? and etapa_mec.flg_ensino_fundamental_anos_iniciais is true as ef1, tras.id_servidor_cargo_base from turma inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_regencia_atribuicao tra on tra.id_turma = turma.id_turma inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao inner join grade_curricular gc on gc.id_grade_curricular = turma.id_grade_curricular inner join serie on serie.id_serie = gc.id_serie left join mec_ensino_etapa_serie etapa_mec on etapa_mec.id_mec_ensino_etapa_serie = serie.id_mec_ensino_etapa inner join curso on curso.id_curso = serie.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa etapa on etapa.id_ensino_etapa = modalidade.id_ensino_etapa where turma.id_unidade_funcional in ( select ? as id_unidade_funcional union all select huf.id_unidade_funcional_filha from hierarquia_unidade_extendida huf where huf.id_unidade_funcional_mae = ? and huf.id_assunto_hierarquia_unidade = ?) and ano.ano = ? union select etapa.id_ensino_etapa, etapa.id_ensino_etapa = ? and etapa_mec.flg_ensino_fundamental_anos_iniciais is true as ef1, tcs.id_servidor_cargo_base from turma inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_componente tc on tc.id_turma = turma.id_turma inner join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente inner join grade_curricular gc on gc.id_grade_curricular = turma.id_grade_curricular inner join serie on serie.id_serie = gc.id_serie left join mec_ensino_etapa_serie etapa_mec on etapa_mec.id_mec_ensino_etapa_serie = serie.id_mec_ensino_etapa inner join curso on curso.id_curso = serie.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa etapa on etapa.id_ensino_etapa = modalidade.id_ensino_etapa where turma.id_unidade_funcional in ( select ? as id_unidade_funcional union all select huf.id_unidade_funcional_filha from hierarquia_unidade_extendida huf where huf.id_unidade_funcional_mae = ? and huf.id_assunto_hierarquia_unidade = ?) and ano.ano = ? union select etapa.id_ensino_etapa, etapa.id_ensino_etapa = ? and etapa_mec.flg_ensino_fundamental_anos_iniciais is true as ef1, trah.id_servidor_cargo_base from turma inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_regencia_atribuicao tra on tra.id_turma = turma.id_turma inner join turma_regencia_atrib_hist trah on trah.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao inner join grade_curricular gc on gc.id_grade_curricular = turma.id_grade_curricular inner join serie on serie.id_serie = gc.id_serie left join mec_ensino_etapa_serie etapa_mec on etapa_mec.id_mec_ensino_etapa_serie = serie.id_mec_ensino_etapa inner join curso on curso.id_curso = serie.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa etapa on etapa.id_ensino_etapa = modalidade.id_ensino_etapa where turma.id_unidade_funcional in ( select ? as id_unidade_funcional union all select huf.id_unidade_funcional_filha from hierarquia_unidade_extendida huf where huf.id_unidade_funcional_mae = ? and huf.id_assunto_hierarquia_unidade = ?) and ano.ano = ? and trah.id_atrib_motivo_disp = ? union select etapa.id_ensino_etapa, etapa.id_ensino_etapa = ? and etapa_mec.flg_ensino_fundamental_anos_iniciais is true as ef1, tch.id_servidor_cargo_base from turma inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_componente tc on tc.id_turma = turma.id_turma inner join turma_componente_historico tch on tch.id_turma_componente = tc.id_turma_componente inner join grade_curricular gc on gc.id_grade_curricular = turma.id_grade_curricular inner join serie on serie.id_serie = gc.id_serie left join mec_ensino_etapa_serie etapa_mec on etapa_mec.id_mec_ensino_etapa_serie = serie.id_mec_ensino_etapa inner join curso on curso.id_curso = serie.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa etapa on etapa.id_ensino_etapa = modalidade.id_ensino_etapa where turma.id_unidade_funcional in ( select ? as id_unidade_funcional union all select huf.id_unidade_funcional_filha from hierarquia_unidade_extendida huf where huf.id_unidade_funcional_mae = ? and huf.id_assunto_hierarquia_unidade = ?) and ano.ano = ? and tch.id_atrib_motivo_disp = ?) as professores on professores.id_ensino_etapa = etapa.id_ensino_etapa and professores.ef1 = etapa.ef1 where etapa.id_ensino_etapa in (...) group by etapa.id_ensino_etapa, etapa.descricao order by etapa.id_ensino_etapa, etapa.descricao;-
etapa.id_ensino_etapa as id, etapa.descricao as "descricaoEtapa", coalesce(count(distinct professores.id_servidor_cargo_base), 0)::int as total from ( values (1, 'Educação Infantil', false), (2, 'Ensino Fundamental I', true), (2, 'Ensino Fundamental II', false), (3, 'Ensino Médio', false)) as etapa (id_ensino_etapa, descricao, ef1) left join ( select etapa.id_ensino_etapa, etapa.id_ensino_etapa = 2 and etapa_mec.flg_ensino_fundamental_anos_iniciais is true as ef1, tras.id_servidor_cargo_base from turma inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_regencia_atribuicao tra on tra.id_turma = turma.id_turma inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao inner join grade_curricular gc on gc.id_grade_curricular = turma.id_grade_curricular inner join serie on serie.id_serie = gc.id_serie left join mec_ensino_etapa_serie etapa_mec on etapa_mec.id_mec_ensino_etapa_serie = serie.id_mec_ensino_etapa inner join curso on curso.id_curso = serie.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa etapa on etapa.id_ensino_etapa = modalidade.id_ensino_etapa where turma.id_unidade_funcional in ( select $1 as id_unidade_funcional union all select huf.id_unidade_funcional_filha from hierarquia_unidade_extendida huf where huf.id_unidade_funcional_mae = $2 and huf.id_assunto_hierarquia_unidade = $3) and ano.ano = $4 union select etapa.id_ensino_etapa, etapa.id_ensino_etapa = 2 and etapa_mec.flg_ensino_fundamental_anos_iniciais is true as ef1, tcs.id_servidor_cargo_base from turma inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_componente tc on tc.id_turma = turma.id_turma inner join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente inner join grade_curricular gc on gc.id_grade_curricular = turma.id_grade_curricular inner join serie on serie.id_serie = gc.id_serie left join mec_ensino_etapa_serie etapa_mec on etapa_mec.id_mec_ensino_etapa_serie = serie.id_mec_ensino_etapa inner join curso on curso.id_curso = serie.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa etapa on etapa.id_ensino_etapa = modalidade.id_ensino_etapa where turma.id_unidade_funcional in ( select $5 as id_unidade_funcional union all select huf.id_unidade_funcional_filha from hierarquia_unidade_extendida huf where huf.id_unidade_funcional_mae = $6 and huf.id_assunto_hierarquia_unidade = $7) and ano.ano = $8 union select etapa.id_ensino_etapa, etapa.id_ensino_etapa = 2 and etapa_mec.flg_ensino_fundamental_anos_iniciais is true as ef1, trah.id_servidor_cargo_base from turma inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_regencia_atribuicao tra on tra.id_turma = turma.id_turma inner join turma_regencia_atrib_hist trah on trah.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao inner join grade_curricular gc on gc.id_grade_curricular = turma.id_grade_curricular inner join serie on serie.id_serie = gc.id_serie left join mec_ensino_etapa_serie etapa_mec on etapa_mec.id_mec_ensino_etapa_serie = serie.id_mec_ensino_etapa inner join curso on curso.id_curso = serie.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa etapa on etapa.id_ensino_etapa = modalidade.id_ensino_etapa where turma.id_unidade_funcional in ( select $9 as id_unidade_funcional union all select huf.id_unidade_funcional_filha from hierarquia_unidade_extendida huf where huf.id_unidade_funcional_mae = $10 and huf.id_assunto_hierarquia_unidade = $11) and ano.ano = $12 and trah.id_atrib_motivo_disp = 4 union select etapa.id_ensino_etapa, etapa.id_ensino_etapa = 2 and etapa_mec.flg_ensino_fundamental_anos_iniciais is true as ef1, tch.id_servidor_cargo_base from turma inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_componente tc on tc.id_turma = turma.id_turma inner join turma_componente_historico tch on tch.id_turma_componente = tc.id_turma_componente inner join grade_curricular gc on gc.id_grade_curricular = turma.id_grade_curricular inner join serie on serie.id_serie = gc.id_serie left join mec_ensino_etapa_serie etapa_mec on etapa_mec.id_mec_ensino_etapa_serie = serie.id_mec_ensino_etapa inner join curso on curso.id_curso = serie.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade inner join ensino_etapa etapa on etapa.id_ensino_etapa = modalidade.id_ensino_etapa where turma.id_unidade_funcional in ( select $13 as id_unidade_funcional union all select huf.id_unidade_funcional_filha from hierarquia_unidade_extendida huf where huf.id_unidade_funcional_mae = $14 and huf.id_assunto_hierarquia_unidade = $15) and ano.ano = $16 and tch.id_atrib_motivo_disp = 4) as professores on professores.id_ensino_etapa = etapa.id_ensino_etapa and professores.ef1 = etapa.ef1 where etapa.id_ensino_etapa in (1, 2, 3) group by etapa.id_ensino_etapa, etapa.descricao order by etapa.id_ensino_etapa, etapa.descricao;
Date: 2026-07-07 15:49:53 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
54 1 15.97 MiB 15.97 MiB 15.97 MiB 15.97 MiB insert into nota_aluno_atividade (flg_nao_compareceu_rp, id_turma, id_atividade_avaliativa, id_nota_periodo_aluno, id_aluno_matricula, flg_nao_compareceu, id_disciplina, nota) values (?, ?, ?, ?, ?, ?, ?, ?);-
insert into nota_aluno_atividade (flg_nao_compareceu_rp, id_turma, id_atividade_avaliativa, id_nota_periodo_aluno, id_aluno_matricula, flg_nao_compareceu, id_disciplina, nota) values ($1, $2, $3, $4, $5, $6, $7, $8);
Date: 2026-07-07 08:03:55 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
55 1 27.95 MiB 27.95 MiB 27.95 MiB 27.95 MiB id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre, count(id_aluno_matricula) as alunos from ( select serie.id_serie, turma.id_ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, ano.ano || coalesce(? || ano.semestre, ?) as ano_semestre, amt.id_aluno_matricula from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ? left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ? inner join lateral ( select count(cpd.data) as total from calendario_periodo_data cpd left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where cpd.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and cd.id_motivo_dia_nao_letivo is null and (cpd.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra is not null)) dias_letivos on true inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = am.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = tp.id_nota_periodo_aluno where serie.flg_apon_falta_globalizado is true and turma.flg_organizada is true and am.id_aluno_matr_status in (...) and turma.id_turma_status in (...) and turma.id_unidade_funcional = ? and ano.ano = ? and modalidade.id_ensino_etapa = ? and tp.id_nota_periodo_aluno in (...) group by serie.id_serie, turma.id_ano_semestre, curso.sigla, serie.sigla, amt.id_aluno_matricula, ano_semestre having greatest (?, (? - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * ?.?), ?)) * ?) between ? and ?) as apontamento_globalizado group by id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre union all select id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre, count(id_aluno_matricula) as alunos from ( select serie.id_serie, turma.id_ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, ano.ano || coalesce(? || ano.semestre, ?) as ano_semestre, amt.id_aluno_matricula from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_serie ts on ts.id_turma = turma.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ? left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = ? inner join lateral ( select qh.id_turma, qh.id_componente_curricular, cast(count(qh.id_quadro_horario_homologado) as integer) as aulas from quadro_horario_homologado qh inner join calendario_periodo_data on calendario_periodo_data.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and calendario_periodo_data.dia_semana = qh.dia_semana left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data where qh.id_turma = turma.id_turma and calendario_periodo_data.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and calendario_data.id_motivo_dia_nao_letivo is null and calendario_data.id_motivo_dia_nao_letivo is 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) and not exists ( select null from adequacao_carga_horaria_turma acht inner join adequacao_carga_horaria ach on ach.id_adequacao_carga_horaria = acht.id_adequacao_carga_horaria where acht.id_turma = turma.id_turma and acht.data = calendario_periodo_data.data and ach.id_tipo_adequacao_carga_horaria = ? and ach.flg_exige_reposicao is true) group by qh.id_turma, qh.id_componente_curricular) as aulas on aulas.id_turma = turma.id_turma and aulas.id_componente_curricular = cc.id_componente_curricular and cc.flg_aponta_faltas is true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = am.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and fad.id_turma >= ? and fad.id_turma < ? where serie.flg_apon_falta_globalizado is false and turma.flg_organizada is true and am.id_aluno_matr_status in (...) and turma.id_turma_status in (...) and turma.id_unidade_funcional = ? and ano.ano = ? and modalidade.id_ensino_etapa = ? and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = amt.id_turma and dispensa.id_disciplina = cc.id_disciplina and (dispensa.flg_dispensado_todos_periodos is true or dispensa.periodos @> array[tp.id_nota_periodo_aluno])) and tp.id_nota_periodo_aluno in (...) group by serie.id_serie, turma.id_ano_semestre, curso.sigla, serie.sigla, amt.id_aluno_matricula, ano_semestre having count(fad.id_aluno_matricula) > ? and greatest (?, (? - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, ?)) * ?.?), ?)) * ?) between ? and ?) as apontamento_por_disciplina group by id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre order by sigla_curso, sigla_serie, ano_semestre limit ?;-
id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre, count(id_aluno_matricula) as alunos from ( select serie.id_serie, turma.id_ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, ano.ano || coalesce('/' || ano.semestre, '') as ano_semestre, amt.id_aluno_matricula from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = $1 left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = $2 inner join lateral ( select count(cpd.data) as total from calendario_periodo_data cpd left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where cpd.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and cd.id_motivo_dia_nao_letivo is null and (cpd.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra is not null)) dias_letivos on true inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = am.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = tp.id_nota_periodo_aluno where serie.flg_apon_falta_globalizado is true and turma.flg_organizada is true and am.id_aluno_matr_status in (1, 2, 7) and turma.id_turma_status in (1, 2) and turma.id_unidade_funcional = $3 and ano.ano = $4 and modalidade.id_ensino_etapa = $5 and tp.id_nota_periodo_aluno in ($6, $7) group by serie.id_serie, turma.id_ano_semestre, curso.sigla, serie.sigla, amt.id_aluno_matricula, ano_semestre having greatest (0, (1 - coalesce(sum(fag.falta_nao_justificada) / (sum(dias_letivos.total) * 1.0), 0)) * 100) between $8 and $9) as apontamento_globalizado group by id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre union all select id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre, count(id_aluno_matricula) as alunos from ( select serie.id_serie, turma.id_ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, ano.ano || coalesce('/' || ano.semestre, '') as ano_semestre, amt.id_aluno_matricula from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = turma.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 modalidade on modalidade.id_modalidade = curso.id_modalidade inner join turma_serie ts on ts.id_turma = turma.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join turma_periodo tp on tp.id_turma = amt.id_turma left join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = $10 left join curso_calendario on curso_calendario.id_unidade_funcional = turma.id_unidade_funcional and curso_calendario.id_curso = turma.id_curso and curso_calendario.ano = $11 inner join lateral ( select qh.id_turma, qh.id_componente_curricular, cast(count(qh.id_quadro_horario_homologado) as integer) as aulas from quadro_horario_homologado qh inner join calendario_periodo_data on calendario_periodo_data.id_calendario = coalesce(turma.id_calendario_turma, curso_calendario.id_calendario, escola_calendario.id_calendario) and calendario_periodo_data.dia_semana = qh.dia_semana left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data where qh.id_turma = turma.id_turma and calendario_periodo_data.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and calendario_data.id_motivo_dia_nao_letivo is null and calendario_data.id_motivo_dia_nao_letivo is 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) and not exists ( select null from adequacao_carga_horaria_turma acht inner join adequacao_carga_horaria ach on ach.id_adequacao_carga_horaria = acht.id_adequacao_carga_horaria where acht.id_turma = turma.id_turma and acht.data = calendario_periodo_data.data and ach.id_tipo_adequacao_carga_horaria = 2 and ach.flg_exige_reposicao is true) group by qh.id_turma, qh.id_componente_curricular) as aulas on aulas.id_turma = turma.id_turma and aulas.id_componente_curricular = cc.id_componente_curricular and cc.flg_aponta_faltas is true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = am.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and fad.id_turma >= $12 and fad.id_turma < $13 where serie.flg_apon_falta_globalizado is false and turma.flg_organizada is true and am.id_aluno_matr_status in (1, 2, 7) and turma.id_turma_status in (1, 2) and turma.id_unidade_funcional = $14 and ano.ano = $15 and modalidade.id_ensino_etapa = $16 and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = amt.id_turma and dispensa.id_disciplina = cc.id_disciplina and (dispensa.flg_dispensado_todos_periodos is true or dispensa.periodos @> ARRAY[tp.id_nota_periodo_aluno])) and tp.id_nota_periodo_aluno in ($17, $18) group by serie.id_serie, turma.id_ano_semestre, curso.sigla, serie.sigla, amt.id_aluno_matricula, ano_semestre having count(fad.id_aluno_matricula) > 0 and greatest (0, (1 - coalesce(sum(fad.falta_nao_justificada) / (sum(coalesce(aulas.aulas, 0)) * 1.0), 0)) * 100) between $19 and $20) as apontamento_por_disciplina group by id_serie, id_ano_semestre, sigla_curso, sigla_serie, ano_semestre order by sigla_curso, sigla_serie, ano_semestre limit 10;
Date: 2026-07-07 08:58:46 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
56 1 7.98 MiB 7.98 MiB 7.98 MiB 7.98 MiB a.codigo as matricula, am.id_aluno_matricula as aluno_matricula, c.nome, c.nascimento_data, ase.ano || coalesce(? || cast(ase.semestre as varchar), ?) as ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, t.codigo as codigo_turma, ams.descricao as situacao, t.id_turma, case when exists ( select null from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma) then true else false end as avaliacao_desc, case when exists ( select null from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma) then true else false end as ficha_acomp from aluno_matricula am inner join ano_semestre ase on ase.id_ano_semestre = am.id_ano_semestre inner join cidadao c on am.id_cidadao = c.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join turma t on t.id_turma = amt.id_turma inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where t.id_unidade_funcional = ? and c.id_instituicao = ? and exists ( select apontamento.id_aluno_matricula from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma and apontamento.id_nota_periodo_aluno = ?) and ase.ano = ? and c.fts @@ to_tsquery(?) union select a.codigo as matricula, am.id_aluno_matricula as aluno_matricula, c.nome, c.nascimento_data, ase.ano || coalesce(? || cast(ase.semestre as varchar), ?) as ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, t.codigo as codigo_turma, ams.descricao as situacao, t.id_turma, case when exists ( select null from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma) then true else false end as avaliacao_desc, case when exists ( select null from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma) then true else false end as ficha_acomp from aluno_matricula am inner join ano_semestre ase on ase.id_ano_semestre = am.id_ano_semestre inner join cidadao c on am.id_cidadao = c.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma and t.flg_especial is false inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where t.id_unidade_funcional = ? and c.id_instituicao = ? and exists ( select apontamento.id_aluno_matricula from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma and apontamento.id_nota_periodo_aluno = ?) and ase.ano = ? and c.fts @@ to_tsquery(?) order by matricula;-
a.codigo as matricula, am.id_aluno_matricula as aluno_matricula, c.nome, c.nascimento_data, ase.ano || coalesce('/' || CAST(ase.semestre AS varchar), '') as ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, t.codigo as codigo_turma, ams.descricao as situacao, t.id_turma, case when exists ( select null from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma) then true else false end as avaliacao_desc, case when exists ( select null from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma) then true else false end as ficha_acomp from aluno_matricula am inner join ano_semestre ase on ase.id_ano_semestre = am.id_ano_semestre inner join cidadao c on am.id_cidadao = c.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join turma t ON t.id_turma = amt.id_turma inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where t.id_unidade_funcional = $1 and c.id_instituicao = $2 and exists ( select apontamento.id_aluno_matricula from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma and apontamento.id_nota_periodo_aluno = $3) and ase.ano = $4 and c.fts @@ to_tsquery($5) union select a.codigo as matricula, am.id_aluno_matricula as aluno_matricula, c.nome, c.nascimento_data, ase.ano || coalesce('/' || CAST(ase.semestre AS varchar), '') as ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, t.codigo as codigo_turma, ams.descricao as situacao, t.id_turma, case when exists ( select null from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma) then true else false end as avaliacao_desc, case when exists ( select null from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma) then true else false end as ficha_acomp from aluno_matricula am inner join ano_semestre ase on ase.id_ano_semestre = am.id_ano_semestre inner join cidadao c on am.id_cidadao = c.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma t ON t.id_turma = amt.id_turma and t.flg_especial is false inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where t.id_unidade_funcional = $6 and c.id_instituicao = $7 and exists ( select apontamento.id_aluno_matricula from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma and apontamento.id_nota_periodo_aluno = $8) and ase.ano = $9 and c.fts @@ to_tsquery($10) order by matricula;
Date: 2026-07-07 07:50:42 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
57 1 3.98 MiB 3.98 MiB 3.98 MiB 3.98 MiB un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, ?) as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(?, nullif (ce.endereco, ?), nullif (ce.numero, ?), nullif (ce.complemento, ?)) || coalesce(? || nullif (formatar_cep (ce.cep), ?)) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ?) from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ? order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ? order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r on r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel on c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce on ce.id_cidadao = cidadao.id_cidadao left join municipio on municipio.id_municipio = ce.id_municipio 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 (...) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = ? left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = ? and am.id_unidade_funcional in ( select ? union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?) and ano.ano = ? and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo in (...) and ano.semestre is null and curso.id_curso = ? and uf.id_municipio = ? order by cidadao.nome;-
un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(', ', nullif (ce.endereco, ''), nullif (ce.numero, ''), nullif (ce.complemento, '')) || coalesce(' - ' || nullif (formatar_cep (ce.cep), '')) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ', ' order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ', ' order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r ON r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel ON c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce ON ce.id_cidadao = cidadao.id_cidadao left join municipio ON municipio.id_municipio = ce.id_municipio 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) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = $1 left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = $2 and am.id_unidade_funcional in ( select $3 union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = $4 and id_assunto_hierarquia_unidade = $5) and ano.ano = $6 and frequencia_aluno.id_monitoramento_frequencia = $7 and frequencia_aluno.periodo in ($8) and ano.semestre is null and curso.id_curso = $9 and uf.id_municipio = $10 order by cidadao.nome;
Date: 2026-07-07 19:12:06 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
Queries generating the largest temporary files
Rank Size Query 1 410.33 MiB select ;[ Date: 2026-07-07 13:45:00 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
2 320.18 MiB select ;[ Date: 2026-07-07 16:55:31 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
3 299.18 MiB select uf.codigo as codigo, uf.nome as unidade, s.registro_funcional as rf, cid.nome, sf.descricao as situacao_funcional, scb.matricula_cargo as matricula, c.sigla as sigla_cargo, c.descricao as descricao_cargo, p.funcoes as funcao, q.atividades as atividade, escolaridade.descricao as escolaridade, r.cursos as curso, t.tipos as tipo, u.habilitacoes as habilitacao, r.formacao, atribuicao.aulas from cidadao cid inner join servidor s on s.id_cidadao = cid.id_cidadao inner join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao inner join unidade_funcional uf on (uf.id_unidade_funcional = $1 or uf.id_unidade_funcional in ( select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = $2 and hue.id_assunto_hierarquia_unidade = $3)) inner join cargo c on c.id_cargo = scb.id_cargo inner join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional left join srv_cb_inicio_exercicio sie on sie.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento scbd on scbd.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Funções left join ( select funcao.id_unidade_funcional, funcao.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as funcoes from servidor_funcao funcao inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = funcao.id_funcao_atividade_servidor left join servidor_funcao_fim sff on sff.id_servidor_funcao = funcao.id_servidor_funcao where funcao.data_inicio::date <= $4::date --em função até a data de referência and (sff.data_fim is null or (sff.data_fim is not null and sff.data_fim::date >= $5::date)) group by funcao.id_unidade_funcional, funcao.id_servidor_cargo_base) p on p.id_unidade_funcional = uf.id_unidade_funcional and p.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Atividades left join ( select atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as atividades from servidor_atividade atividade inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = atividade.id_funcao_atividade_servidor where atividade.data_inicio::date <= $6::date --em atividade até a data de referência and (atividade.data_fim is null or atividade.data_fim::date >= $7::date) group by atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base) q on q.id_unidade_funcional_servico = uf.id_unidade_funcional and q.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade escolaridade on escolaridade.id_grau_escolaridade = s.id_grau_escolaridade -- Cursos left join ( select c.id_cidadao, string_agg(c.descricao, ', ' order by c.data_conclusao nulls last) as cursos, string_agg(c.formacao, ', ' order by c.data_conclusao nulls last) as formacao from ( select distinct sct.id_cidadao, sct.data_conclusao, coalesce(mcs.descricao, sct.descricao) as descricao, md.descricao as formacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior left join mec_disciplina md on md.id_mec_disciplina = sct.id_mec_disciplina) c group by c.id_cidadao) r on r.id_cidadao = s.id_cidadao -- Tipos de curso left join ( select t.id_cidadao, string_agg(t.tipo, ', ' order by t.data_conclusao nulls last) as tipos from ( select distinct sct.id_cidadao, sct.data_conclusao, cgt.descricao as tipo from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) t group by t.id_cidadao) t on t.id_cidadao = s.id_cidadao -- Habilitações left join ( select u.id_cidadao, string_agg(u.habilitacao, ', ' order by u.data_conclusao nulls last) as habilitacoes from ( select distinct sct.id_cidadao, sct.data_conclusao, habilitacao.descricao as habilitacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) u group by u.id_cidadao) u on u.id_cidadao = s.id_cidadao --Atribuição de aulas left join ( select aulas.id_servidor_cargo_base, aulas.id_unidade_funcional, string_agg(aulas.disciplina, ', ' order by aulas.disciplina) as aulas from ( -- atribuição por Componente curricular select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_componente_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join componente_curricular cc on cc.id_componente_curricular = atribuicao.id_componente_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select $8 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $9 and id_assunto_hierarquia_unidade = $10) and atribuicao.data_inicio::date <= $11::date and case turma.id_turma_status = $12 when true then (atribuicao.data_fim::date >= $13::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= $14::date) end union all -- atribuição por regência de classe select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_regencia_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc2 on cc2.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc2.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select $15 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $16 and id_assunto_hierarquia_unidade = $17) and atribuicao.data_inicio::date <= $18::date and case turma.id_turma_status = $19 when true then (atribuicao.data_fim::date >= $20::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= $21::date) end and cc2.id_tipo_atribuicao_componente = $22) as aulas group by aulas.id_servidor_cargo_base, aulas.id_unidade_funcional) as atribuicao on atribuicao.id_servidor_cargo_base = scb.id_servidor_cargo_base and atribuicao.id_unidade_funcional = uf.id_unidade_funcional --- lotacao left join ( select distinct l.id_servidor_cargo_base, l.id_unidade_lotacao from lotacao l left join lotacao_historico lh on lh.id_lotacao = l.id_lotacao where (l.data_inicio::date <= $23::date) and ((lh.data_fim is null and l.flg_aberto is true) or (lh.data_fim::date >= $24::date)) and l.id_unidade_lotacao = $25) as lotacao on lotacao.id_servidor_cargo_base = scb.id_servidor_cargo_base and lotacao.id_unidade_lotacao = uf.id_unidade_funcional -- unidade sede left join ( select sus.id_servidor_cargo_base, sus.id_unidade_sede from servidor_unidade_sede sus where id_unidade_sede = $26 and sus.data_inicio::date <= $27::date and (sus.data_fim is null or sus.data_fim::date >= $28::date)) as unidade_sede on unidade_sede.id_unidade_sede = uf.id_unidade_funcional and unidade_sede.id_servidor_cargo_base = scb.id_servidor_cargo_base where (sie.data_inicio_exercicio is null or sie.data_inicio_exercicio::date <= $29::date) --início do exercicio antes da data de referência and (scb.flg_aberto is true or scbd.data_fim::date >= $30::date) --cargo fechado depois da data de referência and (p.funcoes is not null or q.atividades is not null or atribuicao.aulas is not null or unidade_sede.id_unidade_sede is not null or lotacao.id_unidade_lotacao is not null) order by uf.nome, cid.nome;[ Date: 2026-07-07 16:55:31 ]
4 298.43 MiB select uf.codigo as codigo, uf.nome as unidade, s.registro_funcional as rf, cid.nome, sf.descricao as situacao_funcional, scb.matricula_cargo as matricula, c.sigla as sigla_cargo, c.descricao as descricao_cargo, p.funcoes as funcao, q.atividades as atividade, escolaridade.descricao as escolaridade, r.cursos as curso, t.tipos as tipo, u.habilitacoes as habilitacao, r.formacao, atribuicao.aulas from cidadao cid inner join servidor s on s.id_cidadao = cid.id_cidadao inner join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao inner join unidade_funcional uf on (uf.id_unidade_funcional = $1 or uf.id_unidade_funcional in ( select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = $2 and hue.id_assunto_hierarquia_unidade = $3)) inner join cargo c on c.id_cargo = scb.id_cargo inner join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional left join srv_cb_inicio_exercicio sie on sie.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento scbd on scbd.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Funções left join ( select funcao.id_unidade_funcional, funcao.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as funcoes from servidor_funcao funcao inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = funcao.id_funcao_atividade_servidor left join servidor_funcao_fim sff on sff.id_servidor_funcao = funcao.id_servidor_funcao where funcao.data_inicio::date <= $4::date --em função até a data de referência and (sff.data_fim is null or (sff.data_fim is not null and sff.data_fim::date >= $5::date)) group by funcao.id_unidade_funcional, funcao.id_servidor_cargo_base) p on p.id_unidade_funcional = uf.id_unidade_funcional and p.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Atividades left join ( select atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as atividades from servidor_atividade atividade inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = atividade.id_funcao_atividade_servidor where atividade.data_inicio::date <= $6::date --em atividade até a data de referência and (atividade.data_fim is null or atividade.data_fim::date >= $7::date) group by atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base) q on q.id_unidade_funcional_servico = uf.id_unidade_funcional and q.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade escolaridade on escolaridade.id_grau_escolaridade = s.id_grau_escolaridade -- Cursos left join ( select c.id_cidadao, string_agg(c.descricao, ', ' order by c.data_conclusao nulls last) as cursos, string_agg(c.formacao, ', ' order by c.data_conclusao nulls last) as formacao from ( select distinct sct.id_cidadao, sct.data_conclusao, coalesce(mcs.descricao, sct.descricao) as descricao, md.descricao as formacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior left join mec_disciplina md on md.id_mec_disciplina = sct.id_mec_disciplina) c group by c.id_cidadao) r on r.id_cidadao = s.id_cidadao -- Tipos de curso left join ( select t.id_cidadao, string_agg(t.tipo, ', ' order by t.data_conclusao nulls last) as tipos from ( select distinct sct.id_cidadao, sct.data_conclusao, cgt.descricao as tipo from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) t group by t.id_cidadao) t on t.id_cidadao = s.id_cidadao -- Habilitações left join ( select u.id_cidadao, string_agg(u.habilitacao, ', ' order by u.data_conclusao nulls last) as habilitacoes from ( select distinct sct.id_cidadao, sct.data_conclusao, habilitacao.descricao as habilitacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) u group by u.id_cidadao) u on u.id_cidadao = s.id_cidadao --Atribuição de aulas left join ( select aulas.id_servidor_cargo_base, aulas.id_unidade_funcional, string_agg(aulas.disciplina, ', ' order by aulas.disciplina) as aulas from ( -- atribuição por Componente curricular select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_componente_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join componente_curricular cc on cc.id_componente_curricular = atribuicao.id_componente_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select $8 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $9 and id_assunto_hierarquia_unidade = $10) and atribuicao.data_inicio::date <= $11::date and case turma.id_turma_status = $12 when true then (atribuicao.data_fim::date >= $13::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= $14::date) end union all -- atribuição por regência de classe select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_regencia_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc2 on cc2.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc2.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select $15 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $16 and id_assunto_hierarquia_unidade = $17) and atribuicao.data_inicio::date <= $18::date and case turma.id_turma_status = $19 when true then (atribuicao.data_fim::date >= $20::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= $21::date) end and cc2.id_tipo_atribuicao_componente = $22) as aulas group by aulas.id_servidor_cargo_base, aulas.id_unidade_funcional) as atribuicao on atribuicao.id_servidor_cargo_base = scb.id_servidor_cargo_base and atribuicao.id_unidade_funcional = uf.id_unidade_funcional --- lotacao left join ( select distinct l.id_servidor_cargo_base, l.id_unidade_lotacao from lotacao l left join lotacao_historico lh on lh.id_lotacao = l.id_lotacao where (l.data_inicio::date <= $23::date) and ((lh.data_fim is null and l.flg_aberto is true) or (lh.data_fim::date >= $24::date)) and l.id_unidade_lotacao = $25) as lotacao on lotacao.id_servidor_cargo_base = scb.id_servidor_cargo_base and lotacao.id_unidade_lotacao = uf.id_unidade_funcional -- unidade sede left join ( select sus.id_servidor_cargo_base, sus.id_unidade_sede from servidor_unidade_sede sus where id_unidade_sede = $26 and sus.data_inicio::date <= $27::date and (sus.data_fim is null or sus.data_fim::date >= $28::date)) as unidade_sede on unidade_sede.id_unidade_sede = uf.id_unidade_funcional and unidade_sede.id_servidor_cargo_base = scb.id_servidor_cargo_base where (sie.data_inicio_exercicio is null or sie.data_inicio_exercicio::date <= $29::date) --início do exercicio antes da data de referência and (scb.flg_aberto is true or scbd.data_fim::date >= $30::date) --cargo fechado depois da data de referência and (p.funcoes is not null or q.atividades is not null or atribuicao.aulas is not null or unidade_sede.id_unidade_sede is not null or lotacao.id_unidade_lotacao is not null) order by uf.nome, cid.nome;[ Date: 2026-07-07 16:55:31 ]
5 298.01 MiB select uf.codigo as codigo, uf.nome as unidade, s.registro_funcional as rf, cid.nome, sf.descricao as situacao_funcional, scb.matricula_cargo as matricula, c.sigla as sigla_cargo, c.descricao as descricao_cargo, p.funcoes as funcao, q.atividades as atividade, escolaridade.descricao as escolaridade, r.cursos as curso, t.tipos as tipo, u.habilitacoes as habilitacao, r.formacao, atribuicao.aulas from cidadao cid inner join servidor s on s.id_cidadao = cid.id_cidadao inner join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao inner join unidade_funcional uf on (uf.id_unidade_funcional = $1 or uf.id_unidade_funcional in ( select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = $2 and hue.id_assunto_hierarquia_unidade = $3)) inner join cargo c on c.id_cargo = scb.id_cargo inner join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional left join srv_cb_inicio_exercicio sie on sie.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento scbd on scbd.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Funções left join ( select funcao.id_unidade_funcional, funcao.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as funcoes from servidor_funcao funcao inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = funcao.id_funcao_atividade_servidor left join servidor_funcao_fim sff on sff.id_servidor_funcao = funcao.id_servidor_funcao where funcao.data_inicio::date <= $4::date --em função até a data de referência and (sff.data_fim is null or (sff.data_fim is not null and sff.data_fim::date >= $5::date)) group by funcao.id_unidade_funcional, funcao.id_servidor_cargo_base) p on p.id_unidade_funcional = uf.id_unidade_funcional and p.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Atividades left join ( select atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as atividades from servidor_atividade atividade inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = atividade.id_funcao_atividade_servidor where atividade.data_inicio::date <= $6::date --em atividade até a data de referência and (atividade.data_fim is null or atividade.data_fim::date >= $7::date) group by atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base) q on q.id_unidade_funcional_servico = uf.id_unidade_funcional and q.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade escolaridade on escolaridade.id_grau_escolaridade = s.id_grau_escolaridade -- Cursos left join ( select c.id_cidadao, string_agg(c.descricao, ', ' order by c.data_conclusao nulls last) as cursos, string_agg(c.formacao, ', ' order by c.data_conclusao nulls last) as formacao from ( select distinct sct.id_cidadao, sct.data_conclusao, coalesce(mcs.descricao, sct.descricao) as descricao, md.descricao as formacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior left join mec_disciplina md on md.id_mec_disciplina = sct.id_mec_disciplina) c group by c.id_cidadao) r on r.id_cidadao = s.id_cidadao -- Tipos de curso left join ( select t.id_cidadao, string_agg(t.tipo, ', ' order by t.data_conclusao nulls last) as tipos from ( select distinct sct.id_cidadao, sct.data_conclusao, cgt.descricao as tipo from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) t group by t.id_cidadao) t on t.id_cidadao = s.id_cidadao -- Habilitações left join ( select u.id_cidadao, string_agg(u.habilitacao, ', ' order by u.data_conclusao nulls last) as habilitacoes from ( select distinct sct.id_cidadao, sct.data_conclusao, habilitacao.descricao as habilitacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) u group by u.id_cidadao) u on u.id_cidadao = s.id_cidadao --Atribuição de aulas left join ( select aulas.id_servidor_cargo_base, aulas.id_unidade_funcional, string_agg(aulas.disciplina, ', ' order by aulas.disciplina) as aulas from ( -- atribuição por Componente curricular select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_componente_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join componente_curricular cc on cc.id_componente_curricular = atribuicao.id_componente_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select $8 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $9 and id_assunto_hierarquia_unidade = $10) and atribuicao.data_inicio::date <= $11::date and case turma.id_turma_status = $12 when true then (atribuicao.data_fim::date >= $13::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= $14::date) end union all -- atribuição por regência de classe select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_regencia_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc2 on cc2.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc2.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select $15 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $16 and id_assunto_hierarquia_unidade = $17) and atribuicao.data_inicio::date <= $18::date and case turma.id_turma_status = $19 when true then (atribuicao.data_fim::date >= $20::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= $21::date) end and cc2.id_tipo_atribuicao_componente = $22) as aulas group by aulas.id_servidor_cargo_base, aulas.id_unidade_funcional) as atribuicao on atribuicao.id_servidor_cargo_base = scb.id_servidor_cargo_base and atribuicao.id_unidade_funcional = uf.id_unidade_funcional --- lotacao left join ( select distinct l.id_servidor_cargo_base, l.id_unidade_lotacao from lotacao l left join lotacao_historico lh on lh.id_lotacao = l.id_lotacao where (l.data_inicio::date <= $23::date) and ((lh.data_fim is null and l.flg_aberto is true) or (lh.data_fim::date >= $24::date)) and l.id_unidade_lotacao = $25) as lotacao on lotacao.id_servidor_cargo_base = scb.id_servidor_cargo_base and lotacao.id_unidade_lotacao = uf.id_unidade_funcional -- unidade sede left join ( select sus.id_servidor_cargo_base, sus.id_unidade_sede from servidor_unidade_sede sus where id_unidade_sede = $26 and sus.data_inicio::date <= $27::date and (sus.data_fim is null or sus.data_fim::date >= $28::date)) as unidade_sede on unidade_sede.id_unidade_sede = uf.id_unidade_funcional and unidade_sede.id_servidor_cargo_base = scb.id_servidor_cargo_base where (sie.data_inicio_exercicio is null or sie.data_inicio_exercicio::date <= $29::date) --início do exercicio antes da data de referência and (scb.flg_aberto is true or scbd.data_fim::date >= $30::date) --cargo fechado depois da data de referência and (p.funcoes is not null or q.atividades is not null or atribuicao.aulas is not null or unidade_sede.id_unidade_sede is not null or lotacao.id_unidade_lotacao is not null) order by uf.nome, cid.nome;[ Date: 2026-07-07 16:55:31 ]
6 297.71 MiB select uf.codigo as codigo, uf.nome as unidade, s.registro_funcional as rf, cid.nome, sf.descricao as situacao_funcional, scb.matricula_cargo as matricula, c.sigla as sigla_cargo, c.descricao as descricao_cargo, p.funcoes as funcao, q.atividades as atividade, escolaridade.descricao as escolaridade, r.cursos as curso, t.tipos as tipo, u.habilitacoes as habilitacao, r.formacao, atribuicao.aulas from cidadao cid inner join servidor s on s.id_cidadao = cid.id_cidadao inner join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao inner join unidade_funcional uf on (uf.id_unidade_funcional = $1 or uf.id_unidade_funcional in ( select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = $2 and hue.id_assunto_hierarquia_unidade = $3)) inner join cargo c on c.id_cargo = scb.id_cargo inner join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional left join srv_cb_inicio_exercicio sie on sie.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento scbd on scbd.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Funções left join ( select funcao.id_unidade_funcional, funcao.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as funcoes from servidor_funcao funcao inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = funcao.id_funcao_atividade_servidor left join servidor_funcao_fim sff on sff.id_servidor_funcao = funcao.id_servidor_funcao where funcao.data_inicio::date <= $4::date --em função até a data de referência and (sff.data_fim is null or (sff.data_fim is not null and sff.data_fim::date >= $5::date)) group by funcao.id_unidade_funcional, funcao.id_servidor_cargo_base) p on p.id_unidade_funcional = uf.id_unidade_funcional and p.id_servidor_cargo_base = scb.id_servidor_cargo_base -- Atividades left join ( select atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base, string_agg(distinct fas.descricao, ', ') as atividades from servidor_atividade atividade inner join funcao_atividade_servidor fas on fas.id_funcao_atividade_servidor = atividade.id_funcao_atividade_servidor where atividade.data_inicio::date <= $6::date --em atividade até a data de referência and (atividade.data_fim is null or atividade.data_fim::date >= $7::date) group by atividade.id_unidade_funcional_servico, atividade.id_servidor_cargo_base) q on q.id_unidade_funcional_servico = uf.id_unidade_funcional and q.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade escolaridade on escolaridade.id_grau_escolaridade = s.id_grau_escolaridade -- Cursos left join ( select c.id_cidadao, string_agg(c.descricao, ', ' order by c.data_conclusao nulls last) as cursos, string_agg(c.formacao, ', ' order by c.data_conclusao nulls last) as formacao from ( select distinct sct.id_cidadao, sct.data_conclusao, coalesce(mcs.descricao, sct.descricao) as descricao, md.descricao as formacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior left join mec_disciplina md on md.id_mec_disciplina = sct.id_mec_disciplina) c group by c.id_cidadao) r on r.id_cidadao = s.id_cidadao -- Tipos de curso left join ( select t.id_cidadao, string_agg(t.tipo, ', ' order by t.data_conclusao nulls last) as tipos from ( select distinct sct.id_cidadao, sct.data_conclusao, cgt.descricao as tipo from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) t group by t.id_cidadao) t on t.id_cidadao = s.id_cidadao -- Habilitações left join ( select u.id_cidadao, string_agg(u.habilitacao, ', ' order by u.data_conclusao nulls last) as habilitacoes from ( select distinct sct.id_cidadao, sct.data_conclusao, habilitacao.descricao as habilitacao from servidor_curso_titulo sct inner join curso_geral_tipo cgt on cgt.id_curso_geral_tipo = sct.id_curso_geral_tipo left join servidor_habilitacao sh on sh.id_servidor_curso_titulo = sct.id_servidor_curso_titulo and sh.id_cidadao = sct.id_cidadao left join habilitacao_servidor habilitacao on habilitacao.id_habilitacao_servidor = sh.id_habilitacao_servidor left join mec_curso_superior mcs on mcs.id_mec_curso_superior = sct.id_mec_curso_superior) u group by u.id_cidadao) u on u.id_cidadao = s.id_cidadao --Atribuição de aulas left join ( select aulas.id_servidor_cargo_base, aulas.id_unidade_funcional, string_agg(aulas.disciplina, ', ' order by aulas.disciplina) as aulas from ( -- atribuição por Componente curricular select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_componente_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join componente_curricular cc on cc.id_componente_curricular = atribuicao.id_componente_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select $8 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $9 and id_assunto_hierarquia_unidade = $10) and atribuicao.data_inicio::date <= $11::date and case turma.id_turma_status = $12 when true then (atribuicao.data_fim::date >= $13::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= $14::date) end union all -- atribuição por regência de classe select distinct atribuicao.id_servidor_cargo_base, turma.id_unidade_funcional, d.descricao as disciplina from turma_regencia_historico_atribuicao atribuicao inner join turma on turma.id_turma = atribuicao.id_turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join componente_curricular cc2 on cc2.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc2.id_disciplina inner join periodo_letivo pl on pl.id_ano_semestre = turma.id_ano_semestre and pl.id_unidade_funcional = turma.id_unidade_funcional and pl.id_curso = turma.id_curso where turma.id_unidade_funcional in ( select $15 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $16 and id_assunto_hierarquia_unidade = $17) and atribuicao.data_inicio::date <= $18::date and case turma.id_turma_status = $19 when true then (atribuicao.data_fim::date >= $20::date or atribuicao.data_fim is null) else (coalesce(atribuicao.data_fim::date, pl.data_encerramento::date) >= $21::date) end and cc2.id_tipo_atribuicao_componente = $22) as aulas group by aulas.id_servidor_cargo_base, aulas.id_unidade_funcional) as atribuicao on atribuicao.id_servidor_cargo_base = scb.id_servidor_cargo_base and atribuicao.id_unidade_funcional = uf.id_unidade_funcional --- lotacao left join ( select distinct l.id_servidor_cargo_base, l.id_unidade_lotacao from lotacao l left join lotacao_historico lh on lh.id_lotacao = l.id_lotacao where (l.data_inicio::date <= $23::date) and ((lh.data_fim is null and l.flg_aberto is true) or (lh.data_fim::date >= $24::date)) and l.id_unidade_lotacao = $25) as lotacao on lotacao.id_servidor_cargo_base = scb.id_servidor_cargo_base and lotacao.id_unidade_lotacao = uf.id_unidade_funcional -- unidade sede left join ( select sus.id_servidor_cargo_base, sus.id_unidade_sede from servidor_unidade_sede sus where id_unidade_sede = $26 and sus.data_inicio::date <= $27::date and (sus.data_fim is null or sus.data_fim::date >= $28::date)) as unidade_sede on unidade_sede.id_unidade_sede = uf.id_unidade_funcional and unidade_sede.id_servidor_cargo_base = scb.id_servidor_cargo_base where (sie.data_inicio_exercicio is null or sie.data_inicio_exercicio::date <= $29::date) --início do exercicio antes da data de referência and (scb.flg_aberto is true or scbd.data_fim::date >= $30::date) --cargo fechado depois da data de referência and (p.funcoes is not null or q.atividades is not null or atribuicao.aulas is not null or unidade_sede.id_unidade_sede is not null or lotacao.id_unidade_lotacao is not null) order by uf.nome, cid.nome;[ Date: 2026-07-07 16:55:31 ]
7 286.12 MiB select ;[ Date: 2026-07-07 08:51:51 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
8 213.80 MiB select ;[ Date: 2026-07-07 17:01:28 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
9 173.42 MiB select ;[ Date: 2026-07-07 13:16:40 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
10 149.00 MiB select ;[ Date: 2026-07-07 06:40:06 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
11 149.00 MiB select ;[ Date: 2026-07-07 07:00:03 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
12 149.00 MiB select ;[ Date: 2026-07-07 14:13:56 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
13 142.25 MiB select ;[ Date: 2026-07-07 15:05:15 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
14 142.25 MiB select ;[ Date: 2026-07-07 18:49:36 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
15 134.21 MiB select ;[ Date: 2026-07-07 06:54:34 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
16 134.21 MiB select ;[ Date: 2026-07-07 14:10:07 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
17 108.72 MiB select ;[ Date: 2026-07-07 08:26:26 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
18 92.52 MiB select ;[ Date: 2026-07-07 08:32:29 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
19 92.52 MiB select ;[ Date: 2026-07-07 10:11:42 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
20 92.52 MiB select ;[ Date: 2026-07-07 13:07:48 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 63.63 sec Highest CPU-cost vacuum
Table aluno_lancamento.nota_aluno_atividade_2026
Database augeeducacional - 2026-07-07 08:59:03 Date
- 4.00 sec Highest CPU-cost analyze
Table log.log_2026_07
Database augeeducacional - 2026-07-07 10:53:35 Date
Average Autovacuum Duration
Key values
- 63.63 sec Highest CPU-cost vacuum
Table aluno_lancamento.nota_aluno_atividade_2026
Database augeeducacional - 2026-07-07 08:59:03 Date
Analyzes per table
Key values
- public.aluno_turma_diario_impresso (183) Main table analyzed (database portal_betim)
- 618 analyzes Total
Table Number of analyzes portal_betim.public.aluno_turma_diario_impresso 183 augeeducacional.public.aluno_turma_diario_impresso 141 portal_betim.public.indicador_freq_ocorrencia 25 augeeducacional.public.usuario_dispositivo 24 augeeducacional.public.indicador_freq_ocorrencia 21 augeeducacional.public.hierarquia_unidade_extendida 9 augeeducacional.fila_trabalho.fila_trabalho_2026_07 7 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 7 portal_betim.fila_trabalho.fila_trabalho_2026_07 6 portal_betim.alimentacao.remessa_escola_cardapio_historico 5 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 4 augeeducacional.movel.sincronizacao_lancamento_2026_07 4 portal_betim.movel.sincronizacao_lancamento_2026_07 4 augeeducacional.movel.sincronizacao_2026_07 4 portal_betim.alimentacao.remessa_item_recebimento 4 portal_betim.public.usuario_dispositivo 4 augeeducacional.public.mec_aluno_escola 3 portal_betim.movel.sincronizacao_2026_07 3 augeeducacional.public.usuario 3 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 3 augeeducacional.log.log_2026_07 2 augeeducacional.public.aluno_codigo_instituicao 2 portal_betim.pg_catalog.pg_class 2 augeeducacional.movel.turma_mudanca_2026_07 2 portal_imm.public.indicador_freq_ocorrencia 2 portal_betim.alimentacao.remessa_cardapio_item 2 portal_betim.indicador.indicador_5min_37_2026_07 1 portal_betim.indicador.indicador_5min_19_2026_07 1 augeeducacional.indicador.indicador_5min_19_2026_07 1 portal_betim.indicador.indicador_5min_4_2026_07 1 augeeducacional.indicador.indicador_5min_12_2026_07 1 augeeducacional.indicador.indicador_5min_66_2026_07 1 augeeducacional.indicador.indicador_5min_14_2026_07 1 portal_betim.indicador.indicador_5min_55_2026_07 1 portal_betim.indicador.indicador_5min_28_2026_07 1 portal_betim.indicador.indicador_5min_33_2026_07 1 augeeducacional.public.material_escolar_aluno_num 1 portal_betim.indicador.indicador_5min_2_2026_07 1 augeeducacional.public.aluno_educador_apoio 1 portal_betim.indicador.indicador_5min_31_2026_07 1 augeeducacional.public.escola_orgao_colegiado 1 augeeducacional.pg_catalog.pg_class 1 portal_betim.indicador.indicador_5min_3_2026_07 1 portal_betim.indicador.indicador_5min_9_2026_07 1 portal_imm.indicador.indicador_5min_68_2026_07 1 augeeducacional.public.para_casa_nao_feito_aluno 1 portal_betim.indicador.indicador_5min_65_2026_07 1 portal_imm.indicador.indicador_5min_70_2026_07 1 portal_imm.indicador.indicador_5min_30_2026_07 1 portal_betim.indicador.indicador_5min_7_2026_07 1 augeeducacional.indicador.indicador_5min_28_2026_07 1 portal_betim.indicador.indicador_5min_6_2026_07 1 portal_betim.log.log_2026_07 1 augeeducacional.indicador.indicador_5min_37_2026_07 1 augeeducacional.indicador.indicador_5min_8_2026_07 1 portal_betim.indicador.indicador_5min_63_2026_07 1 portal_imm.indicador.indicador_5min_15_2026_07 1 portal_betim.movel.turma_mudanca_2026_07 1 augeeducacional.indicador.indicador_5min_55_2026_07 1 portal_betim.indicador.indicador_5min_15_2026_07 1 portal_imm.indicador.indicador_5min_37_2026_07 1 portal_betim.indicador.indicador_5min_8_2026_07 1 portal_imm.indicador.indicador_5min_1_2026_07 1 portal_betim.indicador.indicador_5min_67_2026_07 1 portal_betim.indicador.indicador_5min_17_2026_07 1 portal_betim.indicador.indicador_5min_68_2026_07 1 portal_imm.indicador.indicador_5min_27_2026_07 1 portal_betim.indicador.indicador_5min_57_2026_07 1 augeeducacional.indicador.indicador_5min_57_2026_07 1 portal_imm.indicador.indicador_5min_8_2026_07 1 portal_betim.indicador.indicador_5min_56_2026_07 1 augeeducacional.indicador.indicador_5min_9_2026_07 1 portal_imm.indicador.indicador_5min_20_2026_07 1 portal_betim.indicador.indicador_5min_24_2026_07 1 portal_imm.indicador.indicador_5min_6_2026_07 1 augeeducacional.movel.professor_mudanca_2026_07 1 portal_betim.indicador.indicador_5min_10_2026_07 1 portal_imm.indicador.indicador_5min_31_2026_07 1 portal_imm.indicador.indicador_5min_13_2026_07 1 augeeducacional.indicador.indicador_5min_10_2026_07 1 augeeducacional.indicador.indicador_5min_5_2026_07 1 portal_betim.indicador.indicador_5min_5_2026_07 1 portal_imm.indicador.indicador_5min_63_2026_07 1 portal_imm.indicador.indicador_5min_10_2026_07 1 augeeducacional.indicador.indicador_5min_21_2026_07 1 portal_imm.indicador.indicador_5min_34_2026_07 1 augeeducacional.indicador.indicador_5min_29_2026_07 1 portal_imm.indicador.indicador_5min_64_2026_07 1 portal_betim.indicador.indicador_5min_1_2026_07 1 augeeducacional.indicador.indicador_5min_67_2026_07 1 portal_imm.indicador.indicador_5min_24_2026_07 1 portal_imm.indicador.indicador_5min_17_2026_07 1 augeeducacional.aluno_lancamento.nota_aluno_atividade_2026 1 portal_betim.indicador.indicador_5min_30_2026_07 1 portal_betim.public.falta_aluno_globalizada 1 augeeducacional.indicador.indicador_5min_18_2026_07 1 portal_imm.indicador.indicador_5min_66_2026_07 1 augeeducacional.indicador.indicador_5min_11_2026_07 1 augeeducacional.indicador.indicador_5min_34_2026_07 1 portal_betim.indicador.indicador_5min_69_2026_07 1 augeeducacional.public.escola_equipe 1 portal_imm.indicador.indicador_5min_56_2026_07 1 augeeducacional.indicador.indicador_5min_70_2026_07 1 portal_betim.indicador.indicador_5min_66_2026_07 1 portal_betim.indicador.indicador_5min_36_2026_07 1 augeeducacional.indicador.indicador_5min_56_2026_07 1 augeeducacional.indicador.indicador_5min_33_2026_07 1 portal_betim.indicador.indicador_5min_12_2026_07 1 portal_betim.indicador.indicador_5min_34_2026_07 1 augeeducacional.indicador.indicador_5min_15_2026_07 1 portal_betim.public.usuario 1 portal_betim.indicador.indicador_5min_29_2026_07 1 augeeducacional.indicador.indicador_5min_69_2026_07 1 portal_betim.indicador.indicador_5min_27_2026_07 1 portal_imm.indicador.indicador_5min_3_2026_07 1 augeeducacional.indicador.indicador_5min_17_2026_07 1 portal_betim.indicador.indicador_5min_13_2026_07 1 portal_betim.indicador.indicador_5min_70_2026_07 1 augeeducacional.indicador.indicador_5min_20_2026_07 1 portal_imm.indicador.indicador_5min_57_2026_07 1 augeeducacional.public.situacao_didatica_aula 1 augeeducacional.indicador.indicador_5min_65_2026_07 1 portal_imm.indicador.indicador_5min_2_2026_07 1 portal_betim.indicador.indicador_5min_20_2026_07 1 augeeducacional.public.projeto_gestao_unidade 1 portal_betim.indicador.indicador_5min_11_2026_07 1 augeeducacional.indicador.indicador_5min_3_2026_07 1 augeeducacional.indicador.indicador_5min_63_2026_07 1 augeeducacional.public.falta_aluno_globalizada 1 augeeducacional.public.mec_escola_dados_gerais 1 portal_imm.indicador.indicador_5min_67_2026_07 1 augeeducacional.indicador.indicador_5min_68_2026_07 1 portal_imm.indicador.indicador_5min_5_2026_07 1 portal_betim.indicador.indicador_5min_64_2026_07 1 portal_imm.indicador.indicador_5min_36_2026_07 1 portal_imm.indicador.indicador_5min_29_2026_07 1 portal_imm.indicador.indicador_5min_28_2026_07 1 portal_betim.indicador.indicador_5min_21_2026_07 1 portal_betim.indicador.indicador_5min_18_2026_07 1 augeeducacional.indicador.indicador_5min_4_2026_07 1 augeeducacional.indicador.indicador_5min_64_2026_07 1 portal_imm.indicador.indicador_5min_4_2026_07 1 portal_imm.indicador.indicador_5min_12_2026_07 1 portal_imm.indicador.indicador_5min_65_2026_07 1 portal_betim.movel.professor_mudanca_2026_07 1 augeeducacional.indicador.indicador_5min_24_2026_07 1 augeeducacional.indicador.indicador_5min_27_2026_07 1 portal_imm.indicador.indicador_5min_18_2026_07 1 portal_imm.indicador.indicador_5min_33_2026_07 1 portal_imm.indicador.indicador_5min_9_2026_07 1 portal_imm.indicador.indicador_5min_19_2026_07 1 augeeducacional.indicador.indicador_5min_13_2026_07 1 augeeducacional.indicador.indicador_5min_1_2026_07 1 portal_imm.indicador.indicador_5min_69_2026_07 1 augeeducacional.indicador.indicador_5min_7_2026_07 1 augeeducacional.indicador.indicador_5min_6_2026_07 1 augeeducacional.indicador.indicador_5min_2_2026_07 1 augeeducacional.public.processo_censo_escolar 1 portal_imm.indicador.indicador_5min_7_2026_07 1 portal_imm.indicador.indicador_5min_11_2026_07 1 augeeducacional.indicador.indicador_5min_31_2026_07 1 augeeducacional.indicador.indicador_5min_30_2026_07 1 portal_imm.indicador.indicador_5min_55_2026_07 1 augeeducacional.public.mec_escola_dados_opcao_atributo 1 portal_imm.indicador.indicador_5min_14_2026_07 1 portal_imm.indicador.indicador_5min_21_2026_07 1 portal_betim.indicador.indicador_5min_14_2026_07 1 augeeducacional.indicador.indicador_5min_36_2026_07 1 Total 618 Vacuums per table
Key values
- pg_toast.pg_toast_3120537 (19) Main table vacuumed on database augeeducacional
- 117 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples augeeducacional.pg_toast.pg_toast_3120537 19 19 55,519 0 9,593 0 8,799 32,283 10,210 44,671,970 0 0 portal_betim.public.aluno_turma_diario_impresso 18 0 1,182 0 60 3 0 30 15 126,660 0 0 augeeducacional.public.aluno_turma_diario_impresso 12 0 768 0 47 0 0 23 11 93,072 0 0 augeeducacional.public.indicador_freq_ocorrencia 10 0 8,978 0 2,332 0 15,208 2,612 19 308,297 0 0 portal_betim.public.indicador_freq_ocorrencia 8 0 2,082 0 542 0 1,042 607 16 164,221 0 0 augeeducacional.public.usuario_dispositivo 5 5 287,750 0 84,412 0 13,872 183,186 85,008 455,078,691 0 0 augeeducacional.public.hierarquia_unidade_extendida 4 4 823 0 63 0 144 232 80 333,608 0 0 portal_betim.pg_toast.pg_toast_899265195 4 4 1,319 0 160 0 124 670 158 638,212 0 0 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 4 4 462 0 16 0 0 77 25 145,443 0 0 portal_betim.alimentacao.remessa_escola_cardapio_historico 3 3 217 0 16 0 0 36 13 85,505 0 0 augeeducacional.public.aluno_codigo_instituicao 3 0 323 0 29 0 671 55 29 75,291 0 0 augeeducacional.fila_trabalho.fila_trabalho_2026_07 2 2 274,458 0 102,442 0 0 226,946 81,291 430,495,950 0 0 portal_betim.fila_trabalho.fila_trabalho_2026_07 2 2 58,652 0 24,270 0 0 52,666 20,020 116,917,332 0 0 augeeducacional.log.log_2026_07 1 0 92,901 0 30,772 0 0 33,747 7,230 41,089,419 0 0 portal_betim.movel.sincronizacao_2026_07 1 1 1,172 0 410 0 0 676 285 1,993,317 0 0 augeeducacional.public.assunto_hierarquia_unidade 1 0 73 0 5 0 0 5 2 16,528 0 0 portal_betim.pg_catalog.pg_class 1 1 441 0 109 0 266 199 105 575,560 0 0 portal_betim.movel.sincronizacao_lancamento_2026_07 1 1 1,214 0 373 0 0 770 321 2,126,747 0 0 augeeducacional.public.mec_aluno_escola 1 1 19,165 0 7,491 0 7,955 12,683 6,571 25,369,567 0 0 augeeducacional.pg_catalog.pg_class 1 1 421 0 104 0 289 187 100 450,687 0 0 augeeducacional.pg_toast.pg_toast_1008992926 1 0 7,663 0 3,405 0 0 3,416 2 213,835 0 0 augeeducacional.movel.turma_mudanca_2026_07 1 1 816 0 184 0 0 232 29 205,922 0 0 augeeducacional.pg_toast.pg_toast_1008992878 1 0 57,723 0 30,347 0 0 30,794 5 1,853,632 0 0 augeeducacional.indicador.indicador_5min_55_2026_07 1 0 236 0 76 0 0 73 2 20,646 0 0 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 1 1 13,018 0 6,156 0 0 11,391 5,890 35,899,086 0 0 portal_betim.movel.turma_mudanca_2026_07 1 0 232 0 38 0 0 35 2 13,908 0 0 augeeducacional.movel.sincronizacao_2026_07 1 1 7,007 0 2,833 0 0 4,368 1,789 12,589,508 0 0 portal_betim.public.usuario_dispositivo 1 1 9,542 0 3,927 0 11,153 7,872 3,628 19,148,258 0 0 portal_betim.pg_toast.pg_toast_1008993005 1 0 2,237 0 1,073 0 0 1,092 2 76,271 0 0 portal_betim.log.log_2026_07 1 0 50,166 0 4,075 0 0 16,333 1,307 9,640,076 0 0 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 1 1 68,027 0 31,060 0 0 54,924 29,546 181,007,141 0 0 augeeducacional.indicador.indicador_5min_56_2026_07 1 0 222 0 99 0 0 96 2 19,443 0 0 augeeducacional.pg_toast.pg_toast_2619 1 1 1,198 0 386 0 475 812 269 489,696 0 0 portal_betim.public.falta_aluno_globalizada 1 1 9,181 0 3,419 0 1,212 7,883 3,303 19,398,855 0 0 augeeducacional.aluno_lancamento.nota_aluno_atividade_2026 1 1 230,467 0 118,825 0 1,787 172,909 101,788 592,939,236 0 0 augeeducacional.movel.sincronizacao_lancamento_2026_07 1 1 12,672 0 4,906 0 0 9,431 4,498 29,989,338 0 0 Total 117 57 1,278,327 433,281 474,055 3 62,997 869,351 363,571 2,024,260,928 0 0 Vacuum throughput per table
Key values
- aluno_lancamento.nota_aluno_atividade_2026 (63.63) Max CPU elapsed for vacuum on database augeeducacional
- unknown (0 ms) Max I/O read time for vacuum on database augeeducacional
- unknown (0 ms) Max I/O write time for vacuum on database augeeducacional
I/O timing (ms) CPU (s) Table read write elapsed augeeducacional.pg_toast.pg_toast_3120537 0 0 6.46 portal_betim.public.aluno_turma_diario_impresso 0 0 0 augeeducacional.public.aluno_turma_diario_impresso 0 0 0 augeeducacional.public.indicador_freq_ocorrencia 0 0 0.63 portal_betim.public.indicador_freq_ocorrencia 0 0 0.11 augeeducacional.public.usuario_dispositivo 0 0 25.75 augeeducacional.public.hierarquia_unidade_extendida 0 0 0.03 portal_betim.pg_toast.pg_toast_899265195 0 0 0.08 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 0 0 0 portal_betim.alimentacao.remessa_escola_cardapio_historico 0 0 0 augeeducacional.public.aluno_codigo_instituicao 0 0 0.02 augeeducacional.fila_trabalho.fila_trabalho_2026_07 0 0 51.12 portal_betim.fila_trabalho.fila_trabalho_2026_07 0 0 13.23 augeeducacional.log.log_2026_07 0 0 12.71 portal_betim.movel.sincronizacao_2026_07 0 0 0.2 augeeducacional.public.assunto_hierarquia_unidade 0 0 0 portal_betim.pg_catalog.pg_class 0 0 0.11 portal_betim.movel.sincronizacao_lancamento_2026_07 0 0 0.22 augeeducacional.public.mec_aluno_escola 0 0 5.44 augeeducacional.pg_catalog.pg_class 0 0 0.1 augeeducacional.pg_toast.pg_toast_1008992926 0 0 1.23 augeeducacional.movel.turma_mudanca_2026_07 0 0 0.05 augeeducacional.pg_toast.pg_toast_1008992878 0 0 8.9 augeeducacional.indicador.indicador_5min_55_2026_07 0 0 0.02 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 0 0 2.14 portal_betim.movel.turma_mudanca_2026_07 0 0 0.01 augeeducacional.movel.sincronizacao_2026_07 0 0 1.35 portal_betim.public.usuario_dispositivo 0 0 1.86 portal_betim.pg_toast.pg_toast_1008993005 0 0 0.45 portal_betim.log.log_2026_07 0 0 2.16 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 0 0 10.51 augeeducacional.indicador.indicador_5min_56_2026_07 0 0 0.03 augeeducacional.pg_toast.pg_toast_2619 0 0 0.19 portal_betim.public.falta_aluno_globalizada 0 0 2.08 augeeducacional.aluno_lancamento.nota_aluno_atividade_2026 0 0 63.63 augeeducacional.movel.sincronizacao_lancamento_2026_07 0 0 2.56 Total 0 0 213.38 Tuples removed per table
Key values
- aluno_lancamento.nota_aluno_atividade_2026 (309268) Main table with removed tuples on database augeeducacional
- 708915 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain augeeducacional.aluno_lancamento.nota_aluno_atividade_2026 1 1 309,268 12,332,203 460 0 116,192 augeeducacional.fila_trabalho.fila_trabalho_2026_07 2 2 92,220 980,102 77 0 228,728 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 1 1 76,157 2,101,458 0 0 18,754 portal_betim.public.falta_aluno_globalizada 1 1 50,817 587,189 0 0 4,987 augeeducacional.public.usuario_dispositivo 5 5 49,385 842,364 122 0 117,115 augeeducacional.public.mec_aluno_escola 1 1 49,278 1,179,106 0 0 14,404 augeeducacional.pg_toast.pg_toast_3120537 19 19 22,479 121,660 70 0 30,799 portal_betim.fila_trabalho.fila_trabalho_2026_07 2 2 20,862 330,120 0 0 48,000 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 1 1 17,310 397,475 0 0 3,569 augeeducacional.movel.sincronizacao_lancamento_2026_07 1 1 8,886 345,370 0 0 6,111 augeeducacional.movel.sincronizacao_2026_07 1 1 4,178 260,985 0 0 4,470 portal_betim.public.usuario_dispositivo 1 1 3,075 55,261 0 0 16,367 augeeducacional.public.hierarquia_unidade_extendida 4 4 1,194 29,566 362 4 244 portal_betim.movel.sincronizacao_2026_07 1 1 862 36,227 0 0 623 augeeducacional.pg_toast.pg_toast_2619 1 1 767 3,761 0 0 1,315 portal_betim.pg_toast.pg_toast_899265195 4 4 620 2,323 4 0 624 portal_betim.movel.sincronizacao_lancamento_2026_07 1 1 571 25,915 0 0 531 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 4 4 276 2,264 0 0 32 portal_betim.alimentacao.remessa_escola_cardapio_historico 3 3 269 1,035 0 0 10 augeeducacional.public.aluno_codigo_instituicao 3 0 171 156 0 0 801 augeeducacional.pg_catalog.pg_class 1 1 79 8,259 0 0 453 portal_betim.pg_catalog.pg_class 1 1 73 8,905 0 0 419 augeeducacional.public.assunto_hierarquia_unidade 1 0 62 57 0 0 2 augeeducacional.movel.turma_mudanca_2026_07 1 1 56 71,887 0 0 547 augeeducacional.log.log_2026_07 1 0 0 695,545 0 0 117,421 portal_betim.public.aluno_turma_diario_impresso 18 0 0 453 0 0 18 portal_betim.public.indicador_freq_ocorrencia 8 0 0 138,210 0 0 2,112 augeeducacional.pg_toast.pg_toast_1008992926 1 0 0 104,189 0 0 18,922 augeeducacional.pg_toast.pg_toast_1008992878 1 0 0 894,810 0 0 175,204 augeeducacional.indicador.indicador_5min_55_2026_07 1 0 0 45,031 0 0 332 portal_betim.movel.turma_mudanca_2026_07 1 0 0 8,547 0 0 63 portal_betim.pg_toast.pg_toast_1008993005 1 0 0 24,759 0 0 4,794 portal_betim.log.log_2026_07 1 0 0 56,587 0 0 10,524 augeeducacional.indicador.indicador_5min_56_2026_07 1 0 0 45,039 0 0 436 augeeducacional.public.indicador_freq_ocorrencia 10 0 0 1,410,659 0 0 24,330 augeeducacional.public.aluno_turma_diario_impresso 12 0 0 299 0 0 12 Total 117 57 708,915 23,147,776 1,095 4 969,265 Pages removed per table
Key values
- public.hierarquia_unidade_extendida (4) Main table with removed pages on database augeeducacional
- 4 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed augeeducacional.public.hierarquia_unidade_extendida 4 4 1194 4 augeeducacional.fila_trabalho.fila_trabalho_2026_07 2 2 92220 0 augeeducacional.log.log_2026_07 1 0 0 0 portal_betim.movel.sincronizacao_2026_07 1 1 862 0 augeeducacional.public.assunto_hierarquia_unidade 1 0 62 0 portal_betim.public.aluno_turma_diario_impresso 18 0 0 0 portal_betim.public.indicador_freq_ocorrencia 8 0 0 0 portal_betim.pg_catalog.pg_class 1 1 73 0 portal_betim.pg_toast.pg_toast_899265195 4 4 620 0 portal_betim.movel.sincronizacao_lancamento_2026_07 1 1 571 0 portal_betim.alimentacao.remessa_escola_cardapio_historico 3 3 269 0 augeeducacional.public.mec_aluno_escola 1 1 49278 0 augeeducacional.public.aluno_codigo_instituicao 3 0 171 0 augeeducacional.pg_catalog.pg_class 1 1 79 0 augeeducacional.pg_toast.pg_toast_1008992926 1 0 0 0 augeeducacional.movel.turma_mudanca_2026_07 1 1 56 0 augeeducacional.pg_toast.pg_toast_1008992878 1 0 0 0 augeeducacional.indicador.indicador_5min_55_2026_07 1 0 0 0 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 1 1 17310 0 portal_betim.movel.turma_mudanca_2026_07 1 0 0 0 augeeducacional.movel.sincronizacao_2026_07 1 1 4178 0 portal_betim.public.usuario_dispositivo 1 1 3075 0 portal_betim.pg_toast.pg_toast_1008993005 1 0 0 0 portal_betim.log.log_2026_07 1 0 0 0 augeeducacional.pg_toast.pg_toast_3120537 19 19 22479 0 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 4 4 276 0 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 1 1 76157 0 portal_betim.fila_trabalho.fila_trabalho_2026_07 2 2 20862 0 augeeducacional.indicador.indicador_5min_56_2026_07 1 0 0 0 augeeducacional.public.indicador_freq_ocorrencia 10 0 0 0 augeeducacional.pg_toast.pg_toast_2619 1 1 767 0 augeeducacional.public.usuario_dispositivo 5 5 49385 0 portal_betim.public.falta_aluno_globalizada 1 1 50817 0 augeeducacional.public.aluno_turma_diario_impresso 12 0 0 0 augeeducacional.aluno_lancamento.nota_aluno_atividade_2026 1 1 309268 0 augeeducacional.movel.sincronizacao_lancamento_2026_07 1 1 8886 0 Total 117 57 708,915 4 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Jul 07 06 2 4 07 6 40 08 13 62 09 7 49 10 12 60 11 7 33 12 8 17 13 12 66 14 8 57 15 7 39 16 13 29 17 4 119 18 9 20 19 9 23 - 63.63 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
- 6,130 Total read queries
- 397 Total write queries
Queries by database
Key values
- augeeducacional Main database
- 5,290 Requests
- 4h36m3s (augeeducacional)
- Main time consuming database
Database Request type Count Duration augeeducacional Total 5,290 4h36m3s cte 180 42m1s delete 6 14s866ms insert 5 10s717ms select 4,991 3h51m11s update 108 2m24s portal_betim Total 1,223 35m14s cte 38 2m49s insert 45 4m43s select 1,125 26m24s update 15 1m17s portal_imm Total 13 14s141ms select 13 14s141ms postgres Total 1 732ms select 1 732ms Queries by user
Key values
- augeeducacional Main user
- 6,526 Requests
User Request type Count Duration augeeducacional Total 6,526 5h11m31s cte 218 44m50s delete 6 14s866ms insert 50 4m53s select 6,129 4h17m50s update 123 3m41s postgres Total 1 732ms select 1 732ms Duration by user
Key values
- 5h11m31s (augeeducacional) Main time consuming user
User Request type Count Duration augeeducacional Total 6,526 5h11m31s cte 218 44m50s delete 6 14s866ms insert 50 4m53s select 6,129 4h17m50s update 123 3m41s postgres Total 1 732ms select 1 732ms Queries by host
Key values
- 127.0.0.1 Main host
- 6,526 Requests
- 5h11m31s (127.0.0.1)
- Main time consuming host
Queries by application
Key values
- augeeducacional - fila Main application
- 4,189 Requests
- 4h13m12s (augeeducacional - fila)
- Main time consuming application
Application Request type Count Duration augeeducacional - fila Total 4,189 4h13m12s cte 180 42m1s delete 1 505ms insert 3 9s494ms select 4,005 3h31m1s augeeducacional - principal Total 1,101 22m50s delete 5 14s361ms insert 2 1s223ms select 986 20m10s update 108 2m24s portal_betim - fila Total 680 28m10s cte 37 2m48s insert 45 4m43s select 583 19m21s update 15 1m17s portal_betim - principal Total 543 7m4s cte 1 1s174ms select 542 7m2s portal_imm - principal Total 13 14s141ms select 13 14s141ms psql Total 1 732ms select 1 732ms Number of cancelled queries
Key values
- 1 per second Cancelled query Peak
- 2026-07-07 08:52:04 Date
Number of cancelled queries (5 minutes period)
NO DATASET
Queries generating the most cancellation (N)
Rank Count Query 1 13 select un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, ?) as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(?, nullif (ce.endereco, ?), nullif (ce.numero, ?), nullif (ce.complemento, ?)) || coalesce(? || nullif (formatar_cep (ce.cep), ?)) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ?) from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ? order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ? order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r on r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel on c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce on ce.id_cidadao = cidadao.id_cidadao left join municipio on municipio.id_municipio = ce.id_municipio 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 (...) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = ? left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = ? and am.id_unidade_funcional in ( select ? union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?) and ano.ano = ? and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo in (...) and ano.semestre is null and uf.id_municipio = ? order by cidadao.nome;-
select count(*) as contagem from ( select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status as "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = 1 and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) else null end as "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_unidade_funcional = '606730' and am.flg_matricula_atual is true and ano.ano = '2026' and ano.semestre is null and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = '2026') order by "nome" asc, "nome" asc) tabela;
Duration: 1s641ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
Bind query: yes -
select count(*) as contagem from ( select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status as "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = 1 and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) else null end as "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_unidade_funcional = '606730' and am.flg_matricula_atual is true and ano.ano = '2026' and ano.semestre is null and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = '2026') order by "nome" asc, "nome" asc) tabela;
Duration: 1s309ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
Bind query: yes -
select count(*) as contagem from ( select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status as "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = 1 and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) else null end as "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_unidade_funcional = '606653' and am.flg_matricula_atual is true and ano.ano = '2026' and ano.semestre is null and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = '2026') order by "nome" asc, "nome" asc) tabela;
Duration: 983ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
Bind query: yes -
delete from serie where id_serie = '2747';
Duration: 8s416ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
Bind query: yes
2 5 select count(*) as contagem from ( select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, am.id_aluno_matr_status AS "idAlunoMatrStatus", ams.descricao as situacao, ( select count(*) from call_center.notificacao_aluno na where na.id_cidadao = cidadao.id_cidadao) as num_notificacoes, case when am.id_aluno_matr_status = ? and amt.id_turma is not null then ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) else null end AS "ultimosDias" from aluno_matricula am inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_unidade_funcional = ? and am.flg_matricula_atual is true and ano.ano = ? and ano.semestre is null and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.ano = ?) order by "nome" asc, "nome" asc) tabela;3 2 select to_char(data, ?) as data_formatada, json from log where data >= ? and data < ? and id_instituicao = ? and fts @@ to_tsquery(?) order by data limit ?;4 1 select count(*) as contagem from ( select odta.id_observacao_documento_turma_aluno AS "idObservacaoDocumentoTurmaAluno", odta.ano, odta.titulo, case when odta.flg_destinado_turma then ? else ? end as destinado, odta.flg_ativo, odta.id_aluno_matricula, odta.id_turma from observacao_documento_turma_aluno odta where odta.ano = ? and odta.id_instituicao = ? and (exists ( select null from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join ano_semestre ano on ano.id_ano_semestre = t.id_ano_semestre where array[t.id_turma] <@ odta.id_turma and t.id_unidade_funcional = ?) or exists ( select null from aluno_matricula am inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where array[am.id_aluno_matricula] <@ odta.id_aluno_matricula and am.id_unidade_funcional = ?)) order by "titulo" asc) tabela;5 1 delete from serie where id_serie = ?; -
Top Queries
Histogram of query times
Key values
- 3,607 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 1m45s insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, 0 as alunos_matriculados, 0 as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, '1 day') dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = '120' group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;[ Date: 2026-07-07 18:15:34 - Database: portal_betim - User: augeeducacional - Remote: 127.0.0.1 - Application: portal_betim - fila - Bind query: yes ]
2 1m37s select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607200' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607200' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607200' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607200' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;[ Date: 2026-07-07 08:55:18 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
3 1m37s insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, 0 as alunos_matriculados, 0 as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, '1 day') dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = '132' group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;[ Date: 2026-07-07 19:56:40 - Database: portal_betim - User: augeeducacional - Remote: 127.0.0.1 - Application: portal_betim - fila - Bind query: yes ]
4 1m2s 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 <= '2026-07-07'::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 <= '2026-07-07' 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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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: 2026-07-07 10:44:47 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
5 1m2s 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 <= '2026-07-07'::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 <= '2026-07-07' 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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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: 2026-07-07 10:47:33 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
6 56s929ms select id_aluno_matricula, chamada, flg_dispensado, id_nota_periodo_aluno, -- faltas anteriores até o período atual + faltas até o período atual - faltas do período atual sum(faltas_anteriores) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int + sum(faltas_mes) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int - faltas_mes::int as faltas_anteriores, faltas_mes::int as faltas_mes, -- todas as faltas anteriores + todas faltas de período sum(faltas_anteriores) over (partition by id_aluno_matricula)::int + sum(faltas_mes) over (partition by id_aluno_matricula)::int as faltas_total from ( select a.id_aluno_matricula, a.chamada, tp.id_nota_periodo_aluno, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, coalesce(( select sum(f.qtd_faltas) from falta_aluno_globalizada f -- não faz join com turma de propósito por causa de remanejamento! where f.id_aluno_matricula = a.id_aluno_matricula and f.id_nota_periodo_aluno = tp.id_nota_periodo_aluno -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull), 0) as faltas_mes, 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 and fa.id_nota_periodo_aluno = tp.id_nota_periodo_aluno), 0) as faltas_anteriores from turma_serie ts inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma inner join turma_periodo tp on ts.id_turma = tp.id_turma -- 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 tp.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '260009638' and ts.id_serie = '2621') t order by id_aluno_matricula, chamada, id_nota_periodo_aluno;[ Date: 2026-07-07 14:15:31 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
7 47s479ms select un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(', ', nullif (ce.endereco, ''), nullif (ce.numero, ''), nullif (ce.complemento, '')) || coalesce(' - ' || nullif (formatar_cep (ce.cep), '')) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ', ' order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ', ' order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r ON r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel ON c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce ON ce.id_cidadao = cidadao.id_cidadao left join municipio ON municipio.id_municipio = ce.id_municipio 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) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '75' left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = '92' and am.id_unidade_funcional in ( select '606178' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606178' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '2' and frequencia_aluno.periodo in ('2') and ano.semestre is null and curso.id_periodicidade_apontamento in ('1') order by cidadao.nome;[ Date: 2026-07-07 09:04:52 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
8 46s328ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('2', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('2', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;[ Date: 2026-07-07 09:10:47 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
9 43s858ms select id_aluno_matricula, chamada, flg_dispensado, id_nota_periodo_aluno, -- faltas anteriores até o período atual + faltas até o período atual - faltas do período atual sum(faltas_anteriores) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int + sum(faltas_mes) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int - faltas_mes::int as faltas_anteriores, faltas_mes::int as faltas_mes, -- todas as faltas anteriores + todas faltas de período sum(faltas_anteriores) over (partition by id_aluno_matricula)::int + sum(faltas_mes) over (partition by id_aluno_matricula)::int as faltas_total from ( select a.id_aluno_matricula, a.chamada, tp.id_nota_periodo_aluno, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, coalesce(( select sum(f.qtd_faltas) from falta_aluno_globalizada f -- não faz join com turma de propósito por causa de remanejamento! where f.id_aluno_matricula = a.id_aluno_matricula and f.id_nota_periodo_aluno = tp.id_nota_periodo_aluno -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull), 0) as faltas_mes, 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 and fa.id_nota_periodo_aluno = tp.id_nota_periodo_aluno), 0) as faltas_anteriores from turma_serie ts inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma inner join turma_periodo tp on ts.id_turma = tp.id_turma -- 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 tp.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '260014016' and ts.id_serie = '2621') t order by id_aluno_matricula, chamada, id_nota_periodo_aluno;[ Date: 2026-07-07 18:09:15 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
10 43s729ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;[ Date: 2026-07-07 09:12:15 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
11 43s223ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;[ Date: 2026-07-07 09:11:31 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
12 42s362ms 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 <= '2026-07-07'::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 <= '2026-07-07'::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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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, 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 = '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 left join curso ct on ct.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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: 2026-07-07 10:42:35 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
13 41s420ms select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607116' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607116' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607116' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607116' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;[ Date: 2026-07-07 18:34:25 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
14 41s382ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('1', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('1', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;[ Date: 2026-07-07 09:10:01 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
15 40s606ms select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '10' and '100' and unidade_funcional.id_unidade_funcional in ( select '607136' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607136' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '10' and '100' and unidade_funcional.id_unidade_funcional in ( select '607136' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607136' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;[ Date: 2026-07-07 17:35:27 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
16 39s822ms 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 <= '2026-07-07'::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 <= '2026-07-07'::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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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, 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 = '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 left join curso ct on ct.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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: 2026-07-07 11:44:17 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
17 38s460ms 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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607197' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607197' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;[ Date: 2026-07-07 07:13:18 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
18 35s694ms select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '10' and '100' and unidade_funcional.id_unidade_funcional in ( select '607136' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607136' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '10' and '100' and unidade_funcional.id_unidade_funcional in ( select '607136' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607136' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;[ Date: 2026-07-07 17:41:15 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
19 33s586ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260010304', '260010305', '260010306', '260010307', '260010308', '260011351') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;[ Date: 2026-07-07 15:25:08 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
20 33s495ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260010304', '260010305', '260010306', '260010307', '260010308', '260011351') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;[ Date: 2026-07-07 15:25:42 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1h55m55s 1,754 500ms 46s328ms 3s965ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then ? when ministrados < total then ? || asterisco else ? || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then ? else ? end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then ? else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo (?, c.serie_duracao = ?, c.id_periodicidade_apontamento = ?) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in (...) and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo (?, c.serie_duracao = ?, c.id_periodicidade_apontamento = ?) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jul 07 06 13 22s47ms 1s695ms 07 65 9m31s 8s797ms 08 170 10m5s 3s563ms 09 256 15m34s 3s649ms 10 218 19m56s 5s487ms 11 106 4m23s 2s488ms 12 69 6m9s 5s357ms 13 195 8m50s 2s718ms 14 219 7m29s 2s51ms 15 202 20m40s 6s141ms 16 110 10m26s 5s697ms 17 42 50s415ms 1s200ms 18 32 27s232ms 851ms 19 57 1m8s 1s193ms [ User: augeeducacional - Total duration: 1h55m55s - Times executed: 1754 ]
[ Application: augeeducacional - fila - Total duration: 1h55m55s - Times executed: 1754 ]
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('2', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('2', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:10:47 Duration: 46s328ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:12:15 Duration: 43s729ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:11:31 Duration: 43s223ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
2 39m38s 172 1s400ms 38s460ms 13s829ms 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, case when cid.flg_laudo_medico_necessidade_esp then ? else ? end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then ? else ? end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ? order by descricao) from disturbio inner join cidadao_disturbio on cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, ?) as profissao_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(cid.profissao_pai, ?) as profissao_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(loteamento.descricao, ?) as loteamento, 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(cid.numero_conta_energia, ?) as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then ? else ? end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then ? else ? end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude on cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 #2
Day Hour Count Duration Avg duration Jul 07 07 21 3m40s 10s522ms 08 13 3m23s 15s667ms 09 25 5m50s 14s35ms 10 34 7m 12s359ms 11 12 2m39s 13s309ms 12 7 44s598ms 6s371ms 13 11 3m4s 16s733ms 14 13 4m1s 18s611ms 15 27 7m13s 16s39ms 16 6 1m2s 10s464ms 18 3 56s774ms 18s924ms [ User: augeeducacional - Total duration: 39m38s - Times executed: 172 ]
[ Application: augeeducacional - fila - Total duration: 37m42s - Times executed: 166 ]
[ Application: portal_betim - fila - Total duration: 1m56s - Times executed: 6 ]
-
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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607197' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607197' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 07:13:18 Duration: 38s460ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607107' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607107' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 09:18:29 Duration: 26s751ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607101' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607101' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 08:53:22 Duration: 24s593ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
3 30m53s 771 1s982ms 5s12ms 2s403ms 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 Jul 07 07 55 1m57s 2s131ms 08 142 5m46s 2s436ms 09 82 3m35s 2s633ms 10 119 5m 2s523ms 11 40 1m35s 2s398ms 12 21 47s479ms 2s260ms 13 83 3m9s 2s286ms 14 83 3m13s 2s327ms 15 46 1m50s 2s400ms 16 76 3m3s 2s411ms 17 1 2s141ms 2s141ms 18 9 19s173ms 2s130ms 19 14 32s213ms 2s300ms [ User: augeeducacional - Total duration: 30m53s - Times executed: 771 ]
[ Application: portal_betim - fila - Total duration: 15m45s - Times executed: 394 ]
[ Application: augeeducacional - fila - Total duration: 15m7s - Times executed: 377 ]
-
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 = '260000522' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2251' 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: 2026-07-07 09:05:36 Duration: 5s12ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila 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 = '260001526' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '32646' 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: 2026-07-07 09:01:16 Duration: 3s802ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '260001224' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2506' 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: 2026-07-07 08:45:01 Duration: 3s736ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
4 30m32s 451 501ms 12s997ms 4s64ms select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = ? and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = ? and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = ? and turma.id_turma_status = ? and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= ? and (am.id_aluno_matr_status = ? or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= ? order by amsh.id_aluno_matr_status_hist desc limit ?) = ?)));Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jul 07 07 8 26s338ms 3s292ms 08 40 2m26s 3s673ms 09 54 3m52s 4s306ms 10 60 4m18s 4s314ms 11 40 2m40s 4s22ms 12 44 3m1s 4s131ms 13 52 3m21s 3s877ms 14 54 3m35s 3s992ms 15 41 2m48s 4s120ms 16 25 1m38s 3s928ms 17 10 42s566ms 4s256ms 18 16 1m6s 4s163ms 19 7 31s926ms 4s560ms [ User: augeeducacional - Total duration: 30m32s - Times executed: 451 ]
[ Application: augeeducacional - fila - Total duration: 30m18s - Times executed: 428 ]
[ Application: portal_betim - fila - Total duration: 14s60ms - Times executed: 23 ]
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '606744' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 07:16:45 Duration: 12s997ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '607123' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 15:56:27 Duration: 6s636ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '606753' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 09:05:35 Duration: 6s535ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
5 24m13s 700 501ms 11s391ms 2s76ms select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = ? inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in (...) and npa.id_nota_periodo_aluno = bimestre_para_periodo (?, curso.serie_duracao = ?, curso.id_periodicidade_apontamento = ?) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = ? and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = ? and mad.id_categoria_modelo_avaliacao_desc = ? and mad.id_periodicidade_apontamento_avaliacao_desc = ? and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= ?) and (mdp.periodos is null or not mdp.periodos @> array[?]) and emap.id_nota_periodo_aluno = ? and am.id_aluno_matr_status in (...) and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = ? and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jul 07 06 4 4s173ms 1s43ms 07 16 41s568ms 2s598ms 08 90 4m9s 2s774ms 09 92 2m22s 1s547ms 10 85 2m29s 1s755ms 11 55 1m57s 2s144ms 12 32 2m20s 4s386ms 13 54 2m 2s236ms 14 121 3m54s 1s939ms 15 71 2m23s 2s16ms 16 29 49s751ms 1s715ms 17 26 35s180ms 1s353ms 18 5 3s989ms 797ms 19 20 21s33ms 1s51ms [ User: augeeducacional - Total duration: 24m13s - Times executed: 700 ]
[ Application: augeeducacional - fila - Total duration: 24m13s - Times executed: 700 ]
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012293', '260012289', '260012279', '260012285', '260012287', '260012290', '260012291', '260012286', '260012284', '260012283', '260012280', '260012292', '260012282', '260012276', '260012288', '260012278', '260012277', '260012281') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 08:33:02 Duration: 11s391ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012653', '260013139', '260012649', '260012652', '260012651', '260012641', '260012644', '260012648', '260012650', '260012636', '260012642', '260012646', '260013136', '260012638', '260012654', '260012647', '260012635', '260012639', '260012645', '260012634', '260012643') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 12:59:27 Duration: 9s422ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012265', '260012259', '260012253', '260012256', '260012269', '260012706', '260012267', '260012258', '260012262', '260012703', '260012270', '260012252', '260012250', '260012273', '260012274', '260012248', '260012266', '260012268', '260012249', '260012251', '260012263', '260012271', '260012272', '260012254', '260012261', '260012247', '260012264') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 11:05:49 Duration: 8s437ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
6 10m5s 411 501ms 4s982ms 1s473ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = ? then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / ?.?)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case when cc.id_forma_avaliacao_componente = ? then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = ?), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when ? then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in (...) and ans.ano = ? and s.id_forma_avaliacao in (...) and npa.id_nota_periodo_aluno = ? and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in (...) and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[npa.id_nota_periodo_aluno]))) t;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jul 07 06 1 795ms 795ms 07 10 11s555ms 1s155ms 08 56 1m40s 1s789ms 09 89 2m 1s348ms 10 41 56s954ms 1s389ms 11 28 36s310ms 1s296ms 12 13 23s383ms 1s798ms 13 43 1m1s 1s436ms 14 57 1m34s 1s654ms 15 34 51s694ms 1s520ms 16 15 17s556ms 1s170ms 17 6 6s440ms 1s73ms 18 6 7s185ms 1s197ms 19 12 17s179ms 1s431ms [ User: augeeducacional - Total duration: 10m5s - Times executed: 411 ]
[ Application: augeeducacional - fila - Total duration: 9m12s - Times executed: 370 ]
[ Application: portal_betim - fila - Total duration: 53s154ms - Times executed: 41 ]
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260002926', '260002918', '260011041', '260011057', '260011059', '260011062', '260011063', '260011065', '260011066', '260011067', '260011068', '260011097', '260011098', '260002925', '260002923', '260002924', '260002922', '260002921', '260002920', '260002919', '260002927') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 09:04:22 Duration: 4s982ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260011954', '260011955', '260011952', '260011953', '260012801', '260011950', '260011951', '260011948', '260011949', '260011960', '260011961', '260011958', '260011959', '260011956', '260011957', '260011966', '260011967', '260011964', '260011965', '260012819') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 08:40:53 Duration: 4s953ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260016389', '260016390', '260013221', '260013219', '260013210', '260013211', '260013217', '260013215', '260013212', '260013208', '260013222', '260013216', '260013205', '260013214', '260013220', '260013223', '260013213', '260013201', '260014608', '260013202', '260013203', '260013206', '260013209', '260014634') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 10:05:20 Duration: 4s914ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
7 4m29s 158 500ms 13s214ms 1s708ms select coalesce(c.id_cidadao, ?) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = ? as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in (...) and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in (...) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> array[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jul 07 06 2 8s513ms 4s256ms 07 7 10s902ms 1s557ms 08 17 38s611ms 2s271ms 09 21 27s348ms 1s302ms 10 13 19s378ms 1s490ms 11 6 9s128ms 1s521ms 12 13 25s553ms 1s965ms 13 18 43s791ms 2s432ms 14 18 24s435ms 1s357ms 15 13 19s505ms 1s500ms 16 4 5s592ms 1s398ms 17 7 16s840ms 2s405ms 18 13 14s692ms 1s130ms 19 6 5s698ms 949ms [ User: augeeducacional - Total duration: 4m29s - Times executed: 158 ]
[ Application: augeeducacional - fila - Total duration: 4m28s - Times executed: 156 ]
[ Application: portal_betim - fila - Total duration: 1s804ms - Times executed: 2 ]
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009692', '260002454', '260002449', '260002467', '260002463', '260002460', '260002451', '260002465', '260002475', '260009690', '260002473', '260002455', '260002472', '260002474', '260002452', '260002462', '260002461', '260002453', '260002459', '260002466', '260002468', '260002457', '260002470', '260002469', '260002471', '260002456', '260002458', '260002450') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 13:45:00 Duration: 13s214ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009738', '260009737', '260010761', '260009743', '260009761', '260010759', '260009739', '260009770', '260010738', '260009758', '260009753', '260009750', '260009764', '260009742', '260009740', '260009760', '260009752', '260010756', '260009765', '260009757', '260009766', '260009768', '260009762', '260010757', '260009751', '260018133', '260009748', '260009749', '260009763', '260009746', '260009754', '260009744', '260009755', '260009735', '260009741', '260009769', '260009736', '260009759', '260009745') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 08:51:51 Duration: 10s106ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260002449', '260002467', '260002463', '260002451', '260002465', '260002473', '260002455', '260002453', '260002459', '260002469', '260002471') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 17:01:28 Duration: 7s318ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
8 4m5s 5 30s281ms 1m37s 49s114ms select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, ?) as fnj1, coalesce(faltas_mes.fnj2, ?) as fnj2, coalesce(faltas_mes.fnj3, ?) as fnj3, coalesce(faltas_mes.fnj4, ?) as fnj4, coalesce(faltas_mes.fnj5, ?) as fnj5, coalesce(faltas_mes.fnj6, ?) as fnj6, coalesce(faltas_mes.fnj7, ?) as fnj7, coalesce(faltas_mes.fnj8, ?) as fnj8, coalesce(faltas_mes.fnj9, ?) as fnj9, coalesce(faltas_mes.fnj10, ?) as fnj10, coalesce(faltas_mes.fnj11, ?) as fnj11, coalesce(faltas_mes.fnj12, ?) as fnj12, coalesce(faltas_gloabl.fj, ?) as fj, coalesce(faltas_gloabl.fnj, ?) as fnj, (coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ? as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj1, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj2, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj3, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj4, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj5, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj6, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj7, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj8, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj9, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj10, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj11, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = ?), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ?)) as id_calendario) as calendario on ? = ? left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between ? and ? or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = ? and am.id_aluno_matr_status in (...) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = ?) and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > ? and least ((coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ?, ?.?) between ? and ? and unidade_funcional.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 = ?) and unidade_funcional.id_municipio = ? union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, ?) as fnj1, coalesce(faltas_mes.fnj2, ?) as fnj2, coalesce(faltas_mes.fnj3, ?) as fnj3, coalesce(faltas_mes.fnj4, ?) as fnj4, coalesce(faltas_mes.fnj5, ?) as fnj5, coalesce(faltas_mes.fnj6, ?) as fnj6, coalesce(faltas_mes.fnj7, ?) as fnj7, coalesce(faltas_mes.fnj8, ?) as fnj8, coalesce(faltas_mes.fnj9, ?) as fnj9, coalesce(faltas_mes.fnj10, ?) as fnj10, coalesce(faltas_mes.fnj11, ?) as fnj11, coalesce(faltas_mes.fnj12, ?) as fnj12, coalesce(faltas_disc.fj, ?) as fj, coalesce(faltas_disc.fnj, ?) as fnj, (coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ? as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj1, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj2, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj3, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj4, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj5, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj6, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj7, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj8, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj9, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj10, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj11, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = ?), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ?)) as id_calendario) as calendario on ? = ? left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = ? and am.id_aluno_matr_status in (...) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = ?) and serie.flg_apon_falta_globalizado is false and aulas.aulas > ? and least ((coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ?, ?.?) between ? and ? and unidade_funcional.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 = ?) and unidade_funcional.id_municipio = ? order by escola, aluno;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jul 07 08 1 1m37s 1m37s 13 1 30s281ms 30s281ms 17 2 1m16s 38s150ms 18 1 41s420ms 41s420ms [ User: augeeducacional - Total duration: 4m5s - Times executed: 5 ]
[ Application: augeeducacional - fila - Total duration: 3m35s - Times executed: 4 ]
[ Application: portal_betim - fila - Total duration: 30s281ms - Times executed: 1 ]
-
select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607200' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607200' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607200' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607200' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;
Date: 2026-07-07 08:55:18 Duration: 1m37s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607116' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607116' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607116' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607116' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;
Date: 2026-07-07 18:34:25 Duration: 41s420ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '10' and '100' and unidade_funcional.id_unidade_funcional in ( select '607136' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607136' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '10' and '100' and unidade_funcional.id_unidade_funcional in ( select '607136' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607136' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;
Date: 2026-07-07 17:35:27 Duration: 40s606ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
9 3m42s 15 788ms 1m45s 14s854ms insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, ? as alunos_matriculados, ? as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, ?) dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = ? group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jul 07 18 7 1m54s 16s368ms 19 8 1m48s 13s530ms [ User: augeeducacional - Total duration: 3m42s - Times executed: 15 ]
[ Application: portal_betim - fila - Total duration: 3m42s - Times executed: 15 ]
-
insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, 0 as alunos_matriculados, 0 as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, '1 day') dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = '120' group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;
Date: 2026-07-07 18:15:34 Duration: 1m45s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, 0 as alunos_matriculados, 0 as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, '1 day') dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = '132' group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;
Date: 2026-07-07 19:56:40 Duration: 1m37s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, 0 as alunos_matriculados, 0 as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, '1 day') dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = '130' group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;
Date: 2026-07-07 19:37:04 Duration: 3s158ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
10 2m25s 5 1s311ms 1m2s 29s73ms 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, ?) 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 (...) 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 = ? and amt.data_enturmacao::date <= ?::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 <= ? order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit ?) 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 = ? and uf.id_instituicao = ? and (t.id_turma is null or t.id_turma_status in (...)) and ((t.id_diario_turma_situacao = ? and coalesce(amt.id_diario_turma_situacao_enturmacao, remanejamento.id_diario_turma_situacao_enturmacao) = ?) or (t.id_diario_turma_situacao <> ? or t.id_diario_turma_situacao is null)) and pm.data_matricula::date <= ? and ( select amsh.id_aluno_matr_status in (...) from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= ? order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit ?) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= ?::date and case when a.semestre = ? then cpf.ordem <= ? when a.semestre = ? then cpf.ordem >= ? else true end) and t.id_turma is not null 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 = ?) group by pm.id_unidade_funcional, pm.id_serie, coalesce(turno.id_turno, ?), coalesce(turno.sigla, ?), s.id_curso, a.ano, uf.codigo, uf.nome, meoa.nome order by pm.id_unidade_funcional, coalesce(turno.id_turno, ?)) 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 = ? 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 = ? 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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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 > ? or pm.alunos > ?) order by pm.unidade, pm.codigo_unidade, ee.ordem, pm.sigla, pm.id_serie;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jul 07 09 2 11s594ms 5s797ms 10 3 2m13s 44s590ms [ User: augeeducacional - Total duration: 2m25s - Times executed: 5 ]
[ Application: augeeducacional - fila - Total duration: 2m5s - Times executed: 2 ]
[ Application: portal_betim - fila - Total duration: 20s21ms - Times executed: 3 ]
-
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 <= '2026-07-07'::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 <= '2026-07-07' 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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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: 2026-07-07 10:44:47 Duration: 1m2s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
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 <= '2026-07-07'::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 <= '2026-07-07' 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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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: 2026-07-07 10:47:33 Duration: 1m2s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
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 <= '2026-07-07'::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 <= '2026-07-07' 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 = '2026' and uf.id_instituicao = '82' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 '39' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '39' and id_assunto_hierarquia_unidade = '10') 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 = '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 = '11' 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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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: 2026-07-07 09:15:01 Duration: 10s283ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
11 2m24s 108 504ms 2s915ms 1s336ms update apontamento_relatorio_geral_turma set data_realizacao = ?, id_turma = ?, id_serie = ?, ano = ?, id_nota_periodo_aluno = ?, id_disciplina = ?, id_mes = ? where id_apontamento_relatorio_geral_turma = ?;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jul 07 12 108 2m24s 1s336ms [ User: augeeducacional - Total duration: 2m24s - Times executed: 108 ]
[ Application: augeeducacional - principal - Total duration: 2m24s - Times executed: 108 ]
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:54.744', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s915ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:54.934', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s706ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:55.006', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s513ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
12 2m15s 159 501ms 1s685ms 852ms select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, flg_apontamento, 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, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, greatest (nota, recuperacao_final, nota_conselho)::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_pos_recuperacao_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 < 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, npa.flg_apontamento, 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, case when pa.id_tipo_resultado_final = ? then get_soma_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina, amt.id_serie_enturmacao) else get_media_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina) end as resultado_final_calculado, nf.nota as resultado_final, 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) filter (where npa.flg_apontamento) 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 (amdd.periodos isnull or amdd.flg_dispensado_todos_periodos or 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 #12
Day Hour Count Duration Avg duration Jul 07 07 13 11s438ms 879ms 08 24 21s165ms 881ms 09 8 8s450ms 1s56ms 10 42 39s710ms 945ms 11 25 22s351ms 894ms 13 16 10s481ms 655ms 14 28 19s686ms 703ms 15 2 1s213ms 606ms 16 1 1s128ms 1s128ms [ User: augeeducacional - Total duration: 2m15s - Times executed: 159 ]
[ Application: portal_betim - fila - Total duration: 1m9s - Times executed: 90 ]
[ Application: augeeducacional - fila - Total duration: 1m6s - Times executed: 69 ]
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, flg_apontamento, 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, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, greatest (nota, recuperacao_final, nota_conselho)::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_pos_recuperacao_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 < 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, npa.flg_apontamento, 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, case when pa.id_tipo_resultado_final = 1 then get_soma_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina, amt.id_serie_enturmacao) else get_media_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina) end as resultado_final_calculado, nf.nota as resultado_final, 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) filter (where npa.flg_apontamento) 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 (amdd.periodos isnull or amdd.flg_dispensado_todos_periodos or 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 = '260014082' and ts.id_serie = '2361' 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: 2026-07-07 07:50:14 Duration: 1s685ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, flg_apontamento, 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, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, greatest (nota, recuperacao_final, nota_conselho)::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_pos_recuperacao_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 < 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, npa.flg_apontamento, 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, case when pa.id_tipo_resultado_final = 1 then get_soma_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina, amt.id_serie_enturmacao) else get_media_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina) end as resultado_final_calculado, nf.nota as resultado_final, 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) filter (where npa.flg_apontamento) 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 (amdd.periodos isnull or amdd.flg_dispensado_todos_periodos or 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 = '260001923' and ts.id_serie = '104' 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: 2026-07-07 08:07:18 Duration: 1s662ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, flg_apontamento, 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, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, greatest (nota, recuperacao_final, nota_conselho)::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_pos_recuperacao_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 < 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, npa.flg_apontamento, 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, case when pa.id_tipo_resultado_final = 1 then get_soma_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina, amt.id_serie_enturmacao) else get_media_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina) end as resultado_final_calculado, nf.nota as resultado_final, 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) filter (where npa.flg_apontamento) 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 (amdd.periodos isnull or amdd.flg_dispensado_todos_periodos or 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 = '260015618' and ts.id_serie = '2360' 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: 2026-07-07 10:31:32 Duration: 1s492ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
13 1m40s 2 43s858ms 56s929ms 50s394ms select id_aluno_matricula, chamada, flg_dispensado, id_nota_periodo_aluno, sum(faltas_anteriores) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int + sum(faltas_mes) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int - faltas_mes::int as faltas_anteriores, faltas_mes::int as faltas_mes, sum(faltas_anteriores) over (partition by id_aluno_matricula)::int + sum(faltas_mes) over (partition by id_aluno_matricula)::int as faltas_total from ( select a.id_aluno_matricula, a.chamada, tp.id_nota_periodo_aluno, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, coalesce(( select sum(f.qtd_faltas) from falta_aluno_globalizada f where f.id_aluno_matricula = a.id_aluno_matricula and f.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and mdp.id_motivo_dispensa_periodo isnull), ?) 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 and fa.id_nota_periodo_aluno = tp.id_nota_periodo_aluno), ?) as faltas_anteriores from turma_serie ts inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma inner join turma_periodo tp on ts.id_turma = tp.id_turma 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 tp.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = ? and ts.id_serie = ?) t order by id_aluno_matricula, chamada, id_nota_periodo_aluno;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jul 07 14 1 56s929ms 56s929ms 18 1 43s858ms 43s858ms [ User: augeeducacional - Total duration: 1m40s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 1m40s - Times executed: 2 ]
-
select id_aluno_matricula, chamada, flg_dispensado, id_nota_periodo_aluno, -- faltas anteriores até o período atual + faltas até o período atual - faltas do período atual sum(faltas_anteriores) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int + sum(faltas_mes) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int - faltas_mes::int as faltas_anteriores, faltas_mes::int as faltas_mes, -- todas as faltas anteriores + todas faltas de período sum(faltas_anteriores) over (partition by id_aluno_matricula)::int + sum(faltas_mes) over (partition by id_aluno_matricula)::int as faltas_total from ( select a.id_aluno_matricula, a.chamada, tp.id_nota_periodo_aluno, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, coalesce(( select sum(f.qtd_faltas) from falta_aluno_globalizada f -- não faz join com turma de propósito por causa de remanejamento! where f.id_aluno_matricula = a.id_aluno_matricula and f.id_nota_periodo_aluno = tp.id_nota_periodo_aluno -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull), 0) as faltas_mes, 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 and fa.id_nota_periodo_aluno = tp.id_nota_periodo_aluno), 0) as faltas_anteriores from turma_serie ts inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma inner join turma_periodo tp on ts.id_turma = tp.id_turma -- 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 tp.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '260009638' and ts.id_serie = '2621') t order by id_aluno_matricula, chamada, id_nota_periodo_aluno;
Date: 2026-07-07 14:15:31 Duration: 56s929ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_aluno_matricula, chamada, flg_dispensado, id_nota_periodo_aluno, -- faltas anteriores até o período atual + faltas até o período atual - faltas do período atual sum(faltas_anteriores) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int + sum(faltas_mes) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int - faltas_mes::int as faltas_anteriores, faltas_mes::int as faltas_mes, -- todas as faltas anteriores + todas faltas de período sum(faltas_anteriores) over (partition by id_aluno_matricula)::int + sum(faltas_mes) over (partition by id_aluno_matricula)::int as faltas_total from ( select a.id_aluno_matricula, a.chamada, tp.id_nota_periodo_aluno, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, coalesce(( select sum(f.qtd_faltas) from falta_aluno_globalizada f -- não faz join com turma de propósito por causa de remanejamento! where f.id_aluno_matricula = a.id_aluno_matricula and f.id_nota_periodo_aluno = tp.id_nota_periodo_aluno -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull), 0) as faltas_mes, 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 and fa.id_nota_periodo_aluno = tp.id_nota_periodo_aluno), 0) as faltas_anteriores from turma_serie ts inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma inner join turma_periodo tp on ts.id_turma = tp.id_turma -- 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 tp.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '260014016' and ts.id_serie = '2621') t order by id_aluno_matricula, chamada, id_nota_periodo_aluno;
Date: 2026-07-07 18:09:15 Duration: 43s858ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
14 1m30s 147 500ms 1s247ms 616ms 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 #14
Day Hour Count Duration Avg duration Jul 07 07 5 3s759ms 751ms 08 18 11s461ms 636ms 09 14 8s874ms 633ms 10 23 14s546ms 632ms 11 2 1s28ms 514ms 12 2 1s68ms 534ms 13 18 10s681ms 593ms 14 11 6s556ms 596ms 15 34 20s651ms 607ms 16 17 10s336ms 608ms 17 3 1s611ms 537ms [ User: augeeducacional - Total duration: 1m30s - Times executed: 147 ]
[ Application: portal_betim - principal - Total duration: 1m30s - Times executed: 147 ]
-
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('luiz&bernardo&barbosa&melo') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-07 07:10:25 Duration: 1s247ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal 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('yan&pyetro&dos&santos&silva&hermenegildo') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-07 15:26:20 Duration: 1s14ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal 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('SEBASTIAN&MIGUEL&BRITO&MENESES') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-07 08:16:49 Duration: 871ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
15 1m29s 3 7s355ms 42s362ms 29s847ms 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 (...) 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 = ? and amt.data_enturmacao::date <= ?::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 <= ?::date order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit ?) 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 = ? and uf.id_instituicao = ? and (t.id_turma is null or t.id_turma_status in (...)) and ((t.id_diario_turma_situacao = ? and coalesce(amt.id_diario_turma_situacao_enturmacao, remanejamento.id_diario_turma_situacao_enturmacao) = ?) or (t.id_diario_turma_situacao <> ? or t.id_diario_turma_situacao is null)) and pm.data_matricula::date <= ? and ( select amsh.id_aluno_matr_status in (...) from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= ? order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit ?) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= ?::date and case when a.semestre = ? then cpf.ordem <= ? when a.semestre = ? then cpf.ordem >= ? else true end) and t.id_turma is not null 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 = ?) 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(*) > ? ) 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 = ? 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 = ? 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 left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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 > ? or pm.alunos > ?) order by pm.unidade, pm.codigo_unidade, ee.ordem, pm.id_serie;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jul 07 10 2 49s718ms 24s859ms 11 1 39s822ms 39s822ms [ User: augeeducacional - Total duration: 1m29s - Times executed: 3 ]
[ Application: augeeducacional - fila - Total duration: 1m29s - Times executed: 3 ]
-
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 <= '2026-07-07'::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 <= '2026-07-07'::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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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, 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 = '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 left join curso ct on ct.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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: 2026-07-07 10:42:35 Duration: 42s362ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
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 <= '2026-07-07'::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 <= '2026-07-07'::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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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, 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 = '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 left join curso ct on ct.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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: 2026-07-07 11:44:17 Duration: 39s822ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
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 <= '2026-07-07'::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 <= '2026-07-07'::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 = '2026' and uf.id_instituicao = '69' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 '605610' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '605610' and id_assunto_hierarquia_unidade = '61') 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 = '61' 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 left join curso ct on ct.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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: 2026-07-07 10:31:12 Duration: 7s355ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
16 1m21s 151 500ms 962ms 539ms select scb.id_servidor_cargo_base, scb.cl, scb.flg_aberto, scb.id_cargo, scb.id_situacao_funcional, scb.data_posse, ca.descricao, ca.sigla, ca.flg_controlado_no_quadro and sf.flg_controle_quadro_cargo as flg_controlado_no_quadro, sf.descricao, sf.sigla, sie.data_inicio_exercicio, aht.descricao, us.nome as unidade_sede, ul.nome as unidade_lotacao, ul.codigo as codigo_unidade_lotacao, lo.flg_definitiva, scb.matricula_cargo, ( select jtt.sigla as sigla_jornada from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtocb.id_jorn_trabalho_opcao_serv = jtos.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtos.flg_opcao_desligada is false and jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base order by ano desc limit ?) as jornada, sp_funcao_atividade_servidor (scb.id_servidor_cargo_base, ?) as funcao, case when ato_historico.contador notnull then ? else ? end as situacao_atual, turno.sigla as turno from servidor_cargo_base scb inner join cargo ca on (ca.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) left join turno on turno.id_turno = scb.id_turno left join srv_cb_inicio_exercicio sie on (sie.id_servidor_cargo_base = scb.id_servidor_cargo_base) left join ato_historico_tipo aht on (scb.id_ato_inicio = aht.id_ato_historico_tipo) left join unidade_funcional us on (us.id_unidade_funcional = scb.id_unidade_sede) left join lotacao lo on (lo.id_servidor_cargo_base = scb.id_servidor_cargo_base and lo.flg_aberto) left join unidade_funcional ul on (ul.id_unidade_funcional = lo.id_unidade_lotacao) 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 = ? 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 = scb.id_servidor_cargo_base where ? = ? and (scb.id_cidadao = ?) and (scb.flg_aberto = true) and (ca.id_instituicao = ?) order by ca.descricao;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jul 07 07 1 814ms 814ms 08 27 14s472ms 536ms 09 27 15s36ms 556ms 10 23 12s409ms 539ms 11 8 4s412ms 551ms 12 3 1s528ms 509ms 13 8 4s251ms 531ms 14 22 11s545ms 524ms 15 16 8s571ms 535ms 16 16 8s429ms 526ms [ User: augeeducacional - Total duration: 1m21s - Times executed: 151 ]
[ Application: portal_betim - principal - Total duration: 1m21s - Times executed: 151 ]
-
select scb.id_servidor_cargo_base, scb.cl, scb.flg_aberto, scb.id_cargo, scb.id_situacao_funcional, scb.data_posse, ca.descricao, ca.sigla, ca.flg_controlado_no_quadro and sf.flg_controle_quadro_cargo as flg_controlado_no_quadro, sf.descricao, sf.sigla, sie.data_inicio_exercicio, aht.descricao, us.nome as unidade_sede, ul.nome as unidade_lotacao, ul.codigo as codigo_unidade_lotacao, lo.flg_definitiva, scb.matricula_cargo, ( select jtt.sigla as sigla_jornada from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtocb.id_jorn_trabalho_opcao_serv = jtos.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtos.flg_opcao_desligada is false and jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base order by ano desc limit 1) as jornada, sp_funcao_atividade_servidor (scb.id_servidor_cargo_base, ', ') as funcao, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, turno.sigla as turno from servidor_cargo_base scb inner join cargo ca on (ca.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) left join turno on turno.id_turno = scb.id_turno left join srv_cb_inicio_exercicio sie on (sie.id_servidor_cargo_base = scb.id_servidor_cargo_base) left join ato_historico_tipo aht on (scb.id_ato_inicio = aht.id_ato_historico_tipo) left join unidade_funcional us on (us.id_unidade_funcional = scb.id_unidade_sede) left join lotacao lo on (lo.id_servidor_cargo_base = scb.id_servidor_cargo_base and lo.flg_aberto) left join unidade_funcional ul on (ul.id_unidade_funcional = lo.id_unidade_lotacao) 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 = 7 and sah.data_referencia <= to_timestamp('07/07/2026 09:01:23', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('07/07/2026 09:01:23', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base WHERE 1 = 1 AND (scb.id_cidadao = 459348) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-07 09:01:24 Duration: 962ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
-
select scb.id_servidor_cargo_base, scb.cl, scb.flg_aberto, scb.id_cargo, scb.id_situacao_funcional, scb.data_posse, ca.descricao, ca.sigla, ca.flg_controlado_no_quadro and sf.flg_controle_quadro_cargo as flg_controlado_no_quadro, sf.descricao, sf.sigla, sie.data_inicio_exercicio, aht.descricao, us.nome as unidade_sede, ul.nome as unidade_lotacao, ul.codigo as codigo_unidade_lotacao, lo.flg_definitiva, scb.matricula_cargo, ( select jtt.sigla as sigla_jornada from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtocb.id_jorn_trabalho_opcao_serv = jtos.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtos.flg_opcao_desligada is false and jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base order by ano desc limit 1) as jornada, sp_funcao_atividade_servidor (scb.id_servidor_cargo_base, ', ') as funcao, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, turno.sigla as turno from servidor_cargo_base scb inner join cargo ca on (ca.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) left join turno on turno.id_turno = scb.id_turno left join srv_cb_inicio_exercicio sie on (sie.id_servidor_cargo_base = scb.id_servidor_cargo_base) left join ato_historico_tipo aht on (scb.id_ato_inicio = aht.id_ato_historico_tipo) left join unidade_funcional us on (us.id_unidade_funcional = scb.id_unidade_sede) left join lotacao lo on (lo.id_servidor_cargo_base = scb.id_servidor_cargo_base and lo.flg_aberto) left join unidade_funcional ul on (ul.id_unidade_funcional = lo.id_unidade_lotacao) 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 = 7 and sah.data_referencia <= to_timestamp('07/07/2026 07:14:39', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('07/07/2026 07:14:39', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base WHERE 1 = 1 AND (scb.id_cidadao = 78247) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-07 07:14:40 Duration: 814ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
-
select scb.id_servidor_cargo_base, scb.cl, scb.flg_aberto, scb.id_cargo, scb.id_situacao_funcional, scb.data_posse, ca.descricao, ca.sigla, ca.flg_controlado_no_quadro and sf.flg_controle_quadro_cargo as flg_controlado_no_quadro, sf.descricao, sf.sigla, sie.data_inicio_exercicio, aht.descricao, us.nome as unidade_sede, ul.nome as unidade_lotacao, ul.codigo as codigo_unidade_lotacao, lo.flg_definitiva, scb.matricula_cargo, ( select jtt.sigla as sigla_jornada from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtocb.id_jorn_trabalho_opcao_serv = jtos.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtos.flg_opcao_desligada is false and jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base order by ano desc limit 1) as jornada, sp_funcao_atividade_servidor (scb.id_servidor_cargo_base, ', ') as funcao, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, turno.sigla as turno from servidor_cargo_base scb inner join cargo ca on (ca.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) left join turno on turno.id_turno = scb.id_turno left join srv_cb_inicio_exercicio sie on (sie.id_servidor_cargo_base = scb.id_servidor_cargo_base) left join ato_historico_tipo aht on (scb.id_ato_inicio = aht.id_ato_historico_tipo) left join unidade_funcional us on (us.id_unidade_funcional = scb.id_unidade_sede) left join lotacao lo on (lo.id_servidor_cargo_base = scb.id_servidor_cargo_base and lo.flg_aberto) left join unidade_funcional ul on (ul.id_unidade_funcional = lo.id_unidade_lotacao) 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 = 7 and sah.data_referencia <= to_timestamp('07/07/2026 11:12:37', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('07/07/2026 11:12:37', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base WHERE 1 = 1 AND (scb.id_cidadao = 79540) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-07 11:12:37 Duration: 785ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
17 1m20s 2 32s760ms 47s479ms 40s120ms select un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, ?) as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(?, nullif (ce.endereco, ?), nullif (ce.numero, ?), nullif (ce.complemento, ?)) || coalesce(? || nullif (formatar_cep (ce.cep), ?)) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ?) from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ? order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ? order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r on r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel on c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce on ce.id_cidadao = cidadao.id_cidadao left join municipio on municipio.id_municipio = ce.id_municipio 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 (...) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = ? left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = ? and am.id_unidade_funcional in ( select ? union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?) and ano.ano = ? and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo in (...) and ano.semestre is null and curso.id_periodicidade_apontamento in (...) order by cidadao.nome;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jul 07 09 2 1m20s 40s120ms [ User: augeeducacional - Total duration: 1m20s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 1m20s - Times executed: 2 ]
-
select un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(', ', nullif (ce.endereco, ''), nullif (ce.numero, ''), nullif (ce.complemento, '')) || coalesce(' - ' || nullif (formatar_cep (ce.cep), '')) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ', ' order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ', ' order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r ON r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel ON c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce ON ce.id_cidadao = cidadao.id_cidadao left join municipio ON municipio.id_municipio = ce.id_municipio 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) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '75' left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = '92' and am.id_unidade_funcional in ( select '606178' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606178' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '2' and frequencia_aluno.periodo in ('2') and ano.semestre is null and curso.id_periodicidade_apontamento in ('1') order by cidadao.nome;
Date: 2026-07-07 09:04:52 Duration: 47s479ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(', ', nullif (ce.endereco, ''), nullif (ce.numero, ''), nullif (ce.complemento, '')) || coalesce(' - ' || nullif (formatar_cep (ce.cep), '')) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ', ' order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ', ' order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r ON r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel ON c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce ON ce.id_cidadao = cidadao.id_cidadao left join municipio ON municipio.id_municipio = ce.id_municipio 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) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '75' left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = '92' and am.id_unidade_funcional in ( select '606178' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606178' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '2' and frequencia_aluno.periodo in ('1') and ano.semestre is null and curso.id_periodicidade_apontamento in ('1') order by cidadao.nome;
Date: 2026-07-07 09:04:05 Duration: 32s760ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
18 1m17s 15 2s158ms 20s731ms 5s139ms update alimentacao.remessa_escola_cardapio_publico_alvo recpa set alunos_matriculados = alunos.alunos_matriculados, alunos_comensais = alunos.alunos_comensais from ( select recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, count(am.id_aluno_matricula) as alunos_matriculados, ceil(count(am.id_aluno_matricula) * (cuf.consumo / ?.?)) as alunos_comensais from alimentacao.remessa_escola_cardapio_publico_alvo recpa inner join alimentacao.remessa_escola re on re.id_remessa_escola = recpa.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = recpa.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.configuracao_unidade_funcional cuf on cuf.id_unidade_funcional = re.id_unidade_funcional left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from alimentacao.cardapio_dieta_especial cde where cde.id_cardapio = c.id_cardapio group by cde.id_cardapio) cardapio_dieta_especial on true inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = recpa.id_publico_alvo left join alimentacao.faixa_etaria fe on fe.id_faixa_etaria = recpa.id_faixa_etaria inner join aluno_matricula am on am.id_aluno_matr_status = ? inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ambiente a on a.id_ambiente = t.id_ambiente left join turma_especial te on te.id_turma = t.id_turma inner join serie s on s.id_serie = am.id_serie inner join curso cu on cu.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = cu.id_modalidade inner join cidadao cid on cid.id_cidadao = am.id_cidadao left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from cidadao_dieta_especial cde where cde.id_cidadao = am.id_cidadao group by cde.id_cidadao) aluno_dieta_especial on true cross join age(r.data_inicio, cid.nascimento_data) as idade where re.id_remessa = ? and t.id_turno = c.id_turno and a.id_unidade_referencia in ( select re.id_unidade_funcional union select anexo.id_unidade_funcional from unidade_funcional anexo inner join hierarquia_unidade_funcional h on h.id_unidade_funcional_filha = anexo.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = h.id_assunto_hierarquia_unidade and ahu.id_instituicao = cu.id_instituicao and ahu.flg_oficial left join alimentacao.configuracao_unidade_funcional cufa on cufa.id_unidade_funcional = anexo.id_unidade_funcional where h.id_unidade_funcional_mae = re.id_unidade_funcional and coalesce(cufa.flg_recebe_remessa, false) = false) and (aluno_dieta_especial.dieta_especial = cardapio_dieta_especial.dieta_especial or (aluno_dieta_especial.dieta_especial is null and cardapio_dieta_especial.dieta_especial is null)) and daterange(r.data_inicio, r.data_fim, ?) && ( select daterange(min(cp.data_inicio)::date, max(cp.data_final)::date, ?) from calendario cl inner join calendario_periodo cp on cp.id_calendario = cl.id_calendario inner join escola_calendario ec on ec.id_calendario = cl.id_calendario where ec.id_unidade_funcional = ( select coalesce(uf_mae.id_unidade_funcional, uf.id_unidade_funcional) as id_unidade_escola from unidade_funcional uf inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = huf.id_assunto_hierarquia_unidade and ahu.id_instituicao = uf.id_instituicao and ahu.flg_oficial left join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = huf.id_unidade_funcional_mae and uf_mae.id_nivel_unidade_funcional = ? where uf.id_unidade_funcional = re.id_unidade_funcional) and cl.flg_aprovado) and ((t.flg_especial is false and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada is null and (pa_item.id_ensino_etapa = m.id_ensino_etapa or pa_item.id_ensino_etapa is null) and (pa_item.id_modalidade = m.id_modalidade or pa_item.id_modalidade is null) and (pa_item.id_curso = cu.id_curso or pa_item.id_curso is null) and (pa_item.id_serie = s.id_serie or pa_item.id_serie is null) and pa_item.flg_educacao_profissional = cu.flg_exige_habilitacao)) or (t.flg_especial is true and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada = te.id_tipo_turma_diversificada))) and case when fe.id_faixa_etaria is null then not exists ( select null from alimentacao.remessa_escola_cardapio_publico_alvo ref2 inner join alimentacao.faixa_etaria fe2 on fe2.id_faixa_etaria = ref2.id_faixa_etaria where ref2.id_remessa_escola = recpa.id_remessa_escola and ref2.id_cardapio_historico = recpa.id_cardapio_historico and ref2.data_inicio = recpa.data_inicio and ref2.id_publico_alvo = recpa.id_publico_alvo and (extract(year from idade) * ? + extract(month from idade))::int <@ int4range(fe2.idade_minima_meses, fe2.idade_maxima_meses, ?)) else (extract(year from idade) * ? + extract(month from idade))::int <@ int4range(fe.idade_minima_meses, fe.idade_maxima_meses, ?) end group by recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, cuf.consumo) alunos where recpa.id_remessa_escola_cardapio_publico_alvo = alunos.id_remessa_escola_cardapio_publico_alvo;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jul 07 18 7 39s580ms 5s654ms 19 8 37s513ms 4s689ms [ User: augeeducacional - Total duration: 1m17s - Times executed: 15 ]
[ Application: portal_betim - fila - Total duration: 1m17s - Times executed: 15 ]
-
update alimentacao.remessa_escola_cardapio_publico_alvo recpa set alunos_matriculados = alunos.alunos_matriculados, alunos_comensais = alunos.alunos_comensais from ( select recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, count(am.id_aluno_matricula) as alunos_matriculados, ceil(count(am.id_aluno_matricula) * (cuf.consumo / 100.0)) as alunos_comensais from alimentacao.remessa_escola_cardapio_publico_alvo recpa inner join alimentacao.remessa_escola re on re.id_remessa_escola = recpa.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = recpa.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.configuracao_unidade_funcional cuf on cuf.id_unidade_funcional = re.id_unidade_funcional left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from alimentacao.cardapio_dieta_especial cde where cde.id_cardapio = c.id_cardapio group by cde.id_cardapio) cardapio_dieta_especial on true inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = recpa.id_publico_alvo left join alimentacao.faixa_etaria fe on fe.id_faixa_etaria = recpa.id_faixa_etaria inner join aluno_matricula am on am.id_aluno_matr_status = 1 inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ambiente a on a.id_ambiente = t.id_ambiente left join turma_especial te on te.id_turma = t.id_turma inner join serie s on s.id_serie = am.id_serie inner join curso cu on cu.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = cu.id_modalidade inner join cidadao cid on cid.id_cidadao = am.id_cidadao left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from cidadao_dieta_especial cde where cde.id_cidadao = am.id_cidadao group by cde.id_cidadao) aluno_dieta_especial on true cross join age(r.data_inicio, cid.nascimento_data) as idade where re.id_remessa = '120' and t.id_turno = c.id_turno and a.id_unidade_referencia in ( -- da prórpia escola/anexo selecionado select re.id_unidade_funcional union -- de anexos dessa escola que não recebem remessa select anexo.id_unidade_funcional from unidade_funcional anexo inner join hierarquia_unidade_funcional h on h.id_unidade_funcional_filha = anexo.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = h.id_assunto_hierarquia_unidade and ahu.id_instituicao = cu.id_instituicao and ahu.flg_oficial left join alimentacao.configuracao_unidade_funcional cufa on cufa.id_unidade_funcional = anexo.id_unidade_funcional where h.id_unidade_funcional_mae = re.id_unidade_funcional and coalesce(cufa.flg_recebe_remessa, false) = false) and (aluno_dieta_especial.dieta_especial = cardapio_dieta_especial.dieta_especial or (aluno_dieta_especial.dieta_especial is null and cardapio_dieta_especial.dieta_especial is null)) and daterange(r.data_inicio, r.data_fim, '[]') && ( select daterange(min(cp.data_inicio)::date, max(cp.data_final)::date, '[]') from calendario cl inner join calendario_periodo cp on cp.id_calendario = cl.id_calendario inner join escola_calendario ec on ec.id_calendario = cl.id_calendario where ec.id_unidade_funcional = ( select coalesce(uf_mae.id_unidade_funcional, uf.id_unidade_funcional) as id_unidade_escola from unidade_funcional uf inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = huf.id_assunto_hierarquia_unidade and ahu.id_instituicao = uf.id_instituicao and ahu.flg_oficial left join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = huf.id_unidade_funcional_mae and uf_mae.id_nivel_unidade_funcional = 3 where uf.id_unidade_funcional = re.id_unidade_funcional) and cl.flg_aprovado) and ((t.flg_especial is false and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada is null and (pa_item.id_ensino_etapa = m.id_ensino_etapa or pa_item.id_ensino_etapa is null) and (pa_item.id_modalidade = m.id_modalidade or pa_item.id_modalidade is null) and (pa_item.id_curso = cu.id_curso or pa_item.id_curso is null) and (pa_item.id_serie = s.id_serie or pa_item.id_serie is null) and pa_item.flg_educacao_profissional = cu.flg_exige_habilitacao)) or (t.flg_especial is true and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada = te.id_tipo_turma_diversificada))) and case when fe.id_faixa_etaria is null then not exists ( select null from alimentacao.remessa_escola_cardapio_publico_alvo ref2 inner join alimentacao.faixa_etaria fe2 on fe2.id_faixa_etaria = ref2.id_faixa_etaria where ref2.id_remessa_escola = recpa.id_remessa_escola and ref2.id_cardapio_historico = recpa.id_cardapio_historico and ref2.data_inicio = recpa.data_inicio and ref2.id_publico_alvo = recpa.id_publico_alvo and (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe2.idade_minima_meses, fe2.idade_maxima_meses, '[]')) else (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe.idade_minima_meses, fe.idade_maxima_meses, '[]') end group by recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, cuf.consumo) alunos where recpa.id_remessa_escola_cardapio_publico_alvo = alunos.id_remessa_escola_cardapio_publico_alvo;
Date: 2026-07-07 18:15:55 Duration: 20s731ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
update alimentacao.remessa_escola_cardapio_publico_alvo recpa set alunos_matriculados = alunos.alunos_matriculados, alunos_comensais = alunos.alunos_comensais from ( select recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, count(am.id_aluno_matricula) as alunos_matriculados, ceil(count(am.id_aluno_matricula) * (cuf.consumo / 100.0)) as alunos_comensais from alimentacao.remessa_escola_cardapio_publico_alvo recpa inner join alimentacao.remessa_escola re on re.id_remessa_escola = recpa.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = recpa.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.configuracao_unidade_funcional cuf on cuf.id_unidade_funcional = re.id_unidade_funcional left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from alimentacao.cardapio_dieta_especial cde where cde.id_cardapio = c.id_cardapio group by cde.id_cardapio) cardapio_dieta_especial on true inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = recpa.id_publico_alvo left join alimentacao.faixa_etaria fe on fe.id_faixa_etaria = recpa.id_faixa_etaria inner join aluno_matricula am on am.id_aluno_matr_status = 1 inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ambiente a on a.id_ambiente = t.id_ambiente left join turma_especial te on te.id_turma = t.id_turma inner join serie s on s.id_serie = am.id_serie inner join curso cu on cu.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = cu.id_modalidade inner join cidadao cid on cid.id_cidadao = am.id_cidadao left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from cidadao_dieta_especial cde where cde.id_cidadao = am.id_cidadao group by cde.id_cidadao) aluno_dieta_especial on true cross join age(r.data_inicio, cid.nascimento_data) as idade where re.id_remessa = '132' and t.id_turno = c.id_turno and a.id_unidade_referencia in ( -- da prórpia escola/anexo selecionado select re.id_unidade_funcional union -- de anexos dessa escola que não recebem remessa select anexo.id_unidade_funcional from unidade_funcional anexo inner join hierarquia_unidade_funcional h on h.id_unidade_funcional_filha = anexo.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = h.id_assunto_hierarquia_unidade and ahu.id_instituicao = cu.id_instituicao and ahu.flg_oficial left join alimentacao.configuracao_unidade_funcional cufa on cufa.id_unidade_funcional = anexo.id_unidade_funcional where h.id_unidade_funcional_mae = re.id_unidade_funcional and coalesce(cufa.flg_recebe_remessa, false) = false) and (aluno_dieta_especial.dieta_especial = cardapio_dieta_especial.dieta_especial or (aluno_dieta_especial.dieta_especial is null and cardapio_dieta_especial.dieta_especial is null)) and daterange(r.data_inicio, r.data_fim, '[]') && ( select daterange(min(cp.data_inicio)::date, max(cp.data_final)::date, '[]') from calendario cl inner join calendario_periodo cp on cp.id_calendario = cl.id_calendario inner join escola_calendario ec on ec.id_calendario = cl.id_calendario where ec.id_unidade_funcional = ( select coalesce(uf_mae.id_unidade_funcional, uf.id_unidade_funcional) as id_unidade_escola from unidade_funcional uf inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = huf.id_assunto_hierarquia_unidade and ahu.id_instituicao = uf.id_instituicao and ahu.flg_oficial left join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = huf.id_unidade_funcional_mae and uf_mae.id_nivel_unidade_funcional = 3 where uf.id_unidade_funcional = re.id_unidade_funcional) and cl.flg_aprovado) and ((t.flg_especial is false and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada is null and (pa_item.id_ensino_etapa = m.id_ensino_etapa or pa_item.id_ensino_etapa is null) and (pa_item.id_modalidade = m.id_modalidade or pa_item.id_modalidade is null) and (pa_item.id_curso = cu.id_curso or pa_item.id_curso is null) and (pa_item.id_serie = s.id_serie or pa_item.id_serie is null) and pa_item.flg_educacao_profissional = cu.flg_exige_habilitacao)) or (t.flg_especial is true and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada = te.id_tipo_turma_diversificada))) and case when fe.id_faixa_etaria is null then not exists ( select null from alimentacao.remessa_escola_cardapio_publico_alvo ref2 inner join alimentacao.faixa_etaria fe2 on fe2.id_faixa_etaria = ref2.id_faixa_etaria where ref2.id_remessa_escola = recpa.id_remessa_escola and ref2.id_cardapio_historico = recpa.id_cardapio_historico and ref2.data_inicio = recpa.data_inicio and ref2.id_publico_alvo = recpa.id_publico_alvo and (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe2.idade_minima_meses, fe2.idade_maxima_meses, '[]')) else (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe.idade_minima_meses, fe.idade_maxima_meses, '[]') end group by recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, cuf.consumo) alunos where recpa.id_remessa_escola_cardapio_publico_alvo = alunos.id_remessa_escola_cardapio_publico_alvo;
Date: 2026-07-07 19:56:56 Duration: 16s444ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
update alimentacao.remessa_escola_cardapio_publico_alvo recpa set alunos_matriculados = alunos.alunos_matriculados, alunos_comensais = alunos.alunos_comensais from ( select recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, count(am.id_aluno_matricula) as alunos_matriculados, ceil(count(am.id_aluno_matricula) * (cuf.consumo / 100.0)) as alunos_comensais from alimentacao.remessa_escola_cardapio_publico_alvo recpa inner join alimentacao.remessa_escola re on re.id_remessa_escola = recpa.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = recpa.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.configuracao_unidade_funcional cuf on cuf.id_unidade_funcional = re.id_unidade_funcional left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from alimentacao.cardapio_dieta_especial cde where cde.id_cardapio = c.id_cardapio group by cde.id_cardapio) cardapio_dieta_especial on true inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = recpa.id_publico_alvo left join alimentacao.faixa_etaria fe on fe.id_faixa_etaria = recpa.id_faixa_etaria inner join aluno_matricula am on am.id_aluno_matr_status = 1 inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ambiente a on a.id_ambiente = t.id_ambiente left join turma_especial te on te.id_turma = t.id_turma inner join serie s on s.id_serie = am.id_serie inner join curso cu on cu.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = cu.id_modalidade inner join cidadao cid on cid.id_cidadao = am.id_cidadao left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from cidadao_dieta_especial cde where cde.id_cidadao = am.id_cidadao group by cde.id_cidadao) aluno_dieta_especial on true cross join age(r.data_inicio, cid.nascimento_data) as idade where re.id_remessa = '122' and t.id_turno = c.id_turno and a.id_unidade_referencia in ( -- da prórpia escola/anexo selecionado select re.id_unidade_funcional union -- de anexos dessa escola que não recebem remessa select anexo.id_unidade_funcional from unidade_funcional anexo inner join hierarquia_unidade_funcional h on h.id_unidade_funcional_filha = anexo.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = h.id_assunto_hierarquia_unidade and ahu.id_instituicao = cu.id_instituicao and ahu.flg_oficial left join alimentacao.configuracao_unidade_funcional cufa on cufa.id_unidade_funcional = anexo.id_unidade_funcional where h.id_unidade_funcional_mae = re.id_unidade_funcional and coalesce(cufa.flg_recebe_remessa, false) = false) and (aluno_dieta_especial.dieta_especial = cardapio_dieta_especial.dieta_especial or (aluno_dieta_especial.dieta_especial is null and cardapio_dieta_especial.dieta_especial is null)) and daterange(r.data_inicio, r.data_fim, '[]') && ( select daterange(min(cp.data_inicio)::date, max(cp.data_final)::date, '[]') from calendario cl inner join calendario_periodo cp on cp.id_calendario = cl.id_calendario inner join escola_calendario ec on ec.id_calendario = cl.id_calendario where ec.id_unidade_funcional = ( select coalesce(uf_mae.id_unidade_funcional, uf.id_unidade_funcional) as id_unidade_escola from unidade_funcional uf inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = huf.id_assunto_hierarquia_unidade and ahu.id_instituicao = uf.id_instituicao and ahu.flg_oficial left join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = huf.id_unidade_funcional_mae and uf_mae.id_nivel_unidade_funcional = 3 where uf.id_unidade_funcional = re.id_unidade_funcional) and cl.flg_aprovado) and ((t.flg_especial is false and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada is null and (pa_item.id_ensino_etapa = m.id_ensino_etapa or pa_item.id_ensino_etapa is null) and (pa_item.id_modalidade = m.id_modalidade or pa_item.id_modalidade is null) and (pa_item.id_curso = cu.id_curso or pa_item.id_curso is null) and (pa_item.id_serie = s.id_serie or pa_item.id_serie is null) and pa_item.flg_educacao_profissional = cu.flg_exige_habilitacao)) or (t.flg_especial is true and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada = te.id_tipo_turma_diversificada))) and case when fe.id_faixa_etaria is null then not exists ( select null from alimentacao.remessa_escola_cardapio_publico_alvo ref2 inner join alimentacao.faixa_etaria fe2 on fe2.id_faixa_etaria = ref2.id_faixa_etaria where ref2.id_remessa_escola = recpa.id_remessa_escola and ref2.id_cardapio_historico = recpa.id_cardapio_historico and ref2.data_inicio = recpa.data_inicio and ref2.id_publico_alvo = recpa.id_publico_alvo and (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe2.idade_minima_meses, fe2.idade_maxima_meses, '[]')) else (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe.idade_minima_meses, fe.idade_maxima_meses, '[]') end group by recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, cuf.consumo) alunos where recpa.id_remessa_escola_cardapio_publico_alvo = alunos.id_remessa_escola_cardapio_publico_alvo;
Date: 2026-07-07 18:52:22 Duration: 4s265ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
19 1m4s 46 745ms 2s639ms 1s405ms select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then ? else ? end) as quilombo from cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional on unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso on curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie on serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional on hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno on turno.id_turno = turma.id_turno inner join modalidade on modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (...) left join serie_equivalente on serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = ? and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (...) and ano_semestre.ano = ? and aluno_matr_turma.id_tipo_enturmacao = ? and unidade_funcional.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 = ?) and turno.id_turno = ? and serie_equivalente.id_nivel_serie_equivalente = ? and modalidade.id_modalidade_base <> ? group by cidadao.id_raca_cor;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jul 07 11 28 49s490ms 1s767ms 12 18 15s156ms 842ms [ User: augeeducacional - Total duration: 1m4s - Times executed: 46 ]
[ Application: augeeducacional - principal - Total duration: 1m4s - Times executed: 46 ]
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '500' and serie_equivalente.id_nivel_serie_equivalente = '2' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:20 Duration: 2s639ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '448' and serie_equivalente.id_nivel_serie_equivalente = '2' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:18 Duration: 2s450ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '500' and serie_equivalente.id_nivel_serie_equivalente = '1' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:18 Duration: 2s437ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
20 1m2s 60 646ms 1s943ms 1s42ms select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then ? else ? end) as quilombo from cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional on unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso on curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie on serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional on hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno on turno.id_turno = turma.id_turno inner join modalidade on modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (...) left join serie_equivalente on serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = ? and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (...) and ano_semestre.ano = ? and aluno_matr_turma.id_tipo_enturmacao = ? and unidade_funcional.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 = ?) and uf_mae.id_unidade_funcional = ? group by cidadao.id_raca_cor;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jul 07 11 20 31s537ms 1s576ms 12 40 31s38ms 775ms [ User: augeeducacional - Total duration: 1m2s - Times executed: 60 ]
[ Application: augeeducacional - principal - Total duration: 1m2s - Times executed: 60 ]
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607263' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:34 Duration: 1s943ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607261' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:36 Duration: 1s775ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607261' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:41 Duration: 1s772ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,754 1h55m55s 500ms 46s328ms 3s965ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then ? when ministrados < total then ? || asterisco else ? || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then ? else ? end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then ? else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo (?, c.serie_duracao = ?, c.id_periodicidade_apontamento = ?) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in (...) and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo (?, c.serie_duracao = ?, c.id_periodicidade_apontamento = ?) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jul 07 06 13 22s47ms 1s695ms 07 65 9m31s 8s797ms 08 170 10m5s 3s563ms 09 256 15m34s 3s649ms 10 218 19m56s 5s487ms 11 106 4m23s 2s488ms 12 69 6m9s 5s357ms 13 195 8m50s 2s718ms 14 219 7m29s 2s51ms 15 202 20m40s 6s141ms 16 110 10m26s 5s697ms 17 42 50s415ms 1s200ms 18 32 27s232ms 851ms 19 57 1m8s 1s193ms [ User: augeeducacional - Total duration: 1h55m55s - Times executed: 1754 ]
[ Application: augeeducacional - fila - Total duration: 1h55m55s - Times executed: 1754 ]
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('2', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('2', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:10:47 Duration: 46s328ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:12:15 Duration: 43s729ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:11:31 Duration: 43s223ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
2 771 30m53s 1s982ms 5s12ms 2s403ms 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 #2
Day Hour Count Duration Avg duration Jul 07 07 55 1m57s 2s131ms 08 142 5m46s 2s436ms 09 82 3m35s 2s633ms 10 119 5m 2s523ms 11 40 1m35s 2s398ms 12 21 47s479ms 2s260ms 13 83 3m9s 2s286ms 14 83 3m13s 2s327ms 15 46 1m50s 2s400ms 16 76 3m3s 2s411ms 17 1 2s141ms 2s141ms 18 9 19s173ms 2s130ms 19 14 32s213ms 2s300ms [ User: augeeducacional - Total duration: 30m53s - Times executed: 771 ]
[ Application: portal_betim - fila - Total duration: 15m45s - Times executed: 394 ]
[ Application: augeeducacional - fila - Total duration: 15m7s - Times executed: 377 ]
-
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 = '260000522' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2251' 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: 2026-07-07 09:05:36 Duration: 5s12ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila 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 = '260001526' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '32646' 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: 2026-07-07 09:01:16 Duration: 3s802ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '260001224' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2506' 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: 2026-07-07 08:45:01 Duration: 3s736ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
3 700 24m13s 501ms 11s391ms 2s76ms select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = ? inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in (...) and npa.id_nota_periodo_aluno = bimestre_para_periodo (?, curso.serie_duracao = ?, curso.id_periodicidade_apontamento = ?) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = ? and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = ? and mad.id_categoria_modelo_avaliacao_desc = ? and mad.id_periodicidade_apontamento_avaliacao_desc = ? and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= ?) and (mdp.periodos is null or not mdp.periodos @> array[?]) and emap.id_nota_periodo_aluno = ? and am.id_aluno_matr_status in (...) and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = ? and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Jul 07 06 4 4s173ms 1s43ms 07 16 41s568ms 2s598ms 08 90 4m9s 2s774ms 09 92 2m22s 1s547ms 10 85 2m29s 1s755ms 11 55 1m57s 2s144ms 12 32 2m20s 4s386ms 13 54 2m 2s236ms 14 121 3m54s 1s939ms 15 71 2m23s 2s16ms 16 29 49s751ms 1s715ms 17 26 35s180ms 1s353ms 18 5 3s989ms 797ms 19 20 21s33ms 1s51ms [ User: augeeducacional - Total duration: 24m13s - Times executed: 700 ]
[ Application: augeeducacional - fila - Total duration: 24m13s - Times executed: 700 ]
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012293', '260012289', '260012279', '260012285', '260012287', '260012290', '260012291', '260012286', '260012284', '260012283', '260012280', '260012292', '260012282', '260012276', '260012288', '260012278', '260012277', '260012281') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 08:33:02 Duration: 11s391ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012653', '260013139', '260012649', '260012652', '260012651', '260012641', '260012644', '260012648', '260012650', '260012636', '260012642', '260012646', '260013136', '260012638', '260012654', '260012647', '260012635', '260012639', '260012645', '260012634', '260012643') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 12:59:27 Duration: 9s422ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012265', '260012259', '260012253', '260012256', '260012269', '260012706', '260012267', '260012258', '260012262', '260012703', '260012270', '260012252', '260012250', '260012273', '260012274', '260012248', '260012266', '260012268', '260012249', '260012251', '260012263', '260012271', '260012272', '260012254', '260012261', '260012247', '260012264') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 11:05:49 Duration: 8s437ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
4 451 30m32s 501ms 12s997ms 4s64ms select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = ? and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = ? and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = ? and turma.id_turma_status = ? and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= ? and (am.id_aluno_matr_status = ? or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= ? order by amsh.id_aluno_matr_status_hist desc limit ?) = ?)));Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jul 07 07 8 26s338ms 3s292ms 08 40 2m26s 3s673ms 09 54 3m52s 4s306ms 10 60 4m18s 4s314ms 11 40 2m40s 4s22ms 12 44 3m1s 4s131ms 13 52 3m21s 3s877ms 14 54 3m35s 3s992ms 15 41 2m48s 4s120ms 16 25 1m38s 3s928ms 17 10 42s566ms 4s256ms 18 16 1m6s 4s163ms 19 7 31s926ms 4s560ms [ User: augeeducacional - Total duration: 30m32s - Times executed: 451 ]
[ Application: augeeducacional - fila - Total duration: 30m18s - Times executed: 428 ]
[ Application: portal_betim - fila - Total duration: 14s60ms - Times executed: 23 ]
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '606744' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 07:16:45 Duration: 12s997ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '607123' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 15:56:27 Duration: 6s636ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '606753' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 09:05:35 Duration: 6s535ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
5 411 10m5s 501ms 4s982ms 1s473ms select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = ? then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / ?.?)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case when cc.id_forma_avaliacao_componente = ? then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = ?), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when ? then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in (...) and ans.ano = ? and s.id_forma_avaliacao in (...) and npa.id_nota_periodo_aluno = ? and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in (...) and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[npa.id_nota_periodo_aluno]))) t;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jul 07 06 1 795ms 795ms 07 10 11s555ms 1s155ms 08 56 1m40s 1s789ms 09 89 2m 1s348ms 10 41 56s954ms 1s389ms 11 28 36s310ms 1s296ms 12 13 23s383ms 1s798ms 13 43 1m1s 1s436ms 14 57 1m34s 1s654ms 15 34 51s694ms 1s520ms 16 15 17s556ms 1s170ms 17 6 6s440ms 1s73ms 18 6 7s185ms 1s197ms 19 12 17s179ms 1s431ms [ User: augeeducacional - Total duration: 10m5s - Times executed: 411 ]
[ Application: augeeducacional - fila - Total duration: 9m12s - Times executed: 370 ]
[ Application: portal_betim - fila - Total duration: 53s154ms - Times executed: 41 ]
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260002926', '260002918', '260011041', '260011057', '260011059', '260011062', '260011063', '260011065', '260011066', '260011067', '260011068', '260011097', '260011098', '260002925', '260002923', '260002924', '260002922', '260002921', '260002920', '260002919', '260002927') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 09:04:22 Duration: 4s982ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260011954', '260011955', '260011952', '260011953', '260012801', '260011950', '260011951', '260011948', '260011949', '260011960', '260011961', '260011958', '260011959', '260011956', '260011957', '260011966', '260011967', '260011964', '260011965', '260012819') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 08:40:53 Duration: 4s953ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260016389', '260016390', '260013221', '260013219', '260013210', '260013211', '260013217', '260013215', '260013212', '260013208', '260013222', '260013216', '260013205', '260013214', '260013220', '260013223', '260013213', '260013201', '260014608', '260013202', '260013203', '260013206', '260013209', '260014634') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 10:05:20 Duration: 4s914ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
6 172 39m38s 1s400ms 38s460ms 13s829ms 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, case when cid.flg_laudo_medico_necessidade_esp then ? else ? end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then ? else ? end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ? order by descricao) from disturbio inner join cidadao_disturbio on cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, ?) as profissao_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(cid.profissao_pai, ?) as profissao_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(loteamento.descricao, ?) as loteamento, 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(cid.numero_conta_energia, ?) as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then ? else ? end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then ? else ? end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude on cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 #6
Day Hour Count Duration Avg duration Jul 07 07 21 3m40s 10s522ms 08 13 3m23s 15s667ms 09 25 5m50s 14s35ms 10 34 7m 12s359ms 11 12 2m39s 13s309ms 12 7 44s598ms 6s371ms 13 11 3m4s 16s733ms 14 13 4m1s 18s611ms 15 27 7m13s 16s39ms 16 6 1m2s 10s464ms 18 3 56s774ms 18s924ms [ User: augeeducacional - Total duration: 39m38s - Times executed: 172 ]
[ Application: augeeducacional - fila - Total duration: 37m42s - Times executed: 166 ]
[ Application: portal_betim - fila - Total duration: 1m56s - Times executed: 6 ]
-
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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607197' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607197' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 07:13:18 Duration: 38s460ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607107' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607107' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 09:18:29 Duration: 26s751ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607101' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607101' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 08:53:22 Duration: 24s593ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
7 159 2m15s 501ms 1s685ms 852ms select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, flg_apontamento, 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, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, greatest (nota, recuperacao_final, nota_conselho)::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_pos_recuperacao_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 < 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, npa.flg_apontamento, 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, case when pa.id_tipo_resultado_final = ? then get_soma_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina, amt.id_serie_enturmacao) else get_media_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina) end as resultado_final_calculado, nf.nota as resultado_final, 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) filter (where npa.flg_apontamento) 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 (amdd.periodos isnull or amdd.flg_dispensado_todos_periodos or 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 #7
Day Hour Count Duration Avg duration Jul 07 07 13 11s438ms 879ms 08 24 21s165ms 881ms 09 8 8s450ms 1s56ms 10 42 39s710ms 945ms 11 25 22s351ms 894ms 13 16 10s481ms 655ms 14 28 19s686ms 703ms 15 2 1s213ms 606ms 16 1 1s128ms 1s128ms [ User: augeeducacional - Total duration: 2m15s - Times executed: 159 ]
[ Application: portal_betim - fila - Total duration: 1m9s - Times executed: 90 ]
[ Application: augeeducacional - fila - Total duration: 1m6s - Times executed: 69 ]
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, flg_apontamento, 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, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, greatest (nota, recuperacao_final, nota_conselho)::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_pos_recuperacao_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 < 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, npa.flg_apontamento, 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, case when pa.id_tipo_resultado_final = 1 then get_soma_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina, amt.id_serie_enturmacao) else get_media_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina) end as resultado_final_calculado, nf.nota as resultado_final, 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) filter (where npa.flg_apontamento) 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 (amdd.periodos isnull or amdd.flg_dispensado_todos_periodos or 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 = '260014082' and ts.id_serie = '2361' 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: 2026-07-07 07:50:14 Duration: 1s685ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, flg_apontamento, 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, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, greatest (nota, recuperacao_final, nota_conselho)::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_pos_recuperacao_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 < 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, npa.flg_apontamento, 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, case when pa.id_tipo_resultado_final = 1 then get_soma_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina, amt.id_serie_enturmacao) else get_media_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina) end as resultado_final_calculado, nf.nota as resultado_final, 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) filter (where npa.flg_apontamento) 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 (amdd.periodos isnull or amdd.flg_dispensado_todos_periodos or 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 = '260001923' and ts.id_serie = '104' 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: 2026-07-07 08:07:18 Duration: 1s662ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
select id_aluno_matricula, id_nota_periodo_aluno, id_disciplina, flg_apontamento, 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, ( select cac.sigla from sp_obter_conceito_avaliacao_nota_final (id_instituicao, id_serie, greatest (nota, recuperacao_final, nota_conselho)::real) as id inner join conceito_avaliacao cac on cac.id_conceito_avaliacao = id) as conceito_pos_recuperacao_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 < 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, npa.flg_apontamento, 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, case when pa.id_tipo_resultado_final = 1 then get_soma_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina, amt.id_serie_enturmacao) else get_media_notas_aluno (amt.id_turma, amt.id_aluno_matricula, cc.id_disciplina) end as resultado_final_calculado, nf.nota as resultado_final, 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) filter (where npa.flg_apontamento) 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 (amdd.periodos isnull or amdd.flg_dispensado_todos_periodos or 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 = '260015618' and ts.id_serie = '2360' 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: 2026-07-07 10:31:32 Duration: 1s492ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
8 158 4m29s 500ms 13s214ms 1s708ms select coalesce(c.id_cidadao, ?) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = ? as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in (...) and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in (...) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> array[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jul 07 06 2 8s513ms 4s256ms 07 7 10s902ms 1s557ms 08 17 38s611ms 2s271ms 09 21 27s348ms 1s302ms 10 13 19s378ms 1s490ms 11 6 9s128ms 1s521ms 12 13 25s553ms 1s965ms 13 18 43s791ms 2s432ms 14 18 24s435ms 1s357ms 15 13 19s505ms 1s500ms 16 4 5s592ms 1s398ms 17 7 16s840ms 2s405ms 18 13 14s692ms 1s130ms 19 6 5s698ms 949ms [ User: augeeducacional - Total duration: 4m29s - Times executed: 158 ]
[ Application: augeeducacional - fila - Total duration: 4m28s - Times executed: 156 ]
[ Application: portal_betim - fila - Total duration: 1s804ms - Times executed: 2 ]
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009692', '260002454', '260002449', '260002467', '260002463', '260002460', '260002451', '260002465', '260002475', '260009690', '260002473', '260002455', '260002472', '260002474', '260002452', '260002462', '260002461', '260002453', '260002459', '260002466', '260002468', '260002457', '260002470', '260002469', '260002471', '260002456', '260002458', '260002450') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 13:45:00 Duration: 13s214ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009738', '260009737', '260010761', '260009743', '260009761', '260010759', '260009739', '260009770', '260010738', '260009758', '260009753', '260009750', '260009764', '260009742', '260009740', '260009760', '260009752', '260010756', '260009765', '260009757', '260009766', '260009768', '260009762', '260010757', '260009751', '260018133', '260009748', '260009749', '260009763', '260009746', '260009754', '260009744', '260009755', '260009735', '260009741', '260009769', '260009736', '260009759', '260009745') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 08:51:51 Duration: 10s106ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260002449', '260002467', '260002463', '260002451', '260002465', '260002473', '260002455', '260002453', '260002459', '260002469', '260002471') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 17:01:28 Duration: 7s318ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
9 151 1m21s 500ms 962ms 539ms select scb.id_servidor_cargo_base, scb.cl, scb.flg_aberto, scb.id_cargo, scb.id_situacao_funcional, scb.data_posse, ca.descricao, ca.sigla, ca.flg_controlado_no_quadro and sf.flg_controle_quadro_cargo as flg_controlado_no_quadro, sf.descricao, sf.sigla, sie.data_inicio_exercicio, aht.descricao, us.nome as unidade_sede, ul.nome as unidade_lotacao, ul.codigo as codigo_unidade_lotacao, lo.flg_definitiva, scb.matricula_cargo, ( select jtt.sigla as sigla_jornada from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtocb.id_jorn_trabalho_opcao_serv = jtos.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtos.flg_opcao_desligada is false and jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base order by ano desc limit ?) as jornada, sp_funcao_atividade_servidor (scb.id_servidor_cargo_base, ?) as funcao, case when ato_historico.contador notnull then ? else ? end as situacao_atual, turno.sigla as turno from servidor_cargo_base scb inner join cargo ca on (ca.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) left join turno on turno.id_turno = scb.id_turno left join srv_cb_inicio_exercicio sie on (sie.id_servidor_cargo_base = scb.id_servidor_cargo_base) left join ato_historico_tipo aht on (scb.id_ato_inicio = aht.id_ato_historico_tipo) left join unidade_funcional us on (us.id_unidade_funcional = scb.id_unidade_sede) left join lotacao lo on (lo.id_servidor_cargo_base = scb.id_servidor_cargo_base and lo.flg_aberto) left join unidade_funcional ul on (ul.id_unidade_funcional = lo.id_unidade_lotacao) 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 = ? 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 = scb.id_servidor_cargo_base where ? = ? and (scb.id_cidadao = ?) and (scb.flg_aberto = true) and (ca.id_instituicao = ?) order by ca.descricao;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jul 07 07 1 814ms 814ms 08 27 14s472ms 536ms 09 27 15s36ms 556ms 10 23 12s409ms 539ms 11 8 4s412ms 551ms 12 3 1s528ms 509ms 13 8 4s251ms 531ms 14 22 11s545ms 524ms 15 16 8s571ms 535ms 16 16 8s429ms 526ms [ User: augeeducacional - Total duration: 1m21s - Times executed: 151 ]
[ Application: portal_betim - principal - Total duration: 1m21s - Times executed: 151 ]
-
select scb.id_servidor_cargo_base, scb.cl, scb.flg_aberto, scb.id_cargo, scb.id_situacao_funcional, scb.data_posse, ca.descricao, ca.sigla, ca.flg_controlado_no_quadro and sf.flg_controle_quadro_cargo as flg_controlado_no_quadro, sf.descricao, sf.sigla, sie.data_inicio_exercicio, aht.descricao, us.nome as unidade_sede, ul.nome as unidade_lotacao, ul.codigo as codigo_unidade_lotacao, lo.flg_definitiva, scb.matricula_cargo, ( select jtt.sigla as sigla_jornada from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtocb.id_jorn_trabalho_opcao_serv = jtos.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtos.flg_opcao_desligada is false and jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base order by ano desc limit 1) as jornada, sp_funcao_atividade_servidor (scb.id_servidor_cargo_base, ', ') as funcao, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, turno.sigla as turno from servidor_cargo_base scb inner join cargo ca on (ca.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) left join turno on turno.id_turno = scb.id_turno left join srv_cb_inicio_exercicio sie on (sie.id_servidor_cargo_base = scb.id_servidor_cargo_base) left join ato_historico_tipo aht on (scb.id_ato_inicio = aht.id_ato_historico_tipo) left join unidade_funcional us on (us.id_unidade_funcional = scb.id_unidade_sede) left join lotacao lo on (lo.id_servidor_cargo_base = scb.id_servidor_cargo_base and lo.flg_aberto) left join unidade_funcional ul on (ul.id_unidade_funcional = lo.id_unidade_lotacao) 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 = 7 and sah.data_referencia <= to_timestamp('07/07/2026 09:01:23', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('07/07/2026 09:01:23', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base WHERE 1 = 1 AND (scb.id_cidadao = 459348) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-07 09:01:24 Duration: 962ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
-
select scb.id_servidor_cargo_base, scb.cl, scb.flg_aberto, scb.id_cargo, scb.id_situacao_funcional, scb.data_posse, ca.descricao, ca.sigla, ca.flg_controlado_no_quadro and sf.flg_controle_quadro_cargo as flg_controlado_no_quadro, sf.descricao, sf.sigla, sie.data_inicio_exercicio, aht.descricao, us.nome as unidade_sede, ul.nome as unidade_lotacao, ul.codigo as codigo_unidade_lotacao, lo.flg_definitiva, scb.matricula_cargo, ( select jtt.sigla as sigla_jornada from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtocb.id_jorn_trabalho_opcao_serv = jtos.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtos.flg_opcao_desligada is false and jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base order by ano desc limit 1) as jornada, sp_funcao_atividade_servidor (scb.id_servidor_cargo_base, ', ') as funcao, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, turno.sigla as turno from servidor_cargo_base scb inner join cargo ca on (ca.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) left join turno on turno.id_turno = scb.id_turno left join srv_cb_inicio_exercicio sie on (sie.id_servidor_cargo_base = scb.id_servidor_cargo_base) left join ato_historico_tipo aht on (scb.id_ato_inicio = aht.id_ato_historico_tipo) left join unidade_funcional us on (us.id_unidade_funcional = scb.id_unidade_sede) left join lotacao lo on (lo.id_servidor_cargo_base = scb.id_servidor_cargo_base and lo.flg_aberto) left join unidade_funcional ul on (ul.id_unidade_funcional = lo.id_unidade_lotacao) 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 = 7 and sah.data_referencia <= to_timestamp('07/07/2026 07:14:39', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('07/07/2026 07:14:39', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base WHERE 1 = 1 AND (scb.id_cidadao = 78247) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-07 07:14:40 Duration: 814ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
-
select scb.id_servidor_cargo_base, scb.cl, scb.flg_aberto, scb.id_cargo, scb.id_situacao_funcional, scb.data_posse, ca.descricao, ca.sigla, ca.flg_controlado_no_quadro and sf.flg_controle_quadro_cargo as flg_controlado_no_quadro, sf.descricao, sf.sigla, sie.data_inicio_exercicio, aht.descricao, us.nome as unidade_sede, ul.nome as unidade_lotacao, ul.codigo as codigo_unidade_lotacao, lo.flg_definitiva, scb.matricula_cargo, ( select jtt.sigla as sigla_jornada from jorn_trabalho_opcao_car_base jtocb inner join jorn_trabalho_opcao_serv jtos on jtocb.id_jorn_trabalho_opcao_serv = jtos.id_jorn_trabalho_opcao_serv inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo where jtos.flg_opcao_desligada is false and jtocb.id_servidor_cargo_base = scb.id_servidor_cargo_base order by ano desc limit 1) as jornada, sp_funcao_atividade_servidor (scb.id_servidor_cargo_base, ', ') as funcao, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, turno.sigla as turno from servidor_cargo_base scb inner join cargo ca on (ca.id_cargo = scb.id_cargo) inner join situacao_funcional sf on (sf.id_situacao_funcional = scb.id_situacao_funcional) left join turno on turno.id_turno = scb.id_turno left join srv_cb_inicio_exercicio sie on (sie.id_servidor_cargo_base = scb.id_servidor_cargo_base) left join ato_historico_tipo aht on (scb.id_ato_inicio = aht.id_ato_historico_tipo) left join unidade_funcional us on (us.id_unidade_funcional = scb.id_unidade_sede) left join lotacao lo on (lo.id_servidor_cargo_base = scb.id_servidor_cargo_base and lo.flg_aberto) left join unidade_funcional ul on (ul.id_unidade_funcional = lo.id_unidade_lotacao) 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 = 7 and sah.data_referencia <= to_timestamp('07/07/2026 11:12:37', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('07/07/2026 11:12:37', 'DD/MM/YYYY HH24:MI:SS')) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base WHERE 1 = 1 AND (scb.id_cidadao = 79540) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-07 11:12:37 Duration: 785ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
10 147 1m30s 500ms 1s247ms 616ms 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 #10
Day Hour Count Duration Avg duration Jul 07 07 5 3s759ms 751ms 08 18 11s461ms 636ms 09 14 8s874ms 633ms 10 23 14s546ms 632ms 11 2 1s28ms 514ms 12 2 1s68ms 534ms 13 18 10s681ms 593ms 14 11 6s556ms 596ms 15 34 20s651ms 607ms 16 17 10s336ms 608ms 17 3 1s611ms 537ms [ User: augeeducacional - Total duration: 1m30s - Times executed: 147 ]
[ Application: portal_betim - principal - Total duration: 1m30s - Times executed: 147 ]
-
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('luiz&bernardo&barbosa&melo') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-07 07:10:25 Duration: 1s247ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal 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('yan&pyetro&dos&santos&silva&hermenegildo') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-07 15:26:20 Duration: 1s14ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal 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('SEBASTIAN&MIGUEL&BRITO&MENESES') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-07 08:16:49 Duration: 871ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
11 108 2m24s 504ms 2s915ms 1s336ms update apontamento_relatorio_geral_turma set data_realizacao = ?, id_turma = ?, id_serie = ?, ano = ?, id_nota_periodo_aluno = ?, id_disciplina = ?, id_mes = ? where id_apontamento_relatorio_geral_turma = ?;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jul 07 12 108 2m24s 1s336ms [ User: augeeducacional - Total duration: 2m24s - Times executed: 108 ]
[ Application: augeeducacional - principal - Total duration: 2m24s - Times executed: 108 ]
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:54.744', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s915ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:54.934', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s706ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:55.006', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s513ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
12 60 1m2s 646ms 1s943ms 1s42ms select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then ? else ? end) as quilombo from cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional on unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso on curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie on serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional on hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno on turno.id_turno = turma.id_turno inner join modalidade on modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (...) left join serie_equivalente on serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = ? and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (...) and ano_semestre.ano = ? and aluno_matr_turma.id_tipo_enturmacao = ? and unidade_funcional.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 = ?) and uf_mae.id_unidade_funcional = ? group by cidadao.id_raca_cor;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jul 07 11 20 31s537ms 1s576ms 12 40 31s38ms 775ms [ User: augeeducacional - Total duration: 1m2s - Times executed: 60 ]
[ Application: augeeducacional - principal - Total duration: 1m2s - Times executed: 60 ]
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607263' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:34 Duration: 1s943ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607261' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:36 Duration: 1s775ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607261' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:41 Duration: 1s772ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
13 50 39s515ms 507ms 2s129ms 790ms 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, exists ( select null from conteudo_organizado_aula_conteudo coc inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coc.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular isnull) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina isnull) as flg_planejado 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 conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai 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 ogc.id_componente_curricular is null order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jul 07 06 8 5s266ms 658ms 07 3 2s92ms 697ms 08 2 1s514ms 757ms 09 2 2s131ms 1s65ms 10 11 10s105ms 918ms 11 4 3s483ms 870ms 12 2 1s302ms 651ms 14 4 3s551ms 887ms 15 1 972ms 972ms 16 2 1s686ms 843ms 17 3 1s578ms 526ms 18 4 2s876ms 719ms 19 4 2s954ms 738ms [ User: augeeducacional - Total duration: 39s515ms - Times executed: 50 ]
[ Application: augeeducacional - principal - Total duration: 39s515ms - Times executed: 50 ]
-
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, exists ( select null from conteudo_organizado_aula_conteudo coc inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coc.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular isnull) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina isnull) as flg_planejado 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 conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '260008546' and ts.id_serie = '2619' and ogc.id_componente_curricular is null order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2026-07-07 10:31:21 Duration: 2s129ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal 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, exists ( select null from conteudo_organizado_aula_conteudo coc inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coc.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular isnull) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina isnull) as flg_planejado 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 conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '260004942' and ts.id_serie = '2618' and ogc.id_componente_curricular is null order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2026-07-07 19:27:57 Duration: 1s304ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal 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, exists ( select null from conteudo_organizado_aula_conteudo coc inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coc.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular isnull) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina isnull) as flg_planejado 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 conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '260006027' and ts.id_serie = '2618' and ogc.id_componente_curricular is null order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2026-07-07 14:12:34 Duration: 1s185ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
14 49 48s138ms 814ms 1s299ms 982ms select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, ?) as fnj1, coalesce(faltas_mes.fnj2, ?) as fnj2, coalesce(faltas_mes.fnj3, ?) as fnj3, coalesce(faltas_mes.fnj4, ?) as fnj4, coalesce(faltas_mes.fnj5, ?) as fnj5, coalesce(faltas_mes.fnj6, ?) as fnj6, coalesce(faltas_mes.fnj7, ?) as fnj7, coalesce(faltas_mes.fnj8, ?) as fnj8, coalesce(faltas_mes.fnj9, ?) as fnj9, coalesce(faltas_mes.fnj10, ?) as fnj10, coalesce(faltas_mes.fnj11, ?) as fnj11, coalesce(faltas_mes.fnj12, ?) as fnj12, coalesce(faltas_gloabl.fj, ?) as fj, coalesce(faltas_gloabl.fnj, ?) as fnj, (coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ? as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj1, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj2, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj3, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj4, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj5, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj6, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj7, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj8, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj9, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj10, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj11, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = ?), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ?)) as id_calendario) as calendario on ? = ? left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between ? and ? or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where turma.id_unidade_funcional = ? and am.id_aluno_matr_status in (...) and ano_semestre.ano = ? and am.id_curso = ? and serie.id_serie = ? and turma.id_turma = ? and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > ? and least ((coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ?, ?.?) between ? and ? union all select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, ?) as fnj1, coalesce(faltas_mes.fnj2, ?) as fnj2, coalesce(faltas_mes.fnj3, ?) as fnj3, coalesce(faltas_mes.fnj4, ?) as fnj4, coalesce(faltas_mes.fnj5, ?) as fnj5, coalesce(faltas_mes.fnj6, ?) as fnj6, coalesce(faltas_mes.fnj7, ?) as fnj7, coalesce(faltas_mes.fnj8, ?) as fnj8, coalesce(faltas_mes.fnj9, ?) as fnj9, coalesce(faltas_mes.fnj10, ?) as fnj10, coalesce(faltas_mes.fnj11, ?) as fnj11, coalesce(faltas_mes.fnj12, ?) as fnj12, coalesce(faltas_disc.fj, ?) as fj, coalesce(faltas_disc.fnj, ?) as fnj, (coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ? as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj1, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj2, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj3, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj4, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj5, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj6, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj7, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj8, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj9, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj10, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj11, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = ?), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ?)) as id_calendario) as calendario on ? = ? left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where turma.id_unidade_funcional = ? and am.id_aluno_matr_status in (...) and ano_semestre.ano = ? and am.id_curso = ? and serie.id_serie = ? and turma.id_turma = ? and serie.flg_apon_falta_globalizado is false and aulas.aulas > ? and least ((coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ?, ?.?) between ? and ? order by aluno limit ? offset ?;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jul 07 07 3 2s575ms 858ms 08 28 27s747ms 990ms 09 6 6s420ms 1s70ms 10 12 11s394ms 949ms [ User: augeeducacional - Total duration: 48s138ms - Times executed: 49 ]
[ Application: portal_betim - principal - Total duration: 48s138ms - Times executed: 49 ]
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '103' and turma.id_turma = '260002384' and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' union all select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '103' and turma.id_turma = '260002384' and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' order by aluno limit 10 offset 10;
Date: 2026-07-07 08:32:59 Duration: 1s299ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '104' and turma.id_turma = '260002380' and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' union all select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '104' and turma.id_turma = '260002380' and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' order by aluno limit 10 offset 20;
Date: 2026-07-07 08:07:17 Duration: 1s265ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '102' and turma.id_turma = '260002388' and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' union all select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '102' and turma.id_turma = '260002388' and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' order by aluno limit 10 offset 20;
Date: 2026-07-07 09:12:18 Duration: 1s218ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
15 46 1m4s 745ms 2s639ms 1s405ms select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then ? else ? end) as quilombo from cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional on unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso on curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie on serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional on hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno on turno.id_turno = turma.id_turno inner join modalidade on modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (...) left join serie_equivalente on serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = ? and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (...) and ano_semestre.ano = ? and aluno_matr_turma.id_tipo_enturmacao = ? and unidade_funcional.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 = ?) and turno.id_turno = ? and serie_equivalente.id_nivel_serie_equivalente = ? and modalidade.id_modalidade_base <> ? group by cidadao.id_raca_cor;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jul 07 11 28 49s490ms 1s767ms 12 18 15s156ms 842ms [ User: augeeducacional - Total duration: 1m4s - Times executed: 46 ]
[ Application: augeeducacional - principal - Total duration: 1m4s - Times executed: 46 ]
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '500' and serie_equivalente.id_nivel_serie_equivalente = '2' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:20 Duration: 2s639ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '448' and serie_equivalente.id_nivel_serie_equivalente = '2' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:18 Duration: 2s450ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '500' and serie_equivalente.id_nivel_serie_equivalente = '1' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:18 Duration: 2s437ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
16 39 1m 511ms 5s638ms 1s559ms select t.id_turma, s.id_serie, t.id_turma_status = ? as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in (...) and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in (...) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> array[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jul 07 07 2 1s482ms 741ms 09 10 21s379ms 2s137ms 10 4 4s539ms 1s134ms 11 1 691ms 691ms 12 1 609ms 609ms 13 6 10s99ms 1s683ms 14 5 5s417ms 1s83ms 15 2 6s909ms 3s454ms 16 4 4s442ms 1s110ms 17 3 3s973ms 1s324ms 18 1 1s274ms 1s274ms [ User: augeeducacional - Total duration: 1m - Times executed: 39 ]
[ Application: augeeducacional - fila - Total duration: 1m - Times executed: 39 ]
-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009740', '260009739', '260009769', '260009760', '260009753', '260009770', '260009749', '260009752', '260009765', '260009741', '260009757', '260009745', '260009744', '260010738', '260009737', '260009736', '260009761', '260010756', '260010757', '260009742', '260009755', '260009735', '260010761', '260009738', '260009763', '260010759', '260009766', '260009746', '260009758', '260009743', '260009759', '260009762', '260009750', '260009751', '260009754', '260018133', '260009768', '260009748', '260009764') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 15:48:30 Duration: 5s638ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260001200', '260001199', '260001204', '260009059', '260001203', '260001196', '260001197', '260014015', '260001198', '260001194', '260001193', '260009311') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 09:16:38 Duration: 4s533ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260006408', '260006417', '260006429', '260006413', '260006410', '260006420', '260006414', '260006418', '260006422', '260006425', '260006411', '260006416', '260006419', '260006428', '260006423', '260006426', '260006415', '260006409', '260006421', '260006412', '260007438') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 09:12:49 Duration: 4s262ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
17 37 36s42ms 501ms 2s103ms 974ms select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) AS "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_aluno_matr_status in (...) and am.flg_matricula_atual and am.id_unidade_funcional = ? and ano.ano = ? and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = ? and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ? and notificacao_aluno.id_responsavel_notificacao = ?) order by "nome" asc, "nome" asc limit ?;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jul 07 07 7 5s814ms 830ms 08 30 30s227ms 1s7ms [ User: augeeducacional - Total duration: 36s42ms - Times executed: 37 ]
[ Application: augeeducacional - principal - Total duration: 36s42ms - Times executed: 37 ]
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = '606651' and ano.ano = '2026' and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo = '5' and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = '1' and notificacao_aluno.ano = '2026' and notificacao_aluno.periodo = '5' and notificacao_aluno.id_responsavel_notificacao = '4') order by "nome" asc, "nome" asc limit 10;
Date: 2026-07-07 08:43:17 Duration: 2s103ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = '606651' and ano.ano = '2026' and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo = '5' and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = '1' and notificacao_aluno.ano = '2026' and notificacao_aluno.periodo = '5' and notificacao_aluno.id_responsavel_notificacao = '4') order by "nome" asc, "nome" asc limit 10;
Date: 2026-07-07 08:43:17 Duration: 2s80ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = '606653' and ano.ano = '2026' and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo = '5' and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = '1' and notificacao_aluno.ano = '2026' and notificacao_aluno.periodo = '5' and notificacao_aluno.id_responsavel_notificacao = '4') order by "nome" asc, "nome" asc limit 10;
Date: 2026-07-07 08:26:29 Duration: 1s667ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
18 37 33s832ms 506ms 2s658ms 914ms select ;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jul 07 07 3 2s842ms 947ms 08 12 8s281ms 690ms 09 12 13s490ms 1s124ms 10 1 2s367ms 2s367ms 11 1 838ms 838ms 13 3 2s411ms 803ms 15 1 692ms 692ms 16 1 564ms 564ms 17 1 577ms 577ms 19 2 1s764ms 882ms [ User: augeeducacional - Total duration: 33s832ms - Times executed: 37 ]
[ Application: augeeducacional - principal - Total duration: 33s108ms - Times executed: 36 ]
[ Application: augeeducacional - fila - Total duration: 723ms - Times executed: 1 ]
-
select ;
Date: 2026-07-07 09:15:48 Duration: 2s658ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select ;
Date: 2026-07-07 10:05:45 Duration: 2s367ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select ;
Date: 2026-07-07 08:31:36 Duration: 1s782ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
19 32 43s153ms 514ms 2s264ms 1s348ms select count(*) as contagem from ( select ;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jul 07 08 23 31s383ms 1s364ms 09 2 4s170ms 2s85ms 10 2 1s375ms 687ms 13 3 5s124ms 1s708ms 14 1 529ms 529ms 16 1 570ms 570ms [ User: augeeducacional - Total duration: 43s153ms - Times executed: 32 ]
[ Application: augeeducacional - principal - Total duration: 43s153ms - Times executed: 32 ]
-
select count(*) as contagem from ( select ;
Date: 2026-07-07 08:24:40 Duration: 2s264ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select ;
Date: 2026-07-07 08:21:20 Duration: 2s173ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select ;
Date: 2026-07-07 09:38:01 Duration: 2s156ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
20 30 27s532ms 515ms 1s666ms 917ms select count(*) as contagem from ( select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then ? when ultimos_dias.fj = ? and ultimos_dias.fnj = ? then ? when ultimos_dias.fnj > ? and ultimos_dias.aulas = ultimos_dias.fnj then ? when ultimos_dias.fnj > ? then ? when ultimos_dias.fj > ? then ? end as situacao from ( select fam.data as dia, to_char(fam.data, ?) as data, fam.aulas, coalesce(faltas_global.fj, ?) + coalesce(faltas_disciplina.fj, ?) as fj, coalesce(faltas_global.fnj, ?) + coalesce(faltas_disciplina.fnj, ?) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then ? else ? end as fj, case when fagd.flg_justificada is false then ? else ? end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then ? else null end) as fj, count( case when fadd.flg_justificada is false then ? else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit ?) as ultimos_dias order by ultimos_dias.data) as r) AS "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = ? and am.id_aluno_matr_status in (...) and am.flg_matricula_atual and am.id_unidade_funcional = ? and ano.ano = ? and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo = ? and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = ? and notificacao_aluno.ano = ? and notificacao_aluno.periodo = ? and notificacao_aluno.id_responsavel_notificacao = ?) order by "nome" asc, "nome" asc) tabela;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jul 07 07 7 5s796ms 828ms 08 23 21s736ms 945ms [ User: augeeducacional - Total duration: 27s532ms - Times executed: 30 ]
[ Application: augeeducacional - principal - Total duration: 27s532ms - Times executed: 30 ]
-
select count(*) as contagem from ( select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = '606651' and ano.ano = '2026' and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo = '5' and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = '1' and notificacao_aluno.ano = '2026' and notificacao_aluno.periodo = '5' and notificacao_aluno.id_responsavel_notificacao = '4') order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 08:43:15 Duration: 1s666ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = '606653' and ano.ano = '2026' and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo = '5' and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = '1' and notificacao_aluno.ano = '2026' and notificacao_aluno.periodo = '5' and notificacao_aluno.id_responsavel_notificacao = '1') order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 08:26:19 Duration: 1s558ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.nome, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select json_agg(r.* order by dia)::text as r from ( select ultimos_dias.dia, ultimos_dias.data, ultimos_dias.fj, ultimos_dias.fnj, case when ultimos_dias.chamada_pendente then 'NAO_REALIZADA' when ultimos_dias.fj = 0 and ultimos_dias.fnj = 0 then 'SEM_FALTA' when ultimos_dias.fnj > 0 and ultimos_dias.aulas = ultimos_dias.fnj then 'FALTAS_NAO_JUST_TODAS_AULAS' when ultimos_dias.fnj > 0 then 'FALTAS_NAO_JUST' when ultimos_dias.fj > 0 then 'FALTAS_JUST' end as situacao from ( select fam.data as dia, to_char(fam.data, 'dd/MM/yyyy') as data, fam.aulas, coalesce(faltas_global.fj, 0) + coalesce(faltas_disciplina.fj, 0) as fj, coalesce(faltas_global.fnj, 0) + coalesce(faltas_disciplina.fnj, 0) as fnj, ((fam.flg_apontamento_global is true and not exists ( select null from registro_falta_global_diario where id_turma = fam.id_turma and data_referencia = fam.data)) or (fam.flg_apontamento_global is false and exists ( select null from ( select unnest(fam.disciplinas) as id_disciplina) as disciplinas left join registro_falta_disciplina_diario registro_falta on registro_falta.id_turma = fam.id_turma and registro_falta.id_disciplina = disciplinas.id_disciplina and registro_falta.data_referencia = fam.data where registro_falta.id_turma is null))) as chamada_pendente from call_center.falta_aluno_mes fam left join lateral ( select case when fagd.flg_justificada is true then 1 else 0 end as fj, case when fagd.flg_justificada is false then 1 else 0 end as fnj from falta_aluno_globalizada_diario fagd where fagd.id_aluno_matricula = fam.id_aluno_matricula and fagd.id_turma = fam.id_turma and fagd.data = fam.data) as faltas_global on fam.flg_apontamento_global is true left join lateral ( select count( case when fadd.flg_justificada is true then 1 else null end) as fj, count( case when fadd.flg_justificada is false then 1 else null end) as fnj from falta_aluno_disciplina_diario fadd where fadd.id_aluno_matricula = fam.id_aluno_matricula and fadd.id_turma = fam.id_turma and fadd.data = fam.data) as faltas_disciplina on fam.flg_apontamento_global is false where fam.id_aluno_matricula = amt.id_aluno_matricula and fam.id_turma = amt.id_turma and fam.data < current_date order by fam.data desc limit 5) as ultimos_dias order by ultimos_dias.data) as r) as "ultimosDias" from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre where cidadao.id_instituicao = '92' and am.id_aluno_matr_status in (1, 3) and am.flg_matricula_atual and am.id_unidade_funcional = '606651' and ano.ano = '2026' and ano.semestre is null and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo = '6' and exists ( select null from call_center.notificacao_aluno where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = '1' and notificacao_aluno.ano = '2026' and notificacao_aluno.periodo = '6' and notificacao_aluno.id_responsavel_notificacao = '4') order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-07 08:43:02 Duration: 1s95ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 43s858ms 56s929ms 50s394ms 2 1m40s select id_aluno_matricula, chamada, flg_dispensado, id_nota_periodo_aluno, sum(faltas_anteriores) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int + sum(faltas_mes) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int - faltas_mes::int as faltas_anteriores, faltas_mes::int as faltas_mes, sum(faltas_anteriores) over (partition by id_aluno_matricula)::int + sum(faltas_mes) over (partition by id_aluno_matricula)::int as faltas_total from ( select a.id_aluno_matricula, a.chamada, tp.id_nota_periodo_aluno, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, coalesce(( select sum(f.qtd_faltas) from falta_aluno_globalizada f where f.id_aluno_matricula = a.id_aluno_matricula and f.id_nota_periodo_aluno = tp.id_nota_periodo_aluno and mdp.id_motivo_dispensa_periodo isnull), ?) 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 and fa.id_nota_periodo_aluno = tp.id_nota_periodo_aluno), ?) as faltas_anteriores from turma_serie ts inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma inner join turma_periodo tp on ts.id_turma = tp.id_turma 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 tp.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = ? and ts.id_serie = ?) t order by id_aluno_matricula, chamada, id_nota_periodo_aluno;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jul 07 14 1 56s929ms 56s929ms 18 1 43s858ms 43s858ms [ User: augeeducacional - Total duration: 1m40s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 1m40s - Times executed: 2 ]
-
select id_aluno_matricula, chamada, flg_dispensado, id_nota_periodo_aluno, -- faltas anteriores até o período atual + faltas até o período atual - faltas do período atual sum(faltas_anteriores) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int + sum(faltas_mes) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int - faltas_mes::int as faltas_anteriores, faltas_mes::int as faltas_mes, -- todas as faltas anteriores + todas faltas de período sum(faltas_anteriores) over (partition by id_aluno_matricula)::int + sum(faltas_mes) over (partition by id_aluno_matricula)::int as faltas_total from ( select a.id_aluno_matricula, a.chamada, tp.id_nota_periodo_aluno, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, coalesce(( select sum(f.qtd_faltas) from falta_aluno_globalizada f -- não faz join com turma de propósito por causa de remanejamento! where f.id_aluno_matricula = a.id_aluno_matricula and f.id_nota_periodo_aluno = tp.id_nota_periodo_aluno -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull), 0) as faltas_mes, 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 and fa.id_nota_periodo_aluno = tp.id_nota_periodo_aluno), 0) as faltas_anteriores from turma_serie ts inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma inner join turma_periodo tp on ts.id_turma = tp.id_turma -- 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 tp.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '260009638' and ts.id_serie = '2621') t order by id_aluno_matricula, chamada, id_nota_periodo_aluno;
Date: 2026-07-07 14:15:31 Duration: 56s929ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_aluno_matricula, chamada, flg_dispensado, id_nota_periodo_aluno, -- faltas anteriores até o período atual + faltas até o período atual - faltas do período atual sum(faltas_anteriores) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int + sum(faltas_mes) over (partition by id_aluno_matricula order by id_nota_periodo_aluno)::int - faltas_mes::int as faltas_anteriores, faltas_mes::int as faltas_mes, -- todas as faltas anteriores + todas faltas de período sum(faltas_anteriores) over (partition by id_aluno_matricula)::int + sum(faltas_mes) over (partition by id_aluno_matricula)::int as faltas_total from ( select a.id_aluno_matricula, a.chamada, tp.id_nota_periodo_aluno, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, coalesce(( select sum(f.qtd_faltas) from falta_aluno_globalizada f -- não faz join com turma de propósito por causa de remanejamento! where f.id_aluno_matricula = a.id_aluno_matricula and f.id_nota_periodo_aluno = tp.id_nota_periodo_aluno -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull), 0) as faltas_mes, 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 and fa.id_nota_periodo_aluno = tp.id_nota_periodo_aluno), 0) as faltas_anteriores from turma_serie ts inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma inner join turma_periodo tp on ts.id_turma = tp.id_turma -- 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 tp.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '260014016' and ts.id_serie = '2621') t order by id_aluno_matricula, chamada, id_nota_periodo_aluno;
Date: 2026-07-07 18:09:15 Duration: 43s858ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
2 30s281ms 1m37s 49s114ms 5 4m5s select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, ?) as fnj1, coalesce(faltas_mes.fnj2, ?) as fnj2, coalesce(faltas_mes.fnj3, ?) as fnj3, coalesce(faltas_mes.fnj4, ?) as fnj4, coalesce(faltas_mes.fnj5, ?) as fnj5, coalesce(faltas_mes.fnj6, ?) as fnj6, coalesce(faltas_mes.fnj7, ?) as fnj7, coalesce(faltas_mes.fnj8, ?) as fnj8, coalesce(faltas_mes.fnj9, ?) as fnj9, coalesce(faltas_mes.fnj10, ?) as fnj10, coalesce(faltas_mes.fnj11, ?) as fnj11, coalesce(faltas_mes.fnj12, ?) as fnj12, coalesce(faltas_gloabl.fj, ?) as fj, coalesce(faltas_gloabl.fnj, ?) as fnj, (coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ? as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj1, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj2, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj3, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj4, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj5, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj6, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj7, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj8, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj9, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj10, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj11, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = ?), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ?)) as id_calendario) as calendario on ? = ? left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between ? and ? or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = ? and am.id_aluno_matr_status in (...) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = ?) and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > ? and least ((coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ?, ?.?) between ? and ? and unidade_funcional.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 = ?) and unidade_funcional.id_municipio = ? union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, ?) as fnj1, coalesce(faltas_mes.fnj2, ?) as fnj2, coalesce(faltas_mes.fnj3, ?) as fnj3, coalesce(faltas_mes.fnj4, ?) as fnj4, coalesce(faltas_mes.fnj5, ?) as fnj5, coalesce(faltas_mes.fnj6, ?) as fnj6, coalesce(faltas_mes.fnj7, ?) as fnj7, coalesce(faltas_mes.fnj8, ?) as fnj8, coalesce(faltas_mes.fnj9, ?) as fnj9, coalesce(faltas_mes.fnj10, ?) as fnj10, coalesce(faltas_mes.fnj11, ?) as fnj11, coalesce(faltas_mes.fnj12, ?) as fnj12, coalesce(faltas_disc.fj, ?) as fj, coalesce(faltas_disc.fnj, ?) as fnj, (coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ? as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj1, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj2, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj3, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj4, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj5, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj6, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj7, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj8, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj9, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj10, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj11, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = ?), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ?)) as id_calendario) as calendario on ? = ? left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = ? and am.id_aluno_matr_status in (...) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = ?) and serie.flg_apon_falta_globalizado is false and aulas.aulas > ? and least ((coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ?, ?.?) between ? and ? and unidade_funcional.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 = ?) and unidade_funcional.id_municipio = ? order by escola, aluno;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jul 07 08 1 1m37s 1m37s 13 1 30s281ms 30s281ms 17 2 1m16s 38s150ms 18 1 41s420ms 41s420ms [ User: augeeducacional - Total duration: 4m5s - Times executed: 5 ]
[ Application: augeeducacional - fila - Total duration: 3m35s - Times executed: 4 ]
[ Application: portal_betim - fila - Total duration: 30s281ms - Times executed: 1 ]
-
select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607200' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607200' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607200' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607200' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;
Date: 2026-07-07 08:55:18 Duration: 1m37s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607116' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607116' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' and unidade_funcional.id_unidade_funcional in ( select '607116' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607116' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;
Date: 2026-07-07 18:34:25 Duration: 41s420ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '10' and '100' and unidade_funcional.id_unidade_funcional in ( select '607136' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607136' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' union all select unidade_funcional.codigo, unidade_funcional.nome as escola, aluno.codigo as matricula, cidadao.nome as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso inner join unidade_funcional on unidade_funcional.id_unidade_funcional = turma.id_unidade_funcional left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where unidade_funcional.id_instituicao = '98' and am.id_aluno_matr_status in (1, 2, 7) and turma.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = '2026') and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '10' and '100' and unidade_funcional.id_unidade_funcional in ( select '607136' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607136' and id_assunto_hierarquia_unidade = '81') and unidade_funcional.id_municipio = '330350' order by escola, aluno;
Date: 2026-07-07 17:35:27 Duration: 40s606ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
3 32s760ms 47s479ms 40s120ms 2 1m20s select un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, ?) as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(?, nullif (ce.endereco, ?), nullif (ce.numero, ?), nullif (ce.complemento, ?)) || coalesce(? || nullif (formatar_cep (ce.cep), ?)) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ?) from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ? order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ? order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r on r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel on c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce on ce.id_cidadao = cidadao.id_cidadao left join municipio on municipio.id_municipio = ce.id_municipio 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 (...) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = ? left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = ? and am.id_unidade_funcional in ( select ? union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?) and ano.ano = ? and frequencia_aluno.id_monitoramento_frequencia = ? and frequencia_aluno.periodo in (...) and ano.semestre is null and curso.id_periodicidade_apontamento in (...) order by cidadao.nome;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Jul 07 09 2 1m20s 40s120ms [ User: augeeducacional - Total duration: 1m20s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 1m20s - Times executed: 2 ]
-
select un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(', ', nullif (ce.endereco, ''), nullif (ce.numero, ''), nullif (ce.complemento, '')) || coalesce(' - ' || nullif (formatar_cep (ce.cep), '')) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ', ' order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ', ' order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r ON r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel ON c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce ON ce.id_cidadao = cidadao.id_cidadao left join municipio ON municipio.id_municipio = ce.id_municipio 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) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '75' left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = '92' and am.id_unidade_funcional in ( select '606178' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606178' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '2' and frequencia_aluno.periodo in ('2') and ano.semestre is null and curso.id_periodicidade_apontamento in ('1') order by cidadao.nome;
Date: 2026-07-07 09:04:52 Duration: 47s479ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select un_mae.nome as gre, m.nome as municipio_escola, uf.codigo, uf.nome as escola, aluno.codigo as matricula, cidadao.nome, to_char(cidadao.nascimento_data, 'DD/MM/YYYY') as nascimento_data, municipio.nome as municipio, ce.bairro, concat_ws(', ', nullif (ce.endereco, ''), nullif (ce.numero, ''), nullif (ce.complemento, '')) || coalesce(' - ' || nullif (formatar_cep (ce.cep), '')) as endereco, ( select string_agg(formatar_telefone (telefone_ddd, telefone_numero), ', ') from cidadao_telefone where id_cidadao = cidadao.id_cidadao) as telefone, c_responsavel.nome as responsavel, ams.descricao as situacao, curso.sigla as curso, serie.sigla as serie, turma.codigo as turma, frequencia_aluno.faltas, frequencia_aluno.percentual_frequencia, frequencia_aluno.dias_consecutivos, ( select string_agg(situacao_notificacao.descricao, ', ' order by situacao_notificacao.data_criacao) from call_center.situacao_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_situacao_notificacao = situacao_notificacao.id_situacao_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as ocorrencia, ( select string_agg(responsavel_notificacao.descricao, ', ' order by responsavel_notificacao.ordem) from call_center.responsavel_notificacao inner join call_center.notificacao_aluno on notificacao_aluno.id_responsavel_notificacao = responsavel_notificacao.id_responsavel_notificacao where notificacao_aluno.id_aluno_matricula = am.id_aluno_matricula and notificacao_aluno.id_monitoramento_frequencia = frequencia_aluno.id_monitoramento_frequencia) as responsavel from call_center.monitoramento_frequencia_aluno frequencia_aluno inner join aluno_matr_turma amt on frequencia_aluno.id_aluno_matricula = amt.id_aluno_matricula and frequencia_aluno.id_turma = amt.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join unidade_funcional uf on am.id_unidade_funcional = uf.id_unidade_funcional inner join aluno on aluno.id_cidadao = am.id_cidadao inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = am.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join responsavel r ON r.id_responsavel = aluno.id_responsavel left join cidadao c_responsavel ON c_responsavel.id_cidadao = r.id_responsavel left join cidadao_endereco ce ON ce.id_cidadao = cidadao.id_cidadao left join municipio ON municipio.id_municipio = ce.id_municipio 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) inner join municipio m on m.id_municipio = uf.id_municipio left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '75' left join unidade_funcional un_mae on huf.id_unidade_funcional_mae = un_mae.id_unidade_funcional where cidadao.id_instituicao = '92' and am.id_unidade_funcional in ( select '606178' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606178' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '2' and frequencia_aluno.periodo in ('1') and ano.semestre is null and curso.id_periodicidade_apontamento in ('1') order by cidadao.nome;
Date: 2026-07-07 09:04:05 Duration: 32s760ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
4 7s355ms 42s362ms 29s847ms 3 1m29s 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 (...) 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 = ? and amt.data_enturmacao::date <= ?::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 <= ?::date order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit ?) 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 = ? and uf.id_instituicao = ? and (t.id_turma is null or t.id_turma_status in (...)) and ((t.id_diario_turma_situacao = ? and coalesce(amt.id_diario_turma_situacao_enturmacao, remanejamento.id_diario_turma_situacao_enturmacao) = ?) or (t.id_diario_turma_situacao <> ? or t.id_diario_turma_situacao is null)) and pm.data_matricula::date <= ? and ( select amsh.id_aluno_matr_status in (...) from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= ? order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit ?) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= ?::date and case when a.semestre = ? then cpf.ordem <= ? when a.semestre = ? then cpf.ordem >= ? else true end) and t.id_turma is not null 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 = ?) 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(*) > ? ) 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 = ? 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 = ? 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 left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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 > ? or pm.alunos > ?) order by pm.unidade, pm.codigo_unidade, ee.ordem, pm.id_serie;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jul 07 10 2 49s718ms 24s859ms 11 1 39s822ms 39s822ms [ User: augeeducacional - Total duration: 1m29s - Times executed: 3 ]
[ Application: augeeducacional - fila - Total duration: 1m29s - Times executed: 3 ]
-
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 <= '2026-07-07'::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 <= '2026-07-07'::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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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, 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 = '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 left join curso ct on ct.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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: 2026-07-07 10:42:35 Duration: 42s362ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
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 <= '2026-07-07'::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 <= '2026-07-07'::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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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, 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 = '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 left join curso ct on ct.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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: 2026-07-07 11:44:17 Duration: 39s822ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
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 <= '2026-07-07'::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 <= '2026-07-07'::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 = '2026' and uf.id_instituicao = '69' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 '605610' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '605610' and id_assunto_hierarquia_unidade = '61') 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 = '61' 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 left join curso ct on ct.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = ct.id_modalidade 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: 2026-07-07 10:31:12 Duration: 7s355ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
5 1s311ms 1m2s 29s73ms 5 2m25s 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, ?) 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 (...) 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 = ? and amt.data_enturmacao::date <= ?::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 <= ? order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit ?) 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 = ? and uf.id_instituicao = ? and (t.id_turma is null or t.id_turma_status in (...)) and ((t.id_diario_turma_situacao = ? and coalesce(amt.id_diario_turma_situacao_enturmacao, remanejamento.id_diario_turma_situacao_enturmacao) = ?) or (t.id_diario_turma_situacao <> ? or t.id_diario_turma_situacao is null)) and pm.data_matricula::date <= ? and ( select amsh.id_aluno_matr_status in (...) from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= ? order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit ?) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= ?::date and case when a.semestre = ? then cpf.ordem <= ? when a.semestre = ? then cpf.ordem >= ? else true end) and t.id_turma is not null 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 = ?) group by pm.id_unidade_funcional, pm.id_serie, coalesce(turno.id_turno, ?), coalesce(turno.sigla, ?), s.id_curso, a.ano, uf.codigo, uf.nome, meoa.nome order by pm.id_unidade_funcional, coalesce(turno.id_turno, ?)) 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 = ? 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 = ? 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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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 > ? or pm.alunos > ?) order by pm.unidade, pm.codigo_unidade, ee.ordem, pm.sigla, pm.id_serie;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jul 07 09 2 11s594ms 5s797ms 10 3 2m13s 44s590ms [ User: augeeducacional - Total duration: 2m25s - Times executed: 5 ]
[ Application: augeeducacional - fila - Total duration: 2m5s - Times executed: 2 ]
[ Application: portal_betim - fila - Total duration: 20s21ms - Times executed: 3 ]
-
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 <= '2026-07-07'::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 <= '2026-07-07' 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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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: 2026-07-07 10:44:47 Duration: 1m2s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
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 <= '2026-07-07'::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 <= '2026-07-07' 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 = '2026' and uf.id_instituicao = '93' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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: 2026-07-07 10:47:33 Duration: 1m2s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
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 <= '2026-07-07'::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 <= '2026-07-07' 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 = '2026' and uf.id_instituicao = '82' and (t.id_turma is null or t.id_turma_status in ('1', '2')) 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 <= '2026-07-07' 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 <= '2026-07-07' 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 >= '2026-07-07'::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 '39' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '39' and id_assunto_hierarquia_unidade = '10') 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 = '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 = '11' 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 inner join curso on curso.id_curso = t.id_curso inner join modalidade on modalidade.id_modalidade = curso.id_modalidade 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: 2026-07-07 09:15:01 Duration: 10s283ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
6 788ms 1m45s 14s854ms 15 3m42s insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, ? as alunos_matriculados, ? as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, ?) dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = ? group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jul 07 18 7 1m54s 16s368ms 19 8 1m48s 13s530ms [ User: augeeducacional - Total duration: 3m42s - Times executed: 15 ]
[ Application: portal_betim - fila - Total duration: 3m42s - Times executed: 15 ]
-
insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, 0 as alunos_matriculados, 0 as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, '1 day') dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = '120' group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;
Date: 2026-07-07 18:15:34 Duration: 1m45s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, 0 as alunos_matriculados, 0 as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, '1 day') dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = '132' group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;
Date: 2026-07-07 19:56:40 Duration: 1m37s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
insert into alimentacao.remessa_escola_cardapio_publico_alvo (id_remessa_escola, id_cardapio_historico, data_inicio, data_fim, id_publico_alvo, alunos_matriculados, alunos_comensais, id_faixa_etaria) select distinct rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, 0 as alunos_matriculados, 0 as alunos_comensais, case when pa.flg_bercario and ic.flg_fornecido_bercario then ic.id_faixa_etaria else null end as id_faixa_etaria from alimentacao.remessa_escola_cardapio_historico rech inner join alimentacao.remessa_escola re on re.id_remessa_escola = rech.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = rech.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.cardapio_publico_alvo cpa on cpa.id_cardapio = c.id_cardapio inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = cpa.id_publico_alvo cross join generate_series(r.data_inicio, r.data_fim, '1 day') dia cross join alimentacao.get_refeicao_dia (ch.id_cardapio_pai, dia::date) cr inner join alimentacao.item_consumo ic on ic.id_item_consumo in ( select ig.id_item_consumo from alimentacao.refeicao_produto rp inner join alimentacao.ingrediente ig on ig.id_produto = rp.id_produto where rp.id_refeicao = cr.id_refeicao union all select ig.id_item_consumo from alimentacao.refeicao_item_consumo ig where ig.id_refeicao = cr.id_refeicao) where re.id_remessa = '130' group by rech.id_remessa_escola, rech.id_cardapio_historico, rech.data_inicio, rech.data_fim, cpa.id_publico_alvo, pa.flg_bercario, ic.flg_fornecido_bercario, ic.id_faixa_etaria;
Date: 2026-07-07 19:37:04 Duration: 3s158ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
7 1s400ms 38s460ms 13s829ms 172 39m38s 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, case when cid.flg_laudo_medico_necessidade_esp then ? else ? end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then ? else ? end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ? order by descricao) from disturbio inner join cidadao_disturbio on cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, ?) as profissao_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(cid.profissao_pai, ?) as profissao_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(loteamento.descricao, ?) as loteamento, 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(cid.numero_conta_energia, ?) as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then ? else ? end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then ? else ? end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude on cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 #7
Day Hour Count Duration Avg duration Jul 07 07 21 3m40s 10s522ms 08 13 3m23s 15s667ms 09 25 5m50s 14s35ms 10 34 7m 12s359ms 11 12 2m39s 13s309ms 12 7 44s598ms 6s371ms 13 11 3m4s 16s733ms 14 13 4m1s 18s611ms 15 27 7m13s 16s39ms 16 6 1m2s 10s464ms 18 3 56s774ms 18s924ms [ User: augeeducacional - Total duration: 39m38s - Times executed: 172 ]
[ Application: augeeducacional - fila - Total duration: 37m42s - Times executed: 166 ]
[ Application: portal_betim - fila - Total duration: 1m56s - Times executed: 6 ]
-
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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607197' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607197' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 07:13:18 Duration: 38s460ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607107' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607107' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 09:18:29 Duration: 26s751ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '2026') 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia, '') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = '2026' and uf.id_unidade_funcional in ( select '607101' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607101' and id_assunto_hierarquia_unidade = '81') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 08:53:22 Duration: 24s593ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
8 2s158ms 20s731ms 5s139ms 15 1m17s update alimentacao.remessa_escola_cardapio_publico_alvo recpa set alunos_matriculados = alunos.alunos_matriculados, alunos_comensais = alunos.alunos_comensais from ( select recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, count(am.id_aluno_matricula) as alunos_matriculados, ceil(count(am.id_aluno_matricula) * (cuf.consumo / ?.?)) as alunos_comensais from alimentacao.remessa_escola_cardapio_publico_alvo recpa inner join alimentacao.remessa_escola re on re.id_remessa_escola = recpa.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = recpa.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.configuracao_unidade_funcional cuf on cuf.id_unidade_funcional = re.id_unidade_funcional left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from alimentacao.cardapio_dieta_especial cde where cde.id_cardapio = c.id_cardapio group by cde.id_cardapio) cardapio_dieta_especial on true inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = recpa.id_publico_alvo left join alimentacao.faixa_etaria fe on fe.id_faixa_etaria = recpa.id_faixa_etaria inner join aluno_matricula am on am.id_aluno_matr_status = ? inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ambiente a on a.id_ambiente = t.id_ambiente left join turma_especial te on te.id_turma = t.id_turma inner join serie s on s.id_serie = am.id_serie inner join curso cu on cu.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = cu.id_modalidade inner join cidadao cid on cid.id_cidadao = am.id_cidadao left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from cidadao_dieta_especial cde where cde.id_cidadao = am.id_cidadao group by cde.id_cidadao) aluno_dieta_especial on true cross join age(r.data_inicio, cid.nascimento_data) as idade where re.id_remessa = ? and t.id_turno = c.id_turno and a.id_unidade_referencia in ( select re.id_unidade_funcional union select anexo.id_unidade_funcional from unidade_funcional anexo inner join hierarquia_unidade_funcional h on h.id_unidade_funcional_filha = anexo.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = h.id_assunto_hierarquia_unidade and ahu.id_instituicao = cu.id_instituicao and ahu.flg_oficial left join alimentacao.configuracao_unidade_funcional cufa on cufa.id_unidade_funcional = anexo.id_unidade_funcional where h.id_unidade_funcional_mae = re.id_unidade_funcional and coalesce(cufa.flg_recebe_remessa, false) = false) and (aluno_dieta_especial.dieta_especial = cardapio_dieta_especial.dieta_especial or (aluno_dieta_especial.dieta_especial is null and cardapio_dieta_especial.dieta_especial is null)) and daterange(r.data_inicio, r.data_fim, ?) && ( select daterange(min(cp.data_inicio)::date, max(cp.data_final)::date, ?) from calendario cl inner join calendario_periodo cp on cp.id_calendario = cl.id_calendario inner join escola_calendario ec on ec.id_calendario = cl.id_calendario where ec.id_unidade_funcional = ( select coalesce(uf_mae.id_unidade_funcional, uf.id_unidade_funcional) as id_unidade_escola from unidade_funcional uf inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = huf.id_assunto_hierarquia_unidade and ahu.id_instituicao = uf.id_instituicao and ahu.flg_oficial left join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = huf.id_unidade_funcional_mae and uf_mae.id_nivel_unidade_funcional = ? where uf.id_unidade_funcional = re.id_unidade_funcional) and cl.flg_aprovado) and ((t.flg_especial is false and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada is null and (pa_item.id_ensino_etapa = m.id_ensino_etapa or pa_item.id_ensino_etapa is null) and (pa_item.id_modalidade = m.id_modalidade or pa_item.id_modalidade is null) and (pa_item.id_curso = cu.id_curso or pa_item.id_curso is null) and (pa_item.id_serie = s.id_serie or pa_item.id_serie is null) and pa_item.flg_educacao_profissional = cu.flg_exige_habilitacao)) or (t.flg_especial is true and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada = te.id_tipo_turma_diversificada))) and case when fe.id_faixa_etaria is null then not exists ( select null from alimentacao.remessa_escola_cardapio_publico_alvo ref2 inner join alimentacao.faixa_etaria fe2 on fe2.id_faixa_etaria = ref2.id_faixa_etaria where ref2.id_remessa_escola = recpa.id_remessa_escola and ref2.id_cardapio_historico = recpa.id_cardapio_historico and ref2.data_inicio = recpa.data_inicio and ref2.id_publico_alvo = recpa.id_publico_alvo and (extract(year from idade) * ? + extract(month from idade))::int <@ int4range(fe2.idade_minima_meses, fe2.idade_maxima_meses, ?)) else (extract(year from idade) * ? + extract(month from idade))::int <@ int4range(fe.idade_minima_meses, fe.idade_maxima_meses, ?) end group by recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, cuf.consumo) alunos where recpa.id_remessa_escola_cardapio_publico_alvo = alunos.id_remessa_escola_cardapio_publico_alvo;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jul 07 18 7 39s580ms 5s654ms 19 8 37s513ms 4s689ms [ User: augeeducacional - Total duration: 1m17s - Times executed: 15 ]
[ Application: portal_betim - fila - Total duration: 1m17s - Times executed: 15 ]
-
update alimentacao.remessa_escola_cardapio_publico_alvo recpa set alunos_matriculados = alunos.alunos_matriculados, alunos_comensais = alunos.alunos_comensais from ( select recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, count(am.id_aluno_matricula) as alunos_matriculados, ceil(count(am.id_aluno_matricula) * (cuf.consumo / 100.0)) as alunos_comensais from alimentacao.remessa_escola_cardapio_publico_alvo recpa inner join alimentacao.remessa_escola re on re.id_remessa_escola = recpa.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = recpa.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.configuracao_unidade_funcional cuf on cuf.id_unidade_funcional = re.id_unidade_funcional left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from alimentacao.cardapio_dieta_especial cde where cde.id_cardapio = c.id_cardapio group by cde.id_cardapio) cardapio_dieta_especial on true inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = recpa.id_publico_alvo left join alimentacao.faixa_etaria fe on fe.id_faixa_etaria = recpa.id_faixa_etaria inner join aluno_matricula am on am.id_aluno_matr_status = 1 inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ambiente a on a.id_ambiente = t.id_ambiente left join turma_especial te on te.id_turma = t.id_turma inner join serie s on s.id_serie = am.id_serie inner join curso cu on cu.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = cu.id_modalidade inner join cidadao cid on cid.id_cidadao = am.id_cidadao left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from cidadao_dieta_especial cde where cde.id_cidadao = am.id_cidadao group by cde.id_cidadao) aluno_dieta_especial on true cross join age(r.data_inicio, cid.nascimento_data) as idade where re.id_remessa = '120' and t.id_turno = c.id_turno and a.id_unidade_referencia in ( -- da prórpia escola/anexo selecionado select re.id_unidade_funcional union -- de anexos dessa escola que não recebem remessa select anexo.id_unidade_funcional from unidade_funcional anexo inner join hierarquia_unidade_funcional h on h.id_unidade_funcional_filha = anexo.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = h.id_assunto_hierarquia_unidade and ahu.id_instituicao = cu.id_instituicao and ahu.flg_oficial left join alimentacao.configuracao_unidade_funcional cufa on cufa.id_unidade_funcional = anexo.id_unidade_funcional where h.id_unidade_funcional_mae = re.id_unidade_funcional and coalesce(cufa.flg_recebe_remessa, false) = false) and (aluno_dieta_especial.dieta_especial = cardapio_dieta_especial.dieta_especial or (aluno_dieta_especial.dieta_especial is null and cardapio_dieta_especial.dieta_especial is null)) and daterange(r.data_inicio, r.data_fim, '[]') && ( select daterange(min(cp.data_inicio)::date, max(cp.data_final)::date, '[]') from calendario cl inner join calendario_periodo cp on cp.id_calendario = cl.id_calendario inner join escola_calendario ec on ec.id_calendario = cl.id_calendario where ec.id_unidade_funcional = ( select coalesce(uf_mae.id_unidade_funcional, uf.id_unidade_funcional) as id_unidade_escola from unidade_funcional uf inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = huf.id_assunto_hierarquia_unidade and ahu.id_instituicao = uf.id_instituicao and ahu.flg_oficial left join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = huf.id_unidade_funcional_mae and uf_mae.id_nivel_unidade_funcional = 3 where uf.id_unidade_funcional = re.id_unidade_funcional) and cl.flg_aprovado) and ((t.flg_especial is false and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada is null and (pa_item.id_ensino_etapa = m.id_ensino_etapa or pa_item.id_ensino_etapa is null) and (pa_item.id_modalidade = m.id_modalidade or pa_item.id_modalidade is null) and (pa_item.id_curso = cu.id_curso or pa_item.id_curso is null) and (pa_item.id_serie = s.id_serie or pa_item.id_serie is null) and pa_item.flg_educacao_profissional = cu.flg_exige_habilitacao)) or (t.flg_especial is true and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada = te.id_tipo_turma_diversificada))) and case when fe.id_faixa_etaria is null then not exists ( select null from alimentacao.remessa_escola_cardapio_publico_alvo ref2 inner join alimentacao.faixa_etaria fe2 on fe2.id_faixa_etaria = ref2.id_faixa_etaria where ref2.id_remessa_escola = recpa.id_remessa_escola and ref2.id_cardapio_historico = recpa.id_cardapio_historico and ref2.data_inicio = recpa.data_inicio and ref2.id_publico_alvo = recpa.id_publico_alvo and (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe2.idade_minima_meses, fe2.idade_maxima_meses, '[]')) else (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe.idade_minima_meses, fe.idade_maxima_meses, '[]') end group by recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, cuf.consumo) alunos where recpa.id_remessa_escola_cardapio_publico_alvo = alunos.id_remessa_escola_cardapio_publico_alvo;
Date: 2026-07-07 18:15:55 Duration: 20s731ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
update alimentacao.remessa_escola_cardapio_publico_alvo recpa set alunos_matriculados = alunos.alunos_matriculados, alunos_comensais = alunos.alunos_comensais from ( select recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, count(am.id_aluno_matricula) as alunos_matriculados, ceil(count(am.id_aluno_matricula) * (cuf.consumo / 100.0)) as alunos_comensais from alimentacao.remessa_escola_cardapio_publico_alvo recpa inner join alimentacao.remessa_escola re on re.id_remessa_escola = recpa.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = recpa.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.configuracao_unidade_funcional cuf on cuf.id_unidade_funcional = re.id_unidade_funcional left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from alimentacao.cardapio_dieta_especial cde where cde.id_cardapio = c.id_cardapio group by cde.id_cardapio) cardapio_dieta_especial on true inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = recpa.id_publico_alvo left join alimentacao.faixa_etaria fe on fe.id_faixa_etaria = recpa.id_faixa_etaria inner join aluno_matricula am on am.id_aluno_matr_status = 1 inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ambiente a on a.id_ambiente = t.id_ambiente left join turma_especial te on te.id_turma = t.id_turma inner join serie s on s.id_serie = am.id_serie inner join curso cu on cu.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = cu.id_modalidade inner join cidadao cid on cid.id_cidadao = am.id_cidadao left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from cidadao_dieta_especial cde where cde.id_cidadao = am.id_cidadao group by cde.id_cidadao) aluno_dieta_especial on true cross join age(r.data_inicio, cid.nascimento_data) as idade where re.id_remessa = '132' and t.id_turno = c.id_turno and a.id_unidade_referencia in ( -- da prórpia escola/anexo selecionado select re.id_unidade_funcional union -- de anexos dessa escola que não recebem remessa select anexo.id_unidade_funcional from unidade_funcional anexo inner join hierarquia_unidade_funcional h on h.id_unidade_funcional_filha = anexo.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = h.id_assunto_hierarquia_unidade and ahu.id_instituicao = cu.id_instituicao and ahu.flg_oficial left join alimentacao.configuracao_unidade_funcional cufa on cufa.id_unidade_funcional = anexo.id_unidade_funcional where h.id_unidade_funcional_mae = re.id_unidade_funcional and coalesce(cufa.flg_recebe_remessa, false) = false) and (aluno_dieta_especial.dieta_especial = cardapio_dieta_especial.dieta_especial or (aluno_dieta_especial.dieta_especial is null and cardapio_dieta_especial.dieta_especial is null)) and daterange(r.data_inicio, r.data_fim, '[]') && ( select daterange(min(cp.data_inicio)::date, max(cp.data_final)::date, '[]') from calendario cl inner join calendario_periodo cp on cp.id_calendario = cl.id_calendario inner join escola_calendario ec on ec.id_calendario = cl.id_calendario where ec.id_unidade_funcional = ( select coalesce(uf_mae.id_unidade_funcional, uf.id_unidade_funcional) as id_unidade_escola from unidade_funcional uf inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = huf.id_assunto_hierarquia_unidade and ahu.id_instituicao = uf.id_instituicao and ahu.flg_oficial left join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = huf.id_unidade_funcional_mae and uf_mae.id_nivel_unidade_funcional = 3 where uf.id_unidade_funcional = re.id_unidade_funcional) and cl.flg_aprovado) and ((t.flg_especial is false and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada is null and (pa_item.id_ensino_etapa = m.id_ensino_etapa or pa_item.id_ensino_etapa is null) and (pa_item.id_modalidade = m.id_modalidade or pa_item.id_modalidade is null) and (pa_item.id_curso = cu.id_curso or pa_item.id_curso is null) and (pa_item.id_serie = s.id_serie or pa_item.id_serie is null) and pa_item.flg_educacao_profissional = cu.flg_exige_habilitacao)) or (t.flg_especial is true and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada = te.id_tipo_turma_diversificada))) and case when fe.id_faixa_etaria is null then not exists ( select null from alimentacao.remessa_escola_cardapio_publico_alvo ref2 inner join alimentacao.faixa_etaria fe2 on fe2.id_faixa_etaria = ref2.id_faixa_etaria where ref2.id_remessa_escola = recpa.id_remessa_escola and ref2.id_cardapio_historico = recpa.id_cardapio_historico and ref2.data_inicio = recpa.data_inicio and ref2.id_publico_alvo = recpa.id_publico_alvo and (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe2.idade_minima_meses, fe2.idade_maxima_meses, '[]')) else (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe.idade_minima_meses, fe.idade_maxima_meses, '[]') end group by recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, cuf.consumo) alunos where recpa.id_remessa_escola_cardapio_publico_alvo = alunos.id_remessa_escola_cardapio_publico_alvo;
Date: 2026-07-07 19:56:56 Duration: 16s444ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
update alimentacao.remessa_escola_cardapio_publico_alvo recpa set alunos_matriculados = alunos.alunos_matriculados, alunos_comensais = alunos.alunos_comensais from ( select recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, count(am.id_aluno_matricula) as alunos_matriculados, ceil(count(am.id_aluno_matricula) * (cuf.consumo / 100.0)) as alunos_comensais from alimentacao.remessa_escola_cardapio_publico_alvo recpa inner join alimentacao.remessa_escola re on re.id_remessa_escola = recpa.id_remessa_escola inner join alimentacao.remessa r on r.id_remessa = re.id_remessa inner join alimentacao.cardapio_historico ch on ch.id_cardapio_historico = recpa.id_cardapio_historico inner join alimentacao.cardapio c on c.id_cardapio = ch.id_cardapio inner join alimentacao.configuracao_unidade_funcional cuf on cuf.id_unidade_funcional = re.id_unidade_funcional left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from alimentacao.cardapio_dieta_especial cde where cde.id_cardapio = c.id_cardapio group by cde.id_cardapio) cardapio_dieta_especial on true inner join alimentacao.publico_alvo pa on pa.id_publico_alvo = recpa.id_publico_alvo left join alimentacao.faixa_etaria fe on fe.id_faixa_etaria = recpa.id_faixa_etaria inner join aluno_matricula am on am.id_aluno_matr_status = 1 inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join ambiente a on a.id_ambiente = t.id_ambiente left join turma_especial te on te.id_turma = t.id_turma inner join serie s on s.id_serie = am.id_serie inner join curso cu on cu.id_curso = s.id_curso inner join modalidade m on m.id_modalidade = cu.id_modalidade inner join cidadao cid on cid.id_cidadao = am.id_cidadao left join lateral ( select array_agg(cde.id_dieta_especial order by cde.id_dieta_especial) as dieta_especial from cidadao_dieta_especial cde where cde.id_cidadao = am.id_cidadao group by cde.id_cidadao) aluno_dieta_especial on true cross join age(r.data_inicio, cid.nascimento_data) as idade where re.id_remessa = '122' and t.id_turno = c.id_turno and a.id_unidade_referencia in ( -- da prórpia escola/anexo selecionado select re.id_unidade_funcional union -- de anexos dessa escola que não recebem remessa select anexo.id_unidade_funcional from unidade_funcional anexo inner join hierarquia_unidade_funcional h on h.id_unidade_funcional_filha = anexo.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = h.id_assunto_hierarquia_unidade and ahu.id_instituicao = cu.id_instituicao and ahu.flg_oficial left join alimentacao.configuracao_unidade_funcional cufa on cufa.id_unidade_funcional = anexo.id_unidade_funcional where h.id_unidade_funcional_mae = re.id_unidade_funcional and coalesce(cufa.flg_recebe_remessa, false) = false) and (aluno_dieta_especial.dieta_especial = cardapio_dieta_especial.dieta_especial or (aluno_dieta_especial.dieta_especial is null and cardapio_dieta_especial.dieta_especial is null)) and daterange(r.data_inicio, r.data_fim, '[]') && ( select daterange(min(cp.data_inicio)::date, max(cp.data_final)::date, '[]') from calendario cl inner join calendario_periodo cp on cp.id_calendario = cl.id_calendario inner join escola_calendario ec on ec.id_calendario = cl.id_calendario where ec.id_unidade_funcional = ( select coalesce(uf_mae.id_unidade_funcional, uf.id_unidade_funcional) as id_unidade_escola from unidade_funcional uf inner join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional inner join assunto_hierarquia_unidade ahu on ahu.id_assunto_hierarquia_unidade = huf.id_assunto_hierarquia_unidade and ahu.id_instituicao = uf.id_instituicao and ahu.flg_oficial left join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = huf.id_unidade_funcional_mae and uf_mae.id_nivel_unidade_funcional = 3 where uf.id_unidade_funcional = re.id_unidade_funcional) and cl.flg_aprovado) and ((t.flg_especial is false and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada is null and (pa_item.id_ensino_etapa = m.id_ensino_etapa or pa_item.id_ensino_etapa is null) and (pa_item.id_modalidade = m.id_modalidade or pa_item.id_modalidade is null) and (pa_item.id_curso = cu.id_curso or pa_item.id_curso is null) and (pa_item.id_serie = s.id_serie or pa_item.id_serie is null) and pa_item.flg_educacao_profissional = cu.flg_exige_habilitacao)) or (t.flg_especial is true and exists ( select null from alimentacao.publico_alvo_item pa_item where pa_item.id_publico_alvo = pa.id_publico_alvo and pa_item.id_tipo_turma_diversificada = te.id_tipo_turma_diversificada))) and case when fe.id_faixa_etaria is null then not exists ( select null from alimentacao.remessa_escola_cardapio_publico_alvo ref2 inner join alimentacao.faixa_etaria fe2 on fe2.id_faixa_etaria = ref2.id_faixa_etaria where ref2.id_remessa_escola = recpa.id_remessa_escola and ref2.id_cardapio_historico = recpa.id_cardapio_historico and ref2.data_inicio = recpa.data_inicio and ref2.id_publico_alvo = recpa.id_publico_alvo and (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe2.idade_minima_meses, fe2.idade_maxima_meses, '[]')) else (extract(year from idade) * 12 + extract(month from idade))::int <@ int4range(fe.idade_minima_meses, fe.idade_maxima_meses, '[]') end group by recpa.id_remessa_escola_cardapio_publico_alvo, recpa.id_publico_alvo, recpa.id_faixa_etaria, cuf.consumo) alunos where recpa.id_remessa_escola_cardapio_publico_alvo = alunos.id_remessa_escola_cardapio_publico_alvo;
Date: 2026-07-07 18:52:22 Duration: 4s265ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
9 501ms 12s997ms 4s64ms 451 30m32s select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = ? and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = ? and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = ? and turma.id_turma_status = ? and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= ? and (am.id_aluno_matr_status = ? or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= ? order by amsh.id_aluno_matr_status_hist desc limit ?) = ?)));Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jul 07 07 8 26s338ms 3s292ms 08 40 2m26s 3s673ms 09 54 3m52s 4s306ms 10 60 4m18s 4s314ms 11 40 2m40s 4s22ms 12 44 3m1s 4s131ms 13 52 3m21s 3s877ms 14 54 3m35s 3s992ms 15 41 2m48s 4s120ms 16 25 1m38s 3s928ms 17 10 42s566ms 4s256ms 18 16 1m6s 4s163ms 19 7 31s926ms 4s560ms [ User: augeeducacional - Total duration: 30m32s - Times executed: 451 ]
[ Application: augeeducacional - fila - Total duration: 30m18s - Times executed: 428 ]
[ Application: portal_betim - fila - Total duration: 14s60ms - Times executed: 23 ]
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '606744' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 07:16:45 Duration: 12s997ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '607123' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 15:56:27 Duration: 6s636ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select aluno.id_cidadao from aluno inner join cidadao on cidadao.id_cidadao = aluno.id_cidadao where cidadao.id_cidadao_status = '1' and exists ( select null from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma on turma.id_turma = amt.id_turma left join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join tipo_enturmacao on tipo_enturmacao.id_tipo_enturmacao = amt.id_tipo_enturmacao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where ano.ano = '2026' and am.id_cidadao = aluno.id_cidadao and turma.id_unidade_funcional = '606753' and turma.id_turma_status = '1' and tipo_enturmacao.flg_integra_educacenso is true and coalesce(curso.flg_integra_educacenso, true) is true and am.flg_enviar_educacenso is true and (turma.flg_especial is false or turma.id_mec_tipo_atendimento_turma is not null) and amt.data_saida is null and am.data_matricula::date <= '2026-05-27' and (am.id_aluno_matr_status = '1' or (ams.flg_transicao is false and ( select amsh.id_aluno_matr_status from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= '2026-05-27' order by amsh.id_aluno_matr_status_hist desc limit 1) = '1')));
Date: 2026-07-07 09:05:35 Duration: 6s535ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
10 500ms 46s328ms 3s965ms 1,754 1h55m55s select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then ? when ministrados < total then ? || asterisco else ? || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then ? else ? end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then ? else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo (?, c.serie_duracao = ?, c.id_periodicidade_apontamento = ?) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in (...) and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo (?, c.serie_duracao = ?, c.id_periodicidade_apontamento = ?) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jul 07 06 13 22s47ms 1s695ms 07 65 9m31s 8s797ms 08 170 10m5s 3s563ms 09 256 15m34s 3s649ms 10 218 19m56s 5s487ms 11 106 4m23s 2s488ms 12 69 6m9s 5s357ms 13 195 8m50s 2s718ms 14 219 7m29s 2s51ms 15 202 20m40s 6s141ms 16 110 10m26s 5s697ms 17 42 50s415ms 1s200ms 18 32 27s232ms 851ms 19 57 1m8s 1s193ms [ User: augeeducacional - Total duration: 1h55m55s - Times executed: 1754 ]
[ Application: augeeducacional - fila - Total duration: 1h55m55s - Times executed: 1754 ]
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('2', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('2', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:10:47 Duration: 46s328ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:12:15 Duration: 43s729ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_professor, ministrados < total as pendente, case when pendencia_planejamento then 'Não planejado' when ministrados < total then 'Pendente' || asterisco else 'Concluído' || asterisco end as descricao_pendencia, case when pendencia_planejamento then null::int else ministrados::int end as apontados, case when pendencia_planejamento then null::int else total::int end as total from ( select t.id_turma, ts.id_serie, d.id_disciplina, d.descricao, cc.id_componente_curricular, oc.id_organizador_curricular, tp.id_cidadao as id_professor, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260004780', '260004781', '260004782', '260004783', '260004784', '260004785', '260004786', '260004787') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('3', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado, tp.id_cidadao) x;
Date: 2026-07-07 09:11:31 Duration: 43s223ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
11 1s982ms 5s12ms 2s403ms 771 30m53s 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 #11
Day Hour Count Duration Avg duration Jul 07 07 55 1m57s 2s131ms 08 142 5m46s 2s436ms 09 82 3m35s 2s633ms 10 119 5m 2s523ms 11 40 1m35s 2s398ms 12 21 47s479ms 2s260ms 13 83 3m9s 2s286ms 14 83 3m13s 2s327ms 15 46 1m50s 2s400ms 16 76 3m3s 2s411ms 17 1 2s141ms 2s141ms 18 9 19s173ms 2s130ms 19 14 32s213ms 2s300ms [ User: augeeducacional - Total duration: 30m53s - Times executed: 771 ]
[ Application: portal_betim - fila - Total duration: 15m45s - Times executed: 394 ]
[ Application: augeeducacional - fila - Total duration: 15m7s - Times executed: 377 ]
-
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 = '260000522' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2251' 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: 2026-07-07 09:05:36 Duration: 5s12ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila 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 = '260001526' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '32646' 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: 2026-07-07 09:01:16 Duration: 3s802ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 = '260001224' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2506' 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: 2026-07-07 08:45:01 Duration: 3s736ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
12 501ms 11s391ms 2s76ms 700 24m13s select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = ? inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in (...) and npa.id_nota_periodo_aluno = bimestre_para_periodo (?, curso.serie_duracao = ?, curso.id_periodicidade_apontamento = ?) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = ? and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = ? and mad.id_categoria_modelo_avaliacao_desc = ? and mad.id_periodicidade_apontamento_avaliacao_desc = ? and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= ?) and (mdp.periodos is null or not mdp.periodos @> array[?]) and emap.id_nota_periodo_aluno = ? and am.id_aluno_matr_status in (...) and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = ? and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jul 07 06 4 4s173ms 1s43ms 07 16 41s568ms 2s598ms 08 90 4m9s 2s774ms 09 92 2m22s 1s547ms 10 85 2m29s 1s755ms 11 55 1m57s 2s144ms 12 32 2m20s 4s386ms 13 54 2m 2s236ms 14 121 3m54s 1s939ms 15 71 2m23s 2s16ms 16 29 49s751ms 1s715ms 17 26 35s180ms 1s353ms 18 5 3s989ms 797ms 19 20 21s33ms 1s51ms [ User: augeeducacional - Total duration: 24m13s - Times executed: 700 ]
[ Application: augeeducacional - fila - Total duration: 24m13s - Times executed: 700 ]
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012293', '260012289', '260012279', '260012285', '260012287', '260012290', '260012291', '260012286', '260012284', '260012283', '260012280', '260012292', '260012282', '260012276', '260012288', '260012278', '260012277', '260012281') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 08:33:02 Duration: 11s391ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012653', '260013139', '260012649', '260012652', '260012651', '260012641', '260012644', '260012648', '260012650', '260012636', '260012642', '260012646', '260013136', '260012638', '260012654', '260012647', '260012635', '260012639', '260012645', '260012634', '260012643') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 12:59:27 Duration: 9s422ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre and ano = '2026' inner join componente_curricular cc on cc.id_grade_curricular = ts.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) cross join nota_periodo_aluno npa where t.id_turma in ('260012265', '260012259', '260012253', '260012256', '260012269', '260012706', '260012267', '260012258', '260012262', '260012703', '260012270', '260012252', '260012250', '260012273', '260012274', '260012248', '260012266', '260012268', '260012249', '260012251', '260012263', '260012271', '260012272', '260012254', '260012261', '260012247', '260012264') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) and exists ( select null from aluno_matr_turma amt inner join turma_serie_modelo_avaliacao_desc tsmad on tsmad.id_turma = amt.id_turma and tsmad.id_serie = amt.id_serie_enturmacao inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = tsmad.id_modelo_avaliacao_desc left join apontamento_ficha_acompanhamento aad on aad.id_turma = amt.id_turma and amt.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = '1' and aad.id_modelo_avaliacao_desc = mad.id_modelo_avaliacao_desc inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula inner join eixo_modelo_avaliacao_desc emad on mad.id_modelo_avaliacao_desc = emad.id_modelo_avaliacao_desc inner join area_conhecimento_gestao area on area.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emad.id_eixo_modelo_avaliacao_desc = emap.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on emad.id_eixo_avaliacao_desc = ead.id_eixo_avaliacao_desc left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null and mad.id_disciplina = d.id_disciplina and tsmad.id_tipo_modelo_avaliacao_desc = '4' and mad.id_categoria_modelo_avaliacao_desc = '1' and mad.id_periodicidade_apontamento_avaliacao_desc = '1' and ead.flg_descritor = false and emad.flg_ativo is true and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= '1') and (mdp.periodos is null or not mdp.periodos @> ARRAY['1']) and emap.id_nota_periodo_aluno = '1' and am.id_aluno_matr_status in ('1', '2', '7') and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_ficha_acompanhamento aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = '1' and aead.id_turma = ts.id_turma) and (area.flg_exclusivo_necessidade_esp is false or (area.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(area.necessidade_especial)))) and (area.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false));
Date: 2026-07-07 11:05:49 Duration: 8s437ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
13 500ms 13s214ms 1s708ms 158 4m29s select coalesce(c.id_cidadao, ?) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = ? as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in (...) and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in (...) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> array[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jul 07 06 2 8s513ms 4s256ms 07 7 10s902ms 1s557ms 08 17 38s611ms 2s271ms 09 21 27s348ms 1s302ms 10 13 19s378ms 1s490ms 11 6 9s128ms 1s521ms 12 13 25s553ms 1s965ms 13 18 43s791ms 2s432ms 14 18 24s435ms 1s357ms 15 13 19s505ms 1s500ms 16 4 5s592ms 1s398ms 17 7 16s840ms 2s405ms 18 13 14s692ms 1s130ms 19 6 5s698ms 949ms [ User: augeeducacional - Total duration: 4m29s - Times executed: 158 ]
[ Application: augeeducacional - fila - Total duration: 4m28s - Times executed: 156 ]
[ Application: portal_betim - fila - Total duration: 1s804ms - Times executed: 2 ]
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009692', '260002454', '260002449', '260002467', '260002463', '260002460', '260002451', '260002465', '260002475', '260009690', '260002473', '260002455', '260002472', '260002474', '260002452', '260002462', '260002461', '260002453', '260002459', '260002466', '260002468', '260002457', '260002470', '260002469', '260002471', '260002456', '260002458', '260002450') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 13:45:00 Duration: 13s214ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009738', '260009737', '260010761', '260009743', '260009761', '260010759', '260009739', '260009770', '260010738', '260009758', '260009753', '260009750', '260009764', '260009742', '260009740', '260009760', '260009752', '260010756', '260009765', '260009757', '260009766', '260009768', '260009762', '260010757', '260009751', '260018133', '260009748', '260009749', '260009763', '260009746', '260009754', '260009744', '260009755', '260009735', '260009741', '260009769', '260009736', '260009759', '260009745') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 08:51:51 Duration: 10s106ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select coalesce(c.id_cidadao, 0) as id_cidadao, c.nome as professor, t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260002449', '260002467', '260002463', '260002451', '260002465', '260002473', '260002455', '260002453', '260002459', '260002469', '260002471') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by c.id_cidadao, c.nome, t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by t.id_turma_status, professor, nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 17:01:28 Duration: 7s318ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
14 511ms 5s638ms 1s559ms 39 1m select t.id_turma, s.id_serie, t.id_turma_status = ? as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in (...) and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in (...) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> array[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jul 07 07 2 1s482ms 741ms 09 10 21s379ms 2s137ms 10 4 4s539ms 1s134ms 11 1 691ms 691ms 12 1 609ms 609ms 13 6 10s99ms 1s683ms 14 5 5s417ms 1s83ms 15 2 6s909ms 3s454ms 16 4 4s442ms 1s110ms 17 3 3s973ms 1s324ms 18 1 1s274ms 1s274ms [ User: augeeducacional - Total duration: 1m - Times executed: 39 ]
[ Application: augeeducacional - fila - Total duration: 1m - Times executed: 39 ]
-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260009740', '260009739', '260009769', '260009760', '260009753', '260009770', '260009749', '260009752', '260009765', '260009741', '260009757', '260009745', '260009744', '260010738', '260009737', '260009736', '260009761', '260010756', '260010757', '260009742', '260009755', '260009735', '260010761', '260009738', '260009763', '260010759', '260009766', '260009746', '260009758', '260009743', '260009759', '260009762', '260009750', '260009751', '260009754', '260018133', '260009768', '260009748', '260009764') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 15:48:30 Duration: 5s638ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260001200', '260001199', '260001204', '260009059', '260001203', '260001196', '260001197', '260014015', '260001198', '260001194', '260001193', '260009311') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 09:16:38 Duration: 4s533ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select t.id_turma, s.id_serie, t.id_turma_status = '1' as flg_ativa, t.nome as nome_turma, uf.codigo as codigo_unidade, uf.nome as nome_unidade, curso.sigla as sigla_curso, s.sigla as sigla_serie, u.sigla as sigla_turno, a.descricao as area_conhecimento, npa.id_nota_periodo_aluno, npa.ordem as ordem_apontamento, coalesce(tp.descricao, npa.descricao) as apontamento, not (bool_and(exists ( select null from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and aead.id_turma = amt.id_turma and aead.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc))) as flg_pendente from turma t inner join turma_serie ts on t.id_turma = ts.id_turma inner join serie s on s.id_serie = ts.id_serie inner join curso on curso.id_curso = s.id_curso inner join turno u on u.id_turno = t.id_turno inner join unidade_funcional uf on t.id_unidade_funcional = uf.id_unidade_funcional inner join modelo_avaliacao_desc mad on mad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join eixo_modelo_avaliacao_desc emad on emad.id_modelo_avaliacao_desc = ts.id_modelo_avaliacao_desc inner join area_conhecimento_gestao a on a.id_area_conhecimento_gestao = emad.id_area_conhecimento_gestao inner join eixo_modelo_aval_periodo emap on emap.id_eixo_modelo_avaliacao_desc = emad.id_eixo_modelo_avaliacao_desc inner join eixo_avaliacao_desc ead on ead.id_eixo_avaliacao_desc = emad.id_eixo_avaliacao_desc inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = emap.id_nota_periodo_aluno left join turma_periodo tp on tp.id_turma = t.id_turma and tp.id_nota_periodo_aluno = npa.id_nota_periodo_aluno inner join aluno_matr_turma amt on amt.id_turma = ts.id_turma and amt.id_serie_enturmacao = ts.id_serie inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = am.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo left join apontamento_avaliacao_desc aad on aad.id_turma = amt.id_turma and am.id_aluno_matricula = aad.id_aluno_matricula and aad.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join turma_professor tpf on tpf.id_turma = ts.id_turma and tpf.id_serie = ts.id_serie left join cidadao c on c.id_cidadao = tpf.id_cidadao where t.id_turma in ('260006408', '260006417', '260006429', '260006413', '260006410', '260006420', '260006414', '260006418', '260006422', '260006425', '260006411', '260006416', '260006419', '260006428', '260006423', '260006426', '260006415', '260006409', '260006421', '260006412', '260007438') and ead.flg_descritor = false and emad.flg_ativo is true and am.id_aluno_matr_status in ('1', '2', '7') and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= npa.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[npa.id_nota_periodo_aluno]) and (aad.flg_nao_foi_possivel_avaliar is null or aad.flg_nao_foi_possivel_avaliar is false) and amt.data_saida is null and (a.flg_exclusivo_necessidade_esp is false or (a.flg_exclusivo_parecer_descritivo is true and am.flg_parecer_descritivo is true) or exists ( select null from cidadao_necessidade_especial where id_cidadao = am.id_cidadao and id_necessidade_especial in ( select unnest(a.necessidade_especial)))) and (a.flg_exclusivo_aluno_sem_deficiencia is false or ( select flg_necessidade_especial from cidadao where id_cidadao = am.id_cidadao) is false) group by t.id_turma, t.id_turma_status, uf.id_unidade_funcional, curso.id_curso, s.id_serie, t.nome, s.sigla, u.sigla, a.descricao, npa.id_nota_periodo_aluno, npa.descricao, tp.descricao order by nome_turma, id_turma, sigla_curso, sigla_serie, id_serie, sigla_turno, area_conhecimento, ordem_apontamento;
Date: 2026-07-07 09:12:49 Duration: 4s262ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
15 501ms 4s982ms 1s473ms 411 10m5s select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = ? then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / ?.?)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case when cc.id_forma_avaliacao_componente = ? then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = ?), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when ? then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in (...) and ans.ano = ? and s.id_forma_avaliacao in (...) and npa.id_nota_periodo_aluno = ? and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in (...) and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[npa.id_nota_periodo_aluno]))) t;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jul 07 06 1 795ms 795ms 07 10 11s555ms 1s155ms 08 56 1m40s 1s789ms 09 89 2m 1s348ms 10 41 56s954ms 1s389ms 11 28 36s310ms 1s296ms 12 13 23s383ms 1s798ms 13 43 1m1s 1s436ms 14 57 1m34s 1s654ms 15 34 51s694ms 1s520ms 16 15 17s556ms 1s170ms 17 6 6s440ms 1s73ms 18 6 7s185ms 1s197ms 19 12 17s179ms 1s431ms [ User: augeeducacional - Total duration: 10m5s - Times executed: 411 ]
[ Application: augeeducacional - fila - Total duration: 9m12s - Times executed: 370 ]
[ Application: portal_betim - fila - Total duration: 53s154ms - Times executed: 41 ]
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260002926', '260002918', '260011041', '260011057', '260011059', '260011062', '260011063', '260011065', '260011066', '260011067', '260011068', '260011097', '260011098', '260002925', '260002923', '260002924', '260002922', '260002921', '260002920', '260002919', '260002927') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 09:04:22 Duration: 4s982ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260011954', '260011955', '260011952', '260011953', '260012801', '260011950', '260011951', '260011948', '260011949', '260011960', '260011961', '260011958', '260011959', '260011956', '260011957', '260011966', '260011967', '260011964', '260011965', '260012819') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 08:40:53 Duration: 4s953ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, id_cidadao, id_aluno_matricula, id_forma_avaliacao_componente, valor_nota_min_aprovacao, id_tipo_arredondamento, num_casas_decimais_nota, -- apontamento de recuperação nota, conceito, flg_media_global, flg_nao_compareceu, exibir_na_recuperacao, case when flg_media_global then sp_media_global_parcial (t.id_aluno_matricula, t.id_condicao_turma, id_tipo_resultado_final) when id_tipo_resultado_final = '1' then get_soma_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina, t.id_serie_enturmacao) else get_media_notas_aluno (t.id_condicao_turma, t.id_aluno_matricula, t.id_disciplina) end::float4 as nota_verificar_recuperacao from ( select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, tp.id_cidadao, am.id_aluno_matricula, cc.id_forma_avaliacao_componente, cc.flg_media_global, (s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0)::float4 as valor_nota_min_aprovacao, pa.id_tipo_arredondamento, pa.id_tipo_resultado_final, s.num_casas_decimais_nota, -- apontamento de recuperação na.nota as nota, ca.sigla as conceito, na.flg_nao_compareceu, case -- conceito final reprovado when cc.id_forma_avaliacao_componente = '2' then coalesce(( select cf.flg_aprova is false from nota_aluno nf inner join conceito_avaliacao cf on cf.id_conceito_avaliacao = nf.id_conceito_avaliacao where nf.id_aluno_matricula = amt.id_aluno_matricula and nf.id_turma = condicao_turma.id_turma and nf.id_disciplina = d.id_disciplina and nf.id_nota_periodo_aluno = '5'), true) end as exibir_na_recuperacao, amt.id_serie_enturmacao, condicao_turma.id_turma as id_condicao_turma from turma t inner join turma_serie ts on t.id_turma = ts.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 ano_semestre ans on ans.id_ano_semestre = t.id_ano_semestre inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true inner join turma_disciplina td on td.id_turma = t.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 procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa inner join aluno_matr_turma amt on amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and amt.data_saida is null inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join lateral ( select case t.id_tipo_turma when 4 then amt.id_turma_principal else amt.id_turma end as id_turma) condicao_turma on true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = condicao_turma.id_turma and na.id_nota_periodo_aluno = npa.id_nota_periodo_aluno and na.id_disciplina = d.id_disciplina left join conceito_avaliacao ca on ca.id_conceito_avaliacao = na.id_conceito_avaliacao left join turma_professor tp on tp.id_turma = ts.id_turma and tp.id_serie = ts.id_serie and tp.id_componente_curricular = cc.id_componente_curricular where t.id_turma in ('260016389', '260016390', '260013221', '260013219', '260013210', '260013211', '260013217', '260013215', '260013212', '260013208', '260013222', '260013216', '260013205', '260013214', '260013220', '260013223', '260013213', '260013201', '260014608', '260013202', '260013203', '260013206', '260013209', '260014634') and ans.ano = '2026' and s.id_forma_avaliacao in ('1', '2', '4') and npa.id_nota_periodo_aluno = '6' and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status in ('1', '2', '7') and not exists ( select null from parecer_conclusivo pc where pc.id_aluno_matricula = amt.id_aluno_matricula) and not exists ( select null from parecer_conclusivo_itinerio_formativo pc_if where pc_if.id_turma = amt.id_turma and pc_if.id_aluno_matricula = amt.id_aluno_matricula and pc_if.id_disciplina = d.id_disciplina) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = amt.id_turma and amdd.id_disciplina = d.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[npa.id_nota_periodo_aluno]))) t;
Date: 2026-07-07 10:05:20 Duration: 4s914ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
16 745ms 2s639ms 1s405ms 46 1m4s select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then ? else ? end) as quilombo from cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional on unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso on curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie on serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional on hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno on turno.id_turno = turma.id_turno inner join modalidade on modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (...) left join serie_equivalente on serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = ? and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (...) and ano_semestre.ano = ? and aluno_matr_turma.id_tipo_enturmacao = ? and unidade_funcional.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 = ?) and turno.id_turno = ? and serie_equivalente.id_nivel_serie_equivalente = ? and modalidade.id_modalidade_base <> ? group by cidadao.id_raca_cor;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jul 07 11 28 49s490ms 1s767ms 12 18 15s156ms 842ms [ User: augeeducacional - Total duration: 1m4s - Times executed: 46 ]
[ Application: augeeducacional - principal - Total duration: 1m4s - Times executed: 46 ]
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '500' and serie_equivalente.id_nivel_serie_equivalente = '2' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:20 Duration: 2s639ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '448' and serie_equivalente.id_nivel_serie_equivalente = '2' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:18 Duration: 2s450ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and turno.id_turno = '500' and serie_equivalente.id_nivel_serie_equivalente = '1' and modalidade.id_modalidade_base <> '3' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:18 Duration: 2s437ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
17 514ms 2s264ms 1s348ms 32 43s153ms select count(*) as contagem from ( select ;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jul 07 08 23 31s383ms 1s364ms 09 2 4s170ms 2s85ms 10 2 1s375ms 687ms 13 3 5s124ms 1s708ms 14 1 529ms 529ms 16 1 570ms 570ms [ User: augeeducacional - Total duration: 43s153ms - Times executed: 32 ]
[ Application: augeeducacional - principal - Total duration: 43s153ms - Times executed: 32 ]
-
select count(*) as contagem from ( select ;
Date: 2026-07-07 08:24:40 Duration: 2s264ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select ;
Date: 2026-07-07 08:21:20 Duration: 2s173ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select ;
Date: 2026-07-07 09:38:01 Duration: 2s156ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
18 504ms 2s915ms 1s336ms 108 2m24s update apontamento_relatorio_geral_turma set data_realizacao = ?, id_turma = ?, id_serie = ?, ano = ?, id_nota_periodo_aluno = ?, id_disciplina = ?, id_mes = ? where id_apontamento_relatorio_geral_turma = ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jul 07 12 108 2m24s 1s336ms [ User: augeeducacional - Total duration: 2m24s - Times executed: 108 ]
[ Application: augeeducacional - principal - Total duration: 2m24s - Times executed: 108 ]
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:54.744', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s915ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:54.934', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s706ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
update apontamento_relatorio_geral_turma set data_realizacao = '2026-07-07 12:30:55.006', id_turma = '260000793', id_serie = '2627', ano = NULL, id_nota_periodo_aluno = '2', id_disciplina = NULL, id_mes = NULL where id_apontamento_relatorio_geral_turma = '47466';
Date: 2026-07-07 12:30:57 Duration: 2s513ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
19 646ms 1s943ms 1s42ms 60 1m2s select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then ? else ? end) as quilombo from cidadao inner join aluno on aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional on unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso on curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie on serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional on hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno on turno.id_turno = turma.id_turno inner join modalidade on modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (...) left join serie_equivalente on serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = ? and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (...) and ano_semestre.ano = ? and aluno_matr_turma.id_tipo_enturmacao = ? and unidade_funcional.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 = ?) and uf_mae.id_unidade_funcional = ? group by cidadao.id_raca_cor;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jul 07 11 20 31s537ms 1s576ms 12 40 31s38ms 775ms [ User: augeeducacional - Total duration: 1m2s - Times executed: 60 ]
[ Application: augeeducacional - principal - Total duration: 1m2s - Times executed: 60 ]
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607263' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:34 Duration: 1s943ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607261' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:36 Duration: 1s775ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select cidadao.id_raca_cor, count(cidadao.*) as total, sum( case when aluno.flg_remanescente_quilombo then 1 else 0 end) as quilombo from cidadao inner join aluno ON aluno.id_cidadao = cidadao.id_cidadao inner join aluno_observacoes_familia on aluno_observacoes_familia.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = aluno.id_cidadao inner join unidade_funcional ON unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join curso ON curso.id_curso = aluno_matricula.id_curso inner join aluno_matr_turma on aluno_matr_turma.id_aluno_matricula = aluno_matricula.id_aluno_matricula inner join serie ON serie.id_serie = aluno_matr_turma.id_serie_enturmacao inner join turma on turma.id_turma = aluno_matr_turma.id_turma inner join ano_semestre ON ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join hierarquia_unidade_funcional ON hierarquia_unidade_funcional.id_unidade_funcional_filha = unidade_funcional.id_unidade_funcional inner join assunto_hierarquia_unidade on assunto_hierarquia_unidade.id_assunto_hierarquia_unidade = hierarquia_unidade_funcional.id_assunto_hierarquia_unidade inner join unidade_funcional uf_mae on uf_mae.id_unidade_funcional = hierarquia_unidade_funcional.id_unidade_funcional_mae inner join turno ON turno.id_turno = turma.id_turno inner join modalidade ON modalidade.id_modalidade = curso.id_modalidade left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = unidade_funcional.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join serie_equivalente ON serie_equivalente.id_serie_equivalente = serie.id_serie_equivalente where cidadao.id_instituicao = '97' and aluno_matricula.flg_matricula_atual and aluno_matricula.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and aluno_matr_turma.id_tipo_enturmacao = '1' and unidade_funcional.id_unidade_funcional in ( select '607392' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607392' and id_assunto_hierarquia_unidade = NULL) and uf_mae.id_unidade_funcional = '607261' group by cidadao.id_raca_cor;
Date: 2026-07-07 11:12:41 Duration: 1s772ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
20 814ms 1s299ms 982ms 49 48s138ms select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, ?) as fnj1, coalesce(faltas_mes.fnj2, ?) as fnj2, coalesce(faltas_mes.fnj3, ?) as fnj3, coalesce(faltas_mes.fnj4, ?) as fnj4, coalesce(faltas_mes.fnj5, ?) as fnj5, coalesce(faltas_mes.fnj6, ?) as fnj6, coalesce(faltas_mes.fnj7, ?) as fnj7, coalesce(faltas_mes.fnj8, ?) as fnj8, coalesce(faltas_mes.fnj9, ?) as fnj9, coalesce(faltas_mes.fnj10, ?) as fnj10, coalesce(faltas_mes.fnj11, ?) as fnj11, coalesce(faltas_mes.fnj12, ?) as fnj12, coalesce(faltas_gloabl.fj, ?) as fj, coalesce(faltas_gloabl.fnj, ?) as fnj, (coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ? as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj1, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj2, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj3, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj4, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj5, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj6, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj7, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj8, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj9, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj10, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj11, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = ?), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ?)) as id_calendario) as calendario on ? = ? left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between ? and ? or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where turma.id_unidade_funcional = ? and am.id_aluno_matr_status in (...) and ano_semestre.ano = ? and am.id_curso = ? and serie.id_serie = ? and turma.id_turma = ? and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > ? and least ((coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ?, ?.?) between ? and ? union all select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, ?) as fnj1, coalesce(faltas_mes.fnj2, ?) as fnj2, coalesce(faltas_mes.fnj3, ?) as fnj3, coalesce(faltas_mes.fnj4, ?) as fnj4, coalesce(faltas_mes.fnj5, ?) as fnj5, coalesce(faltas_mes.fnj6, ?) as fnj6, coalesce(faltas_mes.fnj7, ?) as fnj7, coalesce(faltas_mes.fnj8, ?) as fnj8, coalesce(faltas_mes.fnj9, ?) as fnj9, coalesce(faltas_mes.fnj10, ?) as fnj10, coalesce(faltas_mes.fnj11, ?) as fnj11, coalesce(faltas_mes.fnj12, ?) as fnj12, coalesce(faltas_disc.fj, ?) as fj, coalesce(faltas_disc.fnj, ?) as fnj, (coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ? as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj1, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj2, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj3, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj4, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj5, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj6, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj7, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj8, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj9, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj10, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj11, sum( case when falta.mes = ? then falta.faltas else ? end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = ?), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ?)) as id_calendario) as calendario on ? = ? left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where turma.id_unidade_funcional = ? and am.id_aluno_matr_status in (...) and ano_semestre.ano = ? and am.id_curso = ? and serie.id_serie = ? and turma.id_turma = ? and serie.flg_apon_falta_globalizado is false and aulas.aulas > ? and least ((coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ?, ?.?) between ? and ? order by aluno limit ? offset ?;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jul 07 07 3 2s575ms 858ms 08 28 27s747ms 990ms 09 6 6s420ms 1s70ms 10 12 11s394ms 949ms [ User: augeeducacional - Total duration: 48s138ms - Times executed: 49 ]
[ Application: portal_betim - principal - Total duration: 48s138ms - Times executed: 49 ]
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '103' and turma.id_turma = '260002384' and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' union all select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '103' and turma.id_turma = '260002384' and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' order by aluno limit 10 offset 10;
Date: 2026-07-07 08:32:59 Duration: 1s299ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '104' and turma.id_turma = '260002380' and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' union all select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '104' and turma.id_turma = '260002380' and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' order by aluno limit 10 offset 20;
Date: 2026-07-07 08:07:17 Duration: 1s265ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
-
select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_gloabl.fj, 0) as fj, coalesce(faltas_gloabl.fnj, 0) as fnj, (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_globalizada falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_gloabl on faltas_gloabl.id_aluno_matricula = am.id_aluno_matricula and faltas_gloabl.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_globalizada_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) and falta.flg_justificada is false group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as dias_letivos from calendario_periodo_data as cpd left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and calendario_data.id_motivo_dia_nao_letivo is null and (extract(dow from cpd.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null)) as dias_letivos on serie.flg_apon_falta_globalizado is true where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '102' and turma.id_turma = '260002388' and serie.flg_apon_falta_globalizado is true and dias_letivos.dias_letivos > 0 and least ((coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100, 100.0) between '0' and '100' union all select am.id_aluno_matricula, aluno.codigo as matricula, cidadao.denominacao as aluno, turma.codigo as turma, curso.sigla as curso, serie.sigla as serie, coalesce(faltas_mes.fnj1, 0) as fnj1, coalesce(faltas_mes.fnj2, 0) as fnj2, coalesce(faltas_mes.fnj3, 0) as fnj3, coalesce(faltas_mes.fnj4, 0) as fnj4, coalesce(faltas_mes.fnj5, 0) as fnj5, coalesce(faltas_mes.fnj6, 0) as fnj6, coalesce(faltas_mes.fnj7, 0) as fnj7, coalesce(faltas_mes.fnj8, 0) as fnj8, coalesce(faltas_mes.fnj9, 0) as fnj9, coalesce(faltas_mes.fnj10, 0) as fnj10, coalesce(faltas_mes.fnj11, 0) as fnj11, coalesce(faltas_mes.fnj12, 0) as fnj12, coalesce(faltas_disc.fj, 0) as fj, coalesce(faltas_disc.fnj, 0) as fnj, (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 as perc_fnj, sp_percentual_frequencia (amt.id_aluno_matricula, amt.id_turma) as perc_frequencia_periodo_letivo from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join aluno_matr_turma amt on turma.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre inner join aluno_matricula am on am.id_aluno_matricula = amt.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 serie.id_serie = ts.id_serie inner join serie serie_aluno on serie_aluno.id_serie = am.id_serie inner join curso on curso.id_curso = serie_aluno.id_curso left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum(falta.falta_justificada) as fj, sum(falta.falta_nao_justificada) as fnj from falta_aluno_disciplina falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma) as faltas_disc on faltas_disc.id_aluno_matricula = am.id_aluno_matricula and faltas_disc.id_turma = turma.id_turma left join lateral ( select falta.id_aluno_matricula, falta.id_turma, sum( case when falta.mes = 1 then falta.faltas else 0 end) as fnj1, sum( case when falta.mes = 2 then falta.faltas else 0 end) as fnj2, sum( case when falta.mes = 3 then falta.faltas else 0 end) as fnj3, sum( case when falta.mes = 4 then falta.faltas else 0 end) as fnj4, sum( case when falta.mes = 5 then falta.faltas else 0 end) as fnj5, sum( case when falta.mes = 6 then falta.faltas else 0 end) as fnj6, sum( case when falta.mes = 7 then falta.faltas else 0 end) as fnj7, sum( case when falta.mes = 8 then falta.faltas else 0 end) as fnj8, sum( case when falta.mes = 9 then falta.faltas else 0 end) as fnj9, sum( case when falta.mes = 10 then falta.faltas else 0 end) as fnj10, sum( case when falta.mes = 11 then falta.faltas else 0 end) as fnj11, sum( case when falta.mes = 12 then falta.faltas else 0 end) as fnj12 from ( select falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data) as mes, count(*) as faltas from falta_aluno_disciplina_diario falta where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = turma.id_turma and falta.flg_justificada is false and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = falta.id_aluno_matricula and dispensa.id_turma = falta.id_turma and dispensa.id_disciplina = falta.id_disciplina and (dispensa.flg_dispensado_todos_periodos or dispensa.periodos @> array[falta.id_nota_periodo_aluno])) and 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 = falta.id_aluno_matricula and mdp.periodos @> ARRAY[falta.id_nota_periodo_aluno]) group by falta.id_aluno_matricula, falta.id_turma, extract(month from falta.data)) as falta group by falta.id_aluno_matricula, falta.id_turma) as faltas_mes on faltas_mes.id_aluno_matricula = am.id_aluno_matricula and faltas_mes.id_turma = turma.id_turma inner join lateral ( select coalesce(( select id_calendario from curso_calendario where id_curso = turma.id_curso and id_unidade_funcional = turma.id_unidade_funcional and ano = '2026'), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = '2026')) as id_calendario) as calendario on 1 = 1 left join lateral ( select cast(count(cpd.data) as integer) as aulas from quadro_horario_homologado qh inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join dia_semana on dia_semana.dia_semana = qh.dia_semana inner join calendario_periodo_data as cpd on cpd.id_calendario = calendario.id_calendario and dia_semana.dia_semana_postgresql = extract(dow from cpd.data) left join calendario_data on calendario_data.id_calendario = cpd.id_calendario and calendario_data.data = cpd.data inner join turma_periodo tp on tp.id_turma = turma.id_turma and cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim where cpd.id_calendario = calendario.id_calendario and cpd.data <= current_date and qh.id_turma = turma.id_turma and qh.id_serie = amt.id_serie_enturmacao and cc.flg_aponta_faltas is true and calendario_data.id_motivo_dia_nao_letivo is null and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= cpd.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= cpd.data) and not exists ( select null from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = amt.id_aluno_matricula and amdd.id_turma = turma.id_turma and amdd.id_disciplina = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[tp.id_nota_periodo_aluno]))) as aulas on serie.flg_apon_falta_globalizado is false where turma.id_unidade_funcional = '342' and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = '2026' and am.id_curso = '40' and serie.id_serie = '102' and turma.id_turma = '260002388' and serie.flg_apon_falta_globalizado is false and aulas.aulas > 0 and least ((coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100, 100.0) between '0' and '100' order by aluno limit 10 offset 20;
Date: 2026-07-07 09:12:18 Duration: 1s218ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 713ms 1 713ms 713ms 713ms 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 = $1) and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = $2)) 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia,'') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = $3 and am.id_aluno_matricula in (select id_aluno_matricula from ultima_matricula) and asem.ano = $4 and uf.id_unidade_funcional in ( select $5 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $6 and id_assunto_hierarquia_unidade = $7 ) order by uf.codigo , uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;Times Reported Time consuming bind #1
Day Hour Count Duration Avg duration Jul 07 11 1 713ms 713ms [ User: augeeducacional - Total duration: 21s977ms - Times executed: 1 ]
[ Application: augeeducacional - fila - Total duration: 21s977ms - Times executed: 1 ]
-
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 = $1) and id_unidade_funcional in ( select id_unidade_funcional from unidade_funcional where id_instituicao = $2)) 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, case when cid.flg_laudo_medico_necessidade_esp then 'Sim' else 'Não' end as possui_laudo_medico, 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 cidadao_saude.flg_disturbio then 'Sim' else 'Não' end as possui_laudo_medico, ( select string_agg(disturbio.descricao, ', ' order by descricao) from disturbio inner join cidadao_disturbio ON cidadao_disturbio.id_disturbio = disturbio.id_disturbio where cidadao_disturbio.id_cidadao = cid.id_cidadao) as disturbios, 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.profissao_mae, '') as profissao_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(cid.profissao_pai, '') as profissao_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(loteamento.descricao, '') as loteamento, 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(cid.numero_conta_energia,'') as numero_conta_energia, ce.latitude as latitude, ce.longitude as longitude, 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, case when a.flg_remanescente_quilombo then 'Sim' else 'Não' end as remanescente_quilombo, case when a.flg_pertence_povo_cigano then 'Sim' else 'Não' end as pertence_povo_cigano from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left 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_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 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 left join cidadao_saude ON cidadao_saude.id_cidadao = cid.id_cidadao 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 loteamento on loteamento.id_loteamento = ce.id_loteamento 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 coalesce(t.id_unidade_funcional, 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 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 = $3 and am.id_aluno_matricula in (select id_aluno_matricula from ultima_matricula) and asem.ano = $4 and uf.id_unidade_funcional in ( select $5 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $6 and id_assunto_hierarquia_unidade = $7 ) order by uf.codigo , uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-07 11:41:54 Duration: 713ms Database: postgres User: augeeducacional Remote: augeeducacional Application: 127.0.0.1 Queryid: augeeducacional - fila parameters: $1 = '2026', $2 = '98', $3 = '98', $4 = '2026', $5 = '607080', $6 = '607080', $7 = '81'
-
Events
Log levels
Key values
- 32,459 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 0 FATAL entries
- 141 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 103 Max number of times the same event was reported
- 141 Total events found
Rank Times reported Error 1 103 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count Jul 07 08 18 09 8 10 8 11 5 12 13 13 27 14 2 15 18 16 2 17 2 - ERROR: duplicate key value violates unique constraint "iu_reuniao_familiar_tipo"
- ERROR: duplicate key value violates unique constraint "iu_reuniao_familiar_tipo"
- ERROR: duplicate key value violates unique constraint "iu_reuniao_familiar_tipo"
Detail: Key (id_unidade_funcional, ano, id_nota_periodo_aluno, id_periodicidade_apontamento)=(429, 2026, 2, 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: 2026-07-07 08:00:02 Database: portal_betim Application: portal_betim - principal User: augeeducacional Remote: 127.0.0.1
Detail: Key (id_unidade_funcional, ano, id_nota_periodo_aluno, id_periodicidade_apontamento)=(429, 2026, 2, 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: 2026-07-07 08:00:05 Database: portal_betim Application: portal_betim - principal User: augeeducacional Remote: 127.0.0.1
Detail: Key (id_unidade_funcional, ano, id_nota_periodo_aluno, id_periodicidade_apontamento)=(429, 2026, 2, 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: 2026-07-07 08:00:22 Database: portal_betim Application: portal_betim - principal User: augeeducacional Remote: 127.0.0.1
2 31 ERROR: canceling statement due to statement timeout
Times Reported Most Frequent Error / Event #2
Day Hour Count Jul 07 08 3 10 3 12 1 14 3 17 3 18 16 19 2 - ERROR: canceling statement due to statement timeout
- ERROR: canceling statement due to statement timeout
- ERROR: canceling statement due to statement timeout
Statement: select count(*) as contagem from (select
Date: 2026-07-07 08:52:00 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
Statement: select count(*) as contagem from (select
Date: 2026-07-07 08:52:04 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
Statement: select count(*) as contagem from (select
Date: 2026-07-07 08:52:17 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
3 3 ERROR: value too long for type character varying(...)
Times Reported Most Frequent Error / Event #3
Day Hour Count Jul 07 10 3 - ERROR: value too long for type character varying(250)
- ERROR: value too long for type character varying(250)
- ERROR: value too long for type character varying(250)
Statement: insert into apontamento_reporte_conduta (id_turma, id_tipo_reporte_conduta, data, id_nota_periodo_aluno, id_aluno_matricula, consideracoes) values ($1, $2, $3, $4, $5, $6)
Date: 2026-07-07 10:15:30 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
Statement: insert into apontamento_reporte_conduta (id_turma, id_tipo_reporte_conduta, data, id_nota_periodo_aluno, id_aluno_matricula, consideracoes) values ($1, $2, $3, $4, $5, $6)
Date: 2026-07-07 10:16:20 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
Statement: insert into apontamento_reporte_conduta (id_turma, id_tipo_reporte_conduta, data, id_nota_periodo_aluno, id_aluno_matricula, consideracoes) values ($1, $2, $3, $4, $5, $6)
Date: 2026-07-07 10:16:38 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
4 2 ERROR: update or delete on table "..." violates foreign key constraint "..." on table "..."
Times Reported Most Frequent Error / Event #4
Day Hour Count Jul 07 10 1 19 1 - ERROR: update or delete on table "ambiente" violates foreign key constraint "fk_ambiente" on table "bem_patrimonial"
- ERROR: update or delete on table "unidade_funcional" violates foreign key constraint "fk_unidade_referencia" on table "ambiente"
Detail: Key (id_ambiente)=(34242) is still referenced from table "bem_patrimonial".
Statement: delete from ambiente where id_ambiente = $1Date: 2026-07-07 10:59:24 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
Detail: Key (id_unidade_funcional)=(607971) is still referenced from table "ambiente".
Statement: delete from unidade_funcional where id_unidade_funcional = $1Date: 2026-07-07 19:56:23 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
5 1 ERROR: null value in column "..." of relation "..." violates not-null constraint
Times Reported Most Frequent Error / Event #5
Day Hour Count Jul 07 09 1 - ERROR: null value in column "id_cidadao" of relation "aluno_atestado" violates not-null constraint
Detail: Failing row contains (483020, null, 2026-07-07, 2026-07-07, 171, , t, 2026-07-07 09:56:01.240493, 2026-07-07 09:56:01.240493, f).
Statement: insert into aluno_atestado (data_inicio, id_motivo_falta_justificada, data_fim, observacao, flg_atividade_compensatoria) values ($1, $2, $3, $4, $5)Date: 2026-07-07 09:56:01 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
6 1 ERROR: invalid input syntax for type bigint: ...
Times Reported Most Frequent Error / Event #6
Day Hour Count Jul 07 10 1 - ERROR: invalid input syntax for type bigint: ""
Statement: Select distinct svr.registro_funcional as rf_cl, cid.nome as nome_professor, cg.sigla || ' - ' || sit.descricao as cargo, jtTipo.sigla || ' (' || jtTipo.carga_horaria || ')' as opcao_jornada, jtopServ.horas_atribuidas, null as Aulas_JEP, apont.coluna1 + apont.coluna2 as pontuacao, case when scb.id_servidor_cargo_base isNull = false then 'Cargo Base' end as tipo_cargo, scb.id_servidor_cargo_base as id_servidor, pucb.ano, scb.matricula_cargo as matricula_cargo, svr.registro_funcional_numerico as rf_order, cast(regexp_replace(scb.matricula_cargo , '[^0-9]', '', 'g') as bigint) as matricula_cargo_order, d.sigla as sigla_componente, d.descricao as descricao_componente, cg.sigla as sigla_cargos, cg.descricao as descricao_cargo, sit.descricao as situacao_funcional, t.descricao as turno From servidor_cargo_base scb inner join servidor svr using(id_cidadao) inner join professor_unidade_cargo_base pucb on pucb.id_servidor_cargo_base = scb.id_servidor_cargo_base left join lotacao lot on (lot.id_servidor_cargo_base = scb.id_servidor_cargo_base and lot.flg_aberto is true) inner join cidadao cid on (cid.id_cidadao = scb.id_cidadao) inner join cargo cg on (cg.id_cargo = scb.id_cargo) inner join situacao_funcional sit on (scb.id_situacao_funcional = sit.id_situacao_funcional) inner join jorn_trabalho_opcao_car_base jtoBase on (scb.id_servidor_cargo_base = jtoBase.id_servidor_cargo_base) inner join jorn_trabalho_opcao_serv jtopServ on (jtopServ.id_jorn_trabalho_opcao_serv = jtoBase.id_jorn_trabalho_opcao_serv) inner join jornada_trabalho_tipo jtTipo on (jtTipo.id_jornada_trabalho_tipo = jtopServ.id_jornada_trabalho_tipo) left join atrib_pontuacao_serv apont on (apont.id_cidadao = scb.id_cidadao) left join disciplina d on d.id_disciplina = scb.id_disciplina left join turno t on t.id_turno = scb.id_turno Where scb.flg_aberto is true and jtopServ.ano = $1 and pucb.ano = $2 and pucb.id_unidade_funcional = $3 Union Select distinct svr.registro_funcional as rf_cl, cid.nome as nome_professor, cg.descricao || ' - Sobreposto' as cargo, jtTipo.sigla || ' (' || jtTipo.carga_horaria || ')' as opcao_jornada, jtopServ.horas_atribuidas, null as Aulas_JEP, apont.coluna1 + apont.coluna2 as pontuacao, case when scs.id_servidor_cargo_sobr_alt isNull = false then 'Cargo Sobreposto' end as tipo_cargo, scs.id_servidor_cargo_sobr_alt as id_servidor, pucs.ano, null as matricula_cargo, svr.registro_funcional_numerico as rf_order, cast(regexp_replace(null , '[^0-9]', '', 'g') as integer) as matricula_cargo_order, d.sigla as sigla_componente, d.descricao as descricao_componente, cg.sigla as sigla_cargos, cg.descricao as descricao_cargo, 'Sobreposto' as situacao_funcional, t.descricao as turno From servidor_cargo_sobr_alt scs inner join servidor svr using (id_cidadao) inner join professor_unidade_cargo_sobr pucs on pucs.id_servidor_cargo_sobr_alt = scs.id_servidor_cargo_sobr_alt inner join servidor_cargo_base scb using (id_servidor_cargo_base) inner join cidadao cid on (cid.id_cidadao = scs.id_cidadao) inner join cargo cg on (cg.id_cargo = scs.id_cargo) inner join jorn_trabalho_opcao_car_sobr jtSobr on(scs.id_servidor_cargo_sobr_alt = jtSobr.id_servidor_cargo_sobr_alt) inner join jorn_trabalho_opcao_serv jtopServ on (jtopServ.id_jorn_trabalho_opcao_serv = jtSobr.id_jorn_trabalho_opcao_serv) inner join jornada_trabalho_tipo jtTipo on (jtTipo.id_jornada_trabalho_tipo = jtopServ.id_jornada_trabalho_tipo) left join atrib_pontuacao_serv apont on (apont.id_cidadao = scs.id_cidadao) left join disciplina d on d.id_disciplina = scb.id_disciplina left join turno t on t.id_turno = scb.id_turno Where scs.flg_aberto is true and jtopServ.ano = $4 and pucs.ano = $5 and pucs.id_unidade_funcional = $6 ORDER BY rf_order, cargo
Date: 2026-07-07 10:21:57 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1