-
Global information
- Generated on Mon Jul 6 16:55:33 2026
- Log file: postgresql-13-main-20260706.log
- Parsed 147,808 log entries in 27s
- Log start from 2026-07-06 00:01:00 to 2026-07-06 16:52:58
-
Overview
Global Stats
- 344 Number of unique normalized queries
- 5,821 Number of queries
- 8h40m7s Total query duration
- 2026-07-06 00:01:02 First query
- 2026-07-06 16:52:58 Last query
- 3 queries/s at 2026-07-06 08:37:23 Query peak
- 8h40m7s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 8h40m7s Execute total duration
- 75 Number of events
- 4 Number of unique normalized events
- 41 Max number of times the same event was reported
- 0 Number of cancellation
- 1,013 Total number of automatic vacuums
- 798 Total number of automatic analyzes
- 2,603 Number temporary file
- 1.00 GiB Max size of temporary file
- 22.71 MiB Average size of temporary file
- 1,791 Total number of sessions
- 66 sessions at 2026-07-06 12:26:25 Session peak
- 34d9h22m55s Total duration of sessions
- 27m39s Average duration of sessions
- 3 Average queries per session
- 17s424ms Average queries duration per session
- 27m21s Average idle time per session
- 1,806 Total number of connections
- 7 connections/s at 2026-07-06 12:25:56 Connection peak
- 4 Total number of databases
SQL Traffic
Key values
- 3 queries/s Query Peak
- 2026-07-06 08:37:23 Date
SELECT Traffic
Key values
- 3 queries/s Query Peak
- 2026-07-06 08:37:23 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 2 queries/s Query Peak
- 2026-07-06 01:07:25 Date
Queries duration
Key values
- 8h40m7s 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 06 00 144 0ms 10m14s 21s478ms 2m21s 6m7s 10m21s 01 49 0ms 1h48m50s 2m50s 1m21s 5m29s 1h48m50s 02 16 0ms 2m33s 18s806ms 1s140ms 1m5s 2m35s 03 2 0ms 818ms 807ms 0ms 0ms 818ms 04 5 0ms 1s246ms 814ms 0ms 573ms 1s970ms 05 11 0ms 1s931ms 830ms 669ms 955ms 2s506ms 06 27 0ms 12s243ms 2s655ms 4s854ms 9s729ms 21s724ms 07 328 0ms 24s84ms 3s186ms 53s257ms 1m3s 1m23s 08 696 0ms 26s58ms 2s647ms 1m12s 1m18s 1m46s 09 706 500ms 25s698ms 2s750ms 1m6s 1m9s 1m14s 10 683 500ms 1m18s 2s926ms 1m14s 1m29s 1m48s 11 596 500ms 4m6s 3s424ms 1m37s 2m 5m8s 12 275 0ms 1m 4s437ms 51s562ms 1m2s 1m33s 13 631 0ms 3m33s 3s219ms 1m10s 1m17s 4m32s 14 671 500ms 5m54s 4s75ms 1m18s 1m30s 7m25s 15 611 0ms 2m48s 3s397ms 1m20s 1m32s 2m58s 16 370 0ms 5m8s 6s641ms 1m24s 4m53s 5m17s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jul 06 00 54 0 2s386ms 1s65ms 12s642ms 18s865ms 01 7 0 5s960ms 0ms 0ms 5s761ms 02 11 0 1s206ms 0ms 736ms 2s407ms 03 2 0 807ms 0ms 0ms 796ms 04 5 0 814ms 0ms 0ms 1s3ms 05 11 0 830ms 0ms 669ms 1s52ms 06 27 0 2s655ms 933ms 4s854ms 12s243ms 07 326 0 3s129ms 34s271ms 53s257ms 1m1s 08 682 0 2s584ms 55s401ms 1m12s 1m22s 09 688 0 2s510ms 47s897ms 56s873ms 1m9s 10 649 0 2s528ms 47s924ms 52s513ms 1m19s 11 560 0 3s7ms 36s251ms 1m1s 2m 12 267 0 4s147ms 35s255ms 51s562ms 1m4s 13 619 0 2s494ms 47s679ms 59s665ms 1m14s 14 663 0 4s44ms 1m5s 1m16s 1m33s 15 591 0 2s902ms 53s593ms 1m1s 1m32s 16 348 0 3s287ms 38s100ms 58s908ms 1m24s Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jul 06 00 70 13 1 0 34s991ms 10s551ms 58s666ms 6m7s 01 31 4 1 0 3m46s 0ms 2s90ms 5m28s 02 5 0 0 0 57s527ms 0ms 0ms 1m5s 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 2 0 1s919ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 6 3 2 0 2s552ms 0ms 0ms 5s718ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 3 1 0 0 2s179ms 0ms 0ms 0ms 15 6 2 0 0 2s30ms 0ms 0ms 3s245ms 16 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Jul 06 00 0 144 144.00 0.00% 01 0 49 49.00 0.00% 02 0 16 16.00 0.00% 03 0 2 2.00 0.00% 04 0 5 5.00 0.00% 05 0 11 11.00 0.00% 06 0 27 27.00 0.00% 07 0 328 328.00 0.00% 08 0 696 696.00 0.00% 09 0 706 706.00 0.00% 10 0 683 683.00 0.00% 11 0 594 594.00 0.00% 12 0 275 275.00 0.00% 13 0 631 631.00 0.00% 14 0 671 671.00 0.00% 15 0 611 611.00 0.00% 16 0 370 370.00 0.00% Day Hour Count Average / Second Jul 06 00 91 0.03/s 01 82 0.02/s 02 78 0.02/s 03 82 0.02/s 04 80 0.02/s 05 84 0.02/s 06 90 0.03/s 07 111 0.03/s 08 120 0.03/s 09 121 0.03/s 10 130 0.04/s 11 119 0.03/s 12 126 0.04/s 13 123 0.03/s 14 129 0.04/s 15 133 0.04/s 16 107 0.03/s Day Hour Count Average Duration Average idle time Jul 06 00 91 28m31s 27m57s 01 82 28m57s 27m16s 02 82 30m4s 30m 03 78 29m4s 29m4s 04 83 28m57s 28m57s 05 81 28m26s 28m26s 06 84 28m43s 28m42s 07 106 27m51s 27m41s 08 118 27m16s 27m 09 121 28m4s 27m48s 10 119 26m56s 26m39s 11 133 26m6s 25m50s 12 126 28m46s 28m36s 13 117 27m 26m42s 14 128 26m47s 26m26s 15 136 25m41s 25m26s 16 106 25m53s 25m30s -
Connections
Established Connections
Key values
- 7 connections Connection Peak
- 2026-07-06 12:25:56 Date
Connections per database
Key values
- augeeducacional Main Database
- 1,806 connections Total
Connections per user
Key values
- augeeducacional Main User
- 1,806 connections Total
-
Sessions
Simultaneous sessions
Key values
- 66 sessions Session Peak
- 2026-07-06 12:26:25 Date
Histogram of session times
Key values
- 1,752 600000-1800000ms duration
Sessions per database
Key values
- augeeducacional Main Database
- 1,791 sessions Total
Sessions per user
Key values
- augeeducacional Main User
- 1,791 sessions Total
Sessions per host
Key values
- 127.0.0.1 Main Host
- 1,791 sessions Total
Sessions per application
Key values
- augeeducacional - fila Main Application
- 1,791 sessions Total
Application Count Total Duration Average Duration PostgreSQL JDBC Driver 2 2h16m30s 1h8m15s augeeducacional - fila 319 5d12h12m2s 24m51s augeeducacional - principal 294 5d23h50m42s 29m21s portal_betim - fila 274 4d22h22m48s 25m55s portal_betim - principal 140 2d16h40m6s 27m42s portal_demo1 - fila 138 2d20h8m9s 29m37s portal_demo1 - principal 34 16h45m20s 29m34s portal_imm - fila 69 1d10h5m9s 29m38s portal_imm - principal 126 2d8h5m22s 26m42s prematricula-betim - principal 36 17h9m5s 28m35s prematricula-cabralia - principal 35 17h15m54s 29m35s prematricula-caruaru - principal 37 17h54m31s 29m2s prematricula-demo1 - principal 34 16h46m28s 29m36s prematricula-duque - principal 39 18h9m58s 27m56s prematricula-esmeraldas - principal 34 16h49m19s 29m41s prematricula-ibirite - principal 34 16h46m29s 29m36s prematricula-ipojuca - principal 34 16h47m21s 29m37s prematricula-nova-iguacu - principal 36 17h17m4s 28m48s prematricula-olinda - principal 34 16h46m31s 29m36s processoseletivo - principal 36 17h7m23s 28m32s psql 6 6m34s 1m5s -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 804,147 buffers Checkpoint Peak
- 2026-07-06 02:04:12 Date
- 270.041 seconds Highest write time
- 1.275 seconds Sync time
Checkpoints Wal files
Key values
- 270 files Wal files usage Peak
- 2026-07-06 01:59:12 Date
Checkpoints distance
Key values
- 8,626.85 Mo Distance Peak
- 2026-07-06 01:59:12 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Jul 06 00 930,261 3,018.58s 1.812s 3,022.669s 01 478,132 2,395.365s 0.375s 2,396.957s 02 820,627 1,146.068s 0.323s 1,146.799s 03 7,417 743.558s 0.285s 744.029s 04 7,584 760.071s 0.227s 760.455s 05 19,287 1,517.712s 0.304s 1,518.211s 06 37,243 2,948.914s 0.516s 2,949.717s 07 202,227 3,237.966s 1.108s 3,239.724s 08 432,974 3,236.562s 2.136s 3,239.82s 09 443,653 3,237.201s 1.68s 3,239.56s 10 444,265 3,237.333s 1.677s 3,239.629s 11 354,935 3,237.41s 1.567s 3,239.59s 12 239,076 3,238.169s 1.092s 3,239.686s 13 411,609 3,237.682s 1.493s 3,239.757s 14 404,364 3,236.935s 1.948s 3,239.621s 15 367,476 3,237.282s 1.727s 3,239.651s 16 324,621 2,697.516s 1.529s 2,699.663s Day Hour Added Removed Recycled Synced files Longest sync Average sync Jul 06 00 0 82 465 5,398 1.227s 0.014s 01 0 86 270 4,011 0.006s 0.012s 02 0 2 100 3,350 0.005s 0.012s 03 0 3 0 3,065 0.005s 0.012s 04 0 3 0 3,278 0.004s 0.012s 05 0 7 0 3,599 0.004s 0.012s 06 0 16 0 4,714 0.005s 0.012s 07 0 85 0 9,696 0.009s 0.012s 08 0 123 65 13,836 0.008s 0.012s 09 0 0 192 15,003 0.011s 0.012s 10 0 0 181 15,094 0.006s 0.012s 11 0 0 151 13,446 0.008s 0.012s 12 0 0 93 11,129 0.005s 0.012s 13 0 0 168 13,486 0.006s 0.012s 14 0 0 166 14,472 0.008s 0.012s 15 0 0 148 13,755 0.008s 0.012s 16 0 0 126 10,972 0.007s 0.01s Day Hour Count Avg time (sec) Jul 06 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 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 Day Hour Mean distance Mean estimate Jul 06 00 747,187.17 kB 2,718,641.33 kB 01 485,113.08 kB 1,333,964.25 kB 02 139,872.17 kB 2,476,319.67 kB 03 4,273.75 kB 702,567.25 kB 04 4,352.25 kB 201,249.67 kB 05 8,919.58 kB 62,266.08 kB 06 21,702.33 kB 30,980.25 kB 07 116,061.50 kB 121,545.33 kB 08 257,575.00 kB 274,547.00 kB 09 261,050.58 kB 318,231.08 kB 10 248,093.50 kB 272,368.33 kB 11 206,227.83 kB 294,599.50 kB 12 127,039.92 kB 211,895.17 kB 13 228,796.17 kB 256,940.58 kB 14 226,057.00 kB 257,866.83 kB 15 202,321.17 kB 236,939.83 kB 16 206,256.80 kB 253,672.00 kB -
Temporary Files
Size of temporary files
Key values
- 7.17 GiB Temp Files size Peak
- 2026-07-06 01:54:14 Date
Number of temporary files
Key values
- 44 per second Temp Files Peak
- 2026-07-06 02:03:41 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Jul 06 00 740 17.39 GiB 24.06 MiB 01 320 17.71 GiB 56.68 MiB 02 182 4.74 GiB 26.68 MiB 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 1 177.36 MiB 177.36 MiB 08 31 1.59 GiB 52.39 MiB 09 29 831.03 MiB 28.66 MiB 10 90 2.06 GiB 23.41 MiB 11 250 3.21 GiB 13.14 MiB 12 41 657.70 MiB 16.04 MiB 13 341 2.56 GiB 7.70 MiB 14 346 2.69 GiB 7.95 MiB 15 157 2.48 GiB 16.20 MiB 16 75 1.68 GiB 22.87 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 549 15.18 GiB 436.53 KiB 1.00 GiB 28.31 MiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), ?)::integer as aulas, coalesce(count(falta.id_aluno_matricula), ?)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, ?) as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (...) and am.id_aluno_matr_status in (...) and (am.id_aluno_matr_status = ? or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= current_date) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:54:14 Duration: 1h48m50s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 00:13:35 Duration: 10m14s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 00:05:06 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
2 259 5.03 GiB 4.03 MiB 1.00 GiB 19.90 MiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, ? as aulas, case when falta.id_aluno_matricula is null then ? else ? end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, ?) as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (...) and am.id_aluno_matr_status in (...) and (am.id_aluno_matr_status = ? or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= current_date) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between ? and ? or calendario_data.id_motivo_dia_letivo_extra is not null);-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:05:24 Duration: 4m24s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:03:20 Duration: 2m20s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:01:49 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
3 150 8.44 GiB 2.94 MiB 411.29 MiB 57.63 MiB select ;-
select ;
Date: 2026-07-06 13:37:29 Duration: 4s40ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select ;
Date: 2026-07-06 13:39:45 Duration: 3s737ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select ;
Date: 2026-07-06 09:14:37 Duration: 2s793ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
4 140 2.74 GiB 4.75 MiB 30.59 MiB 20.01 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 = '97')) 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 = '97' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '607059' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607059' and id_assunto_hierarquia_unidade = '80') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 10:58:01 Duration: 36s868ms 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 = '97')) 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 = '97' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '607315' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607315' and id_assunto_hierarquia_unidade = '80') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 15:06:17 Duration: 26s199ms 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 = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, 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 = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '339' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '339' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 08:19:50 Duration: 25s540ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
5 129 877.42 MiB 102.52 KiB 122.62 MiB 6.80 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, ? as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, ?)) as faltas, case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else arredondar_frequencia_aluno (? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part(?, aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part(?, aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else arredondar_frequencia_aluno (? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, '3' as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '3' where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;
Date: 2026-07-06 02:03:50 Duration: 27s63ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, '3' as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '3' where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;
Date: 2026-07-06 00:14:40 Duration: 5s976ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;
Date: 2026-07-06 00:14:40 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
6 71 1.71 GiB 16.20 MiB 65.78 MiB 24.64 MiB with ultima_matricula as ( ;-
with ultima_matricula as ( ;
Date: 2026-07-06 08:44:38 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
7 54 640.67 MiB 8.44 MiB 20.32 MiB 11.86 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 = '607197' 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-06 07:27:36 Duration: 21s725ms 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 = '606694' 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-06 14:15:03 Duration: 4s958ms 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 = '607199' 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-06 13:03:28 Duration: 4s527ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
8 37 2.36 GiB 8.22 MiB 605.02 MiB 65.41 MiB insert into gestao_programa.acompanhamento_turma_serie (id_turma, id_serie, id_nota_periodo_aluno, matricula_inicial, matricula_suplementar, transferido, desistente, falecido, nao_alfabetizado, correcao_fluxo, aprovado, reprovado_frequencia, reprovado_desempenho) select turma.id_turma, serie.id_serie, calendario_periodo.ordem as id_nota_periodo_aluno, sum( case when am.flg_matricula_inicial is true then ? else ? end) as matricula_inicial, sum( case when am.flg_matricula_inicial is false and (periodo_seguinte.ordem is null or am.data_matricula < periodo_seguinte.data_inicio) then ? else ? end) as matricula_suplementar, sum( case when am.id_aluno_matr_status = ? and (periodo_seguinte.ordem is null or historico_transf.data_ocorrencia < periodo_seguinte.data_inicio) then ? else ? end) as transferido, sum( case when am.id_aluno_matr_status = ? and (periodo_seguinte.ordem is null or historico_desist.data_ocorrencia < periodo_seguinte.data_inicio) then ? else ? end) as desistente, sum( case when am.id_aluno_matr_status = ? and (periodo_seguinte.ordem is null or historico_falec.data_ocorrencia < periodo_seguinte.data_inicio) then ? else ? end) as falecido, sum( case when am.id_aluno_matr_status in (...) and am.flg_alfabetizado is false and pc.flg_alfabetizado is not true then ? else ? end) as nao_alfabetizado, sum( case when am.id_aluno_matr_status in (...) and (cast(date_part(?, age(cast(ano.ano || ? as timestamp), cidadao.nascimento_data)) as int4) >= serie.idade_distorcao or (am.flg_alfabetizado is false and serie_equiv.ordem > ?)) then ? else ? end) as correcao_fluxo, sum( case when am.id_aluno_matr_status in (...) and pct.flg_aprovacao is true then ? else ? end) as aprovado, sum( case when am.id_aluno_matr_status in (...) and pct.id_parecer_conclusivo_tipo = ? then ? else ? end) as reprovado_frequencia, sum( case when am.id_aluno_matr_status in (...) and pct.id_parecer_conclusivo_tipo = ? then ? else ? end) as reprovado_desempenho from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join calendario_periodo periodo_seguinte on periodo_seguinte.id_calendario = calendario_periodo.id_calendario and periodo_seguinte.ordem = calendario_periodo.ordem + ? left join serie_equivalente serie_equiv on serie_equiv.id_serie_equivalente = serie.id_serie_equivalente left join aluno_matr_turma amt on amt.id_turma = turma.id_turma left join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula and (serie.flg_correcao_fluxo is true or serie.id_serie = am.id_serie) left join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_status_hist historico_transf on historico_transf.id_aluno_matricula = am.id_aluno_matricula and historico_transf.id_aluno_matr_status = ? left join aluno_matr_status_hist historico_desist on historico_desist.id_aluno_matricula = am.id_aluno_matricula and historico_desist.id_aluno_matr_status = ? left join aluno_matr_status_hist historico_falec on historico_falec.id_aluno_matricula = am.id_aluno_matricula and historico_falec.id_aluno_matr_status = ? left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo where turma.id_turma_status in (...) group by turma.id_turma, serie.id_serie, calendario_periodo.ordem;-
insert into gestao_programa.acompanhamento_turma_serie (id_turma, id_serie, id_nota_periodo_aluno, matricula_inicial, matricula_suplementar, transferido, desistente, falecido, nao_alfabetizado, correcao_fluxo, aprovado, reprovado_frequencia, reprovado_desempenho) select turma.id_turma, serie.id_serie, calendario_periodo.ordem as id_nota_periodo_aluno, sum( case when am.flg_matricula_inicial is true then 1 else 0 end) as matricula_inicial, sum( case when am.flg_matricula_inicial is false and (periodo_seguinte.ordem is null or am.data_matricula < periodo_seguinte.data_inicio) then 1 else 0 end) as matricula_suplementar, sum( case when am.id_aluno_matr_status = 6 and (periodo_seguinte.ordem is null or historico_transf.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as transferido, sum( case when am.id_aluno_matr_status = 3 and (periodo_seguinte.ordem is null or historico_desist.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as desistente, sum( case when am.id_aluno_matr_status = 4 and (periodo_seguinte.ordem is null or historico_falec.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as falecido, sum( case when am.id_aluno_matr_status in (1, 2, 7) and am.flg_alfabetizado is false and pc.flg_alfabetizado is not true then 1 else 0 end) as nao_alfabetizado, sum( case when am.id_aluno_matr_status in (1, 2, 7) and (cast(date_part('year', age(cast(ano.ano || '-12-31' as timestamp), cidadao.nascimento_data)) as int4) >= serie.idade_distorcao or (am.flg_alfabetizado is false and serie_equiv.ordem > 2)) then 1 else 0 end) as correcao_fluxo, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.flg_aprovacao is true then 1 else 0 end) as aprovado, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.id_parecer_conclusivo_tipo = 1 then 1 else 0 end) as reprovado_frequencia, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.id_parecer_conclusivo_tipo = 2 then 1 else 0 end) as reprovado_desempenho from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join calendario_periodo periodo_seguinte on periodo_seguinte.id_calendario = calendario_periodo.id_calendario and periodo_seguinte.ordem = calendario_periodo.ordem + 1 left join serie_equivalente serie_equiv on serie_equiv.id_serie_equivalente = serie.id_serie_equivalente left join aluno_matr_turma amt on amt.id_turma = turma.id_turma left join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula and (serie.flg_correcao_fluxo is true or serie.id_serie = am.id_serie) left join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_status_hist historico_transf on historico_transf.id_aluno_matricula = am.id_aluno_matricula and historico_transf.id_aluno_matr_status = 6 left join aluno_matr_status_hist historico_desist on historico_desist.id_aluno_matricula = am.id_aluno_matricula and historico_desist.id_aluno_matr_status = 3 left join aluno_matr_status_hist historico_falec on historico_falec.id_aluno_matricula = am.id_aluno_matricula and historico_falec.id_aluno_matr_status = 4 left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo where turma.id_turma_status in (1, 2) group by turma.id_turma, serie.id_serie, calendario_periodo.ordem;
Date: 2026-07-06 00:31:55 Duration: 47s182ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into gestao_programa.acompanhamento_turma_serie (id_turma, id_serie, id_nota_periodo_aluno, matricula_inicial, matricula_suplementar, transferido, desistente, falecido, nao_alfabetizado, correcao_fluxo, aprovado, reprovado_frequencia, reprovado_desempenho) select turma.id_turma, serie.id_serie, calendario_periodo.ordem as id_nota_periodo_aluno, sum( case when am.flg_matricula_inicial is true then 1 else 0 end) as matricula_inicial, sum( case when am.flg_matricula_inicial is false and (periodo_seguinte.ordem is null or am.data_matricula < periodo_seguinte.data_inicio) then 1 else 0 end) as matricula_suplementar, sum( case when am.id_aluno_matr_status = 6 and (periodo_seguinte.ordem is null or historico_transf.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as transferido, sum( case when am.id_aluno_matr_status = 3 and (periodo_seguinte.ordem is null or historico_desist.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as desistente, sum( case when am.id_aluno_matr_status = 4 and (periodo_seguinte.ordem is null or historico_falec.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as falecido, sum( case when am.id_aluno_matr_status in (1, 2, 7) and am.flg_alfabetizado is false and pc.flg_alfabetizado is not true then 1 else 0 end) as nao_alfabetizado, sum( case when am.id_aluno_matr_status in (1, 2, 7) and (cast(date_part('year', age(cast(ano.ano || '-12-31' as timestamp), cidadao.nascimento_data)) as int4) >= serie.idade_distorcao or (am.flg_alfabetizado is false and serie_equiv.ordem > 2)) then 1 else 0 end) as correcao_fluxo, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.flg_aprovacao is true then 1 else 0 end) as aprovado, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.id_parecer_conclusivo_tipo = 1 then 1 else 0 end) as reprovado_frequencia, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.id_parecer_conclusivo_tipo = 2 then 1 else 0 end) as reprovado_desempenho from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join calendario_periodo periodo_seguinte on periodo_seguinte.id_calendario = calendario_periodo.id_calendario and periodo_seguinte.ordem = calendario_periodo.ordem + 1 left join serie_equivalente serie_equiv on serie_equiv.id_serie_equivalente = serie.id_serie_equivalente left join aluno_matr_turma amt on amt.id_turma = turma.id_turma left join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula and (serie.flg_correcao_fluxo is true or serie.id_serie = am.id_serie) left join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_status_hist historico_transf on historico_transf.id_aluno_matricula = am.id_aluno_matricula and historico_transf.id_aluno_matr_status = 6 left join aluno_matr_status_hist historico_desist on historico_desist.id_aluno_matricula = am.id_aluno_matricula and historico_desist.id_aluno_matr_status = 3 left join aluno_matr_status_hist historico_falec on historico_falec.id_aluno_matricula = am.id_aluno_matricula and historico_falec.id_aluno_matr_status = 4 left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo where turma.id_turma_status in (1, 2) group by turma.id_turma, serie.id_serie, calendario_periodo.ordem;
Date: 2026-07-06 00:31:17 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
9 35 2.43 GiB 2.66 MiB 1.00 GiB 70.97 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, ? as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, ?) as faltas, case when aulas.aulas = ? then ?.? when coalesce(faltas.falta_nao_justificada, ?) > aulas.aulas then ?.? else arredondar_frequencia_aluno (? * (aulas.aulas - coalesce(faltas.falta_nao_justificada, ?)) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part(?, aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part(?, aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno where case when aulas.aulas = ? then ?.? when coalesce(faltas.falta_nao_justificada, ?) > aulas.aulas then ?.? else arredondar_frequencia_aluno (? * (aulas.aulas - coalesce(faltas.falta_nao_justificada, ?)) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, '2' as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, 0) as faltas, case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno where case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 02:00:14 Duration: 1m9s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, '2' as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, 0) as faltas, case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno where case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 00:14:19 Duration: 9s321ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, 0) as faltas, case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno where case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 00:14:16 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
10 34 640.99 MiB 797.95 KiB 466.01 MiB 18.85 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, ? as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, ?)) as faltas, case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else arredondar_frequencia_aluno (? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part(?, aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part(?, aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else arredondar_frequencia_aluno (? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, '3' as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '3' where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;
Date: 2026-07-06 02:03:23 Duration: 35s107ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, '3' as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '3' where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;
Date: 2026-07-06 00:14:34 Duration: 5s765ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;
Date: 2026-07-06 00:14:31 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
11 29 88.60 MiB 9.75 KiB 20.15 MiB 3.06 MiB select scb.matricula_cargo as matricula, cid.nome as nome, to_char(cid.nascimento_data, ?) as data_nascimento, municipio_nascimento.nome as municipio_nascimento, estado_nascimento.sigla as estado_nascimento, cid.email as email, coalesce(cid.email_instituicional, ?) as email_institucional_aluno, coalesce(u.email_autenticacao_externa, ?) as email_autenticacao_externa, array_to_string(array ( select case when ct.telefone_recado_para is not null then ?| | ct.telefone_ddd || ?| | ct.telefone_numero || ?| | ct.telefone_recado_para else ?| | 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 telefone_contato, case when cid.sexo = ? then ? else ? end as sexo, rc.descricao as raca_cor, nacionalidade.nome as nacionalidade, estado_civil_gestao.descricao as estado_civil, case when cid.flg_necessidade_especial = true then ? when cid.flg_necessidade_especial = false then ? end as deficiencia_fisica, tipo_necessidade.descricao as tipo_deficiencia, dc.numero_cpf || ?| | dc.digito_cpf as cpf, case when dc.dv_rg is not null then dc.numero_rg || ?| | dc.dv_rg else dc.numero_rg end as rg, oe.descricao as orgao_emissor_rg, estado.sigla as estado_emissor_rg, to_char(dc.data_emissao_rg, ?) as data_emissao_rg, dc.numero_nis, s.codigo_inep, ce.endereco as logradouro, ce.numero as numero_logradouro, ce.complemento as complemento_logradouro, ce.bairro as bairro_logradouro, ce.cep as cep_logradouro, mun_endereco.nome as municipio_logradouro, estado_endereco.sigla as uf_logradouro, sf.descricao as situacao_funcional, scb.numero_contrato || ? || scb.ano_contrato numero_contrato, to_char(scb.data_nomeacao, ?) as data_nomeacao, to_char(scb.data_posse, ?) as data_posse, to_char(srv_cb_inicio_exercicio.data_inicio_exercicio, ?) as data_inicio_exercicio, to_char(srv_cargo_base_desligamento.data_fim, ?) as data_fim_exercicio, c.descricao as cargo, disciplina.descricao as componente_curricular, funcao.descricao as funcao, atividade.descricao as atividade, unidade_mae_lotacao.nome as unidade_mae_lotacao, uf.codigo as codigo_unidade_lotacao, uf.nome as unidade_lotacao, case when exists ( select null from servidor_ato_historico sahatohistorico inner join ato_historico_tipo atohistoricotipo on atohistoricotipo.id_ato_historico_tipo = sahatohistorico.id_ato_historico_tipo where sahatohistorico.id_servidor_cargo_base = scb.id_servidor_cargo_base and atohistoricotipo.id_categoria_ato_historico = ?) then ? when scb.flg_aberto is true then ? else ? end as situacao, ato_historico.motivo as motivo, to_char(ato_historico.data_inicio, ?) as inicio_periodo, to_char(ato_historico.data_fim, ?) as fim_periodo, grau_escolaridade.descricao as grau_escolaridade, curso_geral_tipo.descricao as tipo_curso, mec_area_curso_superior.descricao as area_curso, mec_curso_superior.descricao as curso, info_turma.unidade_mae, info_turma.codigo_escola, info_turma.escola as 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 info_turma.id_unidade_funcional = medoa.id_unidade_funcional), ?) as localizacao_zona, info_turma.ensino_etapa_turma, info_turma.modalidade_turma, info_turma.turma, info_turma.nome_turma, info_turma.tipo_turma as tipo_turma, info_turma.turno as turno, info_turma.disciplina as disciplina from servidor s inner join cidadao cid on cid.id_cidadao = s.id_cidadao left join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao left join estado_civil_gestao on estado_civil_gestao.id_estado_civil_gestao = cid.id_estado_civil_gestao left join usuario u on u.id_usuario = cu.id_usuario left join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao left join disciplina on disciplina.id_disciplina = scb.id_disciplina left join srv_cb_inicio_exercicio on srv_cb_inicio_exercicio.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento on srv_cargo_base_desligamento.id_servidor_cargo_base = scb.id_servidor_cargo_base left join ( select string_agg(mne.descricao, ?) as descricao, cne.id_cidadao from mec_necessidade_especial mne inner join necessidade_especial ne on mne.id_mec_necessidade_especial = ne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial group by cne.id_cidadao) as tipo_necessidade on tipo_necessidade.id_cidadao = cid.id_cidadao left join raca_cor rc on cid.id_raca_cor = rc.id_raca_cor left join nacionalidade on nacionalidade.id_nacionalidade = cid.id_nacionalidade left join municipio municipio_nascimento on cid.id_municipio_nascimento = municipio_nascimento.id_municipio left join uf estado_nascimento on municipio_nascimento.id_uf = estado_nascimento.id_uf left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join orgao_emissor_rg oe on oe.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join uf estado on estado.id_uf = dc.id_uf_emissor_rg left join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun_endereco on mun_endereco.id_municipio = ce.id_municipio left join uf estado_endereco on estado_endereco.id_uf = mun_endereco.id_uf left join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional inner join cargo c on c.id_cargo = scb.id_cargo left join servidor_funcao sfun on sfun.id_cidadao = s.id_cidadao and sfun.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor funcao on funcao.id_funcao_atividade_servidor = sfun.id_funcao_atividade_servidor left join servidor_atividade on servidor_atividade.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor atividade on atividade.id_funcao_atividade_servidor = servidor_atividade.id_funcao_atividade_servidor left join lotacao l on l.id_servidor_cargo_base = scb.id_servidor_cargo_base and l.flg_aberto = true left join unidade_funcional uf on uf.id_unidade_funcional = coalesce(l.id_unidade_lotacao, scb.id_unidade_sede) 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 unidade_mae_lotacao on unidade_mae_lotacao.id_unidade_funcional = huf.id_unidade_funcional_mae left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador, ath2.descricao as motivo, sah.data_referencia as data_inicio, sah.data_fim as data_fim from servidor_ato_historico sah inner join ato_historico_tipo ath2 on ath2.id_ato_historico_tipo = sah.id_ato_historico_tipo where ath2.id_categoria_ato_historico = ? and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base, ath2.descricao, sah.data_referencia, sah.data_fim) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade on grau_escolaridade.id_grau_escolaridade = s.id_grau_escolaridade left join servidor_curso_titulo on servidor_curso_titulo.id_cidadao = cid.id_cidadao left join curso_geral_tipo on curso_geral_tipo.id_curso_geral_tipo = servidor_curso_titulo.id_curso_geral_tipo left join mec_curso_superior on mec_curso_superior.id_mec_curso_superior = servidor_curso_titulo.id_mec_curso_superior left join mec_area_curso_superior on mec_area_curso_superior.id_mec_area_curso_superior = mec_curso_superior.id_mec_area_curso_superior left join mec_inst_ensino_superior on mec_inst_ensino_superior.id_mec_inst_ensino_superior = servidor_curso_titulo.id_mec_inst_ensino_superior left join ( select tcs.id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then ? when t.flg_multietapa is true then ? when t.flg_multiseriada is true then ? when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then ? end as tipo_turma, tu.descricao as turno, d.sigla as disciplina from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join turma t on t.id_turma = tc.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = ?) inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = ? left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae inner join turno tu on tu.id_turno = t.id_turno inner join disciplina d on d.id_disciplina = cc.id_disciplina left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa union all select id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then ? when t.flg_multietapa is true then ? when t.flg_multiseriada is true then ? when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then ? end as tipo_turma, tu.descricao as turno, case when t.flg_especial is false then ? else ? end as disciplina from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma t on t.id_turma = tra.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = ?) inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = ? left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa) as info_turma on info_turma.id_servidor_cargo_base = scb.id_servidor_cargo_base where cid.id_instituicao = ? order by cid.nome;-
select scb.matricula_cargo as matricula, cid.nome as nome, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento, municipio_nascimento.nome as municipio_nascimento, estado_nascimento.sigla as estado_nascimento, cid.email as email, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, array_to_string(array ( select case when ct.telefone_recado_para is not null then '(' || ct.telefone_ddd || ') ' || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else '(' || 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 telefone_contato, case when cid.sexo = 'M' then 'Masculino' else 'Feminino' end as sexo, rc.descricao as raca_cor, nacionalidade.nome as nacionalidade, estado_civil_gestao.descricao as estado_civil, case when cid.flg_necessidade_especial = true then 'Sim' when cid.flg_necessidade_especial = false then 'Não' end as deficiencia_fisica, tipo_necessidade.descricao as tipo_deficiencia, dc.numero_cpf || '-' || dc.digito_cpf as cpf, case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end as rg, oe.descricao as orgao_emissor_rg, estado.sigla as estado_emissor_rg, to_char(dc.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, dc.numero_nis, s.codigo_inep, ce.endereco as logradouro, ce.numero as numero_logradouro, ce.complemento as complemento_logradouro, ce.bairro as bairro_logradouro, ce.cep as cep_logradouro, mun_endereco.nome as municipio_logradouro, estado_endereco.sigla as uf_logradouro, sf.descricao as situacao_funcional, scb.numero_contrato || '/' || scb.ano_contrato numero_contrato, to_char(scb.data_nomeacao, 'dd/MM/yyyy') as data_nomeacao, to_char(scb.data_posse, 'dd/MM/yyyy') as data_posse, to_char(srv_cb_inicio_exercicio.data_inicio_exercicio, 'dd/MM/yyyy') as data_inicio_exercicio, to_char(srv_cargo_base_desligamento.data_fim, 'dd/MM/yyyy') as data_fim_exercicio, c.descricao as cargo, disciplina.descricao as componente_curricular, funcao.descricao as funcao, atividade.descricao as atividade, unidade_mae_lotacao.nome as unidade_mae_lotacao, uf.codigo as codigo_unidade_lotacao, uf.nome as unidade_lotacao, case when exists ( select null from servidor_ato_historico sahAtoHistorico inner join ato_historico_tipo atoHistoricoTipo on atoHistoricoTipo.id_ato_historico_tipo = sahAtoHistorico.id_ato_historico_tipo where sahAtoHistorico.id_servidor_cargo_base = scb.id_servidor_cargo_base and atoHistoricoTipo.id_categoria_ato_historico = 7) then 'Afastado/Licença' when scb.flg_aberto is true then 'Aberto' else 'Fechado' end as situacao, ato_historico.motivo as motivo, to_char(ato_historico.data_inicio, 'DD/MM/YYYY') as inicio_periodo, to_char(ato_historico.data_fim, 'DD/MM/YYYY') as fim_periodo, grau_escolaridade.descricao as grau_escolaridade, curso_geral_tipo.descricao as tipo_curso, mec_area_curso_superior.descricao as area_curso, mec_curso_superior.descricao as curso, info_turma.unidade_mae, info_turma.codigo_escola, info_turma.escola as 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 info_turma.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, info_turma.ensino_etapa_turma, info_turma.modalidade_turma, info_turma.turma, info_turma.nome_turma, info_turma.tipo_turma as tipo_turma, info_turma.turno as turno, info_turma.disciplina as disciplina from servidor s inner join cidadao cid on cid.id_cidadao = s.id_cidadao left join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao left join estado_civil_gestao on estado_civil_gestao.id_estado_civil_gestao = cid.id_estado_civil_gestao left join usuario u on u.id_usuario = cu.id_usuario left join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao left join disciplina on disciplina.id_disciplina = scb.id_disciplina left join srv_cb_inicio_exercicio on srv_cb_inicio_exercicio.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento on srv_cargo_base_desligamento.id_servidor_cargo_base = scb.id_servidor_cargo_base left join ( select string_agg(mne.descricao, ',') as descricao, cne.id_cidadao from mec_necessidade_especial mne inner join necessidade_especial ne on mne.id_mec_necessidade_especial = ne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial group by cne.id_cidadao) as tipo_necessidade on tipo_necessidade.id_cidadao = cid.id_cidadao left join raca_cor rc on cid.id_raca_cor = rc.id_raca_cor left join nacionalidade on nacionalidade.id_nacionalidade = cid.id_nacionalidade left join municipio municipio_nascimento on cid.id_municipio_nascimento = municipio_nascimento.id_municipio left join uf estado_nascimento on municipio_nascimento.id_uf = estado_nascimento.id_uf left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join orgao_emissor_rg oe on oe.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join uf estado on estado.id_uf = dc.id_uf_emissor_rg left join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun_endereco on mun_endereco.id_municipio = ce.id_municipio left join uf estado_endereco on estado_endereco.id_uf = mun_endereco.id_uf left join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional inner join cargo c on c.id_cargo = scb.id_cargo left join servidor_funcao sfun on sfun.id_cidadao = s.id_cidadao and sfun.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor funcao on funcao.id_funcao_atividade_servidor = sfun.id_funcao_atividade_servidor left join servidor_atividade on servidor_atividade.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor atividade on atividade.id_funcao_atividade_servidor = servidor_atividade.id_funcao_atividade_servidor left join lotacao l on l.id_servidor_cargo_base = scb.id_servidor_cargo_base and l.flg_aberto = true left join unidade_funcional uf on uf.id_unidade_funcional = coalesce(l.id_unidade_lotacao, scb.id_unidade_sede) left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '10' left join unidade_funcional unidade_mae_lotacao on unidade_mae_lotacao.id_unidade_funcional = huf.id_unidade_funcional_mae left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador, ath2.descricao as motivo, sah.data_referencia as data_inicio, sah.data_fim as data_fim from servidor_ato_historico sah inner join ato_historico_tipo ath2 on ath2.id_ato_historico_tipo = sah.id_ato_historico_tipo where ath2.id_categoria_ato_historico = 7 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base, ath2.descricao, sah.data_referencia, sah.data_fim) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade on grau_escolaridade.id_grau_escolaridade = s.id_grau_escolaridade left join servidor_curso_titulo on servidor_curso_titulo.id_cidadao = cid.id_cidadao left join curso_geral_tipo on curso_geral_tipo.id_curso_geral_tipo = servidor_curso_titulo.id_curso_geral_tipo left join mec_curso_superior on mec_curso_superior.id_mec_curso_superior = servidor_curso_titulo.id_mec_curso_superior left join mec_area_curso_superior on mec_area_curso_superior.id_mec_area_curso_superior = mec_curso_superior.id_mec_area_curso_superior left join mec_inst_ensino_superior on mec_inst_ensino_superior.id_mec_inst_ensino_superior = servidor_curso_titulo.id_mec_inst_ensino_superior left join ( select tcs.id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then 'Diversificada' when t.flg_multietapa is true then 'Multietapa' when t.flg_multiseriada is true then 'Multisseriada' when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then 'Regular' end as tipo_turma, tu.descricao as turno, d.sigla as disciplina from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join turma t on t.id_turma = tc.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = '2026') inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = '10' left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae inner join turno tu on tu.id_turno = t.id_turno inner join disciplina d on d.id_disciplina = cc.id_disciplina left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa union all select id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then 'Diversificada' when t.flg_multietapa is true then 'Multietapa' when t.flg_multiseriada is true then 'Multisseriada' when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then 'Regular' end as tipo_turma, tu.descricao as turno, case when t.flg_especial is false then 'Regência de classe' else '' end as disciplina from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma t on t.id_turma = tra.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = '2026') inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = '10' left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa) as info_turma on info_turma.id_servidor_cargo_base = scb.id_servidor_cargo_base where cid.id_instituicao = '82' order by cid.nome;
Date: 2026-07-06 00:06:34 Duration: 18s865ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
-
select scb.matricula_cargo as matricula, cid.nome as nome, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento, municipio_nascimento.nome as municipio_nascimento, estado_nascimento.sigla as estado_nascimento, cid.email as email, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, array_to_string(array ( select case when ct.telefone_recado_para is not null then '(' || ct.telefone_ddd || ') ' || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else '(' || 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 telefone_contato, case when cid.sexo = 'M' then 'Masculino' else 'Feminino' end as sexo, rc.descricao as raca_cor, nacionalidade.nome as nacionalidade, estado_civil_gestao.descricao as estado_civil, case when cid.flg_necessidade_especial = true then 'Sim' when cid.flg_necessidade_especial = false then 'Não' end as deficiencia_fisica, tipo_necessidade.descricao as tipo_deficiencia, dc.numero_cpf || '-' || dc.digito_cpf as cpf, case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end as rg, oe.descricao as orgao_emissor_rg, estado.sigla as estado_emissor_rg, to_char(dc.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, dc.numero_nis, s.codigo_inep, ce.endereco as logradouro, ce.numero as numero_logradouro, ce.complemento as complemento_logradouro, ce.bairro as bairro_logradouro, ce.cep as cep_logradouro, mun_endereco.nome as municipio_logradouro, estado_endereco.sigla as uf_logradouro, sf.descricao as situacao_funcional, scb.numero_contrato || '/' || scb.ano_contrato numero_contrato, to_char(scb.data_nomeacao, 'dd/MM/yyyy') as data_nomeacao, to_char(scb.data_posse, 'dd/MM/yyyy') as data_posse, to_char(srv_cb_inicio_exercicio.data_inicio_exercicio, 'dd/MM/yyyy') as data_inicio_exercicio, to_char(srv_cargo_base_desligamento.data_fim, 'dd/MM/yyyy') as data_fim_exercicio, c.descricao as cargo, disciplina.descricao as componente_curricular, funcao.descricao as funcao, atividade.descricao as atividade, unidade_mae_lotacao.nome as unidade_mae_lotacao, uf.codigo as codigo_unidade_lotacao, uf.nome as unidade_lotacao, case when exists ( select null from servidor_ato_historico sahAtoHistorico inner join ato_historico_tipo atoHistoricoTipo on atoHistoricoTipo.id_ato_historico_tipo = sahAtoHistorico.id_ato_historico_tipo where sahAtoHistorico.id_servidor_cargo_base = scb.id_servidor_cargo_base and atoHistoricoTipo.id_categoria_ato_historico = 7) then 'Afastado/Licença' when scb.flg_aberto is true then 'Aberto' else 'Fechado' end as situacao, ato_historico.motivo as motivo, to_char(ato_historico.data_inicio, 'DD/MM/YYYY') as inicio_periodo, to_char(ato_historico.data_fim, 'DD/MM/YYYY') as fim_periodo, grau_escolaridade.descricao as grau_escolaridade, curso_geral_tipo.descricao as tipo_curso, mec_area_curso_superior.descricao as area_curso, mec_curso_superior.descricao as curso, info_turma.unidade_mae, info_turma.codigo_escola, info_turma.escola as 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 info_turma.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, info_turma.ensino_etapa_turma, info_turma.modalidade_turma, info_turma.turma, info_turma.nome_turma, info_turma.tipo_turma as tipo_turma, info_turma.turno as turno, info_turma.disciplina as disciplina from servidor s inner join cidadao cid on cid.id_cidadao = s.id_cidadao left join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao left join estado_civil_gestao on estado_civil_gestao.id_estado_civil_gestao = cid.id_estado_civil_gestao left join usuario u on u.id_usuario = cu.id_usuario left join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao left join disciplina on disciplina.id_disciplina = scb.id_disciplina left join srv_cb_inicio_exercicio on srv_cb_inicio_exercicio.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento on srv_cargo_base_desligamento.id_servidor_cargo_base = scb.id_servidor_cargo_base left join ( select string_agg(mne.descricao, ',') as descricao, cne.id_cidadao from mec_necessidade_especial mne inner join necessidade_especial ne on mne.id_mec_necessidade_especial = ne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial group by cne.id_cidadao) as tipo_necessidade on tipo_necessidade.id_cidadao = cid.id_cidadao left join raca_cor rc on cid.id_raca_cor = rc.id_raca_cor left join nacionalidade on nacionalidade.id_nacionalidade = cid.id_nacionalidade left join municipio municipio_nascimento on cid.id_municipio_nascimento = municipio_nascimento.id_municipio left join uf estado_nascimento on municipio_nascimento.id_uf = estado_nascimento.id_uf left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join orgao_emissor_rg oe on oe.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join uf estado on estado.id_uf = dc.id_uf_emissor_rg left join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun_endereco on mun_endereco.id_municipio = ce.id_municipio left join uf estado_endereco on estado_endereco.id_uf = mun_endereco.id_uf left join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional inner join cargo c on c.id_cargo = scb.id_cargo left join servidor_funcao sfun on sfun.id_cidadao = s.id_cidadao and sfun.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor funcao on funcao.id_funcao_atividade_servidor = sfun.id_funcao_atividade_servidor left join servidor_atividade on servidor_atividade.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor atividade on atividade.id_funcao_atividade_servidor = servidor_atividade.id_funcao_atividade_servidor left join lotacao l on l.id_servidor_cargo_base = scb.id_servidor_cargo_base and l.flg_aberto = true left join unidade_funcional uf on uf.id_unidade_funcional = coalesce(l.id_unidade_lotacao, scb.id_unidade_sede) left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '80' left join unidade_funcional unidade_mae_lotacao on unidade_mae_lotacao.id_unidade_funcional = huf.id_unidade_funcional_mae left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador, ath2.descricao as motivo, sah.data_referencia as data_inicio, sah.data_fim as data_fim from servidor_ato_historico sah inner join ato_historico_tipo ath2 on ath2.id_ato_historico_tipo = sah.id_ato_historico_tipo where ath2.id_categoria_ato_historico = 7 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base, ath2.descricao, sah.data_referencia, sah.data_fim) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade on grau_escolaridade.id_grau_escolaridade = s.id_grau_escolaridade left join servidor_curso_titulo on servidor_curso_titulo.id_cidadao = cid.id_cidadao left join curso_geral_tipo on curso_geral_tipo.id_curso_geral_tipo = servidor_curso_titulo.id_curso_geral_tipo left join mec_curso_superior on mec_curso_superior.id_mec_curso_superior = servidor_curso_titulo.id_mec_curso_superior left join mec_area_curso_superior on mec_area_curso_superior.id_mec_area_curso_superior = mec_curso_superior.id_mec_area_curso_superior left join mec_inst_ensino_superior on mec_inst_ensino_superior.id_mec_inst_ensino_superior = servidor_curso_titulo.id_mec_inst_ensino_superior left join ( select tcs.id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then 'Diversificada' when t.flg_multietapa is true then 'Multietapa' when t.flg_multiseriada is true then 'Multisseriada' when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then 'Regular' end as tipo_turma, tu.descricao as turno, d.sigla as disciplina from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join turma t on t.id_turma = tc.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = '2026') inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = '80' left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae inner join turno tu on tu.id_turno = t.id_turno inner join disciplina d on d.id_disciplina = cc.id_disciplina left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa union all select id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then 'Diversificada' when t.flg_multietapa is true then 'Multietapa' when t.flg_multiseriada is true then 'Multisseriada' when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then 'Regular' end as tipo_turma, tu.descricao as turno, case when t.flg_especial is false then 'Regência de classe' else '' end as disciplina from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma t on t.id_turma = tra.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = '2026') inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = '80' left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa) as info_turma on info_turma.id_servidor_cargo_base = scb.id_servidor_cargo_base where cid.id_instituicao = '97' order by cid.nome;
Date: 2026-07-06 00:37:00 Duration: 5s423ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
select scb.matricula_cargo as matricula, cid.nome as nome, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento, municipio_nascimento.nome as municipio_nascimento, estado_nascimento.sigla as estado_nascimento, cid.email as email, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, array_to_string(array ( select case when ct.telefone_recado_para is not null then '(' || ct.telefone_ddd || ') ' || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else '(' || 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 telefone_contato, case when cid.sexo = 'M' then 'Masculino' else 'Feminino' end as sexo, rc.descricao as raca_cor, nacionalidade.nome as nacionalidade, estado_civil_gestao.descricao as estado_civil, case when cid.flg_necessidade_especial = true then 'Sim' when cid.flg_necessidade_especial = false then 'Não' end as deficiencia_fisica, tipo_necessidade.descricao as tipo_deficiencia, dc.numero_cpf || '-' || dc.digito_cpf as cpf, case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end as rg, oe.descricao as orgao_emissor_rg, estado.sigla as estado_emissor_rg, to_char(dc.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, dc.numero_nis, s.codigo_inep, ce.endereco as logradouro, ce.numero as numero_logradouro, ce.complemento as complemento_logradouro, ce.bairro as bairro_logradouro, ce.cep as cep_logradouro, mun_endereco.nome as municipio_logradouro, estado_endereco.sigla as uf_logradouro, sf.descricao as situacao_funcional, scb.numero_contrato || '/' || scb.ano_contrato numero_contrato, to_char(scb.data_nomeacao, 'dd/MM/yyyy') as data_nomeacao, to_char(scb.data_posse, 'dd/MM/yyyy') as data_posse, to_char(srv_cb_inicio_exercicio.data_inicio_exercicio, 'dd/MM/yyyy') as data_inicio_exercicio, to_char(srv_cargo_base_desligamento.data_fim, 'dd/MM/yyyy') as data_fim_exercicio, c.descricao as cargo, disciplina.descricao as componente_curricular, funcao.descricao as funcao, atividade.descricao as atividade, unidade_mae_lotacao.nome as unidade_mae_lotacao, uf.codigo as codigo_unidade_lotacao, uf.nome as unidade_lotacao, case when exists ( select null from servidor_ato_historico sahAtoHistorico inner join ato_historico_tipo atoHistoricoTipo on atoHistoricoTipo.id_ato_historico_tipo = sahAtoHistorico.id_ato_historico_tipo where sahAtoHistorico.id_servidor_cargo_base = scb.id_servidor_cargo_base and atoHistoricoTipo.id_categoria_ato_historico = 7) then 'Afastado/Licença' when scb.flg_aberto is true then 'Aberto' else 'Fechado' end as situacao, ato_historico.motivo as motivo, to_char(ato_historico.data_inicio, 'DD/MM/YYYY') as inicio_periodo, to_char(ato_historico.data_fim, 'DD/MM/YYYY') as fim_periodo, grau_escolaridade.descricao as grau_escolaridade, curso_geral_tipo.descricao as tipo_curso, mec_area_curso_superior.descricao as area_curso, mec_curso_superior.descricao as curso, info_turma.unidade_mae, info_turma.codigo_escola, info_turma.escola as 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 info_turma.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, info_turma.ensino_etapa_turma, info_turma.modalidade_turma, info_turma.turma, info_turma.nome_turma, info_turma.tipo_turma as tipo_turma, info_turma.turno as turno, info_turma.disciplina as disciplina from servidor s inner join cidadao cid on cid.id_cidadao = s.id_cidadao left join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao left join estado_civil_gestao on estado_civil_gestao.id_estado_civil_gestao = cid.id_estado_civil_gestao left join usuario u on u.id_usuario = cu.id_usuario left join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao left join disciplina on disciplina.id_disciplina = scb.id_disciplina left join srv_cb_inicio_exercicio on srv_cb_inicio_exercicio.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento on srv_cargo_base_desligamento.id_servidor_cargo_base = scb.id_servidor_cargo_base left join ( select string_agg(mne.descricao, ',') as descricao, cne.id_cidadao from mec_necessidade_especial mne inner join necessidade_especial ne on mne.id_mec_necessidade_especial = ne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial group by cne.id_cidadao) as tipo_necessidade on tipo_necessidade.id_cidadao = cid.id_cidadao left join raca_cor rc on cid.id_raca_cor = rc.id_raca_cor left join nacionalidade on nacionalidade.id_nacionalidade = cid.id_nacionalidade left join municipio municipio_nascimento on cid.id_municipio_nascimento = municipio_nascimento.id_municipio left join uf estado_nascimento on municipio_nascimento.id_uf = estado_nascimento.id_uf left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join orgao_emissor_rg oe on oe.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join uf estado on estado.id_uf = dc.id_uf_emissor_rg left join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun_endereco on mun_endereco.id_municipio = ce.id_municipio left join uf estado_endereco on estado_endereco.id_uf = mun_endereco.id_uf left join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional inner join cargo c on c.id_cargo = scb.id_cargo left join servidor_funcao sfun on sfun.id_cidadao = s.id_cidadao and sfun.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor funcao on funcao.id_funcao_atividade_servidor = sfun.id_funcao_atividade_servidor left join servidor_atividade on servidor_atividade.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor atividade on atividade.id_funcao_atividade_servidor = servidor_atividade.id_funcao_atividade_servidor left join lotacao l on l.id_servidor_cargo_base = scb.id_servidor_cargo_base and l.flg_aberto = true left join unidade_funcional uf on uf.id_unidade_funcional = coalesce(l.id_unidade_lotacao, scb.id_unidade_sede) left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' left join unidade_funcional unidade_mae_lotacao on unidade_mae_lotacao.id_unidade_funcional = huf.id_unidade_funcional_mae left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador, ath2.descricao as motivo, sah.data_referencia as data_inicio, sah.data_fim as data_fim from servidor_ato_historico sah inner join ato_historico_tipo ath2 on ath2.id_ato_historico_tipo = sah.id_ato_historico_tipo where ath2.id_categoria_ato_historico = 7 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base, ath2.descricao, sah.data_referencia, sah.data_fim) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade on grau_escolaridade.id_grau_escolaridade = s.id_grau_escolaridade left join servidor_curso_titulo on servidor_curso_titulo.id_cidadao = cid.id_cidadao left join curso_geral_tipo on curso_geral_tipo.id_curso_geral_tipo = servidor_curso_titulo.id_curso_geral_tipo left join mec_curso_superior on mec_curso_superior.id_mec_curso_superior = servidor_curso_titulo.id_mec_curso_superior left join mec_area_curso_superior on mec_area_curso_superior.id_mec_area_curso_superior = mec_curso_superior.id_mec_area_curso_superior left join mec_inst_ensino_superior on mec_inst_ensino_superior.id_mec_inst_ensino_superior = servidor_curso_titulo.id_mec_inst_ensino_superior left join ( select tcs.id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then 'Diversificada' when t.flg_multietapa is true then 'Multietapa' when t.flg_multiseriada is true then 'Multisseriada' when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then 'Regular' end as tipo_turma, tu.descricao as turno, d.sigla as disciplina from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join turma t on t.id_turma = tc.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = '2026') inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = '81' left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae inner join turno tu on tu.id_turno = t.id_turno inner join disciplina d on d.id_disciplina = cc.id_disciplina left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa union all select id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then 'Diversificada' when t.flg_multietapa is true then 'Multietapa' when t.flg_multiseriada is true then 'Multisseriada' when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then 'Regular' end as tipo_turma, tu.descricao as turno, case when t.flg_especial is false then 'Regência de classe' else '' end as disciplina from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma t on t.id_turma = tra.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = '2026') inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = '81' left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa) as info_turma on info_turma.id_servidor_cargo_base = scb.id_servidor_cargo_base where cid.id_instituicao = '98' order by cid.nome;
Date: 2026-07-06 00:37:18 Duration: 3s635ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
12 25 347.51 MiB 488.00 KiB 47.50 MiB 13.90 MiB insert into consulta.perfil_matricula (id_unidade_funcional, id_serie, id_ano_semestre, id_procedencia_escola, ingressantes, rematriculados, rematriculados_aprovados, rematriculados_reprovados, nao_rematriculados, id_unidade_localizacao, inscritos_enem, id_serie_enturmacao, enturmados, data_matricula, id_turno) select alunos.id_unidade_funcional, alunos.id_serie, alunos.id_ano_semestre, alunos.id_procedencia_escola, cast(sum(alunos.ingressantes) as integer) as ingressantes, cast(sum(alunos.rematriculados) as integer) as rematriculados, cast(sum(alunos.rematriculados_aprovados) as integer) as rematriculados_aprovados, cast(sum(alunos.rematriculados_reprovados) as integer) as rematriculados_reprovados, cast(sum(alunos.nao_rematriculados) as integer) as nao_rematriculados, alunos.id_unidade_referencia, cast(sum(alunos.inscritos_enem) as integer) as inscritos_enem, alunos.id_serie_enturmacao, cast(sum(alunos.enturmados) as integer) as enturmados, alunos.data_matricula, alunos.id_turno from ( select am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, am.id_procedencia_escola, am.data_matricula::date as data_matricula, sum( case when am2.id_aluno_matricula is null then ? else ? end) as ingressantes, sum( case when am2.id_aluno_matricula is not null then ? else ? end) as rematriculados, sum( case when am2.id_aluno_matricula is not null and (pc.id_parecer_conclusivo_tipo is null or pct.flg_aprovacao is true) then ? else ? end) as rematriculados_aprovados, sum( case when am2.id_aluno_matricula is not null and pct.flg_aprovacao is false then ? else ? end) as rematriculados_reprovados, ? as nao_rematriculados, a.id_unidade_referencia, count(inscricao_enem.id_cidadao) as inscritos_enem, amt.id_serie_enturmacao, count(amt.id_aluno_matricula) as enturmados, t.id_turno from aluno_matricula am left join aluno_matricula am2 on am.id_aluno_matricula_anterior = am2.id_aluno_matricula and (am2.id_aluno_matr_status = ? or am2.id_aluno_matr_status = ?) left join parecer_conclusivo pc on pc.id_aluno_matricula = am2.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join inscricao_enem on inscricao_enem.id_cidadao = am.id_cidadao and inscricao_enem.ano_referencia = ano.ano where am.id_aluno_matr_status in (...) group by am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, am.id_procedencia_escola, a.id_unidade_referencia, amt.id_serie_enturmacao, am.data_matricula::date, t.id_turno union all select am.id_unidade_funcional, am.id_serie, ano_seg.id_ano_semestre, null as id_procedencia_escola, null as data_matricula, ? as ingressantes, ? as rematriculados, ? as rematriculados_aprovados, ? as rematriculados_reprovados, count(am.id_aluno_matricula) as nao_rematriculados, a.id_unidade_referencia, ? as inscritos_enem, amt.id_serie_enturmacao, ? as enturmados, t.id_turno from aluno_matricula am inner join serie on serie.id_serie = am.id_serie inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join ano_semestre ano_seg on (ano.semestre is null and ano_seg.ano = ano.ano + ? and ano_seg.semestre is null) or (ano.semestre = ? and ano_seg.ano = ano.ano and ano_seg.semestre = ?) or (ano.semestre = ? and ano_seg.ano = ano.ano + ? and ano_seg.semestre = ?) left join aluno_matricula am1 on am.id_aluno_matricula = am1.id_aluno_matricula_anterior left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente where am.id_aluno_matr_status = ? and am1.id_aluno_matricula is null group by am.id_unidade_funcional, am.id_serie, ano_seg.id_ano_semestre, a.id_unidade_referencia, amt.id_serie_enturmacao, t.id_turno) as alunos group by alunos.id_unidade_funcional, alunos.id_serie, alunos.id_ano_semestre, alunos.id_procedencia_escola, alunos.id_unidade_referencia, alunos.id_serie_enturmacao, alunos.data_matricula, alunos.id_turno;-
insert into consulta.perfil_matricula (id_unidade_funcional, id_serie, id_ano_semestre, id_procedencia_escola, ingressantes, rematriculados, rematriculados_aprovados, rematriculados_reprovados, nao_rematriculados, id_unidade_localizacao, inscritos_enem, id_serie_enturmacao, enturmados, data_matricula, id_turno) select alunos.id_unidade_funcional, alunos.id_serie, alunos.id_ano_semestre, alunos.id_procedencia_escola, cast(sum(alunos.ingressantes) as integer) as ingressantes, cast(sum(alunos.rematriculados) as integer) as rematriculados, cast(sum(alunos.rematriculados_aprovados) as integer) as rematriculados_aprovados, cast(sum(alunos.rematriculados_reprovados) as integer) as rematriculados_reprovados, cast(sum(alunos.nao_rematriculados) as integer) as nao_rematriculados, alunos.id_unidade_referencia, cast(sum(alunos.inscritos_enem) as integer) as inscritos_enem, alunos.id_serie_enturmacao, cast(sum(alunos.enturmados) as integer) as enturmados, alunos.data_matricula, alunos.id_turno from ( select am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, am.id_procedencia_escola, am.data_matricula::date as data_matricula, sum( case when am2.id_aluno_matricula is null then 1 else 0 end) as ingressantes, sum( case when am2.id_aluno_matricula is not null then 1 else 0 end) as rematriculados, sum( case when am2.id_aluno_matricula is not null and (pc.id_parecer_conclusivo_tipo is null or pct.flg_aprovacao is true) then 1 else 0 end) as rematriculados_aprovados, sum( case when am2.id_aluno_matricula is not null and pct.flg_aprovacao is false then 1 else 0 end) as rematriculados_reprovados, 0 as nao_rematriculados, a.id_unidade_referencia, count(inscricao_enem.id_cidadao) as inscritos_enem, amt.id_serie_enturmacao, count(amt.id_aluno_matricula) as enturmados, t.id_turno from aluno_matricula am left join aluno_matricula am2 on am.id_aluno_matricula_anterior = am2.id_aluno_matricula and (am2.id_aluno_matr_status = 2 or am2.id_aluno_matr_status = 7) left join parecer_conclusivo pc on pc.id_aluno_matricula = am2.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join inscricao_enem on inscricao_enem.id_cidadao = am.id_cidadao and inscricao_enem.ano_referencia = ano.ano where am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, am.id_procedencia_escola, a.id_unidade_referencia, amt.id_serie_enturmacao, am.data_matricula::date, t.id_turno union all select am.id_unidade_funcional, am.id_serie, ano_seg.id_ano_semestre, null as id_procedencia_escola, null as data_matricula, 0 as ingressantes, 0 as rematriculados, 0 as rematriculados_aprovados, 0 as rematriculados_reprovados, count(am.id_aluno_matricula) as nao_rematriculados, a.id_unidade_referencia, 0 as inscritos_enem, amt.id_serie_enturmacao, 0 as enturmados, t.id_turno from aluno_matricula am inner join serie on serie.id_serie = am.id_serie inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join ano_semestre ano_seg on (ano.semestre is null and ano_seg.ano = ano.ano + 1 and ano_seg.semestre is null) or (ano.semestre = 1 and ano_seg.ano = ano.ano and ano_seg.semestre = 2) or (ano.semestre = 2 and ano_seg.ano = ano.ano + 1 and ano_seg.semestre = 1) left join aluno_matricula am1 on am.id_aluno_matricula = am1.id_aluno_matricula_anterior left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente where am.id_aluno_matr_status = 7 and am1.id_aluno_matricula is null group by am.id_unidade_funcional, am.id_serie, ano_seg.id_ano_semestre, a.id_unidade_referencia, amt.id_serie_enturmacao, t.id_turno) as alunos group by alunos.id_unidade_funcional, alunos.id_serie, alunos.id_ano_semestre, alunos.id_procedencia_escola, alunos.id_unidade_referencia, alunos.id_serie_enturmacao, alunos.data_matricula, alunos.id_turno;
Date: 2026-07-06 00:18:29 Duration: 31s385ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into consulta.perfil_matricula (id_unidade_funcional, id_serie, id_ano_semestre, id_procedencia_escola, ingressantes, rematriculados, rematriculados_aprovados, rematriculados_reprovados, nao_rematriculados, id_unidade_localizacao, inscritos_enem, id_serie_enturmacao, enturmados, data_matricula, id_turno) select alunos.id_unidade_funcional, alunos.id_serie, alunos.id_ano_semestre, alunos.id_procedencia_escola, cast(sum(alunos.ingressantes) as integer) as ingressantes, cast(sum(alunos.rematriculados) as integer) as rematriculados, cast(sum(alunos.rematriculados_aprovados) as integer) as rematriculados_aprovados, cast(sum(alunos.rematriculados_reprovados) as integer) as rematriculados_reprovados, cast(sum(alunos.nao_rematriculados) as integer) as nao_rematriculados, alunos.id_unidade_referencia, cast(sum(alunos.inscritos_enem) as integer) as inscritos_enem, alunos.id_serie_enturmacao, cast(sum(alunos.enturmados) as integer) as enturmados, alunos.data_matricula, alunos.id_turno from ( select am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, am.id_procedencia_escola, am.data_matricula::date as data_matricula, sum( case when am2.id_aluno_matricula is null then 1 else 0 end) as ingressantes, sum( case when am2.id_aluno_matricula is not null then 1 else 0 end) as rematriculados, sum( case when am2.id_aluno_matricula is not null and (pc.id_parecer_conclusivo_tipo is null or pct.flg_aprovacao is true) then 1 else 0 end) as rematriculados_aprovados, sum( case when am2.id_aluno_matricula is not null and pct.flg_aprovacao is false then 1 else 0 end) as rematriculados_reprovados, 0 as nao_rematriculados, a.id_unidade_referencia, count(inscricao_enem.id_cidadao) as inscritos_enem, amt.id_serie_enturmacao, count(amt.id_aluno_matricula) as enturmados, t.id_turno from aluno_matricula am left join aluno_matricula am2 on am.id_aluno_matricula_anterior = am2.id_aluno_matricula and (am2.id_aluno_matr_status = 2 or am2.id_aluno_matr_status = 7) left join parecer_conclusivo pc on pc.id_aluno_matricula = am2.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join inscricao_enem on inscricao_enem.id_cidadao = am.id_cidadao and inscricao_enem.ano_referencia = ano.ano where am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, am.id_procedencia_escola, a.id_unidade_referencia, amt.id_serie_enturmacao, am.data_matricula::date, t.id_turno union all select am.id_unidade_funcional, am.id_serie, ano_seg.id_ano_semestre, null as id_procedencia_escola, null as data_matricula, 0 as ingressantes, 0 as rematriculados, 0 as rematriculados_aprovados, 0 as rematriculados_reprovados, count(am.id_aluno_matricula) as nao_rematriculados, a.id_unidade_referencia, 0 as inscritos_enem, amt.id_serie_enturmacao, 0 as enturmados, t.id_turno from aluno_matricula am inner join serie on serie.id_serie = am.id_serie inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join ano_semestre ano_seg on (ano.semestre is null and ano_seg.ano = ano.ano + 1 and ano_seg.semestre is null) or (ano.semestre = 1 and ano_seg.ano = ano.ano and ano_seg.semestre = 2) or (ano.semestre = 2 and ano_seg.ano = ano.ano + 1 and ano_seg.semestre = 1) left join aluno_matricula am1 on am.id_aluno_matricula = am1.id_aluno_matricula_anterior left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente where am.id_aluno_matr_status = 7 and am1.id_aluno_matricula is null group by am.id_unidade_funcional, am.id_serie, ano_seg.id_ano_semestre, a.id_unidade_referencia, amt.id_serie_enturmacao, t.id_turno) as alunos group by alunos.id_unidade_funcional, alunos.id_serie, alunos.id_ano_semestre, alunos.id_procedencia_escola, alunos.id_unidade_referencia, alunos.id_serie_enturmacao, alunos.data_matricula, alunos.id_turno;
Date: 2026-07-06 00:02:48 Duration: 17s803ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
-
insert into consulta.perfil_matricula (id_unidade_funcional, id_serie, id_ano_semestre, id_procedencia_escola, ingressantes, rematriculados, rematriculados_aprovados, rematriculados_reprovados, nao_rematriculados, id_unidade_localizacao, inscritos_enem, id_serie_enturmacao, enturmados, data_matricula, id_turno) select alunos.id_unidade_funcional, alunos.id_serie, alunos.id_ano_semestre, alunos.id_procedencia_escola, cast(sum(alunos.ingressantes) as integer) as ingressantes, cast(sum(alunos.rematriculados) as integer) as rematriculados, cast(sum(alunos.rematriculados_aprovados) as integer) as rematriculados_aprovados, cast(sum(alunos.rematriculados_reprovados) as integer) as rematriculados_reprovados, cast(sum(alunos.nao_rematriculados) as integer) as nao_rematriculados, alunos.id_unidade_referencia, cast(sum(alunos.inscritos_enem) as integer) as inscritos_enem, alunos.id_serie_enturmacao, cast(sum(alunos.enturmados) as integer) as enturmados, alunos.data_matricula, alunos.id_turno from ( select am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, am.id_procedencia_escola, am.data_matricula::date as data_matricula, sum( case when am2.id_aluno_matricula is null then 1 else 0 end) as ingressantes, sum( case when am2.id_aluno_matricula is not null then 1 else 0 end) as rematriculados, sum( case when am2.id_aluno_matricula is not null and (pc.id_parecer_conclusivo_tipo is null or pct.flg_aprovacao is true) then 1 else 0 end) as rematriculados_aprovados, sum( case when am2.id_aluno_matricula is not null and pct.flg_aprovacao is false then 1 else 0 end) as rematriculados_reprovados, 0 as nao_rematriculados, a.id_unidade_referencia, count(inscricao_enem.id_cidadao) as inscritos_enem, amt.id_serie_enturmacao, count(amt.id_aluno_matricula) as enturmados, t.id_turno from aluno_matricula am left join aluno_matricula am2 on am.id_aluno_matricula_anterior = am2.id_aluno_matricula and (am2.id_aluno_matr_status = 2 or am2.id_aluno_matr_status = 7) left join parecer_conclusivo pc on pc.id_aluno_matricula = am2.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join inscricao_enem on inscricao_enem.id_cidadao = am.id_cidadao and inscricao_enem.ano_referencia = ano.ano where am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, am.id_procedencia_escola, a.id_unidade_referencia, amt.id_serie_enturmacao, am.data_matricula::date, t.id_turno union all select am.id_unidade_funcional, am.id_serie, ano_seg.id_ano_semestre, null as id_procedencia_escola, null as data_matricula, 0 as ingressantes, 0 as rematriculados, 0 as rematriculados_aprovados, 0 as rematriculados_reprovados, count(am.id_aluno_matricula) as nao_rematriculados, a.id_unidade_referencia, 0 as inscritos_enem, amt.id_serie_enturmacao, 0 as enturmados, t.id_turno from aluno_matricula am inner join serie on serie.id_serie = am.id_serie inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join ano_semestre ano_seg on (ano.semestre is null and ano_seg.ano = ano.ano + 1 and ano_seg.semestre is null) or (ano.semestre = 1 and ano_seg.ano = ano.ano and ano_seg.semestre = 2) or (ano.semestre = 2 and ano_seg.ano = ano.ano + 1 and ano_seg.semestre = 1) left join aluno_matricula am1 on am.id_aluno_matricula = am1.id_aluno_matricula_anterior left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente where am.id_aluno_matr_status = 7 and am1.id_aluno_matricula is null group by am.id_unidade_funcional, am.id_serie, ano_seg.id_ano_semestre, a.id_unidade_referencia, amt.id_serie_enturmacao, t.id_turno) as alunos group by alunos.id_unidade_funcional, alunos.id_serie, alunos.id_ano_semestre, alunos.id_procedencia_escola, alunos.id_unidade_referencia, alunos.id_serie_enturmacao, alunos.data_matricula, alunos.id_turno;
Date: 2026-07-06 01:07:10 Duration: 2s914ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
13 16 367.27 MiB 3.99 MiB 59.88 MiB 22.95 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-06 12:04:38 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
14 16 232.46 MiB 9.29 MiB 62.02 MiB 14.53 MiB insert into consulta.alunos_por_serie_idade_escola (id_unidade_funcional, id_serie, id_ano_semestre, id_turno, ano_nascimento, idade, feminino, masculino, distorcao, nao_alfabetizado, sexo_nao_informado, total, enturmado_total, necessidade_especial) select am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, turma.id_turno, cast(date_part(?, cidadao.nascimento_data) as int4) as ano_nascimento, cast(date_part(?, age(to_timestamp(? || ano.ano, ?), cidadao.nascimento_data)) as int4) as idade, sum( case when cidadao.sexo = ? then ? else ? end) as feminino, sum( case when cidadao.sexo = ? then ? else ? end) as masculino, count( case when date_part(?, age(to_timestamp(? || ano.ano, ?), cidadao.nascimento_data)) >= serie.idade_distorcao then ? else null end) as distorcao, count( case when am.flg_alfabetizado is false then ? else null end) as nao_alfabetizado, sum( case when cidadao.sexo is null then ? else ? end) as sexo_nao_informado, coalesce(count(am.id_aluno_matricula), ?) as total, coalesce(count(amt.id_aluno_matricula), ?) as enturmado_total, count( case when date_part(?, age(to_timestamp(? || ano.ano, ?), cidadao.nascimento_data)) >= serie.idade_distorcao and cidadao.flg_necessidade_especial then ? else null end) as necessidade_especial from aluno_matricula am inner join serie on serie.id_serie = am.id_serie inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma on turma.id_turma = amt.id_turma where am.id_aluno_matr_status in (...) group by am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, turma.id_turno, cast(date_part(?, cidadao.nascimento_data) as int4), cast(date_part(?, age(to_timestamp(? || ano.ano, ?), cidadao.nascimento_data)) as int4), turma.id_turno;-
insert into consulta.alunos_por_serie_idade_escola (id_unidade_funcional, id_serie, id_ano_semestre, id_turno, ano_nascimento, idade, feminino, masculino, distorcao, nao_alfabetizado, sexo_nao_informado, total, enturmado_total, necessidade_especial) select am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, turma.id_turno, cast(date_part('year', cidadao.nascimento_data) as int4) as ano_nascimento, cast(date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) as int4) as idade, sum( case when cidadao.sexo = 'F' then 1 else 0 end) as feminino, sum( case when cidadao.sexo = 'M' then 1 else 0 end) as masculino, count( case when date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) >= serie.idade_distorcao then 1 else null end) as distorcao, count( case when am.flg_alfabetizado is false then 1 else null end) as nao_alfabetizado, sum( case when cidadao.sexo is null then 1 else 0 end) as sexo_nao_informado, coalesce(count(am.id_aluno_matricula), 0) as total, coalesce(count(amt.id_aluno_matricula), 0) as enturmado_total, count( case when date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) >= serie.idade_distorcao and cidadao.flg_necessidade_especial then 1 else null end) as necessidade_especial from aluno_matricula am inner join serie on serie.id_serie = am.id_serie inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on turma.id_turma = amt.id_turma where am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, turma.id_turno, cast(date_part('year', cidadao.nascimento_data) as int4), cast(date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) as int4), turma.id_turno;
Date: 2026-07-06 00:19:53 Duration: 14s263ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into consulta.alunos_por_serie_idade_escola (id_unidade_funcional, id_serie, id_ano_semestre, id_turno, ano_nascimento, idade, feminino, masculino, distorcao, nao_alfabetizado, sexo_nao_informado, total, enturmado_total, necessidade_especial) select am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, turma.id_turno, cast(date_part('year', cidadao.nascimento_data) as int4) as ano_nascimento, cast(date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) as int4) as idade, sum( case when cidadao.sexo = 'F' then 1 else 0 end) as feminino, sum( case when cidadao.sexo = 'M' then 1 else 0 end) as masculino, count( case when date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) >= serie.idade_distorcao then 1 else null end) as distorcao, count( case when am.flg_alfabetizado is false then 1 else null end) as nao_alfabetizado, sum( case when cidadao.sexo is null then 1 else 0 end) as sexo_nao_informado, coalesce(count(am.id_aluno_matricula), 0) as total, coalesce(count(amt.id_aluno_matricula), 0) as enturmado_total, count( case when date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) >= serie.idade_distorcao and cidadao.flg_necessidade_especial then 1 else null end) as necessidade_especial from aluno_matricula am inner join serie on serie.id_serie = am.id_serie inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on turma.id_turma = amt.id_turma where am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, turma.id_turno, cast(date_part('year', cidadao.nascimento_data) as int4), cast(date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) as int4), turma.id_turno;
Date: 2026-07-06 00:04:25 Duration: 10s383ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
-
insert into consulta.alunos_por_serie_idade_escola (id_unidade_funcional, id_serie, id_ano_semestre, id_turno, ano_nascimento, idade, feminino, masculino, distorcao, nao_alfabetizado, sexo_nao_informado, total, enturmado_total, necessidade_especial) select am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, turma.id_turno, cast(date_part('year', cidadao.nascimento_data) as int4) as ano_nascimento, cast(date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) as int4) as idade, sum( case when cidadao.sexo = 'F' then 1 else 0 end) as feminino, sum( case when cidadao.sexo = 'M' then 1 else 0 end) as masculino, count( case when date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) >= serie.idade_distorcao then 1 else null end) as distorcao, count( case when am.flg_alfabetizado is false then 1 else null end) as nao_alfabetizado, sum( case when cidadao.sexo is null then 1 else 0 end) as sexo_nao_informado, coalesce(count(am.id_aluno_matricula), 0) as total, coalesce(count(amt.id_aluno_matricula), 0) as enturmado_total, count( case when date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) >= serie.idade_distorcao and cidadao.flg_necessidade_especial then 1 else null end) as necessidade_especial from aluno_matricula am inner join serie on serie.id_serie = am.id_serie inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma on turma.id_turma = amt.id_turma where am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, am.id_serie, am.id_ano_semestre, turma.id_turno, cast(date_part('year', cidadao.nascimento_data) as int4), cast(date_part('year', age(to_timestamp('31/03/' || ano.ano, 'DD/MM/YYYY'), cidadao.nascimento_data)) as int4), turma.id_turno;
Date: 2026-07-06 00:04:25 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
15 14 301.58 MiB 10.62 MiB 31.34 MiB 21.54 MiB insert into consulta.programa_mais_educacao (id_unidade_funcional, id_ano_semestre, total_alunos, alunos_pme_ano1, alunos_pme_ano2, alunos_pme_ano3, alunos_pme_ano4, alunos_pme_ano5, alunos_pme_ano6, alunos_pme_ano7, alunos_pme_ano8, alunos_pme_ano9) select am.id_unidade_funcional, ano.id_ano_semestre, cast(count(distinct am.id_aluno_matricula) as integer) as total, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano1, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano2, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano3, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano4, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano5, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano6, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano7, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano8, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = ? then amt_diversificada.id_aluno_matricula else null end) as integer) as ano9 from aluno_matricula am inner join serie s on am.id_serie = s.id_serie inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join mec_ensino_etapa_serie mees on mees.id_mec_ensino_etapa_serie = s.id_mec_ensino_etapa inner join turma t on amt.id_turma = t.id_turma inner join turno tu on tu.id_turno = t.id_turno left join aluno_matr_turma amt_diversificada on amt_diversificada.id_aluno_matricula = am.id_aluno_matricula and amt_diversificada.id_tipo_enturmacao = ? left join turma turma_diversificada on turma_diversificada.id_turma = amt_diversificada.id_turma and turma_diversificada.id_mec_programa = ? and turma_diversificada.id_mec_tipo_atendimento_turma = ? inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre where (mees.id_mec_ensino_etapa_serie >= ? and mees.id_mec_ensino_etapa_serie <= ? or mees.id_mec_ensino_etapa_serie = ?) and tu.flg_diurno and t.flg_especial = false and ano.semestre is null and am.id_aluno_matr_status in (...) group by am.id_unidade_funcional, ano.id_ano_semestre;-
insert into consulta.programa_mais_educacao (id_unidade_funcional, id_ano_semestre, total_alunos, alunos_pme_ano1, alunos_pme_ano2, alunos_pme_ano3, alunos_pme_ano4, alunos_pme_ano5, alunos_pme_ano6, alunos_pme_ano7, alunos_pme_ano8, alunos_pme_ano9) select am.id_unidade_funcional, ano.id_ano_semestre, cast(count(distinct am.id_aluno_matricula) as integer) as total, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 14 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano1, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 15 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano2, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 16 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano3, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 17 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano4, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 18 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano5, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 19 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano6, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 20 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano7, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 21 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano8, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 41 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano9 from aluno_matricula am inner join serie s on am.id_serie = s.id_serie inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join mec_ensino_etapa_serie mees on mees.id_mec_ensino_etapa_serie = s.id_mec_ensino_etapa inner join turma t on amt.id_turma = t.id_turma inner join turno tu on tu.id_turno = t.id_turno left join aluno_matr_turma amt_diversificada on amt_diversificada.id_aluno_matricula = am.id_aluno_matricula and amt_diversificada.id_tipo_enturmacao = 2 left join turma turma_diversificada on turma_diversificada.id_turma = amt_diversificada.id_turma and turma_diversificada.id_mec_programa = 1 and turma_diversificada.id_mec_tipo_atendimento_turma = 4 inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre where (mees.id_mec_ensino_etapa_serie >= 14 and mees.id_mec_ensino_etapa_serie <= 21 or mees.id_mec_ensino_etapa_serie = 41) and tu.flg_diurno and t.flg_especial = false and ano.semestre is null and am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, ano.id_ano_semestre;
Date: 2026-07-06 00:30:59 Duration: 8s651ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into consulta.programa_mais_educacao (id_unidade_funcional, id_ano_semestre, total_alunos, alunos_pme_ano1, alunos_pme_ano2, alunos_pme_ano3, alunos_pme_ano4, alunos_pme_ano5, alunos_pme_ano6, alunos_pme_ano7, alunos_pme_ano8, alunos_pme_ano9) select am.id_unidade_funcional, ano.id_ano_semestre, cast(count(distinct am.id_aluno_matricula) as integer) as total, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 14 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano1, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 15 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano2, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 16 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano3, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 17 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano4, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 18 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano5, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 19 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano6, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 20 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano7, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 21 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano8, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 41 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano9 from aluno_matricula am inner join serie s on am.id_serie = s.id_serie inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join mec_ensino_etapa_serie mees on mees.id_mec_ensino_etapa_serie = s.id_mec_ensino_etapa inner join turma t on amt.id_turma = t.id_turma inner join turno tu on tu.id_turno = t.id_turno left join aluno_matr_turma amt_diversificada on amt_diversificada.id_aluno_matricula = am.id_aluno_matricula and amt_diversificada.id_tipo_enturmacao = 2 left join turma turma_diversificada on turma_diversificada.id_turma = amt_diversificada.id_turma and turma_diversificada.id_mec_programa = 1 and turma_diversificada.id_mec_tipo_atendimento_turma = 4 inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre where (mees.id_mec_ensino_etapa_serie >= 14 and mees.id_mec_ensino_etapa_serie <= 21 or mees.id_mec_ensino_etapa_serie = 41) and tu.flg_diurno and t.flg_especial = false and ano.semestre is null and am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, ano.id_ano_semestre;
Date: 2026-07-06 00:06:09 Duration: 6s214ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
-
insert into consulta.programa_mais_educacao (id_unidade_funcional, id_ano_semestre, total_alunos, alunos_pme_ano1, alunos_pme_ano2, alunos_pme_ano3, alunos_pme_ano4, alunos_pme_ano5, alunos_pme_ano6, alunos_pme_ano7, alunos_pme_ano8, alunos_pme_ano9) select am.id_unidade_funcional, ano.id_ano_semestre, cast(count(distinct am.id_aluno_matricula) as integer) as total, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 14 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano1, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 15 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano2, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 16 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano3, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 17 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano4, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 18 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano5, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 19 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano6, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 20 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano7, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 21 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano8, cast(count(distinct case when turma_diversificada.id_turma is not null and mees.id_mec_ensino_etapa_serie = 41 then amt_diversificada.id_aluno_matricula else null end) as integer) as ano9 from aluno_matricula am inner join serie s on am.id_serie = s.id_serie inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join mec_ensino_etapa_serie mees on mees.id_mec_ensino_etapa_serie = s.id_mec_ensino_etapa inner join turma t on amt.id_turma = t.id_turma inner join turno tu on tu.id_turno = t.id_turno left join aluno_matr_turma amt_diversificada on amt_diversificada.id_aluno_matricula = am.id_aluno_matricula and amt_diversificada.id_tipo_enturmacao = 2 left join turma turma_diversificada on turma_diversificada.id_turma = amt_diversificada.id_turma and turma_diversificada.id_mec_programa = 1 and turma_diversificada.id_mec_tipo_atendimento_turma = 4 inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre where (mees.id_mec_ensino_etapa_serie >= 14 and mees.id_mec_ensino_etapa_serie <= 21 or mees.id_mec_ensino_etapa_serie = 41) and tu.flg_diurno and t.flg_especial = false and ano.semestre is null and am.id_aluno_matr_status in (1, 2, 7) group by am.id_unidade_funcional, ano.id_ano_semestre;
Date: 2026-07-06 01:23:44 Duration: 519ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
16 13 841.52 MiB 15.92 MiB 166.75 MiB 64.73 MiB update gestao_programa.acompanhamento_turma_disciplina set abaixo_media = nota.abaixo_media from ( select turma.id_turma, nota_aluno.id_disciplina, ? as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = ? left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (...) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / ?) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, ? as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = ? left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (...) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / ?) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, ? as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = ? left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (...) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / ?) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, ? as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = ? left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (...) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / ?) group by turma.id_turma, nota_aluno.id_disciplina) as nota where gestao_programa.acompanhamento_turma_disciplina.id_turma = nota.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = nota.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = nota.id_nota_periodo_aluno;-
update gestao_programa.acompanhamento_turma_disciplina set abaixo_media = nota.abaixo_media from ( select turma.id_turma, nota_aluno.id_disciplina, 1 as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = 1 left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (1, 2) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / 100) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, 2 as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = 2 left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (1, 2) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / 100) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, 3 as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = 3 left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (1, 2) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / 100) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, 4 as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = 4 left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (1, 2) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / 100) group by turma.id_turma, nota_aluno.id_disciplina) as nota where gestao_programa.acompanhamento_turma_disciplina.id_turma = nota.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = nota.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = nota.id_nota_periodo_aluno;
Date: 2026-07-06 00:35:02 Duration: 1m56s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
update gestao_programa.acompanhamento_turma_disciplina set abaixo_media = nota.abaixo_media from ( select turma.id_turma, nota_aluno.id_disciplina, 1 as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = 1 left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (1, 2) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / 100) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, 2 as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = 2 left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (1, 2) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / 100) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, 3 as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = 3 left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (1, 2) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / 100) group by turma.id_turma, nota_aluno.id_disciplina union all select turma.id_turma, nota_aluno.id_disciplina, 4 as id_nota_periodo_aluno, count(nota_aluno.id_aluno_matricula) as abaixo_media from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join nota_aluno on nota_aluno.id_turma = turma.id_turma and nota_aluno.id_disciplina = cc.id_disciplina and nota_aluno.id_nota_periodo_aluno = 4 left join conceito_avaliacao conceito on conceito.id_conceito_avaliacao = nota_aluno.id_conceito_avaliacao left join procedimento_avaliacao proc_aval on proc_aval.id_procedimento_avaliacao = serie.id_procedimento_avaliacao where turma.id_turma_status in (1, 2) and (conceito.flg_aprova is false or nota_aluno.nota < (serie.valor_maximo_nota * proc_aval.nota_min_aprovacao) / 100) group by turma.id_turma, nota_aluno.id_disciplina) as nota where gestao_programa.acompanhamento_turma_disciplina.id_turma = nota.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = nota.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = nota.id_nota_periodo_aluno;
Date: 2026-07-06 00:34:25 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
17 11 239.53 MiB 3.99 MiB 67.87 MiB 21.78 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-06 13:18:17 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
18 10 219.55 MiB 3.99 MiB 71.86 MiB 21.96 MiB 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 = ? and t.id_curso = ?) 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 = ? and t.id_curso = ?)) order by "titulo" asc) tabela;-
odta.id_observacao_documento_turma_aluno as "idObservacaoDocumentoTurmaAluno", odta.ano, odta.titulo, case when odta.flg_destinado_turma then 'Turma' else 'Aluno' end as destinado, odta.flg_ativo, odta.id_aluno_matricula, odta.id_turma from observacao_documento_turma_aluno odta where odta.ano = $1 and odta.id_instituicao = $2 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 = $3 and t.id_curso = $4) 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 = $5 and t.id_curso = $6)) order by "titulo" asc) tabela;
Date: 2026-07-06 14:00:20 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
19 10 1.01 GiB 28.70 MiB 200.04 MiB 103.19 MiB with dias_consecutivos as ( select id_instituicao, id_aluno_matricula, id_turma, row_number() over (partition by id_aluno_matricula, id_turma order by data) as rn, num_aula - row_number() over (partition by id_aluno_matricula, id_turma order by data) as grupo, num_aula, data, bimestre, faltas from call_center.falta_aluno_mes where faltas > ? and aulas = faltas) insert into call_center.falta_aluno_dias_consecutivos (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, data_inicio, data_fim, bimestre_inicio, bimestre_fim, dias, faltas) select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas union all select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas union all select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas;-
with dias_consecutivos as ( select id_instituicao, id_aluno_matricula, id_turma, row_number() over (partition by id_aluno_matricula, id_turma order by data) as rn, num_aula - row_number() over (partition by id_aluno_matricula, id_turma order by data) as grupo, num_aula, data, bimestre, faltas from call_center.falta_aluno_mes where faltas > 0 and aulas = faltas) insert into call_center.falta_aluno_dias_consecutivos (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, data_inicio, data_fim, bimestre_inicio, bimestre_fim, dias, faltas) select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas union all select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas union all select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '3' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 01:55:36 Duration: 30s977ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
with dias_consecutivos as ( select id_instituicao, id_aluno_matricula, id_turma, row_number() over (partition by id_aluno_matricula, id_turma order by data) as rn, num_aula - row_number() over (partition by id_aluno_matricula, id_turma order by data) as grupo, num_aula, data, bimestre, faltas from call_center.falta_aluno_mes where faltas > 0 and aulas = faltas) insert into call_center.falta_aluno_dias_consecutivos (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, data_inicio, data_fim, bimestre_inicio, bimestre_fim, dias, faltas) select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas union all select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas union all select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '3' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 00:13:41 Duration: 3s931ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
with dias_consecutivos as ( select id_instituicao, id_aluno_matricula, id_turma, row_number() over (partition by id_aluno_matricula, id_turma order by data) as rn, num_aula - row_number() over (partition by id_aluno_matricula, id_turma order by data) as grupo, num_aula, data, bimestre, faltas from call_center.falta_aluno_mes where faltas > 0 and aulas = faltas) insert into call_center.falta_aluno_dias_consecutivos (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, data_inicio, data_fim, bimestre_inicio, bimestre_fim, dias, faltas) select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas union all select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas union all select dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, parametro_frequencia.id_monitoramento_frequencia, min(dias_consecutivos.data) as data_inicio, max(dias_consecutivos.data) as data_fim, min(dias_consecutivos.bimestre) as bimestre_inicio, max(dias_consecutivos.bimestre) as bimestre_fim, count(distinct dias_consecutivos.data)::integer dias, sum(dias_consecutivos.faltas)::integer faltas from dias_consecutivos inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on dias_consecutivos.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '3' group by dias_consecutivos.id_instituicao, dias_consecutivos.id_aluno_matricula, dias_consecutivos.id_turma, dias_consecutivos.grupo, parametro_frequencia.id_monitoramento_frequencia, parametro_frequencia.faltas_consecutivas having count(distinct dias_consecutivos.data) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 01:30:57 Duration: 717ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
20 10 2.14 GiB 31.65 MiB 474.25 MiB 218.94 MiB create index if not exists ix_falta_aluno_mes on call_center.falta_aluno_mes using btree (id_aluno_matricula, id_turma, data);-
CREATE INDEX IF NOT EXISTS ix_falta_aluno_mes ON call_center.falta_aluno_mes USING btree (id_aluno_matricula, id_turma, data);
Date: 2026-07-06 01:55:05 Duration: 50s587ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
CREATE INDEX IF NOT EXISTS ix_falta_aluno_mes ON call_center.falta_aluno_mes USING btree (id_aluno_matricula, id_turma, data);
Date: 2026-07-06 00:13:38 Duration: 2s342ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
CREATE INDEX IF NOT EXISTS ix_falta_aluno_mes ON call_center.falta_aluno_mes USING btree (id_aluno_matricula, id_turma, data);
Date: 2026-07-06 00:13:37 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
21 9 271.47 MiB 3.99 MiB 95.81 MiB 30.16 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-06 13:22:52 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
22 9 488.99 MiB 14.15 MiB 108.77 MiB 54.33 MiB update gestao_programa.acompanhamento_turma_disciplina set falta_just_aluno = faltas.falta_just_aluno, falta_nao_just_aluno = faltas.falta_nao_just_aluno from ( select turma.id_turma, fad.id_disciplina, ? as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = ? where turma.id_turma_status in (...) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, ? as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = ? where turma.id_turma_status in (...) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, ? as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = ? where turma.id_turma_status in (...) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, ? as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = ? where turma.id_turma_status in (...) group by turma.id_turma, fad.id_disciplina) as faltas where gestao_programa.acompanhamento_turma_disciplina.id_turma = faltas.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = faltas.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = faltas.id_nota_periodo_aluno;-
update gestao_programa.acompanhamento_turma_disciplina set falta_just_aluno = faltas.falta_just_aluno, falta_nao_just_aluno = faltas.falta_nao_just_aluno from ( select turma.id_turma, fad.id_disciplina, 1 as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = 1 where turma.id_turma_status in (1, 2) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, 2 as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = 2 where turma.id_turma_status in (1, 2) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, 3 as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = 3 where turma.id_turma_status in (1, 2) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, 4 as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = 4 where turma.id_turma_status in (1, 2) group by turma.id_turma, fad.id_disciplina) as faltas where gestao_programa.acompanhamento_turma_disciplina.id_turma = faltas.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = faltas.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = faltas.id_nota_periodo_aluno;
Date: 2026-07-06 00:33:05 Duration: 35s338ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
update gestao_programa.acompanhamento_turma_disciplina set falta_just_aluno = faltas.falta_just_aluno, falta_nao_just_aluno = faltas.falta_nao_just_aluno from ( select turma.id_turma, fad.id_disciplina, 1 as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = 1 where turma.id_turma_status in (1, 2) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, 2 as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = 2 where turma.id_turma_status in (1, 2) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, 3 as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = 3 where turma.id_turma_status in (1, 2) group by turma.id_turma, fad.id_disciplina union all select turma.id_turma, fad.id_disciplina, 4 as id_nota_periodo_aluno, sum(fad.falta_justificada) as falta_just_aluno, sum(fad.falta_nao_justificada) as falta_nao_just_aluno from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join falta_aluno_disciplina fad on fad.id_turma = turma.id_turma and fad.id_disciplina = cc.id_disciplina and fad.id_nota_periodo_aluno = 4 where turma.id_turma_status in (1, 2) group by turma.id_turma, fad.id_disciplina) as faltas where gestao_programa.acompanhamento_turma_disciplina.id_turma = faltas.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = faltas.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = faltas.id_nota_periodo_aluno;
Date: 2026-07-06 00:32:48 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
23 9 389.89 MiB 23.45 MiB 72.73 MiB 43.32 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 ('260002055', '260002059', '260007154', '260002061', '260002058', '260002064', '260002057', '260002054', '260002065', '260002068', '260002060', '260002062', '260002066', '260002067', '260002063') 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-06 13:03:39 Duration: 6s944ms 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 ('260007134', '260007144', '260007131', '260007149', '260007129', '260007140', '260007125', '260007151', '260007124', '260007128', '260007145', '260007148', '260007126', '260007142', '260007122', '260007130', '260007143', '260007139', '260007127', '260007147', '260007150', '260007141', '260007123', '260007138', '260007133', '260007146', '260007135', '260007121', '260007137', '260007132', '260007136', '260007120') 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-06 13:05:52 Duration: 6s151ms 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 ('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-06 15:31:10 Duration: 5s541ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
24 7 99.80 MiB 3.99 MiB 39.92 MiB 14.26 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-06 11:54:03 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
25 6 179.65 MiB 3.99 MiB 131.74 MiB 29.94 MiB 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 = ? and t.id_curso = ? and ts.id_serie = ?) 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 = ? and t.id_curso = ? and am.id_serie = ?)) order by "titulo" asc) tabela;-
odta.id_observacao_documento_turma_aluno as "idObservacaoDocumentoTurmaAluno", odta.ano, odta.titulo, case when odta.flg_destinado_turma then 'Turma' else 'Aluno' end as destinado, odta.flg_ativo, odta.id_aluno_matricula, odta.id_turma from observacao_documento_turma_aluno odta where odta.ano = $1 and odta.id_instituicao = $2 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 = $3 and t.id_curso = $4 and ts.id_serie = $5) 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 = $6 and t.id_curso = $7 and am.id_serie = $8)) order by "titulo" asc) tabela;
Date: 2026-07-06 14:05:34 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
26 6 135.71 MiB 3.98 MiB 47.91 MiB 22.62 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-06 09:12:56 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
27 5 1.13 GiB 18.20 MiB 889.02 MiB 232.13 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, ? as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, ?)) as faltas, case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else arredondar_frequencia_aluno (? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part(?, aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part(?, aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else arredondar_frequencia_aluno (? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, '2' as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 02:02:48 Duration: 2m33s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, '2' as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 00:14:28 Duration: 9s65ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 00:14:28 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
28 4 3.02 GiB 222.99 MiB 1.00 GiB 774.25 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, ? as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = ? then ?.? when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then ?.? else arredondar_frequencia_aluno (ceil(? * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part(?, dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part(?, dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? inner join lateral ( select date_part(?, falta_aluno_mes.data) as ano, date_part(?, falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * ? + parametros.mes) <= (date_part(?, current_date) * ? + date_part(?, current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = ? then ?.? when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then ?.? else arredondar_frequencia_aluno (ceil(? * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part(?, dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part(?, dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, '1' as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 01:59:05 Duration: 3m29s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, '1' as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 00:14:10 Duration: 28s537ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, $1 as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 00:14:10 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
29 3 127.75 MiB 11.98 MiB 103.80 MiB 42.58 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-06 13:30:40 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
30 3 123.76 MiB 31.94 MiB 55.89 MiB 41.25 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, $8, $9) 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 $10 and $11) 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 = $12 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 = $13 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 >= $14 and fad.id_turma < $15 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 = $16 and ano.ano = $17 and modalidade.id_ensino_etapa = $18 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 ($19, $20, $21, $22) 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 $23 and $24) 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-06 13:34:34 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
31 3 19.96 MiB 3.99 MiB 7.98 MiB 6.65 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-06 16:36:32 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
32 3 107.79 MiB 11.98 MiB 59.88 MiB 35.93 MiB ano_semestre.id_ano_semestre || ? || curso.id_curso || ? || serie.id_serie as id_ano_curso_serie, ano_semestre.id_ano_semestre, curso.id_curso, serie.id_serie, ano_semestre.ano || coalesce(? || ano_semestre.semestre, ?) as ano_semestre, curso.descricao as curso, serie.descricao as serie, count(cidadao.id_cidadao) as alunos from cidadao inner join cidadao_saude on cidadao_saude.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = cidadao.id_cidadao inner join curso on curso.id_curso = aluno_matricula.id_curso inner join serie on serie.id_serie = aluno_matricula.id_serie inner join ano_semestre on ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join unidade_funcional on unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = aluno_matricula.id_aluno_matr_status where cidadao.id_instituicao = ? and cidadao_saude.flg_disturbio and aluno_matr_status.flg_status_ativo and ano_semestre.ano = ? and exists ( select null from cidadao_disturbio where cidadao_disturbio.id_cidadao = cidadao.id_cidadao) 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 = ? group by id_ano_curso_serie, ano_semestre.id_ano_semestre, curso.id_curso, serie.id_serie, ano_semestre.ano, ano_semestre.semestre, curso.descricao, serie.descricao order by "curso" asc) tabela;-
ano_semestre.id_ano_semestre || '_' || curso.id_curso || '_' || serie.id_serie as id_ano_curso_serie, ano_semestre.id_ano_semestre, curso.id_curso, serie.id_serie, ano_semestre.ano || coalesce('/' || ano_semestre.semestre, '') as ano_semestre, curso.descricao as curso, serie.descricao as serie, count(cidadao.id_cidadao) as alunos from cidadao inner join cidadao_saude on cidadao_saude.id_cidadao = cidadao.id_cidadao inner join aluno_matricula on aluno_matricula.id_cidadao = cidadao.id_cidadao inner join curso on curso.id_curso = aluno_matricula.id_curso inner join serie on serie.id_serie = aluno_matricula.id_serie inner join ano_semestre on ano_semestre.id_ano_semestre = aluno_matricula.id_ano_semestre inner join unidade_funcional on unidade_funcional.id_unidade_funcional = aluno_matricula.id_unidade_funcional inner join municipio on municipio.id_municipio = unidade_funcional.id_municipio inner join aluno_matr_status on aluno_matr_status.id_aluno_matr_status = aluno_matricula.id_aluno_matr_status where cidadao.id_instituicao = $1 and cidadao_saude.flg_disturbio and aluno_matr_status.flg_status_ativo and ano_semestre.ano = $2 and exists ( select null from cidadao_disturbio where cidadao_disturbio.id_cidadao = cidadao.id_cidadao) and unidade_funcional.id_unidade_funcional in ( select $3 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $4 and id_assunto_hierarquia_unidade = $5) and unidade_funcional.id_municipio = $6 group by id_ano_curso_serie, ano_semestre.id_ano_semestre, curso.id_curso, serie.id_serie, ano_semestre.ano, ano_semestre.semestre, curso.descricao, serie.descricao order by "curso" asc) tabela;
Date: 2026-07-06 13:33:53 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
33 3 1.02 GiB 9.83 MiB 1.00 GiB 349.47 MiB insert into consulta.material_escolar_alunos_posicao (id_instituicao, id_unidade_funcional, codigo_unidade, nome_unidade, id_material_escolar, id_componente_material_escolar, descricao_componente, ano, tamanho, id_material_escolar_numeracao, quantidade, total_alunos, total_alunos_material, total_alunos_sem_material, id_unidade_localizacao) select uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, mep.id_componente_material_escolar, cme.descricao, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, case when me.flg_exige_numeracao then count(aluno_numeracao.id_cidadao) else count(aluno_material.id_cidadao) end * mep.quantidade as quantidade, count(am.id_cidadao) as total_alunos, count(aluno_material.id_cidadao) as total_alunos_material, count(am.id_cidadao) - count(aluno_material.id_cidadao) as total_alunos_sem_material, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional) as id_unidade_localizacao from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and (me.sexo is null or me.sexo = cidadao.sexo) inner join material_escolar_componente mep on mep.id_material_escolar = me.id_material_escolar inner join componente_material_escolar cme on cme.id_componente_material_escolar = mep.id_componente_material_escolar left join material_escolar_aluno aluno_material on aluno_material.id_cidadao = am.id_cidadao and aluno_material.ano = ano.ano left join material_escolar_numeracao numeracao on numeracao.id_material_escolar = me.id_material_escolar left join material_escolar_aluno_num aluno_numeracao on aluno_numeracao.id_cidadao = aluno_material.id_cidadao and aluno_numeracao.id_material_escolar_numeracao = numeracao.id_material_escolar_numeracao where am.id_aluno_matr_status = ? group by uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, mep.id_componente_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, cme.descricao, mep.quantidade, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional);-
insert into consulta.material_escolar_alunos_posicao (id_instituicao, id_unidade_funcional, codigo_unidade, nome_unidade, id_material_escolar, id_componente_material_escolar, descricao_componente, ano, tamanho, id_material_escolar_numeracao, quantidade, total_alunos, total_alunos_material, total_alunos_sem_material, id_unidade_localizacao) select uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, mep.id_componente_material_escolar, cme.descricao, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, case when me.flg_exige_numeracao then count(aluno_numeracao.id_cidadao) else count(aluno_material.id_cidadao) end * mep.quantidade as quantidade, count(am.id_cidadao) as total_alunos, count(aluno_material.id_cidadao) as total_alunos_material, count(am.id_cidadao) - count(aluno_material.id_cidadao) as total_alunos_sem_material, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional) as id_unidade_localizacao from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and (me.sexo is null or me.sexo = cidadao.sexo) inner join material_escolar_componente mep on mep.id_material_escolar = me.id_material_escolar inner join componente_material_escolar cme on cme.id_componente_material_escolar = mep.id_componente_material_escolar left join material_escolar_aluno aluno_material on aluno_material.id_cidadao = am.id_cidadao and aluno_material.ano = ano.ano left join material_escolar_numeracao numeracao on numeracao.id_material_escolar = me.id_material_escolar left join material_escolar_aluno_num aluno_numeracao on aluno_numeracao.id_cidadao = aluno_material.id_cidadao and aluno_numeracao.id_material_escolar_numeracao = numeracao.id_material_escolar_numeracao where am.id_aluno_matr_status = 1 group by uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, mep.id_componente_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, cme.descricao, mep.quantidade, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional);
Date: 2026-07-06 00:20:53 Duration: 27s417ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into consulta.material_escolar_alunos_posicao (id_instituicao, id_unidade_funcional, codigo_unidade, nome_unidade, id_material_escolar, id_componente_material_escolar, descricao_componente, ano, tamanho, id_material_escolar_numeracao, quantidade, total_alunos, total_alunos_material, total_alunos_sem_material, id_unidade_localizacao) select uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, mep.id_componente_material_escolar, cme.descricao, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, case when me.flg_exige_numeracao then count(aluno_numeracao.id_cidadao) else count(aluno_material.id_cidadao) end * mep.quantidade as quantidade, count(am.id_cidadao) as total_alunos, count(aluno_material.id_cidadao) as total_alunos_material, count(am.id_cidadao) - count(aluno_material.id_cidadao) as total_alunos_sem_material, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional) as id_unidade_localizacao from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and (me.sexo is null or me.sexo = cidadao.sexo) inner join material_escolar_componente mep on mep.id_material_escolar = me.id_material_escolar inner join componente_material_escolar cme on cme.id_componente_material_escolar = mep.id_componente_material_escolar left join material_escolar_aluno aluno_material on aluno_material.id_cidadao = am.id_cidadao and aluno_material.ano = ano.ano left join material_escolar_numeracao numeracao on numeracao.id_material_escolar = me.id_material_escolar left join material_escolar_aluno_num aluno_numeracao on aluno_numeracao.id_cidadao = aluno_material.id_cidadao and aluno_numeracao.id_material_escolar_numeracao = numeracao.id_material_escolar_numeracao where am.id_aluno_matr_status = 1 group by uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, mep.id_componente_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, cme.descricao, mep.quantidade, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional);
Date: 2026-07-06 00:20:43 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
34 3 85.97 MiB 14.73 MiB 39.03 MiB 28.66 MiB update gestao_programa.acompanhamento_turma_serie set abaixo_media_aval_desc = avaliacao.abaixo_media_aval_desc from ( select turma.id_turma, aad.id_nota_periodo_aluno, serie.id_serie, sum( case when aad.flg_abaixo_media is true then ? else ? end) as abaixo_media_aval_desc from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join aluno_matr_turma amt on amt.id_turma = turma.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula and (serie.flg_correcao_fluxo is true or serie.id_serie = am.id_serie) inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = am.id_aluno_matricula and aad.id_turma = turma.id_turma where turma.id_turma_status in (...) and serie.id_forma_avaliacao = ? group by turma.id_turma, serie.id_serie, aad.id_nota_periodo_aluno) as avaliacao where gestao_programa.acompanhamento_turma_serie.id_turma = avaliacao.id_turma and gestao_programa.acompanhamento_turma_serie.id_serie = avaliacao.id_serie and gestao_programa.acompanhamento_turma_serie.id_nota_periodo_aluno = avaliacao.id_nota_periodo_aluno;-
update gestao_programa.acompanhamento_turma_serie set abaixo_media_aval_desc = avaliacao.abaixo_media_aval_desc from ( select turma.id_turma, aad.id_nota_periodo_aluno, serie.id_serie, sum( case when aad.flg_abaixo_media is true then 1 else 0 end) as abaixo_media_aval_desc from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join aluno_matr_turma amt on amt.id_turma = turma.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula and (serie.flg_correcao_fluxo is true or serie.id_serie = am.id_serie) inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = am.id_aluno_matricula and aad.id_turma = turma.id_turma where turma.id_turma_status in (1, 2) and serie.id_forma_avaliacao = 3 group by turma.id_turma, serie.id_serie, aad.id_nota_periodo_aluno) as avaliacao where gestao_programa.acompanhamento_turma_serie.id_turma = avaliacao.id_turma and gestao_programa.acompanhamento_turma_serie.id_serie = avaliacao.id_serie and gestao_programa.acompanhamento_turma_serie.id_nota_periodo_aluno = avaliacao.id_nota_periodo_aluno;
Date: 2026-07-06 00:32:21 Duration: 25s433ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
update gestao_programa.acompanhamento_turma_serie set abaixo_media_aval_desc = avaliacao.abaixo_media_aval_desc from ( select turma.id_turma, aad.id_nota_periodo_aluno, serie.id_serie, sum( case when aad.flg_abaixo_media is true then 1 else 0 end) as abaixo_media_aval_desc from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join aluno_matr_turma amt on amt.id_turma = turma.id_turma inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula and (serie.flg_correcao_fluxo is true or serie.id_serie = am.id_serie) inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = am.id_aluno_matricula and aad.id_turma = turma.id_turma where turma.id_turma_status in (1, 2) and serie.id_forma_avaliacao = 3 group by turma.id_turma, serie.id_serie, aad.id_nota_periodo_aluno) as avaliacao where gestao_programa.acompanhamento_turma_serie.id_turma = avaliacao.id_turma and gestao_programa.acompanhamento_turma_serie.id_serie = avaliacao.id_serie and gestao_programa.acompanhamento_turma_serie.id_nota_periodo_aluno = avaliacao.id_nota_periodo_aluno;
Date: 2026-07-06 00:32:15 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
35 2 7.98 MiB 3.99 MiB 3.99 MiB 3.99 MiB 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;-
odta.id_observacao_documento_turma_aluno as "idObservacaoDocumentoTurmaAluno", odta.ano, odta.titulo, case when odta.flg_destinado_turma then 'Turma' else 'Aluno' end as destinado, odta.flg_ativo, odta.id_aluno_matricula, odta.id_turma from observacao_documento_turma_aluno odta where odta.ano = $1 and odta.id_instituicao = $2 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 = $3) 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 = $4)) order by "titulo" asc) tabela;
Date: 2026-07-06 14:31:05 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
36 2 101.04 MiB 12.69 MiB 88.35 MiB 50.52 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, ? as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, ?)) as faltas, case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else round(? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = ? then ? else ? end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part(?, aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part(?, aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = ? left join definicao_parametro on definicao_parametro.nome = parametro.nome group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else round(? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = ? then ? else ? end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, '2' as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = 'arredondarFrequenciaAluno' left join definicao_parametro on definicao_parametro.nome = parametro.nome group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 01:31:09 Duration: 3s636ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = 'arredondarFrequenciaAluno' left join definicao_parametro on definicao_parametro.nome = parametro.nome group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 01:31:09 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
37 2 50.71 MiB 15.13 MiB 35.58 MiB 25.36 MiB select sp_criar_perfil_extendido ();-
select sp_criar_perfil_extendido ();
Date: 2026-07-06 00:40:03 Duration: 13s613ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
select sp_criar_perfil_extendido ();
Date: 2026-07-06 01:24:52 Duration: 5s212ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
select sp_criar_perfil_extendido ();
Date: 2026-07-06 00:08:14 Duration: 816ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
38 2 103.80 MiB 47.91 MiB 55.89 MiB 51.90 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 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 curso.id_periodicidade_apontamento = $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 = $7 and notificacao_aluno.ano = $8 and notificacao_aluno.periodo = $9 and notificacao_aluno.id_responsavel_notificacao = $10) order by "nome" asc, "nome" asc) tabela;
Date: 2026-07-06 11:48:33 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
39 2 39.91 MiB 3.98 MiB 35.93 MiB 19.96 MiB s.id_serie, am.id_ano_semestre, ano.ano || coalesce(? || ano.semestre, ?) as ano_semestre, cu.descricao as curso, s.descricao as serie, count(distinct c.id_cidadao) as nr_participantes 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 ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join serie s on am.id_serie = s.id_serie inner join curso cu on s.id_curso = cu.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional where c.flg_necessidade_especial is true and ano.ano = ? 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.id_cidadao in ( select cne.id_cidadao from cidadao_necessidade_especial cne where cne.id_necessidade_especial = ?) group by s.id_serie, am.id_ano_semestre, ano.ano, ano.semestre, cu.descricao, s.descricao order by ano_semestre, curso, serie limit ?;-
s.id_serie, am.id_ano_semestre, ano.ano || coalesce('/' || ano.semestre, '') as ano_semestre, cu.descricao as curso, s.descricao as serie, count(distinct c.id_cidadao) as nr_participantes 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 ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join serie s on am.id_serie = s.id_serie inner join curso cu on s.id_curso = cu.id_curso inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional where c.flg_necessidade_especial is true and ano.ano = $1 and u.id_unidade_funcional in ( select $2 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $3 and id_assunto_hierarquia_unidade = $4) and am.id_aluno_matr_status in ($5, $6, $7) and c.id_cidadao in ( select cne.id_cidadao from cidadao_necessidade_especial cne where cne.id_necessidade_especial = $8) group by s.id_serie, am.id_ano_semestre, ano.ano, ano.semestre, cu.descricao, s.descricao ORDER BY ano_semestre, curso, serie limit 20;
Date: 2026-07-06 11:44:32 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
40 2 15.97 MiB 3.99 MiB 11.98 MiB 7.98 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 ? offset ?;-
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 offset 10;
Date: 2026-07-06 11:32:26 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
41 2 196.45 MiB 81.12 MiB 115.33 MiB 98.22 MiB insert into consulta.rendimento_escolar_estatistica (id_rendimento_escolar_estatistica, id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, matricula_inicial, matricula_suplementar, transferidos, transferencia_interna, transferencia_externa, desistentes, falecidos, matricula_final, aprovados, reprovados_frequencia, reprovados_desempenho, reprovados, nao_enturmados) select nextval(?), id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, sum(matricula_inicial) as matricula_inicial, sum(matricula_suplementar) as matricula_suplementar, sum(transferidos) as transferidos, sum(transferencia_interna) as transferencia_interna, sum(transferencia_externa) as transferencia_externa, sum(desistentes) as desistentes, sum(falecidos) as falecidos, sum(matricula_final) as matricula_final, sum(aprovados) as aprovados, sum(reprovados_frequencia) as reprovados_frequencia, sum(reprovados_desempenho) as reprovados_desempenho, sum(reprovados) as reprovados, sum(nao_enturmados) as nao_enturmados from ( select am.id_unidade_funcional, c.id_curso, s.id_serie, am.id_ano_semestre, t.id_programa_pedagogico, am.id_aluno_matricula in ( select max(am2.id_aluno_matricula) from aluno_matricula am2 inner join ano_semestre ano2 on am2.id_ano_semestre = ano2.id_ano_semestre where am2.id_cidadao = am.id_cidadao and ano2.ano = anse.ano and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (...) union all select max(am2.id_aluno_matricula) from aluno_matricula am2 where am2.id_cidadao = am.id_cidadao and am2.id_ano_semestre = am.id_ano_semestre and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (...)) as flg_registro_utilizar, case when flg_matricula_inicial = true then ? else ? end as matricula_inicial, case when flg_matricula_inicial = false then ? else ? end as matricula_suplementar, case when am.id_aluno_matr_status = ? then ? else ? end as transferidos, case when am.id_aluno_matr_status = ? and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = ? and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit ?) is true then ? else ? end as transferencia_interna, case when am.id_aluno_matr_status = ? and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = ? and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit ?) is false then ? else ? end as transferencia_externa, case when am.id_aluno_matr_status = ? then ? else ? end as desistentes, case when am.id_aluno_matr_status = ? then ? else ? end as falecidos, case when am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? then ? else ? end as matricula_final, case when (am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ?) and (id_parecer_conclusivo_tipo = ? or id_parecer_conclusivo_tipo = ?) then ? else ? end as aprovados, case when (am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ?) and (id_parecer_conclusivo_tipo = ?) then ? else ? end as reprovados_frequencia, case when (am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ?) and (id_parecer_conclusivo_tipo = ?) then ? else ? end as reprovados_desempenho, case when (am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ?) and (id_parecer_conclusivo_tipo = ? or id_parecer_conclusivo_tipo = ?) then ? else ? end as reprovados, case when amt.id_aluno_matricula is null and am.id_aluno_matr_status = ? then ? else ? end as nao_enturmados from aluno_matricula am inner join curso c on am.id_curso = c.id_curso inner join serie s on am.id_serie = s.id_serie left join parecer_conclusivo pc on am.id_aluno_matricula = pc.id_aluno_matricula inner join ano_semestre anse on am.id_ano_semestre = anse.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma t on amt.id_turma = t.id_turma where am.id_aluno_matr_status in (...) and ((t.id_diario_turma_situacao = ? and amt.id_diario_turma_situacao_enturmacao = ?) or coalesce(t.id_diario_turma_situacao, ?) <> ?)) t where flg_registro_utilizar group by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico order by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico;-
insert into consulta.rendimento_escolar_estatistica (id_rendimento_escolar_estatistica, id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, matricula_inicial, matricula_suplementar, transferidos, transferencia_interna, transferencia_externa, desistentes, falecidos, matricula_final, aprovados, reprovados_frequencia, reprovados_desempenho, reprovados, nao_enturmados) select nextval('sq_rendimento_escolar_estatistica_id'), id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, sum(matricula_inicial) as matricula_inicial, sum(matricula_suplementar) as matricula_suplementar, sum(transferidos) as transferidos, sum(transferencia_interna) as transferencia_interna, sum(transferencia_externa) as transferencia_externa, sum(desistentes) as desistentes, sum(falecidos) as falecidos, sum(matricula_final) as matricula_final, sum(aprovados) as aprovados, sum(reprovados_frequencia) as reprovados_frequencia, sum(reprovados_desempenho) as reprovados_desempenho, sum(reprovados) as reprovados, sum(nao_enturmados) as nao_enturmados from ( select am.id_unidade_funcional, c.id_curso, s.id_serie, am.id_ano_semestre, t.id_programa_pedagogico, am.id_aluno_matricula in ( select max(am2.id_aluno_matricula) from aluno_matricula am2 inner join ano_semestre ano2 on am2.id_ano_semestre = ano2.id_ano_semestre where am2.id_cidadao = am.id_cidadao and ano2.ano = anse.ano and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) union all select max(am2.id_aluno_matricula) from aluno_matricula am2 where am2.id_cidadao = am.id_cidadao and am2.id_ano_semestre = am.id_ano_semestre and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 7)) as flg_registro_utilizar, case when flg_matricula_inicial = true then 1 else 0 end as matricula_inicial, case when flg_matricula_inicial = false then 1 else 0 end as matricula_suplementar, case when am.id_aluno_matr_status = 6 then 1 else 0 end as transferidos, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is true then 1 else 0 end as transferencia_interna, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is false then 1 else 0 end as transferencia_externa, case when am.id_aluno_matr_status = 3 then 1 else 0 end as desistentes, case when am.id_aluno_matr_status = 4 then 1 else 0 end as falecidos, case when am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7 then 1 else 0 end as matricula_final, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 0 or id_parecer_conclusivo_tipo = 3) then 1 else 0 end as aprovados, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 1) then 1 else 0 end as reprovados_frequencia, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 2) then 1 else 0 end as reprovados_desempenho, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 1 or id_parecer_conclusivo_tipo = 2) then 1 else 0 end as reprovados, case when amt.id_aluno_matricula is null and am.id_aluno_matr_status = 1 then 1 else 0 end as nao_enturmados from aluno_matricula am inner join curso c on am.id_curso = c.id_curso inner join serie s on am.id_serie = s.id_serie left join parecer_conclusivo pc on am.id_aluno_matricula = pc.id_aluno_matricula inner join ano_semestre anse on am.id_ano_semestre = anse.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma where am.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) and ((t.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or coalesce(t.id_diario_turma_situacao, -1) <> '2')) t where flg_registro_utilizar group by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico order by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico;
Date: 2026-07-06 00:04:14 Duration: 1m26s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
-
insert into consulta.rendimento_escolar_estatistica (id_rendimento_escolar_estatistica, id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, matricula_inicial, matricula_suplementar, transferidos, transferencia_interna, transferencia_externa, desistentes, falecidos, matricula_final, aprovados, reprovados_frequencia, reprovados_desempenho, reprovados, nao_enturmados) select nextval('sq_rendimento_escolar_estatistica_id'), id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, sum(matricula_inicial) as matricula_inicial, sum(matricula_suplementar) as matricula_suplementar, sum(transferidos) as transferidos, sum(transferencia_interna) as transferencia_interna, sum(transferencia_externa) as transferencia_externa, sum(desistentes) as desistentes, sum(falecidos) as falecidos, sum(matricula_final) as matricula_final, sum(aprovados) as aprovados, sum(reprovados_frequencia) as reprovados_frequencia, sum(reprovados_desempenho) as reprovados_desempenho, sum(reprovados) as reprovados, sum(nao_enturmados) as nao_enturmados from ( select am.id_unidade_funcional, c.id_curso, s.id_serie, am.id_ano_semestre, t.id_programa_pedagogico, am.id_aluno_matricula in ( select max(am2.id_aluno_matricula) from aluno_matricula am2 inner join ano_semestre ano2 on am2.id_ano_semestre = ano2.id_ano_semestre where am2.id_cidadao = am.id_cidadao and ano2.ano = anse.ano and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) union all select max(am2.id_aluno_matricula) from aluno_matricula am2 where am2.id_cidadao = am.id_cidadao and am2.id_ano_semestre = am.id_ano_semestre and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 7)) as flg_registro_utilizar, case when flg_matricula_inicial = true then 1 else 0 end as matricula_inicial, case when flg_matricula_inicial = false then 1 else 0 end as matricula_suplementar, case when am.id_aluno_matr_status = 6 then 1 else 0 end as transferidos, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is true then 1 else 0 end as transferencia_interna, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is false then 1 else 0 end as transferencia_externa, case when am.id_aluno_matr_status = 3 then 1 else 0 end as desistentes, case when am.id_aluno_matr_status = 4 then 1 else 0 end as falecidos, case when am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7 then 1 else 0 end as matricula_final, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 0 or id_parecer_conclusivo_tipo = 3) then 1 else 0 end as aprovados, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 1) then 1 else 0 end as reprovados_frequencia, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 2) then 1 else 0 end as reprovados_desempenho, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 1 or id_parecer_conclusivo_tipo = 2) then 1 else 0 end as reprovados, case when amt.id_aluno_matricula is null and am.id_aluno_matr_status = 1 then 1 else 0 end as nao_enturmados from aluno_matricula am inner join curso c on am.id_curso = c.id_curso inner join serie s on am.id_serie = s.id_serie left join parecer_conclusivo pc on am.id_aluno_matricula = pc.id_aluno_matricula inner join ano_semestre anse on am.id_ano_semestre = anse.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma where am.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) and ((t.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or coalesce(t.id_diario_turma_situacao, -1) <> '2')) t where flg_registro_utilizar group by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico order by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico;
Date: 2026-07-06 00:19:37 Duration: 1m7s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into consulta.rendimento_escolar_estatistica (id_rendimento_escolar_estatistica, id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, matricula_inicial, matricula_suplementar, transferidos, transferencia_interna, transferencia_externa, desistentes, falecidos, matricula_final, aprovados, reprovados_frequencia, reprovados_desempenho, reprovados, nao_enturmados) select nextval('sq_rendimento_escolar_estatistica_id'), id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, sum(matricula_inicial) as matricula_inicial, sum(matricula_suplementar) as matricula_suplementar, sum(transferidos) as transferidos, sum(transferencia_interna) as transferencia_interna, sum(transferencia_externa) as transferencia_externa, sum(desistentes) as desistentes, sum(falecidos) as falecidos, sum(matricula_final) as matricula_final, sum(aprovados) as aprovados, sum(reprovados_frequencia) as reprovados_frequencia, sum(reprovados_desempenho) as reprovados_desempenho, sum(reprovados) as reprovados, sum(nao_enturmados) as nao_enturmados from ( select am.id_unidade_funcional, c.id_curso, s.id_serie, am.id_ano_semestre, t.id_programa_pedagogico, am.id_aluno_matricula in ( select max(am2.id_aluno_matricula) from aluno_matricula am2 inner join ano_semestre ano2 on am2.id_ano_semestre = ano2.id_ano_semestre where am2.id_cidadao = am.id_cidadao and ano2.ano = anse.ano and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) union all select max(am2.id_aluno_matricula) from aluno_matricula am2 where am2.id_cidadao = am.id_cidadao and am2.id_ano_semestre = am.id_ano_semestre and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 7)) as flg_registro_utilizar, case when flg_matricula_inicial = true then 1 else 0 end as matricula_inicial, case when flg_matricula_inicial = false then 1 else 0 end as matricula_suplementar, case when am.id_aluno_matr_status = 6 then 1 else 0 end as transferidos, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is true then 1 else 0 end as transferencia_interna, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is false then 1 else 0 end as transferencia_externa, case when am.id_aluno_matr_status = 3 then 1 else 0 end as desistentes, case when am.id_aluno_matr_status = 4 then 1 else 0 end as falecidos, case when am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7 then 1 else 0 end as matricula_final, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 0 or id_parecer_conclusivo_tipo = 3) then 1 else 0 end as aprovados, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 1) then 1 else 0 end as reprovados_frequencia, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 2) then 1 else 0 end as reprovados_desempenho, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 1 or id_parecer_conclusivo_tipo = 2) then 1 else 0 end as reprovados, case when amt.id_aluno_matricula is null and am.id_aluno_matr_status = 1 then 1 else 0 end as nao_enturmados from aluno_matricula am inner join curso c on am.id_curso = c.id_curso inner join serie s on am.id_serie = s.id_serie left join parecer_conclusivo pc on am.id_aluno_matricula = pc.id_aluno_matricula inner join ano_semestre anse on am.id_ano_semestre = anse.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma where am.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) and ((t.id_diario_turma_situacao = $1 and amt.id_diario_turma_situacao_enturmacao = $2) or coalesce(t.id_diario_turma_situacao, -1) <> $3)) t where flg_registro_utilizar group by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico order by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico;
Date: 2026-07-06 00:04:14 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
42 2 63.88 MiB 7.98 MiB 55.89 MiB 31.94 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-06 13:47:43 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
43 2 53.72 MiB 14.58 MiB 39.14 MiB 26.86 MiB insert into consulta.material_escolar_alunos_sem_num_det (ano, id_unidade_funcional, id_material_escolar, id_curso, id_serie, id_turma, alunos) select ano_semestre.ano, am.id_unidade_funcional, me.id_material_escolar, am.id_curso, am.id_serie, amt.id_turma, count(am.id_cidadao) as alunos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and me.flg_exige_numeracao is true left join material_escolar_aluno on material_escolar_aluno.id_cidadao = am.id_cidadao and material_escolar_aluno.ano = ano_semestre.ano left join material_escolar_aluno_num me_num on me_num.id_cidadao = material_escolar_aluno.id_cidadao and me_num.id_material_escolar = me.id_material_escolar left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? where me_num.id_material_escolar is null and (me.sexo is null or me.sexo = cidadao.sexo) and am.id_aluno_matr_status = ? group by ano_semestre.ano, am.id_unidade_funcional, me.id_material_escolar, am.id_curso, am.id_serie, amt.id_turma;-
insert into consulta.material_escolar_alunos_sem_num_det (ano, id_unidade_funcional, id_material_escolar, id_curso, id_serie, id_turma, alunos) select ano_semestre.ano, am.id_unidade_funcional, me.id_material_escolar, am.id_curso, am.id_serie, amt.id_turma, count(am.id_cidadao) as alunos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and me.flg_exige_numeracao is true left join material_escolar_aluno on material_escolar_aluno.id_cidadao = am.id_cidadao and material_escolar_aluno.ano = ano_semestre.ano left join material_escolar_aluno_num me_num on me_num.id_cidadao = material_escolar_aluno.id_cidadao and me_num.id_material_escolar = me.id_material_escolar left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 where me_num.id_material_escolar is null and (me.sexo is null or me.sexo = cidadao.sexo) and am.id_aluno_matr_status = 1 group by ano_semestre.ano, am.id_unidade_funcional, me.id_material_escolar, am.id_curso, am.id_serie, amt.id_turma;
Date: 2026-07-06 00:20:02 Duration: 5s121ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into consulta.material_escolar_alunos_sem_num_det (ano, id_unidade_funcional, id_material_escolar, id_curso, id_serie, id_turma, alunos) select ano_semestre.ano, am.id_unidade_funcional, me.id_material_escolar, am.id_curso, am.id_serie, amt.id_turma, count(am.id_cidadao) as alunos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and me.flg_exige_numeracao is true left join material_escolar_aluno on material_escolar_aluno.id_cidadao = am.id_cidadao and material_escolar_aluno.ano = ano_semestre.ano left join material_escolar_aluno_num me_num on me_num.id_cidadao = material_escolar_aluno.id_cidadao and me_num.id_material_escolar = me.id_material_escolar left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 where me_num.id_material_escolar is null and (me.sexo is null or me.sexo = cidadao.sexo) and am.id_aluno_matr_status = 1 group by ano_semestre.ano, am.id_unidade_funcional, me.id_material_escolar, am.id_curso, am.id_serie, amt.id_turma;
Date: 2026-07-06 01:07:26 Duration: 598ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into consulta.material_escolar_alunos_sem_num_det (ano, id_unidade_funcional, id_material_escolar, id_curso, id_serie, id_turma, alunos) select ano_semestre.ano, am.id_unidade_funcional, me.id_material_escolar, am.id_curso, am.id_serie, amt.id_turma, count(am.id_cidadao) as alunos from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and me.flg_exige_numeracao is true left join material_escolar_aluno on material_escolar_aluno.id_cidadao = am.id_cidadao and material_escolar_aluno.ano = ano_semestre.ano left join material_escolar_aluno_num me_num on me_num.id_cidadao = material_escolar_aluno.id_cidadao and me_num.id_material_escolar = me.id_material_escolar left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 where me_num.id_material_escolar is null and (me.sexo is null or me.sexo = cidadao.sexo) and am.id_aluno_matr_status = 1 group by ano_semestre.ano, am.id_unidade_funcional, me.id_material_escolar, am.id_curso, am.id_serie, amt.id_turma;
Date: 2026-07-06 00:20:02 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
44 2 9.31 MiB 405.23 KiB 8.91 MiB 4.66 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, ? as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, ?)) as faltas, case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else round(? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = ? then ? else ? end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part(?, aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part(?, aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = ? left join definicao_parametro on definicao_parametro.nome = parametro.nome group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when aulas.aulas = ? then ?.? when sum(coalesce(faltas.falta_nao_justificada, ?)) > aulas.aulas then ?.? else round(? * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, ?))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = ? then ? else ? end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, '3' as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '3' where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = 'arredondarFrequenciaAluno' left join definicao_parametro on definicao_parametro.nome = parametro.nome group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;
Date: 2026-07-06 01:31:11 Duration: 2s4ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data) as ano, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, date_part('year', aulas.data), parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = 'arredondarFrequenciaAluno' left join definicao_parametro on definicao_parametro.nome = parametro.nome group by aulas.id_instituicao, faltas.id_aluno_matricula, faltas.id_turma, aulas.ano, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma) > aulas.faltas_consecutivas;
Date: 2026-07-06 01:31:11 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
45 2 11.76 MiB 1.79 MiB 9.97 MiB 5.88 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, ? as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, ?) as faltas, case when aulas.aulas = ? then ?.? when coalesce(faltas.falta_nao_justificada, ?) > aulas.aulas then ?.? else round(? * (aulas.aulas - coalesce(faltas.falta_nao_justificada, ?)) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = ? then ? else ? end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part(?, aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part(?, aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = ? left join definicao_parametro on definicao_parametro.nome = parametro.nome where case when aulas.aulas = ? then ?.? when coalesce(faltas.falta_nao_justificada, ?) > aulas.aulas then ?.? else round(? * (aulas.aulas - coalesce(faltas.falta_nao_justificada, ?)) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = ? then ? else ? end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, '2' as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, 0) as faltas, case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = 'arredondarFrequenciaAluno' left join definicao_parametro on definicao_parametro.nome = parametro.nome where case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 01:31:05 Duration: 2s185ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, 0) as faltas, case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno left join parametro on parametro.id_instituicao = aulas.id_instituicao and parametro.nome = 'arredondarFrequenciaAluno' left join definicao_parametro on definicao_parametro.nome = parametro.nome where case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else round(100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;
Date: 2026-07-06 01:31:05 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
46 2 9.98 MiB 818.32 KiB 9.18 MiB 4.99 MiB update gestao_programa.acompanhamento_turma_disciplina set falta_just_professor = faltas.falta_just_professor, licenca_professor = faltas.licenca_professor, falta_nao_just_professor = faltas.falta_nao_just_professor, aula_reposta = faltas.aula_reposta from ( select turma.id_turma, cc.id_disciplina, calendario_periodo.ordem as id_nota_periodo_aluno, sum( case when falta_professor.flg_justificada is false then ? else ? end) as falta_nao_just_professor, sum( case when falta_professor.flg_justificada is true and motivo_ausencia.flg_licenca is false then ? else ? end) as falta_just_professor, sum( case when falta_professor.flg_justificada is true and motivo_ausencia.flg_licenca is true then ? else ? end) as licenca_professor, sum( case when falta_professor.flg_aula_dada is true or falta_professor.flg_aula_reposicao then ? else ? end) as aula_reposta from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre 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 calendario_periodo on (curso.flg_calendario_diferenciado and curso_calendario.id_calendario is not null and curso_calendario.id_calendario = calendario_periodo.id_calendario) or (calendario_periodo.id_calendario = escola_calendario.id_calendario and (curso_calendario.id_calendario is null or not curso.flg_calendario_diferenciado)) inner join falta_professor_turma falta_professor on falta_professor.id_turma = turma.id_turma and falta_professor.id_disciplina = cc.id_disciplina left join motivo_ausencia on falta_professor.id_motivo_ausencia = motivo_ausencia.id_motivo_ausencia where turma.id_turma_status in (...) and serie.flg_regencia_classe is false and falta_professor.data >= calendario_periodo.data_inicio and falta_professor.data < calendario_periodo.data_final + interval ? group by turma.id_turma, cc.id_disciplina, calendario_periodo.ordem) as faltas where gestao_programa.acompanhamento_turma_disciplina.id_turma = faltas.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = faltas.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = faltas.id_nota_periodo_aluno;-
update gestao_programa.acompanhamento_turma_disciplina set falta_just_professor = faltas.falta_just_professor, licenca_professor = faltas.licenca_professor, falta_nao_just_professor = faltas.falta_nao_just_professor, aula_reposta = faltas.aula_reposta from ( select turma.id_turma, cc.id_disciplina, calendario_periodo.ordem as id_nota_periodo_aluno, sum( case when falta_professor.flg_justificada is false then 1 else 0 end) as falta_nao_just_professor, sum( case when falta_professor.flg_justificada is true and motivo_ausencia.flg_licenca is false then 1 else 0 end) as falta_just_professor, sum( case when falta_professor.flg_justificada is true and motivo_ausencia.flg_licenca is true then 1 else 0 end) as licenca_professor, sum( case when falta_professor.flg_aula_dada is true or falta_professor.flg_aula_reposicao then 1 else 0 end) as aula_reposta from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre 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 calendario_periodo on (curso.flg_calendario_diferenciado and curso_calendario.id_calendario is not null and curso_calendario.id_calendario = calendario_periodo.id_calendario) or (calendario_periodo.id_calendario = escola_calendario.id_calendario and (curso_calendario.id_calendario is null or not curso.flg_calendario_diferenciado)) inner join falta_professor_turma falta_professor on falta_professor.id_turma = turma.id_turma and falta_professor.id_disciplina = cc.id_disciplina left join motivo_ausencia on falta_professor.id_motivo_ausencia = motivo_ausencia.id_motivo_ausencia where turma.id_turma_status in (1, 2) and serie.flg_regencia_classe is false and falta_professor.data >= calendario_periodo.data_inicio and falta_professor.data < calendario_periodo.data_final + interval '1 day' group by turma.id_turma, cc.id_disciplina, calendario_periodo.ordem) as faltas where gestao_programa.acompanhamento_turma_disciplina.id_turma = faltas.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = faltas.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = faltas.id_nota_periodo_aluno;
Date: 2026-07-06 00:33:06 Duration: 530ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
update gestao_programa.acompanhamento_turma_disciplina set falta_just_professor = faltas.falta_just_professor, licenca_professor = faltas.licenca_professor, falta_nao_just_professor = faltas.falta_nao_just_professor, aula_reposta = faltas.aula_reposta from ( select turma.id_turma, cc.id_disciplina, calendario_periodo.ordem as id_nota_periodo_aluno, sum( case when falta_professor.flg_justificada is false then 1 else 0 end) as falta_nao_just_professor, sum( case when falta_professor.flg_justificada is true and motivo_ausencia.flg_licenca is false then 1 else 0 end) as falta_just_professor, sum( case when falta_professor.flg_justificada is true and motivo_ausencia.flg_licenca is true then 1 else 0 end) as licenca_professor, sum( case when falta_professor.flg_aula_dada is true or falta_professor.flg_aula_reposicao then 1 else 0 end) as aula_reposta from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre 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 calendario_periodo on (curso.flg_calendario_diferenciado and curso_calendario.id_calendario is not null and curso_calendario.id_calendario = calendario_periodo.id_calendario) or (calendario_periodo.id_calendario = escola_calendario.id_calendario and (curso_calendario.id_calendario is null or not curso.flg_calendario_diferenciado)) inner join falta_professor_turma falta_professor on falta_professor.id_turma = turma.id_turma and falta_professor.id_disciplina = cc.id_disciplina left join motivo_ausencia on falta_professor.id_motivo_ausencia = motivo_ausencia.id_motivo_ausencia where turma.id_turma_status in (1, 2) and serie.flg_regencia_classe is false and falta_professor.data >= calendario_periodo.data_inicio and falta_professor.data < calendario_periodo.data_final + interval '1 day' group by turma.id_turma, cc.id_disciplina, calendario_periodo.ordem) as faltas where gestao_programa.acompanhamento_turma_disciplina.id_turma = faltas.id_turma and gestao_programa.acompanhamento_turma_disciplina.id_disciplina = faltas.id_disciplina and gestao_programa.acompanhamento_turma_disciplina.id_nota_periodo_aluno = faltas.id_nota_periodo_aluno;
Date: 2026-07-06 00:33:06 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
47 2 141.93 MiB 9.78 MiB 132.15 MiB 70.96 MiB id_unidade_funcional, id_ano_semestre, ano, semestre, flg_especial, id_curso, id_serie, id_tipo_turma_diversificada, id_unidade_localizacao, id_turma, codigo_turma, nome_turma, id_tipo_turma, sigla_turno, num_sala, idade_minima, idade_minima_meses, idade_maxima, idade_maxima_meses, vagas, vagas_remanescentes, enturmados, id_turma_status ) select t.id_unidade_funcional, t.id_ano_semestre, ano.ano, ano.semestre, t.flg_especial, t.id_curso, ts.id_serie, null as id_tipo_turma_diversificada, a.id_unidade_referencia as id_unidade_localizacao, t.id_turma, t.codigo, t.nome, t.id_tipo_turma, tu.sigla as turno, a.num_sala, t.idade_minima, t.idade_minima_meses, t.idade_maxima, t.idade_maxima_meses, ts.num_vagas_oferecidas as vagas, ts.num_vagas_remanescentes as vagas_remanescentes, coalesce(( select count(am.id_aluno_matricula)::integer as enturmados from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? where amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and am.id_aluno_matr_status in (...) group by amt.id_turma), ?) as enturmados, t.id_turma_status 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 inner join ambiente a on a.id_ambiente = t.id_ambiente inner join turno tu on tu.id_turno = t.id_turno where t.id_turma_status in (...) and t.id_tipo_turma = ? union all select t.id_unidade_funcional, t.id_ano_semestre, ano.ano, ano.semestre, t.flg_especial, null as id_curso, null as id_serie, te.id_tipo_turma_diversificada, a.id_unidade_referencia as id_unidade_localizacao, t.id_turma, t.codigo, t.nome, t.id_tipo_turma, tu.sigla as turno, a.num_sala, null as idade_minima, null as idade_minima_meses, null as idade_maxima, null as idade_maxima_meses, te.num_vagas_oferecidas as vagas, te.num_vagas_remanescentes as vagas_remanescentes, coalesce(( select count(am.id_aluno_matricula)::integer as enturmados from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? where amt.id_turma = t.id_turma and am.id_aluno_matr_status in (...) group by amt.id_turma), ?) as enturmados, t.id_turma_status from turma t inner join turma_especial te on te.id_turma = t.id_turma inner join ano_semestre ano on ano.id_ano_semestre = t.id_ano_semestre inner join ambiente a on a.id_ambiente = t.id_ambiente inner join turno tu on tu.id_turno = t.id_turno where t.id_turma_status in (...) union all select t.id_unidade_funcional, t.id_ano_semestre, ano.ano, ano.semestre, t.flg_especial, t.id_curso, ts.id_serie, null as id_tipo_turma_diversificada, a.id_unidade_referencia as id_unidade_localizacao, t.id_turma, t.codigo, t.nome, t.id_tipo_turma, tu.sigla as turno, a.num_sala, null as idade_minima, null as idade_minima_meses, null as idade_maxima, null as idade_maxima_meses, tc.num_vagas_oferecidas as vagas, tc.num_vagas_remanescentes as vagas_remanescentes, coalesce(( select count(am.id_aluno_matricula)::integer as enturmados from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? where amt.id_turma = t.id_turma and am.id_aluno_matr_status in (...) group by amt.id_turma), ?) as enturmados, t.id_turma_status from turma t inner join turma_complementar tc on tc.id_turma = t.id_turma 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 inner join ambiente a on a.id_ambiente = t.id_ambiente inner join turno tu on tu.id_turno = t.id_turno where t.id_turma_status in (...) and t.id_tipo_turma = ?;-
id_unidade_funcional, id_ano_semestre, ano, semestre, flg_especial, id_curso, id_serie, id_tipo_turma_diversificada, id_unidade_localizacao, id_turma, codigo_turma, nome_turma, id_tipo_turma, sigla_turno, num_sala, idade_minima, idade_minima_meses, idade_maxima, idade_maxima_meses, vagas, vagas_remanescentes, enturmados, id_turma_status ) select t.id_unidade_funcional, t.id_ano_semestre, ano.ano, ano.semestre, t.flg_especial, t.id_curso, ts.id_serie, null as id_tipo_turma_diversificada, a.id_unidade_referencia as id_unidade_localizacao, t.id_turma, t.codigo, t.nome, t.id_tipo_turma, tu.sigla as turno, a.num_sala, t.idade_minima, t.idade_minima_meses, t.idade_maxima, t.idade_maxima_meses, ts.num_vagas_oferecidas as vagas, ts.num_vagas_remanescentes as vagas_remanescentes, coalesce(( select count(am.id_aluno_matricula)::integer as enturmados from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = $1 where amt.id_turma = t.id_turma and amt.id_serie_enturmacao = ts.id_serie and am.id_aluno_matr_status in ($2, $3, $4) group by amt.id_turma), 0) as enturmados, t.id_turma_status 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 inner join ambiente a on a.id_ambiente = t.id_ambiente inner join turno tu on tu.id_turno = t.id_turno where t.id_turma_status in ($5, $6) and t.id_tipo_turma = $7 union all select t.id_unidade_funcional, t.id_ano_semestre, ano.ano, ano.semestre, t.flg_especial, null as id_curso, null as id_serie, te.id_tipo_turma_diversificada, a.id_unidade_referencia as id_unidade_localizacao, t.id_turma, t.codigo, t.nome, t.id_tipo_turma, tu.sigla as turno, a.num_sala, null as idade_minima, null as idade_minima_meses, null as idade_maxima, null as idade_maxima_meses, te.num_vagas_oferecidas as vagas, te.num_vagas_remanescentes as vagas_remanescentes, coalesce(( select count(am.id_aluno_matricula)::integer as enturmados from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = $8 where amt.id_turma = t.id_turma and am.id_aluno_matr_status in ($9, $10, $11) group by amt.id_turma), 0) as enturmados, t.id_turma_status from turma t inner join turma_especial te on te.id_turma = t.id_turma inner join ano_semestre ano on ano.id_ano_semestre = t.id_ano_semestre inner join ambiente a on a.id_ambiente = t.id_ambiente inner join turno tu on tu.id_turno = t.id_turno where t.id_turma_status in ($12, $13) union all select t.id_unidade_funcional, t.id_ano_semestre, ano.ano, ano.semestre, t.flg_especial, t.id_curso, ts.id_serie, null as id_tipo_turma_diversificada, a.id_unidade_referencia as id_unidade_localizacao, t.id_turma, t.codigo, t.nome, t.id_tipo_turma, tu.sigla as turno, a.num_sala, null as idade_minima, null as idade_minima_meses, null as idade_maxima, null as idade_maxima_meses, tc.num_vagas_oferecidas as vagas, tc.num_vagas_remanescentes as vagas_remanescentes, coalesce(( select count(am.id_aluno_matricula)::integer as enturmados from aluno_matricula am inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = $14 where amt.id_turma = t.id_turma and am.id_aluno_matr_status in ($15, $16, $17) group by amt.id_turma), 0) as enturmados, t.id_turma_status from turma t inner join turma_complementar tc on tc.id_turma = t.id_turma 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 inner join ambiente a on a.id_ambiente = t.id_ambiente inner join turno tu on tu.id_turno = t.id_turno where t.id_turma_status in ($18, $19) and t.id_tipo_turma = $20;
Date: 2026-07-06 00:01:18 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila
48 2 557.35 MiB 147.11 MiB 410.24 MiB 278.68 MiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), ?)::integer as aulas, coalesce(count(falta.id_aluno_matricula), ?)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = ? inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = ? inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = ? inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = ? then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = ? then periodo2.data_final else periodo4.data_final end as fim) datas on ? = ? inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (...) and am.id_aluno_matr_status = ? and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:30:56 Duration: 5m28s Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:30:56 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
49 2 47.91 MiB 11.98 MiB 35.93 MiB 23.95 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-06 13:14:02 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
50 2 67.87 MiB 23.95 MiB 43.91 MiB 33.93 MiB insert into quadro_horario_sabado_letivo (id_turma, id_serie, data, id_horario_turma, id_componente_curricular) values (?, ?, ?, ?, ?);-
insert into quadro_horario_sabado_letivo (id_turma, id_serie, data, id_horario_turma, id_componente_curricular) values ($1, $2, $3, $4, $5);
Date: 2026-07-06 11:58:04 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
51 2 1009.02 MiB 14.57 MiB 994.45 MiB 504.51 MiB insert into consulta.material_escolar_alunos_posicao (id_instituicao, id_unidade_funcional, codigo_unidade, nome_unidade, id_material_escolar, ano, tamanho, id_material_escolar_numeracao, quantidade, total_alunos, total_alunos_material, total_alunos_sem_material, id_unidade_localizacao) select uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, case when me.flg_exige_numeracao then count(aluno_numeracao.id_cidadao) else count(aluno_material.id_cidadao) end as quantidade, count(am.id_cidadao) as total_alunos, count(aluno_material.id_cidadao) as total_alunos_material, count(am.id_cidadao) - count(aluno_material.id_cidadao) as total_alunos_sem_material, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional) as id_unidade_localizacao from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and (me.sexo is null or me.sexo = cidadao.sexo) left join material_escolar_aluno aluno_material on aluno_material.id_cidadao = am.id_cidadao and aluno_material.ano = ano.ano left join material_escolar_numeracao numeracao on numeracao.id_material_escolar = me.id_material_escolar left join material_escolar_aluno_num aluno_numeracao on aluno_numeracao.id_cidadao = aluno_material.id_cidadao and aluno_numeracao.id_material_escolar_numeracao = numeracao.id_material_escolar_numeracao where am.id_aluno_matr_status = ? group by uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional), me.id_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao;-
insert into consulta.material_escolar_alunos_posicao (id_instituicao, id_unidade_funcional, codigo_unidade, nome_unidade, id_material_escolar, ano, tamanho, id_material_escolar_numeracao, quantidade, total_alunos, total_alunos_material, total_alunos_sem_material, id_unidade_localizacao) select uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, case when me.flg_exige_numeracao then count(aluno_numeracao.id_cidadao) else count(aluno_material.id_cidadao) end as quantidade, count(am.id_cidadao) as total_alunos, count(aluno_material.id_cidadao) as total_alunos_material, count(am.id_cidadao) - count(aluno_material.id_cidadao) as total_alunos_sem_material, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional) as id_unidade_localizacao from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and (me.sexo is null or me.sexo = cidadao.sexo) left join material_escolar_aluno aluno_material on aluno_material.id_cidadao = am.id_cidadao and aluno_material.ano = ano.ano left join material_escolar_numeracao numeracao on numeracao.id_material_escolar = me.id_material_escolar left join material_escolar_aluno_num aluno_numeracao on aluno_numeracao.id_cidadao = aluno_material.id_cidadao and aluno_numeracao.id_material_escolar_numeracao = numeracao.id_material_escolar_numeracao where am.id_aluno_matr_status = 1 group by uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional), me.id_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao;
Date: 2026-07-06 00:20:26 Duration: 23s668ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into consulta.material_escolar_alunos_posicao (id_instituicao, id_unidade_funcional, codigo_unidade, nome_unidade, id_material_escolar, ano, tamanho, id_material_escolar_numeracao, quantidade, total_alunos, total_alunos_material, total_alunos_sem_material, id_unidade_localizacao) select uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, case when me.flg_exige_numeracao then count(aluno_numeracao.id_cidadao) else count(aluno_material.id_cidadao) end as quantidade, count(am.id_cidadao) as total_alunos, count(aluno_material.id_cidadao) as total_alunos_material, count(am.id_cidadao) - count(aluno_material.id_cidadao) as total_alunos_sem_material, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional) as id_unidade_localizacao from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and (me.sexo is null or me.sexo = cidadao.sexo) left join material_escolar_aluno aluno_material on aluno_material.id_cidadao = am.id_cidadao and aluno_material.ano = ano.ano left join material_escolar_numeracao numeracao on numeracao.id_material_escolar = me.id_material_escolar left join material_escolar_aluno_num aluno_numeracao on aluno_numeracao.id_cidadao = aluno_material.id_cidadao and aluno_numeracao.id_material_escolar_numeracao = numeracao.id_material_escolar_numeracao where am.id_aluno_matr_status = 1 group by uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional), me.id_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao;
Date: 2026-07-06 00:20:20 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
52 2 47.56 MiB 14.58 MiB 32.98 MiB 23.78 MiB insert into consulta.material_escolar_alunos_sem_num (id_instituicao, id_unidade_funcional, id_material_escolar, ano, alunos) select uf.id_instituicao, uf.id_unidade_funcional, me.id_material_escolar, ano_semestre.ano, count(am.id_cidadao) as alunos from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and me.flg_exige_numeracao is true left join material_escolar_aluno on material_escolar_aluno.id_cidadao = am.id_cidadao and material_escolar_aluno.ano = ano_semestre.ano left join material_escolar_aluno_num me_num on me_num.id_cidadao = material_escolar_aluno.id_cidadao and me_num.id_material_escolar = me.id_material_escolar where me_num.id_material_escolar is null and am.id_aluno_matr_status = ? and (me.sexo is null or me.sexo = cidadao.sexo) group by uf.id_instituicao, uf.id_unidade_funcional, me.id_material_escolar, ano_semestre.ano;-
insert into consulta.material_escolar_alunos_sem_num (id_instituicao, id_unidade_funcional, id_material_escolar, ano, alunos) select uf.id_instituicao, uf.id_unidade_funcional, me.id_material_escolar, ano_semestre.ano, count(am.id_cidadao) as alunos from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and me.flg_exige_numeracao is true left join material_escolar_aluno on material_escolar_aluno.id_cidadao = am.id_cidadao and material_escolar_aluno.ano = ano_semestre.ano left join material_escolar_aluno_num me_num on me_num.id_cidadao = material_escolar_aluno.id_cidadao and me_num.id_material_escolar = me.id_material_escolar where me_num.id_material_escolar is null and am.id_aluno_matr_status = 1 and (me.sexo is null or me.sexo = cidadao.sexo) group by uf.id_instituicao, uf.id_unidade_funcional, me.id_material_escolar, ano_semestre.ano;
Date: 2026-07-06 00:19:57 Duration: 3s852ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into consulta.material_escolar_alunos_sem_num (id_instituicao, id_unidade_funcional, id_material_escolar, ano, alunos) select uf.id_instituicao, uf.id_unidade_funcional, me.id_material_escolar, ano_semestre.ano, count(am.id_cidadao) as alunos from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and me.flg_exige_numeracao is true left join material_escolar_aluno on material_escolar_aluno.id_cidadao = am.id_cidadao and material_escolar_aluno.ano = ano_semestre.ano left join material_escolar_aluno_num me_num on me_num.id_cidadao = material_escolar_aluno.id_cidadao and me_num.id_material_escolar = me.id_material_escolar where me_num.id_material_escolar is null and am.id_aluno_matr_status = 1 and (me.sexo is null or me.sexo = cidadao.sexo) group by uf.id_instituicao, uf.id_unidade_funcional, me.id_material_escolar, ano_semestre.ano;
Date: 2026-07-06 01:07:25 Duration: 553ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into consulta.material_escolar_alunos_sem_num (id_instituicao, id_unidade_funcional, id_material_escolar, ano, alunos) select uf.id_instituicao, uf.id_unidade_funcional, me.id_material_escolar, ano_semestre.ano, count(am.id_cidadao) as alunos from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and me.flg_exige_numeracao is true left join material_escolar_aluno on material_escolar_aluno.id_cidadao = am.id_cidadao and material_escolar_aluno.ano = ano_semestre.ano left join material_escolar_aluno_num me_num on me_num.id_cidadao = material_escolar_aluno.id_cidadao and me_num.id_material_escolar = me.id_material_escolar where me_num.id_material_escolar is null and am.id_aluno_matr_status = 1 and (me.sexo is null or me.sexo = cidadao.sexo) group by uf.id_instituicao, uf.id_unidade_funcional, me.id_material_escolar, ano_semestre.ano;
Date: 2026-07-06 00:19:57 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
53 1 31.94 MiB 31.94 MiB 31.94 MiB 31.94 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-06 14:31:55 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
54 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB from usuario_grupo_unidade ugu inner join grupo_usuario gu on gu.id_grupo_usuario = ugu.id_grupo_usuario where ugu.id_usuario = usuario.id_usuario and gu.id_ator is not null) when ? then ? else ? end as especial, case when (flg_bloqueado) then ? else ? end || case when (data_inicio_inativo is not null and data_fim_inativo is not null and now() between data_inicio_inativo and data_fim_inativo) then ? else ? end as situacao, to_char(data_criacao, ?) as datacriacao, to_char(data_ultimo_acesso, ?) as dataultimoacesso from usuario where id_usuario in ( select id_usuario from usuario_instituicao where id_instituicao = ?) and flg_excluido = false and id_usuario in ( select id_usuario from usuario_grupo_unidade where id_unidade_funcional in ( select uf.id_unidade_funcional from unidade_funcional uf left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional where huf.id_assunto_hierarquia_unidade = ? and (uf.id_unidade_funcional = ? or uf.id_unidade_funcional in ( select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?)) and uf.id_unidade_funcional in ( select id_unidade_funcional from perfil_extendido where id_usuario = ? and id_assunto_hierarquia_unidade = ?))) and id_usuario in ( select id_usuario from usuario_grupo_unidade where id_grupo_usuario = ?) and (? = ? or (id_usuario not in ( select id_usuario from usuario_grupo_unidade where id_grupo_usuario in ( select id_grupo_usuario from grupo_usuario where id_ator = ?)) and id_usuario not in ( select id_usuario from usuario_grupo_unidade where id_grupo_usuario in ( select id_grupo_usuario from grupo_usuario where id_ator = ?)) and id_usuario not in ( select id_usuario from usuario_grupo_unidade where id_grupo_usuario in ( select id_grupo_usuario from grupo_usuario where id_ator = ?)))) order by nome limit ?;-
from usuario_grupo_unidade ugu inner join grupo_usuario gu on gu.id_grupo_usuario = ugu.id_grupo_usuario where ugu.id_usuario = usuario.id_usuario and gu.id_ator is not null) when 0 then 'Sim' else 'Não' end as especial, case when (flg_bloqueado) then 'Bloqueado / ' else 'Desbloqueado / ' end || case when (data_inicio_inativo is not null and data_fim_inativo is not null and now() between data_inicio_inativo and data_fim_inativo) then 'Inativo' else 'Ativo' end as situacao, to_char(data_criacao, 'DD/MM/YYYY') as datacriacao, to_char(data_ultimo_acesso, 'DD/MM/YYYY') as dataultimoacesso from usuario where id_usuario in ( select id_usuario from usuario_instituicao where id_instituicao = $1) and flg_excluido = false and id_usuario in ( select id_usuario from usuario_grupo_unidade where id_unidade_funcional in ( select uf.id_unidade_funcional from unidade_funcional uf left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional where huf.id_assunto_hierarquia_unidade = $2 and (uf.id_unidade_funcional = $3 or uf.id_unidade_funcional in ( select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $4 and id_assunto_hierarquia_unidade = $5)) and uf.id_unidade_funcional in ( select id_unidade_funcional from perfil_extendido where id_usuario = $6 and id_assunto_hierarquia_unidade = $7))) and id_usuario in ( select id_usuario from usuario_grupo_unidade where id_grupo_usuario = $8) and (1 = 0 or (id_usuario not in ( select id_usuario from usuario_grupo_unidade where id_grupo_usuario in ( select id_grupo_usuario from grupo_usuario where id_ator = 1)) and id_usuario not in ( select id_usuario from usuario_grupo_unidade where id_grupo_usuario in ( select id_grupo_usuario from grupo_usuario where id_ator = 2)) and id_usuario not in ( select id_usuario from usuario_grupo_unidade where id_grupo_usuario in ( select id_grupo_usuario from grupo_usuario where id_ator = 3)))) order by nome limit 10;
Date: 2026-07-06 13:50:09 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
55 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB delete from tabela_bem_patrimonial where id_tabela_bem_patrimonial = ?;-
delete from tabela_bem_patrimonial where id_tabela_bem_patrimonial = $1;
Date: 2026-07-06 11:48:34 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
56 1 91.06 MiB 91.06 MiB 91.06 MiB 91.06 MiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, ? as aulas, case when falta.id_aluno_matricula is null then ? else ? end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = ? inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = ? inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = ? inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = ? then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = ? then periodo2.data_final else periodo4.data_final end as fim) datas on ? = ? inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (...) and am.id_aluno_matr_status = ? and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between ? and ? or calendario_data.id_motivo_dia_letivo_extra is not null);-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 01:25:28 Duration: 24s476ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 01:25:28 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
57 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 = ? 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;-
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;
Date: 2026-07-06 13:44:03 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
58 1 3.38 MiB 3.38 MiB 3.38 MiB 3.38 MiB insert into gestao_programa.indicador_sucesso_resultado (id_unidade_funcional, ano, turmas_anos_iniciais, matricula_anos_iniciais, aprovado_anos_iniciais, reprovado_freq_anos_iniciais, reprovado_nota_anos_iniciais, aula_prevista_anos_iniciais, falta_professor_anos_iniciais, falta_aluno_anos_iniciais, aula_reposta_anos_iniciais, turmas_anos_finais, matricula_anos_finais, aprovado_anos_finais, reprovado_freq_anos_finais, reprovado_nota_anos_finais, aula_prevista_anos_finais, falta_professor_anos_finais, falta_aluno_anos_finais, aula_reposta_anos_finais, turmas_ensino_medio, matricula_ensino_medio, aprovado_ensino_medio, reprovado_freq_ensino_medio, reprovado_nota_ensino_medio, aula_prevista_ensino_medio, falta_professor_ensino_medio, falta_aluno_ensino_medio, aula_reposta_ensino_medio, correcao_fluxo_ef, atend_correcao_fluxo_ef, matricula_2_ano, nao_alfabetizado_2_ano) select turma.id_unidade_funcional, ano.ano, count(distinct case when serie_equiv.ordem between ? and ? then acomp.id_turma else null end) as turmas_anos_iniciais, sum( case when serie_equiv.ordem between ? and ? then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else ? end) as matricula_anos_iniciais, sum( case when serie_equiv.ordem between ? and ? then acomp.aprovado else ? end) as aprovado_anos_iniciais, sum( case when serie_equiv.ordem between ? and ? then acomp.reprovado_frequencia else ? end) as reprovado_freq_anos_iniciais, sum( case when serie_equiv.ordem between ? and ? then acomp.reprovado_desempenho else ? end) as reprovado_nota_anos_iniciais, sum( case when serie_equiv.ordem between ? and ? then faltas.aula_prevista else ? end) as aula_prevista_anos_iniciais, sum( case when serie_equiv.ordem between ? and ? then faltas.falta_professor else ? end) as falta_professor_anos_iniciais, sum( case when serie_equiv.ordem between ? and ? then faltas.falta_aluno else ? end) as falta_aluno_anos_iniciais, sum( case when serie_equiv.ordem between ? and ? then faltas.aula_reposta else ? end) as aula_reposta_anos_iniciais, count(distinct case when serie_equiv.ordem between ? and ? then acomp.id_turma else null end) as turmas_anos_finais, sum( case when serie_equiv.ordem between ? and ? then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else ? end) as matricula_anos_finais, sum( case when serie_equiv.ordem between ? and ? then acomp.aprovado else ? end) as aprovado_anos_finais, sum( case when serie_equiv.ordem between ? and ? then acomp.reprovado_frequencia else ? end) as reprovado_freq_anos_finais, sum( case when serie_equiv.ordem between ? and ? then acomp.reprovado_desempenho else ? end) as reprovado_nota_anos_finais, sum( case when serie_equiv.ordem between ? and ? then faltas.aula_prevista else ? end) as aula_prevista_anos_finais, sum( case when serie_equiv.ordem between ? and ? then faltas.falta_professor else ? end) as falta_professor_anos_finais, sum( case when serie_equiv.ordem between ? and ? then faltas.falta_aluno else ? end) as falta_aluno_anos_finais, sum( case when serie_equiv.ordem between ? and ? then faltas.aula_reposta else ? end) as aula_reposta_anos_finais, count(distinct case when serie_equiv.ordem between ? and ? then acomp.id_turma else null end) as turmas_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else ? end) as matricula_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then acomp.aprovado else ? end) as aprovado_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then acomp.reprovado_frequencia else ? end) as reprovado_freq_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then acomp.reprovado_desempenho else ? end) as reprovado_nota_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then faltas.aula_prevista else ? end) as aula_prevista_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then faltas.falta_professor else ? end) as falta_professor_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then faltas.falta_aluno else ? end) as falta_aluno_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then faltas.aula_reposta else ? end) as aula_reposta_ensino_medio, sum( case when serie_equiv.ordem between ? and ? then acomp.correcao_fluxo else ? end) as correcao_fluxo, sum( case when curso.id_modalidade = ? and turma.flg_correcao_fluxo is true then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else ? end) as atend_correcao_fluxo, sum( case when serie_equiv.ordem = ? then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else ? end) as matricula_final_2_ano, sum( case when serie_equiv.ordem = ? then acomp.nao_alfabetizado else ? end) as nao_alfabetizado_2_ano from turma inner join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join ( select id_turma, min(id_serie) as id_serie from turma_serie group by id_turma) ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie left join serie_equivalente serie_equiv on serie_equiv.id_serie_equivalente = serie.id_serie_equivalente inner join gestao_programa.acompanhamento_turma_serie acomp on turma.id_turma = acomp.id_turma inner join ( select id_turma, sum(aula_prevista) as aula_prevista, sum(falta_professor) as falta_professor, sum(falta_aluno) as falta_aluno, sum(aula_reposta) as aula_reposta from ( select id_turma, sum(acomp.aula_prevista) as aula_prevista, sum(acomp.falta_just_professor + acomp.falta_nao_just_professor + acomp.licenca_professor) as falta_professor, sum(acomp.falta_just_aluno + acomp.falta_nao_just_aluno) as falta_aluno, sum(acomp.aula_reposta) as aula_reposta from gestao_programa.acompanhamento_turma acomp group by id_turma union all select id_turma, sum(acomp.aula_prevista) as aula_prevista, sum(acomp.falta_just_professor + acomp.falta_nao_just_professor + acomp.licenca_professor) as falta_professor, sum(acomp.falta_just_aluno + acomp.falta_nao_just_aluno) as falta_aluno, sum(acomp.aula_reposta) as aula_reposta from gestao_programa.acompanhamento_turma_disciplina acomp group by id_turma) acomp group by id_turma) as faltas on faltas.id_turma = turma.id_turma where acomp.id_nota_periodo_aluno = ? and (curso.id_modalidade = ? or (curso.id_modalidade = ? and curso.flg_exige_habilitacao is not true)) group by turma.id_unidade_funcional, ano.ano;-
insert into gestao_programa.indicador_sucesso_resultado (id_unidade_funcional, ano, turmas_anos_iniciais, matricula_anos_iniciais, aprovado_anos_iniciais, reprovado_freq_anos_iniciais, reprovado_nota_anos_iniciais, aula_prevista_anos_iniciais, falta_professor_anos_iniciais, falta_aluno_anos_iniciais, aula_reposta_anos_iniciais, turmas_anos_finais, matricula_anos_finais, aprovado_anos_finais, reprovado_freq_anos_finais, reprovado_nota_anos_finais, aula_prevista_anos_finais, falta_professor_anos_finais, falta_aluno_anos_finais, aula_reposta_anos_finais, turmas_ensino_medio, matricula_ensino_medio, aprovado_ensino_medio, reprovado_freq_ensino_medio, reprovado_nota_ensino_medio, aula_prevista_ensino_medio, falta_professor_ensino_medio, falta_aluno_ensino_medio, aula_reposta_ensino_medio, correcao_fluxo_ef, atend_correcao_fluxo_ef, matricula_2_ano, nao_alfabetizado_2_ano) select turma.id_unidade_funcional, ano.ano, count(distinct case when serie_equiv.ordem between 1 and 5 then acomp.id_turma else null end) as turmas_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as matricula_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then acomp.aprovado else 0 end) as aprovado_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then acomp.reprovado_frequencia else 0 end) as reprovado_freq_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then acomp.reprovado_desempenho else 0 end) as reprovado_nota_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then faltas.aula_prevista else 0 end) as aula_prevista_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then faltas.falta_professor else 0 end) as falta_professor_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then faltas.falta_aluno else 0 end) as falta_aluno_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then faltas.aula_reposta else 0 end) as aula_reposta_anos_iniciais, count(distinct case when serie_equiv.ordem between 6 and 9 then acomp.id_turma else null end) as turmas_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as matricula_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then acomp.aprovado else 0 end) as aprovado_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then acomp.reprovado_frequencia else 0 end) as reprovado_freq_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then acomp.reprovado_desempenho else 0 end) as reprovado_nota_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then faltas.aula_prevista else 0 end) as aula_prevista_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then faltas.falta_professor else 0 end) as falta_professor_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then faltas.falta_aluno else 0 end) as falta_aluno_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then faltas.aula_reposta else 0 end) as aula_reposta_anos_finais, count(distinct case when serie_equiv.ordem between 10 and 13 then acomp.id_turma else null end) as turmas_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as matricula_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then acomp.aprovado else 0 end) as aprovado_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then acomp.reprovado_frequencia else 0 end) as reprovado_freq_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then acomp.reprovado_desempenho else 0 end) as reprovado_nota_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then faltas.aula_prevista else 0 end) as aula_prevista_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then faltas.falta_professor else 0 end) as falta_professor_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then faltas.falta_aluno else 0 end) as falta_aluno_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then faltas.aula_reposta else 0 end) as aula_reposta_ensino_medio, sum( case when serie_equiv.ordem between 1 and 9 then acomp.correcao_fluxo else 0 end) as correcao_fluxo, sum( case when curso.id_modalidade = 3 and turma.flg_correcao_fluxo is true then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as atend_correcao_fluxo, sum( case when serie_equiv.ordem = 2 then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as matricula_final_2_ano, sum( case when serie_equiv.ordem = 2 then acomp.nao_alfabetizado else 0 end) as nao_alfabetizado_2_ano from turma inner join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join ( select id_turma, min(id_serie) as id_serie from turma_serie group by id_turma) ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie left join serie_equivalente serie_equiv on serie_equiv.id_serie_equivalente = serie.id_serie_equivalente inner join gestao_programa.acompanhamento_turma_serie acomp on turma.id_turma = acomp.id_turma inner join ( select id_turma, sum(aula_prevista) as aula_prevista, sum(falta_professor) as falta_professor, sum(falta_aluno) as falta_aluno, sum(aula_reposta) as aula_reposta from ( select id_turma, sum(acomp.aula_prevista) as aula_prevista, sum(acomp.falta_just_professor + acomp.falta_nao_just_professor + acomp.licenca_professor) as falta_professor, sum(acomp.falta_just_aluno + acomp.falta_nao_just_aluno) as falta_aluno, sum(acomp.aula_reposta) as aula_reposta from gestao_programa.acompanhamento_turma acomp group by id_turma union all select id_turma, sum(acomp.aula_prevista) as aula_prevista, sum(acomp.falta_just_professor + acomp.falta_nao_just_professor + acomp.licenca_professor) as falta_professor, sum(acomp.falta_just_aluno + acomp.falta_nao_just_aluno) as falta_aluno, sum(acomp.aula_reposta) as aula_reposta from gestao_programa.acompanhamento_turma_disciplina acomp group by id_turma) acomp group by id_turma) as faltas on faltas.id_turma = turma.id_turma where acomp.id_nota_periodo_aluno = 4 and (curso.id_modalidade = 3 or (curso.id_modalidade = 6 and curso.flg_exige_habilitacao is not true)) group by turma.id_unidade_funcional, ano.ano;
Date: 2026-07-06 00:35:16 Duration: 2s65ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into gestao_programa.indicador_sucesso_resultado (id_unidade_funcional, ano, turmas_anos_iniciais, matricula_anos_iniciais, aprovado_anos_iniciais, reprovado_freq_anos_iniciais, reprovado_nota_anos_iniciais, aula_prevista_anos_iniciais, falta_professor_anos_iniciais, falta_aluno_anos_iniciais, aula_reposta_anos_iniciais, turmas_anos_finais, matricula_anos_finais, aprovado_anos_finais, reprovado_freq_anos_finais, reprovado_nota_anos_finais, aula_prevista_anos_finais, falta_professor_anos_finais, falta_aluno_anos_finais, aula_reposta_anos_finais, turmas_ensino_medio, matricula_ensino_medio, aprovado_ensino_medio, reprovado_freq_ensino_medio, reprovado_nota_ensino_medio, aula_prevista_ensino_medio, falta_professor_ensino_medio, falta_aluno_ensino_medio, aula_reposta_ensino_medio, correcao_fluxo_ef, atend_correcao_fluxo_ef, matricula_2_ano, nao_alfabetizado_2_ano) select turma.id_unidade_funcional, ano.ano, count(distinct case when serie_equiv.ordem between 1 and 5 then acomp.id_turma else null end) as turmas_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as matricula_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then acomp.aprovado else 0 end) as aprovado_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then acomp.reprovado_frequencia else 0 end) as reprovado_freq_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then acomp.reprovado_desempenho else 0 end) as reprovado_nota_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then faltas.aula_prevista else 0 end) as aula_prevista_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then faltas.falta_professor else 0 end) as falta_professor_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then faltas.falta_aluno else 0 end) as falta_aluno_anos_iniciais, sum( case when serie_equiv.ordem between 1 and 5 then faltas.aula_reposta else 0 end) as aula_reposta_anos_iniciais, count(distinct case when serie_equiv.ordem between 6 and 9 then acomp.id_turma else null end) as turmas_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as matricula_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then acomp.aprovado else 0 end) as aprovado_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then acomp.reprovado_frequencia else 0 end) as reprovado_freq_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then acomp.reprovado_desempenho else 0 end) as reprovado_nota_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then faltas.aula_prevista else 0 end) as aula_prevista_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then faltas.falta_professor else 0 end) as falta_professor_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then faltas.falta_aluno else 0 end) as falta_aluno_anos_finais, sum( case when serie_equiv.ordem between 6 and 9 then faltas.aula_reposta else 0 end) as aula_reposta_anos_finais, count(distinct case when serie_equiv.ordem between 10 and 13 then acomp.id_turma else null end) as turmas_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as matricula_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then acomp.aprovado else 0 end) as aprovado_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then acomp.reprovado_frequencia else 0 end) as reprovado_freq_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then acomp.reprovado_desempenho else 0 end) as reprovado_nota_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then faltas.aula_prevista else 0 end) as aula_prevista_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then faltas.falta_professor else 0 end) as falta_professor_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then faltas.falta_aluno else 0 end) as falta_aluno_ensino_medio, sum( case when serie_equiv.ordem between 10 and 13 then faltas.aula_reposta else 0 end) as aula_reposta_ensino_medio, sum( case when serie_equiv.ordem between 1 and 9 then acomp.correcao_fluxo else 0 end) as correcao_fluxo, sum( case when curso.id_modalidade = 3 and turma.flg_correcao_fluxo is true then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as atend_correcao_fluxo, sum( case when serie_equiv.ordem = 2 then acomp.matricula_inicial + acomp.matricula_suplementar - acomp.transferido - acomp.desistente - acomp.falecido else 0 end) as matricula_final_2_ano, sum( case when serie_equiv.ordem = 2 then acomp.nao_alfabetizado else 0 end) as nao_alfabetizado_2_ano from turma inner join curso on curso.id_curso = turma.id_curso inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join ( select id_turma, min(id_serie) as id_serie from turma_serie group by id_turma) ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie left join serie_equivalente serie_equiv on serie_equiv.id_serie_equivalente = serie.id_serie_equivalente inner join gestao_programa.acompanhamento_turma_serie acomp on turma.id_turma = acomp.id_turma inner join ( select id_turma, sum(aula_prevista) as aula_prevista, sum(falta_professor) as falta_professor, sum(falta_aluno) as falta_aluno, sum(aula_reposta) as aula_reposta from ( select id_turma, sum(acomp.aula_prevista) as aula_prevista, sum(acomp.falta_just_professor + acomp.falta_nao_just_professor + acomp.licenca_professor) as falta_professor, sum(acomp.falta_just_aluno + acomp.falta_nao_just_aluno) as falta_aluno, sum(acomp.aula_reposta) as aula_reposta from gestao_programa.acompanhamento_turma acomp group by id_turma union all select id_turma, sum(acomp.aula_prevista) as aula_prevista, sum(acomp.falta_just_professor + acomp.falta_nao_just_professor + acomp.licenca_professor) as falta_professor, sum(acomp.falta_just_aluno + acomp.falta_nao_just_aluno) as falta_aluno, sum(acomp.aula_reposta) as aula_reposta from gestao_programa.acompanhamento_turma_disciplina acomp group by id_turma) acomp group by id_turma) as faltas on faltas.id_turma = turma.id_turma where acomp.id_nota_periodo_aluno = 4 and (curso.id_modalidade = 3 or (curso.id_modalidade = 6 and curso.flg_exige_habilitacao is not true)) group by turma.id_unidade_funcional, ano.ano;
Date: 2026-07-06 00:35:16 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
59 1 7.98 MiB 7.98 MiB 7.98 MiB 7.98 MiB insert into tipo_bem_patrimonial (data_criacao, data_situacao, sigla, descricao, flg_ativo, id_instituicao) values (?, ?, ?, ?, ?, ?);-
insert into tipo_bem_patrimonial (data_criacao, data_situacao, sigla, descricao, flg_ativo, id_instituicao) values ($1, $2, $3, $4, $5, $6);
Date: 2026-07-06 16:04:21 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
60 1 11.98 MiB 11.98 MiB 11.98 MiB 11.98 MiB select distinct c.id_cidadao, am.id_aluno_matricula, a.codigo, c.nome, c.nascimento_data, ase.ano || coalesce(? || cast(ase.semestre as varchar), ?) as ano, case c.id_cidadao_status when ? then ? else ams.descricao end as descricao, t.codigo as codigo_turma, curso.sigla as curso, serie.sigla as serie, null as flg_historico_assinado, exists ( select null from anexo_historico_estrangeiro ane where ane.id_cidadao = a.id_cidadao) as flg_tem_anexo_estrangeiro from cidadao c inner join aluno a on a.id_cidadao = c.id_cidadao inner join aluno_matricula am on am.id_cidadao = c.id_cidadao inner join serie on serie.id_serie = am.id_serie inner join curso on curso.id_curso = serie.id_curso inner join ano_semestre ase using (id_ano_semestre) inner join aluno_matr_status ams using (id_aluno_matr_status) inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join turma t on t.id_turma = amt.id_turma where ? = ? and (am.id_unidade_funcional = ?) and (c.id_instituicao = ?) and (ase.ano = ?) and (a.codigo = ?) and (upper(c.nome) ilike ?) and (serie.id_forma_avaliacao != ?);-
SELECT distinct c.id_cidadao, am.id_aluno_matricula, a.codigo, c.nome, c.nascimento_data, ase.ano || coalesce(' / ' || CAST(ase.semestre AS varchar), '') as ano, case c.id_cidadao_status when 2 then 'Unificado' else ams.descricao end as descricao, t.codigo as codigo_turma, curso.sigla as curso, serie.sigla as serie, null as flg_historico_assinado, exists ( select null from anexo_historico_estrangeiro ane where ane.id_cidadao = a.id_cidadao) as flg_tem_anexo_estrangeiro FROM cidadao c INNER JOIN aluno a ON a.id_cidadao = c.id_cidadao INNER JOIN aluno_matricula am ON am.id_cidadao = c.id_cidadao INNER join serie on serie.id_serie = am.id_serie INNER join curso on curso.id_curso = serie.id_curso INNER JOIN ano_semestre ase USING (id_ano_semestre) INNER JOIN aluno_matr_status ams USING (id_aluno_matr_status) INNER JOIN aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 INNER JOIN turma t ON t.id_turma = amt.id_turma WHERE 1 = 1 AND (am.id_unidade_funcional = 606668) AND (c.id_instituicao = 92) AND (ase.ano = '2026') AND (a.codigo = ' ') AND (upper(c.nome) ILIKE '%evellyn kemilly%') AND (serie.id_forma_avaliacao != 3);
Date: 2026-07-06 15:15:07 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
61 1 2.94 MiB 2.94 MiB 2.94 MiB 2.94 MiB scb.matricula_cargo as matricula, cid.nome as nome, to_char(cid.nascimento_data, ?) as data_nascimento, municipio_nascimento.nome as municipio_nascimento, estado_nascimento.sigla as estado_nascimento, cid.email as email, coalesce(cid.email_instituicional, ?) as email_institucional_aluno, coalesce(u.email_autenticacao_externa, ?) as email_autenticacao_externa, array_to_string(array ( select case when ct.telefone_recado_para is not null then ?| | ct.telefone_ddd || ?| | ct.telefone_numero || ?| | ct.telefone_recado_para else ?| | 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 telefone_contato, case when cid.sexo = ? then ? else ? end as sexo, rc.descricao as raca_cor, nacionalidade.nome as nacionalidade, estado_civil_gestao.descricao as estado_civil, case when cid.flg_necessidade_especial = true then ? when cid.flg_necessidade_especial = false then ? end as deficiencia_fisica, tipo_necessidade.descricao as tipo_deficiencia, dc.numero_cpf || ?| | dc.digito_cpf as cpf, case when dc.dv_rg is not null then dc.numero_rg || ?| | dc.dv_rg else dc.numero_rg end as rg, oe.descricao as orgao_emissor_rg, estado.sigla as estado_emissor_rg, to_char(dc.data_emissao_rg, ?) as data_emissao_rg, dc.numero_nis, s.codigo_inep, ce.endereco as logradouro, ce.numero as numero_logradouro, ce.complemento as complemento_logradouro, ce.bairro as bairro_logradouro, ce.cep as cep_logradouro, mun_endereco.nome as municipio_logradouro, estado_endereco.sigla as uf_logradouro, sf.descricao as situacao_funcional, scb.numero_contrato || ? || scb.ano_contrato numero_contrato, to_char(scb.data_nomeacao, ?) as data_nomeacao, to_char(scb.data_posse, ?) as data_posse, to_char(srv_cb_inicio_exercicio.data_inicio_exercicio, ?) as data_inicio_exercicio, to_char(srv_cargo_base_desligamento.data_fim, ?) as data_fim_exercicio, c.descricao as cargo, disciplina.descricao as componente_curricular, funcao.descricao as funcao, atividade.descricao as atividade, unidade_mae_lotacao.nome as unidade_mae_lotacao, uf.codigo as codigo_unidade_lotacao, uf.nome as unidade_lotacao, case when exists ( select null from servidor_ato_historico sahatohistorico inner join ato_historico_tipo atohistoricotipo on atohistoricotipo.id_ato_historico_tipo = sahatohistorico.id_ato_historico_tipo where sahatohistorico.id_servidor_cargo_base = scb.id_servidor_cargo_base and atohistoricotipo.id_categoria_ato_historico = ?) then ? when scb.flg_aberto is true then ? else ? end as situacao, ato_historico.motivo as motivo, to_char(ato_historico.data_inicio, ?) as inicio_periodo, to_char(ato_historico.data_fim, ?) as fim_periodo, grau_escolaridade.descricao as grau_escolaridade, curso_geral_tipo.descricao as tipo_curso, mec_area_curso_superior.descricao as area_curso, mec_curso_superior.descricao as curso, info_turma.unidade_mae, info_turma.codigo_escola, info_turma.escola as 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 info_turma.id_unidade_funcional = medoa.id_unidade_funcional), ?) as localizacao_zona, info_turma.ensino_etapa_turma, info_turma.modalidade_turma, info_turma.turma, info_turma.nome_turma, info_turma.tipo_turma as tipo_turma, info_turma.turno as turno, info_turma.disciplina as disciplina from servidor s inner join cidadao cid on cid.id_cidadao = s.id_cidadao left join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao left join estado_civil_gestao on estado_civil_gestao.id_estado_civil_gestao = cid.id_estado_civil_gestao left join usuario u on u.id_usuario = cu.id_usuario left join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao left join disciplina on disciplina.id_disciplina = scb.id_disciplina left join srv_cb_inicio_exercicio on srv_cb_inicio_exercicio.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento on srv_cargo_base_desligamento.id_servidor_cargo_base = scb.id_servidor_cargo_base left join ( select string_agg(mne.descricao, ?) as descricao, cne.id_cidadao from mec_necessidade_especial mne inner join necessidade_especial ne on mne.id_mec_necessidade_especial = ne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial group by cne.id_cidadao) as tipo_necessidade on tipo_necessidade.id_cidadao = cid.id_cidadao left join raca_cor rc on cid.id_raca_cor = rc.id_raca_cor left join nacionalidade on nacionalidade.id_nacionalidade = cid.id_nacionalidade left join municipio municipio_nascimento on cid.id_municipio_nascimento = municipio_nascimento.id_municipio left join uf estado_nascimento on municipio_nascimento.id_uf = estado_nascimento.id_uf left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join orgao_emissor_rg oe on oe.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join uf estado on estado.id_uf = dc.id_uf_emissor_rg left join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun_endereco on mun_endereco.id_municipio = ce.id_municipio left join uf estado_endereco on estado_endereco.id_uf = mun_endereco.id_uf left join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional inner join cargo c on c.id_cargo = scb.id_cargo left join servidor_funcao sfun on sfun.id_cidadao = s.id_cidadao and sfun.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor funcao on funcao.id_funcao_atividade_servidor = sfun.id_funcao_atividade_servidor left join servidor_atividade on servidor_atividade.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor atividade on atividade.id_funcao_atividade_servidor = servidor_atividade.id_funcao_atividade_servidor left join lotacao l on l.id_servidor_cargo_base = scb.id_servidor_cargo_base and l.flg_aberto = true left join unidade_funcional uf on uf.id_unidade_funcional = coalesce(l.id_unidade_lotacao, scb.id_unidade_sede) 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 unidade_mae_lotacao on unidade_mae_lotacao.id_unidade_funcional = huf.id_unidade_funcional_mae left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador, ath2.descricao as motivo, sah.data_referencia as data_inicio, sah.data_fim as data_fim from servidor_ato_historico sah inner join ato_historico_tipo ath2 on ath2.id_ato_historico_tipo = sah.id_ato_historico_tipo where ath2.id_categoria_ato_historico = ? and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base, ath2.descricao, sah.data_referencia, sah.data_fim) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade on grau_escolaridade.id_grau_escolaridade = s.id_grau_escolaridade left join servidor_curso_titulo on servidor_curso_titulo.id_cidadao = cid.id_cidadao left join curso_geral_tipo on curso_geral_tipo.id_curso_geral_tipo = servidor_curso_titulo.id_curso_geral_tipo left join mec_curso_superior on mec_curso_superior.id_mec_curso_superior = servidor_curso_titulo.id_mec_curso_superior left join mec_area_curso_superior on mec_area_curso_superior.id_mec_area_curso_superior = mec_curso_superior.id_mec_area_curso_superior left join mec_inst_ensino_superior on mec_inst_ensino_superior.id_mec_inst_ensino_superior = servidor_curso_titulo.id_mec_inst_ensino_superior left join ( select tcs.id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then ? when t.flg_multietapa is true then ? when t.flg_multiseriada is true then ? when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then ? end as tipo_turma, tu.descricao as turno, d.sigla as disciplina from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join turma t on t.id_turma = tc.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = ?) inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = ? left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae inner join turno tu on tu.id_turno = t.id_turno inner join disciplina d on d.id_disciplina = cc.id_disciplina left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa union all select id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then ? when t.flg_multietapa is true then ? when t.flg_multiseriada is true then ? when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then ? end as tipo_turma, tu.descricao as turno, case when t.flg_especial is false then ? else ? end as disciplina from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma t on t.id_turma = tra.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = ?) inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = ? left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa) as info_turma on info_turma.id_servidor_cargo_base = scb.id_servidor_cargo_base where cid.id_instituicao = ? order by cid.nome;-
scb.matricula_cargo as matricula, cid.nome as nome, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento, municipio_nascimento.nome as municipio_nascimento, estado_nascimento.sigla as estado_nascimento, cid.email as email, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, array_to_string(array ( select case when ct.telefone_recado_para is not null then '(' || ct.telefone_ddd || ') ' || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else '(' || 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 telefone_contato, case when cid.sexo = 'M' then 'Masculino' else 'Feminino' end as sexo, rc.descricao as raca_cor, nacionalidade.nome as nacionalidade, estado_civil_gestao.descricao as estado_civil, case when cid.flg_necessidade_especial = true then 'Sim' when cid.flg_necessidade_especial = false then 'Não' end as deficiencia_fisica, tipo_necessidade.descricao as tipo_deficiencia, dc.numero_cpf || '-' || dc.digito_cpf as cpf, case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end as rg, oe.descricao as orgao_emissor_rg, estado.sigla as estado_emissor_rg, to_char(dc.data_emissao_rg, 'DD/MM/YYYY') as data_emissao_rg, dc.numero_nis, s.codigo_inep, ce.endereco as logradouro, ce.numero as numero_logradouro, ce.complemento as complemento_logradouro, ce.bairro as bairro_logradouro, ce.cep as cep_logradouro, mun_endereco.nome as municipio_logradouro, estado_endereco.sigla as uf_logradouro, sf.descricao as situacao_funcional, scb.numero_contrato || '/' || scb.ano_contrato numero_contrato, to_char(scb.data_nomeacao, 'dd/MM/yyyy') as data_nomeacao, to_char(scb.data_posse, 'dd/MM/yyyy') as data_posse, to_char(srv_cb_inicio_exercicio.data_inicio_exercicio, 'dd/MM/yyyy') as data_inicio_exercicio, to_char(srv_cargo_base_desligamento.data_fim, 'dd/MM/yyyy') as data_fim_exercicio, c.descricao as cargo, disciplina.descricao as componente_curricular, funcao.descricao as funcao, atividade.descricao as atividade, unidade_mae_lotacao.nome as unidade_mae_lotacao, uf.codigo as codigo_unidade_lotacao, uf.nome as unidade_lotacao, case when exists ( select null from servidor_ato_historico sahAtoHistorico inner join ato_historico_tipo atoHistoricoTipo on atoHistoricoTipo.id_ato_historico_tipo = sahAtoHistorico.id_ato_historico_tipo where sahAtoHistorico.id_servidor_cargo_base = scb.id_servidor_cargo_base and atoHistoricoTipo.id_categoria_ato_historico = 7) then 'Afastado/Licença' when scb.flg_aberto is true then 'Aberto' else 'Fechado' end as situacao, ato_historico.motivo as motivo, to_char(ato_historico.data_inicio, 'DD/MM/YYYY') as inicio_periodo, to_char(ato_historico.data_fim, 'DD/MM/YYYY') as fim_periodo, grau_escolaridade.descricao as grau_escolaridade, curso_geral_tipo.descricao as tipo_curso, mec_area_curso_superior.descricao as area_curso, mec_curso_superior.descricao as curso, info_turma.unidade_mae, info_turma.codigo_escola, info_turma.escola as 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 info_turma.id_unidade_funcional = medoa.id_unidade_funcional), '') as localizacao_zona, info_turma.ensino_etapa_turma, info_turma.modalidade_turma, info_turma.turma, info_turma.nome_turma, info_turma.tipo_turma as tipo_turma, info_turma.turno as turno, info_turma.disciplina as disciplina from servidor s inner join cidadao cid on cid.id_cidadao = s.id_cidadao left join cidadao_usuario cu on cu.id_cidadao = cid.id_cidadao left join estado_civil_gestao on estado_civil_gestao.id_estado_civil_gestao = cid.id_estado_civil_gestao left join usuario u on u.id_usuario = cu.id_usuario left join servidor_cargo_base scb on scb.id_cidadao = cid.id_cidadao left join disciplina on disciplina.id_disciplina = scb.id_disciplina left join srv_cb_inicio_exercicio on srv_cb_inicio_exercicio.id_servidor_cargo_base = scb.id_servidor_cargo_base left join srv_cargo_base_desligamento on srv_cargo_base_desligamento.id_servidor_cargo_base = scb.id_servidor_cargo_base left join ( select string_agg(mne.descricao, ',') as descricao, cne.id_cidadao from mec_necessidade_especial mne inner join necessidade_especial ne on mne.id_mec_necessidade_especial = ne.id_mec_necessidade_especial inner join cidadao_necessidade_especial cne on cne.id_necessidade_especial = ne.id_necessidade_especial group by cne.id_cidadao) as tipo_necessidade on tipo_necessidade.id_cidadao = cid.id_cidadao left join raca_cor rc on cid.id_raca_cor = rc.id_raca_cor left join nacionalidade on nacionalidade.id_nacionalidade = cid.id_nacionalidade left join municipio municipio_nascimento on cid.id_municipio_nascimento = municipio_nascimento.id_municipio left join uf estado_nascimento on municipio_nascimento.id_uf = estado_nascimento.id_uf left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join orgao_emissor_rg oe on oe.id_orgao_emissor_rg = dc.id_orgao_emissor_rg left join uf estado on estado.id_uf = dc.id_uf_emissor_rg left join cidadao_endereco ce on ce.id_cidadao = cid.id_cidadao left join municipio mun_endereco on mun_endereco.id_municipio = ce.id_municipio left join uf estado_endereco on estado_endereco.id_uf = mun_endereco.id_uf left join situacao_funcional sf on sf.id_situacao_funcional = scb.id_situacao_funcional inner join cargo c on c.id_cargo = scb.id_cargo left join servidor_funcao sfun on sfun.id_cidadao = s.id_cidadao and sfun.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor funcao on funcao.id_funcao_atividade_servidor = sfun.id_funcao_atividade_servidor left join servidor_atividade on servidor_atividade.id_servidor_cargo_base = scb.id_servidor_cargo_base left join funcao_atividade_servidor atividade on atividade.id_funcao_atividade_servidor = servidor_atividade.id_funcao_atividade_servidor left join lotacao l on l.id_servidor_cargo_base = scb.id_servidor_cargo_base and l.flg_aberto = true left join unidade_funcional uf on uf.id_unidade_funcional = coalesce(l.id_unidade_lotacao, scb.id_unidade_sede) 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 unidade_mae_lotacao on unidade_mae_lotacao.id_unidade_funcional = huf.id_unidade_funcional_mae left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador, ath2.descricao as motivo, sah.data_referencia as data_inicio, sah.data_fim as data_fim from servidor_ato_historico sah inner join ato_historico_tipo ath2 on ath2.id_ato_historico_tipo = sah.id_ato_historico_tipo where ath2.id_categoria_ato_historico = 7 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base, ath2.descricao, sah.data_referencia, sah.data_fim) as ato_historico on ato_historico.id_servidor_cargo_base = scb.id_servidor_cargo_base left join grau_escolaridade on grau_escolaridade.id_grau_escolaridade = s.id_grau_escolaridade left join servidor_curso_titulo on servidor_curso_titulo.id_cidadao = cid.id_cidadao left join curso_geral_tipo on curso_geral_tipo.id_curso_geral_tipo = servidor_curso_titulo.id_curso_geral_tipo left join mec_curso_superior on mec_curso_superior.id_mec_curso_superior = servidor_curso_titulo.id_mec_curso_superior left join mec_area_curso_superior on mec_area_curso_superior.id_mec_area_curso_superior = mec_curso_superior.id_mec_area_curso_superior left join mec_inst_ensino_superior on mec_inst_ensino_superior.id_mec_inst_ensino_superior = servidor_curso_titulo.id_mec_inst_ensino_superior left join ( select tcs.id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then 'Diversificada' when t.flg_multietapa is true then 'Multietapa' when t.flg_multiseriada is true then 'Multisseriada' when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then 'Regular' end as tipo_turma, tu.descricao as turno, d.sigla as disciplina from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join turma t on t.id_turma = tc.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = $2) inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = $3 left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae inner join turno tu on tu.id_turno = t.id_turno inner join disciplina d on d.id_disciplina = cc.id_disciplina left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa union all select id_servidor_cargo_base, uf.id_unidade_funcional, unidade_mae.nome as unidade_mae, uf.codigo as codigo_escola, uf.nome as escola, ensino_etapa.descricao as ensino_etapa_turma, modalidade.descricao as modalidade_turma, t.codigo as turma, t.nome as nome_turma, case when t.flg_especial is true then 'Diversificada' when t.flg_multietapa is true then 'Multietapa' when t.flg_multiseriada is true then 'Multisseriada' when t.flg_multietapa is not true and t.flg_multiseriada is not true and t.flg_especial is not true then 'Regular' end as tipo_turma, tu.descricao as turno, case when t.flg_especial is false then 'Regência de classe' else '' end as disciplina from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma t on t.id_turma = tra.id_turma and t.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano_semestre.ano = $4) inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional uf on uf.id_unidade_funcional = t.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 = $5 left join unidade_funcional unidade_mae on unidade_mae.id_unidade_funcional = huf.id_unidade_funcional_mae left join curso on curso.id_curso = t.id_curso left join modalidade on modalidade.id_modalidade = curso.id_modalidade left join ensino_etapa on ensino_etapa.id_ensino_etapa = modalidade.id_ensino_etapa) as info_turma on info_turma.id_servidor_cargo_base = scb.id_servidor_cargo_base where cid.id_instituicao = $6 order by cid.nome;
Date: 2026-07-06 00:36:19 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
62 1 20.19 MiB 20.19 MiB 20.19 MiB 20.19 MiB insert into consulta.rendimento_escolar_estatistica (id_rendimento_escolar_estatistica, id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, matricula_inicial, matricula_suplementar, transferidos, transferencia_interna, transferencia_externa, desistentes, falecidos, matricula_final, aprovados, reprovados, nao_enturmados) select nextval(?), id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, sum(matricula_inicial) as matricula_inicial, sum(matricula_suplementar) as matricula_suplementar, sum(transferidos) as transferidos, sum(transferencia_interna) as transferencia_interna, sum(transferencia_externa) as transferencia_externa, sum(desistentes) as desistentes, sum(falecidos) as falecidos, sum(matricula_final) as matricula_final, sum(aprovados) as aprovados, sum(reprovados) as reprovados, sum(nao_enturmados) as nao_enturmados from ( select am.id_unidade_funcional, c.id_curso, s.id_serie, am.id_ano_semestre, t.id_programa_pedagogico, am.id_aluno_matricula in ( select max(am2.id_aluno_matricula) from aluno_matricula am2 inner join ano_semestre ano2 on am2.id_ano_semestre = ano2.id_ano_semestre where am2.id_cidadao = am.id_cidadao and ano2.ano = anse.ano and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (...) union all select max(am2.id_aluno_matricula) from aluno_matricula am2 where am2.id_cidadao = am.id_cidadao and am2.id_ano_semestre = am.id_ano_semestre and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (...)) as flg_registro_utilizar, case when flg_matricula_inicial = true then ? else ? end as matricula_inicial, case when flg_matricula_inicial = false then ? else ? end as matricula_suplementar, case when am.id_aluno_matr_status = ? then ? else ? end as transferidos, case when am.id_aluno_matr_status = ? and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = ? and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit ?) is true then ? else ? end as transferencia_interna, case when am.id_aluno_matr_status = ? and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = ? and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit ?) is false then ? else ? end as transferencia_externa, case when am.id_aluno_matr_status = ? then ? else ? end as desistentes, case when am.id_aluno_matr_status = ? then ? else ? end as falecidos, case when am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? then ? else ? end as matricula_final, case when (am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ?) and (id_parecer_conclusivo_tipo = ? or id_parecer_conclusivo_tipo = ?) then ? else ? end as aprovados, case when (am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ? or am.id_aluno_matr_status = ?) and (id_parecer_conclusivo_tipo = ? or id_parecer_conclusivo_tipo = ?) then ? else ? end as reprovados, case when amt.id_aluno_matricula is null and am.id_aluno_matr_status = ? then ? else ? end as nao_enturmados from aluno_matricula am inner join curso c on am.id_curso = c.id_curso inner join serie s on am.id_serie = s.id_serie left join parecer_conclusivo pc on am.id_aluno_matricula = pc.id_aluno_matricula inner join ano_semestre anse on am.id_ano_semestre = anse.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join turma t on amt.id_turma = t.id_turma where am.id_aluno_matr_status in (...) and ((t.id_diario_turma_situacao = ? and amt.id_diario_turma_situacao_enturmacao = ?) or coalesce(t.id_diario_turma_situacao, ?) <> ?)) t where flg_registro_utilizar group by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico order by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico;-
insert into consulta.rendimento_escolar_estatistica (id_rendimento_escolar_estatistica, id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, matricula_inicial, matricula_suplementar, transferidos, transferencia_interna, transferencia_externa, desistentes, falecidos, matricula_final, aprovados, reprovados, nao_enturmados) select nextval('sq_rendimento_escolar_estatistica_id'), id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, sum(matricula_inicial) as matricula_inicial, sum(matricula_suplementar) as matricula_suplementar, sum(transferidos) as transferidos, sum(transferencia_interna) as transferencia_interna, sum(transferencia_externa) as transferencia_externa, sum(desistentes) as desistentes, sum(falecidos) as falecidos, sum(matricula_final) as matricula_final, sum(aprovados) as aprovados, sum(reprovados) as reprovados, sum(nao_enturmados) as nao_enturmados from ( select am.id_unidade_funcional, c.id_curso, s.id_serie, am.id_ano_semestre, t.id_programa_pedagogico, am.id_aluno_matricula in ( select max(am2.id_aluno_matricula) from aluno_matricula am2 inner join ano_semestre ano2 on am2.id_ano_semestre = ano2.id_ano_semestre where am2.id_cidadao = am.id_cidadao and ano2.ano = anse.ano and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) union all select max(am2.id_aluno_matricula) from aluno_matricula am2 where am2.id_cidadao = am.id_cidadao and am2.id_ano_semestre = am.id_ano_semestre and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 7)) as flg_registro_utilizar, case when flg_matricula_inicial = true then 1 else 0 end as matricula_inicial, case when flg_matricula_inicial = false then 1 else 0 end as matricula_suplementar, case when am.id_aluno_matr_status = 6 then 1 else 0 end as transferidos, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is true then 1 else 0 end as transferencia_interna, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is false then 1 else 0 end as transferencia_externa, case when am.id_aluno_matr_status = 3 then 1 else 0 end as desistentes, case when am.id_aluno_matr_status = 4 then 1 else 0 end as falecidos, case when am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7 then 1 else 0 end as matricula_final, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 0 or id_parecer_conclusivo_tipo = 3) then 1 else 0 end as aprovados, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 1 or id_parecer_conclusivo_tipo = 2) then 1 else 0 end as reprovados, case when amt.id_aluno_matricula is null and am.id_aluno_matr_status = 1 then 1 else 0 end as nao_enturmados from aluno_matricula am inner join curso c on am.id_curso = c.id_curso inner join serie s on am.id_serie = s.id_serie left join parecer_conclusivo pc on am.id_aluno_matricula = pc.id_aluno_matricula inner join ano_semestre anse on am.id_ano_semestre = anse.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma where am.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) and ((t.id_diario_turma_situacao = '2' and amt.id_diario_turma_situacao_enturmacao = '2') or coalesce(t.id_diario_turma_situacao, -1) <> '2')) t where flg_registro_utilizar group by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico order by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico;
Date: 2026-07-06 01:07:22 Duration: 12s612ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into consulta.rendimento_escolar_estatistica (id_rendimento_escolar_estatistica, id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, matricula_inicial, matricula_suplementar, transferidos, transferencia_interna, transferencia_externa, desistentes, falecidos, matricula_final, aprovados, reprovados, nao_enturmados) select nextval('sq_rendimento_escolar_estatistica_id'), id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico, sum(matricula_inicial) as matricula_inicial, sum(matricula_suplementar) as matricula_suplementar, sum(transferidos) as transferidos, sum(transferencia_interna) as transferencia_interna, sum(transferencia_externa) as transferencia_externa, sum(desistentes) as desistentes, sum(falecidos) as falecidos, sum(matricula_final) as matricula_final, sum(aprovados) as aprovados, sum(reprovados) as reprovados, sum(nao_enturmados) as nao_enturmados from ( select am.id_unidade_funcional, c.id_curso, s.id_serie, am.id_ano_semestre, t.id_programa_pedagogico, am.id_aluno_matricula in ( select max(am2.id_aluno_matricula) from aluno_matricula am2 inner join ano_semestre ano2 on am2.id_ano_semestre = ano2.id_ano_semestre where am2.id_cidadao = am.id_cidadao and ano2.ano = anse.ano and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) union all select max(am2.id_aluno_matricula) from aluno_matricula am2 where am2.id_cidadao = am.id_cidadao and am2.id_ano_semestre = am.id_ano_semestre and am2.id_unidade_funcional = am.id_unidade_funcional and am2.id_aluno_matr_status in (1, 2, 7)) as flg_registro_utilizar, case when flg_matricula_inicial = true then 1 else 0 end as matricula_inicial, case when flg_matricula_inicial = false then 1 else 0 end as matricula_suplementar, case when am.id_aluno_matr_status = 6 then 1 else 0 end as transferidos, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is true then 1 else 0 end as transferencia_interna, case when am.id_aluno_matr_status = 6 and ( select flg_transferencia_interna from aluno_matr_status_hist where id_aluno_matr_status = 6 and id_aluno_matricula = am.id_aluno_matricula order by id_aluno_matr_status_hist desc limit 1) is false then 1 else 0 end as transferencia_externa, case when am.id_aluno_matr_status = 3 then 1 else 0 end as desistentes, case when am.id_aluno_matr_status = 4 then 1 else 0 end as falecidos, case when am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7 then 1 else 0 end as matricula_final, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 0 or id_parecer_conclusivo_tipo = 3) then 1 else 0 end as aprovados, case when (am.id_aluno_matr_status = 1 or am.id_aluno_matr_status = 2 or am.id_aluno_matr_status = 7) and (id_parecer_conclusivo_tipo = 1 or id_parecer_conclusivo_tipo = 2) then 1 else 0 end as reprovados, case when amt.id_aluno_matricula is null and am.id_aluno_matr_status = 1 then 1 else 0 end as nao_enturmados from aluno_matricula am inner join curso c on am.id_curso = c.id_curso inner join serie s on am.id_serie = s.id_serie left join parecer_conclusivo pc on am.id_aluno_matricula = pc.id_aluno_matricula inner join ano_semestre anse on am.id_ano_semestre = anse.id_ano_semestre left join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma where am.id_aluno_matr_status in (1, 2, 3, 4, 6, 7) and ((t.id_diario_turma_situacao = $1 and amt.id_diario_turma_situacao_enturmacao = $2) or coalesce(t.id_diario_turma_situacao, -1) <> $3)) t where flg_registro_utilizar group by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico order by id_unidade_funcional, id_curso, id_serie, id_ano_semestre, id_programa_pedagogico;
Date: 2026-07-06 01:07:22 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
63 1 19.96 MiB 19.96 MiB 19.96 MiB 19.96 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 = 3576592) AND (amt.id_turma = 250009391) order by d.ordem, d.descricao;
Date: 2026-07-06 11:49:04 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
64 1 51.90 MiB 51.90 MiB 51.90 MiB 51.90 MiB from usuario_grupo_unidade ugu inner join grupo_usuario gu on gu.id_grupo_usuario = ugu.id_grupo_usuario where ugu.id_usuario = usuario.id_usuario and gu.id_ator is not null) when ? then ? else ? end as especial, case when (flg_bloqueado) then ? else ? end || case when (data_inicio_inativo is not null and data_fim_inativo is not null and now() between data_inicio_inativo and data_fim_inativo) then ? else ? end as situacao, to_char(data_criacao, ?) as datacriacao, to_char(data_ultimo_acesso, ?) as dataultimoacesso from usuario where id_usuario in ( select id_usuario from usuario_instituicao where id_instituicao = ?) and flg_excluido = false and id_usuario in ( select id_usuario from usuario_grupo_unidade where id_unidade_funcional in ( select uf.id_unidade_funcional from unidade_funcional uf left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional where huf.id_assunto_hierarquia_unidade = ? and (uf.id_unidade_funcional = ? or uf.id_unidade_funcional in ( select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = ? and id_assunto_hierarquia_unidade = ?)) and uf.id_unidade_funcional in ( select id_unidade_funcional from perfil_extendido where id_usuario = ? and id_assunto_hierarquia_unidade = ?))) and id_usuario in ( select cu.id_usuario from cidadao_usuario cu inner join cidadao on cidadao.id_cidadao = cu.id_cidadao inner join documentos_cidadao documentos on documentos.id_cidadao = cidadao.id_cidadao where documentos.numero_cpf = ? and cidadao.id_instituicao = ?) order by nome limit ?;-
from usuario_grupo_unidade ugu inner join grupo_usuario gu on gu.id_grupo_usuario = ugu.id_grupo_usuario where ugu.id_usuario = usuario.id_usuario and gu.id_ator is not null) when 0 then 'Sim' else 'Não' end as especial, case when (flg_bloqueado) then 'Bloqueado / ' else 'Desbloqueado / ' end || case when (data_inicio_inativo is not null and data_fim_inativo is not null and now() between data_inicio_inativo and data_fim_inativo) then 'Inativo' else 'Ativo' end as situacao, to_char(data_criacao, 'DD/MM/YYYY') as datacriacao, to_char(data_ultimo_acesso, 'DD/MM/YYYY') as dataultimoacesso from usuario where id_usuario in ( select id_usuario from usuario_instituicao where id_instituicao = $1) and flg_excluido = false and id_usuario in ( select id_usuario from usuario_grupo_unidade where id_unidade_funcional in ( select uf.id_unidade_funcional from unidade_funcional uf left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = uf.id_unidade_funcional where huf.id_assunto_hierarquia_unidade = $2 and (uf.id_unidade_funcional = $3 or uf.id_unidade_funcional in ( select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $4 and id_assunto_hierarquia_unidade = $5)) and uf.id_unidade_funcional in ( select id_unidade_funcional from perfil_extendido where id_usuario = $6 and id_assunto_hierarquia_unidade = $7))) and id_usuario in ( select cu.id_usuario from cidadao_usuario cu inner join cidadao on cidadao.id_cidadao = cu.id_cidadao inner join documentos_cidadao documentos on documentos.id_cidadao = cidadao.id_cidadao where documentos.numero_cpf = $8 and cidadao.id_instituicao = $9) order by nome limit 10;
Date: 2026-07-06 11:38:21 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
65 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB q.dia_semana AS "diaSemana", uf.id_unidade_funcional AS "idUnidadeFuncional", uf.nome AS "nomeUnidadeFuncional", h.horario_inicio AS "horarioInicio", to_char(h.horario_inicio, ?) || ? || to_char(h.horario_termino, ?) as horario, t.codigo as turma, string_agg(distinct d.sigla, ? order by d.sigla) as disciplina from turma t inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join turma_serie ts on ts.id_turma = t.id_turma inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_componente_curricular = q.id_componente_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join horario_turma h on h.id_horario_turma = q.id_horario_turma where uf.id_instituicao = ? and t.id_turma_status = ? and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= current_date) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= current_date) and exists ( select null from turma_professor tp where tp.id_turma = t.id_turma and tp.id_componente_curricular = cc.id_componente_curricular and tp.id_cidadao = ?) group by q.dia_semana, uf.id_unidade_funcional, uf.nome, h.horario_inicio, h.horario_termino, t.codigo order by "diaSemana", "horarioInicio") r;-
q.dia_semana as "diaSemana", uf.id_unidade_funcional as "idUnidadeFuncional", uf.nome as "nomeUnidadeFuncional", h.horario_inicio as "horarioInicio", to_char(h.horario_inicio, 'HH24:MI') || ' às ' || to_char(h.horario_termino, 'HH24:MI') as horario, t.codigo as turma, string_agg(distinct d.sigla, ', ' order by d.sigla) as disciplina from turma t inner join unidade_funcional uf on uf.id_unidade_funcional = t.id_unidade_funcional inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join turma_serie ts on ts.id_turma = t.id_turma inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_serie = ts.id_serie inner join componente_curricular cc on cc.id_componente_curricular = q.id_componente_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join horario_turma h on h.id_horario_turma = q.id_horario_turma where uf.id_instituicao = $1 and t.id_turma_status = $2 and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= current_date) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= current_date) and exists ( select null from turma_professor tp where tp.id_turma = t.id_turma and tp.id_componente_curricular = cc.id_componente_curricular and tp.id_cidadao = $3) group by q.dia_semana, uf.id_unidade_funcional, uf.nome, h.horario_inicio, h.horario_termino, t.codigo order by "diaSemana", "horarioInicio") r;
Date: 2026-07-06 15:01:55 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
66 1 31.94 MiB 31.94 MiB 31.94 MiB 31.94 MiB 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, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_jan, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, ?, false) as perc_freq_fev, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_mar, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_abr, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_mai, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_jun, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_jul, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_ago, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_set, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_out, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_nov, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_dez, 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_turno = ? 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, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_jan, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, ?, false) as perc_freq_fev, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_mar, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_abr, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_mai, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_jun, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_jul, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_ago, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_set, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_out, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_nov, ? - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat(?, ?)::date, concat(?, ?)::date, false) as perc_freq_dez, 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_turno = ? 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;-
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, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($1, '-01-01')::date, concat($2, '-01-31')::date, false) as perc_freq_jan, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($3, '-02-01')::date, $4, false) as perc_freq_fev, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($5, '-03-01')::date, concat($6, '-03-31')::date, false) as perc_freq_mar, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($7, '-04-01')::date, concat($8, '-04-30')::date, false) as perc_freq_abr, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($9, '-05-01')::date, concat($10, '-05-31')::date, false) as perc_freq_mai, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($11, '-06-01')::date, concat($12, '-06-30')::date, false) as perc_freq_jun, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($13, '-07-01')::date, concat($14, '-07-31')::date, false) as perc_freq_jul, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($15, '-08-01')::date, concat($16, '-08-31')::date, false) as perc_freq_ago, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($17, '-09-01')::date, concat($18, '-09-30')::date, false) as perc_freq_set, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($19, '-10-01')::date, concat($20, '-10-31')::date, false) as perc_freq_out, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($21, '-11-01')::date, concat($22, '-11-30')::date, false) as perc_freq_nov, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($23, '-12-01')::date, concat($24, '-12-31')::date, false) as perc_freq_dez, 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 = $25), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = $26)) 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 = $27 and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = $28 and am.id_curso = $29 and serie.id_serie = $30 and turma.id_turno = $31 and turma.id_turma = $32 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 $33 and $34 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, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($35, '-01-01')::date, concat($36, '-01-31')::date, false) as perc_freq_jan, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($37, '-02-01')::date, $38, false) as perc_freq_fev, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($39, '-03-01')::date, concat($40, '-03-31')::date, false) as perc_freq_mar, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($41, '-04-01')::date, concat($42, '-04-30')::date, false) as perc_freq_abr, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($43, '-05-01')::date, concat($44, '-05-31')::date, false) as perc_freq_mai, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($45, '-06-01')::date, concat($46, '-06-30')::date, false) as perc_freq_jun, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($47, '-07-01')::date, concat($48, '-07-31')::date, false) as perc_freq_jul, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($49, '-08-01')::date, concat($50, '-08-31')::date, false) as perc_freq_ago, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($51, '-09-01')::date, concat($52, '-09-30')::date, false) as perc_freq_set, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($53, '-10-01')::date, concat($54, '-10-31')::date, false) as perc_freq_out, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($55, '-11-01')::date, concat($56, '-11-30')::date, false) as perc_freq_nov, 100 - sp_percentual_frequencia_mes (am.id_aluno_matricula, amt.id_turma, null, concat($57, '-12-01')::date, concat($58, '-12-31')::date, false) as perc_freq_dez, 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 = $59), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = $60)) 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 = $61 and am.id_aluno_matr_status in (1, 2, 7) and ano_semestre.ano = $62 and am.id_curso = $63 and serie.id_serie = $64 and turma.id_turno = $65 and turma.id_turma = $66 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 $67 and $68 order by aluno;
Date: 2026-07-06 14:10:44 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
67 1 170.05 MiB 170.05 MiB 170.05 MiB 170.05 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, ? as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = ? then ?.? when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then ?.? else round(ceil(? * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = ? then ? else ? end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part(?, dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part(?, dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? inner join lateral ( select date_part(?, falta_aluno_mes.data) as ano, date_part(?, falta_aluno_mes.data) as mes) as parametros on true left join parametro on parametro.id_instituicao = falta_aluno_mes.id_instituicao and parametro.nome = ? left join definicao_parametro on definicao_parametro.nome = parametro.nome where (parametros.ano * ? + parametros.mes) <= (date_part(?, current_date) * ? + date_part(?, current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when sum(falta_aluno_mes.aulas) = ? then ?.? when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then ?.? else round(ceil(? * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = ? then ? else ? end) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part(?, dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part(?, dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, '1' as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else round(ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true left join parametro on parametro.id_instituicao = falta_aluno_mes.id_instituicao and parametro.nome = 'arredondarFrequenciaAluno' left join definicao_parametro on definicao_parametro.nome = parametro.nome where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else round(ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 01:31:03 Duration: 6s289ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, $1 as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else round(ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true left join parametro on parametro.id_instituicao = falta_aluno_mes.id_instituicao and parametro.nome = 'arredondarFrequenciaAluno' left join definicao_parametro on definicao_parametro.nome = parametro.nome where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas, parametro.valor, definicao_parametro.valor_padrao having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else round(ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), case when coalesce(parametro.valor, definicao_parametro.valor_padrao) = '1' then 0 else 2 end) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 01:31:03 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
68 1 60.32 MiB 60.32 MiB 60.32 MiB 60.32 MiB insert into gestao_programa.acompanhamento_turma_disciplina (id_turma, id_disciplina, id_nota_periodo_aluno, aula_prevista) select distinct turma.id_turma, cc.id_disciplina, calendario_periodo.ordem as id_nota_periodo_aluno, case when serie.flg_regencia_classe is false then cc.qtd_aulas_semanal * calendario_periodo.qtd_semanas_letivas else null end as aulas_previstas from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = ? inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre 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 calendario_periodo on (curso.flg_calendario_diferenciado and curso_calendario.id_calendario is not null and curso_calendario.id_calendario = calendario_periodo.id_calendario) or (calendario_periodo.id_calendario = escola_calendario.id_calendario and (curso_calendario.id_calendario is null or not curso.flg_calendario_diferenciado)) where turma.id_turma_status in (...);-
insert into gestao_programa.acompanhamento_turma_disciplina (id_turma, id_disciplina, id_nota_periodo_aluno, aula_prevista) select distinct turma.id_turma, cc.id_disciplina, calendario_periodo.ordem as id_nota_periodo_aluno, case when serie.flg_regencia_classe is false then cc.qtd_aulas_semanal * calendario_periodo.qtd_semanas_letivas else null end as aulas_previstas from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre 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 calendario_periodo on (curso.flg_calendario_diferenciado and curso_calendario.id_calendario is not null and curso_calendario.id_calendario = calendario_periodo.id_calendario) or (calendario_periodo.id_calendario = escola_calendario.id_calendario and (curso_calendario.id_calendario is null or not curso.flg_calendario_diferenciado)) where turma.id_turma_status in (1, 2);
Date: 2026-07-06 00:32:30 Duration: 9s222ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
insert into gestao_programa.acompanhamento_turma_disciplina (id_turma, id_disciplina, id_nota_periodo_aluno, aula_prevista) select distinct turma.id_turma, cc.id_disciplina, calendario_periodo.ordem as id_nota_periodo_aluno, case when serie.flg_regencia_classe is false then cc.qtd_aulas_semanal * calendario_periodo.qtd_semanas_letivas else null end as aulas_previstas from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.id_nucleo_disciplina = 1 inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre 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 calendario_periodo on (curso.flg_calendario_diferenciado and curso_calendario.id_calendario is not null and curso_calendario.id_calendario = calendario_periodo.id_calendario) or (calendario_periodo.id_calendario = escola_calendario.id_calendario and (curso_calendario.id_calendario is null or not curso.flg_calendario_diferenciado)) where turma.id_turma_status in (1, 2);
Date: 2026-07-06 00:32:30 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
69 1 47.91 MiB 47.91 MiB 47.91 MiB 47.91 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 "turma" asc, "nome" asc limit ?) r;-
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 "turma" asc, "nome" asc limit 10) r;
Date: 2026-07-06 14:47:26 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
70 1 19.96 MiB 19.96 MiB 19.96 MiB 19.96 MiB coa.id_conteudo_organizado_aula, coa.id_situacao_didatica_aula, coa.id_situacao_didatica, coa.descricao_situacao_didatica, coa.data_realizacao, coa.id_motivo_habilidade_nao_trabalhada, coa.descricao_motivo from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma inner join conteudo_organizado_aula coa on coa.id_situacao_didatica_aula = sda.id_situacao_didatica_aula where sda.id_turma in (...) and exists ( select null from turma_professor tp where tp.id_cidadao = ? and tp.id_turma = sda.id_turma and tp.id_componente_curricular = sda.id_componente_curricular) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and rd.id_componente_curricular = sda.id_componente_curricular and rd.data_referencia = sda.data and rd.data_atualizacao > ? and t.id_periodicidade_conteudo in (...) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and rq.id_componente_curricular = sda.id_componente_curricular and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > ? and t.id_periodicidade_conteudo = ?) union all select coa.id_conteudo_organizado_aula, coa.id_situacao_didatica_aula, coa.id_situacao_didatica, coa.descricao_situacao_didatica, coa.data_realizacao, coa.id_motivo_habilidade_nao_trabalhada, coa.descricao_motivo from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma inner join conteudo_organizado_aula coa on coa.id_situacao_didatica_aula = sda.id_situacao_didatica_aula where sda.id_turma in (...) and sda.id_componente_curricular is null and exists ( select null from turma_professor tp where tp.id_cidadao = ? and tp.id_turma = sda.id_turma) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and rd.id_componente_curricular = ? and rd.data_referencia = sda.data and rd.data_atualizacao > ? and t.id_periodicidade_conteudo in (...) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and rq.id_componente_curricular = ? and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > ? and t.id_periodicidade_conteudo = ?);-
coa.id_conteudo_organizado_aula, coa.id_situacao_didatica_aula, coa.id_situacao_didatica, coa.descricao_situacao_didatica, coa.data_realizacao, coa.id_motivo_habilidade_nao_trabalhada, coa.descricao_motivo from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma inner join conteudo_organizado_aula coa on coa.id_situacao_didatica_aula = sda.id_situacao_didatica_aula where sda.id_turma in ($1, $2) and exists ( select null from turma_professor tp where tp.id_cidadao = $3 and tp.id_turma = sda.id_turma and tp.id_componente_curricular = sda.id_componente_curricular) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and rd.id_componente_curricular = sda.id_componente_curricular and rd.data_referencia = sda.data and rd.data_atualizacao > $4 and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and rq.id_componente_curricular = sda.id_componente_curricular and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > $5 and t.id_periodicidade_conteudo = 3) union all select coa.id_conteudo_organizado_aula, coa.id_situacao_didatica_aula, coa.id_situacao_didatica, coa.descricao_situacao_didatica, coa.data_realizacao, coa.id_motivo_habilidade_nao_trabalhada, coa.descricao_motivo from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma inner join conteudo_organizado_aula coa on coa.id_situacao_didatica_aula = sda.id_situacao_didatica_aula where sda.id_turma in ($6, $7) and sda.id_componente_curricular is null and exists ( select null from turma_professor tp where tp.id_cidadao = $8 and tp.id_turma = sda.id_turma) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and rd.id_componente_curricular = 0 and rd.data_referencia = sda.data and rd.data_atualizacao > $9 and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and rq.id_componente_curricular = 0 and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > $10 and t.id_periodicidade_conteudo = 3);
Date: 2026-07-06 16:05:25 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
71 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB select count(*) as contagem, sum(tabela.alunos) as total_alunos from ( select ;-
select count(*) as contagem, sum(tabela.alunos) as total_alunos from ( select ;
Date: 2026-07-06 13:35:41 Duration: 2s365ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select count(*) as contagem, sum(tabela.alunos) as total_alunos from ( select ;
Date: 2026-07-06 14:22:37 Duration: 723ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select count(*) as contagem, sum(tabela.alunos) as total_alunos from ( select ;
Date: 2026-07-06 13:38:34 Duration: 518ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
72 1 7.97 MiB 7.97 MiB 7.97 MiB 7.97 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 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 serie.id_serie = $7 order by cidadao.nome;
Date: 2026-07-06 08:05:46 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
73 1 172.90 MiB 172.90 MiB 172.90 MiB 172.90 MiB select distinct procedimento_avaliacao.id_tipo_resultado_final, count(distinct turma_periodo.id_nota_periodo_aluno) as periodos from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join turma t on amt.id_turma = t.id_turma inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join procedimento_avaliacao on procedimento_avaliacao.id_procedimento_avaliacao = serie_turma.id_procedimento_avaliacao inner join instituicao_periodo on instituicao_periodo.id_nota_periodo_aluno = turma_periodo.id_nota_periodo_aluno and instituicao_periodo.id_periodicidade_apontamento = curso_turma.id_periodicidade_apontamento 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 (...) where t.flg_organizada = true and curso_turma.id_instituicao = ? and ano_semestre.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 = ?) and am.id_aluno_matr_status in (...) and serie_turma.id_forma_avaliacao in (...) group by procedimento_avaliacao.id_tipo_resultado_final;-
select distinct procedimento_avaliacao.id_tipo_resultado_final, count(distinct turma_periodo.id_nota_periodo_aluno) as periodos from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join turma t on amt.id_turma = t.id_turma inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join procedimento_avaliacao on procedimento_avaliacao.id_procedimento_avaliacao = serie_turma.id_procedimento_avaliacao inner join instituicao_periodo on instituicao_periodo.id_nota_periodo_aluno = turma_periodo.id_nota_periodo_aluno and instituicao_periodo.id_periodicidade_apontamento = curso_turma.id_periodicidade_apontamento 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) where t.flg_organizada = true and curso_turma.id_instituicao = '99' and ano_semestre.ano = '2025' and uf.id_unidade_funcional in ( select '607524' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607524' and id_assunto_hierarquia_unidade = '82') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) group by procedimento_avaliacao.id_tipo_resultado_final;
Date: 2026-07-06 15:52:10 Duration: 12s978ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
-
select distinct procedimento_avaliacao.id_tipo_resultado_final, count(distinct turma_periodo.id_nota_periodo_aluno) as periodos from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join turma t on amt.id_turma = t.id_turma inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join procedimento_avaliacao on procedimento_avaliacao.id_procedimento_avaliacao = serie_turma.id_procedimento_avaliacao inner join instituicao_periodo on instituicao_periodo.id_nota_periodo_aluno = turma_periodo.id_nota_periodo_aluno and instituicao_periodo.id_periodicidade_apontamento = curso_turma.id_periodicidade_apontamento 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) where t.flg_organizada = true and curso_turma.id_instituicao = $1 and ano_semestre.ano = $2 and uf.id_unidade_funcional in ( select $3 union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = $4 and id_assunto_hierarquia_unidade = $5) and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) group by procedimento_avaliacao.id_tipo_resultado_final;
Date: 2026-07-06 15:52:10 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila
74 1 3.99 MiB 3.99 MiB 3.99 MiB 3.99 MiB update tabela_bem_patrimonial set data_criacao = ?, data_situacao = ?, id_tipo_bem_patrimonial = ?, descricao = ?, flg_ativo = ?, id_instituicao = ? where id_tabela_bem_patrimonial = ?;-
update tabela_bem_patrimonial set data_criacao = $1, data_situacao = $2, id_tipo_bem_patrimonial = $3, descricao = $4, flg_ativo = $5, id_instituicao = $6 where id_tabela_bem_patrimonial = $7;
Date: 2026-07-06 11:31:55 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
75 1 259.37 MiB 259.37 MiB 259.37 MiB 259.37 MiB select distinct ;-
select distinct ;
Date: 2026-07-06 14:29:47 Duration: 8s791ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select distinct ;
Date: 2026-07-06 13:53:51 Duration: 5s739ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
-
select distinct ;
Date: 2026-07-06 11:49:50 Duration: 543ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal
Queries generating the largest temporary files
Rank Size Query 1 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);[ Date: 2026-07-06 00:05:24 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
2 1.00 GiB insert into consulta.material_escolar_alunos_posicao (id_instituicao, id_unidade_funcional, codigo_unidade, nome_unidade, id_material_escolar, id_componente_material_escolar, descricao_componente, ano, tamanho, id_material_escolar_numeracao, quantidade, total_alunos, total_alunos_material, total_alunos_sem_material, id_unidade_localizacao) select uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, mep.id_componente_material_escolar, cme.descricao, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, case when me.flg_exige_numeracao then count(aluno_numeracao.id_cidadao) else count(aluno_material.id_cidadao) end * mep.quantidade as quantidade, count(am.id_cidadao) as total_alunos, count(aluno_material.id_cidadao) as total_alunos_material, count(am.id_cidadao) - count(aluno_material.id_cidadao) as total_alunos_sem_material, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional) as id_unidade_localizacao from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and (me.sexo is null or me.sexo = cidadao.sexo) inner join material_escolar_componente mep on mep.id_material_escolar = me.id_material_escolar inner join componente_material_escolar cme on cme.id_componente_material_escolar = mep.id_componente_material_escolar left join material_escolar_aluno aluno_material on aluno_material.id_cidadao = am.id_cidadao and aluno_material.ano = ano.ano left join material_escolar_numeracao numeracao on numeracao.id_material_escolar = me.id_material_escolar left join material_escolar_aluno_num aluno_numeracao on aluno_numeracao.id_cidadao = aluno_material.id_cidadao and aluno_numeracao.id_material_escolar_numeracao = numeracao.id_material_escolar_numeracao where am.id_aluno_matr_status = 1 group by uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, mep.id_componente_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, cme.descricao, mep.quantidade, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional);[ Date: 2026-07-06 00:20:53 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
3 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:13 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
4 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:13 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
5 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
6 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
7 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
8 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
9 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
10 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
11 1.00 GiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
12 1.00 GiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, $1 as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;[ Date: 2026-07-06 01:59:05 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
13 1.00 GiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, $1 as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;[ Date: 2026-07-06 01:59:05 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
14 1.00 GiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, 0) as faltas, case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno where case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;[ Date: 2026-07-06 02:00:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
15 1.00 GiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, coalesce(faltas.falta_nao_justificada, 0) as faltas, case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_globalizada faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is true group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno where case when aulas.aulas = 0 then 100.0 when coalesce(faltas.falta_nao_justificada, 0) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - coalesce(faltas.falta_nao_justificada, 0)) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = faltas.id_aluno_matricula and dias_consecutivos.id_turma = faltas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;[ Date: 2026-07-06 02:00:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
16 994.45 MiB insert into consulta.material_escolar_alunos_posicao (id_instituicao, id_unidade_funcional, codigo_unidade, nome_unidade, id_material_escolar, ano, tamanho, id_material_escolar_numeracao, quantidade, total_alunos, total_alunos_material, total_alunos_sem_material, id_unidade_localizacao) select uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, me.id_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao, case when me.flg_exige_numeracao then count(aluno_numeracao.id_cidadao) else count(aluno_material.id_cidadao) end as quantidade, count(am.id_cidadao) as total_alunos, count(aluno_material.id_cidadao) as total_alunos_material, count(am.id_cidadao) - count(aluno_material.id_cidadao) as total_alunos_sem_material, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional) as id_unidade_localizacao from unidade_funcional uf inner join aluno_matricula am on am.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join turma t on amt.id_turma = t.id_turma left join ambiente a on t.id_ambiente = a.id_ambiente inner join material_escolar_curso mec on mec.id_curso = am.id_curso inner join material_escolar me on me.id_material_escolar = mec.id_material_escolar and (me.sexo is null or me.sexo = cidadao.sexo) left join material_escolar_aluno aluno_material on aluno_material.id_cidadao = am.id_cidadao and aluno_material.ano = ano.ano left join material_escolar_numeracao numeracao on numeracao.id_material_escolar = me.id_material_escolar left join material_escolar_aluno_num aluno_numeracao on aluno_numeracao.id_cidadao = aluno_material.id_cidadao and aluno_numeracao.id_material_escolar_numeracao = numeracao.id_material_escolar_numeracao where am.id_aluno_matr_status = 1 group by uf.id_instituicao, uf.id_unidade_funcional, uf.codigo, uf.nome, coalesce(a.id_unidade_referencia, uf.id_unidade_funcional), me.id_material_escolar, ano.ano, numeracao.tamanho, numeracao.id_material_escolar_numeracao;[ Date: 2026-07-06 00:20:26 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
17 889.02 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, $1 as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;[ Date: 2026-07-06 02:02:48 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
18 826.01 MiB insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, $1 as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;[ Date: 2026-07-06 01:59:05 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
19 605.02 MiB insert into gestao_programa.acompanhamento_turma_serie (id_turma, id_serie, id_nota_periodo_aluno, matricula_inicial, matricula_suplementar, transferido, desistente, falecido, nao_alfabetizado, correcao_fluxo, aprovado, reprovado_frequencia, reprovado_desempenho) select turma.id_turma, serie.id_serie, calendario_periodo.ordem as id_nota_periodo_aluno, sum( case when am.flg_matricula_inicial is true then 1 else 0 end) as matricula_inicial, sum( case when am.flg_matricula_inicial is false and (periodo_seguinte.ordem is null or am.data_matricula < periodo_seguinte.data_inicio) then 1 else 0 end) as matricula_suplementar, sum( case when am.id_aluno_matr_status = 6 and (periodo_seguinte.ordem is null or historico_transf.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as transferido, sum( case when am.id_aluno_matr_status = 3 and (periodo_seguinte.ordem is null or historico_desist.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as desistente, sum( case when am.id_aluno_matr_status = 4 and (periodo_seguinte.ordem is null or historico_falec.data_ocorrencia < periodo_seguinte.data_inicio) then 1 else 0 end) as falecido, sum( case when am.id_aluno_matr_status in (1, 2, 7) and am.flg_alfabetizado is false and pc.flg_alfabetizado is not true then 1 else 0 end) as nao_alfabetizado, sum( case when am.id_aluno_matr_status in (1, 2, 7) and (cast(date_part('year', age(cast(ano.ano || '-12-31' as timestamp), cidadao.nascimento_data)) as int4) >= serie.idade_distorcao or (am.flg_alfabetizado is false and serie_equiv.ordem > 2)) then 1 else 0 end) as correcao_fluxo, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.flg_aprovacao is true then 1 else 0 end) as aprovado, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.id_parecer_conclusivo_tipo = 1 then 1 else 0 end) as reprovado_frequencia, sum( case when am.id_aluno_matr_status in (1, 2, 7) and pct.id_parecer_conclusivo_tipo = 2 then 1 else 0 end) as reprovado_desempenho from turma inner join turma_serie ts on turma.id_turma = ts.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join calendario_periodo periodo_seguinte on periodo_seguinte.id_calendario = calendario_periodo.id_calendario and periodo_seguinte.ordem = calendario_periodo.ordem + 1 left join serie_equivalente serie_equiv on serie_equiv.id_serie_equivalente = serie.id_serie_equivalente left join aluno_matr_turma amt on amt.id_turma = turma.id_turma left join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula and (serie.flg_correcao_fluxo is true or serie.id_serie = am.id_serie) left join cidadao on cidadao.id_cidadao = am.id_cidadao left join aluno_matr_status_hist historico_transf on historico_transf.id_aluno_matricula = am.id_aluno_matricula and historico_transf.id_aluno_matr_status = 6 left join aluno_matr_status_hist historico_desist on historico_desist.id_aluno_matricula = am.id_aluno_matricula and historico_desist.id_aluno_matr_status = 3 left join aluno_matr_status_hist historico_falec on historico_falec.id_aluno_matricula = am.id_aluno_matricula and historico_falec.id_aluno_matr_status = 4 left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join parecer_conclusivo_tipo pct on pct.id_parecer_conclusivo_tipo = pc.id_parecer_conclusivo_tipo where turma.id_turma_status in (1, 2) group by turma.id_turma, serie.id_serie, calendario_periodo.ordem;[ Date: 2026-07-06 00:31:55 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila ]
20 542.08 MiB insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);[ Date: 2026-07-06 00:05:24 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 190.35 sec Highest CPU-cost vacuum
Table call_center.falta_aluno_mes
Database augeeducacional - 2026-07-06 01:58:40 Date
- 2.33 sec Highest CPU-cost analyze
Table log.log_2026_07
Database augeeducacional - 2026-07-06 10:03:44 Date
Average Autovacuum Duration
Key values
- 190.35 sec Highest CPU-cost vacuum
Table call_center.falta_aluno_mes
Database augeeducacional - 2026-07-06 01:58:40 Date
Analyzes per table
Key values
- public.aluno_turma_diario_impresso (215) Main table analyzed (database portal_betim)
- 798 analyzes Total
Table Number of analyzes portal_betim.public.aluno_turma_diario_impresso 215 augeeducacional.public.aluno_turma_diario_impresso 107 augeeducacional.public.indicador_freq_ocorrencia 50 portal_betim.public.indicador_freq_ocorrencia 41 augeeducacional.public.usuario_dispositivo 21 augeeducacional.public.hierarquia_unidade_extendida 16 portal_betim.fila_trabalho.fila_trabalho_2026_07 8 augeeducacional.fila_trabalho.fila_trabalho_2026_07 8 portal_betim.alimentacao.cardapio_refeicao 7 portal_betim.alimentacao.cardapio_historico_vigencia 7 portal_betim.movel.sincronizacao_2026_07 5 augeeducacional.movel.sincronizacao_lancamento_2026_07 5 portal_betim.movel.sincronizacao_lancamento_2026_07 5 portal_betim.public.usuario_dispositivo 4 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 4 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 4 augeeducacional.movel.sincronizacao_2026_07 4 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 3 portal_betim.pg_catalog.pg_class 3 augeeducacional.call_center.monitoramento_frequencia_aluno 3 augeeducacional.public.usuario 3 augeeducacional.consulta.alunos_abaixo_media_2026 2 augeeducacional.log.log_2026_07 2 augeeducacional.public.periodo_letivo 2 augeeducacional.call_center.falta_aluno_mes 2 portal_demo1_20190907.call_center.falta_aluno_mes 2 portal_betim.public.falta_aluno_globalizada 2 augeeducacional.movel.turma_mudanca_2026_07 2 augeeducacional.public.mec_aluno_escola 2 portal_betim.alimentacao.remessa_item_recebimento 2 portal_betim.movel.turma_mudanca_2026_07 2 portal_betim.log.log_2026_07 2 portal_betim.call_center.falta_aluno_mes 2 portal_betim.alimentacao.remessa_escola_cardapio_historico 2 portal_imm.public.indicador_freq_ocorrencia 2 portal_imm.indicador.indicador_5min_3_2026_07 1 augeeducacional.indicador.indicador_5min_33_2026_07 1 augeeducacional.indicador.indicador_5min_57_2026_07 1 augeeducacional.indicador.indicador_5min_8_2026_07 1 augeeducacional.public.escola 1 portal_imm.indicador.indicador_5min_70_2026_07 1 augeeducacional.consulta.material_escolar_alunos_sem_num 1 portal_demo1_20190907.consulta.perfil_matricula 1 augeeducacional.public.para_casa_nao_feito_aluno 1 portal_betim.indicador.indicador_5min_66_2026_07 1 augeeducacional.indicador.indicador_5min_70_2026_07 1 portal_imm.indicador.indicador_5min_6_2026_07 1 portal_betim.indicador.indicador_5min_20_2026_07 1 portal_demo1_20190907.consulta.posicao_unidade_alunos 1 portal_demo1_20190907.public.perfil_extendido 1 portal_betim.indicador.indicador_5min_9_2026_07 1 portal_betim.indicador.indicador_5min_37_2026_07 1 portal_betim.indicador.indicador_5min_36_2026_07 1 portal_betim.indicador.indicador_5min_33_2026_07 1 augeeducacional.consulta.perfil_matricula 1 portal_betim.indicador.indicador_5min_5_2026_07 1 portal_betim.indicador.indicador_5min_31_2026_07 1 augeeducacional.gestao_programa.acompanhamento_turma 1 portal_betim.consulta.programa_mais_educacao 1 portal_betim.consulta.alvo_educador 1 augeeducacional.indicador.indicador_5min_2_2026_07 1 augeeducacional.indicador.indicador_5min_31_2026_07 1 augeeducacional.consulta.apontamento_turma_periodo 1 augeeducacional.indicador.indicador_5min_34_2026_07 1 augeeducacional.indicador.indicador_5min_67_2026_07 1 augeeducacional.public.situacao_didatica_aula 1 augeeducacional.indicador.indicador_5min_9_2026_07 1 portal_betim.indicador.indicador_freq_dia_2026_07 1 portal_betim.indicador.indicador_5min_3_2026_07 1 augeeducacional.indicador.indicador_5min_68_2026_07 1 portal_demo1_20190907.consulta.conteudo_curricular_ministrado 1 augeeducacional.public.assunto_hierarquia_unidade 1 portal_imm.indicador.indicador_5min_17_2026_07 1 portal_betim.movel.professor_mudanca_2026_07 1 portal_betim.indicador.indicador_5min_18_2026_07 1 portal_betim.indicador.indicador_5min_65_2026_07 1 portal_demo1_20190907.fila_trabalho.fila_trabalho_2026_07 1 portal_demo1_20190907.public.srv_cargo_base_unid_exerc 1 portal_imm.indicador.indicador_5min_19_2026_07 1 augeeducacional.indicador.indicador_5min_65_2026_07 1 portal_betim.indicador.indicador_5min_2_2026_07 1 augeeducacional.consulta.atrib_aula_curso_componente 1 augeeducacional.consulta.alunos_abaixo_media_2012 1 portal_imm.indicador.indicador_5min_64_2026_07 1 augeeducacional.public.aluno_codigo_instituicao 1 portal_demo1_20190907.consulta.apontamento_turma_periodo 1 portal_betim.alimentacao.cardapio 1 portal_imm.consulta.alvo_educador 1 portal_demo1_20190907.consulta.frequencia_aluno 1 augeeducacional.indicador.indicador_5min_7_2026_07 1 portal_imm.indicador.indicador_5min_57_2026_07 1 portal_demo1_20190907.consulta.conteudo_curric_ministrado_detalhe 1 augeeducacional.public.publico_alvo_extendido 1 portal_imm.indicador.indicador_5min_21_2026_07 1 portal_imm.indicador.indicador_5min_20_2026_07 1 portal_imm.indicador.indicador_5min_55_2026_07 1 portal_betim.indicador.indicador_5min_27_2026_07 1 augeeducacional.indicador.indicador_5min_6_2026_07 1 portal_imm.consulta.alvo_aluno 1 augeeducacional.indicador.indicador_5min_15_2026_07 1 portal_betim.indicador.indicador_5min_29_2026_07 1 portal_betim.indicador.indicador_5min_67_2026_07 1 portal_betim.indicador.indicador_5min_55_2026_07 1 portal_betim.public.perfil_extendido 1 augeeducacional.indicador.indicador_5min_20_2026_07 1 portal_imm.indicador.indicador_5min_69_2026_07 1 portal_imm.indicador.indicador_5min_68_2026_07 1 portal_imm.indicador.indicador_freq_dia_2026_07 1 portal_betim.indicador.indicador_5min_14_2026_07 1 augeeducacional.indicador.indicador_5min_27_2026_07 1 portal_imm.indicador.indicador_5min_33_2026_07 1 portal_betim.call_center.falta_aluno_dias_consecutivos 1 portal_betim.indicador.indicador_5min_4_2026_07 1 augeeducacional.consulta.alvo_educador 1 augeeducacional.gestao_programa.acompanhamento_escola_disciplina 1 augeeducacional.consulta.alunos_por_sexo_escola 1 augeeducacional.consulta.atrib_aula_curso_regencia 1 portal_demo1_20190907.consulta.alunos_abaixo_media_2019 1 portal_imm.indicador.indicador_5min_5_2026_07 1 augeeducacional.indicador.indicador_5min_21_2026_07 1 portal_imm.indicador.indicador_5min_56_2026_07 1 portal_demo1_20190907.consulta.material_escolar_alunos_sem_num_det 1 augeeducacional.public.artigo_portal 1 portal_imm.indicador.indicador_5min_1_2026_07 1 portal_demo1_20190907.consulta.posicao_unidade_turmas 1 augeeducacional.indicador.indicador_5min_29_2026_07 1 augeeducacional.public.srv_cargo_sobreposto_unid_ex 1 portal_betim.consulta.frequencia_aluno 1 augeeducacional.consulta.alunos_abaixo_media_2020 1 portal_demo1_20190907.consulta.alunos_por_serie_idade_escola 1 portal_imm.indicador.indicador_5min_37_2026_07 1 portal_imm.indicador.indicador_5min_30_2026_07 1 augeeducacional.consulta.frequencia_aluno 1 augeeducacional.consulta.vagas_serie 1 augeeducacional.consulta.atribuicao_aula_professor 1 portal_imm.consulta.alvo_responsavel 1 portal_imm.indicador.indicador_5min_67_2026_07 1 augeeducacional.indicador.indicador_5min_11_2026_07 1 portal_demo1_20190907.consulta.alvo_educador 1 augeeducacional.indicador.indicador_5min_30_2026_07 1 augeeducacional.consulta.rendimento_escolar_estatistica 1 augeeducacional.indicador.indicador_5min_56_2026_07 1 augeeducacional.indicador.indicador_5min_19_2026_07 1 portal_betim.indicador.indicador_5min_68_2026_07 1 portal_imm.indicador.indicador_5min_31_2026_07 1 portal_betim.indicador.indicador_5min_21_2026_07 1 portal_betim.indicador.indicador_5min_13_2026_07 1 portal_betim.public.escola 1 augeeducacional.consulta.material_escolar_alunos_sem_num_det 1 augeeducacional.indicador.indicador_5min_55_2026_07 1 portal_betim.consulta.apontamento_turma_periodo 1 augeeducacional.public.perfil_extendido 1 portal_imm.fila_trabalho.fila_trabalho_2026_07 1 portal_imm.indicador.indicador_5min_7_2026_07 1 portal_betim.consulta.posicao_unidade_turmas 1 portal_betim.indicador.indicador_5min_17_2026_07 1 portal_betim.public.periodo_letivo 1 portal_betim.alimentacao.remessa_cardapio_item 1 portal_demo1_20190907.public.escola 1 portal_betim.indicador.indicador_5min_7_2026_07 1 augeeducacional.consulta.posicao_unidade_turmas 1 portal_demo1_20190907.public.srv_cargo_sobreposto_unid_ex 1 portal_betim.indicador.indicador_5min_11_2026_07 1 portal_demo1_20190907.consulta.programa_mais_educacao 1 augeeducacional.indicador.indicador_5min_24_2026_07 1 portal_demo1_20190907.consulta.alvo_responsavel 1 augeeducacional.indicador.indicador_5min_10_2026_07 1 portal_betim.public.usuario 1 augeeducacional.consulta.alunos_por_serie_idade_escola 1 portal_demo1_20190907.call_center.falta_aluno_dias_consecutivos 1 augeeducacional.indicador.indicador_5min_63_2026_07 1 portal_betim.consulta.posicao_unidade_alunos 1 portal_betim.indicador.indicador_5min_63_2026_07 1 augeeducacional.consulta.material_escolar_alunos_posicao 1 portal_betim.autocadastro.autocadastro_diario_2026_7 1 portal_betim.indicador.indicador_5min_57_2026_07 1 augeeducacional.aluno_lancamento.nota_aluno_atividade_2026 1 portal_betim.consulta.atribuicao_aula_professor 1 augeeducacional.consulta.programa_mais_educacao 1 portal_betim.consulta.alunos_abaixo_media_2026 1 augeeducacional.indicador.indicador_5min_14_2026_07 1 augeeducacional.indicador.indicador_5min_28_2026_07 1 portal_betim.consulta.perfil_matricula 1 portal_imm.indicador.indicador_5min_8_2026_07 1 portal_demo1_20190907.autocadastro.autocadastro_diario_2026_7 1 augeeducacional.gestao_programa.indicador_sucesso_resultado 1 portal_betim.indicador.indicador_5min_28_2026_07 1 portal_betim.consulta.usuarios_movel 1 portal_demo1_20190907.consulta.usuarios_movel 1 portal_imm.indicador.indicador_5min_11_2026_07 1 augeeducacional.autocadastro.autocadastro_diario_2026_7 1 portal_imm.indicador.indicador_5min_66_2026_07 1 portal_betim.indicador.indicador_5min_8_2026_07 1 portal_imm.public.perfil_extendido 1 portal_betim.public.jorn_trabalho_opcao_serv 1 augeeducacional.call_center.falta_aluno_dias_consecutivos 1 augeeducacional.acompanhamento.situacao_nutricional_unidade_acompanhamento 1 portal_imm.indicador.indicador_5min_34_2026_07 1 portal_imm.indicador.indicador_5min_4_2026_07 1 portal_betim.indicador.indicador_5min_10_2026_07 1 portal_demo1_20190907.consulta.alunos_por_sexo_escola 1 portal_betim.consulta.alvo_aluno 1 portal_betim.indicador.indicador_5min_69_2026_07 1 portal_imm.indicador.indicador_5min_24_2026_07 1 augeeducacional.indicador.indicador_5min_18_2026_07 1 augeeducacional.indicador.indicador_5min_5_2026_07 1 augeeducacional.consulta.alvo_responsavel 1 augeeducacional.gestao_programa.acompanhamento_turma_serie 1 augeeducacional.indicador.indicador_5min_13_2026_07 1 augeeducacional.consulta.posicao_unidade_alunos 1 portal_demo1_20190907.consulta.rendimento_escolar_estatistica 1 augeeducacional.gestao_programa.acompanhamento_escola 1 portal_imm.indicador.indicador_5min_36_2026_07 1 augeeducacional.public.falta_aluno_globalizada 1 portal_demo1_20190907.public.jorn_trabalho_opcao_serv 1 augeeducacional.indicador.indicador_5min_66_2026_07 1 portal_betim.consulta.alvo_responsavel 1 portal_imm.indicador.indicador_5min_63_2026_07 1 portal_demo1_20190907.acompanhamento.consulta_situacao_nutricional 1 portal_betim.consulta.alunos_por_sexo_escola 1 augeeducacional.consulta.aluno_exportar_itgs 1 augeeducacional.public.srv_cargo_base_unid_exerc 1 portal_demo1_20190907.consulta.vagas_serie 1 portal_demo1_20190907.public.periodo_letivo 1 portal_demo1_20190907.consulta.alvo_aluno 1 augeeducacional.indicador.indicador_5min_17_2026_07 1 augeeducacional.acompanhamento.consulta_situacao_nutricional 1 augeeducacional.movel.professor_mudanca_2026_07 1 portal_imm.indicador.indicador_5min_18_2026_07 1 augeeducacional.consulta.unidade_risco_evasao 1 portal_betim.indicador.indicador_5min_24_2026_07 1 portal_betim.public.srv_cargo_base_unid_exerc 1 portal_betim.call_center.monitoramento_frequencia_aluno 1 portal_betim.indicador.indicador_5min_15_2026_07 1 portal_imm.indicador.indicador_5min_13_2026_07 1 portal_betim.indicador.indicador_5min_6_2026_07 1 portal_betim.consulta.vagas_serie 1 augeeducacional.consulta.usuarios_movel 1 portal_betim.indicador.indicador_5min_56_2026_07 1 augeeducacional.gestao_programa.acompanhamento_turma_disciplina 1 portal_betim.indicador.indicador_5min_30_2026_07 1 portal_demo1_20190907.consulta.material_escolar_alunos_sem_num 1 portal_demo1_20190907.consulta.atrib_aula_curso_regencia 1 portal_demo1_20190907.consulta.material_escolar_alunos_posicao 1 portal_betim.consulta.rendimento_escolar_estatistica 1 augeeducacional.indicador.indicador_5min_37_2026_07 1 portal_betim.indicador.indicador_5min_34_2026_07 1 augeeducacional.public.jorn_trabalho_opcao_serv 1 portal_demo1_20190907.consulta.atrib_aula_curso_componente 1 portal_imm.indicador.indicador_5min_10_2026_07 1 portal_imm.indicador.indicador_5min_2_2026_07 1 augeeducacional.indicador.indicador_5min_36_2026_07 1 portal_betim.consulta.atrib_aula_curso_componente 1 portal_imm.indicador.indicador_5min_9_2026_07 1 portal_betim.indicador.indicador_5min_12_2026_07 1 augeeducacional.indicador.indicador_5min_69_2026_07 1 augeeducacional.indicador.indicador_freq_dia_2026_07 1 portal_imm.indicador.indicador_5min_27_2026_07 1 portal_betim.indicador.indicador_5min_70_2026_07 1 augeeducacional.indicador.indicador_5min_4_2026_07 1 augeeducacional.indicador.indicador_5min_1_2026_07 1 portal_imm.indicador.indicador_5min_29_2026_07 1 portal_betim.consulta.alunos_por_serie_idade_escola 1 augeeducacional.call_center.parametro_frequencia_monitoramento 1 portal_demo1_20190907.public.publico_alvo_extendido 1 portal_imm.indicador.indicador_5min_14_2026_07 1 portal_betim.indicador.indicador_5min_1_2026_07 1 augeeducacional.consulta.alvo_aluno 1 augeeducacional.indicador.indicador_5min_12_2026_07 1 augeeducacional.consulta.alunos_abaixo_media_2022 1 augeeducacional.consulta.alunos_abaixo_media_2025 1 augeeducacional.indicador.indicador_5min_64_2026_07 1 portal_betim.indicador.indicador_5min_64_2026_07 1 augeeducacional.indicador.indicador_5min_3_2026_07 1 portal_imm.indicador.indicador_5min_15_2026_07 1 portal_demo1_20190907.call_center.monitoramento_frequencia_aluno 1 portal_betim.indicador.indicador_5min_19_2026_07 1 portal_imm.indicador.indicador_5min_12_2026_07 1 portal_demo1_20190907.consulta.alunos_abaixo_media_2012 1 portal_imm.indicador.indicador_5min_65_2026_07 1 portal_imm.indicador.indicador_5min_28_2026_07 1 augeeducacional.pg_catalog.pg_class 1 Total 798 Vacuums per table
Key values
- public.escola (87) Main table vacuumed on database augeeducacional
- 1,013 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples augeeducacional.public.escola 87 1 16,689 0 73 0 0 125 65 274,517 0 0 augeeducacional.consulta.alunos_abaixo_media_2026 86 1 97,022 0 875 0 34 1,531 693 2,298,824 0 0 augeeducacional.public.periodo_letivo 86 1 72,244 0 926 1 5,762 1,166 696 3,645,719 0 0 augeeducacional.consulta.vagas_serie 85 1 307,210 0 3,608 0 0 4,678 1,906 4,286,780 0 0 augeeducacional.consulta.unidade_risco_evasao 80 0 7,042 0 44 0 0 78 23 48,431 0 0 augeeducacional.gestao_programa.acompanhamento_turma_disciplina 80 1 4,136,006 0 47,792 0 0 70,584 28,965 121,859,993 0 0 augeeducacional.gestao_programa.acompanhamento_turma 80 1 579,870 0 5,322 0 0 11,619 4,890 24,375,680 0 0 augeeducacional.gestao_programa.acompanhamento_turma_serie 80 1 893,927 0 7,417 0 0 16,469 6,413 38,521,428 0 0 augeeducacional.public.jorn_trabalho_opcao_serv 78 1 809,652 0 8,567 0 50,466 15,224 7,402 23,489,424 0 0 augeeducacional.public.indicador_freq_ocorrencia 23 0 21,042 0 3,478 0 11,917 5,948 1,169 1,745,960 0 0 portal_betim.public.aluno_turma_diario_impresso 21 0 1,369 0 79 1 0 39 22 181,911 0 0 augeeducacional.pg_toast.pg_toast_3120537 16 16 43,055 0 8,419 0 8,493 26,375 8,302 37,247,929 0 0 portal_betim.public.indicador_freq_ocorrencia 12 0 1,676 0 408 0 0 617 20 224,309 0 0 portal_betim.consulta.vagas_serie 8 1 3,043 0 227 0 0 405 178 557,202 0 0 portal_betim.public.escola 8 0 482 0 13 0 0 10 7 31,283 0 0 augeeducacional.public.aluno_turma_diario_impresso 8 0 510 0 28 1 0 14 7 59,108 0 0 portal_betim.consulta.alunos_abaixo_media_2026 8 1 2,194 0 155 0 0 266 122 427,069 0 0 augeeducacional.public.hierarquia_unidade_extendida 6 6 1,203 0 88 0 216 323 104 473,651 0 0 portal_betim.public.jorn_trabalho_opcao_serv 6 1 14,601 0 1,911 0 0 3,849 1,889 7,510,859 0 0 augeeducacional.public.publico_alvo_extendido 5 1 615 0 66 0 0 103 48 171,144 0 0 portal_betim.alimentacao.cardapio_historico_vigencia 5 5 544 0 11 0 0 49 11 71,689 0 0 augeeducacional.public.usuario_dispositivo 4 4 226,948 0 66,960 0 12,161 148,356 67,041 360,101,892 0 0 augeeducacional.fila_trabalho.fila_trabalho_2026_07 3 3 366,888 0 114,243 0 0 270,276 93,756 486,552,524 0 0 augeeducacional.call_center.monitoramento_frequencia_aluno 3 0 5,209 0 4 0 0 2,526 3 168,323 0 0 portal_betim.pg_toast.pg_toast_899265195 3 3 1,196 0 94 0 0 702 88 405,982 0 0 portal_betim.fila_trabalho.fila_trabalho_2026_07 2 2 60,714 0 16,923 0 0 44,879 14,860 90,336,464 0 0 portal_betim.call_center.falta_aluno_mes 2 0 219,132 0 41,515 0 0 41,513 2 2,465,919 0 0 portal_demo1_20190907.call_center.falta_aluno_mes 2 0 96,789 0 5 0 0 48,338 4 2,884,720 0 0 portal_imm.public.indicador_freq_ocorrencia 2 0 58 0 5 0 0 7 2 17,225 0 0 portal_imm.fila_trabalho.fila_trabalho_2026_07 2 2 507 0 32 0 0 66 27 141,435 0 0 portal_betim.alimentacao.cardapio_refeicao 2 2 1,154 0 105 0 132 456 151 520,108 0 0 augeeducacional.public.assunto_hierarquia_unidade 2 0 169 0 10 0 0 8 4 26,654 0 0 augeeducacional.log.log_2026_07 2 0 148,929 0 47,092 0 0 53,128 12,207 69,290,097 0 0 augeeducacional.call_center.falta_aluno_mes 2 0 2,524,956 0 897,102 0 0 814,973 26 48,292,635 0 0 portal_betim.public.usuario_dispositivo 2 2 20,718 0 7,556 0 22,243 15,565 7,211 38,429,436 0 0 augeeducacional.movel.sincronizacao_lancamento_2026_07 2 2 18,716 0 6,881 0 0 12,699 6,149 39,455,985 0 0 augeeducacional.consulta.atrib_aula_curso_regencia 1 0 48 0 2 0 0 1 0 188 0 0 portal_betim.public.srv_cargo_base_unid_exerc 1 0 248 0 2 0 0 1 0 188 0 0 augeeducacional.gestao_programa.acompanhamento_escola_disciplina 1 0 7,032 0 2 0 0 1 1 3,529 0 0 augeeducacional.consulta.alunos_por_sexo_escola 1 0 49 0 3 0 0 1 1 3,881 0 0 augeeducacional.consulta.alvo_educador 1 0 5,289 0 2 0 0 1 0 188 0 0 portal_betim.call_center.falta_aluno_dias_consecutivos 1 0 621 0 4 0 0 297 1 25,849 0 0 augeeducacional.indicador.indicador_5min_21_2026_07 1 0 84 0 20 0 0 18 1 9,388 0 0 portal_betim.call_center.monitoramento_frequencia_aluno 1 0 1,161 0 3 0 0 564 1 41,602 0 0 portal_demo1_20190907.consulta.alunos_abaixo_media_2019 1 1 192 0 3 0 0 111 2 40,812 0 0 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 1 1 13,381 0 6,261 0 0 11,326 6,029 36,894,440 0 0 portal_betim.consulta.rendimento_escolar_estatistica 1 0 662 0 2 0 0 1 0 188 0 0 portal_demo1_20190907.consulta.material_escolar_alunos_posicao 1 0 180 0 3 0 0 85 1 13,341 0 0 portal_betim.pg_catalog.pg_class 1 1 431 0 104 0 286 184 100 547,819 0 0 portal_demo1_20190907.consulta.posicao_unidade_turmas 1 0 2,032 0 3 0 0 1,002 1 67,444 0 0 portal_demo1_20190907.public.assunto_hierarquia_unidade 1 0 113 0 2 0 0 3 2 16,643 0 0 portal_demo1_20190907.consulta.material_escolar_alunos_sem_num_det 1 0 112 0 3 0 0 41 1 10,745 0 0 augeeducacional.consulta.usuarios_movel 1 0 60 0 3 0 0 1 1 2,297 0 0 augeeducacional.public.artigo_portal 1 1 175 0 36 0 0 64 31 86,030 0 0 portal_betim.consulta.atrib_aula_curso_componente 1 0 38 0 3 0 0 1 0 188 0 0 portal_demo1_20190907.consulta.alunos_por_serie_idade_escola 1 0 1,555 0 4 0 0 750 1 52,576 0 0 augeeducacional.consulta.alunos_abaixo_media_2020 1 1 193 0 10 0 0 31 10 40,231 0 0 portal_betim.log.log_2026_07 1 0 27,733 0 3,149 0 0 8,743 1,065 7,406,142 0 0 portal_betim.consulta.frequencia_aluno 1 0 828 0 3 0 0 1 1 7,225 0 0 augeeducacional.pg_toast.pg_toast_1008992926 1 0 5,592 0 2,453 0 0 2,490 2 159,201 0 0 portal_imm.consulta.alvo_responsavel 1 0 122 0 4 0 0 49 1 11,217 0 0 augeeducacional.indicador.indicador_freq_dia_2026_07 1 1 3,641 0 321 0 0 325 9 76,527 0 0 augeeducacional.consulta.atribuicao_aula_professor 1 0 126 0 3 0 0 1 0 188 0 0 augeeducacional.movel.sincronizacao_2026_07 1 1 3,591 0 1,573 0 0 2,645 1,037 6,260,389 0 0 augeeducacional.consulta.frequencia_aluno 1 0 5,392 0 1,859 0 0 1 1 2,297 0 0 augeeducacional.call_center.parametro_frequencia_monitoramento 1 1 69 0 3 0 0 6 3 12,030 0 0 portal_demo1_20190907.public.publico_alvo_extendido 1 1 198 0 1 0 0 100 2 41,988 0 0 portal_betim.consulta.alunos_por_serie_idade_escola 1 0 3,279 0 2 0 0 1 0 188 0 0 portal_demo1_20190907.consulta.alvo_educador 1 0 351 0 3 0 0 163 1 17,943 0 0 portal_betim.movel.sincronizacao_lancamento_2026_07 1 1 1,176 0 313 0 0 681 269 1,773,957 0 0 portal_demo1_20190907.call_center.monitoramento_frequencia_aluno 1 0 284 0 3 0 0 125 1 15,701 0 0 portal_betim.indicador.indicador_5min_21_2026_07 1 0 86 0 21 0 0 18 2 16,953 0 0 augeeducacional.indicador.indicador_5min_56_2026_07 1 0 170 0 84 0 0 82 2 18,617 0 0 augeeducacional.consulta.alunos_abaixo_media_2025 1 1 900 0 86 0 250 267 179 930,646 0 0 augeeducacional.consulta.alvo_aluno 1 0 5,082 0 2 0 0 1 0 188 0 0 augeeducacional.consulta.rendimento_escolar_estatistica 1 0 1,443 0 3 0 0 1 1 4,409 0 0 augeeducacional.consulta.alunos_abaixo_media_2022 1 1 490 0 53 0 94 149 54 320,372 0 0 augeeducacional.movel.turma_mudanca_2026_07 1 1 548 0 137 0 0 168 13 113,175 0 0 portal_betim.consulta.posicao_unidade_turmas 1 0 1,759 0 2 0 0 1 0 188 0 0 portal_betim.consulta.apontamento_turma_periodo 1 0 240 0 2 0 0 1 0 188 0 0 augeeducacional.indicador.indicador_5min_55_2026_07 1 0 170 0 60 0 0 57 2 19,702 0 0 augeeducacional.public.perfil_extendido 1 0 15,288 0 3 0 0 1 1 2,297 0 0 augeeducacional.consulta.material_escolar_alunos_sem_num_det 1 0 752 0 2 0 0 1 0 188 0 0 augeeducacional.consulta.material_escolar_alunos_sem_num 1 0 74 0 3 0 0 1 0 188 0 0 portal_demo1_20190907.consulta.programa_mais_educacao 1 0 26 0 3 0 0 8 1 8,798 0 0 portal_demo1_20190907.consulta.perfil_matricula 1 0 1,485 0 3 0 0 706 1 49,980 0 0 portal_demo1_20190907.public.escola 1 1 143 0 1 0 0 58 2 28,068 0 0 augeeducacional.indicador.indicador_5min_33_2026_07 1 0 207 0 61 0 0 58 2 19,137 0 0 portal_betim.movel.sincronizacao_2026_07 1 1 1,044 0 330 0 0 558 250 1,728,668 0 0 augeeducacional.indicador.indicador_5min_57_2026_07 1 0 200 0 53 0 0 51 2 18,724 0 0 augeeducacional.consulta.posicao_unidade_turmas 1 0 5,049 0 2 0 0 1 0 188 0 0 augeeducacional.consulta.material_escolar_alunos_posicao 1 0 5,562 0 2 0 0 1 0 188 0 0 portal_betim.consulta.atribuicao_aula_professor 1 0 123 0 3 0 0 1 0 188 0 0 portal_betim.consulta.posicao_unidade_alunos 1 0 621 0 2 0 0 1 0 188 0 0 augeeducacional.consulta.perfil_matricula 1 0 10,245 0 2 0 0 1 0 188 0 0 augeeducacional.consulta.alunos_por_serie_idade_escola 1 0 7,634 0 2 0 0 1 1 5,581 0 0 portal_demo1_20190907.call_center.falta_aluno_dias_consecutivos 1 0 47 0 4 0 0 10 1 8,916 0 0 portal_demo1_20190907.consulta.alvo_responsavel 1 0 98 0 3 0 0 37 1 10,509 0 0 portal_betim.indicador.indicador_5min_20_2026_07 1 0 150 0 21 0 0 18 2 17,305 0 0 portal_demo1_20190907.consulta.posicao_unidade_alunos 1 0 252 0 3 0 0 112 1 14,934 0 0 portal_demo1_20190907.public.perfil_extendido 1 0 8,469 0 5 0 0 4,210 3 272,314 0 0 portal_betim.indicador.indicador_freq_dia_2026_07 1 1 345 0 23 0 0 23 4 31,725 0 0 augeeducacional.indicador.indicador_5min_34_2026_07 1 0 156 0 60 0 0 58 1 11,748 0 0 augeeducacional.consulta.apontamento_turma_periodo 1 0 2,833 0 3 0 0 1 1 1,529 0 0 portal_betim.consulta.alvo_educador 1 0 1,638 0 2 0 0 1 0 188 0 0 portal_betim.consulta.programa_mais_educacao 1 0 49 0 2 0 0 1 0 188 0 0 augeeducacional.consulta.programa_mais_educacao 1 0 98 0 2 0 0 1 0 188 0 0 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 1 1 68,599 0 30,850 1 0 54,348 29,817 182,332,777 0 0 augeeducacional.pg_toast.pg_toast_1008992878 1 0 38,274 0 20,561 0 0 20,888 4 1,263,093 0 0 portal_demo1_20190907.autocadastro.autocadastro_diario_2026_7 1 0 144 0 36 0 0 69 1 12,397 0 0 portal_demo1_20190907.fila_trabalho.fila_trabalho_2026_07 1 1 217 0 19 0 0 41 17 105,724 0 0 portal_demo1_20190907.public.srv_cargo_base_unid_exerc 1 0 405 0 4 0 0 180 1 18,946 0 0 augeeducacional.gestao_programa.indicador_sucesso_resultado 1 0 236 0 2 0 0 1 1 6,109 0 0 portal_betim.consulta.perfil_matricula 1 0 3,049 0 2 0 0 1 0 188 0 0 portal_demo1_20190907.consulta.conteudo_curricular_ministrado 1 0 3,084 0 1,283 0 0 1,514 1 97,652 0 0 augeeducacional.public.aluno_codigo_instituicao 1 0 86 0 9 0 240 17 9 24,435 0 0 augeeducacional.consulta.atrib_aula_curso_componente 1 0 203 0 3 0 0 1 0 188 0 0 portal_demo1_20190907.consulta.usuarios_movel 1 0 40 0 4 0 0 15 1 9,211 0 0 augeeducacional.consulta.posicao_unidade_alunos 1 0 1,039 0 2 0 0 1 0 188 0 0 portal_imm.indicador.indicador_5min_21_2026_07 1 0 134 0 21 0 0 18 2 16,009 0 0 portal_demo1_20190907.consulta.rendimento_escolar_estatistica 1 0 375 0 3 0 0 144 1 16,822 0 0 portal_betim.pg_toast.pg_toast_1008993005 1 0 2,573 0 873 0 0 905 2 65,238 0 0 augeeducacional.consulta.alvo_responsavel 1 0 6,716 0 2 0 0 1 0 188 0 0 portal_demo1_20190907.consulta.conteudo_curric_ministrado_detalhe 1 0 1,181 0 3 1 0 563 1 41,543 0 0 augeeducacional.pg_toast.pg_toast_2619 1 1 1,132 0 358 0 491 743 236 305,502 0 0 augeeducacional.acompanhamento.situacao_nutricional_unidade_acompanhamento 1 0 39 0 2 0 0 1 0 188 0 0 portal_betim.consulta.alvo_aluno 1 0 1,239 0 2 0 0 1 0 188 0 0 portal_imm.public.perfil_extendido 1 0 277 0 7 0 0 114 2 21,961 0 0 portal_demo1_20190907.consulta.apontamento_turma_periodo 1 0 1,349 0 3 0 0 647 1 46,499 0 0 augeeducacional.call_center.falta_aluno_dias_consecutivos 1 0 2,122 0 5 0 0 1,038 2 72,205 0 0 portal_demo1_20190907.consulta.frequencia_aluno 1 0 584 0 3 0 0 280 1 24,846 0 0 portal_demo1_20190907.acompanhamento.consulta_situacao_nutricional 1 0 229 0 3 0 0 101 1 14,285 0 0 portal_betim.consulta.alvo_responsavel 1 0 1,650 0 2 0 0 1 0 188 0 0 portal_imm.consulta.alvo_aluno 1 0 184 0 3 0 0 1 0 188 0 0 portal_demo1_20190907.public.jorn_trabalho_opcao_serv 1 1 3,982 0 83 0 0 2,952 83 1,051,322 0 0 portal_imm.indicador.indicador_5min_20_2026_07 1 0 82 0 20 0 0 18 1 9,388 0 0 augeeducacional.gestao_programa.acompanhamento_escola 1 0 1,520 0 2 0 0 1 1 5,033 0 0 augeeducacional.acompanhamento.consulta_situacao_nutricional 1 0 2,766 0 2 0 0 1 0 188 0 0 portal_demo1_20190907.consulta.vagas_serie 1 1 2,666 0 19 0 0 2,015 19 505,526 0 0 portal_demo1_20190907.public.periodo_letivo 1 1 461 0 1 0 87 192 2 49,249 0 0 portal_demo1_20190907.consulta.alvo_aluno 1 0 800 0 3 0 0 388 1 31,218 0 0 augeeducacional.public.srv_cargo_base_unid_exerc 1 0 2,043 0 2 0 0 1 0 188 0 0 augeeducacional.consulta.aluno_exportar_itgs 1 0 13,377 0 2 0 0 1 0 188 0 0 augeeducacional.indicador.indicador_5min_20_2026_07 1 0 127 0 21 0 0 18 2 16,953 0 0 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 1 1 118 0 9 0 0 16 6 31,386 0 0 portal_betim.public.perfil_extendido 1 0 1,753 0 3 0 0 1 0 188 0 0 Total 1,013 82 11,026,448 245,160 1,359,481 5 112,872 1,736,682 303,782 1,650,089,005 0 0 Vacuum throughput per table
Key values
- call_center.falta_aluno_mes (231.97) 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.public.escola 0 0 0.03 augeeducacional.consulta.alunos_abaixo_media_2026 0 0 1.12 augeeducacional.public.periodo_letivo 0 0 1.16 augeeducacional.consulta.vagas_serie 0 0 5.53999999999999 augeeducacional.consulta.unidade_risco_evasao 0 0 0 augeeducacional.gestao_programa.acompanhamento_turma_disciplina 0 0 77.45 augeeducacional.gestao_programa.acompanhamento_turma 0 0 10.38 augeeducacional.gestao_programa.acompanhamento_turma_serie 0 0 14.8 augeeducacional.public.jorn_trabalho_opcao_serv 0 0 14.72 augeeducacional.public.indicador_freq_ocorrencia 0 0 1.07 portal_betim.public.aluno_turma_diario_impresso 0 0 0 augeeducacional.pg_toast.pg_toast_3120537 0 0 5.89 portal_betim.public.indicador_freq_ocorrencia 0 0 0.06 portal_betim.consulta.vagas_serie 0 0 0.09 portal_betim.public.escola 0 0 0 augeeducacional.public.aluno_turma_diario_impresso 0 0 0 portal_betim.consulta.alunos_abaixo_media_2026 0 0 0.04 augeeducacional.public.hierarquia_unidade_extendida 0 0 0 portal_betim.public.jorn_trabalho_opcao_serv 0 0 0.76 augeeducacional.public.publico_alvo_extendido 0 0 0.01 portal_betim.alimentacao.cardapio_historico_vigencia 0 0 0 augeeducacional.public.usuario_dispositivo 0 0 20.46 augeeducacional.fila_trabalho.fila_trabalho_2026_07 0 0 49.75 augeeducacional.call_center.monitoramento_frequencia_aluno 0 0 0.08 portal_betim.pg_toast.pg_toast_899265195 0 0 0.05 portal_betim.fila_trabalho.fila_trabalho_2026_07 0 0 6.97 portal_betim.call_center.falta_aluno_mes 0 0 12.47 portal_demo1_20190907.call_center.falta_aluno_mes 0 0 1.55 portal_imm.public.indicador_freq_ocorrencia 0 0 0.01 portal_imm.fila_trabalho.fila_trabalho_2026_07 0 0 0 portal_betim.alimentacao.cardapio_refeicao 0 0 0.09 augeeducacional.public.assunto_hierarquia_unidade 0 0 0 augeeducacional.log.log_2026_07 0 0 19.5 augeeducacional.call_center.falta_aluno_mes 0 0 231.97 portal_betim.public.usuario_dispositivo 0 0 3.21 augeeducacional.movel.sincronizacao_lancamento_2026_07 0 0 3.39 augeeducacional.consulta.atrib_aula_curso_regencia 0 0 0 portal_betim.public.srv_cargo_base_unid_exerc 0 0 0 augeeducacional.gestao_programa.acompanhamento_escola_disciplina 0 0 0.12 augeeducacional.consulta.alunos_por_sexo_escola 0 0 0 augeeducacional.consulta.alvo_educador 0 0 0.08 portal_betim.call_center.falta_aluno_dias_consecutivos 0 0 0 augeeducacional.indicador.indicador_5min_21_2026_07 0 0 0.01 portal_betim.call_center.monitoramento_frequencia_aluno 0 0 0.02 portal_demo1_20190907.consulta.alunos_abaixo_media_2019 0 0 0 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 0 0 1.95 portal_betim.consulta.rendimento_escolar_estatistica 0 0 0.01 portal_demo1_20190907.consulta.material_escolar_alunos_posicao 0 0 0 portal_betim.pg_catalog.pg_class 0 0 0.09 portal_demo1_20190907.consulta.posicao_unidade_turmas 0 0 0.03 portal_demo1_20190907.public.assunto_hierarquia_unidade 0 0 0 portal_demo1_20190907.consulta.material_escolar_alunos_sem_num_det 0 0 0 augeeducacional.consulta.usuarios_movel 0 0 0 augeeducacional.public.artigo_portal 0 0 0.01 portal_betim.consulta.atrib_aula_curso_componente 0 0 0 portal_demo1_20190907.consulta.alunos_por_serie_idade_escola 0 0 0.02 augeeducacional.consulta.alunos_abaixo_media_2020 0 0 0 portal_betim.log.log_2026_07 0 0 1.2 portal_betim.consulta.frequencia_aluno 0 0 0.02 augeeducacional.pg_toast.pg_toast_1008992926 0 0 0.98 portal_imm.consulta.alvo_responsavel 0 0 0 augeeducacional.indicador.indicador_freq_dia_2026_07 0 0 0.12 augeeducacional.consulta.atribuicao_aula_professor 0 0 0 augeeducacional.movel.sincronizacao_2026_07 0 0 0.84 augeeducacional.consulta.frequencia_aluno 0 0 0.49 augeeducacional.call_center.parametro_frequencia_monitoramento 0 0 0 portal_demo1_20190907.public.publico_alvo_extendido 0 0 0 portal_betim.consulta.alunos_por_serie_idade_escola 0 0 0.05 portal_demo1_20190907.consulta.alvo_educador 0 0 0 portal_betim.movel.sincronizacao_lancamento_2026_07 0 0 0.16 portal_demo1_20190907.call_center.monitoramento_frequencia_aluno 0 0 0 portal_betim.indicador.indicador_5min_21_2026_07 0 0 0.01 augeeducacional.indicador.indicador_5min_56_2026_07 0 0 0.03 augeeducacional.consulta.alunos_abaixo_media_2025 0 0 0.1 augeeducacional.consulta.alvo_aluno 0 0 0.08 augeeducacional.consulta.rendimento_escolar_estatistica 0 0 0.02 augeeducacional.consulta.alunos_abaixo_media_2022 0 0 0.05 augeeducacional.movel.turma_mudanca_2026_07 0 0 0.03 portal_betim.consulta.posicao_unidade_turmas 0 0 0.04 portal_betim.consulta.apontamento_turma_periodo 0 0 0 augeeducacional.indicador.indicador_5min_55_2026_07 0 0 0.02 augeeducacional.public.perfil_extendido 0 0 0.28 augeeducacional.consulta.material_escolar_alunos_sem_num_det 0 0 0.01 augeeducacional.consulta.material_escolar_alunos_sem_num 0 0 0 portal_demo1_20190907.consulta.programa_mais_educacao 0 0 0 portal_demo1_20190907.consulta.perfil_matricula 0 0 0.02 portal_demo1_20190907.public.escola 0 0 0 augeeducacional.indicador.indicador_5min_33_2026_07 0 0 0.01 portal_betim.movel.sincronizacao_2026_07 0 0 0.13 augeeducacional.indicador.indicador_5min_57_2026_07 0 0 0.01 augeeducacional.consulta.posicao_unidade_turmas 0 0 0.08 augeeducacional.consulta.material_escolar_alunos_posicao 0 0 0.08 portal_betim.consulta.atribuicao_aula_professor 0 0 0 portal_betim.consulta.posicao_unidade_alunos 0 0 0.01 augeeducacional.consulta.perfil_matricula 0 0 0.15 augeeducacional.consulta.alunos_por_serie_idade_escola 0 0 0.11 portal_demo1_20190907.call_center.falta_aluno_dias_consecutivos 0 0 0 portal_demo1_20190907.consulta.alvo_responsavel 0 0 0 portal_betim.indicador.indicador_5min_20_2026_07 0 0 0.01 portal_demo1_20190907.consulta.posicao_unidade_alunos 0 0 0 portal_demo1_20190907.public.perfil_extendido 0 0 0.16 portal_betim.indicador.indicador_freq_dia_2026_07 0 0 0 augeeducacional.indicador.indicador_5min_34_2026_07 0 0 0.01 augeeducacional.consulta.apontamento_turma_periodo 0 0 0.04 portal_betim.consulta.alvo_educador 0 0 0.02 portal_betim.consulta.programa_mais_educacao 0 0 0 augeeducacional.consulta.programa_mais_educacao 0 0 0 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 0 0 10.18 augeeducacional.pg_toast.pg_toast_1008992878 0 0 7.03 portal_demo1_20190907.autocadastro.autocadastro_diario_2026_7 0 0 0.01 portal_demo1_20190907.fila_trabalho.fila_trabalho_2026_07 0 0 0 portal_demo1_20190907.public.srv_cargo_base_unid_exerc 0 0 0 augeeducacional.gestao_programa.indicador_sucesso_resultado 0 0 0 portal_betim.consulta.perfil_matricula 0 0 0.04 portal_demo1_20190907.consulta.conteudo_curricular_ministrado 0 0 0.32 augeeducacional.public.aluno_codigo_instituicao 0 0 0 augeeducacional.consulta.atrib_aula_curso_componente 0 0 0 portal_demo1_20190907.consulta.usuarios_movel 0 0 0 augeeducacional.consulta.posicao_unidade_alunos 0 0 0.01 portal_imm.indicador.indicador_5min_21_2026_07 0 0 0.02 portal_demo1_20190907.consulta.rendimento_escolar_estatistica 0 0 0 portal_betim.pg_toast.pg_toast_1008993005 0 0 0.31 augeeducacional.consulta.alvo_responsavel 0 0 0.11 portal_demo1_20190907.consulta.conteudo_curric_ministrado_detalhe 0 0 0.01 augeeducacional.pg_toast.pg_toast_2619 0 0 0.17 augeeducacional.acompanhamento.situacao_nutricional_unidade_acompanhamento 0 0 0 portal_betim.consulta.alvo_aluno 0 0 0.02 portal_imm.public.perfil_extendido 0 0 0.01 portal_demo1_20190907.consulta.apontamento_turma_periodo 0 0 0.02 augeeducacional.call_center.falta_aluno_dias_consecutivos 0 0 0.06 portal_demo1_20190907.consulta.frequencia_aluno 0 0 0.01 portal_demo1_20190907.acompanhamento.consulta_situacao_nutricional 0 0 0 portal_betim.consulta.alvo_responsavel 0 0 0.02 portal_imm.consulta.alvo_aluno 0 0 0 portal_demo1_20190907.public.jorn_trabalho_opcao_serv 0 0 0.16 portal_imm.indicador.indicador_5min_20_2026_07 0 0 0.01 augeeducacional.gestao_programa.acompanhamento_escola 0 0 0.02 augeeducacional.acompanhamento.consulta_situacao_nutricional 0 0 0.03 portal_demo1_20190907.consulta.vagas_serie 0 0 0.06 portal_demo1_20190907.public.periodo_letivo 0 0 0.04 portal_demo1_20190907.consulta.alvo_aluno 0 0 0.01 augeeducacional.public.srv_cargo_base_unid_exerc 0 0 0.03 augeeducacional.consulta.aluno_exportar_itgs 0 0 0.18 augeeducacional.indicador.indicador_5min_20_2026_07 0 0 0.01 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 0 0 0 portal_betim.public.perfil_extendido 0 0 0.03 Total 0 0 509.259999999999 Tuples removed per table
Key values
- gestao_programa.acompanhamento_turma_disciplina (1357158) Main table with removed tuples on database augeeducacional
- 2766454 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain augeeducacional.gestao_programa.acompanhamento_turma_disciplina 80 1 1,357,158 302,098,282 107,215,482 0 2,050,880 augeeducacional.public.jorn_trabalho_opcao_serv 78 1 293,874 46,656,996 22,628,298 0 447,720 augeeducacional.gestao_programa.acompanhamento_turma 80 1 193,221 44,475,499 15,264,459 0 286,240 augeeducacional.public.indicador_freq_ocorrencia 23 0 163,175 1,973,574 652,700 7 27,147 augeeducacional.fila_trabalho.fila_trabalho_2026_07 3 3 128,725 1,141,676 1,064 0 265,393 augeeducacional.gestao_programa.acompanhamento_turma_serie 80 1 96,913 39,528,127 7,656,127 0 442,160 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 1 1 78,015 2,099,059 710 0 18,754 augeeducacional.consulta.vagas_serie 85 1 71,742 12,124,398 6,026,328 0 150,620 portal_demo1_20190907.public.jorn_trabalho_opcao_serv 1 1 68,835 67,656 0 0 1,005 portal_betim.public.jorn_trabalho_opcao_serv 6 1 68,761 724,877 343,805 0 6,012 augeeducacional.public.usuario_dispositivo 4 4 42,829 681,275 378 0 93,692 portal_demo1_20190907.consulta.vagas_serie 1 1 32,158 32,158 0 0 795 augeeducacional.consulta.alunos_abaixo_media_2026 86 1 29,640 5,060,946 2,511,825 0 43,602 portal_betim.fila_trabalho.fila_trabalho_2026_07 2 2 26,421 269,700 0 0 38,143 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 1 1 19,305 396,912 0 0 3,569 augeeducacional.pg_toast.pg_toast_3120537 16 16 18,758 107,595 1,028 0 26,848 augeeducacional.movel.sincronizacao_lancamento_2026_07 2 2 14,338 501,133 320 0 8,939 augeeducacional.public.periodo_letivo 86 1 7,260 2,874,644 616,293 0 34,142 portal_betim.public.indicador_freq_ocorrencia 12 0 6,922 120,117 13,844 7 1,087 portal_betim.public.usuario_dispositivo 2 2 6,221 110,369 0 0 32,734 portal_betim.consulta.vagas_serie 8 1 5,422 81,330 37,954 0 1,072 augeeducacional.movel.sincronizacao_2026_07 1 1 5,240 166,614 2 0 3,024 portal_betim.consulta.alunos_abaixo_media_2026 8 1 5,060 75,900 35,420 0 696 portal_demo1_20190907.public.periodo_letivo 1 1 3,686 9,986 0 0 184 portal_demo1_20190907.public.publico_alvo_extendido 1 1 3,115 3,115 0 0 34 augeeducacional.public.publico_alvo_extendido 5 1 3,074 27,666 12,296 0 170 augeeducacional.public.escola 87 1 2,562 472,463 234,866 0 5,220 portal_betim.alimentacao.cardapio_refeicao 2 2 2,546 49,338 0 0 478 augeeducacional.consulta.unidade_risco_evasao 80 0 2,444 388,596 193,076 0 2,880 portal_demo1_20190907.consulta.alunos_abaixo_media_2019 1 1 2,175 2,175 0 0 38 portal_demo1_20190907.public.escola 1 1 1,520 1,520 0 0 20 augeeducacional.public.hierarquia_unidade_extendida 6 6 1,162 45,018 362 0 364 augeeducacional.pg_toast.pg_toast_2619 1 1 782 3,731 0 0 1,315 portal_betim.movel.sincronizacao_2026_07 1 1 712 28,279 0 0 492 portal_betim.pg_toast.pg_toast_899265195 3 3 615 1,392 0 0 458 portal_betim.movel.sincronizacao_lancamento_2026_07 1 1 567 20,782 0 0 428 portal_betim.alimentacao.cardapio_historico_vigencia 5 5 412 376 0 0 10 portal_betim.public.escola 8 0 204 3,060 1,428 0 32 augeeducacional.public.assunto_hierarquia_unidade 2 0 122 171 57 0 4 portal_betim.pg_catalog.pg_class 1 1 103 8,854 0 0 419 portal_imm.public.indicador_freq_ocorrencia 2 0 102 102 102 1 1 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 1 1 95 423 0 0 6 augeeducacional.call_center.parametro_frequencia_monitoramento 1 1 84 42 0 0 1 portal_imm.fila_trabalho.fila_trabalho_2026_07 2 2 80 528 46 0 26 augeeducacional.consulta.alunos_abaixo_media_2025 1 1 71 50,446 4,760 0 596 portal_demo1_20190907.public.assunto_hierarquia_unidade 1 0 66 33 0 0 1 augeeducacional.public.artigo_portal 1 1 64 171 0 0 36 augeeducacional.public.aluno_codigo_instituicao 1 0 57 53 0 0 267 augeeducacional.movel.turma_mudanca_2026_07 1 1 24 58,644 0 0 417 portal_demo1_20190907.fila_trabalho.fila_trabalho_2026_07 1 1 17 240 0 0 13 augeeducacional.consulta.atrib_aula_curso_regencia 1 0 0 1,728 0 0 18 portal_betim.public.srv_cargo_base_unid_exerc 1 0 0 10,420 0 0 100 augeeducacional.gestao_programa.acompanhamento_escola_disciplina 1 0 0 423,024 0 0 3,510 augeeducacional.consulta.alunos_por_sexo_escola 1 0 0 1,528 0 0 10 augeeducacional.consulta.alvo_educador 1 0 0 267,809 0 0 2,631 portal_betim.call_center.falta_aluno_dias_consecutivos 1 0 0 35,430 0 0 296 augeeducacional.indicador.indicador_5min_21_2026_07 1 0 0 4,680 0 0 41 portal_betim.call_center.monitoramento_frequencia_aluno 1 0 0 63,565 0 0 563 portal_betim.consulta.rendimento_escolar_estatistica 1 0 0 19,360 0 0 259 portal_demo1_20190907.consulta.material_escolar_alunos_posicao 1 0 0 6,587 0 0 84 portal_demo1_20190907.consulta.posicao_unidade_turmas 1 0 0 55,986 0 0 1,001 portal_demo1_20190907.consulta.material_escolar_alunos_sem_num_det 1 0 0 5,520 0 0 40 augeeducacional.consulta.usuarios_movel 1 0 0 3,648 0 0 24 portal_betim.consulta.atrib_aula_curso_componente 1 0 0 1,179 0 0 13 portal_demo1_20190907.consulta.alunos_por_serie_idade_escola 1 0 0 72,647 0 0 749 augeeducacional.consulta.alunos_abaixo_media_2020 1 1 0 5,240 840 0 52 portal_betim.call_center.falta_aluno_mes 2 0 0 10,807,170 0 0 109,512 portal_betim.log.log_2026_07 1 0 0 45,087 0 0 8,399 portal_betim.consulta.frequencia_aluno 1 0 0 60,033 0 0 401 augeeducacional.pg_toast.pg_toast_1008992926 1 0 0 71,133 0 0 12,996 portal_imm.consulta.alvo_responsavel 1 0 0 7,441 0 0 48 augeeducacional.indicador.indicador_freq_dia_2026_07 1 1 0 106,469 21 0 1,632 augeeducacional.call_center.monitoramento_frequencia_aluno 3 0 0 511,434 0 0 4,590 augeeducacional.consulta.atribuicao_aula_professor 1 0 0 5,590 0 0 47 augeeducacional.consulta.frequencia_aluno 1 0 0 392,481 0 0 2,683 portal_betim.consulta.alunos_por_serie_idade_escola 1 0 0 142,728 0 0 1,622 portal_demo1_20190907.consulta.alvo_educador 1 0 0 17,865 0 0 162 portal_demo1_20190907.call_center.falta_aluno_mes 2 0 0 7,307,541 0 0 74,483 portal_demo1_20190907.call_center.monitoramento_frequencia_aluno 1 0 0 13,407 0 0 124 portal_betim.indicador.indicador_5min_21_2026_07 1 0 0 4,686 0 0 41 augeeducacional.indicador.indicador_5min_56_2026_07 1 0 0 35,472 0 0 342 augeeducacional.public.aluno_turma_diario_impresso 8 0 0 173 0 0 8 augeeducacional.consulta.alvo_aluno 1 0 0 270,533 0 0 2,528 augeeducacional.consulta.rendimento_escolar_estatistica 1 0 0 50,480 0 0 674 augeeducacional.consulta.alunos_abaixo_media_2022 1 1 0 24,961 2,350 0 278 portal_betim.consulta.posicao_unidade_turmas 1 0 0 56,441 0 0 862 portal_betim.consulta.apontamento_turma_periodo 1 0 0 9,663 0 0 91 augeeducacional.indicador.indicador_5min_55_2026_07 1 0 0 35,443 0 0 261 augeeducacional.public.perfil_extendido 1 0 0 1,409,344 0 0 7,619 augeeducacional.consulta.material_escolar_alunos_sem_num_det 1 0 0 49,105 0 0 360 portal_betim.public.aluno_turma_diario_impresso 21 0 0 532 0 0 21 augeeducacional.consulta.material_escolar_alunos_sem_num 1 0 0 4,774 0 0 31 portal_demo1_20190907.consulta.programa_mais_educacao 1 0 0 702 0 0 7 portal_demo1_20190907.consulta.perfil_matricula 1 0 0 62,540 0 0 705 augeeducacional.indicador.indicador_5min_33_2026_07 1 0 0 34,269 0 0 253 augeeducacional.indicador.indicador_5min_57_2026_07 1 0 0 28,344 0 0 210 augeeducacional.consulta.posicao_unidade_turmas 1 0 0 135,266 0 0 2,509 augeeducacional.consulta.material_escolar_alunos_posicao 1 0 0 170,289 0 0 2,752 portal_betim.consulta.atribuicao_aula_professor 1 0 0 5,329 0 0 45 portal_betim.consulta.posicao_unidade_alunos 1 0 0 31,481 0 0 295 augeeducacional.consulta.perfil_matricula 1 0 0 448,375 0 0 5,085 augeeducacional.consulta.alunos_por_serie_idade_escola 1 0 0 333,132 0 0 3,786 portal_demo1_20190907.call_center.falta_aluno_dias_consecutivos 1 0 0 1,039 0 0 9 portal_demo1_20190907.consulta.alvo_responsavel 1 0 0 3,776 0 0 36 portal_betim.indicador.indicador_5min_20_2026_07 1 0 0 4,686 0 0 41 portal_demo1_20190907.consulta.posicao_unidade_alunos 1 0 0 11,862 0 0 111 portal_demo1_20190907.public.perfil_extendido 1 0 0 778,618 0 0 4,209 portal_betim.indicador.indicador_freq_dia_2026_07 1 1 0 6,100 1 0 87 augeeducacional.indicador.indicador_5min_34_2026_07 1 0 0 34,269 0 0 253 augeeducacional.consulta.apontamento_turma_periodo 1 0 0 148,924 0 0 1,392 portal_betim.consulta.alvo_educador 1 0 0 82,219 0 0 806 portal_betim.consulta.programa_mais_educacao 1 0 0 1,832 0 0 18 augeeducacional.consulta.programa_mais_educacao 1 0 0 4,500 0 0 43 augeeducacional.pg_toast.pg_toast_1008992878 1 0 0 620,407 0 0 121,181 portal_demo1_20190907.autocadastro.autocadastro_diario_2026_7 1 0 0 10,876 0 0 168 portal_demo1_20190907.public.srv_cargo_base_unid_exerc 1 0 0 40,427 0 0 179 augeeducacional.gestao_programa.indicador_sucesso_resultado 1 0 0 5,531 0 0 112 portal_betim.consulta.perfil_matricula 1 0 0 131,527 0 0 1,495 portal_demo1_20190907.consulta.conteudo_curricular_ministrado 1 0 0 143,260 0 0 1,513 augeeducacional.consulta.atrib_aula_curso_componente 1 0 0 9,207 0 0 95 portal_demo1_20190907.consulta.usuarios_movel 1 0 0 2,158 0 0 14 augeeducacional.consulta.posicao_unidade_alunos 1 0 0 53,997 0 0 505 portal_imm.indicador.indicador_5min_21_2026_07 1 0 0 4,692 0 0 41 portal_demo1_20190907.consulta.rendimento_escolar_estatistica 1 0 0 11,549 0 0 143 portal_betim.pg_toast.pg_toast_1008993005 1 0 0 19,899 0 0 3,854 augeeducacional.consulta.alvo_responsavel 1 0 0 357,905 0 0 3,345 portal_demo1_20190907.consulta.conteudo_curric_ministrado_detalhe 1 0 0 44,880 0 0 563 augeeducacional.acompanhamento.situacao_nutricional_unidade_acompanhamento 1 0 0 544 0 0 11 augeeducacional.log.log_2026_07 2 0 0 1,014,099 0 0 170,688 portal_betim.consulta.alvo_aluno 1 0 0 68,708 0 0 606 portal_imm.public.perfil_extendido 1 0 0 20,825 0 0 113 portal_demo1_20190907.consulta.apontamento_turma_periodo 1 0 0 69,098 0 0 646 augeeducacional.call_center.falta_aluno_dias_consecutivos 1 0 0 124,333 0 0 1,037 portal_demo1_20190907.consulta.frequencia_aluno 1 0 0 43,798 0 0 279 portal_demo1_20190907.acompanhamento.consulta_situacao_nutricional 1 0 0 5,101 0 0 100 portal_betim.consulta.alvo_responsavel 1 0 0 89,158 0 0 812 portal_imm.consulta.alvo_aluno 1 0 0 11,924 0 0 76 augeeducacional.call_center.falta_aluno_mes 2 0 0 123,321,878 0 0 1,262,247 portal_imm.indicador.indicador_5min_20_2026_07 1 0 0 4,692 0 0 41 augeeducacional.gestao_programa.acompanhamento_escola 1 0 0 65,109 0 0 754 augeeducacional.acompanhamento.consulta_situacao_nutricional 1 0 0 54,929 0 0 1,374 portal_demo1_20190907.consulta.alvo_aluno 1 0 0 41,385 0 0 387 augeeducacional.public.srv_cargo_base_unid_exerc 1 0 0 88,034 0 0 997 augeeducacional.consulta.aluno_exportar_itgs 1 0 0 88,484 0 0 6,676 augeeducacional.indicador.indicador_5min_20_2026_07 1 0 0 4,680 0 0 41 portal_betim.public.perfil_extendido 1 0 0 157,456 0 0 852 Total 1,013 82 2,766,454 614,022,480 163,456,242 15 5,840,987 Pages removed per table
Key values
- public.indicador_freq_ocorrencia (7) Main table with removed pages on database augeeducacional
- 15 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed augeeducacional.public.indicador_freq_ocorrencia 23 0 163175 7 portal_betim.public.indicador_freq_ocorrencia 12 0 6922 7 portal_imm.public.indicador_freq_ocorrencia 2 0 102 1 augeeducacional.fila_trabalho.fila_trabalho_2026_07 3 3 128725 0 augeeducacional.consulta.atrib_aula_curso_regencia 1 0 0 0 portal_betim.public.srv_cargo_base_unid_exerc 1 0 0 0 augeeducacional.gestao_programa.acompanhamento_escola_disciplina 1 0 0 0 augeeducacional.consulta.alunos_por_sexo_escola 1 0 0 0 augeeducacional.pg_toast.pg_toast_3120537 16 16 18758 0 augeeducacional.consulta.alvo_educador 1 0 0 0 augeeducacional.consulta.unidade_risco_evasao 80 0 2444 0 portal_betim.call_center.falta_aluno_dias_consecutivos 1 0 0 0 augeeducacional.indicador.indicador_5min_21_2026_07 1 0 0 0 portal_betim.call_center.monitoramento_frequencia_aluno 1 0 0 0 portal_demo1_20190907.consulta.alunos_abaixo_media_2019 1 1 2175 0 portal_betim.aluno_lancamento.falta_aluno_disciplina_2026 1 1 19305 0 portal_betim.fila_trabalho.fila_trabalho_2026_07 2 2 26421 0 portal_betim.consulta.rendimento_escolar_estatistica 1 0 0 0 portal_demo1_20190907.consulta.material_escolar_alunos_posicao 1 0 0 0 portal_betim.pg_catalog.pg_class 1 1 103 0 portal_demo1_20190907.consulta.posicao_unidade_turmas 1 0 0 0 augeeducacional.gestao_programa.acompanhamento_turma_disciplina 80 1 1357158 0 portal_demo1_20190907.public.assunto_hierarquia_unidade 1 0 66 0 portal_betim.consulta.vagas_serie 8 1 5422 0 portal_demo1_20190907.consulta.material_escolar_alunos_sem_num_det 1 0 0 0 augeeducacional.consulta.usuarios_movel 1 0 0 0 augeeducacional.public.artigo_portal 1 1 64 0 portal_betim.consulta.atrib_aula_curso_componente 1 0 0 0 portal_demo1_20190907.consulta.alunos_por_serie_idade_escola 1 0 0 0 augeeducacional.consulta.alunos_abaixo_media_2020 1 1 0 0 portal_betim.call_center.falta_aluno_mes 2 0 0 0 augeeducacional.public.jorn_trabalho_opcao_serv 78 1 293874 0 portal_betim.log.log_2026_07 1 0 0 0 portal_betim.consulta.frequencia_aluno 1 0 0 0 augeeducacional.pg_toast.pg_toast_1008992926 1 0 0 0 portal_imm.consulta.alvo_responsavel 1 0 0 0 augeeducacional.indicador.indicador_freq_dia_2026_07 1 1 0 0 augeeducacional.call_center.monitoramento_frequencia_aluno 3 0 0 0 augeeducacional.consulta.atribuicao_aula_professor 1 0 0 0 augeeducacional.consulta.vagas_serie 85 1 71742 0 augeeducacional.movel.sincronizacao_2026_07 1 1 5240 0 augeeducacional.consulta.frequencia_aluno 1 0 0 0 augeeducacional.call_center.parametro_frequencia_monitoramento 1 1 84 0 portal_demo1_20190907.public.publico_alvo_extendido 1 1 3115 0 portal_betim.consulta.alunos_por_serie_idade_escola 1 0 0 0 portal_demo1_20190907.consulta.alvo_educador 1 0 0 0 portal_demo1_20190907.call_center.falta_aluno_mes 2 0 0 0 portal_betim.movel.sincronizacao_lancamento_2026_07 1 1 567 0 portal_betim.public.escola 8 0 204 0 portal_demo1_20190907.call_center.monitoramento_frequencia_aluno 1 0 0 0 portal_betim.indicador.indicador_5min_21_2026_07 1 0 0 0 augeeducacional.indicador.indicador_5min_56_2026_07 1 0 0 0 augeeducacional.consulta.alunos_abaixo_media_2025 1 1 71 0 augeeducacional.public.aluno_turma_diario_impresso 8 0 0 0 augeeducacional.consulta.alvo_aluno 1 0 0 0 augeeducacional.consulta.rendimento_escolar_estatistica 1 0 0 0 augeeducacional.consulta.alunos_abaixo_media_2022 1 1 0 0 augeeducacional.movel.turma_mudanca_2026_07 1 1 24 0 portal_betim.consulta.posicao_unidade_turmas 1 0 0 0 portal_betim.consulta.apontamento_turma_periodo 1 0 0 0 augeeducacional.indicador.indicador_5min_55_2026_07 1 0 0 0 augeeducacional.public.perfil_extendido 1 0 0 0 portal_imm.fila_trabalho.fila_trabalho_2026_07 2 2 80 0 augeeducacional.consulta.material_escolar_alunos_sem_num_det 1 0 0 0 portal_betim.pg_toast.pg_toast_899265195 3 3 615 0 portal_betim.public.aluno_turma_diario_impresso 21 0 0 0 augeeducacional.consulta.material_escolar_alunos_sem_num 1 0 0 0 portal_demo1_20190907.consulta.programa_mais_educacao 1 0 0 0 portal_demo1_20190907.consulta.perfil_matricula 1 0 0 0 augeeducacional.consulta.alunos_abaixo_media_2026 86 1 29640 0 portal_demo1_20190907.public.escola 1 1 1520 0 augeeducacional.indicador.indicador_5min_33_2026_07 1 0 0 0 portal_betim.movel.sincronizacao_2026_07 1 1 712 0 augeeducacional.indicador.indicador_5min_57_2026_07 1 0 0 0 augeeducacional.consulta.posicao_unidade_turmas 1 0 0 0 augeeducacional.public.escola 87 1 2562 0 augeeducacional.consulta.material_escolar_alunos_posicao 1 0 0 0 portal_betim.consulta.atribuicao_aula_professor 1 0 0 0 augeeducacional.gestao_programa.acompanhamento_turma 80 1 193221 0 portal_betim.consulta.posicao_unidade_alunos 1 0 0 0 augeeducacional.consulta.perfil_matricula 1 0 0 0 augeeducacional.consulta.alunos_por_serie_idade_escola 1 0 0 0 portal_demo1_20190907.call_center.falta_aluno_dias_consecutivos 1 0 0 0 portal_demo1_20190907.consulta.alvo_responsavel 1 0 0 0 portal_betim.indicador.indicador_5min_20_2026_07 1 0 0 0 portal_demo1_20190907.consulta.posicao_unidade_alunos 1 0 0 0 portal_betim.alimentacao.cardapio_refeicao 2 2 2546 0 portal_demo1_20190907.public.perfil_extendido 1 0 0 0 portal_betim.indicador.indicador_freq_dia_2026_07 1 1 0 0 augeeducacional.indicador.indicador_5min_34_2026_07 1 0 0 0 augeeducacional.consulta.apontamento_turma_periodo 1 0 0 0 portal_betim.consulta.alvo_educador 1 0 0 0 portal_betim.consulta.programa_mais_educacao 1 0 0 0 augeeducacional.consulta.programa_mais_educacao 1 0 0 0 augeeducacional.aluno_lancamento.falta_aluno_disciplina_2026 1 1 78015 0 portal_betim.consulta.alunos_abaixo_media_2026 8 1 5060 0 augeeducacional.pg_toast.pg_toast_1008992878 1 0 0 0 portal_demo1_20190907.autocadastro.autocadastro_diario_2026_7 1 0 0 0 portal_demo1_20190907.fila_trabalho.fila_trabalho_2026_07 1 1 17 0 portal_demo1_20190907.public.srv_cargo_base_unid_exerc 1 0 0 0 augeeducacional.gestao_programa.indicador_sucesso_resultado 1 0 0 0 augeeducacional.public.assunto_hierarquia_unidade 2 0 122 0 augeeducacional.public.hierarquia_unidade_extendida 6 6 1162 0 portal_betim.consulta.perfil_matricula 1 0 0 0 portal_demo1_20190907.consulta.conteudo_curricular_ministrado 1 0 0 0 augeeducacional.public.aluno_codigo_instituicao 1 0 57 0 augeeducacional.consulta.atrib_aula_curso_componente 1 0 0 0 portal_demo1_20190907.consulta.usuarios_movel 1 0 0 0 augeeducacional.consulta.posicao_unidade_alunos 1 0 0 0 portal_imm.indicador.indicador_5min_21_2026_07 1 0 0 0 portal_demo1_20190907.consulta.rendimento_escolar_estatistica 1 0 0 0 portal_betim.pg_toast.pg_toast_1008993005 1 0 0 0 augeeducacional.public.periodo_letivo 86 1 7260 0 augeeducacional.consulta.alvo_responsavel 1 0 0 0 portal_demo1_20190907.consulta.conteudo_curric_ministrado_detalhe 1 0 0 0 augeeducacional.pg_toast.pg_toast_2619 1 1 782 0 augeeducacional.gestao_programa.acompanhamento_turma_serie 80 1 96913 0 augeeducacional.public.publico_alvo_extendido 5 1 3074 0 augeeducacional.acompanhamento.situacao_nutricional_unidade_acompanhamento 1 0 0 0 augeeducacional.log.log_2026_07 2 0 0 0 portal_betim.consulta.alvo_aluno 1 0 0 0 augeeducacional.public.usuario_dispositivo 4 4 42829 0 portal_imm.public.perfil_extendido 1 0 0 0 portal_demo1_20190907.consulta.apontamento_turma_periodo 1 0 0 0 portal_betim.public.jorn_trabalho_opcao_serv 6 1 68761 0 augeeducacional.call_center.falta_aluno_dias_consecutivos 1 0 0 0 portal_demo1_20190907.consulta.frequencia_aluno 1 0 0 0 portal_demo1_20190907.acompanhamento.consulta_situacao_nutricional 1 0 0 0 portal_betim.consulta.alvo_responsavel 1 0 0 0 portal_imm.consulta.alvo_aluno 1 0 0 0 augeeducacional.call_center.falta_aluno_mes 2 0 0 0 portal_demo1_20190907.public.jorn_trabalho_opcao_serv 1 1 68835 0 portal_imm.indicador.indicador_5min_20_2026_07 1 0 0 0 augeeducacional.gestao_programa.acompanhamento_escola 1 0 0 0 portal_betim.public.usuario_dispositivo 2 2 6221 0 augeeducacional.acompanhamento.consulta_situacao_nutricional 1 0 0 0 portal_demo1_20190907.consulta.vagas_serie 1 1 32158 0 portal_demo1_20190907.public.periodo_letivo 1 1 3686 0 portal_demo1_20190907.consulta.alvo_aluno 1 0 0 0 augeeducacional.public.srv_cargo_base_unid_exerc 1 0 0 0 augeeducacional.consulta.aluno_exportar_itgs 1 0 0 0 augeeducacional.indicador.indicador_5min_20_2026_07 1 0 0 0 portal_betim.alimentacao.remessa_escola_cardapio_publico_alvo 1 1 95 0 augeeducacional.movel.sincronizacao_lancamento_2026_07 2 2 14338 0 portal_betim.alimentacao.cardapio_historico_vigencia 5 5 412 0 portal_betim.public.perfil_extendido 1 0 0 0 Total 1,013 82 2,766,454 15 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Jul 06 00 345 103 01 540 47 02 3 6 03 1 4 04 1 3 05 2 3 06 1 4 07 8 39 08 16 66 09 15 57 10 12 53 11 12 48 12 6 27 13 11 59 14 13 98 15 13 136 16 14 45 - 190.35 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
- 5,510 Total read queries
- 311 Total write queries
Queries by database
Key values
- augeeducacional Main database
- 4,541 Requests
- 7h21m24s (augeeducacional)
- Main time consuming database
Database Request type Count Duration augeeducacional Total 4,541 7h21m24s cte 120 51m44s ddl 1 50s587ms delete 5 20s683ms insert 53 2h23m59s select 4,349 4h1m4s update 13 3m24s portal_betim Total 1,221 53m48s cte 36 4m58s ddl 1 2s342ms insert 39 18m54s select 1,139 29m30s update 6 23s179ms portal_demo1_20190907 Total 42 24m31s cte 3 6s273ms delete 1 2s90ms insert 29 23m32s select 5 40s637ms update 4 9s299ms portal_imm Total 17 23s347ms select 17 23s347ms Queries by user
Key values
- augeeducacional Main user
- 5,819 Requests
User Request type Count Duration augeeducacional Total 5,819 8h40m4s cte 159 56m48s ddl 2 52s929ms delete 4 19s730ms insert 121 3h6m27s select 5,510 4h31m38s update 23 3m57s postgres Total 2 3s44ms delete 2 3s44ms Duration by user
Key values
- 8h40m4s (augeeducacional) Main time consuming user
User Request type Count Duration augeeducacional Total 5,819 8h40m4s cte 159 56m48s ddl 2 52s929ms delete 4 19s730ms insert 121 3h6m27s select 5,510 4h31m38s update 23 3m57s postgres Total 2 3s44ms delete 2 3s44ms Queries by host
Key values
- 127.0.0.1 Main host
- 5,819 Requests
- 8h40m4s (127.0.0.1)
- Main time consuming host
Queries by application
Key values
- augeeducacional - fila Main application
- 3,598 Requests
- 4h53m28s (augeeducacional - fila)
- Main time consuming application
Application Request type Count Duration PostgreSQL JDBC Driver Total 18 2h16m30s cte 2 34s908ms ddl 2 52s929ms insert 14 2h15m2s augeeducacional - fila Total 3,598 4h53m28s cte 119 51m13s delete 1 13s801ms insert 45 22m30s select 3,421 3h36m6s update 12 3m24s augeeducacional - principal Total 932 25m3s delete 2 3s838ms insert 1 719ms select 928 24m58s update 1 864ms portal_betim - fila Total 788 35m7s cte 35 4m54s insert 32 5m20s select 715 24m29s update 6 23s179ms portal_betim - principal Total 424 5m1s select 424 5m1s portal_demo1 - fila Total 42 24m31s cte 3 6s273ms delete 1 2s90ms insert 29 23m32s select 5 40s637ms update 4 9s299ms portal_imm - principal Total 17 23s347ms select 17 23s347ms psql Total 2 3s44ms delete 2 3s44ms Number of cancelled queries
Key values
- 1 per second Cancelled query Peak
- 2026-07-06 09:43:29 Date
Number of cancelled queries (5 minutes period)
NO DATASET
Queries generating the most cancellation (N)
Rank Count Query 1 4 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;-
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 = '97' and am.id_unidade_funcional = '607392' 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: 3s455ms
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 = '72' and am.id_unidade_funcional = '607012' 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: 697ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
Bind query: yes
2 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, ?) 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 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 '606757' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606757' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo in ('5') and ano.semestre is null and uf.id_municipio = '260410' order by cidadao.nome;
Duration: 6s910ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
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 '606757' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606757' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo in ('6') and ano.semestre is null and uf.id_municipio = '260410' order by cidadao.nome;
Duration: 4s671ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
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 '606741' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606741' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo in ('6') and ano.semestre is null and uf.id_municipio = '260410' order by cidadao.nome;
Duration: 4s140ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
Bind query: yes
3 1 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 order by cidadao.nome;-
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 '606653' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606653' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo in ('2') and ano.semestre is null order by cidadao.nome;
Duration: 9s946ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
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 '606653' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606653' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo in ('5') and ano.semestre is null order by cidadao.nome;
Duration: 7s728ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
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 '606653' union all select hue.id_unidade_funcional_filha from hierarquia_unidade_extendida hue where hue.id_unidade_funcional_mae = '606653' and id_assunto_hierarquia_unidade = '75') and ano.ano = '2026' and frequencia_aluno.id_monitoramento_frequencia = '1' and frequencia_aluno.periodo in ('4') and ano.semestre is null order by cidadao.nome;
Duration: 6s511ms
Database: augeeducacional
User: augeeducacional
Remote: 127.0.0.1
Application: augeeducacional - principal
Bind query: yes
-
Top Queries
Histogram of query times
Key values
- 3,335 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 1h48m50s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:54:14 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver - Bind query: yes ]
2 14m5s insert into consulta.conteudo_curricular_ministrado (id_turma, id_serie, id_componente_curricular, id_nota_periodo_aluno, rf_professor, nome_professor, planejado, planejado_analise_ling, realizado, realizado_analise_ling, realizado_bimestre_1, realizado_bimestre_2, realizado_bimestre_3, realizado_bimestre_4) select turma.id_turma, ts.id_serie, cc.id_componente_curricular, calendario_periodo.ordem as id_nota_periodo_aluno, servidor.registro_funcional as rf_professor, cidadao.nome as nome_professor, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = 2) as integer) as planejado, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = 4) as integer) as planejado_analise_ling, coalesce(realizado.conteudo_ministrado, 0) as realizado, coalesce(realizado.conteudo_analise_ling_ministrado, 0) as realizado_analise_ling, coalesce(realizado_bimestre.ministrado_bimestre_1, 0) as realizado_bimestre_1, coalesce(realizado_bimestre.ministrado_bimestre_2, 0) as realizado_bimestre_2, coalesce(realizado_bimestre.ministrado_bimestre_3, 0) as realizado_bimestre_3, coalesce(realizado_bimestre.ministrado_bimestre_4, 0) as realizado_bimestre_4 from turma 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 disciplina on cc.id_disciplina = disciplina.id_disciplina inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join turma_componente tc on tc.id_turma = turma.id_turma and tc.id_componente_curricular = cc.id_componente_curricular left join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente left join cidadao on tcs.id_cidadao = cidadao.id_cidadao left join servidor on servidor.id_cidadao = cidadao.id_cidadao left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento, cast(count(distinct case when ccmd.id_conteudo_analise_ling is null then ccmd.id_conteudo_curricular else null end) as integer) as conteudo_ministrado, cast(count(distinct ccmd.id_conteudo_curricular || '_' || ccmd.id_conteudo_analise_ling) as integer) as conteudo_analise_ling_ministrado from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento) as realizado on realizado.id_turma = ts.id_turma and realizado.id_serie = ts.id_serie and realizado.id_componente_curricular = cc.id_componente_curricular and realizado.id_periodo_planejamento = calendario_periodo.ordem left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno, sum( case when ccmd.id_periodo_planejamento = 1 then 1 else 0 end) as ministrado_bimestre_1, sum( case when ccmd.id_periodo_planejamento = 2 then 1 else 0 end) as ministrado_bimestre_2, sum( case when ccmd.id_periodo_planejamento = 3 then 1 else 0 end) as ministrado_bimestre_3, sum( case when ccmd.id_periodo_planejamento = 4 then 1 else 0 end) as ministrado_bimestre_4 from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno) as realizado_bimestre on realizado_bimestre.id_turma = ts.id_turma and realizado_bimestre.id_serie = ts.id_serie and realizado_bimestre.id_componente_curricular = cc.id_componente_curricular and realizado_bimestre.id_nota_periodo_aluno = calendario_periodo.ordem where disciplina.flg_conteudo_curricular is true and cc.flg_aponta_conteudo_curricular is true and exists ( select null from conteudo_curricular_componente where id_componente_curricular = cc.id_componente_curricular);[ Date: 2026-07-06 01:21:49 - Database: portal_demo1_20190907 - User: augeeducacional - Remote: 127.0.0.1 - Application: portal_demo1 - fila - Bind query: yes ]
3 10m14s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 00:13:35 - Database: portal_betim - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver - Bind query: yes ]
4 7m57s insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, 0) as integer) as fnj, case when dias_letivos.dias_letivos > 0 then (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, 0) as integer) as fnj, case when aulas.aulas > 0 then (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false;[ Date: 2026-07-06 00:28:51 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
5 6m7s insert into consulta.apontamento_turma_periodo (id_turma, id_serie, id_nota_periodo_aluno, num_alunos_enturmados, possui_apont_nota, possui_apont_falta_disc, possui_apont_falta_global, possui_apont_aval_desc, pendencia_apont_nota, pendencia_apont_falta_disc, pendencia_apont_falta_global, pendencia_apont_aval_desc) select turma.id_turma, ts.id_serie, periodo.id_nota_periodo_aluno, ts.num_vagas_oferecidas - ts.num_vagas_remanescentes as num_alunos_enturmados, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = na.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and coalesce(am.flg_parecer_descritivo, false) is false and (na.nota is not null or na.id_conceito_avaliacao is not null or na.flg_nao_compareceu is true) and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_nota, case when serie.flg_apon_falta_globalizado is false and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = fad.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fad.qtd_faltas is not null and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fag.qtd_faltas is not null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = amt.id_aluno_matricula and aad.id_turma = amt.id_turma and aad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_aval_desc, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and na.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) or (turma.flg_atividade_avaliativa is true and case when periodo.id_nota_periodo_aluno = 5 then not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) and (na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) else not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) end)) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_nota, case when serie.flg_apon_falta_globalizado is false and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_faltas = true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and fad.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((fad.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_disciplina_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma left join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and flg_aponta_faltas = true) and ((fag.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_global_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula 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 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 = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and ead.flg_descritor = false and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= periodo.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) and emap.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and am.id_aluno_matr_status = 1 and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_turma = ts.id_turma and aead.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno) and (area.flg_exclusivo_necessidade_esp is false 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 emad.flg_ativo is true) then 1 else 0 end as pendencia_apont_aval_desc from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso cross join nota_periodo_aluno periodo left join turma_periodo on turma_periodo.id_turma = turma.id_turma and turma_periodo.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno where turma.id_turma_status = 1 and turma.flg_especial is false and (serie.id_forma_avaliacao = 3 or exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and (flg_aponta_notas = true or flg_aponta_faltas = true))) and (turma_periodo.id_nota_periodo_aluno is not null or periodo.id_nota_periodo_aluno = 5);[ Date: 2026-07-06 00:17:58 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
6 5m54s select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then 0 when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (1, 2) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (1, 2)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then 'Sim' else 'Não' end as programa_social, case when c.flg_necessidade_especial then 'Sim' else 'Não' end as flg_necessidade_especial, ( select string_agg(ne.descricao, ', ' order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor ON raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo ('97', na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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) where t.flg_organizada = true and curso_turma.id_instituicao = '97' and ano_semestre.ano = '2026' and uf.id_municipio = '330170' and uf.id_unidade_funcional in ( select '607300' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607300' and id_assunto_hierarquia_unidade = '80') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 14:54:06 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
7 5m28s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 01:30:56 - Database: portal_demo1_20190907 - User: augeeducacional - Remote: 127.0.0.1 - Application: portal_demo1 - fila - Bind query: yes ]
8 5m8s 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-06'::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-06' 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 = '98' 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 uf.id_municipio = '330350' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:22:51 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
9 5m2s 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-06'::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-06' 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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:42:33 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
10 4m52s 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-06'::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-06' 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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:17:43 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
11 4m24s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);[ Date: 2026-07-06 00:05:24 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver - Bind query: yes ]
12 4m6s select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then 0 when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (1, 2) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (1, 2)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then 'Sim' else 'Não' end as programa_social, case when c.flg_necessidade_especial then 'Sim' else 'Não' end as flg_necessidade_especial, ( select string_agg(ne.descricao, ', ' order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor ON raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo ('92', na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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) where t.flg_organizada = true and curso_turma.id_instituicao = '92' and ano_semestre.ano = '2026' and uf.id_municipio = '260410' and uf.id_unidade_funcional in ( select '606753' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '606753' and id_assunto_hierarquia_unidade = '75') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 11:19:38 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
13 3m33s 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-06'::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-06'::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 = '98' 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-06' 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-06' 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-06'::date and case when a.semestre = 1 then cpf.ordem <= 2 when a.semestre = 2 then cpf.ordem >= 2 else true end) and uf.id_unidade_funcional in ( select '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 13:30:10 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
14 3m29s insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, '1' as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;[ Date: 2026-07-06 01:59:05 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver - Bind query: yes ]
15 3m24s 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-06'::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-06'::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 = '98' 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 uf.id_municipio = '330350' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 16:32:16 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
16 3m1s 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-06'::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-06'::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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 13:15:37 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
17 2m48s with pm as ( select pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, count(*)::int as alunos, uf.codigo as codigo_unidade, uf.nome as unidade, meoa.nome as area, array_agg(distinct t.id_turma) as turmas from aluno_matricula pm inner join ano_semestre a on a.id_ano_semestre = pm.id_ano_semestre inner join serie s on s.id_serie = pm.id_serie inner join aluno_matr_status ams on pm.id_aluno_matr_status = ams.id_aluno_matr_status inner join unidade_funcional uf on uf.id_unidade_funcional = pm.id_unidade_funcional left join mec_escola_dados_opcao_atributo medoa on medoa.id_unidade_funcional = uf.id_unidade_funcional and medoa.id_mec_escola_opcao_atributo in (4, 5) left join mec_escola_opcao_atributo meoa on meoa.id_mec_escola_opcao_atributo = medoa.id_mec_escola_opcao_atributo left join aluno_matr_turma amt on pm.id_aluno_matricula = amt.id_aluno_matricula and amt.id_tipo_enturmacao = 1 and amt.data_enturmacao::date <= '2025-11-11'::date left join lateral ( select ra.id_aluno_matricula, ra.id_remanejamento_aluno, ra.id_turma_origem, ra.data_enturmacao_origem, ra.id_diario_turma_situacao_enturmacao from remanejamento_aluno ra where ra.id_aluno_matricula = pm.id_aluno_matricula and ra.data_enturmacao_origem::date <= '2025-11-11'::date order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit 1) as remanejamento on remanejamento.id_aluno_matricula = pm.id_aluno_matricula and amt.id_turma is null left join turma t on t.id_turma = coalesce(amt.id_turma, remanejamento.id_turma_origem) left join turno on turno.id_turno = t.id_turno left join curso ct on ct.id_curso = t.id_curso left join curso_calendario cc on cc.id_curso = coalesce(ct.id_curso, pm.id_curso) and cc.ano = a.ano and cc.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ct.flg_calendario_diferenciado left join escola_calendario ec on ec.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ec.ano = a.ano inner join calendario cal on cal.id_calendario = coalesce(t.id_calendario_turma, cc.id_calendario, ec.id_calendario) where a.ano = '2025' and uf.id_instituicao = '98' and (t.id_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 <= '2025-11-11' and ( select amsh.id_aluno_matr_status in ('1', '2') from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= '2025-11-11' order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= '2025-11-11'::date and case when a.semestre = 1 then cpf.ordem <= 2 when a.semestre = 2 then cpf.ordem >= 2 else true end) and uf.id_unidade_funcional in ( select '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 15:23:59 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: augeeducacional - fila - Bind query: yes ]
18 2m33s insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, '2' as id_monitoramento_frequencia, aulas.ano, aulas.bimestre as periodo, sum(coalesce(faltas.falta_nao_justificada, 0)) as faltas, case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) as dias_consecutivos from falta_aluno_disciplina faltas inner join ( select aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data) as ano, aulas.bimestre, sum(aulas.aulas)::integer as aulas, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas from call_center.falta_aluno_mes aulas inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on aulas.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '2' where aulas.flg_apontamento_global is false group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.id_nota_periodo_aluno, date_part('year', aulas.data), aulas.bimestre, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas) as aulas on faltas.id_aluno_matricula = aulas.id_aluno_matricula and faltas.id_turma = aulas.id_turma and faltas.id_nota_periodo_aluno = aulas.id_nota_periodo_aluno group by aulas.id_instituicao, aulas.id_aluno_matricula, aulas.id_turma, aulas.ano, aulas.bimestre, aulas.aulas, aulas.percentual_frequencia, aulas.faltas_consecutivas having case when aulas.aulas = 0 then 100.0 when sum(coalesce(faltas.falta_nao_justificada, 0)) > aulas.aulas then 0.0 else arredondar_frequencia_aluno (100 * (aulas.aulas - sum(coalesce(faltas.falta_nao_justificada, 0))) / aulas.aulas::numeric, aulas.id_instituicao) end < aulas.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = aulas.id_aluno_matricula and dias_consecutivos.id_turma = aulas.id_turma and dias_consecutivos.bimestre_inicio <= aulas.bimestre and aulas.bimestre <= dias_consecutivos.bimestre_fim) > aulas.faltas_consecutivas;[ Date: 2026-07-06 02:02:48 - Database: augeeducacional - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver - Bind query: yes ]
19 2m20s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);[ Date: 2026-07-06 00:03:20 - Database: portal_betim - User: augeeducacional - Remote: 127.0.0.1 - Application: PostgreSQL JDBC Driver - Bind query: yes ]
20 1m57s select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then 0 when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (1, 2) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (1, 2)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then 'Sim' else 'Não' end as programa_social, case when c.flg_necessidade_especial then 'Sim' else 'Não' end as flg_necessidade_especial, ( select string_agg(ne.descricao, ', ' order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor ON raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo ('99', na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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) where t.flg_organizada = true and curso_turma.id_instituicao = '99' and ano_semestre.ano = '2025' and uf.id_unidade_funcional in ( select '607524' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607524' and id_assunto_hierarquia_unidade = '82') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2026-07-06 15:54:10 - 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 2h6m53s 1,498 500ms 48s280ms 5s82ms 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 06 00 13 26s125ms 2s9ms 02 2 1s779ms 889ms 06 8 29s527ms 3s690ms 07 69 10m58s 9s541ms 08 182 14m9s 4s667ms 09 155 13m16s 5s140ms 10 124 10m16s 4s971ms 11 139 9m10s 3s961ms 12 109 11m37s 6s400ms 13 206 13m34s 3s955ms 14 196 20m1s 6s127ms 15 205 13m46s 4s31ms 16 90 9m4s 6s53ms [ User: augeeducacional - Total duration: 2h6m53s - Times executed: 1498 ]
[ Application: augeeducacional - fila - Total duration: 2h6m53s - Times executed: 1498 ]
-
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 ('260005049', '260005054', '260005056') 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-06 16:34:39 Duration: 48s280ms 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 ('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 ('260005049', '260005054', '260005056') 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-06 16:33:51 Duration: 44s428ms 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 ('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 ('260005049', '260005054', '260005056') 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-06 16:33:06 Duration: 39s378ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
2 1h59m4s 2 10m14s 1h48m50s 59m32s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), ?)::integer as aulas, coalesce(count(falta.id_aluno_matricula), ?)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, ?) as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (...) and am.id_aluno_matr_status in (...) and (am.id_aluno_matr_status = ? or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= current_date) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jul 06 00 1 10m14s 10m14s 01 1 1h48m50s 1h48m50s [ User: augeeducacional - Total duration: 1h59m4s - Times executed: 2 ]
[ Application: PostgreSQL JDBC Driver - Total duration: 1h59m4s - Times executed: 2 ]
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:54:14 Duration: 1h48m50s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 00:13:35 Duration: 10m14s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 00:05:06 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
3 34m35s 897 1s921ms 4s284ms 2s313ms 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 06 07 52 1m51s 2s142ms 08 146 5m52s 2s415ms 09 117 4m30s 2s312ms 10 106 3m57s 2s239ms 11 49 1m51s 2s284ms 12 26 57s618ms 2s216ms 13 92 3m23s 2s209ms 14 115 4m28s 2s333ms 15 99 3m53s 2s357ms 16 95 3m48s 2s408ms [ User: augeeducacional - Total duration: 34m35s - Times executed: 897 ]
[ Application: portal_betim - fila - Total duration: 21m43s - Times executed: 564 ]
[ Application: augeeducacional - fila - Total duration: 12m52s - Times executed: 333 ]
-
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 = '260002757' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:12 Duration: 4s284ms 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 = '260002758' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:17 Duration: 3s832ms 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 = '260002759' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:21 Duration: 3s767ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
4 23m11s 660 500ms 8s94ms 2s108ms 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 #4
Day Hour Count Duration Avg duration Jul 06 06 2 2s935ms 1s467ms 07 20 31s905ms 1s595ms 08 59 2m18s 2s355ms 09 69 1m59s 1s735ms 10 61 1m47s 1s758ms 11 86 3m27s 2s417ms 12 30 1m1s 2s39ms 13 107 3m32s 1s982ms 14 90 3m42s 2s467ms 15 102 3m34s 2s106ms 16 34 1m12s 2s141ms [ User: augeeducacional - Total duration: 23m11s - Times executed: 660 ]
[ Application: augeeducacional - fila - Total duration: 23m11s - Times executed: 660 ]
-
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-06 14:20:51 Duration: 8s94ms 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 ('260011954', '260011955', '260011952', '260011953', '260012801', '260011950', '260011951', '260011948', '260011949', '260011960', '260011961', '260011958', '260011959', '260011956', '260011957', '260011966', '260011967', '260011964', '260011965', '260012819') 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-06 14:31:55 Duration: 8s46ms 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 ('260012254', '260012253', '260012261', '260012256', '260012259', '260012247', '260012264', '260012269', '260012706', '260012267', '260012265', '260012258', '260012262', '260012703', '260012270', '260012268', '260012249', '260012248', '260012250', '260012252', '260012251', '260012266', '260012263') 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-06 11:38:42 Duration: 8s41ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
5 22m53s 97 1s484ms 36s868ms 14s156ms 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 #5
Day Hour Count Duration Avg duration Jul 06 07 1 23s219ms 23s219ms 08 2 49s816ms 24s908ms 09 10 2m44s 16s411ms 10 28 5m7s 10s966ms 11 21 3m53s 11s124ms 12 8 1m52s 14s109ms 13 7 1m22s 11s848ms 14 2 39s212ms 19s606ms 15 8 2m50s 21s362ms 16 10 3m9s 18s943ms [ User: augeeducacional - Total duration: 22m53s - Times executed: 97 ]
[ Application: augeeducacional - fila - Total duration: 18m34s - Times executed: 83 ]
[ Application: portal_betim - fila - Total duration: 4m18s - Times executed: 14 ]
-
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 = '97')) 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 = '97' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '607059' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607059' and id_assunto_hierarquia_unidade = '80') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 10:58:01 Duration: 36s868ms 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 = '97')) 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 = '97' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '607315' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607315' and id_assunto_hierarquia_unidade = '80') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 15:06:17 Duration: 26s199ms 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 = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, 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 = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '339' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '339' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 08:19:50 Duration: 25s540ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
6 18m42s 335 500ms 21s725ms 3s351ms 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 #6
Day Hour Count Duration Avg duration Jul 06 07 10 50s626ms 5s62ms 08 25 1m26s 3s444ms 09 61 3m13s 3s171ms 10 59 3m9s 3s219ms 11 55 3m4s 3s352ms 12 29 1m35s 3s285ms 13 30 1m37s 3s252ms 14 40 2m18s 3s463ms 15 14 49s285ms 3s520ms 16 12 37s701ms 3s141ms [ User: augeeducacional - Total duration: 18m42s - Times executed: 335 ]
[ Application: augeeducacional - fila - Total duration: 18m31s - Times executed: 315 ]
[ Application: portal_betim - fila - Total duration: 11s141ms - Times executed: 20 ]
-
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 = '607197' 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-06 07:27:36 Duration: 21s725ms 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 = '606694' 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-06 14:15:03 Duration: 4s958ms 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 = '607199' 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-06 13:03:28 Duration: 4s527ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
7 14m5s 1 14m5s 14m5s 14m5s insert into consulta.conteudo_curricular_ministrado (id_turma, id_serie, id_componente_curricular, id_nota_periodo_aluno, rf_professor, nome_professor, planejado, planejado_analise_ling, realizado, realizado_analise_ling, realizado_bimestre_1, realizado_bimestre_2, realizado_bimestre_3, realizado_bimestre_4) select turma.id_turma, ts.id_serie, cc.id_componente_curricular, calendario_periodo.ordem as id_nota_periodo_aluno, servidor.registro_funcional as rf_professor, cidadao.nome as nome_professor, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = ?) as integer) as planejado, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = ?) as integer) as planejado_analise_ling, coalesce(realizado.conteudo_ministrado, ?) as realizado, coalesce(realizado.conteudo_analise_ling_ministrado, ?) as realizado_analise_ling, coalesce(realizado_bimestre.ministrado_bimestre_1, ?) as realizado_bimestre_1, coalesce(realizado_bimestre.ministrado_bimestre_2, ?) as realizado_bimestre_2, coalesce(realizado_bimestre.ministrado_bimestre_3, ?) as realizado_bimestre_3, coalesce(realizado_bimestre.ministrado_bimestre_4, ?) as realizado_bimestre_4 from turma 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 disciplina on cc.id_disciplina = disciplina.id_disciplina inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join turma_componente tc on tc.id_turma = turma.id_turma and tc.id_componente_curricular = cc.id_componente_curricular left join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente left join cidadao on tcs.id_cidadao = cidadao.id_cidadao left join servidor on servidor.id_cidadao = cidadao.id_cidadao left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento, cast(count(distinct case when ccmd.id_conteudo_analise_ling is null then ccmd.id_conteudo_curricular else null end) as integer) as conteudo_ministrado, cast(count(distinct ccmd.id_conteudo_curricular || ? || ccmd.id_conteudo_analise_ling) as integer) as conteudo_analise_ling_ministrado from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento) as realizado on realizado.id_turma = ts.id_turma and realizado.id_serie = ts.id_serie and realizado.id_componente_curricular = cc.id_componente_curricular and realizado.id_periodo_planejamento = calendario_periodo.ordem left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno, sum( case when ccmd.id_periodo_planejamento = ? then ? else ? end) as ministrado_bimestre_1, sum( case when ccmd.id_periodo_planejamento = ? then ? else ? end) as ministrado_bimestre_2, sum( case when ccmd.id_periodo_planejamento = ? then ? else ? end) as ministrado_bimestre_3, sum( case when ccmd.id_periodo_planejamento = ? then ? else ? end) as ministrado_bimestre_4 from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno) as realizado_bimestre on realizado_bimestre.id_turma = ts.id_turma and realizado_bimestre.id_serie = ts.id_serie and realizado_bimestre.id_componente_curricular = cc.id_componente_curricular and realizado_bimestre.id_nota_periodo_aluno = calendario_periodo.ordem where disciplina.flg_conteudo_curricular is true and cc.flg_aponta_conteudo_curricular is true and exists ( select null from conteudo_curricular_componente where id_componente_curricular = cc.id_componente_curricular);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jul 06 01 1 14m5s 14m5s [ User: augeeducacional - Total duration: 14m5s - Times executed: 1 ]
[ Application: portal_demo1 - fila - Total duration: 14m5s - Times executed: 1 ]
-
insert into consulta.conteudo_curricular_ministrado (id_turma, id_serie, id_componente_curricular, id_nota_periodo_aluno, rf_professor, nome_professor, planejado, planejado_analise_ling, realizado, realizado_analise_ling, realizado_bimestre_1, realizado_bimestre_2, realizado_bimestre_3, realizado_bimestre_4) select turma.id_turma, ts.id_serie, cc.id_componente_curricular, calendario_periodo.ordem as id_nota_periodo_aluno, servidor.registro_funcional as rf_professor, cidadao.nome as nome_professor, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = 2) as integer) as planejado, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = 4) as integer) as planejado_analise_ling, coalesce(realizado.conteudo_ministrado, 0) as realizado, coalesce(realizado.conteudo_analise_ling_ministrado, 0) as realizado_analise_ling, coalesce(realizado_bimestre.ministrado_bimestre_1, 0) as realizado_bimestre_1, coalesce(realizado_bimestre.ministrado_bimestre_2, 0) as realizado_bimestre_2, coalesce(realizado_bimestre.ministrado_bimestre_3, 0) as realizado_bimestre_3, coalesce(realizado_bimestre.ministrado_bimestre_4, 0) as realizado_bimestre_4 from turma 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 disciplina on cc.id_disciplina = disciplina.id_disciplina inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join turma_componente tc on tc.id_turma = turma.id_turma and tc.id_componente_curricular = cc.id_componente_curricular left join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente left join cidadao on tcs.id_cidadao = cidadao.id_cidadao left join servidor on servidor.id_cidadao = cidadao.id_cidadao left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento, cast(count(distinct case when ccmd.id_conteudo_analise_ling is null then ccmd.id_conteudo_curricular else null end) as integer) as conteudo_ministrado, cast(count(distinct ccmd.id_conteudo_curricular || '_' || ccmd.id_conteudo_analise_ling) as integer) as conteudo_analise_ling_ministrado from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento) as realizado on realizado.id_turma = ts.id_turma and realizado.id_serie = ts.id_serie and realizado.id_componente_curricular = cc.id_componente_curricular and realizado.id_periodo_planejamento = calendario_periodo.ordem left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno, sum( case when ccmd.id_periodo_planejamento = 1 then 1 else 0 end) as ministrado_bimestre_1, sum( case when ccmd.id_periodo_planejamento = 2 then 1 else 0 end) as ministrado_bimestre_2, sum( case when ccmd.id_periodo_planejamento = 3 then 1 else 0 end) as ministrado_bimestre_3, sum( case when ccmd.id_periodo_planejamento = 4 then 1 else 0 end) as ministrado_bimestre_4 from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno) as realizado_bimestre on realizado_bimestre.id_turma = ts.id_turma and realizado_bimestre.id_serie = ts.id_serie and realizado_bimestre.id_componente_curricular = cc.id_componente_curricular and realizado_bimestre.id_nota_periodo_aluno = calendario_periodo.ordem where disciplina.flg_conteudo_curricular is true and cc.flg_aponta_conteudo_curricular is true and exists ( select null from conteudo_curricular_componente where id_componente_curricular = cc.id_componente_curricular);
Date: 2026-07-06 01:21:49 Duration: 14m5s Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila Bind query: yes
8 10m48s 4 2s317ms 5m2s 2m42s 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 #8
Day Hour Count Duration Avg duration Jul 06 11 1 51s340ms 51s340ms 16 3 9m57s 3m19s [ User: augeeducacional - Total duration: 10m48s - Times executed: 4 ]
[ Application: augeeducacional - fila - Total duration: 10m48s - Times executed: 4 ]
-
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-06'::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-06' 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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:42:33 Duration: 5m2s 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-06'::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-06' 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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:17:43 Duration: 4m52s 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-06'::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-06' 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-06' 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-06' 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-06'::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-06 11:33:37 Duration: 51s340ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
9 10m17s 3 1m4s 7m57s 3m25s insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, ?) as integer) as fnj, case when dias_letivos.dias_letivos > ? then (coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ? else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = ? and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, ?) as integer) as fnj, case when aulas.aulas > ? then (coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ? else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = ? and serie.flg_apon_falta_globalizado is false;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jul 06 00 2 9m13s 4m36s 01 1 1m4s 1m4s [ User: augeeducacional - Total duration: 10m17s - Times executed: 3 ]
[ Application: augeeducacional - fila - Total duration: 7m57s - Times executed: 1 ]
[ Application: portal_betim - fila - Total duration: 1m15s - Times executed: 1 ]
[ Application: portal_demo1 - fila - Total duration: 1m4s - Times executed: 1 ]
-
insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, 0) as integer) as fnj, case when dias_letivos.dias_letivos > 0 then (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, 0) as integer) as fnj, case when aulas.aulas > 0 then (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false;
Date: 2026-07-06 00:28:51 Duration: 7m57s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, 0) as integer) as fnj, case when dias_letivos.dias_letivos > 0 then (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, 0) as integer) as fnj, case when aulas.aulas > 0 then (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false;
Date: 2026-07-06 00:05:41 Duration: 1m15s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, 0) as integer) as fnj, case when dias_letivos.dias_letivos > 0 then (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, 0) as integer) as fnj, case when aulas.aulas > 0 then (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false;
Date: 2026-07-06 01:22:53 Duration: 1m4s Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila Bind query: yes
10 10m1s 2 4m6s 5m54s 5m select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then ? when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = ? and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (...) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = ? and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (...)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = ? and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then ? else ? end as programa_social, case when c.flg_necessidade_especial then ? else ? end as flg_necessidade_especial, ( select string_agg(ne.descricao, ? order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor on raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo (?, na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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 (...) where t.flg_organizada = true and curso_turma.id_instituicao = ? and ano_semestre.ano = ? and uf.id_municipio = ? 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 am.id_aluno_matr_status in (...) and serie_turma.id_forma_avaliacao in (...) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jul 06 11 1 4m6s 4m6s 14 1 5m54s 5m54s [ User: augeeducacional - Total duration: 10m1s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 10m1s - Times executed: 2 ]
-
select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then 0 when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (1, 2) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (1, 2)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then 'Sim' else 'Não' end as programa_social, case when c.flg_necessidade_especial then 'Sim' else 'Não' end as flg_necessidade_especial, ( select string_agg(ne.descricao, ', ' order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor ON raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo ('97', na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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) where t.flg_organizada = true and curso_turma.id_instituicao = '97' and ano_semestre.ano = '2026' and uf.id_municipio = '330170' and uf.id_unidade_funcional in ( select '607300' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607300' and id_assunto_hierarquia_unidade = '80') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 14:54:06 Duration: 5m54s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then 0 when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (1, 2) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (1, 2)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then 'Sim' else 'Não' end as programa_social, case when c.flg_necessidade_especial then 'Sim' else 'Não' end as flg_necessidade_especial, ( select string_agg(ne.descricao, ', ' order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor ON raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo ('92', na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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) where t.flg_organizada = true and curso_turma.id_instituicao = '92' and ano_semestre.ano = '2026' and uf.id_municipio = '260410' and uf.id_unidade_funcional in ( select '606753' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '606753' and id_assunto_hierarquia_unidade = '75') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 11:19:38 Duration: 4m6s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
11 7m33s 327 500ms 6s288ms 1s386ms 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 #11
Day Hour Count Duration Avg duration Jul 06 00 3 6s159ms 2s53ms 02 2 1s141ms 570ms 07 9 11s340ms 1s260ms 08 38 59s20ms 1s553ms 09 35 46s191ms 1s319ms 10 33 39s432ms 1s194ms 11 40 45s151ms 1s128ms 12 15 17s33ms 1s135ms 13 55 1m4s 1s172ms 14 32 51s137ms 1s598ms 15 40 1m6s 1s660ms 16 25 45s796ms 1s831ms [ User: augeeducacional - Total duration: 7m33s - Times executed: 327 ]
[ Application: augeeducacional - fila - Total duration: 7m27s - Times executed: 324 ]
[ Application: portal_betim - fila - Total duration: 5s729ms - Times executed: 3 ]
-
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 ('260006730', '260006731', '260006728', '260006739', '260006726', '260006732', '260006740', '260006727', '260006733', '260006729', '260006737', '260006725', '260006734', '260006735', '260006738', '260007704', '260007711', '260007713', '260007709', '260007715', '260011183', '260007720', '260007702', '260007699', '260007700', '260007703', '260007693', '260007695', '260007712', '260007697', '260007708', '260007719', '260007705', '260007718', '260007716', '260007696', '260007722', '260007721', '260007707', '260007701', '260007714', '260007706', '260007717', '260007710', '260007691', '260007694', '260007692', '260006741', '260006744', '260006743', '260006742', '260009680', '260009674', '260009681', '260009675', '260009677', '260009676') 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-06 15:27:24 Duration: 6s288ms 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 ('260007711', '260007720', '260007702', '260007695', '260007712', '260007708', '260007705', '260007718', '260007692', '260009680', '260009674', '260009681', '260007699', '260007703', '260006730', '260006732', '260007713', '260007697', '260007716', '260007696', '260007722', '260007721', '260007717', '260007710', '260007701', '260007714', '260007691', '260007694', '260009675', '260009677', '260006725', '260007693', '260007719', '260007707', '260007706', '260009676', '260006735', '260006737', '260007709', '260007715', '260007704', '260011183', '260006742', '260007700', '260006739', '260006743', '260006738', '260006733', '260006726', '260006729', '260006740', '260006727', '260006744', '260006734', '260006741', '260006728', '260006731') 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-06 15:49:33 Duration: 5s874ms 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 ('260000806', '260000798', '260000800', '260000819', '260000820', '260000821', '260000822', '260000823', '260000824', '260000795', '260000796', '260000797', '260000799', '260000801', '260000802', '260000807', '260000808', '260000809', '260000813', '260000814', '260000815', '260000816', '260000817', '260000818', '260000810', '260000811', '260000812', '260000805', '260000803', '260000804') 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-06 15:03:53 Duration: 4s691ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
12 6m52s 2 45s357ms 6m7s 3m26s insert into consulta.apontamento_turma_periodo (id_turma, id_serie, id_nota_periodo_aluno, num_alunos_enturmados, possui_apont_nota, possui_apont_falta_disc, possui_apont_falta_global, possui_apont_aval_desc, pendencia_apont_nota, pendencia_apont_falta_disc, pendencia_apont_falta_global, pendencia_apont_aval_desc) select turma.id_turma, ts.id_serie, periodo.id_nota_periodo_aluno, ts.num_vagas_oferecidas - ts.num_vagas_remanescentes as num_alunos_enturmados, case when serie.id_forma_avaliacao in (...) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = na.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and coalesce(am.flg_parecer_descritivo, false) is false and (na.nota is not null or na.id_conceito_avaliacao is not null or na.flg_nao_compareceu is true) and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as possui_apont_nota, case when serie.flg_apon_falta_globalizado is false and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = fad.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and fad.qtd_faltas is not null and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as possui_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and fag.qtd_faltas is not null and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as possui_apont_falta_global, case when serie.id_forma_avaliacao = ? and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = amt.id_aluno_matricula and aad.id_turma = amt.id_turma and aad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as possui_apont_aval_desc, case when serie.id_forma_avaliacao in (...) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and na.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status = ? and amdd.id_disciplina is null and ((na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) or (turma.flg_atividade_avaliativa is true and case when periodo.id_nota_periodo_aluno = ? then not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) and (na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) else not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) end)) and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as pendencia_apont_nota, case when serie.flg_apon_falta_globalizado is false and periodo.id_nota_periodo_aluno <> ? and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_faltas = true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and fad.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and amdd.id_disciplina is null and ((fad.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_disciplina_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina))) and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as pendencia_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and periodo.id_nota_periodo_aluno <> ? and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma left join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and flg_aponta_faltas = true) and ((fag.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_global_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno))) and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as pendencia_apont_falta_global, case when serie.id_forma_avaliacao = ? and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula 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 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 = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and ead.flg_descritor = false and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= periodo.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> array[periodo.id_nota_periodo_aluno]) and emap.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and am.id_aluno_matr_status = ? and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_turma = ts.id_turma and aead.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno) and (area.flg_exclusivo_necessidade_esp is false 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 emad.flg_ativo is true) then ? else ? end as pendencia_apont_aval_desc from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso cross join nota_periodo_aluno periodo left join turma_periodo on turma_periodo.id_turma = turma.id_turma and turma_periodo.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno where turma.id_turma_status = ? and turma.flg_especial is false and (serie.id_forma_avaliacao = ? or exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and (flg_aponta_notas = true or flg_aponta_faltas = true))) and (turma_periodo.id_nota_periodo_aluno is not null or periodo.id_nota_periodo_aluno = ?);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jul 06 00 2 6m52s 3m26s [ User: augeeducacional - Total duration: 6m52s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 6m7s - Times executed: 1 ]
[ Application: portal_betim - fila - Total duration: 45s357ms - Times executed: 1 ]
-
insert into consulta.apontamento_turma_periodo (id_turma, id_serie, id_nota_periodo_aluno, num_alunos_enturmados, possui_apont_nota, possui_apont_falta_disc, possui_apont_falta_global, possui_apont_aval_desc, pendencia_apont_nota, pendencia_apont_falta_disc, pendencia_apont_falta_global, pendencia_apont_aval_desc) select turma.id_turma, ts.id_serie, periodo.id_nota_periodo_aluno, ts.num_vagas_oferecidas - ts.num_vagas_remanescentes as num_alunos_enturmados, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = na.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and coalesce(am.flg_parecer_descritivo, false) is false and (na.nota is not null or na.id_conceito_avaliacao is not null or na.flg_nao_compareceu is true) and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_nota, case when serie.flg_apon_falta_globalizado is false and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = fad.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fad.qtd_faltas is not null and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fag.qtd_faltas is not null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = amt.id_aluno_matricula and aad.id_turma = amt.id_turma and aad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_aval_desc, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and na.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) or (turma.flg_atividade_avaliativa is true and case when periodo.id_nota_periodo_aluno = 5 then not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) and (na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) else not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) end)) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_nota, case when serie.flg_apon_falta_globalizado is false and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_faltas = true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and fad.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((fad.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_disciplina_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma left join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and flg_aponta_faltas = true) and ((fag.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_global_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula 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 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 = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and ead.flg_descritor = false and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= periodo.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) and emap.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and am.id_aluno_matr_status = 1 and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_turma = ts.id_turma and aead.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno) and (area.flg_exclusivo_necessidade_esp is false 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 emad.flg_ativo is true) then 1 else 0 end as pendencia_apont_aval_desc from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso cross join nota_periodo_aluno periodo left join turma_periodo on turma_periodo.id_turma = turma.id_turma and turma_periodo.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno where turma.id_turma_status = 1 and turma.flg_especial is false and (serie.id_forma_avaliacao = 3 or exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and (flg_aponta_notas = true or flg_aponta_faltas = true))) and (turma_periodo.id_nota_periodo_aluno is not null or periodo.id_nota_periodo_aluno = 5);
Date: 2026-07-06 00:17:58 Duration: 6m7s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
insert into consulta.apontamento_turma_periodo (id_turma, id_serie, id_nota_periodo_aluno, num_alunos_enturmados, possui_apont_nota, possui_apont_falta_disc, possui_apont_falta_global, possui_apont_aval_desc, pendencia_apont_nota, pendencia_apont_falta_disc, pendencia_apont_falta_global, pendencia_apont_aval_desc) select turma.id_turma, ts.id_serie, periodo.id_nota_periodo_aluno, ts.num_vagas_oferecidas - ts.num_vagas_remanescentes as num_alunos_enturmados, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = na.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and coalesce(am.flg_parecer_descritivo, false) is false and (na.nota is not null or na.id_conceito_avaliacao is not null or na.flg_nao_compareceu is true) and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_nota, case when serie.flg_apon_falta_globalizado is false and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = fad.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fad.qtd_faltas is not null and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fag.qtd_faltas is not null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = amt.id_aluno_matricula and aad.id_turma = amt.id_turma and aad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_aval_desc, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and na.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) or (turma.flg_atividade_avaliativa is true and case when periodo.id_nota_periodo_aluno = 5 then not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) and (na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) else not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) end)) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_nota, case when serie.flg_apon_falta_globalizado is false and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_faltas = true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and fad.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((fad.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_disciplina_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma left join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and flg_aponta_faltas = true) and ((fag.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_global_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula 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 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 = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and ead.flg_descritor = false and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= periodo.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) and emap.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and am.id_aluno_matr_status = 1 and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_turma = ts.id_turma and aead.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno) and (area.flg_exclusivo_necessidade_esp is false 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 emad.flg_ativo is true) then 1 else 0 end as pendencia_apont_aval_desc from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso cross join nota_periodo_aluno periodo left join turma_periodo on turma_periodo.id_turma = turma.id_turma and turma_periodo.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno where turma.id_turma_status = 1 and turma.flg_especial is false and (serie.id_forma_avaliacao = 3 or exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and (flg_aponta_notas = true or flg_aponta_faltas = true))) and (turma_periodo.id_nota_periodo_aluno is not null or periodo.id_nota_periodo_aluno = 5);
Date: 2026-07-06 00:02:30 Duration: 45s357ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
13 6m44s 2 2m20s 4m24s 3m22s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, ? as aulas, case when falta.id_aluno_matricula is null then ? else ? end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, ?) as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (...) and am.id_aluno_matr_status in (...) and (am.id_aluno_matr_status = ? or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= current_date) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between ? and ? or calendario_data.id_motivo_dia_letivo_extra is not null);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jul 06 00 2 6m44s 3m22s [ User: augeeducacional - Total duration: 6m44s - Times executed: 2 ]
[ Application: PostgreSQL JDBC Driver - Total duration: 6m44s - Times executed: 2 ]
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:05:24 Duration: 4m24s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:03:20 Duration: 2m20s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:01:49 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
14 6m21s 2 2m48s 3m33s 3m10s 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 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 #14
Day Hour Count Duration Avg duration Jul 06 13 1 3m33s 3m33s 15 1 2m48s 2m48s [ User: augeeducacional - Total duration: 6m21s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 6m21s - Times executed: 2 ]
-
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-06'::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-06'::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 = '98' 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-06' 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-06' 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-06'::date and case when a.semestre = 1 then cpf.ordem <= 2 when a.semestre = 2 then cpf.ordem >= 2 else true end) and uf.id_unidade_funcional in ( select '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 13:30:10 Duration: 3m33s 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 <= '2025-11-11'::date left join lateral ( select ra.id_aluno_matricula, ra.id_remanejamento_aluno, ra.id_turma_origem, ra.data_enturmacao_origem, ra.id_diario_turma_situacao_enturmacao from remanejamento_aluno ra where ra.id_aluno_matricula = pm.id_aluno_matricula and ra.data_enturmacao_origem::date <= '2025-11-11'::date order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit 1) as remanejamento on remanejamento.id_aluno_matricula = pm.id_aluno_matricula and amt.id_turma is null left join turma t on t.id_turma = coalesce(amt.id_turma, remanejamento.id_turma_origem) left join turno on turno.id_turno = t.id_turno left join curso ct on ct.id_curso = t.id_curso left join curso_calendario cc on cc.id_curso = coalesce(ct.id_curso, pm.id_curso) and cc.ano = a.ano and cc.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ct.flg_calendario_diferenciado left join escola_calendario ec on ec.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ec.ano = a.ano inner join calendario cal on cal.id_calendario = coalesce(t.id_calendario_turma, cc.id_calendario, ec.id_calendario) where a.ano = '2025' and uf.id_instituicao = '98' and (t.id_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 <= '2025-11-11' and ( select amsh.id_aluno_matr_status in ('1', '2') from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= '2025-11-11' order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= '2025-11-11'::date and case when a.semestre = 1 then cpf.ordem <= 2 when a.semestre = 2 then cpf.ordem >= 2 else true end) and uf.id_unidade_funcional in ( select '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 15:23:59 Duration: 2m48s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
15 6m16s 14 549ms 3m1s 26s906ms 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 06 01 1 45s697ms 45s697ms 08 3 19s733ms 6s577ms 09 2 41s365ms 20s682ms 10 5 49s268ms 9s853ms 11 1 36s594ms 36s594ms 13 1 3m1s 3m1s 16 1 2s474ms 2s474ms [ User: augeeducacional - Total duration: 6m16s - Times executed: 14 ]
[ Application: augeeducacional - fila - Total duration: 6m13s - Times executed: 12 ]
[ Application: portal_betim - fila - Total duration: 2s897ms - Times executed: 2 ]
-
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-06'::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-06'::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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 13:15:37 Duration: 3m1s 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-06'::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-06'::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 = '99' 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-06' 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-06' 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-06'::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 '607524' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607524' and id_assunto_hierarquia_unidade = '82') 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 = '82' 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-06 10:14:01 Duration: 46s866ms 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-06'::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-06'::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 = '99' 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-06' 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-06' 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-06'::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 '607524' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607524' and id_assunto_hierarquia_unidade = '82') 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 = '82' 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-06 01:22:56 Duration: 45s697ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
16 5m28s 1 5m28s 5m28s 5m28s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), ?)::integer as aulas, coalesce(count(falta.id_aluno_matricula), ?)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = ? inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = ? inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = ? inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = ? then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = ? then periodo2.data_final else periodo4.data_final end as fim) datas on ? = ? inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (...) and am.id_aluno_matr_status = ? and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jul 06 01 1 5m28s 5m28s [ User: augeeducacional - Total duration: 5m28s - Times executed: 1 ]
[ Application: portal_demo1 - fila - Total duration: 5m28s - Times executed: 1 ]
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:30:56 Duration: 5m28s Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:30:56 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
17 5m12s 4 1s278ms 5m8s 1m18s 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 uf.id_municipio = ? 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 #17
Day Hour Count Duration Avg duration Jul 06 07 1 1s672ms 1s672ms 14 1 1s293ms 1s293ms 15 1 1s278ms 1s278ms 16 1 5m8s 5m8s [ User: augeeducacional - Total duration: 5m12s - Times executed: 4 ]
[ Application: augeeducacional - fila - Total duration: 5m8s - Times executed: 1 ]
[ Application: portal_betim - fila - Total duration: 4s244ms - 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-06'::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-06' 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 = '98' 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 uf.id_municipio = '330350' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:22:51 Duration: 5m8s 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-06-30'::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-06-30' 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 uf.id_municipio = '310670' and pm.data_matricula::date <= '2026-06-30' 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-06-30' 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-06-30'::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 '470' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '470' 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-06 07:56:13 Duration: 1s672ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - 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-06'::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-06' 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 uf.id_municipio = '310670' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '407' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '407' 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-06 14:01:34 Duration: 1s293ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
18 4m43s 130 502ms 16s81ms 2s176ms 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 #18
Day Hour Count Duration Avg duration Jul 06 06 1 559ms 559ms 07 5 8s187ms 1s637ms 08 19 46s337ms 2s438ms 09 15 15s765ms 1s51ms 10 14 25s614ms 1s829ms 11 18 39s298ms 2s183ms 12 7 11s718ms 1s674ms 13 11 23s42ms 2s94ms 14 17 38s969ms 2s292ms 15 14 31s926ms 2s280ms 16 9 41s589ms 4s621ms [ User: augeeducacional - Total duration: 4m43s - Times executed: 130 ]
[ Application: augeeducacional - fila - Total duration: 4m40s - Times executed: 128 ]
[ Application: portal_betim - fila - Total duration: 2s385ms - 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-06 16:40:35 Duration: 16s81ms 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 ('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-06 15:00:44 Duration: 13s880ms 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 ('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-06 14:57:59 Duration: 13s782ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
19 3m57s 2 28s537ms 3m29s 1m58s insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, ? as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = ? then ?.? when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then ?.? else arredondar_frequencia_aluno (ceil(? * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part(?, dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part(?, dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? inner join lateral ( select date_part(?, falta_aluno_mes.data) as ano, date_part(?, falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * ? + parametros.mes) <= (date_part(?, current_date) * ? + date_part(?, current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = ? then ?.? when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then ?.? else arredondar_frequencia_aluno (ceil(? * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part(?, dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part(?, dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jul 06 00 1 28s537ms 28s537ms 01 1 3m29s 3m29s [ User: augeeducacional - Total duration: 3m57s - Times executed: 2 ]
[ Application: PostgreSQL JDBC Driver - Total duration: 3m57s - Times executed: 2 ]
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, '1' as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 01:59:05 Duration: 3m29s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, '1' as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 00:14:10 Duration: 28s537ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, $1 as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 00:14:10 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
20 3m56s 19 1s15ms 3m24s 12s456ms 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 uf.id_municipio = ? 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 #20
Day Hour Count Duration Avg duration Jul 06 08 6 6s702ms 1s117ms 09 3 3s314ms 1s104ms 10 1 1s97ms 1s97ms 11 2 7s411ms 3s705ms 13 1 1s96ms 1s96ms 14 1 3s682ms 3s682ms 15 2 4s68ms 2s34ms 16 3 3m29s 1m9s [ User: augeeducacional - Total duration: 3m56s - Times executed: 19 ]
[ Application: augeeducacional - fila - Total duration: 3m44s - Times executed: 8 ]
[ Application: portal_betim - fila - Total duration: 11s954ms - Times executed: 11 ]
-
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-06'::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-06'::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 = '98' 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 uf.id_municipio = '330350' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 16:32:16 Duration: 3m24s 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-06'::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-06'::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 = '92' 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 uf.id_municipio = '260410' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '606753' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '606753' and id_assunto_hierarquia_unidade = '75') 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 = '75' 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-06 11:14:58 Duration: 3s968ms 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-06'::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-06'::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 = '98' 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 uf.id_municipio = '330350' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '607206' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607206' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 14:57:59 Duration: 3s682ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,498 2h6m53s 500ms 48s280ms 5s82ms 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 06 00 13 26s125ms 2s9ms 02 2 1s779ms 889ms 06 8 29s527ms 3s690ms 07 69 10m58s 9s541ms 08 182 14m9s 4s667ms 09 155 13m16s 5s140ms 10 124 10m16s 4s971ms 11 139 9m10s 3s961ms 12 109 11m37s 6s400ms 13 206 13m34s 3s955ms 14 196 20m1s 6s127ms 15 205 13m46s 4s31ms 16 90 9m4s 6s53ms [ User: augeeducacional - Total duration: 2h6m53s - Times executed: 1498 ]
[ Application: augeeducacional - fila - Total duration: 2h6m53s - Times executed: 1498 ]
-
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 ('260005049', '260005054', '260005056') 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-06 16:34:39 Duration: 48s280ms 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 ('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 ('260005049', '260005054', '260005056') 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-06 16:33:51 Duration: 44s428ms 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 ('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 ('260005049', '260005054', '260005056') 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-06 16:33:06 Duration: 39s378ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
2 897 34m35s 1s921ms 4s284ms 2s313ms 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 06 07 52 1m51s 2s142ms 08 146 5m52s 2s415ms 09 117 4m30s 2s312ms 10 106 3m57s 2s239ms 11 49 1m51s 2s284ms 12 26 57s618ms 2s216ms 13 92 3m23s 2s209ms 14 115 4m28s 2s333ms 15 99 3m53s 2s357ms 16 95 3m48s 2s408ms [ User: augeeducacional - Total duration: 34m35s - Times executed: 897 ]
[ Application: portal_betim - fila - Total duration: 21m43s - Times executed: 564 ]
[ Application: augeeducacional - fila - Total duration: 12m52s - Times executed: 333 ]
-
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 = '260002757' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:12 Duration: 4s284ms 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 = '260002758' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:17 Duration: 3s832ms 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 = '260002759' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:21 Duration: 3s767ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
3 660 23m11s 500ms 8s94ms 2s108ms 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 06 06 2 2s935ms 1s467ms 07 20 31s905ms 1s595ms 08 59 2m18s 2s355ms 09 69 1m59s 1s735ms 10 61 1m47s 1s758ms 11 86 3m27s 2s417ms 12 30 1m1s 2s39ms 13 107 3m32s 1s982ms 14 90 3m42s 2s467ms 15 102 3m34s 2s106ms 16 34 1m12s 2s141ms [ User: augeeducacional - Total duration: 23m11s - Times executed: 660 ]
[ Application: augeeducacional - fila - Total duration: 23m11s - Times executed: 660 ]
-
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-06 14:20:51 Duration: 8s94ms 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 ('260011954', '260011955', '260011952', '260011953', '260012801', '260011950', '260011951', '260011948', '260011949', '260011960', '260011961', '260011958', '260011959', '260011956', '260011957', '260011966', '260011967', '260011964', '260011965', '260012819') 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-06 14:31:55 Duration: 8s46ms 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 ('260012254', '260012253', '260012261', '260012256', '260012259', '260012247', '260012264', '260012269', '260012706', '260012267', '260012265', '260012258', '260012262', '260012703', '260012270', '260012268', '260012249', '260012248', '260012250', '260012252', '260012251', '260012266', '260012263') 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-06 11:38:42 Duration: 8s41ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
4 335 18m42s 500ms 21s725ms 3s351ms 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 06 07 10 50s626ms 5s62ms 08 25 1m26s 3s444ms 09 61 3m13s 3s171ms 10 59 3m9s 3s219ms 11 55 3m4s 3s352ms 12 29 1m35s 3s285ms 13 30 1m37s 3s252ms 14 40 2m18s 3s463ms 15 14 49s285ms 3s520ms 16 12 37s701ms 3s141ms [ User: augeeducacional - Total duration: 18m42s - Times executed: 335 ]
[ Application: augeeducacional - fila - Total duration: 18m31s - Times executed: 315 ]
[ Application: portal_betim - fila - Total duration: 11s141ms - Times executed: 20 ]
-
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 = '607197' 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-06 07:27:36 Duration: 21s725ms 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 = '606694' 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-06 14:15:03 Duration: 4s958ms 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 = '607199' 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-06 13:03:28 Duration: 4s527ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
5 327 7m33s 500ms 6s288ms 1s386ms 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 06 00 3 6s159ms 2s53ms 02 2 1s141ms 570ms 07 9 11s340ms 1s260ms 08 38 59s20ms 1s553ms 09 35 46s191ms 1s319ms 10 33 39s432ms 1s194ms 11 40 45s151ms 1s128ms 12 15 17s33ms 1s135ms 13 55 1m4s 1s172ms 14 32 51s137ms 1s598ms 15 40 1m6s 1s660ms 16 25 45s796ms 1s831ms [ User: augeeducacional - Total duration: 7m33s - Times executed: 327 ]
[ Application: augeeducacional - fila - Total duration: 7m27s - Times executed: 324 ]
[ Application: portal_betim - fila - Total duration: 5s729ms - Times executed: 3 ]
-
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 ('260006730', '260006731', '260006728', '260006739', '260006726', '260006732', '260006740', '260006727', '260006733', '260006729', '260006737', '260006725', '260006734', '260006735', '260006738', '260007704', '260007711', '260007713', '260007709', '260007715', '260011183', '260007720', '260007702', '260007699', '260007700', '260007703', '260007693', '260007695', '260007712', '260007697', '260007708', '260007719', '260007705', '260007718', '260007716', '260007696', '260007722', '260007721', '260007707', '260007701', '260007714', '260007706', '260007717', '260007710', '260007691', '260007694', '260007692', '260006741', '260006744', '260006743', '260006742', '260009680', '260009674', '260009681', '260009675', '260009677', '260009676') 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-06 15:27:24 Duration: 6s288ms 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 ('260007711', '260007720', '260007702', '260007695', '260007712', '260007708', '260007705', '260007718', '260007692', '260009680', '260009674', '260009681', '260007699', '260007703', '260006730', '260006732', '260007713', '260007697', '260007716', '260007696', '260007722', '260007721', '260007717', '260007710', '260007701', '260007714', '260007691', '260007694', '260009675', '260009677', '260006725', '260007693', '260007719', '260007707', '260007706', '260009676', '260006735', '260006737', '260007709', '260007715', '260007704', '260011183', '260006742', '260007700', '260006739', '260006743', '260006738', '260006733', '260006726', '260006729', '260006740', '260006727', '260006744', '260006734', '260006741', '260006728', '260006731') 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-06 15:49:33 Duration: 5s874ms 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 ('260000806', '260000798', '260000800', '260000819', '260000820', '260000821', '260000822', '260000823', '260000824', '260000795', '260000796', '260000797', '260000799', '260000801', '260000802', '260000807', '260000808', '260000809', '260000813', '260000814', '260000815', '260000816', '260000817', '260000818', '260000810', '260000811', '260000812', '260000805', '260000803', '260000804') 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-06 15:03:53 Duration: 4s691ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
6 156 1m24s 500ms 878ms 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 #6
Day Hour Count Duration Avg duration Jul 06 07 4 2s499ms 624ms 08 30 15s961ms 532ms 09 17 8s909ms 524ms 10 22 11s972ms 544ms 11 15 8s291ms 552ms 12 4 2s34ms 508ms 13 18 9s490ms 527ms 14 25 13s774ms 550ms 15 10 5s245ms 524ms 16 11 6s47ms 549ms [ User: augeeducacional - Total duration: 1m24s - Times executed: 156 ]
[ Application: portal_betim - principal - Total duration: 1m24s - Times executed: 156 ]
-
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('06/07/2026 07:08:49', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('06/07/2026 07:08:49', '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 = 79054) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-06 07:08:50 Duration: 878ms 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('06/07/2026 10:57:18', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('06/07/2026 10:57:18', '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 = 408928) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-06 10:57:18 Duration: 804ms 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('06/07/2026 14:58:06', 'DD/MM/YYYY HH24:MI:SS') and (sah.data_fim isnull or sah.data_fim >= to_timestamp('06/07/2026 14:58:06', '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 = 83920) AND (scb.flg_aberto = true) AND (ca.id_instituicao = 82) ORDER BY ca.descricao;
Date: 2026-07-06 14:58:07 Duration: 733ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
7 146 1m28s 500ms 1s25ms 609ms 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 #7
Day Hour Count Duration Avg duration Jul 06 07 16 9s193ms 574ms 08 25 15s304ms 612ms 09 35 21s210ms 606ms 10 23 14s177ms 616ms 11 3 1s853ms 617ms 13 14 9s141ms 652ms 14 19 11s286ms 594ms 15 8 4s948ms 618ms 16 3 1s855ms 618ms [ User: augeeducacional - Total duration: 1m28s - Times executed: 146 ]
[ Application: portal_betim - principal - Total duration: 1m28s - Times executed: 146 ]
-
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('dos&santos&alves&da&silva') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-06 13:44:47 Duration: 1s25ms 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('GEOVANNA&LETICIA&MACHADO&DE&MELO&OLIVEIRA') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-06 10:14:13 Duration: 966ms 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('PRISCILA&EMANUELLY&DA&SILVA&DE&OLIVEIRA&PIRES') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-06 09:56:10 Duration: 887ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
8 130 4m43s 502ms 16s81ms 2s176ms 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 06 06 1 559ms 559ms 07 5 8s187ms 1s637ms 08 19 46s337ms 2s438ms 09 15 15s765ms 1s51ms 10 14 25s614ms 1s829ms 11 18 39s298ms 2s183ms 12 7 11s718ms 1s674ms 13 11 23s42ms 2s94ms 14 17 38s969ms 2s292ms 15 14 31s926ms 2s280ms 16 9 41s589ms 4s621ms [ User: augeeducacional - Total duration: 4m43s - Times executed: 130 ]
[ Application: augeeducacional - fila - Total duration: 4m40s - Times executed: 128 ]
[ Application: portal_betim - fila - Total duration: 2s385ms - 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-06 16:40:35 Duration: 16s81ms 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 ('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-06 15:00:44 Duration: 13s880ms 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 ('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-06 14:57:59 Duration: 13s782ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
9 97 22m53s 1s484ms 36s868ms 14s156ms 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 #9
Day Hour Count Duration Avg duration Jul 06 07 1 23s219ms 23s219ms 08 2 49s816ms 24s908ms 09 10 2m44s 16s411ms 10 28 5m7s 10s966ms 11 21 3m53s 11s124ms 12 8 1m52s 14s109ms 13 7 1m22s 11s848ms 14 2 39s212ms 19s606ms 15 8 2m50s 21s362ms 16 10 3m9s 18s943ms [ User: augeeducacional - Total duration: 22m53s - Times executed: 97 ]
[ Application: augeeducacional - fila - Total duration: 18m34s - Times executed: 83 ]
[ Application: portal_betim - fila - Total duration: 4m18s - Times executed: 14 ]
-
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 = '97')) 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 = '97' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '607059' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607059' and id_assunto_hierarquia_unidade = '80') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 10:58:01 Duration: 36s868ms 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 = '97')) 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 = '97' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '607315' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607315' and id_assunto_hierarquia_unidade = '80') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 15:06:17 Duration: 26s199ms 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 = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, 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 = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '339' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '339' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 08:19:50 Duration: 25s540ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
10 91 1m7s 501ms 2s138ms 740ms 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 #10
Day Hour Count Duration Avg duration Jul 06 07 26 20s303ms 780ms 08 10 7s38ms 703ms 09 4 5s265ms 1s316ms 10 8 4s971ms 621ms 11 5 3s215ms 643ms 12 7 5s78ms 725ms 13 3 1s905ms 635ms 14 11 8s124ms 738ms 15 12 8s43ms 670ms 16 5 3s452ms 690ms [ User: augeeducacional - Total duration: 1m7s - Times executed: 91 ]
[ Application: portal_betim - fila - Total duration: 53s532ms - Times executed: 74 ]
[ Application: augeeducacional - fila - Total duration: 13s866ms - Times executed: 17 ]
-
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 = '260014092' 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-06 09:00:30 Duration: 2s138ms 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 = '250002167' and ts.id_serie = '103' 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-06 16:46:15 Duration: 1s194ms 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 = '260015616' 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-06 09:56:10 Duration: 1s164ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
11 90 1m38s 904ms 1s560ms 1s93ms select 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 codigo_turma, nome_cidadao, codigo_aluno limit ? offset ?;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jul 06 08 13 13s435ms 1s33ms 09 18 18s231ms 1s12ms 10 35 41s590ms 1s188ms 11 24 25s186ms 1s49ms [ User: augeeducacional - Total duration: 1m38s - Times executed: 90 ]
[ Application: augeeducacional - principal - Total duration: 1m38s - Times executed: 90 ]
-
select 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 = '606714' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1980' and tp.id_nota_periodo_aluno in ('1', '2') 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 '0' and '100' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606714' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1980' 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 ('1', '2') 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 '0' and '100' order by codigo_turma, nome_cidadao, codigo_aluno limit 10 offset 100;
Date: 2026-07-06 10:49:49 Duration: 1s560ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select 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 = '606714' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1982' and tp.id_nota_periodo_aluno in ('1', '2') 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 '0' and '100' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606714' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1982' 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 ('1', '2') 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 '0' and '100' order by codigo_turma, nome_cidadao, codigo_aluno limit 10 offset 50;
Date: 2026-07-06 09:23:46 Duration: 1s548ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select 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 = '606714' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1979' and tp.id_nota_periodo_aluno in ('1', '2') 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 '0' and '100' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606714' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1979' 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 ('1', '2') 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 '0' and '100' order by codigo_turma, nome_cidadao, codigo_aluno limit 10 offset 10;
Date: 2026-07-06 11:08:31 Duration: 1s469ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
12 46 42s590ms 507ms 4s40ms 925ms select ;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jul 06 00 1 861ms 861ms 08 1 686ms 686ms 09 1 2s793ms 2s793ms 10 2 2s714ms 1s357ms 11 4 2s522ms 630ms 12 1 939ms 939ms 13 17 17s620ms 1s36ms 14 6 4s3ms 667ms 15 9 7s233ms 803ms 16 4 3s214ms 803ms [ User: augeeducacional - Total duration: 42s590ms - Times executed: 46 ]
[ Application: augeeducacional - principal - Total duration: 41s728ms - Times executed: 45 ]
[ Application: augeeducacional - fila - Total duration: 861ms - Times executed: 1 ]
-
select ;
Date: 2026-07-06 13:37:29 Duration: 4s40ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select ;
Date: 2026-07-06 13:39:45 Duration: 3s737ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select ;
Date: 2026-07-06 09:14:37 Duration: 2s793ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
13 44 1m17s 515ms 3s633ms 1s760ms select 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 ?;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jul 06 07 1 2s796ms 2s796ms 08 7 14s626ms 2s89ms 09 15 31s866ms 2s124ms 10 10 16s677ms 1s667ms 11 8 6s931ms 866ms 12 2 2s248ms 1s124ms 13 1 2s316ms 2s316ms [ User: augeeducacional - Total duration: 1m17s - Times executed: 44 ]
[ Application: augeeducacional - principal - Total duration: 1m17s - Times executed: 44 ]
-
select 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 = '607425' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '2230' and tp.id_nota_periodo_aluno in ('1') 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 '0' and '100' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '607425' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '2230' 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 ('1') 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 '0' and '100' order by nome_cidadao, codigo_aluno limit 10;
Date: 2026-07-06 09:16:48 Duration: 3s633ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select 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 = '606651' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1982' and tp.id_nota_periodo_aluno in ('1', '2') 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 '0' and '74' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606651' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1982' 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 ('1', '2') 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 '0' and '74' order by nome_cidadao, codigo_aluno limit 10;
Date: 2026-07-06 09:46:45 Duration: 3s580ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select 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 = '607425' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '2230' and tp.id_nota_periodo_aluno in ('1') 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 '0' and '100' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '607425' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '2230' 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 ('1') 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 '0' and '100' order by nome_cidadao, codigo_aluno limit 10;
Date: 2026-07-06 09:24:38 Duration: 3s571ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
14 41 1m11s 539ms 3s971ms 1s736ms select count(*) as contagem from ( select 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) tabela;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jul 06 07 1 2s828ms 2s828ms 08 3 5s399ms 1s799ms 09 12 23s999ms 1s999ms 10 12 19s366ms 1s613ms 11 8 7s246ms 905ms 12 2 2s249ms 1s124ms 13 3 10s85ms 3s361ms [ User: augeeducacional - Total duration: 1m11s - Times executed: 41 ]
[ Application: augeeducacional - principal - Total duration: 1m11s - Times executed: 41 ]
-
select count(*) as contagem from ( select 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 = '606710' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1980' and tp.id_nota_periodo_aluno in ('1', '2', '3', '4') 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 '0' and '74' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606710' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1980' 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 ('1', '2', '3', '4') 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 '0' and '74' order by nome_cidadao, codigo_aluno) tabela;
Date: 2026-07-06 13:37:33 Duration: 3s971ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select 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 = '606710' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1979' and tp.id_nota_periodo_aluno in ('1', '2', '3', '4') 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 '0' and '74' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606710' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '1979' 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 ('1', '2', '3', '4') 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 '0' and '74' order by nome_cidadao, codigo_aluno) tabela;
Date: 2026-07-06 13:39:49 Duration: 3s802ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select 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 = '607425' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '2230' and tp.id_nota_periodo_aluno in ('1') 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 '0' and '100' 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '607425' and ano.id_ano_semestre = '75' and modalidade.id_ensino_etapa = '2' and serie.id_serie = '2230' 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 ('1') 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 '0' and '100' order by nome_cidadao, codigo_aluno) tabela;
Date: 2026-07-06 09:16:52 Duration: 3s670ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
15 38 22s638ms 509ms 820ms 595ms 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_nome_mae @@ to_tsquery(?) limit ? offset ? * ?) as alunos order by nome;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jul 06 07 2 1s222ms 611ms 08 5 3s113ms 622ms 09 12 6s999ms 583ms 10 10 6s86ms 608ms 11 1 543ms 543ms 13 2 1s146ms 573ms 14 1 524ms 524ms 15 1 526ms 526ms 16 4 2s474ms 618ms [ User: augeeducacional - Total duration: 22s638ms - Times executed: 38 ]
[ Application: portal_betim - principal - Total duration: 22s638ms - Times executed: 38 ]
-
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_nome_mae @@ to_tsquery('SARAH&BEATRIZ&PEREGRINO&DE&LIMA&SOUZA&ANDRADE') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-06 08:23:39 Duration: 820ms 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_nome_mae @@ to_tsquery('SONIA&BARBOSA&DA&SILVA&GOMES') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-06 10:27:43 Duration: 758ms 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_nome_mae @@ to_tsquery('BETINA&PATRICIA&DOS&SANTOS&MARTINS') limit 21 offset 20 * '0') as alunos order by nome;
Date: 2026-07-06 16:17:48 Duration: 685ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - principal Bind query: yes
16 36 31s691ms 535ms 1s821ms 880ms 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 #16
Day Hour Count Duration Avg duration Jul 06 07 1 780ms 780ms 08 7 5s981ms 854ms 09 8 6s588ms 823ms 10 1 645ms 645ms 12 5 4s381ms 876ms 13 1 597ms 597ms 14 2 1s366ms 683ms 15 7 6s838ms 976ms 16 4 4s512ms 1s128ms [ User: augeeducacional - Total duration: 31s691ms - Times executed: 36 ]
[ Application: augeeducacional - principal - Total duration: 31s691ms - Times executed: 36 ]
-
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 = '260005058' 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-06 16:07:45 Duration: 1s821ms 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 = '260006654' 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-06 16:13:44 Duration: 1s191ms 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 = '260008384' 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-06 15:29:28 Duration: 1s79ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
17 34 31s128ms 508ms 2s247ms 915ms 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_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 ?;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jul 06 07 1 1s107ms 1s107ms 08 3 3s337ms 1s112ms 09 13 12s323ms 947ms 10 9 7s469ms 829ms 11 5 3s439ms 687ms 12 1 537ms 537ms 13 1 2s247ms 2s247ms 14 1 664ms 664ms [ User: augeeducacional - Total duration: 31s128ms - Times executed: 34 ]
[ Application: augeeducacional - principal - Total duration: 31s128ms - Times executed: 34 ]
-
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_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 = '2026' 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 = '2026' 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 = '606710' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' and tp.id_nota_periodo_aluno in ('1', '2', '3', '4') 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 '0' and '74') 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606710' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' 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 ('1', '2', '3', '4') 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 '0' and '74') 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-06 13:35:43 Duration: 2s247ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
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_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 = '2026' 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 = '2026' 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 = '606651' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' and tp.id_nota_periodo_aluno in ('1', '2') 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 '0' and '74') 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606651' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' 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 ('1', '2') 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 '0' and '74') 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-06 09:46:30 Duration: 1s691ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
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_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 = '2026' 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 = '2026' 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 = '606651' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' and tp.id_nota_periodo_aluno in ('1', '2') 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 '50' and '100') 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606651' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' 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 ('1', '2') 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 '50' and '100') 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-06 09:38:02 Duration: 1s668ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
18 32 1m30s 506ms 7s389ms 2s832ms select count(*) as contagem from ( select ;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jul 06 11 5 5s629ms 1s125ms 13 7 4s962ms 708ms 14 13 49s195ms 3s784ms 15 5 19s317ms 3s863ms 16 2 11s532ms 5s766ms [ User: augeeducacional - Total duration: 1m30s - Times executed: 32 ]
[ Application: augeeducacional - principal - Total duration: 1m30s - Times executed: 32 ]
-
select count(*) as contagem from ( select ;
Date: 2026-07-06 14:10:33 Duration: 7s389ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select ;
Date: 2026-07-06 16:01:59 Duration: 6s212ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select ;
Date: 2026-07-06 14:31:56 Duration: 5s660ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
19 31 27s569ms 515ms 1s808ms 889ms select count(*) as contagem, sum(tabela.alunos) as total_alunos from ( 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_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;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jul 06 07 1 1s157ms 1s157ms 08 3 3s401ms 1s133ms 09 13 12s712ms 977ms 10 9 7s191ms 799ms 11 4 2s436ms 609ms 12 1 670ms 670ms [ User: augeeducacional - Total duration: 27s569ms - Times executed: 31 ]
[ Application: augeeducacional - principal - Total duration: 27s569ms - Times executed: 31 ]
-
select count(*) as contagem, sum(tabela.alunos) as total_alunos from ( 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_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 = '2026' 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 = '2026' 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 = '606651' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' and tp.id_nota_periodo_aluno in ('1', '2') 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 '50' and '100') 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606651' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' 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 ('1', '2') 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 '50' and '100') 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-06 09:38:01 Duration: 1s808ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem, sum(tabela.alunos) as total_alunos from ( 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_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 = '2026' 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 = '2026' 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 = '606651' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' and tp.id_nota_periodo_aluno in ('1', '2') 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 '0' and '74') 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '606651' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' 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 ('1', '2') 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 '0' and '74') 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-06 09:46:28 Duration: 1s630ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem, sum(tabela.alunos) as total_alunos from ( 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_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 = '2026' 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 = '2026' 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 = '607847' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' and tp.id_nota_periodo_aluno in ('2') 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 '0' and '75') 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 = '2026' 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 = '2026' 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 >= '260000000' and fad.id_turma < '270000000' 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 = '607847' and ano.ano = '2026' and modalidade.id_ensino_etapa = '2' 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 ('2') 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 '0' and '75') 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-06 09:04:05 Duration: 1s531ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
20 30 2m28s 972ms 6s627ms 4s962ms select distinct 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;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jul 06 09 4 21s596ms 5s399ms 10 20 1m33s 4s672ms 11 1 5s432ms 5s432ms 12 2 11s67ms 5s533ms 13 1 5s530ms 5s530ms 14 2 11s775ms 5s887ms [ User: augeeducacional - Total duration: 2m28s - Times executed: 30 ]
[ Application: augeeducacional - principal - Total duration: 2m28s - Times executed: 30 ]
-
select distinct 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 = '260012718' and amt.id_aluno_matricula = '4116520' and oema.sigla is not null and eixo_modelo.flg_ativo is true and eixo_modelo_aval_periodo.id_nota_periodo_aluno <> '5') order by sigla;
Date: 2026-07-06 10:11:37 Duration: 6s627ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select distinct 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 = '260014625' and amt.id_aluno_matricula = '4156013' and oema.sigla is not null and eixo_modelo.flg_ativo is true and eixo_modelo_aval_periodo.id_nota_periodo_aluno <> '5') order by sigla;
Date: 2026-07-06 10:32:56 Duration: 6s524ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select distinct 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 = '260014626' and amt.id_aluno_matricula = '4155937' and oema.sigla is not null and eixo_modelo.flg_ativo is true and eixo_modelo_aval_periodo.id_nota_periodo_aluno <> '5') order by sigla;
Date: 2026-07-06 10:11:37 Duration: 6s466ms 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 10m14s 1h48m50s 59m32s 2 1h59m4s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), ?)::integer as aulas, coalesce(count(falta.id_aluno_matricula), ?)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, ?) as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (...) and am.id_aluno_matr_status in (...) and (am.id_aluno_matr_status = ? or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= current_date) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jul 06 00 1 10m14s 10m14s 01 1 1h48m50s 1h48m50s [ User: augeeducacional - Total duration: 1h59m4s - Times executed: 2 ]
[ Application: PostgreSQL JDBC Driver - Total duration: 1h59m4s - Times executed: 2 ]
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:54:14 Duration: 1h48m50s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 00:13:35 Duration: 10m14s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct componente.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular componente on componente.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = componente.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is false and componente.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = componente.id_disciplina) 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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 00:05:06 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
2 14m5s 14m5s 14m5s 1 14m5s insert into consulta.conteudo_curricular_ministrado (id_turma, id_serie, id_componente_curricular, id_nota_periodo_aluno, rf_professor, nome_professor, planejado, planejado_analise_ling, realizado, realizado_analise_ling, realizado_bimestre_1, realizado_bimestre_2, realizado_bimestre_3, realizado_bimestre_4) select turma.id_turma, ts.id_serie, cc.id_componente_curricular, calendario_periodo.ordem as id_nota_periodo_aluno, servidor.registro_funcional as rf_professor, cidadao.nome as nome_professor, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = ?) as integer) as planejado, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = ?) as integer) as planejado_analise_ling, coalesce(realizado.conteudo_ministrado, ?) as realizado, coalesce(realizado.conteudo_analise_ling_ministrado, ?) as realizado_analise_ling, coalesce(realizado_bimestre.ministrado_bimestre_1, ?) as realizado_bimestre_1, coalesce(realizado_bimestre.ministrado_bimestre_2, ?) as realizado_bimestre_2, coalesce(realizado_bimestre.ministrado_bimestre_3, ?) as realizado_bimestre_3, coalesce(realizado_bimestre.ministrado_bimestre_4, ?) as realizado_bimestre_4 from turma 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 disciplina on cc.id_disciplina = disciplina.id_disciplina inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join turma_componente tc on tc.id_turma = turma.id_turma and tc.id_componente_curricular = cc.id_componente_curricular left join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente left join cidadao on tcs.id_cidadao = cidadao.id_cidadao left join servidor on servidor.id_cidadao = cidadao.id_cidadao left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento, cast(count(distinct case when ccmd.id_conteudo_analise_ling is null then ccmd.id_conteudo_curricular else null end) as integer) as conteudo_ministrado, cast(count(distinct ccmd.id_conteudo_curricular || ? || ccmd.id_conteudo_analise_ling) as integer) as conteudo_analise_ling_ministrado from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento) as realizado on realizado.id_turma = ts.id_turma and realizado.id_serie = ts.id_serie and realizado.id_componente_curricular = cc.id_componente_curricular and realizado.id_periodo_planejamento = calendario_periodo.ordem left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno, sum( case when ccmd.id_periodo_planejamento = ? then ? else ? end) as ministrado_bimestre_1, sum( case when ccmd.id_periodo_planejamento = ? then ? else ? end) as ministrado_bimestre_2, sum( case when ccmd.id_periodo_planejamento = ? then ? else ? end) as ministrado_bimestre_3, sum( case when ccmd.id_periodo_planejamento = ? then ? else ? end) as ministrado_bimestre_4 from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno) as realizado_bimestre on realizado_bimestre.id_turma = ts.id_turma and realizado_bimestre.id_serie = ts.id_serie and realizado_bimestre.id_componente_curricular = cc.id_componente_curricular and realizado_bimestre.id_nota_periodo_aluno = calendario_periodo.ordem where disciplina.flg_conteudo_curricular is true and cc.flg_aponta_conteudo_curricular is true and exists ( select null from conteudo_curricular_componente where id_componente_curricular = cc.id_componente_curricular);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jul 06 01 1 14m5s 14m5s [ User: augeeducacional - Total duration: 14m5s - Times executed: 1 ]
[ Application: portal_demo1 - fila - Total duration: 14m5s - Times executed: 1 ]
-
insert into consulta.conteudo_curricular_ministrado (id_turma, id_serie, id_componente_curricular, id_nota_periodo_aluno, rf_professor, nome_professor, planejado, planejado_analise_ling, realizado, realizado_analise_ling, realizado_bimestre_1, realizado_bimestre_2, realizado_bimestre_3, realizado_bimestre_4) select turma.id_turma, ts.id_serie, cc.id_componente_curricular, calendario_periodo.ordem as id_nota_periodo_aluno, servidor.registro_funcional as rf_professor, cidadao.nome as nome_professor, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = 2) as integer) as planejado, cast(( select count(ccc.id_conteudo_curricular_componente) from conteudo_curricular_componente ccc inner join conteudo_curricular ct on ccc.id_conteudo_curricular = ct.id_conteudo_curricular where ccc.id_componente_curricular = cc.id_componente_curricular and ccc.flg_ativo and ccc.id_nota_periodo_aluno = calendario_periodo.ordem and ct.id_tipo_conteudo_curricular = 4) as integer) as planejado_analise_ling, coalesce(realizado.conteudo_ministrado, 0) as realizado, coalesce(realizado.conteudo_analise_ling_ministrado, 0) as realizado_analise_ling, coalesce(realizado_bimestre.ministrado_bimestre_1, 0) as realizado_bimestre_1, coalesce(realizado_bimestre.ministrado_bimestre_2, 0) as realizado_bimestre_2, coalesce(realizado_bimestre.ministrado_bimestre_3, 0) as realizado_bimestre_3, coalesce(realizado_bimestre.ministrado_bimestre_4, 0) as realizado_bimestre_4 from turma 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 disciplina on cc.id_disciplina = disciplina.id_disciplina inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join escola_calendario on escola_calendario.id_unidade_funcional = turma.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo on calendario_periodo.id_calendario = escola_calendario.id_calendario left join turma_componente tc on tc.id_turma = turma.id_turma and tc.id_componente_curricular = cc.id_componente_curricular left join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente left join cidadao on tcs.id_cidadao = cidadao.id_cidadao left join servidor on servidor.id_cidadao = cidadao.id_cidadao left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento, cast(count(distinct case when ccmd.id_conteudo_analise_ling is null then ccmd.id_conteudo_curricular else null end) as integer) as conteudo_ministrado, cast(count(distinct ccmd.id_conteudo_curricular || '_' || ccmd.id_conteudo_analise_ling) as integer) as conteudo_analise_ling_ministrado from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_periodo_planejamento) as realizado on realizado.id_turma = ts.id_turma and realizado.id_serie = ts.id_serie and realizado.id_componente_curricular = cc.id_componente_curricular and realizado.id_periodo_planejamento = calendario_periodo.ordem left join ( select ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno, sum( case when ccmd.id_periodo_planejamento = 1 then 1 else 0 end) as ministrado_bimestre_1, sum( case when ccmd.id_periodo_planejamento = 2 then 1 else 0 end) as ministrado_bimestre_2, sum( case when ccmd.id_periodo_planejamento = 3 then 1 else 0 end) as ministrado_bimestre_3, sum( case when ccmd.id_periodo_planejamento = 4 then 1 else 0 end) as ministrado_bimestre_4 from consulta.conteudo_curric_ministrado_detalhe ccmd group by ccmd.id_turma, ccmd.id_serie, ccmd.id_componente_curricular, ccmd.id_nota_periodo_aluno) as realizado_bimestre on realizado_bimestre.id_turma = ts.id_turma and realizado_bimestre.id_serie = ts.id_serie and realizado_bimestre.id_componente_curricular = cc.id_componente_curricular and realizado_bimestre.id_nota_periodo_aluno = calendario_periodo.ordem where disciplina.flg_conteudo_curricular is true and cc.flg_aponta_conteudo_curricular is true and exists ( select null from conteudo_curricular_componente where id_componente_curricular = cc.id_componente_curricular);
Date: 2026-07-06 01:21:49 Duration: 14m5s Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila Bind query: yes
3 5m28s 5m28s 5m28s 1 5m28s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), ?)::integer as aulas, coalesce(count(falta.id_aluno_matricula), ?)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = ? inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = ? inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = ? inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = ? then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = ? then periodo2.data_final else periodo4.data_final end as fim) datas on ? = ? inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (...) and am.id_aluno_matr_status = ? and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Jul 06 01 1 5m28s 5m28s [ User: augeeducacional - Total duration: 5m28s - Times executed: 1 ]
[ Application: portal_demo1 - fila - Total duration: 5m28s - Times executed: 1 ]
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:30:56 Duration: 5m28s Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas, disciplinas) select cidadao.id_instituicao, false as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, coalesce(count(qh.id_horario_quadro_homologado), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas, array_agg(distinct cc.id_disciplina) as disciplinas from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join escola_calendario on escola_calendario.id_unidade_funcional = am.id_unidade_funcional and escola_calendario.ano = ano.ano inner join calendario_periodo periodo1 on periodo1.id_calendario = escola_calendario.id_calendario and periodo1.ordem = 1 inner join calendario_periodo periodo2 on periodo2.id_calendario = escola_calendario.id_calendario and periodo2.ordem = 2 inner join calendario_periodo periodo3 on periodo3.id_calendario = escola_calendario.id_calendario and periodo3.ordem = 3 inner join calendario_periodo periodo4 on periodo4.id_calendario = escola_calendario.id_calendario and periodo4.ordem = 4 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join lateral ( select case when ano.semestre = 2 then periodo3.data_inicio else periodo1.data_inicio end as inicio, case when ano.semestre = 1 then periodo2.data_final else periodo4.data_final end as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = escola_calendario.id_calendario and calendario_periodo_data.data between datas.inicio and datas.fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = calendario_periodo_data.dia_semana inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular left join falta_aluno_disciplina_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and falta.id_horario_turma = qh.id_horario_turma where cidadao.id_instituicao in (72) and am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false and cc.flg_aponta_faltas is true and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina) and (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 calendario_data.id_motivo_dia_nao_letivo is null group by cidadao.id_instituicao, am.id_aluno_matricula, amt.id_turma, calendario_periodo_data.bimestre, calendario_periodo_data.data, ano.semestre, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 01:30:56 Duration: 0ms Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila
4 4m6s 5m54s 5m 2 10m1s select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then ? when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = ? and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (...) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = ? and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (...)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = ? and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then ? else ? end as programa_social, case when c.flg_necessidade_especial then ? else ? end as flg_necessidade_especial, ( select string_agg(ne.descricao, ? order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor on raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo (?, na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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 (...) where t.flg_organizada = true and curso_turma.id_instituicao = ? and ano_semestre.ano = ? and uf.id_municipio = ? 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 am.id_aluno_matr_status in (...) and serie_turma.id_forma_avaliacao in (...) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jul 06 11 1 4m6s 4m6s 14 1 5m54s 5m54s [ User: augeeducacional - Total duration: 10m1s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 10m1s - Times executed: 2 ]
-
select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then 0 when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (1, 2) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (1, 2)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then 'Sim' else 'Não' end as programa_social, case when c.flg_necessidade_especial then 'Sim' else 'Não' end as flg_necessidade_especial, ( select string_agg(ne.descricao, ', ' order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor ON raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo ('97', na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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) where t.flg_organizada = true and curso_turma.id_instituicao = '97' and ano_semestre.ano = '2026' and uf.id_municipio = '330170' and uf.id_unidade_funcional in ( select '607300' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607300' and id_assunto_hierarquia_unidade = '80') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 14:54:06 Duration: 5m54s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
select turma_periodo.id_nota_periodo_aluno, am.id_aluno_matricula, uf.codigo as codigo_escola, uf.nome as escola, curso_turma.sigla as curso, serie_matricula.sigla as serie_matricula, t.codigo as turma, amt.chamada, a.codigo as matricula, c.denominacao as aluno, cc.id_disciplina, na.flg_nao_compareceu, cc.flg_aponta_notas, case when amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina then amdd.flg_dispensado_todos_periodos is true and amdd.id_disciplina = d.id_disciplina when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) when (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) then (mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and array[turma_periodo.id_nota_periodo_aluno] <@ mdp.periodos) else false end as flg_dispensado, case when (amdd.id_motivo_dispensa_disciplina is not null and amdd.id_disciplina = d.id_disciplina and array[turma_periodo.id_nota_periodo_aluno] <@ amdd.periodos) then null when na.flg_nao_compareceu is true then 0 when (curso_turma.flg_permite_recuperacao_semestral is true and exists ( select null from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and ( select avg(na.nota) from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno in (1, 2) and id_turma = t.id_turma) < ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) and turma_periodo.id_nota_periodo_aluno in (1, 2)) then ( select na.nota from nota_aluno na where id_aluno_matricula = am.id_aluno_matricula and id_disciplina = d.id_disciplina and id_nota_periodo_aluno = 10 and id_turma = t.id_turma) else na.nota end as nota, case when amdd.id_motivo_dispensa_disciplina is not null then null else ca.sigla end as conceito, cc.flg_aponta_faltas, serie_turma.num_casas_decimais_nota, serie_turma.id_forma_avaliacao, cc.id_expressao_resultado_componente, curso_turma.serie_duracao, c.sexo as genero, raca_cor.descricao, case when exists ( select null from programa_social_aluno psa where psa.id_cidadao = am.id_cidadao and (psa.data_fim_participacao::date >= now()::date or psa.data_fim_participacao is null)) then 'Sim' else 'Não' end as programa_social, case when c.flg_necessidade_especial then 'Sim' else 'Não' end as flg_necessidade_especial, ( select string_agg(ne.descricao, ', ' order by ne.descricao) from cidadao_necessidade_especial cne inner join necessidade_especial ne on ne.id_necessidade_especial = cne.id_necessidade_especial where cne.id_cidadao = c.id_cidadao) as necessidade_especial, cc.id_forma_avaliacao_componente from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = a.id_cidadao inner join turma t on amt.id_turma = t.id_turma inner join serie serie_matricula on serie_matricula.id_serie = am.id_serie inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie serie_turma on serie_turma.id_serie = ts.id_serie inner join curso curso_turma on curso_turma.id_curso = serie_turma.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on d.id_disciplina = cc.id_disciplina inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = serie_matricula.id_procedimento_avaliacao inner join turma_periodo on turma_periodo.id_turma = t.id_turma inner join ano_semestre on ano_semestre.id_ano_semestre = am.id_ano_semestre inner join raca_cor ON raca_cor.id_raca_cor = c.id_raca_cor left join nota_aluno na on (na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_turma = amt.id_turma and turma_periodo.id_nota_periodo_aluno = na.id_nota_periodo_aluno) 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 lateral sp_obter_conceito_avaliacao_nota_periodo ('92', na.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota) as id_conceito_covnersao_nota on true left join conceito_avaliacao ca on coalesce(na.id_conceito_avaliacao, id_conceito_covnersao_nota) = ca.id_conceito_avaliacao left join aluno_matr_dispensa_periodo amdp on am.id_aluno_matricula = amdp.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo 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) where t.flg_organizada = true and curso_turma.id_instituicao = '92' and ano_semestre.ano = '2026' and uf.id_municipio = '260410' and uf.id_unidade_funcional in ( select '606753' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '606753' and id_assunto_hierarquia_unidade = '75') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2, 4) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;
Date: 2026-07-06 11:19:38 Duration: 4m6s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
5 45s357ms 6m7s 3m26s 2 6m52s insert into consulta.apontamento_turma_periodo (id_turma, id_serie, id_nota_periodo_aluno, num_alunos_enturmados, possui_apont_nota, possui_apont_falta_disc, possui_apont_falta_global, possui_apont_aval_desc, pendencia_apont_nota, pendencia_apont_falta_disc, pendencia_apont_falta_global, pendencia_apont_aval_desc) select turma.id_turma, ts.id_serie, periodo.id_nota_periodo_aluno, ts.num_vagas_oferecidas - ts.num_vagas_remanescentes as num_alunos_enturmados, case when serie.id_forma_avaliacao in (...) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = na.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and coalesce(am.flg_parecer_descritivo, false) is false and (na.nota is not null or na.id_conceito_avaliacao is not null or na.flg_nao_compareceu is true) and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as possui_apont_nota, case when serie.flg_apon_falta_globalizado is false and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = fad.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and fad.qtd_faltas is not null and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as possui_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and fag.qtd_faltas is not null and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as possui_apont_falta_global, case when serie.id_forma_avaliacao = ? and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = amt.id_aluno_matricula and aad.id_turma = amt.id_turma and aad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as possui_apont_aval_desc, case when serie.id_forma_avaliacao in (...) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and na.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status = ? and amdd.id_disciplina is null and ((na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) or (turma.flg_atividade_avaliativa is true and case when periodo.id_nota_periodo_aluno = ? then not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) and (na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) else not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) end)) and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as pendencia_apont_nota, case when serie.flg_apon_falta_globalizado is false and periodo.id_nota_periodo_aluno <> ? and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_faltas = true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and fad.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and amdd.id_disciplina is null and ((fad.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_disciplina_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina))) and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as pendencia_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and periodo.id_nota_periodo_aluno <> ? and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma left join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> array[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = ? and exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and flg_aponta_faltas = true) and ((fag.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_global_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno))) and mdp.id_motivo_dispensa_periodo is null) then ? else ? end as pendencia_apont_falta_global, case when serie.id_forma_avaliacao = ? and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula 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 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 = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and ead.flg_descritor = false and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= periodo.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> array[periodo.id_nota_periodo_aluno]) and emap.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and am.id_aluno_matr_status = ? and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_turma = ts.id_turma and aead.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno) and (area.flg_exclusivo_necessidade_esp is false 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 emad.flg_ativo is true) then ? else ? end as pendencia_apont_aval_desc from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso cross join nota_periodo_aluno periodo left join turma_periodo on turma_periodo.id_turma = turma.id_turma and turma_periodo.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno where turma.id_turma_status = ? and turma.flg_especial is false and (serie.id_forma_avaliacao = ? or exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and (flg_aponta_notas = true or flg_aponta_faltas = true))) and (turma_periodo.id_nota_periodo_aluno is not null or periodo.id_nota_periodo_aluno = ?);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jul 06 00 2 6m52s 3m26s [ User: augeeducacional - Total duration: 6m52s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 6m7s - Times executed: 1 ]
[ Application: portal_betim - fila - Total duration: 45s357ms - Times executed: 1 ]
-
insert into consulta.apontamento_turma_periodo (id_turma, id_serie, id_nota_periodo_aluno, num_alunos_enturmados, possui_apont_nota, possui_apont_falta_disc, possui_apont_falta_global, possui_apont_aval_desc, pendencia_apont_nota, pendencia_apont_falta_disc, pendencia_apont_falta_global, pendencia_apont_aval_desc) select turma.id_turma, ts.id_serie, periodo.id_nota_periodo_aluno, ts.num_vagas_oferecidas - ts.num_vagas_remanescentes as num_alunos_enturmados, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = na.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and coalesce(am.flg_parecer_descritivo, false) is false and (na.nota is not null or na.id_conceito_avaliacao is not null or na.flg_nao_compareceu is true) and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_nota, case when serie.flg_apon_falta_globalizado is false and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = fad.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fad.qtd_faltas is not null and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fag.qtd_faltas is not null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = amt.id_aluno_matricula and aad.id_turma = amt.id_turma and aad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_aval_desc, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and na.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) or (turma.flg_atividade_avaliativa is true and case when periodo.id_nota_periodo_aluno = 5 then not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) and (na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) else not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) end)) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_nota, case when serie.flg_apon_falta_globalizado is false and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_faltas = true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and fad.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((fad.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_disciplina_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma left join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and flg_aponta_faltas = true) and ((fag.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_global_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula 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 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 = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and ead.flg_descritor = false and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= periodo.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) and emap.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and am.id_aluno_matr_status = 1 and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_turma = ts.id_turma and aead.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno) and (area.flg_exclusivo_necessidade_esp is false 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 emad.flg_ativo is true) then 1 else 0 end as pendencia_apont_aval_desc from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso cross join nota_periodo_aluno periodo left join turma_periodo on turma_periodo.id_turma = turma.id_turma and turma_periodo.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno where turma.id_turma_status = 1 and turma.flg_especial is false and (serie.id_forma_avaliacao = 3 or exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and (flg_aponta_notas = true or flg_aponta_faltas = true))) and (turma_periodo.id_nota_periodo_aluno is not null or periodo.id_nota_periodo_aluno = 5);
Date: 2026-07-06 00:17:58 Duration: 6m7s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
insert into consulta.apontamento_turma_periodo (id_turma, id_serie, id_nota_periodo_aluno, num_alunos_enturmados, possui_apont_nota, possui_apont_falta_disc, possui_apont_falta_global, possui_apont_aval_desc, pendencia_apont_nota, pendencia_apont_falta_disc, pendencia_apont_falta_global, pendencia_apont_aval_desc) select turma.id_turma, ts.id_serie, periodo.id_nota_periodo_aluno, ts.num_vagas_oferecidas - ts.num_vagas_remanescentes as num_alunos_enturmados, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = na.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and coalesce(am.flg_parecer_descritivo, false) is false and (na.nota is not null or na.id_conceito_avaliacao is not null or na.flg_nao_compareceu is true) and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_nota, case when serie.flg_apon_falta_globalizado is false and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 = fad.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fad.qtd_faltas is not null and amdd.id_disciplina is null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and fag.qtd_faltas is not null and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join apontamento_avaliacao_desc aad on aad.id_aluno_matricula = amt.id_aluno_matricula and aad.id_turma = amt.id_turma and aad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as possui_apont_aval_desc, case when serie.id_forma_avaliacao in (1, 2) and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas = true left join nota_aluno na on na.id_aluno_matricula = amt.id_aluno_matricula and na.id_turma = amt.id_turma and na.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and na.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and coalesce(am.flg_parecer_descritivo, false) is false and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) or (turma.flg_atividade_avaliativa is true and case when periodo.id_nota_periodo_aluno = 5 then not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) and (na.nota is null and na.id_conceito_avaliacao is null and na.flg_nao_compareceu is not true) else not exists ( select null from nota_aluno_atividade_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina) end)) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_nota, case when serie.flg_apon_falta_globalizado is false and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_faltas = true left join falta_aluno_disciplina fad on fad.id_aluno_matricula = amt.id_aluno_matricula and fad.id_turma = amt.id_turma and fad.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and fad.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 = cc.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and amdd.id_disciplina is null and ((fad.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_disciplina_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and id_disciplina = cc.id_disciplina))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_disc, case when serie.flg_apon_falta_globalizado is true and periodo.id_nota_periodo_aluno <> 5 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma left join falta_aluno_globalizada fag on fag.id_aluno_matricula = amt.id_aluno_matricula and fag.id_turma = amt.id_turma and fag.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno 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 and mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno] where amt.id_turma = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and am.id_aluno_matr_status = 1 and exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and flg_aponta_faltas = true) and ((fag.qtd_faltas is null and t.flg_frequencia_diaria is false) or (turma.flg_frequencia_diaria is true and not exists ( select null from falta_global_diario_concluido where id_turma = turma.id_turma and id_nota_periodo_aluno = periodo.id_nota_periodo_aluno))) and mdp.id_motivo_dispensa_periodo is null) then 1 else 0 end as pendencia_apont_falta_global, case when serie.id_forma_avaliacao = 3 and exists ( select null from aluno_matr_turma amt inner join aluno_matricula am on amt.id_aluno_matricula = am.id_aluno_matricula 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 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 = turma.id_turma and amt.id_serie_enturmacao = serie.id_serie and ead.flg_descritor = false and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= periodo.id_nota_periodo_aluno) and (mdp.periodos is null or not mdp.periodos @> ARRAY[periodo.id_nota_periodo_aluno]) and emap.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno and am.id_aluno_matr_status = 1 and emad.id_eixo_modelo_avaliacao_desc not in ( select id_eixo_modelo_avaliacao_desc from apontamento_eixo_aval_desc aead where aead.id_aluno_matricula = amt.id_aluno_matricula and aead.id_turma = ts.id_turma and aead.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno) and (area.flg_exclusivo_necessidade_esp is false 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 emad.flg_ativo is true) then 1 else 0 end as pendencia_apont_aval_desc from turma inner join turma_serie ts on ts.id_turma = turma.id_turma inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso cross join nota_periodo_aluno periodo left join turma_periodo on turma_periodo.id_turma = turma.id_turma and turma_periodo.id_nota_periodo_aluno = periodo.id_nota_periodo_aluno where turma.id_turma_status = 1 and turma.flg_especial is false and (serie.id_forma_avaliacao = 3 or exists ( select null from componente_curricular where id_grade_curricular = ts.id_grade_curricular and (flg_aponta_notas = true or flg_aponta_faltas = true))) and (turma_periodo.id_nota_periodo_aluno is not null or periodo.id_nota_periodo_aluno = 5);
Date: 2026-07-06 00:02:30 Duration: 45s357ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
6 1m4s 7m57s 3m25s 3 10m17s insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, ?) as integer) as fnj, case when dias_letivos.dias_letivos > ? then (coalesce(faltas_gloabl.fnj, ?) / (dias_letivos.dias_letivos * ?.?)) * ? else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = ? and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, ?) as integer) as fnj, case when aulas.aulas > ? then (coalesce(faltas_disc.fnj, ?) / (aulas.aulas * ?.?)) * ? else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = ? and serie.flg_apon_falta_globalizado is false;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jul 06 00 2 9m13s 4m36s 01 1 1m4s 1m4s [ User: augeeducacional - Total duration: 10m17s - Times executed: 3 ]
[ Application: augeeducacional - fila - Total duration: 7m57s - Times executed: 1 ]
[ Application: portal_betim - fila - Total duration: 1m15s - Times executed: 1 ]
[ Application: portal_demo1 - fila - Total duration: 1m4s - Times executed: 1 ]
-
insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, 0) as integer) as fnj, case when dias_letivos.dias_letivos > 0 then (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, 0) as integer) as fnj, case when aulas.aulas > 0 then (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false;
Date: 2026-07-06 00:28:51 Duration: 7m57s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
-
insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, 0) as integer) as fnj, case when dias_letivos.dias_letivos > 0 then (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, 0) as integer) as fnj, case when aulas.aulas > 0 then (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false;
Date: 2026-07-06 00:05:41 Duration: 1m15s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
-
insert into consulta.frequencia_aluno (id_aluno_matricula, id_turma, falta_nao_justificada, perc_falta_nao_justificada) select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_gloabl.fnj, 0) as integer) as fnj, case when dias_letivos.dias_letivos > 0 then (coalesce(faltas_gloabl.fnj, 0) / (dias_letivos.dias_letivos * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is true union all select am.id_aluno_matricula, turma.id_turma, cast(coalesce(faltas_disc.fnj, 0) as integer) as fnj, case when aulas.aulas > 0 then (coalesce(faltas_disc.fnj, 0) / (aulas.aulas * 1.0)) * 100 else null end as perc_fnj 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 serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join unidade_funcional uf on uf.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre on ano_semestre.id_ano_semestre = turma.id_ano_semestre 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 = ano_semestre.ano), ( select id_calendario from escola_calendario where id_unidade_funcional = turma.id_unidade_funcional and ano = ano_semestre.ano)) as id_calendario) as calendario on true 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 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 left join lateral ( select falta.id_aluno_matricula, falta.id_turma, 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 amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_turma = falta.id_turma and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.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 where am.id_aluno_matr_status = 1 and serie.flg_apon_falta_globalizado is false;
Date: 2026-07-06 01:22:53 Duration: 1m4s Database: portal_demo1_20190907 User: augeeducacional Remote: 127.0.0.1 Application: portal_demo1 - fila Bind query: yes
7 2m20s 4m24s 3m22s 2 6m44s insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (partition by am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, ? as aulas, case when falta.id_aluno_matricula is null then ? else ? end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = ? left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = ? inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, ?) as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (...) and am.id_aluno_matr_status in (...) and (am.id_aluno_matr_status = ? or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= current_date) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between ? and ? or calendario_data.id_motivo_dia_letivo_extra is not null);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jul 06 00 2 6m44s 3m22s [ User: augeeducacional - Total duration: 6m44s - Times executed: 2 ]
[ Application: PostgreSQL JDBC Driver - Total duration: 6m44s - Times executed: 2 ]
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:05:24 Duration: 4m24s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (82) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:03:20 Duration: 2m20s Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.falta_aluno_mes (id_instituicao, flg_apontamento_global, id_aluno_matricula, id_turma, id_nota_periodo_aluno, bimestre, data, num_aula, aulas, faltas) select cidadao.id_instituicao, true as flg_apontamento_global, am.id_aluno_matricula, amt.id_turma, turma_periodo.id_nota_periodo_aluno, calendario_periodo_data.bimestre, calendario_periodo_data.data, row_number() over (PARTITION BY am.id_aluno_matricula, amt.id_turma order by calendario_periodo_data.data)::integer as num_aula, 1 as aulas, case when falta.id_aluno_matricula is null then 0 else 1 end as falta from aluno_matricula am inner join cidadao on cidadao.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = 3 inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso inner join turma on turma.id_turma = amt.id_turma inner join lateral get_valor_parametro_logico (cidadao.id_instituicao, 'percentualFrequenciaDataAtual') as frequencia_ate_data_atual on true left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario cc on cc.id_curso = turma.id_curso and cc.ano = ano.ano and cc.id_unidade_funcional = turma.id_unidade_funcional inner join calendario on calendario.id_calendario = coalesce(turma.id_calendario_turma, cc.id_calendario, ec.id_calendario) inner join turma_periodo on turma_periodo.id_turma = amt.id_turma inner join calendario_periodo_data on calendario_periodo_data.id_calendario = calendario.id_calendario and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false where cidadao.id_instituicao in (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104) and am.id_aluno_matr_status in (1, 3) and (am.id_aluno_matr_status = 1 or calendario_periodo_data.data < abandono.data_ocorrencia::date) and (frequencia_ate_data_atual is false or calendario_periodo_data.data <= CURRENT_DATE) and am.flg_matricula_atual and serie.flg_apon_falta_globalizado is true and calendario_data.id_motivo_dia_nao_letivo is null and (calendario_periodo_data.dia_semana between 0 and 4 or calendario_data.id_motivo_dia_letivo_extra is not null);
Date: 2026-07-06 00:01:49 Duration: 0ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
8 2m48s 3m33s 3m10s 2 6m21s 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 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 #8
Day Hour Count Duration Avg duration Jul 06 13 1 3m33s 3m33s 15 1 2m48s 2m48s [ User: augeeducacional - Total duration: 6m21s - Times executed: 2 ]
[ Application: augeeducacional - fila - Total duration: 6m21s - Times executed: 2 ]
-
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-06'::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-06'::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 = '98' 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-06' 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-06' 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-06'::date and case when a.semestre = 1 then cpf.ordem <= 2 when a.semestre = 2 then cpf.ordem >= 2 else true end) and uf.id_unidade_funcional in ( select '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 13:30:10 Duration: 3m33s 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 <= '2025-11-11'::date left join lateral ( select ra.id_aluno_matricula, ra.id_remanejamento_aluno, ra.id_turma_origem, ra.data_enturmacao_origem, ra.id_diario_turma_situacao_enturmacao from remanejamento_aluno ra where ra.id_aluno_matricula = pm.id_aluno_matricula and ra.data_enturmacao_origem::date <= '2025-11-11'::date order by ra.data_enturmacao_origem desc, ra.id_remanejamento_aluno desc limit 1) as remanejamento on remanejamento.id_aluno_matricula = pm.id_aluno_matricula and amt.id_turma is null left join turma t on t.id_turma = coalesce(amt.id_turma, remanejamento.id_turma_origem) left join turno on turno.id_turno = t.id_turno left join curso ct on ct.id_curso = t.id_curso left join curso_calendario cc on cc.id_curso = coalesce(ct.id_curso, pm.id_curso) and cc.ano = a.ano and cc.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ct.flg_calendario_diferenciado left join escola_calendario ec on ec.id_unidade_funcional = coalesce(t.id_unidade_funcional, pm.id_unidade_funcional) and ec.ano = a.ano inner join calendario cal on cal.id_calendario = coalesce(t.id_calendario_turma, cc.id_calendario, ec.id_calendario) where a.ano = '2025' and uf.id_instituicao = '98' and (t.id_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 <= '2025-11-11' and ( select amsh.id_aluno_matr_status in ('1', '2') from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = pm.id_aluno_matricula and amsh.data_ocorrencia::date <= '2025-11-11' order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) is true and exists ( select null from calendario_periodo cpf where cpf.id_calendario = cal.id_calendario and cpf.data_final::date >= '2025-11-11'::date and case when a.semestre = 1 then cpf.ordem <= 2 when a.semestre = 2 then cpf.ordem >= 2 else true end) and uf.id_unidade_funcional in ( select '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 15:23:59 Duration: 2m48s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
9 2s317ms 5m2s 2m42s 4 10m48s 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 #9
Day Hour Count Duration Avg duration Jul 06 11 1 51s340ms 51s340ms 16 3 9m57s 3m19s [ User: augeeducacional - Total duration: 10m48s - Times executed: 4 ]
[ Application: augeeducacional - fila - Total duration: 10m48s - Times executed: 4 ]
-
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-06'::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-06' 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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:42:33 Duration: 5m2s 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-06'::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-06' 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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:17:43 Duration: 4m52s 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-06'::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-06' 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-06' 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-06' 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-06'::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-06 11:33:37 Duration: 51s340ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
10 28s537ms 3m29s 1m58s 2 3m57s insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, ? as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = ? then ?.? when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then ?.? else arredondar_frequencia_aluno (ceil(? * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part(?, dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part(?, dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = ? inner join lateral ( select date_part(?, falta_aluno_mes.data) as ano, date_part(?, falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * ? + parametros.mes) <= (date_part(?, current_date) * ? + date_part(?, current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = ? then ?.? when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then ?.? else arredondar_frequencia_aluno (ceil(? * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part(?, dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part(?, dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jul 06 00 1 28s537ms 28s537ms 01 1 3m29s 3m29s [ User: augeeducacional - Total duration: 3m57s - Times executed: 2 ]
[ Application: PostgreSQL JDBC Driver - Total duration: 3m57s - Times executed: 2 ]
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, '1' as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 01:59:05 Duration: 3m29s Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, '1' as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = '1' inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 00:14:10 Duration: 28s537ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver Bind query: yes
-
insert into call_center.monitoramento_frequencia_aluno (id_instituicao, id_aluno_matricula, id_turma, id_monitoramento_frequencia, ano, periodo, faltas, percentual_frequencia, dias_consecutivos) select falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, $1 as id_monitoramento_frequencia, parametros.ano, parametros.mes as periodo, sum(falta_aluno_mes.faltas)::integer as faltas, case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end as percentual_frequencia, ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) as dias_consecutivos from call_center.falta_aluno_mes inner join call_center.parametro_frequencia_monitoramento parametro_frequencia on falta_aluno_mes.id_instituicao = parametro_frequencia.id_instituicao and parametro_frequencia.id_monitoramento_frequencia = $2 inner join lateral ( select date_part('year', falta_aluno_mes.data) as ano, date_part('month', falta_aluno_mes.data) as mes) as parametros on true where (parametros.ano * 100 + parametros.mes) <= (date_part('year', current_date) * 100 + date_part('month', current_date)) group by falta_aluno_mes.id_instituicao, falta_aluno_mes.id_aluno_matricula, falta_aluno_mes.id_turma, parametros.ano, parametros.mes, parametro_frequencia.percentual_frequencia, parametro_frequencia.faltas_consecutivas having case when sum(falta_aluno_mes.aulas) = 0 then 100.0 when sum(falta_aluno_mes.faltas) > sum(falta_aluno_mes.aulas) then 0.0 else arredondar_frequencia_aluno (ceil(100 * (sum(falta_aluno_mes.aulas) - sum(falta_aluno_mes.faltas)) / sum(falta_aluno_mes.aulas)::numeric), falta_aluno_mes.id_instituicao) end < parametro_frequencia.percentual_frequencia or ( select max(dias) from call_center.falta_aluno_dias_consecutivos dias_consecutivos where dias_consecutivos.id_aluno_matricula = falta_aluno_mes.id_aluno_matricula and dias_consecutivos.id_turma = falta_aluno_mes.id_turma and date_part('month', dias_consecutivos.data_inicio) <= parametros.mes and parametros.mes <= date_part('month', dias_consecutivos.data_fim)) > parametro_frequencia.faltas_consecutivas;
Date: 2026-07-06 00:14:10 Duration: 0ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: PostgreSQL JDBC Driver
11 1s278ms 5m8s 1m18s 4 5m12s 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 uf.id_municipio = ? 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 #11
Day Hour Count Duration Avg duration Jul 06 07 1 1s672ms 1s672ms 14 1 1s293ms 1s293ms 15 1 1s278ms 1s278ms 16 1 5m8s 5m8s [ User: augeeducacional - Total duration: 5m12s - Times executed: 4 ]
[ Application: augeeducacional - fila - Total duration: 5m8s - Times executed: 1 ]
[ Application: portal_betim - fila - Total duration: 4s244ms - 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-06'::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-06' 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 = '98' 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 uf.id_municipio = '330350' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') 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 = '81' 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-06 16:22:51 Duration: 5m8s 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-06-30'::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-06-30' 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 uf.id_municipio = '310670' and pm.data_matricula::date <= '2026-06-30' 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-06-30' 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-06-30'::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 '470' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '470' 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-06 07:56:13 Duration: 1s672ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - 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-06'::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-06' 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 uf.id_municipio = '310670' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '407' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '407' 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-06 14:01:34 Duration: 1s293ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
12 549ms 3m1s 26s906ms 14 6m16s 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 #12
Day Hour Count Duration Avg duration Jul 06 01 1 45s697ms 45s697ms 08 3 19s733ms 6s577ms 09 2 41s365ms 20s682ms 10 5 49s268ms 9s853ms 11 1 36s594ms 36s594ms 13 1 3m1s 3m1s 16 1 2s474ms 2s474ms [ User: augeeducacional - Total duration: 6m16s - Times executed: 14 ]
[ Application: augeeducacional - fila - Total duration: 6m13s - Times executed: 12 ]
[ Application: portal_betim - fila - Total duration: 2s897ms - Times executed: 2 ]
-
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-06'::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-06'::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 = '98' 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-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 13:15:37 Duration: 3m1s 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-06'::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-06'::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 = '99' 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-06' 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-06' 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-06'::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 '607524' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607524' and id_assunto_hierarquia_unidade = '82') 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 = '82' 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-06 10:14:01 Duration: 46s866ms 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-06'::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-06'::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 = '99' 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-06' 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-06' 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-06'::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 '607524' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607524' and id_assunto_hierarquia_unidade = '82') 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 = '82' 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-06 01:22:56 Duration: 45s697ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
13 1s484ms 36s868ms 14s156ms 97 22m53s 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 #13
Day Hour Count Duration Avg duration Jul 06 07 1 23s219ms 23s219ms 08 2 49s816ms 24s908ms 09 10 2m44s 16s411ms 10 28 5m7s 10s966ms 11 21 3m53s 11s124ms 12 8 1m52s 14s109ms 13 7 1m22s 11s848ms 14 2 39s212ms 19s606ms 15 8 2m50s 21s362ms 16 10 3m9s 18s943ms [ User: augeeducacional - Total duration: 22m53s - Times executed: 97 ]
[ Application: augeeducacional - fila - Total duration: 18m34s - Times executed: 83 ]
[ Application: portal_betim - fila - Total duration: 4m18s - Times executed: 14 ]
-
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 = '97')) 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 = '97' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '607059' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607059' and id_assunto_hierarquia_unidade = '80') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 10:58:01 Duration: 36s868ms 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 = '97')) 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 = '97' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '607315' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607315' and id_assunto_hierarquia_unidade = '80') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 15:06:17 Duration: 26s199ms 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 = '82')) matricula where ultima_data = data_inclusao ) select a.codigo as matricula_aluno, ams.descricao as situacao, ( select case when am.id_aluno_matr_status <> 1 then to_char(max(data_ocorrencia), 'DD/MM/YYYY') else to_char(am.data_matricula, 'DD/MM/YYYY') end from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula) as data_situacao, historico.data_realizacao, case when coalesce(am.flg_renovacao_matricula, true) then 'Sim' else 'Não' end as flg_renovacao_matricula, historico.tipo_transferencia, historico.motivo_transferencia, coalesce(a.codigo_inep, '') as codigo_inep, coalesce(cid.nome_social) as nome_social, cid.nome as nome_aluno, coalesce(u.login, '') as login_aluno, coalesce(procedencia_rendimento.descricao, '') as procedencia_rendimento, coalesce(procedencia_escola.descricao, '') as procedencia_escola, coalesce(procedencia_modalidade.descricao, '') as procedencia_modalidade, coalesce(dc.numero_cns, '') as numero_cns, formatar_cpf (dc.numero_cpf, dc.digito_cpf) as cpf_aluno, case when dc.numero_rg is not null then case when dc.dv_rg is not null then dc.numero_rg || '-' || dc.dv_rg else dc.numero_rg end else '' end rg, orgao_emissor_rg.descricao as orgao_emissor, uf_emisso_rg.sigla as sigla_uf_emisso_rg, to_char(dc.data_emissao_rg, 'dd/MM/YYYY') as data_emissao_rg, (array_to_string(array ( select case when trim(ct.telefone_recado_para) is not null and trim(ct.telefone_recado_para) <> '' then coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero || ' recado para: ' || ct.telefone_recado_para else coalesce('(' || ct.telefone_ddd || ') ', '') || ct.telefone_numero end from cidadao c inner join cidadao_telefone ct on ct.id_cidadao = c.id_cidadao where c.id_cidadao = cid.id_cidadao), ', ')) as telefones_contato, to_char(cid.nascimento_data, 'dd/MM/yyyy') as data_nascimento_aluno, coalesce(dc.numero_nis, '') as nis_aluno, coalesce(cid.email, '') as email_aluno, coalesce(cid.email_instituicional, '') as email_institucional_aluno, coalesce(u.email_autenticacao_externa, '') as email_autenticacao_externa, coalesce(m.nome, '') as municipio_nascimento, coalesce(estado_nascimento.sigla, '') as uf_nascimento, coalesce(cid.sexo, '') as sexo, tte.descricao as utiliza_transporte_escolar, coalesce(rc.descricao, '') as raca_cor, case when cid.flg_necessidade_especial is true then 'Sim' when cid.flg_necessidade_especial is false then 'Não' end as possui_necessidade_especial, 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 = '82' and am.id_aluno_matricula in ( select id_aluno_matricula from ultima_matricula) and asem.ano = '2026' and uf.id_unidade_funcional in ( select '339' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '339' and id_assunto_hierarquia_unidade = '10') order by uf.codigo, uf.nome, modalidade, serie_etapa, curso, turma, turno, cid.nome;
Date: 2026-07-06 08:19:50 Duration: 25s540ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
14 1s15ms 3m24s 12s456ms 19 3m56s 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 uf.id_municipio = ? 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 #14
Day Hour Count Duration Avg duration Jul 06 08 6 6s702ms 1s117ms 09 3 3s314ms 1s104ms 10 1 1s97ms 1s97ms 11 2 7s411ms 3s705ms 13 1 1s96ms 1s96ms 14 1 3s682ms 3s682ms 15 2 4s68ms 2s34ms 16 3 3m29s 1m9s [ User: augeeducacional - Total duration: 3m56s - Times executed: 19 ]
[ Application: augeeducacional - fila - Total duration: 3m44s - Times executed: 8 ]
[ Application: portal_betim - fila - Total duration: 11s954ms - Times executed: 11 ]
-
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-06'::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-06'::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 = '98' 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 uf.id_municipio = '330350' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '607061' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607061' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 16:32:16 Duration: 3m24s 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-06'::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-06'::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 = '92' 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 uf.id_municipio = '260410' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '606753' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '606753' and id_assunto_hierarquia_unidade = '75') 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 = '75' 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-06 11:14:58 Duration: 3s968ms 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-06'::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-06'::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 = '98' 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 uf.id_municipio = '330350' and pm.data_matricula::date <= '2026-07-06' 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-06' 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-06'::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 '607206' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607206' and id_assunto_hierarquia_unidade = '81') group by pm.id_unidade_funcional, pm.id_serie, s.id_curso, a.ano, uf.id_unidade_funcional, uf.codigo, uf.nome, meoa.nome having count(*) > 0 ) select pm.id_unidade_funcional, pm.codigo_unidade, pm.unidade, pm.area, mae.nome as coordenadoria, localidade.nome as localidade, ee.id_ensino_etapa, pm.id_serie, pm.id_curso, pm.alunos, t.turmas, (sum(pm.alunos) over (partition by pm.id_serie))::int as total_alunos_serie, (sum(t.turmas) over (partition by pm.id_serie))::int as total_turmas_serie, (sum(t.multi) over (partition by pm.id_serie))::int as total_multi_serie, (sum(pm.alunos) over (partition by pm.id_unidade_funcional))::int as total_alunos_escola, t.turmas_escola as total_turmas_escola, t.multi_escola as total_multi_escola, (sum(pm.alunos) over (partition by mae.id_unidade_funcional))::int as total_alunos_coordenadoria, (sum(pm.alunos) over (partition by localidade.id_unidade_funcional))::int as total_alunos_localidade from pm inner join curso c on c.id_curso = pm.id_curso inner join modalidade m on m.id_modalidade = c.id_modalidade inner join ensino_etapa ee on ee.id_ensino_etapa = m.id_ensino_etapa left join hierarquia_unidade_funcional huf on huf.id_unidade_funcional_filha = pm.id_unidade_funcional and huf.id_assunto_hierarquia_unidade = '81' 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-06 14:57:59 Duration: 3s682ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
15 500ms 48s280ms 5s82ms 1,498 2h6m53s 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 #15
Day Hour Count Duration Avg duration Jul 06 00 13 26s125ms 2s9ms 02 2 1s779ms 889ms 06 8 29s527ms 3s690ms 07 69 10m58s 9s541ms 08 182 14m9s 4s667ms 09 155 13m16s 5s140ms 10 124 10m16s 4s971ms 11 139 9m10s 3s961ms 12 109 11m37s 6s400ms 13 206 13m34s 3s955ms 14 196 20m1s 6s127ms 15 205 13m46s 4s31ms 16 90 9m4s 6s53ms [ User: augeeducacional - Total duration: 2h6m53s - Times executed: 1498 ]
[ Application: augeeducacional - fila - Total duration: 2h6m53s - Times executed: 1498 ]
-
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 ('260005049', '260005054', '260005056') 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-06 16:34:39 Duration: 48s280ms 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 ('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 ('260005049', '260005054', '260005056') 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-06 16:33:51 Duration: 44s428ms 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 ('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 ('260005049', '260005054', '260005056') 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-06 16:33:06 Duration: 39s378ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
16 972ms 6s627ms 4s962ms 30 2m28s select distinct 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;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jul 06 09 4 21s596ms 5s399ms 10 20 1m33s 4s672ms 11 1 5s432ms 5s432ms 12 2 11s67ms 5s533ms 13 1 5s530ms 5s530ms 14 2 11s775ms 5s887ms [ User: augeeducacional - Total duration: 2m28s - Times executed: 30 ]
[ Application: augeeducacional - principal - Total duration: 2m28s - Times executed: 30 ]
-
select distinct 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 = '260012718' and amt.id_aluno_matricula = '4116520' and oema.sigla is not null and eixo_modelo.flg_ativo is true and eixo_modelo_aval_periodo.id_nota_periodo_aluno <> '5') order by sigla;
Date: 2026-07-06 10:11:37 Duration: 6s627ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select distinct 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 = '260014625' and amt.id_aluno_matricula = '4156013' and oema.sigla is not null and eixo_modelo.flg_ativo is true and eixo_modelo_aval_periodo.id_nota_periodo_aluno <> '5') order by sigla;
Date: 2026-07-06 10:32:56 Duration: 6s524ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select distinct 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 = '260014626' and amt.id_aluno_matricula = '4155937' and oema.sigla is not null and eixo_modelo.flg_ativo is true and eixo_modelo_aval_periodo.id_nota_periodo_aluno <> '5') order by sigla;
Date: 2026-07-06 10:11:37 Duration: 6s466ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
17 500ms 21s725ms 3s351ms 335 18m42s 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 #17
Day Hour Count Duration Avg duration Jul 06 07 10 50s626ms 5s62ms 08 25 1m26s 3s444ms 09 61 3m13s 3s171ms 10 59 3m9s 3s219ms 11 55 3m4s 3s352ms 12 29 1m35s 3s285ms 13 30 1m37s 3s252ms 14 40 2m18s 3s463ms 15 14 49s285ms 3s520ms 16 12 37s701ms 3s141ms [ User: augeeducacional - Total duration: 18m42s - Times executed: 335 ]
[ Application: augeeducacional - fila - Total duration: 18m31s - Times executed: 315 ]
[ Application: portal_betim - fila - Total duration: 11s141ms - Times executed: 20 ]
-
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 = '607197' 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-06 07:27:36 Duration: 21s725ms 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 = '606694' 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-06 14:15:03 Duration: 4s958ms 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 = '607199' 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-06 13:03:28 Duration: 4s527ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila Bind query: yes
18 506ms 7s389ms 2s832ms 32 1m30s select count(*) as contagem from ( select ;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jul 06 11 5 5s629ms 1s125ms 13 7 4s962ms 708ms 14 13 49s195ms 3s784ms 15 5 19s317ms 3s863ms 16 2 11s532ms 5s766ms [ User: augeeducacional - Total duration: 1m30s - Times executed: 32 ]
[ Application: augeeducacional - principal - Total duration: 1m30s - Times executed: 32 ]
-
select count(*) as contagem from ( select ;
Date: 2026-07-06 14:10:33 Duration: 7s389ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select ;
Date: 2026-07-06 16:01:59 Duration: 6s212ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
-
select count(*) as contagem from ( select ;
Date: 2026-07-06 14:31:56 Duration: 5s660ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - principal Bind query: yes
19 1s921ms 4s284ms 2s313ms 897 34m35s 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 #19
Day Hour Count Duration Avg duration Jul 06 07 52 1m51s 2s142ms 08 146 5m52s 2s415ms 09 117 4m30s 2s312ms 10 106 3m57s 2s239ms 11 49 1m51s 2s284ms 12 26 57s618ms 2s216ms 13 92 3m23s 2s209ms 14 115 4m28s 2s333ms 15 99 3m53s 2s357ms 16 95 3m48s 2s408ms [ User: augeeducacional - Total duration: 34m35s - Times executed: 897 ]
[ Application: portal_betim - fila - Total duration: 21m43s - Times executed: 564 ]
[ Application: augeeducacional - fila - Total duration: 12m52s - Times executed: 333 ]
-
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 = '260002757' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:12 Duration: 4s284ms 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 = '260002758' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:17 Duration: 3s832ms 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 = '260002759' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '2554' 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-06 09:52:21 Duration: 3s767ms Database: portal_betim User: augeeducacional Remote: 127.0.0.1 Application: portal_betim - fila Bind query: yes
20 502ms 16s81ms 2s176ms 130 4m43s 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 #20
Day Hour Count Duration Avg duration Jul 06 06 1 559ms 559ms 07 5 8s187ms 1s637ms 08 19 46s337ms 2s438ms 09 15 15s765ms 1s51ms 10 14 25s614ms 1s829ms 11 18 39s298ms 2s183ms 12 7 11s718ms 1s674ms 13 11 23s42ms 2s94ms 14 17 38s969ms 2s292ms 15 14 31s926ms 2s280ms 16 9 41s589ms 4s621ms [ User: augeeducacional - Total duration: 4m43s - Times executed: 130 ]
[ Application: augeeducacional - fila - Total duration: 4m40s - Times executed: 128 ]
[ Application: portal_betim - fila - Total duration: 2s385ms - 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-06 16:40:35 Duration: 16s81ms 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 ('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-06 15:00:44 Duration: 13s880ms 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 ('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-06 14:57:59 Duration: 13s782ms Database: augeeducacional User: augeeducacional Remote: 127.0.0.1 Application: augeeducacional - fila 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 NO DATASET
-
Events
Log levels
Key values
- 23,240 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
- 75 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 41 Max number of times the same event was reported
- 75 Total events found
Rank Times reported Error 1 41 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count Jul 06 01 1 07 4 08 6 10 1 11 4 12 5 13 7 14 6 15 3 16 4 - ERROR: duplicate key value violates unique constraint "pk_bolsa_escola_remessa_aluno"
- 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_bolsa_escola_remessa_resp, id_aluno)=(64323008, 1368395) already exists.
Statement: insert into bolsa_escola_remessa_aluno (id_aluno, id_bolsa_escola_remessa_resp) values ($1, $2)Date: 2026-07-06 01:06:40 Database: portal_demo1_20190907 Application: portal_demo1 - fila User: augeeducacional Remote: 127.0.0.1
Detail: Key (id_unidade_funcional, ano, id_nota_periodo_aluno, id_periodicidade_apontamento)=(332, 2026, 2, 2) 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-06 07:23:11 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)=(332, 2026, 2, 2) 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-06 07:23:50 Database: portal_betim Application: portal_betim - principal User: augeeducacional Remote: 127.0.0.1
2 25 ERROR: update or delete on table "..." violates foreign key constraint "..." on table "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Jul 06 09 1 10 8 11 13 13 1 15 1 16 1 - ERROR: update or delete on table "servidor_curso_titulo" violates foreign key constraint "fk_servidor_curso_titulo" on table "servidor_habilitacao"
- ERROR: update or delete on table "tabela_bem_patrimonial" violates foreign key constraint "fk_tabela_bem_patrimonial" on table "bem_patrimonial"
- ERROR: update or delete on table "tabela_bem_patrimonial" violates foreign key constraint "fk_tabela_bem_patrimonial" on table "bem_patrimonial"
Detail: Key (id_servidor_curso_titulo)=(10341) is still referenced from table "servidor_habilitacao".
Statement: delete from servidor_curso_titulo where id_servidor_curso_titulo = $1Date: 2026-07-06 09:53:21 Database: portal_betim Application: portal_betim - principal User: augeeducacional Remote: 127.0.0.1
Detail: Key (id_tabela_bem_patrimonial)=(72) is still referenced from table "bem_patrimonial".
Statement: delete from tabela_bem_patrimonial where id_tabela_bem_patrimonial = $1Date: 2026-07-06 10:23:58 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
Detail: Key (id_tabela_bem_patrimonial)=(72) is still referenced from table "bem_patrimonial".
Statement: delete from tabela_bem_patrimonial where id_tabela_bem_patrimonial = $1Date: 2026-07-06 10:28:17 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
3 7 ERROR: canceling statement due to statement timeout
Times Reported Most Frequent Error / Event #3
Day Hour Count Jul 06 08 3 09 2 11 2 - ERROR: canceling statement due to statement timeout
- ERROR: canceling statement due to statement timeout
- ERROR: canceling statement due to statement timeout
Statement: select
Date: 2026-07-06 08:38:40 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
Statement: select
Date: 2026-07-06 08:38:52 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
Statement: select
Date: 2026-07-06 08:54:27 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1
4 2 ERROR: invalid input syntax for type integer: ...
Times Reported Most Frequent Error / Event #4
Day Hour Count Jul 06 10 1 15 1 - ERROR: invalid input syntax for type integer: " " at character 879
- ERROR: invalid input syntax for type integer: " " at character 1163
Statement: SELECT distinct c.id_cidadao, am.id_aluno_matricula, a.codigo, c.nome, c.nascimento_data, ase.ano || coalesce(' / ' || CAST(ase.semestre AS VARCHAR), '') as ano, ams.descricao, t.codigo as codigo_turma, curso.sigla as curso, serie.sigla as serie FROM cidadao c INNER JOIN aluno a ON a.id_cidadao = c.id_cidadao INNER JOIN aluno_matricula am ON am.id_cidadao = c.id_cidadao INNER join serie on serie.id_serie = am.id_serie INNER join curso on curso.id_curso = serie.id_curso INNER JOIN ano_semestre ase USING (id_ano_semestre) INNER JOIN aluno_matr_status ams USING (id_aluno_matr_status) LEFT JOIN aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 LEFT JOIN turma t ON t.id_turma = amt.id_turma WHERE 1 = 1 AND (curso.flg_curso_nao_formal = false) AND (ase.ano = '2026') AND (a.codigo = ' ') AND (upper(c.nome) ILIKE '% STHEFANY CRISTINA SOUZA SILVA%') AND (am.id_unidade_funcional = 346) AND (c.id_instituicao = 82) order by a.codigo
Date: 2026-07-06 10:36:11 Database: portal_betim Application: portal_betim - principal User: augeeducacional Remote: 127.0.0.1
Statement: SELECT distinct
Date: 2026-07-06 15:17:25 Database: augeeducacional Application: augeeducacional - principal User: augeeducacional Remote: 127.0.0.1